TypeScriptでオブジェクトにプロパティが存在するかどうかを確認する場合には、inキーワードが使用できます。しかしinでメンバを判別しても前提の型情報が存在しないと、判別したプロパティを使用することが出来ません。これを解決する方法を紹介します。エラーが出る例 inの用途 プロパティチェックを使いやすくする 複数同時にチェックできるようにする まとめ
TypeScriptでオブジェクトにプロパティが存在するかどうかを確認する場合には、inキーワードが使用できます。しかしinでメンバを判別しても前提の型情報が存在しないと、判別したプロパティを使用することが出来ません。これを解決する方法を紹介します。エラーが出る例 inの用途 プロパティチェックを使いやすくする 複数同時にチェックできるようにする まとめ
2019年11月リリース予定のRust1.39でついにawait/asyncが正式対応となります。ここにたどり着くまでに色々な紆余曲折があったようです。しかし「にわかラグビーファン」のように、ついこの間Rustをさわり始めた私には特に感慨はありません。待機にawaitを使わない場合 awaitを使用した場合 まとめ
システム系のプログラム開発においてC++の代替として期待されているRustですが、Web系の開発などではイマイチその力を発揮できません。そんなRustが11月にリリースされるバージョン1.39でようやくawait/asyncに正式対応されます。 ということでawait/asyncを使った非同期プログラムをbeta版で試してみたいと思います。コード 出力結果 まとめ
今回は以下の機能を利用しますFirebase hosting 静的コンテンツの設置とfunctionsへのプロキシ functions databaseへの入出力 database データ保存 Webからのアクセスはfunctionsも含め、必ずhostingを介するようにします。これで静的コンテンツとデータアクセス用の窓口のドメインが同一になるので、CORS対策で余計な処理を付け加える必要がなくなります。 Reactに関してはトランスコンパイル後のファイルを静的コンテンツとしてhostingに配置します。Firebaseへのアクセスはfunctions経由となるので、フロントエンド側にAPIキーの設定をする必要はありません。今回はその手のキーは一切使わないコードとなっています。基本設定 掲示板を作る デプロイ
今回は以下の機能を利用しますFirebase hosting 静的コンテンツの設置とfunctionsへのプロキシ functions databaseへの入出力 database データ保存 Webからのアクセスはfunctionsも含め、必ずhostingを介するようにします。これで静的コンテンツとデータアクセス用の窓口のドメインが同一になるので、CORS対策で余計な処理を付け加える必要がなくなります。 Reactに関してはトランスコンパイル後のファイルを静的コンテンツとしてhostingに配置します基本設定 掲示板を作る デプロイ
RailsのAPIサーバとReact+TypeScriptの連携
私は日頃はサーバ側をNode.js+TypeScriptで構築しているので、その感覚をRailsに持ってきています。ということでRailsで書くべき流儀は全て無視というか、そもそも知りません.ソースコード 環境設定 Railsの基本設定 SPAの掲示板を作る まとめ
RailsのAPIサーバとReact+TypeScriptの連携
私は日頃はサーバ側をNode.js+TypeScriptで構築しているので、その感覚をRailsに持ってきています。ということでRailsで書くべき流儀は全て無視というか、そもそも知りません.環境設定 Railsの基本設定 SPAの掲示板を作る まとめ
TypeScriptでは静的な型付けが可能です。しかしいくら型を定義しようとも、簡単に内容を誤魔化すことができてしまいます。厳密に型チェックを行うのであれば、コンパイル時だけでなく、実行時にも型をチェックしなければなりません。もちろん手動で一つ一つ書いていけば良いのですが、それでは面倒です。 今回はできるだけ簡単にクラスのメソッドに実行時の型チェック機能を付けるという内容をやっていきます。事前準備 ソースコード チェックの限界 まとめ
TypeScriptでは静的な型付けが可能です。しかしいくら型を定義しようとも、簡単に内容を誤魔化すことができてしまいます。厳密に型チェックを行うのであれば、コンパイル時だけでなく、実行時にも型をチェックしなければなりません。もちろん手動で一つ一つ書いていけば良いのですが、それでは面倒です。 今回はできるだけ簡単にクラスのメソッドに実行時の型チェック機能を付けるという内容をやっていきます。事前準備 ソースコード チェックの限界 まとめ
フロントエンド側で使用するパッケージ @rfcs/adapterバックエンド側で使用するパッケージ @rfcs/core以上の二つのパッケージを用いて、フロントエンドとバックエンドの通信を、ローカルの関数を呼び出すのに近い形で実現します。最短で説明は以下のような感じです。バックエンドで以下のように記述しexport class TestModule extends Module { @EXPORT async add(a: number, b: number) { return a + b; } } フロントエンド側で以下のように呼び出すと const result = (await adapter.exec("TestModule.add", a, b)) as number;aとbの内容がバックエンド側に渡され、計算した結果がフロントエンド側に戻ってきます。環境構築手順 バックエンド側 フロントエンド側
フロントエンド側で使用するパッケージ @jswf/adapterバックエンド側で使用するパッケージ @jswf/rfs以上の二つのパッケージを用いて、フロントエンドとバックエンドの通信を、ローカルの関数を呼び出すのに近い形で実現します。最短で説明は以下のような感じです。バックエンドで以下のように記述しexport class TestModule extends Module { async JS_add(a: number, b: number) { return a + b; } } フロントエンド側で以下のように呼び出すと const result = (await adapter.exec("TestModule.add", a, b)) as number;aとbの内容がバックエンド側に渡され、計算した結果がフロントエンド側に戻ってきます。環境構築手順 バックエンド側 フロントエンド側
「ブログリーダー」を活用して、空雲さんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。