TypeScriptを使う上で欠かせないのが型定義ファイルの取り扱いです。TypeScript 1系では、型定義ファイルを管理するツールとして、tsdやTypingsがありました。TypeScript 2以降は特別なツールはいらず、Node.jsインストール時に付属するnpmのみで型定義ファイルが管理できる機能が開発中です。 TypeScript 2以降で型定義ファイルをインストールする npmの初期設定後、型定義ファイルをインストールするには次のコマンドを実行します。
こんにちは。 一休.comの開発基盤を担当しています、akasakasです。 今回は、Rendertronを導入してDynamic Renderingをしている話をしたいと思います。 ここでお話しする内容 Dynamic Renderingについて 一休.com/一休レストランでDynamic Renderingが必要になった背景 Rendertron とは Rendertron にした理由 Rendertron 導入イメージ クローキングの懸念 苦労話 Rendertronのモバイル対応がバグってた Rendertronのメモリリーク AMPページに対してDynamic Renderingを適用するとレンダリング後が評価されてしまって正常なAMPとして認識されない 学び できたてのライブラリは不完全(どこかしらにバグは潜んでいる) Dynamic Renderingさせるべき画面・させな
この記事は、Node.js Advent Calendar 2018の 18 日目の記事です。 遅れてしまい本当に申し訳ありません。 この記事は、HTML5 カンファレンスで話した内容が中心となります。 Node.js とはかけ離れていますが、自分が書きたかった内容だったので、理解してくださると嬉しいです。 モジュール webpack は以下のモジュールをサポートします。 // ESM (ECMAScript Modules) import foo from "./foo"; export default foo; import("./foo.wasm"); // native support for WebAssembly import("./foo.json"); // native support for JSON // CJS (CommonJS Modules) const fo
エンジニアリンググループの冨岡です。 先日、以下のTypeScript用DIライブラリを公開しました。大きな特徴として、解決するために不十分な依存がある場合にコンパイルエラーになるようになっています。 github.com www.m3tech.blog このコンパイル時の型チェックの実現には、TypeScriptにおける様々な型レベルのテクニックが用いられています。泥臭い試行錯誤の結果、なかなかhackyなこともやっていて面白い(?)ので、せっかくなので解説しようと思います。 もちろん、「もっとエレガントにできるよ」というアドバイスやプルリクも大歓迎です!皆さんも、自分だったらこうするなぁ、とか思いながら楽しんでいただければと思います! (なお本記事ではこのバージョンのこのファイルをもとに解説していきます。) 前提と問題の設定 typesafe-diでは、各インスタンスのfactoryを
April 12, 2019The perfect unit testThere's a common theme I find with people who tell me that they don't find unit testing useful, and it's normally that they are writing bad tests. This is completely understandable, particularly if you're newer to unit testing. It's hard to write good tests and it takes practice to get there. All the things we're going to talk about today were learned the hard wa
はじめに 本投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はObserverパターンになります。 まとめ一覧はこちら Observerパターン Observerパターンとは 観察される側(=Subject)と観察する側(=Observer)の2つの役割が存在し、Subjectの状態が変化した際にObserverに通知されるデザインパターンです。そのため、状態変化に応じた処理を記述する時に有効です。 どちらかというと観察よりも通知に重点が置かれており、Observerが能動的に通知を待っているのでPublish-Subscribeパターンと呼ばれることがあります。Publish(=発行)とSubscribe(=購読)という意味でこちらの方がイメージつきやすいかもしれませんね。 MVC(Model / View / Controller)アーキテクチャで
イントロダクション オブジェクトを利用する側からすれば、使用する際にオブジェクトの詳細を意識したくはありませんよね。 たとえば、条件によってデータファイルの読み込みに使うオブジェクトが異なる場合、CSV形式であればCSVDataReaderオブジェクトを、XML形式であればXMLDataReaderオブジェクトを生成します。 通常はif、else、switchなどの条件分岐を使用して、条件ごとに生成するオブジェクトを変更します。 ここで新たなデータファイル形式への対応が必要になった場合は、新しいオブジェクト生成処理と、条件式を追加しなければいけません。 オブジェクトの使用者は、オブジェクトが使用できる状態で受け渡してもらい、オブジェクトは使うことだけに専念したいものです。 また、このようにオブジェクトの生成処理と使用処理が同じコードに書かれていた場合、オブジェクトの生成処理によってオブジェ
内部モジュール(internal module) 内部モジュールは、共通の関数などをグローバル空間に記載したくない場合などに使用すると便利。 モジュールを外部スコープから参照する際はexportを使用する。 module Util{ export function testFunc():void{ alert('testFunc'); notExportItem()//モジュールの内部からの参照は可能 } export class TestClass{ constructor(){ alert('TestClass'); } } //exportが無いので、外部からの参照ができない function notExportItem():void{ alert('notExportItem'); } } Util.testFunc(); new Util.TestClass(); Util.no
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く