タグ

ブックマーク / gihyo.jp (32)

  • TCP/IP技術入門——プロトコルスタックの基礎×実装[HTTP/3, QUIC, モバイル, Wi-Fi, IoT]

    このの概要 社会インフラとなったインターネットを動かす技術群「TCP/IP」にスポットを当て,長く役立つ基を主軸に,先端の開発/ 研究動向の観点を盛り込んだ入門書。 書では「プロトコルスタックの基礎」を理論× 実践のアプローチで丁寧に解説し,とくに, Wi-Fiやセルラーネットワークをはじめ 無線通信による通信量の爆発的増加 TCP/UDP/QUICのトランスポート層における スピードと信頼性のトレードオフ HTTP/3やWebTransport, IoTなど 進化する上位レイヤー関連プロトコル といった「インターネットの今」を支える技術ポイントを押さえた点が特徴です。 既存仕様に生じる限界の顕在化とそれらを解決する新たなテクノロジーの開発とが絶え間なく続いていく,そんなネットワークの世界が見えてくる1冊です。 ※書の4章/5章は,『TCP技術入門』(安永 遼真/中山 悠/丸田 一

    TCP/IP技術入門——プロトコルスタックの基礎×実装[HTTP/3, QUIC, モバイル, Wi-Fi, IoT]
    higed
    higed 2024/04/24
  • 第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp

    第37回で説明した通り、cgroup v1には様々な問題点が指摘されており、その問題を解決すべくcgroup v2が実装されました。 cgroup v1では、各コントローラがバラバラに実装されており、コントローラ間の連携が取れませんでした。これが原因で、リソースを制限するにあたって一番表面化していた問題が、ディスクI/Oに対して制限をかける際の問題でした。cgroup v1ではblkioコントローラでI/Oに対する制限をかけられましたが、限定的な制限しかかけられませんでした。 LinuxでのI/O コントローラ間で連携ができないため、blkioコントローラを使ったI/O制限が限定的になってしまう理由を説明するために、Linuxでディスクへファイル入出力する際の仕組みを簡単に説明しておきましょう。もう少し詳しい仕組みが知りたい方は『[試して理解]Linuxのしくみ』など、関連する書籍や文書を

    第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp
    higed
    higed 2023/03/30
  • 第3回 Linuxカーネルのコンテナ機能[2] ─cgroupとは?(その1) | gihyo.jp

    前回は、コンテナの仕組みとLinuxカーネルに実装されているコンテナ関連機能のひとつである名前空間について説明しました。今回は名前空間と並んでコンテナの実現に重要な役割を担っているcgroupについて説明していきます。 cgroupは2006年9月にGoogleエンジニアによって最初のパッチが投稿され、2.6.24カーネルで最初のマージがなされた機能です。2010年にリリースされたRed Hat Enterprise Linux 6.0にこの機能が搭載され、専用のマニュアルが存在したことから、使ったことのある方や、名前をご存知の方も多いのではないでしょうか。 cgroupは"Control Group"の略です。プロセスをグループ化して、そのグループ内に存在するプロセスに対して共通の管理を行うために使います。たとえば、ホストOSが持つCPUやメモリなどのリソースに対して、グループごとに制

    第3回 Linuxカーネルのコンテナ機能[2] ─cgroupとは?(その1) | gihyo.jp
    higed
    higed 2023/03/18
  • 第4回 BBRの出現 | gihyo.jp

    バッファサイズ増加とバッファ遅延増大 近年、ルータやスイッチ等のネットワーク機器に搭載されるバッファメモリのサイズが増加してきました。この主な要因としては、メモリの低価格化が進んだことが挙げられます。またネットワーク機器に限らず、メモリサイズは大きい方が良い、という通念が主流となってきたことも大きく影響しているでしょう。ネットワーク機器のバッファサイズが大きくなることで、パケット廃棄が起こりにくくなるという利点があります(図1⁠)⁠。すなわち、ネットワーク機器に一度に大量のパケットが到着した場合にも、それらのパケットをメモリに蓄積しておき、順番に送出することができるようになります。 図1 バッファサイズとパケットロス しかしながら、バッファサイズが大きくなることによる弊害もあり、それがバッファ遅延の増大です。バッファ遅延の増大によって生じる遅延の増加現象はバッファブロート(Bufferbl

    第4回 BBRの出現 | gihyo.jp
  • 第695回 入門BPF CO-RE | gihyo.jp

    第694回ではポータブルなBPFバイナリを作成できる、BPF CO-REのビルド方法を紹介しました。今回はより実践的なコードを使って、いろいろなツールを作ってみましょう。 BPF CO-REの基と事前準備 BPF CO-RE(Compile Once - Run Everywhere)については第694回でも言及しましたが、簡単に言うとeBPFとは「カーネルやプロセスの挙動を、それらを再コンパイルすることなく調べるためのツール」であり、BPF CO-REが「移植性のあるeBPFバイナリを作成するための仕組み」になります。 また、カーネル内部で動くBPFオブジェクトは、libbpfによってカーネルにロードされます。よってユーザーランド側のツールは、libbpfを通してBPFオブジェクトをカーネルに渡し、BPFオブジェクトが生成したデータを収集しなくてはなりません。 BPFオブジェクト自体は

    第695回 入門BPF CO-RE | gihyo.jp
    higed
    higed 2021/12/09
  • 1日1問、半年以内に習得 シェル・ワンライナー160本ノック

    2021年9月27日紙版発売 2021年9月22日電子版発売 上田隆一,山田泰宏,田代勝也,中村壮一,今泉光之,上杉尚史 著 B5変形判/488ページ 定価3,520円(体3,200円+税10%) ISBN 978-4-297-12267-6 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto このの概要 シェルのワンライナー(その場かぎりの1行プログラム)は,LinuxMacのコマンドラインインターフェースを立ち上げたら,すぐにプログラムを書いて即実行できます。ちょっとした作業を手っ取り早く片付けるのに向いています。大量のデータ処理,繰り返し処理ほどその効果は絶大です。書は,そんなシェル・ワンライナーを身につけるためのトレーニングです。大量の問題を

    1日1問、半年以内に習得 シェル・ワンライナー160本ノック
    higed
    higed 2021/09/17
  • Web配信の技術 ―HTTPキャッシュ・リバースプロキシ・CDNを活用する

    このの概要 HTTPキャッシュ,リバースプロキシ,CDNなどWeb開発で大切な「配信」の技術。 重要な技術ながら,現場では知見のあるエンジニアが少なく,なんとなくで運用されていたり,導入が遅れていたりします。 書では,HTTPキャッシュの基礎から解説し,一冊でしっかり配信が学べます。 速くて落ちないWebサイト/Webサービス/Web APIの実現はもちろん。キャッシュ事故やセキュリティ上の問題を防ぐのにも役立ちます。 こんな方におすすめ CDNやリバースプロキシの導入に興味のあるアプリケーションエンジニアインフラエンジニア 配信技術を学びたいインフラエンジニア Webサービスを高速化させたいフロントエンドエンジニア 第1章 はじめに 1.1 書の対象と目的 1.2 書の構成 1.3 下準備 第2章 配信の基礎 2.1 配信のとらえ方 2.1.1 配信の根幹 2.2 標準仕様でや

    Web配信の技術 ―HTTPキャッシュ・リバースプロキシ・CDNを活用する
    higed
    higed 2021/01/29
  • 「Verda」――LINEが独自に開発したNATサービスの裏側 | gihyo.jp

    インタビュイー LINE ITSC Verda Network Development Team シニアソフトウェアエンジニア 城倉弘樹(右) LINEのプライベートクラウドである「Verda」のネットワーク開発を担うシニアソフトウェアエンジニアである城倉弘樹氏は、「⁠LINE DEVELOPER DAY 2020」において、「⁠Hyperscale distributed NAT system and software engineering」のタイトルで講演しました。そこで解説されたNATサービスを開発した背景や利用した技術、得られた知見などについて、城倉氏にお話を伺いました。 LINEがプライベートクラウドでサービスを運用する理由 ――LINEで使われている「Verda」はどのようなインフラなのでしょうか。 城倉:LINEの多くのサービスは、Amazon Web Services(A

    「Verda」――LINEが独自に開発したNATサービスの裏側 | gihyo.jp
    higed
    higed 2021/01/12
  • 最終回 今生きるプログラマーが、この仕事をあこがれのものにする | gihyo.jp

    ご好評いただいた連載も今回で最終回。いつもとは趣向とは変え、竹馬氏がこれまでのインタビューを振り返りながら、未来への展望を綴ります。 一皮むけば高度なコンピュータサイエンスが 今まではインタビュアーとして抑えた感じでやってきましたが、今回は自分のブログ「mizchi's blog」の読者はご存じのような、いつもの感じで行きます。 この連載インタビュー企画の依頼を受けたときの個人的な狙いとして、技術評論社の名前を使って、いつもは会いづらい人に会いに行く口実を作ろう、ということを考えていました。その目的はほぼ達成できたので、関係者諸氏には、とても感謝しています。 ……という個人的なテーマとは別に、僕自身が連載を通して一貫して表明したい課題感があり、それは「高度なコンピュータサイエンス/プログラミングスキルの現場適用の難しさ」というものです。 僕自身、大学でコンピュータサイエンスを修めたわけ

    最終回 今生きるプログラマーが、この仕事をあこがれのものにする | gihyo.jp
    higed
    higed 2019/10/21
  • 第11回 JSONP入門 | gihyo.jp

    こんにちは、太田です。今回から、Ajaxと呼ばれるような非同期な通信処理を行うJavaScriptについて解説していきます。今回は特にJSONPについて基礎的な部分を解説します。 JSONとは JSONについては第9回でも少し触れていますが、改めて解説します。 JSON(JavaScript Object Notation)はJavaScriptから生まれたデータ記述フォーマットで、真偽値、数値、文字列、null値の組み合わせを持ったハッシュか配列かその両方で構成されます。 JSONはそのシンプルさから多くの言語でネイティブにサポートされており、特にウェブ関連ではポピュラーなデータフォーマットです。 JSONのサンプル(配列) ["aaa", "bbb", "ccc"] JSONのサンプル(ハッシュ) {"aaa":1, "bbb": 2, "ccc": 3} JSONのサンプル(ハッシュ

    第11回 JSONP入門 | gihyo.jp
  • エンジニアの知的生産術 ――効率的に学び,整理し,アウトプットする

    2018年8月10日紙版発売 2018年8月10日電子版発売 西尾泰和 著 A5判/272ページ 定価2,728円(体2,480円+税10%) ISBN 978-4-7741-9876-7 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 仕事をするうえで,どのように学び,整理し,アウトプットするのか。ソフトウェアエンジニア向けに,プログラミングと執筆を具体例として,知的生産の方法を解説した書籍です。サンプルコードの丸写しでは仕事に役立つプログラムを書けないのと同様に,知的生産術も丸写しではあなたの役に立つものにはなりません。書では,数々の知的生産術を比較して学ぶことで,何が重要な原則なのかを体得し,みなさんが自分の環

    エンジニアの知的生産術 ――効率的に学び,整理し,アウトプットする
    higed
    higed 2019/01/12
  • 第1回 データサイエンティストの育成とチーム組成:マスクド・アナライズの道場破り!リアルデータサイエンティスト・中山心太編|gihyo.jp … 技術評論社

    2018年10月30日『データサイエンティスト養成読 ビジネス活用編』の発売を記念して、「⁠仕事ではじめる機械学習」の共著者としてもおなじみの中山心太氏(ところてん)に、データ分析業界に突如として現れたイキリデータサイエンティストのマスクド・アナライズ氏(マスクド)がデータ分析者の未来について聞きました。 マスクド:中山さんの経歴についてはじめにお伺いして良いでしょうか。 ところてん:私の経歴はいろいろと転々としていて、もともとは情報セキュリティの研究者をやっていました。そこからクラウド部門に移動しました。その後ソーシャルゲーム会社に転職し、技術支援部門的なところでインフラや集計等を行っているうちに、データ分析仕事をメインに行うようになりました。リリース前のゲームのパラメータ設計を担当するうちに、企画そのものをやり始め、最終的にはゲームディレクターとして働いていました。 そのあとはEC

    第1回 データサイエンティストの育成とチーム組成:マスクド・アナライズの道場破り!リアルデータサイエンティスト・中山心太編|gihyo.jp … 技術評論社
  • 第8回 テスト駆動開発の「サイクル」――まず受け入れテストで土台を作る | gihyo.jp

    ニコニコ動画:https://www.nicovideo.jp/watch/sm2316518 テスト駆動開発には「リズム」と「サイクル」があります。 リズムについては前回説明しましたので、今回と次回でサイクルの話をします。 テスト駆動開発のサイクル テスト駆動開発のサイクルとは、1つの機能を実装するにあたって、どんな手順を踏んで、どういう回し方をしていくかということです。たとえば、ある1つの機能を実装したい、提供したいということになったときに、まずどういうテストを書いて、それからどういうコードを書いていくのか。 今回は、テスト駆動開発のサイクルとしてまず最初に受け入れテストを土台として作るという話をします。 そして次回、その受け入れテストを通すために、どのようにレッド、グリーン、リファクタリングというサイクルを回していくのかというお話をします。 なお、ここで説明する回し方の対象は、スタッ

    第8回 テスト駆動開発の「サイクル」――まず受け入れテストで土台を作る | gihyo.jp
    higed
    higed 2018/08/11
    TDDのサイクルをどこから回すかというと、利用する側からの視点で受け入れテストを書き、キッカケを作る。そこから徐々に内部の実装・テストに踏み込んでいく。
  • アジャイル開発者の習慣―acts_as_agile:第4回 ドキュメントを大切にする|gihyo.jp … 技術評論社

    ソースがドキュメントだ。バグも完全に記述されている。 ――まつもとゆきひろ[1] はじめに 連載ではアジャイル開発を「アジャイルに開発する人たち(アジャイル開発者)が開発するからアジャイル開発」と考え、アジャイル開発者に必要なスキルを磨くための習慣を紹介しています。 これまでの3回を費して紹介した「フィードバックを重視する」「⁠仕組みを育てる」「⁠スケール間に連続性を築く」といった習慣は、チームによるシステム開発の現場でアジャイルにプログラムを書くことを重視したものでした。 しかし、これでは開発対象となるシステムを構成する2つの要素のうち主に1つしか説明していません。2つの要素とは、プログラムとドキュメントです。今回は、これまであまり触れてこなかった、2つの要素のうちの1つであるドキュメントに関する習慣を紹介します。 そのためにまず、アジャイル開発者にとってのドキュメントの位置づけを説明

    アジャイル開発者の習慣―acts_as_agile:第4回 ドキュメントを大切にする|gihyo.jp … 技術評論社
  • 視点を変えてみよう 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2023 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    視点を変えてみよう 記事一覧 | gihyo.jp
    higed
    higed 2018/03/02
    西尾さんの経営学から見た視点の連鎖
  • 理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL

    このの概要 書は,DBを使ったアプリケーション開発経験があるエンジニアを対象に,リレーショナルモデルを理解し,より効率的にDB設計を行い,適切にSQLを使いこなすために必要な知識をまとめています。SQLとリレーショナルモデルの関係から述語論理,正規化理論,SELECTの詳しい解説,アプリケーション開発におけるデータ構造,リファクタリング,トランザクションまで理論と実践を併記して解説します。SQLを改めて勉強し直したい人,リレーショナルモデルについてより理解したい人に役立つ必携の1冊です。 第1章 SQLとリレーショナルモデル 1.1 そもそもSQLって? リレーショナルモデルを知らなくてもSQLは書ける? RDBはリレーショナルモデルを正しく実践してこそ真価を発揮する! 1.2 リレーショナルモデル リレーションの定義 集合とリレーショナルモデル 集合とは リレーショナルモデルとNUL

    理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL
    higed
    higed 2017/12/21
  • 第1回 memcachedの基本 | gihyo.jp

    株式会社ミクシィ 開発部 システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。今回から数回にわたり、最近Webアプリケーションのスケーラビリティの分野で話題になっているmemcachedについて、弊社開発部 研究開発グループの前坂とともに、使い方や内部構造、運用について解説させて頂きます。 memcachedとは memcachedは、LiveJournalを運営していたDanga Interactive社で、Brad Fitzpatrick氏が中心となって開発されたソフトウェアです。現在ではmixiやはてな、Facebook、Vox、LiveJournalなど、さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる重要な要素になっています。 多くのWebアプリケーションは、RDBMSにデータを格納し、アプリケーションサーバでそのデータ

    第1回 memcachedの基本 | gihyo.jp
  • プログラマー"まだまだ"現役続行 | Gihyo Digital Publishing … 技術評論社の電子書籍

    技評SE選書 プログラマー"まだまだ"現役続行 著者 柴田芳樹 著 発売日 2012年9月24日 更新日 2012年9月24日

    プログラマー"まだまだ"現役続行 | Gihyo Digital Publishing … 技術評論社の電子書籍
    higed
    higed 2017/07/30
  • 第13回 インフラエンジニアの教育 | gihyo.jp

    これまでこの連載では「いかに成長するか」「⁠いかにスキルを付けるか」というトピックについてふれてきましたが、今回は育つ側ではなく、育てる側の視点からのトピックについて書いてみたいと思います。 筆者の経験から 筆者ももちろん、最初のうちは育つ側で、ある程度スキルがついてからは育てる側にもなるようになりました。筆者が某データセンター(よく出てきますね)のマネージャに就任したときには、エンジニアが5人しかいない状態でした。すでにサービスは始まっており、しかも24時間365日の手厚いサービスを売りにしていたので、このままではサービスの提供に支障をきたすのは明確だったため、エンジニアの確保は急務の課題でした。 とはいえ、いつの時代も「できるエンジニア」はそうそう獲得できないというのは変わらぬものです。そのため、獲得ではなく育成に集中するしかないというのが筆者の出した答えであり、そしてこれはそこから現

    第13回 インフラエンジニアの教育 | gihyo.jp
  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 | Gihyo Digital Publishing … 技術評論社の電子書籍

    現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 著者 増田亨 著 発売日 2017年7月5日 更新日 2022年7月6日

    現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 | Gihyo Digital Publishing … 技術評論社の電子書籍
    higed
    higed 2017/07/01