@IT

ペンと紙

@ITで書いた記事のリスト

Webアプリ実装で学ぶ、現場で役立つRust入門

WebアプリをRustで作りながら、現場で役立つ実践的な言語解説を行います。

Webアプリ実装で学ぶ、現場で役立つRust入門
Rustは、安全なプログラミングでき高いパフォーマンスのバイナリを生成できるなど、システムプログラミングの世界を中心に人気上昇中のプログラミング言語です。本連載では、連載「基本からしっかり学ぶRust入門」の続編として、Webアプリの開発を通じて現場で役立つRustのノウハウを紹介していきます。
各回記事
RustとActix Webで投稿アプリの登録画面を開発しよう
第3回は、第2回の続きとして、投稿アプリに投稿表示、作成、更新、削除の機能を実装していきます。この過程で、リクエストの受け取り方法、レスポンスの生成方法の詳細を理解します。
RustとActix Webで投稿アプリの一覧画面を開発しよう
今回から数回に分けて、RustのWebアプリフレームワークであるActix Webを紹介します。題材は、シンプルな投稿アプリです。今回は、投稿アプリの基本形を作成し、Actix Webでのルーティングやハンドラー関数の書き方を理解して一覧表示機能まで実装してみます。
RustでWebアプリの実装にチャレンジしてみよう【準備編】
Rustを使った「Webアプリ」の開発はどのようなものになるのでしょうか? 本連載のスタートとなる今回は、アプリ開発の下準備として、Rustの現状を踏まえた連載の目的を紹介し、Webアプリ開発環境の構築を通じて、Rustのプロジェクト管理の基本をおさらいします。

【完結】いろんな言語で試す、WebAssembly入門

いろんな言語で試す、WebAssembly入門
第4のWeb言語とされ、W3Cで標準化されているWebAssemblyについて、技術的な仕様やプログラミング言語ごとの開発手法を学んでいく連載です。
各回記事
PythonとRubyでWebAssembly――PyodideとPyScript、Ruby 3.2を体験する
第7回は、PythonとRubyによる開発事例を紹介します。これらの言語は、ここまでの回で紹介してきた言語とは異なった、実行環境をWebAssembly化するというアプローチでWebAssemblyに対応しています。PythonのPyodideとPyScript、Ruby 3.2でのWebAssemblyサポートを紹介...
GoでWebAssembly――Go標準のWebAssemblyサポートを体験する
第6回は、Go言語における開発事例を紹介します。GoからのJavaScript関数呼び出し、JavaScriptからのGo関数の呼び出しについても紹介します。
RustでWebAssembly――「Rust and WebAssembly」を体験する
第5回は、WebAssemblyにおいて最も人気があるとされるRustにおける開発例を紹介します。RustとJavaScriptの関数を相互に呼び出す事例を紹介します。
C/C++でWebAssembly――「Emscripten」を体験する
第4回は、WebAssembly開発で人気のあるC/C++とEmscriptenによる開発事例を紹介します。標準的なC/C++の関数の出力をWebページに反映させる事例の他に、C/C++の関数をJavaScriptから呼び出す事例も紹介します。
.NETとC#でWebAssembly――「Blazor WebAssembly」を体験する
第3回では、.NETにおけるWebAssemblyアプリケーション開発のためのフレームワークである、Blazor WebAssemblyを紹介します。フロントエンド開発専用となりますが、C#を使うことができるので、.NETに慣れ親しんでいる開発者には有効な選択肢でしょう。
スクリプト言語TypeScriptでWebAssembly――「AssemblyScript」を体験する
第2回では、TypeScriptでWebAssemblyプログラムを開発できるAssemblyScriptを紹介します。差異こそありますがTypeScriptの構文を使ってコードを書けるので、フロントエンドに慣れた開発者にとってはWebAssemblyのための入りやすい選択肢と言えます。
フロントエンドを高速化する第4のWeb言語――「WebAssembly」とは?
第1回では、第4のWeb言語とされ、W3Cで標準化されているWebAssemblyの概要を紹介します。WebAssemblyの仕組みと用途、Webブラウザをはじめとしたランタイム、非ブラウザAPIやプログラミング言語のサポートなどを紹介します。

【完結】スキマ時間にこっそり学ぶ「gRPC」入門

スキマ時間にこっそり学ぶ「gRPC」入門
Googleの開発したサービス間の通信技術であるgRPCについて、その概要とプログラミング言語ごとの実装を紹介する連載です。
各回記事
Goとgrpc-gatewayでリバースプロキシを開発する――gRPCサービスのRESTful API化
第8回は、gRPCをサポートしないWebブラウザなどのクライアントからgRPCサービスを利用するためのリバースプロキシgrpc-gatewayを紹介します。プログラミング言語はGoです。
SwiftとiOSでgRPCクライアントを開発する――gRPCサービスの相互運用
第7回は、第4回で実装したサーバサイドストリーミングgRPCサービスを利用するモバイルアプリケーションを、iOS用にSwiftで開発します。前回と同様に、gRPCとモバイルアプリケーションの相性などを理解し、異なるプラットフォームとプログラミング言語で構成されるサービスを問題なく利用できることを理解します。
KotlinとAndroidでgRPCクライアントを開発する――gRPCサービスの相互運用
第6回は、第4回で実装したサーバストリーミングgRPCサービスを利用するモバイルアプリケーションを、Android OS用にKotlinで開発します。ここでは、gRPCとモバイルアプリケーションの相性などを理解し、異なるプラットフォームとプログラミング言語で構成されるサービスを問題なく利用できることを理解します。
Node.jsでgRPCサービスを開発する――クライアントサイドストリーミングとは?
第5回は、Node.jsでストリーミング型のgRPCサービスを開発してみます。ここでは、ストリーミング型のうちクライアントからの複数リクエストとなるクライアントサイドストリーミングを実装してみます。
PythonでgRPCサービスを開発する――サーバサイドストリーミングとは?
第4回は、Pythonでストリーミング型のgRPCサービスを開発してみます。ここでは、幾つかあるストリーミング型のうち、サーバからの複数レスポンスとなるサーバサイドストリーミングを実装してみます。
C#でgRPCクライアントを開発する――.NETのgRPCクライアントサポート
第3回は、連載第2回で作成したシンプルな既定のサーバアプリケーションに具体的なサービスを実装し、それにアクセスするクライアントアプリケーションを作成します。サーバアプリケーションと同じくC#と.NET 6で開発していきます。プロトコル定義ファイルはサーバとクライアントで共有できること、クライアントは手続きの呼び出しのみ...
C#でgRPCサービスを開発する――.NETとgRPCクライアントEvans
第2回からは、共通の機能を持ったgRPCサービスの開発を通じ、各種のプラットフォームとプログラミング言語によるサービス実装、クライアントからの呼び出し方法の基本について紹介していきます。第2回は、C#と.NETにおけるgRPCサーバの開発手順を紹介し、その動作検証に使える汎用のgRPCクライアントも紹介します。
サービス間通信技術「gRPC」の基礎知識――「Protocol Buffers」とは?
第1回は、サービス間の通信技術として古くから使われているRPCの解説から入り、gRPCの登場、特徴、サポートされるプラットフォームやプログラミング言語、データ交換フォーマットであるProtocol Buffersのあらましについて紹介します。

【完結】基本からしっかり学ぶRust入門

基本からしっかり学ぶRust入門
「基本からしっかり学ぶRust入門」の連載記事一覧です。
各回記事
宣言的マクロと手続き的マクロ――Rustのマクロ機能を使ってみる
メタプログラミングの手法に、C/C++言語で普通に使われているマクロ機能があります。最終回である今回は、それらより安全な実装となっているRustのマクロ機能について。
スマートポインタとボックス――Rustのメモリ管理を理解する
Rustについて基本からしっかり学んでいく本連載。第17回は、スマートポインタを中心にしたRustにおけるメモリ管理について。
パスとファイルシステムの操作――Rustのファイルとディレクトリの操作を理解する
Rustについて基本からしっかり学んでいく本連載。第16回は、ファイルやディレクトリのパスの操作、そしてファイルシステムの操作について。
ファイルの読み出しと書き込み――Rustのファイル入出力を理解する
Rustについて基本からしっかり学んでいく本連載。第15回は、ファイルや標準入出力とのデータのやりとりについて。
単体テストと統合テスト――Rustの自動テスト機能を理解する
Rustについて基本からしっかり学んでいく本連載。第14回は、Rustの備える自動テスト機能である単体テストと統合テスト、ドックテストについて。
モジュールとワークスペース――Rustのプロジェクト管理を理解する
Rustについて基本からしっかり学んでいく本連載。第13回は、モジュールをクレートに分割する方法、そして複数のパッケージから成るプロジェクトを管理するワークスペースの仕組みについて。
クレートとモジュール――Rustのモジュールシステムを理解する
Rustについて基本からしっかり学んでいく本連載。第12回は、Rustアプリケーションを構成するクレートやパッケージ、関数等の要素に論理的な階層構造を導入するモジュールについて。
ジェネリクスとトレイト――Rustでジェネリクス型を実装する
Rustについて基本からしっかり学んでいく本連載。第11回は、Rustのジェネリクスとトレイトについて。
ハッシュマップと文字列――Rustのコレクションをさらに理解する
Rustについて基本からしっかり学んでいく本連載。第10回は、Rustのハッシュマップと文字列について。
コレクションとジェネリクス―Rustのジェネリクスをベクターで理解する
Rustについて基本からしっかり学んでいく本連載。第9回は、Rustのコレクションとジェネリクスについて。
例外によらないエラー処理――Rustのエラー処理を理解する
Rustについて基本からしっかり学んでいく本連載。第8回は、Rustのエラー処理について。
構造体を超える構造体――Rustの構造体と列挙型を理解する
Rustについて基本からしっかり学んでいく本連載。第7回は、Rustの「構造体」と「列挙型」について。
Rustの「借用」と「参照」の仕組み、利用方法を理解する
Rustについて基本からしっかり学んでいく本連載。第6回は、Rustの「借用」と「参照」について。
「Rustは安全でも難しい」といわれる理由――メモリ安全を実現する「所有権」の仕組み
Rustについて基本からしっかり学んでいく本連載。今回はRustにおける核心的な機能でRustによるメモリ安全なプログラミングを実現する機能の代表となる所有権を解説します。
Rustにおける関数の基本 引数、mut修飾子とは
Rustについて基本からしっかり学んでいく本連載。第4回は関数や引数の基本について。
Rustの制御構造、演算子とは
Rustについて基本からしっかり学んでいく本連載。第3回はリテラルと制御構文(条件分岐、繰り返し)について。
変数でも「不変」がデフォルト――Rustの変数、データ型を理解する
Rustについて基本からしっかり学んでいく本連載。第2回は、Rustにおける変数、データ型、配列について。
プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる
Rustはどのようなプログラミング言語なのでしょうか? 本連載のスタートとなる今回は、Rust言語の概略と、手元にRustの動作環境構築までを紹介します。導入で利用可能になるコマンドと、最初のHello, World!プログラムも取り上げます。

【完結】ECMAScriptで学ぶ正規表現

ECMAScriptで学ぶ正規表現
「ECMAScriptで学ぶ正規表現」の連載記事一覧です。
各回記事
正規表現のマッチングをどこからでも―「境界アサーション」と「ルックアラウンドアサーション」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、「^」「$」など登場済みのものからECMAScript 2015以降で利用可能になった全てのアサーションについて。
正規表現のマッチングをカスタム化する――「フラグ」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、ECMAScript 2015以降で大幅に強化された、正規表現のマッチングをカスタム化するフラグについて。
正規表現のマッチングを思い通りに――「境界アサーション」と「非貪欲な数量詞」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、マッチング位置を明示する境界アサーションと、最短マッチのための非貪欲な数量詞について。
正規表現における文字の指定方法を深める――「文字クラス」と「Unicodeプロパティエスケープ」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、文字クラスによる文字の指定方法と、便利なUnicodeプロパティエスケープについて。
文字列の「置換」を便利にする正規表現と「キャプチャグループ」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、キャプチャグループの指定方法と参照方法、マッチした部分の置換について。
基本的な正規表現パターンの書き方――使用頻度の高い「メタ文字」と「エスケープ」
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。今回は、正規表現パターンの書き方の基本、代表的な文字クラス、文字集合、数量詞、そしてエスケープについて。
「正規表現」とは――すぐに使う方法と「ECMAScript」のバージョン
正規表現の基本と、ECMAScript(JavaScript)における利用方法を紹介する連載。初回は、ECMAScriptのバージョンと正規表現の機能対応、ブラウザでのサポート状況、正規表現を扱う方法(オブジェクト、メソッド)について。
タイトルとURLをコピーしました