WEB+DB PRESS Vol.133

今号の特集概要

特集1
識者がたどり着いた最適解
TypeScript最新活用
リンタ,バンドラ,ランタイム,エッジ

TypeScriptはWebフロントエンドにおける実装言語として確固たる地位を築いていますが,昨今ではそれ以外の領域においても活用されています。本特集ではTypeScriptが使われる各領域に詳しい著者を招き,TypeScriptエコシステムに関わる具体的な技術領域について動向を概観し,各々の「推し」の技術を語ってもらいます。

特集2
コミッター直伝!
速習Ruby 3.2
Wasm対応,ReDoS対策,性能改善

2022年12月25日にRuby 3.2がリリースされました。本特集では,Ruby 3.2の新機能や改善点をコミッターの手により徹底解説します。まず,大きな変更点であるWebAssembly/WASIへの対応とReDoSへの対策について詳細に解説します。そのあと,新機能,新メソッド,仕様変更,性能改善などを徹底的に解説します。

特集3
Tailwind CSS実践入門
まず作ってから,あとで共通化する

CSSフレームワークのTailwind CSSが注目を集めています。その特徴は,flex,pt-4,text-centerといったユーティリティクラスの組み合わせだけで,ほとんどすべてのスタイリングをしてしまおうという大胆なアプローチです。これまでのベストプラクティスと真っ向から対立するようなやり方ですが,だからこそ享受できるいくつもの強みがあります。本特集では,そうしたTailwind CSSの考え方や,具体的な使い方について紹介します。

目次

特集1
識者がたどり着いた最適解
TypeScript最新活用
リンタ,バンドラ,ランタイム,エッジ

  • 第1章:広がるTypeScriptの活躍領域
    フロントエンドからサーバサイド,そしてエッジへ ……うひょ(鈴木 僚太)
  • 第2章:リンタ,フォーマッタの定番設定
    ESLint,typescript-eslint,Prettier ……sosukesuzuki(鈴木 颯介)
  • 第3章:トランスパイラとバンドラに見るRust化の波
    Babel,webpack,SWC,turbopack ……うひょ(鈴木 僚太)
  • 第4章:多様化するランタイム
    動向の紹介とNestJS/GraphQLによる実践 ……れこ(井上 真吾)
  • 第5章:Webアプリケーションにおけるエッジ
    Edge Workerの意義と可能性 ……あざらし(宮本 将)

特集2
コミッター直伝!
速習Ruby 3.2
Wasm対応,ReDoS対策,性能改善

  • 第1章:WebAssembly/WASIへの対応
    Rubyプログラムをブラウザで動かせるように ……遠藤 侑介
  • 第2章:ReDoSへの対策
    アルゴリズムの改良とタイムアウトの実装 ……遠藤 侑介
  • 第3章:新しい機能の追加,改良
    文法拡張,Dataクラスの導入,エラーメッセージの改善 ……遠藤 侑介
  • 第4章:新しいメソッドの追加,改良
    組み込みクラスのパターンマッチ対応,Time.newの機能強化,Enumerator.product,Integer#ceildiv…… ……遠藤 侑介
  • 第5章:仕様変更,性能改善
    ruby2_keywordsの厳格化,Unicode 15対応,実用段階になったYJIT ……遠藤 侑介

特集3
Tailwind CSS実践入門
まず作ってから,あとで共通化する

  • 第1章:ユーティリティファーストとは何か
    従来の課題を解決する大胆なアプローチ ……安田 祐平
  • 第2章:Tailwind CSSの基本
    開発環境へのインストール,設定ファイルの記述,エディタの設定 ……安田 祐平
  • 第3章:Tailwind CSSの活用
    ユーティリティクラス,修飾子,カスタムスタイル ……安田 祐平
  • 第4章:Tailwind CSSとデザイン
    より良いデザインのためにCSSはどうあるべきか ……安田 祐平

特別企画
今こそシェルスクリプト
ツールを自由につないでWeb開発を効率化!

  • 第1章:シェルスクリプトの現在の価値
    ツールとツールをつなぐグルーとしての役割 ……木利 友一
  • 第2章:基礎知識のおさらい
    グルーとして使うために知っておくべきこと ……木利 友一
  • 第3章:ツールをつなぐ
    grep,cut,sort,uniq,sed,xargs,reviewdog…… ……木利 友一
  • 第4章:身近な課題を解決する
    さあシェルスクリプトを書いてみよう! ……木利 友一

連載

  • Goに入りては…… ── When In Go...
    【第35回】Go 1.20からの複数エラーの一括報告 ……使いどころと実装の注意点 ……牧 大輔
  • 現場のPython ── システム開発も! 機械学習も!
    【第17回】Django ORM道場 ……クエリの基本を押さえ,より良い型を身に付けよう ……清水川 貴之
  • PHPで複雑さに立ち向かう
    【第11回】PHPコードをPHPで操作する ……構文解析の基本とPHP-Parser・Rectorの使い方 ……五十嵐 進士
  • Ruby 3標準添付ライブラリ紹介
    【第11回】コードの実行速度を計測する ……benchmark/benchmark-ips/benchmark_driver ……西山 和広
  • Perl Hackers Hub
    【第77回】モジュールの自動インポートによる開発効率向上 ……PPIによる静的解析と,モジュールロードによる動的解析の組み合わせで実現 ……momochi,監修:牧 大輔,福本 貴之,松木 雅幸,大沢 和宏
  • フロントエンド コンポーネント駆動開発
    【最終回】Radix UIによる高品質なUI開発 ……アクセシブルで自由にカスタマイズできるUIライブラリ ……吉井 健文
  • SREで開発を加速させる ── class SRE implements DevOps
    【最終回】サービス運用技術の学び方 ……Site Reliability Engineerというキャリアを目指すには ……古川 雅大
  • Javaで考える脱炭素化 ── グリーンなソフトウェアをはじめてみよう
    【最終回】"Carbon Aware"なアプリケーションを目指して ……あなたの書いたJavaプログラムのCO2負荷は? ……末永 恭正

コラム

  • サバンナ便り ── ソフトウェア開発の荒野を生き抜く
    【第5回】テストピラミッド ……自動テストの信頼性を中長期的に保つ最適なバランス ……和田卓人
  • 池澤春菜のSF小説の歩き方 ──エンジニアリングの未来を描く名作たち
    【第4回】ディファレンス・エンジン〜もう一つの未来へ ……あなたの知らないコンピュータたち ……池澤 春菜
  • ちょっと気になる隣の技術畑
    【第10回】セキュリティリスクとの付き合い方 ……鈴木研吾さん ……日高 正博
  • はまちちゃんとわかばちゃんのREADER'S FORUM ── 読者のページ
    【第84回】 ……はまちや2,竹原