概要
第1特集
今さら聞けない暗号技術
セキュア通信を実現する公開鍵暗号のしくみ
ネットワーク上の脅威の代表選手として「盗聴」「改ざん」「なりすまし」が挙げられます。これらのリスクを解消するために使われているのはどんな技術でしょうか。そう,暗号技術です。暗号技術は,情報の秘匿を目的とした機密性を実現する技術としてよく知られています。しかし,そのほかにも,データが正確であることを示す完全性や,対象データの証跡を残す否認防止,改ざんやなりすましがないかを示す真正性といった機能も保持しており,それぞれの目的でさまざまな暗号アルゴリズムが活用されています。
本特集で,これらの暗号技術の理論を改めて基礎から学び直してみましょう。
第2特集
そろそろはじめるテスト駆動開発
JavaScriptでテストファーストに挑戦
ソフトウェアの動作検証をコードとして記述し,コマンド1つで自動的に検証を行う「自動テスト」は,その手軽さや保守性の向上効果から広く普及しています。この自動テストを,テスト対象のコードより先に書いてしまう「テストファースト」,さらにその発展形である「テスト駆動開発(TDD)」という開発手法があります。コードより先にテストを書くという一見奇妙なフローに,どのようなメリットがあるのでしょうか。ソフトウェアの設計,開発者のメンタルの面から考察します。また,TDDには体験してはじめて理解できる良さもあります。百聞は一見に如かず,JavaScriptの自動テスト環境を整えて,TDDを実践してみましょう。
特別企画
セキュリティキーITエンジニア流使いこなし術
[後編]SSHでセキュリティキーを活用する
昨今のWebサービスでは二要素認証が当たり前になってきました。でも,パスワードとSMSの二要素認証ではもう危険かもしれません。より強固な対策として注目されているのがセキュリティキーというデバイスです。前後編の2回にわたり,日常のWeb閲覧のほか,GitHubなど開発でセキュリティキーを使う方法を紹介します。
短期連載
Cypressで作る“消耗しない”E2Eテスト環境
[3]ソフトウェアの品質をアップさせるテストの書き方
本連載ではE2Eテストのフレームワークである「Cypress」についてお話しします。Cypressの基本的な使い方やその特徴,さらにはアドバンスドな使い方まで,3人の筆者が紹介していきます。開発者フレンドリーなCypressを使って,消耗しないテスト環境を作りましょう。
短期連載
リアルタイム通信アプリを支える技術
[最終回]実践的なリアルタイム通信サービスの設計
マルチプレイヤーゲーム,バーチャルライブ,メタバースなど,いまや複数のユーザーが同時に利用するサービスやイベントは珍しくありません。そんなリアルタイム通信アプリを実現するためのフレームワークエンジンを開発するDiarkisのエンジニアが,リアルタイム通信の技術やアーキテクチャの今をダイジェストで解説します。