Webアプリ実装で学ぶ、現場で役立つRust入門(14):
第14回では、第13回の続きとして、TODO投稿アプリSPAの機能を拡張していきます。タスクの編集、削除といった機能の実装を通じて、WebAssemblyにおけるより複雑なDOMの操作について理解します。
Webアプリ実装で学ぶ、現場で役立つRust入門(13):
第13回では、第12回の続きとして、TODO投稿アプリSPAの機能を拡張していきます。第13回では、タスク表示、追加といった機能の実装を通じて、WebAssemblyにおけるDOMの操作やイベントハンドラの記法、Web Storageの利用方法について理解します。
Webアプリ実装で学ぶ、現場で役立つRust入門(12):
第12回からは、第11回までで作成した投稿アプリの延長として、Rust and WebAssemblyでTODOアプリを開発します。第12回では、プロジェクトの構築やさまざまな準備のためのコードを通じて、Rust and WebAssemblyの基本的な利用方法を理解します。
Webアプリ実装で学ぶ、現場で役立つRust入門(11):
第11回では、第10回に引き続き投稿アプリに更新機能を実装します。編集、削除機能の実装を通じて、DioxusによるSPA開発の、より実践的な手順を学びます。
Webアプリ実装で学ぶ、現場で役立つRust入門(10):
第10回では、第9回に引き続き、投稿アプリSPAの機能を拡張していきます。第10回では、新規投稿のコードを通じて、Dioxusの状態管理やイベントハンドラの理解を進めます。
Webアプリ実装で学ぶ、現場で役立つRust入門(9):
第9回では、第8回の続きとして、投稿アプリSPAの機能を拡張していきます。第9回では、一覧表示機能のコードを通じて、Dioxusのコンポーネントの理解を進めます。
Webアプリ実装で学ぶ、現場で役立つRust入門(8):
第8回では、2024年3月末のDioxus 0.5リリースに合わせて、機能変更のポイントをWebプラットフォームに絞って紹介し、第7回で作成したアプリをバージョン0.5対応となるように修正します。
Webアプリ実装で学ぶ、現場で役立つRust入門(7):
第7回からは、第6回で作成した投稿アプリのREST APIを利用して、UI作成フレームワークDioxusでアプリのフロントエンド部分をSPAとして開発していきます。第7回では、API呼び出し関数の実装と、その呼び出し結果をページに反映するコードを通じて、Dioxusの基本動作を理解します。
Webアプリ実装で学ぶ、現場で役立つRust入門(6):
第6回は、第5回の続きとして、投稿アプリにREST APIを導入し、後続の回で利用できるようにします。
Webアプリ実装で学ぶ、現場で役立つRust入門(5):
第5回は、第4回の続きとして、テンプレート化した投稿アプリにセッションによる状態管理の仕組みを導入し、それを利用した入力情報の記憶やフラッシュメッセージの実装例を紹介します。
Webアプリ実装で学ぶ、現場で役立つRust入門(4):
第4回は、第3回の続きとして、投稿アプリにWebアプリケーションテンプレートエンジンの「Tera」を導入し、見た目を整えていきます。
Webアプリ実装で学ぶ、現場で役立つRust入門(3):
第3回は、第2回の続きとして、投稿アプリに投稿表示、作成、更新、削除の機能を実装していきます。この過程で、リクエストの受け取り方法、レスポンスの生成方法の詳細を理解します。
Webアプリ実装で学ぶ、現場で役立つRust入門(2):
今回から数回に分けて、RustのWebアプリフレームワークであるActix Webを紹介します。題材は、シンプルな投稿アプリです。今回は、投稿アプリの基本形を作成し、Actix Webでのルーティングやハンドラー関数の書き方を理解して一覧表示機能まで実装してみます。
Webアプリ実装で学ぶ、現場で役立つRust入門(1):
Rustを使った「Webアプリ」の開発はどのようなものになるのでしょうか? 本連載のスタートとなる今回は、アプリ開発の下準備として、Rustの現状を踏まえた連載の目的を紹介し、Webアプリ開発環境の構築を通じて、Rustのプロジェクト管理の基本をおさらいします。
スキマ時間にこっそり学ぶ「gRPC」入門(終):
第8回は、gRPCをサポートしないWebブラウザなどのクライアントからgRPCサービスを利用するためのリバースプロキシgrpc-gatewayを紹介します。プログラミング言語はGoです。
いろんな言語で試す、WebAssembly入門(終):
第7回は、PythonとRubyによる開発事例を紹介します。これらの言語は、ここまでの回で紹介してきた言語とは異なった、実行環境をWebAssembly化するというアプローチでWebAssemblyに対応しています。PythonのPyodideとPyScript、Ruby 3.2でのWebAssemblyサポートを紹介します。
いろんな言語で試す、WebAssembly入門(6):
第6回は、Go言語における開発事例を紹介します。GoからのJavaScript関数呼び出し、JavaScriptからのGo関数の呼び出しについても紹介します。
スキマ時間にこっそり学ぶ「gRPC」入門(7):
第7回は、第4回で実装したサーバサイドストリーミングgRPCサービスを利用するモバイルアプリケーションを、iOS用にSwiftで開発します。前回と同様に、gRPCとモバイルアプリケーションの相性などを理解し、異なるプラットフォームとプログラミング言語で構成されるサービスを問題なく利用できることを理解します。
いろんな言語で試す、WebAssembly入門(5):
第5回は、WebAssemblyにおいて最も人気があるとされるRustにおける開発例を紹介します。RustとJavaScriptの関数を相互に呼び出す事例を紹介します。
スキマ時間にこっそり学ぶ「gRPC」入門(6):
第6回は、第4回で実装したサーバストリーミングgRPCサービスを利用するモバイルアプリケーションを、Android OS用にKotlinで開発します。ここでは、gRPCとモバイルアプリケーションの相性などを理解し、異なるプラットフォームとプログラミング言語で構成されるサービスを問題なく利用できることを理解します。
いろんな言語で試す、WebAssembly入門(4):
第4回は、WebAssembly開発で人気のあるC/C++とEmscriptenによる開発事例を紹介します。標準的なC/C++の関数の出力をWebページに反映させる事例の他に、C/C++の関数をJavaScriptから呼び出す事例も紹介します。
スキマ時間にこっそり学ぶ「gRPC」入門(5):
第5回は、Node.jsでストリーミング型のgRPCサービスを開発してみます。ここでは、ストリーミング型のうちクライアントからの複数リクエストとなるクライアントサイドストリーミングを実装してみます。
いろんな言語で試す、WebAssembly入門(3):
第3回では、.NETにおけるWebAssemblyアプリケーション開発のためのフレームワークである、Blazor WebAssemblyを紹介します。フロントエンド開発専用となりますが、C#を使うことができるので、.NETに慣れ親しんでいる開発者には有効な選択肢でしょう。
スキマ時間にこっそり学ぶ「gRPC」入門(4):
第4回は、Pythonでストリーミング型のgRPCサービスを開発してみます。ここでは、幾つかあるストリーミング型のうち、サーバからの複数レスポンスとなるサーバサイドストリーミングを実装してみます。
いろんな言語で試す、WebAssembly入門(2):
第2回では、TypeScriptでWebAssemblyプログラムを開発できるAssemblyScriptを紹介します。差異こそありますがTypeScriptの構文を使ってコードを書けるので、フロントエンドに慣れた開発者にとってはWebAssemblyのための入りやすい選択肢と言えます。
スキマ時間にこっそり学ぶ「gRPC」入門(3):
第3回は、連載第2回で作成したシンプルな既定のサーバアプリケーションに具体的なサービスを実装し、それにアクセスするクライアントアプリケーションを作成します。サーバアプリケーションと同じくC#と.NET 6で開発していきます。プロトコル定義ファイルはサーバとクライアントで共有できること、クライアントは手続きの呼び出しのみに集中すればよいことなどを紹介します。
基本からしっかり学ぶRust入門(18):
メタプログラミングの手法に、C/C++言語で普通に使われているマクロ機能があります。最終回である今回は、それらより安全な実装となっているRustのマクロ機能について。
いろんな言語で試す、WebAssembly入門(1):
第1回では、第4のWeb言語とされ、W3Cで標準化されているWebAssemblyの概要を紹介します。WebAssemblyの仕組みと用途、Webブラウザをはじめとしたランタイム、非ブラウザAPIやプログラミング言語のサポートなどを紹介します。
スキマ時間にこっそり学ぶ「gRPC」入門(2):
第2回からは、共通の機能を持ったgRPCサービスの開発を通じ、各種のプラットフォームとプログラミング言語によるサービス実装、クライアントからの呼び出し方法の基本について紹介していきます。第2回は、C#と.NETにおけるgRPCサーバの開発手順を紹介し、その動作検証に使える汎用のgRPCクライアントも紹介します。
基本からしっかり学ぶRust入門(17):
Rustについて基本からしっかり学んでいく本連載。第17回は、スマートポインタを中心にしたRustにおけるメモリ管理について。
スキマ時間にこっそり学ぶ「gRPC」入門(1):
第1回は、サービス間の通信技術として古くから使われているRPCの解説から入り、gRPCの登場、特徴、サポートされるプラットフォームやプログラミング言語、データ交換フォーマットであるProtocol Buffersのあらましについて紹介します。
基本からしっかり学ぶRust入門(16):
Rustについて基本からしっかり学んでいく本連載。第16回は、ファイルやディレクトリのパスの操作、そしてファイルシステムの操作について。
基本からしっかり学ぶRust入門(15):
Rustについて基本からしっかり学んでいく本連載。第15回は、ファイルや標準入出力とのデータのやりとりについて。
基本からしっかり学ぶRust入門(14):
Rustについて基本からしっかり学んでいく本連載。第14回は、Rustの備える自動テスト機能である単体テストと統合テスト、ドックテストについて。
基本からしっかり学ぶRust入門(13):
Rustについて基本からしっかり学んでいく本連載。第13回は、モジュールをクレートに分割する方法、そして複数のパッケージから成るプロジェクトを管理するワークスペースの仕組みについて。
ECMAScriptで学ぶ正規表現(7):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、「^」「$」など登場済みのものからECMAScript 2015以降で利用可能になった全てのアサーションについて。
基本からしっかり学ぶRust入門(12):
Rustについて基本からしっかり学んでいく本連載。第12回は、Rustアプリケーションを構成するクレートやパッケージ、関数等の要素に論理的な階層構造を導入するモジュールについて。
ECMAScriptで学ぶ正規表現(6):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、ECMAScript 2015以降で大幅に強化された、正規表現のマッチングをカスタム化するフラグについて。
基本からしっかり学ぶRust入門(11):
Rustについて基本からしっかり学んでいく本連載。第11回は、Rustのジェネリクスとトレイトについて。
ECMAScriptで学ぶ正規表現(5):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、マッチング位置を明示する境界アサーションと、最短マッチのための非貪欲な数量詞について。
基本からしっかり学ぶRust入門(10):
Rustについて基本からしっかり学んでいく本連載。第10回は、Rustのハッシュマップと文字列について。
ECMAScriptで学ぶ正規表現(4):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、文字クラスによる文字の指定方法と、便利なUnicodeプロパティエスケープについて。
基本からしっかり学ぶRust入門(9):
Rustについて基本からしっかり学んでいく本連載。第9回は、Rustのコレクションとジェネリクスについて。
ECMAScriptで学ぶ正規表現(3):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、キャプチャグループの指定方法と参照方法、マッチした部分の置換について。
ECMAScriptで学ぶ正規表現(2):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、正規表現パターンの書き方の基本、代表的な文字クラス、文字集合、数量詞、そしてエスケープについて。
基本からしっかり学ぶRust入門(7):
Rustについて基本からしっかり学んでいく本連載。第7回は、Rustの「構造体」と「列挙型」について。
ECMAScriptで学ぶ正規表現(1):
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。初回は、ECMAScriptのバージョンと正規表現の機能対応、ブラウザでのサポート状況、正規表現を扱う方法(オブジェクト、メソッド)について。
基本からしっかり学ぶRust入門(6):
Rustについて基本からしっかり学んでいく本連載。第6回は、Rustの「借用」と「参照」について。
基本からしっかり学ぶRust入門(5):
Rustについて基本からしっかり学んでいく本連載。今回はRustにおける核心的な機能でRustによるメモリ安全なプログラミングを実現する機能の代表となる所有権を解説します。