最近 Node.js な Web アプリケーションの多言語対応について調べる機会があったので、自分なりの考えをまとめておく。 結論としては、特にライブラリを使わず、自前の実装で片付けてしまうことにした。 誰でも思いつきそうな至極単純な発想なのだけれど、調べた限りこういう情報が出てこなかったので、記事にすることで誰かのお役に立てれば幸い。 既存ライブラリに対する不満: 静的型付を実現できない1 TypeScript ユーザーにとっては、以下のようなものがコンパイル時ではなく、 実行時のエラーになるのは耐え難い。 message の key の typo message の引数の typo, 過不足, 型違い 異なる言語間で message の定義に一貫性がない ピンと来ない人向けに、それなりに人気のありそうな i18next という package の記法を例として書いておく。 [参考] i
class Animal { kind: string } class Dog extends Animal { dog_type: string } function showDogType(dog: Dog) { console.log(dog.dog_type) } // 代入不可のコンパイルエラーになってほしい const someAnimalFunc: (animal: Animal) => void = showDogType // 実際はここでランタイムエラー someAnimalFunc(new Animal()) このコードがコンパイルエラーにならず, 実行時エラーになってしまうことについて. TL;DR 型システムの健全性 (型の矛盾が生じないこと) vs 利便性のトレードオフから, 現在の TypeScript は健全性を諦めている 関数型はパラメータについて biv
先週Microsoft社がP言語に関するブログ記事を公開し一部界隈で話題となった。 P言語くん pic.twitter.com/uULzxIO4ct— Kuntaro Ishiyama (@_iamkuntao) 2017年3月26日 「いまさら一文字言語かよ…」「何個目だ?」といった批判的諦念的なものから、「RustとGoとErlangの間の子みたいなのだなあ」「なんか読みにくい」といった反応が多くこの言語の重要性やインパクトに対して正しく理解しているものがあまりなかった。尊敬しているTD勢ですらあまり重要性が伝わってないようだ 1 2 。上記のブログ記事を読んだり、マニュアルを読んだらすぐ分かるようなことではあるが、日本語で解説しておこうと思う。なおいわゆる言語入門とかそういった類のものではないことをご理解いただきたい。 TL;DR 並行処理や分散システムの形式証明や形式検証はそれ自体
ピクシブ株式会社(代表取締役社長:伊藤浩樹、本社:東京都渋谷区)とAIベンチャーの株式会社Preferred Networks(代表取締役社長:西川徹、本社:東京都千代田区、以下、PFN)は提携し、お絵描きコミュニケーションプラットフォーム「pixiv Sketch(ピクシブスケッチ)」に、新たにAI技術による線画自動着色サービス「PaintsChainer(ペインツチェイナー)」の機能を追加し、2017年5月24日(水)より提供開始します。 pixiv Sketchは、PCやスマートフォン等のデバイスを通じてお絵描きしたものをそのまま投稿できるコミュニケーションプラットフォームです。部屋の中でくつろいでいる時も、友達と外で遊んでいる時も、いつでもどこでも気軽にお絵描きをして、お絵描きを投稿することでコミュニケーションをリアルタイムに体験できます。 この度pixiv Sketchに追加する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く