You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
はじめに この記事ではtypescriptでちょっとしたコマンドラインツールを作った時に使ったyargsが便利だったので紹介したいと思います。 yargsとは yargsはコマンドライン引数(コマンドや引数、オプション)をパースし、ヘルプメッセージなどを生成するライブラリです。 環境 今回使った環境は以下の通りです。 tsc: Version 1.5.3 node: v12.9.1 インストール npm install -S yargs npm install -D @types/yargs 基本的な使い方 yargsではいくつかの種類のコマンドライン引数をパースできます。順に使い方を見ていきます。 コマンド コマンドはawscliのように引数として実行する処理内容などを指定するために用いられます。 awscliの引数は以下のようになっていて、例えば aws s3 ls s3://buck
プログラミングの型システムに関する記事を読んでいると、共変や反変といった用語が出てくることがある。 TypeScript や Flow についての記事でも、見かけることがある。 それらは TypeScript を使う上で必須の知識ではないが、把握しておくに越したことはない。 この記事では、TypeScript を題材にして、変性について説明していく。 TypeScript に関する議論を理解できるようになることがこの記事の目的であり、より詳細な、学術的、数学的な内容には踏み込まない。 この記事の内容は、TypeScript のv3.9.5で動作確認している。 変性 変性(variance)とは、任意の型Tに対してどのような性質を持つのか示したものであり、以下の 4 種類がある。 不変性(invariance) Tそのものが必要 共変性(covariance) Tそのものか、そのサブタイプが
// Good: choose between two options as appropriate (see below). import * as ng from '@angular/core'; import {Foo} from './foo'; // Only when needed: default imports. import Button from 'Button'; // Sometimes needed to import libraries for their side effects: import 'jasmine'; import '@polymer/paper-button'; Import paths TypeScript code must use paths to import other TypeScript code. Paths may be r
【2017年12月18日 追記】この記事は古いTypeScript (2.0以前) を念頭に置いている。もちろん、現在のTypeScriptにも当てはまる記事はあるだろうし、TypeScript以外の言語における合併型 (union types) についてもある程度読み替えられるかもしれない。ただしElmとは “Union Types” の用法が完全に相入れないのでElmユーザーの方はお帰りください。 TypeScript 1.4について、 TypeScript 1.4.1 変更点 – Qiita という記事が目に留まった。で、その中の 直和型(Union Types) という項目に引っかかりを感じた。: なぜ引っかかりを感じたかというと、TypeScriptに今回導入されたUnion Typesと、巷に言う直和型というのは、異なる概念であるからだ。 注意:以下の話は型理論の専門家でもない
⚠️ この本には最新の第3版が出ています。三部構成です。 ・ https://oukayuka.booth.pm/items/2368045 ・ https://oukayuka.booth.pm/items/2368019 ・ https://oukayuka.booth.pm/items/2367992 BOOTH 技術書カテゴリ(約 3,500 タイトル)にて現在ランキング 1 位! 技術書典5 にて初頒布、その後もクチコミによって広がり続け、シリーズ累計売上 5,000 部を突破した React の本格的入門書。現場のエンジニアたちから絶大な支持を受け、Chatwork の 2020 年インターン用教材としても採用されました。 本書はほとんど全てのコードが TypeScript で書かれているのが大きな特徴です。React を使う際に必要となる言語の知識や関数型プログラミングの考え
Microsoftは2019年1月31日(米国時間)、オープンソースのプログラミング言語「TypeScript 3.3」を公開した。次期バージョンのTypeScript 3.4は2019年3月末までにリリースされる見通しだ。 TypeScriptは、静的型付けができる言語で、JavaScriptのスーパーセット。ECMAScript規格に従った最新のJavaScriptの機能を、古いWebブラウザやランタイムが扱えるようにコンパイルすることもできる。 TypeScript 3.3は、NuGetを使うか、次のコマンドラインのように、npmを使ってインストールできる。 変更点は共用型のメソッドに関する制限緩和など TypeScript 3.3は「Visual Studio 2017」(15.2以降)の他、「Visual Studio Code」(正式にサポートされるまではInsiderリリース
TypeScript 3.0 is here! Today marks a new milestone in the TypeScript journey, serving JavaScript users everywhere.If you’re unfamiliar with TypeScript, it’s not too late to learn about it now! TypeScript is an extension of JavaScript that aims to bring static types to modern JavaScript. The TypeScript compiler reads in TypeScript code, which has things like type declarations and type annotations,
まあこれは弊社(Claves)での取り組み方(別に相談してないので独断ですらある)です。 多分そのうち陳腐化するので金科玉条のごとき扱いはしない方が良いです。 書くにあたった動機 若い人間がJavaScriptを書く場合に、 参照しているものが古い 便利なライブラリとかがあるのに再発明とかしてる Railsで書く場合にどう書けば良いのか などが整理されていないと感じた。 都度説明していたが三回をこえて面倒なので書き下すことにした。 JavaScript? TypeScript? 正直モダンに書くのであればJavaScriptでもTypeScriptでも良いと思っている。 構文的にはTypeScriptはモダンなJavaScriptに型、抽象クラスなどが追加されていると思って良いかと思う。 継承とかゴリゴリ書くのであればTypeScriptは便利だし、後述するReactなんかも TypeSc
(2016/12/11、いただいたフィードバックをもとに翻訳を修正いたしました。) JavaScriptにおいて”純粋関数”とはどういう意味でしょうか? 一般的なプログラムの用語では、純粋性というのは”参照透過性”として知られています。カッコよく言うと、「 式や関数の呼び出しをその結果と置き換えたとしても、プログラムの振る舞いが決して変わらない 」こと、また別の言い方をするなら、「 同じ入力値を渡すたび、決まって同じ出力値が得られる 」ということです。 これなら直感的に理解できそうに聞こえますし、 x => x * 10 などの関数は純粋に見えます。これに数字の 3 を引数として渡したら必ず、出力値として 30 が得られますからね。では、ある関数が純粋で別の関数が純粋でないと、どうしたら分かるのでしょう? コードを読むだけで十分でしょうか? 一般的にどう思われているかを見てみましょう。昨日
TypeScriptは、JavaScriptを生成するためのいわゆるAltJSと呼ばれる言語の1つで、マイクロソフトがオープンソースとして開発しています。WebアプリケーションのフレームワークAngular 2はTypeScriptで開発されていることが知られています。 TypeScriptは、JavaScriptを大規模なアプリケーション開発にも対応できるようにしたもの。コードを静的解析することでバグを発見しやすいような変数の型付けなどの構文を備えています。 TypeScript 2.0の主な新機能として、JavaScriptでバグの発生要因になりやすかったNull値やUndefined値を変数の値として持てないようにする「Non-nullable Types」機能を搭載。 また、Union型(共用体)ではF#やSwift、Rustのように変数にタグ付ができるタグ付共用体などをサポート。
追記(2019/04/16): 2017年半ばにここで触れているプロジェクトはTSに移行しました。今となってはTS+Reactの組み合わせは全く問題がなく、むしろ非常に相性のよい組み合わせであるとすらいえます。 TypeScript化の調査 2016年9月現在(React v15.3.1, TypeScript 2.0-rc)の話です。 いま開発しているウェブアプリのフロントエンドをTypeScript化しようと思ってちょっと調べてみたんですが、今やるのはいくらTypeScript推進派でもちょっと厳しいなと。 TypeScriptでimportできるライブラリは、TypeScriptのコード(.ts)またはdts: TypeScript definition files (.d.ts) のみ Reactは素のJS + 一部FlowType なのでdtsの公式提供は期待できない Defin
概要 自社サービスの開発中、必要にかられてGOで簡単なリバースプロキシツールを作った話を書いてみます。 前提 自社サービスの開発を、次のような構成で進めています。 フロントエンドとバックエンド(APIなど)をパスで振り分け /の下はフロントエンド /api/の下はAPI その他にも色々・・・ フロントエンドとバックエンドは、担当者もリポジトリも、動いているサーバも別 それぞれサーバが開発環境、本番環境とテスト環境、のように複数の環境をもっている やりたいこと 前提の環境をもって、いざ開発をしようとローカル環境を構築するとなれば、 ローカルにnginxでリバースプロキシを立てて管理するのは面倒くさい ちょっとした環境の変更があると共有がいちいち面倒くさい フロントエンド担当者がわざわざバックエンドをcloneだのpullだの面倒くさい 環境間でテストするためにわざわざnginxの設定書き換え
[速報]無償のコードエディタ「Visual Studio Code」が、Go言語/Pascal/Reactなどに対応。ベータ版にも到達。Microsoft Connect(); 2015 マイクロソフトは11月18日(日本時間18日深夜)に開催したオンラインイベント「Microsoft Connect (); 2015」において、無償のコードエディタ「Visual Studio Code」のベータ版到達と、エクステンションによるGo言語やPascal言語、TypeScriptやReactなどを発表しました。 エクステンションでGo言語やPascalに対応 マイクロソフト EVP、Cloud&Enterprise Groupスコット・ガスリー氏。 4月に発表したVisual Studio Codeは、コードを書くことに最適化したエディタだ。IntelliSenseやデバッガ、Gitによるソー
typescriptが独自AST捨ててEcma準拠して今のflowと同じTypeCheckerだけの存在になって、Babel が TypeScript の型アノテーション互換になり、ESNextで型アノテーションが仕様化されるのがフロントエンド界最良のシナリオ。そうならんだろうが— Dvorak対応型人類 (@mizchi) 2015, 10月 14 実際はFacebookとGoogleとMSのメンツが掛かっててややこしくなってる— Dvorak対応型人類 (@mizchi) 2015, 10月 14 babelのsebmck(18歳)がfacebookに入ったのは吉と出るかどうか 実際外部に依存しないならflowとtypescriptの両方のサブセットでどっちでも動くコードを書くのは難しくない。castとnullable が使えないが— Dvorak対応型人類 (@mizchi) 201
Microsoft社の新言語TypeScriptについて社内の自主研究発表会で発表した内容です。 対象バージョンは V0.9(2013年10月時点の最新)。 比較対象としてCoffeeScript, Haxe, Dartなどにも触れています。Read less
TypeScript - JavaScript that scales. MicrosoftがJavaScript系の新言語「TypeScript」を発表、C#の父が開発 | 日経 xTECH(クロステック) TypeScript、JavaScript とある程度互換性あるし、読みやすい JavaScript のコードに変換してくれるし、既に実験場も仕様書もあってすごい。 ということでちょっと仕様書をざっと眺めてみました。そのときに面白いなーとか思ったのとかをメモ。 Structual Subtyping Structual Subtyping は、静的型付けの型チェックと、動的型付けのアドホックを混ぜあわせたような、いいとこ取りの機能で、 interface Point { x: number; y: number; } function getX(p: Point) { return
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く