タグ

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

  • 第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp

    章では、HTTP/3がTCPに代わって下位層で用いるQUICについて解説します。 QUICはトランスポートプロトコル QUICはトランスポートプロトコルです。QUICの説明に入る前に、トランスポートプロトコルついておさらいします。 TCP/IPの4階層モデル プロトコルは階層で役割を分担しています。TCP/IPの4階層モデルでは、アプリケーション層、トランスポート層、インターネット層、ネットワークインタフェース層に分かれます(図1⁠)⁠。 図1 TCP/IPの4階層モデル アプリケーション層に分類されるアプリケーションプロトコルは、クライアントやサーバで動作するアプリケーションの動作に関するデータやメッセージの通信ルールを規定します。たとえばSMTP(Simple Mail Transfer Protocol)は、メールを送信する通信ルールを規定しています。HTTPはこの層に属します。

    第2章 詳解QUIC ~ TCPに代わり下位層で使用する新しいトランスポートプロトコル | gihyo.jp
  • 第5回 テストピラミッド ~自動テストの信頼性を中長期的に保つ最適なバランス~ | gihyo.jp

    粒度の異なる各自動テストをどの程度書くか悩まれている方は多いと思います。今回は、自動テストの理想的なバランスを示す「テストピラミッド」について説明します。 テストピラミッドとは何か テストピラミッドとは、コスト(記述コストと実行コスト)と忠実性(物の挙動を反映している度合い)が高く、実行速度と決定性(テストが毎回同じように安定して動く度合い)が低いテストほどケース数を減らすべきだという、自動テストケース数の望ましい比率をピラミッド型に視覚化したものです。 図1は、テストの粒度をユニットテスト、インテグレーションテスト、E2E(end to end)テストの三段階で示しており、テストピラミッドの説明によく用いられます。ユニットテストが最も多く、E2Eテストが最も少ない状態に近づけることで、開発速度と信頼性の高いバランスが得られると言われています。 図1 テストピラミッド なぜ比率を意識する

    第5回 テストピラミッド ~自動テストの信頼性を中長期的に保つ最適なバランス~ | gihyo.jp
  • ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp

    大量の文章から学習することで、多言語を取り扱う能力だけでなく、高度な推論能力まで手に入れました。 GPT-3.5、とりわけその初期モデルのCodexはGitHubに存在する5400万の公開リポジトリから採取された159GBのPythonコードでGPT-3をfine-tuning(微調整)することで生まれました。ChatGPTがとりわけPythonが得意なのはここから来ています。 ChatGPTの学習データを考えることはその能力を発揮させるときに極めて有効です。質問時も以下のように、『⁠涼宮ハルヒの憂』というライトノベル作品について日語で聞いたときはSOS団の略称を間違えるなどしますが、英語ではほぼ期待通りの回答を見せます。 図1 『ハルヒの憂』について日語で聞いた場合の回答 図2 『ハルヒの憂』について英語で聞いた場合の回答 知ったかぶりをするChatGPT ところで、ChatG

    ChatGPTのおさらいと、プログラミングに活用するための第一歩 | gihyo.jp
  • 「Obsidian」でノートを作るときの考え方とは? ~デイリーノートの活用と、PKMとしてのノート術 | gihyo.jp

    ノートアプリ「Obsidian」を使いこなす 「Obsidian」でノートを作るときの考え方とは? ~デイリーノートの活用と、PKMとしてのノート術 前回までの記事で、Obsidianの基的な設定は完了しています。あとは、ノートを自分の好きなようにMarkdownで書いていけばよいのです。 しかし、ノートを書くといっても、何から手をつければよいのかわからない人が多いでしょう。 ノートの書き方は人によって違ってよいのですが、先人が残してくれた知恵がいくつか公開されています。その方法と合わせて、私がノートを作るときの考え方を紹介します。 デイリーノートを使う Obsidianではじめてノートを作成する人に対して、私がおすすめしているのは前回の記事で紹介したコアプラグインの「デイリーノート」を使う方法です。 デイリーノートとは、名前の通り毎日のノートのことです。初期設定のままで設定を変更してい

    「Obsidian」でノートを作るときの考え方とは? ~デイリーノートの活用と、PKMとしてのノート術 | gihyo.jp
  • ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは | gihyo.jp

    ノートアプリ「Obsidian」を使いこなす ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは 2022年10月に「1.0」というバージョンがリリースされたアプリ「Obsidian⁠」⁠。このリリースはgihyo.jpでも記事として取り上げられ、非常に注目されています。 この記事では具体的にどのような特徴があるのか、他のノートアプリやMarkdownエディタと比較しながら紹介します。 図 Obsidian Obsidianとは何か? Obsidianというアプリを紹介するとき、さまざまな説明が使われます。 ノートアプリ メモアプリ Markdownエディタ PKM(Personal Knowledge Management)ツール など これらはいずれも間違いではありませんが、一言で表現するのは難しいものです。そして、一言で表現しようとすると、そ

    ローカル環境で動作し、Markdownで書いたノートをつなげるアプリ「Obsidian」とは | gihyo.jp
  • これまでとこれからのGo | gihyo.jp

    Go歴史 連載では、筆者(tenntenn)と周囲のGoエンジニアで、Goに関わる今アツい話を取り上げていきます。最新のGoの機能やこれからリリースされるGoの機能はもちろん、実際の開発現場で用いられているノウハウや自作ライブラリやツールについてご紹介します。第1回目はtenntennがこれまでとこれからのGoについて取り上げます。 Goは2009年にGoogleによって公開されたプログラミング言語です。2012年にGo1として正式公開されました。2022年現在では、GoogleNetflixをはじめとする海外企業だけはなく、筆者の所属するメルカリなど国内の企業でも多く用いられるようになってきました。海外Goの導入事例は公式サイトのケーススタディで確認できます。国内企業の導入事例はGoの公式Wikiに掲載があります。これらを見るとスタートアップからメガベンチャー、大企業までさまざま

    これまでとこれからのGo | gihyo.jp
  • 第1章 進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし、HTTP/3の基本を知る | gihyo.jp

    HTTP/3入門 第1章進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし⁠⁠、HTTP/3の基を知る この特集記事は2021年6月24日に発売されたWEB+DB PRESS Vol.123に掲載された特集1「HTTP/3入門」を再掲したものです。 先日2022年6月にHTTP/3を含むHTTP関連の仕様が正式なRFCとなりました。ここではRFCの正式リリースに伴い、いち早く変更点を抑え、囲みボックスを用いた加筆解説でわかりやすくお伝えしております。 特集のはじめに HTTP(Hypertext Transfer Protocol)の最新版であるHTTP/3が登場しました。HTTP/3では、より安全で速い通信が行えます。特集では、今までのHTTPにあった課題と、HTTP/3で課題をどのように解決し、改善が行われたかを解説します。 章では、HTTPそのものと各バージ

    第1章 進化するHTTPの歩み ~ HTTP/1.1とHTTP/2をおさらいし、HTTP/3の基本を知る | gihyo.jp
  • 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

    このの概要 テレビ会議やリモートワークが普及する中,情報を守る暗号や人確認のための認証技術の重要性が増しています。書は公開鍵暗号や署名などの理論を基礎から詳しく解説し,TLS1.3やHTTP/3,FIDOなどの新しい技術も紹介します。更にブロックチェーンで注目されている秘密計算,ゼロ知識証明,量子コンピュータなど最先端の話題も扱います。 こんな方におすすめ 暗号と認証の基礎を学習したい人 Web担当者やセキュリティ担当者など 1章 暗号の基礎知識 01 情報セキュリティ 情報セキュリティの三要素 情報セキュリティと暗号技術 利便性とコスト 追加された要件 02 暗号 暗号とは よい暗号と使い方 暗号の動向を知る 03 認証 パスワードによる認証 パスワード攻撃者の能力 パスワードの攻撃手法 認証の分類 認可 OAuth 04 古典暗号 シフト暗号 換字式暗号 符号化 2章 アルゴリズ

    図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
  • 第45回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[6] | gihyo.jp

    昨年12月に前回の記事を書いて以来、世の中の状況がすっかり変わってしまいました。 筆者も4月以降はほとんど会社に出勤することなく、自宅で仕事をしています。自宅の物置のように使っていたスペースを片付け、少しずついろいろなものを買い揃え、自宅でもまずまず快適な環境で仕事ができるようになりました。同様に、これを機に自宅でも快適に仕事ができるようにいろいろと買い揃えた方も多いのではないでしょうか。残念ながら、自宅の環境が快適になったからと言ってこの記事の公開ペースが速くなるということはありませんが。:-p さて、年末に書いた記事ではケーパビリティの話を3回に渡って説明しました。今回はそのケーパビリティシリーズの前に紹介していたcgroup v2の話題に戻って、その機能を紹介していきたいと思います。 cgroup v2とCPUコントローラ この連載の第37回で書いたように、cgroup v1は自由度

    第45回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[6] | gihyo.jp
  • 第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp

    連載でも、何回かMySQLDockerで扱う方法に関して簡単に説明をしてきました。今回は、DockerMySQLを使う上でもっと便利に扱う方法を紹介してみたいと思います。特に、初期値のロードやコンテナ内にあるmysqlクライアントを使った時に文字化けする問題に対応していきます。 検証環境 今回はMacDocker for Macを利用して検証を行っております。また、MySQLDockerイメージは8.0.20で確認を行います。検証のデータには、第2回 MySQLにはじめてのデータを入れてみるで紹介されたKEN_ALL.CSVを利用します。 初期値のロードを自動化したい 第113回 anemoeaterを使ってスローログを可視化してみるでは、以下のように--secure-file-privを起動時に設定して起動していました。--secure-file-privは、指定されたディレク

    第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp
  • 2019年10月16日 “脱帽です”―9億3,000万ハッシュ/秒でようやく判明したケン・トンプソンのパスワードは…? | gihyo.jp

    Linux Daily Topics 2019年10月16日“脱帽です”―9億3,000万ハッシュ/秒でようやく判明したケン・トンプソンのパスワードは…? AT&Tのベル研において、かのケン・トンプソン(Ken Tompson)とデニス・リッチー(Dennis Richie)がUNIXの開発を開始したのが1969年、つまり今年2019年は"UNIX50周年"にあたるアニバーサリーイヤーでもある。その記念すべき年に、現代のハッカーたちが偉大な先駆者に挑んだ5年越しのゲームがゴールを迎えた。 RubyのWebサーバインタフェース「Rack」やテストフレームワーク「Bacon」の開発者として知られるLeah Neukirchenは2014年、BSD 3のソースツリーからパスワードファイル(/etc/password)を入手した。そこにはトンプソンやリッチーのほか、GoogleCEOを務めたエリ

    2019年10月16日 “脱帽です”―9億3,000万ハッシュ/秒でようやく判明したケン・トンプソンのパスワードは…? | gihyo.jp
    L3msh0
    L3msh0 2019/10/17
  • 作って理解するOS x86系コンピュータを動かす理論と実装

    2019年9月26日紙版発売 2019年9月26日電子版発売 林高勲 著,川合秀実 監修 B5変形判/736ページ 定価4,048円(体3,680円+税10%) ISBN 978-4-297-10847-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 現在広く普及している,x86系CPU搭載のコンピュータ。 書はOSの機能を実装しながら,その姿を明らかにしていきます。 第1部ではまず,ハードウェア,ソフトウェアの基概念や,CPUとOSの関係など,コンピュータの核となる理論を丁寧に解説します。 第2部では,x86系コンピュータに対象を絞り

    作って理解するOS x86系コンピュータを動かす理論と実装
  • 仕事ごっこ ~その“あたりまえ”,いまどき必要ですか?

    2019年7月6日紙版発売 2019年7月1日電子版発売 沢渡あまね 著 特殊判型判/128ページ 定価1,408円(体1,280円+税10%) ISBN 978-4-297-10621-8 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto このの概要 昭和の常識,もうおしまい! 累計20万部突破「問題地図」シリーズ著者・沢渡あまねの新境地 「郵送」「印刷して配布」 「とりあえず打ち合わせ」 「手書き」「メールを送ったら電話で確認」「押印」 「メール添付で圧縮してパスワードつけて,パスワードは別送」 「ひたすらテレアポ」「とにかく相見積り,コンペ」 「年末年始の挨拶や表敬訪問」「スーツ&ネクタイ」「ダイバーシティごっこ」 ちょっと待って,そ

    仕事ごっこ ~その“あたりまえ”,いまどき必要ですか?
  • 2019年4月25日 systemdフリーな世界を快適に立ち上げる ―モダン&シンプルな起動ユーティリティ「S6」 | gihyo.jp

    Linux Daily Topics 2019年4月25日systemdフリーな世界を快適に立ち上げる ―モダン&シンプルな起動ユーティリティ「S6」 メジャーなLinuxディストリビューションのほとんどが起動処理にsystemdを採用するようになった一方で、systemdフリーな世界を求めてやまないユーザや開発者をターゲットにしたディストリビューションも少なからず存在する。Debianベースの「Devuan」やArch Linuxベースの「Artix Linux」などはその代表だ。 systemdフリーをめざすのであれば、当然ながらsystemdの代わりにシステムを立ち上げるinitを選ばなくてはならない。Devuanの場合はユーザが任意のinitを選択でき、ArtixであればOpenRCやrunitを利用する。今回紹介する「S6」もそうしたユーティリティのひとつだが、そのシンプルでユニ

    2019年4月25日 systemdフリーな世界を快適に立ち上げる ―モダン&シンプルな起動ユーティリティ「S6」 | gihyo.jp
  • 2019年4月23日 さようなら、Scientific Linux ―フェルミ研、開発の終了を発表 | gihyo.jp

    Linux Daily Topics 2019年4月23日さようなら、Scientific Linux ―フェルミ研、開発の終了を発表 Red Hat Enterprise Linux(RHEL)のフリーバージョンとして、CentOSとともにかつて活発に開発が進められていたディストリビューションにScientific Linuxがある。開発の中心的存在となっていたのは欧州最大の原子核研究機関のCERN(Conseil Europeen pour la Recherche Nucleaire:欧州素粒子物理学研究所)と米国のフェルミ国立加速器研究所で、RHEL 6をベースとするScientific Linux 6.1あたりまでは、ときにCentOSを凌駕するスピードで開発が進んでいたこともある。 だがそれ以降は、チーフアーキテクトのRed Hatへの移籍などがあり、急速に開発ペースがダウン、

    2019年4月23日 さようなら、Scientific Linux ―フェルミ研、開発の終了を発表 | gihyo.jp
    L3msh0
    L3msh0 2019/04/24
  • 2019年3月8日 Linus、新カーネルでの「a.out」フォーマットのサポート廃止に着手 | gihyo.jp

    Linux Daily Topics 2019年3月8日Linus、新カーネルでの「a.out」フォーマットのサポート廃止に着手 Linus Torvaldsは3月5日(米国時間⁠)⁠、開発中の「Linux 5.1」のGitツリーにおいて「a.out」フォーマットをサポート対象外にする意向を示した。カーネルメンテナーのひとりでSUSE Labsに所属するあるBorislav Petkovの意見を受け入れたもので、まずはコアダンプコードの削除から開始する。 a.out: remove core dumping support -Linux kernel source tree x86: Deprecate a.out support -Linux kernel source tree Linusはa.outのサポート廃止の理由について、a.outバイナリの生成をサポートするツールチェーンがす

    2019年3月8日 Linus、新カーネルでの「a.out」フォーマットのサポート廃止に着手 | gihyo.jp
  • 第2回 JavaScriptの呪いから解き放たれて | gihyo.jp

    第2回目のゲストとしてお迎えしたのはamachangこと天野仁史さん。これまでのこと、これからのこと、熱く語ってくださいました。 天野 仁史 さん2012年にプログラマーとして起業。その後、スマートニュースにバイアウトし、エンジニアリングマネージャーとして開発チームを作る仕事に携わる。 Twitter:@amachang URL:https://amachang.hatena blog.com/ JavaScriptのスターからベンチャーの立ち上げへ 天野:天野仁史です。amachangのハンドルネームで活動しています。2007年ぐらいにインターネットで活躍していました。サイボウズ・ラボでJavaScriptをがんばっていた時期があって、そこで技評さんにお世話になったり、いろんな勉強会に顔を出したりしていました。2010年以降はベンチャーを立ち上げたり手伝ったり。 経歴を言うと、高専でコン

    第2回 JavaScriptの呪いから解き放たれて | gihyo.jp
  • 2019年のWeb標準 | gihyo.jp

    あけましておめでとうございます、@1000chこと泉水翔吾です。2018年に続いて、2019年のWeb標準技術の動向も予測していきます。 Microsoft EdgeへのChromiumプロジェクトの採用 2015年7月にMicrosoft Edge(以下、Edge)が発表されてから早3年が経ちます。Microsoftは、古くなったアーキテクチャの刷新とWeb標準技術へより高速に追従することをゴールに、レンダリングエンジンEdgeHTMLの開発をゼロベースで進めてきました。 ところが2018年12月、MicrosoftはEdgeのレンダリングエンジンにChromiumプロジェクトを採用することを発表しました。公式ブログの記事には「Chromiumというオープンソースソフトウェアへのコラボレーションを通じて、Webプラットフォームをより良いものにしていく」と、あります。この決定に至るまでにど

    2019年のWeb標準 | gihyo.jp
  • 第41回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[5]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社

    前回の最後で「次回以降はしばらく私ではなくudzuraさんにお書きいただく予定です」と書きました。しかし、年末に近づきAdvent Calendarの募集が始まるようになり、Advent Calendarの存在をすっかり忘れていたことに気づきました。 毎年、Advent Calendarに参加していましたので今年も何か参加しようと思って登録だけはしました。その後に書く内容を考えたのですが、思いついた内容がcgroup v2関連でしたので、これは連載の記事にしよう思いました。というわけで今回も前回までに続いて加藤による記事となります。この記事はLinux Advent Calendar 2018の14日目の記事です。 今回は4.13、4.14カーネルでcgroup v2に追加された機能について紹介します。 nsdelegate オプション 第38回でcgroup v2のマウント方法を紹介しま

    第41回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[5]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社
  • 第546回 journaldとsyslogの関係 | gihyo.jp

    前回に引き続き、systemd-journald(以下、journald)について解説します。今回はrsyslogとの関わりを中心に、journaldを見ていきます。 journaldによるログの受信とrsyslogへの転送 systemd環境ではjournaldがシステムやサービスのログを一手に集めています。一方で、Ubuntuでは従来からのログ収集・格納サービスであるrsyslogが現在も稼働しています。おそらく、後方互換性のためと筆者は考えています。 詳しくは後述しますが、実際にはsystemd環境ではjournaldがまずシステム上のログを受け取り、必要に応じてrsyslogへログを転送しています。 たとえば、journaldは/dev/kmsgを通じてカーネルログを集めていますし、/dev/logより従来のsyslog宛てのログも集めています。もちろん、ネイティブのjournal

    第546回 journaldとsyslogの関係 | gihyo.jp