開発覚書はてな版

個人的な開発関連の備忘録

2018-06-01から1ヶ月間の記事一覧

【TypeScript】拡張メソッドの実装(ライブラリ・外部モジュール編)

概要 TypeScriptで基本型でなく、他のライブラリで定義されているクラスに対して拡張メソッドを実装する方法を記載します。 declare module 'ライブラリの拡張対象のクラスが記載されているファイル'で定義後は基本型の拡張方法と同じです。 サンプルソース…

【Angular】HttpClientでstatusCodeを取得する

概要 Angular 4以降で登場したHttpClientでは特に指定がない場合はJSON型の戻り値を扱います。 以前のHttpモジュールのようにHttpレスポンスのステータスコードを扱いたい場合は、引数に{ observe: 'response' }の指定が必要になります。 get処理については…

【Angular】HttpInterceptorの実行順序

概要 HttpInterceptorを複数登録した場合の実行順序は以下の通りです。 リクエストはproviders登録の昇順、レスポンスはproviders登録の降順に実行されます。 AInterceptor, BInterceptorの順で登録した場合、 Aのリクエスト前処理 Bのリクエスト前処理 Bの…

【Angular】HttpInterceptorの実装(レスポンス内容確認)

概要 以前紹介したAngularのHttpInterceptorでレスポンス内容を確認することも出来ます。 今回はそのサンプルソースをのせておきます。 kakkoyakakko2.hatenablog.com

【HTTP】ブラウザ毎のOriginヘッダー付与の違い(2018年6月現在)

概要 HTTPリクエストでOriginヘッダーが設定されるケースが異なるためまとめてみました。

【イベント参加】ng-japan2018に参加してきました

概要 ng-japan 2018に参加してきました。 ngjapan.org 基本的には6.0の新機能をベースに話があったり、導入・開発の事例の話があったりしました。 以下に感想等を記載していきます。 全体的な感想 build環境が成熟してきた。(ng add/ng update) Angular ivy…

【VSCode】Chromeデバッグ起動設定

概要 Visual Studio Code から Chrome デバッグ接続が可能です。 Debugguer for Chrome拡張機能を利用することでデバッグできます。 ただし、デバッグ前にChromeの起動引数に--remote-debugging-port=9222の設定が必要です。 このあたりの設定やまわりへの周…

【TypeScript】拡張メソッドの実装(基本型)

概要 declare global + interface で追加したいメソッドを追加後、prototypeにメソッドを追加します。 拡張メソッドを利用したい場合は、importをすることで利用できます。 詳細についてはサンプルソースを確認。 ちなみに拡張メソッドは他の開発言語でもあ…

【VSCode】Visual Studio Code v1.24 の気になる新機能

目次 目次 概要 TypeScript関連 Update import paths when a file is moved or renamed Highlight unused variables and imports Generate getter/setter refactoring Preview機能 Outline view New Settings editor 終わりに 概要 Visual Studio Code v1.24…

【Angular CLI・Karma】JUnit形式のテスト結果を出力する

概要 Angular CLI利用時にKarmaでのテスト実行時にテスト結果をJUnit形式で出力する方法です。 なぜJUnit形式でテスト結果を出力するかというとJenkins等でテスト結果を取り込むのにJUnit形式だと簡単に出来るからです。 今回利用するツールはkarma-junit-re…

【Jasmine】テストを失敗させる

概要 Jasmineで特定ケースの場合、テストを失敗させたい場合はfailメソッドまたはdone.failを使用します。 PromiseやRxJS等でrejectやthrowErrorを発生させるテストの場合、正常に動作してしまう場合がテスト失敗なため、failメソッド等で明示してあげるとテ…

【Jasmine】Promiseのテスト方法

概要 JasmineでのPromiseをテスト時にはテスト定義の引数にdoneを利用します。 doneを利用することで、非同期処理完了後まで待機してくれます。 doneを設定しない場合は、Promise.then内の処理をスルーしてテストを終了するため、正常なテスト結果がでない場…

【TypeScript】定数クラスっぽいものをつくる

概要 TypeScriptで定数クラスっぽいものをつくるのには namespace を利用すると便利です。 各const値をグループ化して、あたかも定数クラスのように利用できます。

【RxJS】指定した秒数遅らせてデータを処理

概要 RxJSで指定した秒数遅らせてデータを処理したい場合、deleyオペレーターを使用します。 引数でnumber型を設定すればミリ秒単位の指定が出来ます。 ローディング処理とかの確認に使うと便利です。

【VSCode】Visual Studio Codeでregionを使う

概要 Visual Studio Code では、Visual Studio の C# のように region指定が出来ます。 今回は Visual Studio Code で TypeScript, HTML, CSS に対してregion指定をしたいと思います。 基本的には各言語のコメントアウト部分に #region と #endregion を設定…