概要
第1特集
入門! Rust
メモリ安全とパフォーマンスを両立するしくみとは?
関数型言語の安全性,オブジェクト指向型言語の開発のしやすさ,C/C++にも引けをとらない実行速度を兼ね備えた「Rust」。高いパフォーマンスが求められるプロダクトで採用が始まっており,今後も多くの企業で導入が進むであろう躍進間違いなしのプログラミング言語です。そんなRustですが,さまざまな言語の良いとこ取りの反面,習得のためには越えるべき壁もあります。
本特集ではRustについて,入門から実際の開発までカバーしつつ,Rust習得の壁である「所有権」「トレイト」といった概念について,他のプログラミング言語と比較しながら解説します。この機にぜひ,Rustに入門しましょう!
第2特集
プロフェッショナルに訊く
テストコードの流儀
テストの自動化なんて,自分のプロジェクトでは絶対できない!――そんなふうに思ってしまうのは,自動テストに関する理解不足や,ご自身の自動テストに対する高すぎる理想が原因かもしれません。
テスト自動化のメリットはアプリケーションの品質を担保するだけではありません。開発や保守にかかる工数を減らし,設計の手助けをする攻めのツールにもなり得ます。だからといって「すべてのテストを自動化する」と気負いすぎてはうまくいきません。
本特集では,テスト自動化のメリットを享受しつつも,無理なく実践できるポイントを紹介します。読んだあとには,テスト自動化のハードルは意外と低く感じられることでしょう。
第3特集
低レイヤソフトウェア開発入門(後編)
Linuxカーネルを読み解く,OS・ベアメタルアプリを創る
本誌2020年5月号の特集2では,Linuxカーネルへのコミット方法をはじめ,ハードウェアに近い部分でのプログラミング方法について紹介しました。今回は,さらに深く「低レベルソフトウェア開発」を解説します。まず,第1章の「ベアメタルプログラミング入門(後編)」では,Linuxが提供しているユーザー空間I/Oを取り上げ,直接ハードウェアをコントロールする方法を解説します。そして第2章では,自作OSの視点から不揮発性メモリのNon-Volatile DIMM(NVDIMM)を手がかりにハードウェアレベルのプログラミングを解説します。
短期連載
はじめよう,高速E2Eテスト
【1】Seleniumで体験するE2Eテスト――速度の課題と並列化による対策
本連載では,完成したアプリケーションをユーザー目線で検証するE2E(End to End)テストを取り上げます。E2Eテストはその特徴から,開発・リリースのボトルネックになりがちですが,並列化による高速化という手段があります。第1回では,Seleniumによる簡単なテストシナリオの実行,並列化を体験します。
短期連載
スタートアップのためのAWSテクノロジー講座
【2】コンテナ導入に向けた現実的な方法を知る
昨今注目を集めるコンテナ技術ですが,適切な技術選定を行い正しく活用するには,さまざまな考慮が必要です。本連載では,AWSのソリューションアーキテクトが,コンテナ技術をより良く扱うためのノウハウを提供します。第2回では,コンテナとコンテナオーケストレーションツールの役割の違いや具体的な移行ステップを通して,「導入に向けた現実的な方法」について解説します。