WEB+DB PRESS Vol.131

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

(2022年10月11日更新)

■ご注意
  • 本コーナーは,本誌記事参考用資料としてのご提供を目的としております。
  • 本誌記載の内容およびサポートサイトで公開しているサンプルコードに基づく運用の結果について,記事の筆者,プログラムの作者/提供元,(株)技術評論社は一切の責任を負いかねます。ご自身の責任のもと,ご使用ください。
  • 各サンプルファイル/ソースコードには,個別に,ライセンスやREADMEファイルなどで注意事項/制限事項が添付されている場合がございます。その場合,該当のライセンス,注意事項/制限事項を優先して適用とさせていただきますので,ダウンロード後,内容をご確認ください。

特集1「Rust入門」

特集2「はじめてのElixir」

特集3「実装して学ぶHTTP/3」

連載

  • 「フロントエンド コンポーネント駆動開発」
    本特集で使用されたソースコード(執筆者GitHubリポジトリ)
  • 「Goに入りては…… ── When In Go...」
    本記事で使用されたソースコード
  • 「現場のPython ── システム開発も! 機械学習も!」
    本記事で使用されたソースコード
  • 「PHPで複雑さに立ち向かう」
    本特集で使用されたソースコード(執筆者GitHubリポジトリ)
  • 「Perl Hackers Hub」
    本記事で使用されたソースコード

お詫びと訂正(正誤表)

本誌の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2022年10月21日最終更新)

連載「PHPで複雑さに立ち向かう」
P.139 「コールバック(地獄)」の3段落下部のリスト

Loop::get()->onReadable(STDIN, function ($fp) {
  echo '1 ' . fgets($fp);
  Loop::get()->onReadable(STDIN, function ($fp) {
    echo '2 ' . fgets($resource);
    Loop::get()->onReadable(STDIN, function ($fp) {
      echo '3 ' . fgets($resource);
    });
  });
});
Loop::get()->onReadable(STDIN, function ($fp) {
  echo '1 ' . fgets($fp);
  Loop::get()->onReadable(STDIN, function ($fp) {
    echo '2 ' . fgets($fp);
    Loop::get()->onReadable(STDIN, function ($fp) {
      echo '3 ' . fgets($fp);
    });
  });
});

連載「PHPで複雑さに立ち向かう」
P.143 「Fiberによるコルーチン」の2段落下部のリスト

$fiber = new Fiber(function (): void {
  $f = function (): void { // voidでよい
    // suspendで処理を中断
    // 直近で開始or再開した位置へ直接戻れる
    $received = Fiber::suspend('from fiber');
    echo $received, PHP_EOL;
  });
  $f();
});
$fiber = new Fiber(function (): void {
  $f = function (): void { // voidでよい
    // suspendで処理を中断
    // 直近で開始or再開した位置へ直接戻れる
    $received = Fiber::suspend('from fiber');
    echo $received, PHP_EOL;
  };
  $f();
});