書籍概要

Software Design 20215月号

バックナンバー一覧

発売日
更新日

概要

第1特集
ハンズオンTCP/IP
コードで納得 ネットワークのしくみ

ネットワークに関する用語は膨大かつ難解なうえ,ただ用語を覚えただけではなかなか実務に活かすことができません。そのため「言葉はわかるけど具体的なしくみはわからない」という人も少なくないのではないでしょうか?
本特集では,基本的なネットワーク用語を押さえるだけではなく,「ICMPパケットによるpingコマンドの自作」「TCP,UDPによるソケットプログラミング」を通して,実際にネットワーク通信を体験します。自分の手を動かすことで,RFCを見るだけでは読み取れないプロトコルの流れをつかみ,TCP/IPへの理解をさらに深めましょう。

第2特集
PHP 8移行のタイミングとコツ
コーディング,JITコンパイラ,フレームワークの3点で考える

2020年11月26日,PHP 8が満を持してリリースされました。本バージョンでは,文法の変更に加え,目玉機能であるJITコンパイラが追加された事情もあり,ユーザーの関心が非常に高まっています。ただし,これらの変更は既存コードに大きく影響するため,開発者は移行時期や方法を注意深く考慮する必要があります。性急に移行してしまうと痛い目に遭いかねません。本特集では,「コーディング」「JITコンパイラ」「フレームワークを始めとした周辺ツール」の3点でバージョン8の新機能とその影響を解説します。本格的に移行を考えている方も,そうでない方も,ぜひご活用ください!

目次

第1特集
ハンズオン TCP/IP
コードで納得 ネットワークのしくみ

  • 第1章:
    データの流れから見るプロトコルの役割とその挙動
    押さえておきたいネットワークの基本用語
    …… 村山 公保
  • 第2章:
    「ピンを通す」裏側では何が起きているか
    pingを自作してネットワーク通信の実装を知る
    …… 小俣 光之
  • 第3章:
    ネットワークの根幹技術を体験!
    TCPによるソケットプログラミング
    …… 小川 晃通
  • 第4章:
    実践! NAT越え,マルチキャスト
    UDPによるソケットプログラミング
    …… 小川 晃通

第2特集
PHP 8移行のタイミングとコツ
コーディング,JITコンパイラ,フレームワークの3点で考える

  • 第1章:PHP 8でコーディングはどこまで変わる?
    厳密かつより安全な仕様に進化
    …… 新原 雅司
  • 第2章:JITコンパイラでどれだけ速くなる?
    実際の効果,導入の経緯など疑問に答えます
    …… 富所 亮
  • 第3章:フレームワークやライブラリ,ツールはどう対応すべき?
    バージョンアップ問題とよりよく向き合うために
    …… 五十嵐 進士

連載

  • ITエンジニア必須の最新用語解説
    【149】Flutter 2……杉山 貴章
  • 【最終回】Unveil it! 開ければわかる!
    【12】2020年~2021年 最新CPU&GPUの分析からわかる動向……清水 洋治
  • 結城浩の再発見の発想法
    【96】クォータ……結城 浩
  • 【新連載】Raspberry PiでエッジAI
    【1】Raspberry Pi用SDカードの作成……山川 正美
  • イラストで明解Gitコマンド
    【3】git fetch/checkout……大串 肇
  • 明後日のコンピューティングを知ろう
    【3】水中の見える化……松本 直人
  • 【最終回】めそ子が聞く!!
    【12】声だけで操作!? Amazon Alexaってなんですか?……クラスメソッド 豊崎(作),エクスデザイン ninnzinn(画)
  • ひみつのLinux通信
    【87】Linuxゲーム……くつなりょうすけ
  • “学習する”チームで仕事をする
    【4】エンジニアリングチームのメトリクスと目標……広木 大地
  • 脆弱性のふさぎかた
    【4】PHPの脆弱性~スタックバッファオーバーフロー~……中島 明日香
  • はじめてのAIチャットボット開発
    【5】Webでチャットボットを動かしてみよう……金谷 拓哉,高橋 永成
  • 【最終回】ディープラーニングではじめるソフトウェア高速化入門
    【7】複数のGPU/マシンを使用した高速化……松宮 遼
  • DevOpsエンジニアのための節約・簡単・時短レシピ
    【9】サーバレス環境に静的コンテンツを自動でデプロイするTips……星川 真麻
  • Ansible問題解決マップ
    【22】Private GalaxyでCollectionを管理する……齊藤 秀喜
  • チーム開発の視点が変わる アジャイル開発の新常識
    【6】アジャイル開発のマイクロサービス化に欠かせない可観測性……赤瀬 智也,梶原 直人(監修)
  • パズルで鍛えるアルゴリズム力
    【10】天秤パズルをとおして,ソートアルゴリズムを学ぶ……けんちょん(大槻 兼資)
  • Visual Studio Code快適生活
    【29】2万超え!? 公開されているVS Code拡張機能の選び方と注意すべきポイント……職業「戸倉彩」
  • 【新連載】体系的に学ぶDockerネットワークのしくみ
    【1】Dockerネットワークの全体像と技術要素……大隈 峻太郎
  • Rustで挑戦 ネットワークプログラミング
    【5】TCPのしくみを知ろう(後編)……小野 輝也
  • ルータ実践活用「NextHop」
    【7】Special座談会「ネットワークエンジニアで飯を食う」……吉政 忠志
  • 【最終回】月刊Fedoraジャーナル
    【12】RPMパッケージの作成と公開・配布方法……佐藤 暁
  • Monthly News from jus
    【115】文章校正に使える実用シェル芸……大西 尚利
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【113】GIGAの足りない僕たち……山形 巧哉

サポート

ダウンロード

(2021年4月14日更新)

P.33 第1特集第2章「pingを自作してネットワーク通信の実装を知る」

本記事で紹介したpingコマンドのサンプルコードを以下からダウンロードできます。サンプルコードの利用方法は,記事の内容を参照してください。

ダウンロード
サンプルコード(ping.c)

免責:本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。

商品一覧