タグ

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

  • Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp

    CPUの世界では、内部の機構をフロントエンド(命令フェッチとデコード)とバックエンド(命令実行とメモリ)で分けることができます。つまりrailsbenchの実行においては、フロントエンドの処理がバックエンドの処理に対して間に合っておらず、全体としてCPUの性能を使い切れていないことになります。 また、RubyのプログラムとYJITが生成したコードの行き来(ジャンプ)が頻繁に行われていました。このジャンプが多いということは、それだけ実行のために参照するアドレスが多く、結果としてコードの実行パスが増えてしまいます。その結果、予測が失敗したパス(汚染されたパス)が大量に増えて、投機的実行の予測精度に影響を与えていました。 加えて初期のYJITでは、この汚染されたパスもコード生成に利用していたため、さらに問題を悪化させていました。 これらが原因となり、初期のYJITではrailsbenchのパフォ

    Alan Wu氏「YJITはRubyプロセス実行から終了まで全体のパフォーマンス向上を目指す」 ~RubyKaigi 2022 3日目キーノート | gihyo.jp
    ryshinoz
    ryshinoz 2022/10/13
  • Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp

    RubyKaigi 2022 キーノートレポート Yuta Saitoさん「RubyWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート 9月8日から9月10日までの3日間RubyKaigi 2022が三重県津市で開催されました。今年はRubyKaigi 2019以来、3年ぶりの現地開催で非常に盛り上がったカンファレンスとなりました。 初日のキーノートではRubyコミッターのYuta Saitoさんが「Ruby meets WebAssembly」というタイトルで発表しました。 Saitoさんはインターネット上では主に@kateinoigakukunという名前で活動しており、Swiftコミッターとしてもよく知られたエンジニアです。CRubyWebAssembly移植を進め、2022年1月にRubyコミッターとなっています。今回のキーノートはCRubyのW

    Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp
    ryshinoz
    ryshinoz 2022/10/12
  • 読みやすいコードのガイドライン ―持続可能なソフトウェア開発のために

    このの概要 開発が大規模化・長期化するほど,コードを「読む」コストは増大していきます。そのため「読みやすさ」の向上は,生産性を改善し,プロダクトの成長限界を引き上げる重要な手段と言えるでしょう。 書は,読みやすさの質を学び,実践するための考え方をマスターできる一冊です。体系的な理解を実現するため,あらゆる角度から,豊富な例を交えて解説しています。表面的なテクニックではなく,いま目の前にあるコードに最適な改良方法を選び取る力が身に付きます。 こんな方におすすめ プログラミングの基を学び終え,さらにステップアップしたい方 1か月以上かかる長期の開発に携わる方 コーディングのルールをどう適用するか知りたい方 はじめに 第1章 可読性の高いコードを書くために 1-1 生産性への恩恵 1-1-1 開発の規模と生産性の関係 1-1-2 可読性を高めるための環境と評価体制 1-2 可読性の高いコ

    読みやすいコードのガイドライン ―持続可能なソフトウェア開発のために
    ryshinoz
    ryshinoz 2022/10/02
  • パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp

    記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「パスワードのない世界に向けて(えーじ⁠)⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。 皆さんこんにちは。えーじです。今日は「パスワードのない世界に向けて」というお話をしたいと思います。 パスワードだけでは守りきれない世の中に 皆さんご存知のように、今多くのWebサイトはパスワードを使ったログインが主流です。 しかし、どんなに堅牢なシステムでも、ユーザーさんが弱いパスワードを作ってしまったり、同じパスワードを複数サイトで使い回してしまったり、フィッシングに引っかかってしまえばアカウントは乗っ取られてしまいます。 近年フィッシングが急増していることからもわかるように、パスワードだけのシステムでは守り

    パスワードのない世界に向けて ~TechFeed Conference 2022講演より | gihyo.jp
    ryshinoz
    ryshinoz 2022/09/30
  • 第721回 新型ベアボーンキットであるDeskMeetと最新CPUであるAlder Lakeで夢のパワフルUbuntuライフ | gihyo.jp

    まずはAlder Lakeを試すのが目的だったので、PCIeスロットもSATAポートも使っていません[4]⁠。あとCPUのMTP(Maximum Turbo Power)に対してクーラーが心もとない感じがしますが、これは今後要検討課題としています[5]⁠。一応簡易水冷も可能なものの、そうするとケースファンを取り付ける必要があるため、PCIeスロットが事実上使えなくなります。 Ubuntu 22.04 LTSでの動作確認 組み立てたらまずは動作確認です。Ubuntuを使った動作確認の定番は次の記事が参考になるでしょう。 第628回「PCの初期動作を確認する」 第697回「AMD Ryzen 7 5800Xで学ぶ、Ubuntuにおけるシステムの動作確認」 ちなみにDeskMeet B660のほうは第12世代のIntel Core(Alder Lake)が必須になるため、Ubuntu 22.04

    第721回 新型ベアボーンキットであるDeskMeetと最新CPUであるAlder Lakeで夢のパワフルUbuntuライフ | gihyo.jp
    ryshinoz
    ryshinoz 2022/08/02
  • gihyo.jp、15年ぶりの大幅リニューアル! | gihyo.jp

    Webメディア「gihyo.jp」のリニューアル 技術評論社のエンジニア向け情報サイト「gihyo.jp」は2022年7月11日、2007年のサイトオープン以来の大幅なリニューアルを行いました。またgihyo.jpの編集長として、私、高橋和道が就任する運びになりました。 Webメディアとしてのgihyo.jpはこれまでよりも独立性を持たせ、記事を読みやすくなるようにデザインを変更しました。対象読者も従来のエンジニアやデザイナーに加えて、ビジネスシーンを含めITを活用している人への記事を増やしていきます。 また、サイトオープン以来、さまざまな形でご協力いただいてきた各種コミュニティの関連技術記事はもちろん、gihyo.jpの特色の1つであったイベントレポートも掲載していければと考えています。 技術記事などのご寄稿は随時受け付けていますので、ご興味のある方はお問い合わせください。 なお、技術

    gihyo.jp、15年ぶりの大幅リニューアル! | gihyo.jp
  • HTTP/3入門 記事一覧 | gihyo.jp

    第5章HTTP/3の拡張と応用 ~ 機能を追加し、より効率的に、より便利に 後藤ゆき 2022-07-15

    HTTP/3入門 記事一覧 | gihyo.jp
    ryshinoz
    ryshinoz 2022/07/11
  • 第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
    ryshinoz
    ryshinoz 2022/07/11
  • ネットワーク技術やその仕組みを理解するための最短コースとは?:新刊ピックアップ

    ネットワーク技術を学ぶのは難しい 我々の日常生活に欠かすことのできない社会インフラの1つと言えるコンピュータネットワーク。スマホやPCから利用するだけなら,その仕組みを深く知る必要はありませんが,仕事でシステムの構築や運用管理に従事する方は,きちんと理解しておくことが必要になります。 しかし,次のような理由からマスターするまでの道のりは険しいです。 押えておくべき技術用語が多すぎる たとえば,社内LAN内でファイルをやり取りしている状況を詳細に説明する場合,「⁠TCP/IP」「⁠IPアドレス」「⁠サブネット」「⁠DHCP」「⁠プロトコル」「⁠MACアドレス」「⁠ARP」「⁠ゲートウェイ」……,さらに機器として「ルータ」「⁠レイヤ3スイッチ」……などなど,数多くの技術用語を理解しておく必要があります。 お試し環境を準備するのが大変 技術用語をある程度理解できたとしても,社内LANをいきなり設

    ネットワーク技術やその仕組みを理解するための最短コースとは?:新刊ピックアップ
    ryshinoz
    ryshinoz 2022/05/24
  • プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで

    2022年4月22日紙版発売 2022年4月19日電子版発売 鈴木僚太 著 B5変形判/424ページ 定価3,278円(体2,980円+税10%) ISBN 978-4-297-12747-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 TypeScriptは,JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。書では,根幹となるJavaScriptの仕様・機能とともに,TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。 静的型付き言語は世にいくつもありますが,Type

    プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
    ryshinoz
    ryshinoz 2022/04/08
  • 2021年4月15日 パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す | gihyo.jp

    Linux Daily Topics 2021年4月15日パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す 開発者の間で人気上昇中のRustだが、Linuxカーネル開発においても1年ほど前からメインラインでのRustサポート―新たにデバイスドライバを記述する言語としてRustを認めるよう求める声が強くなりつつある。3月にはカーネル開発者のMiguel Ojedaが最初の"Rust for Linux"となるパッチをlinux-next(次期カーネルへのマージを希望するパッチが集められたGitリポジトリ)にポストし、Stephen Rothwellによってマージされた。 kernel/git/next/linux-next.git - The linux-next integration testing tree Ojedaはさらに一歩踏み込んだステップとし

    2021年4月15日 パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す | gihyo.jp
    ryshinoz
    ryshinoz 2021/04/16
  • イラストでわかる DockerとKubernetes

    2020年12月5日紙版発売 2020年12月5日電子版発売 徳永航平 著 A5判/148ページ 定価2,508円(体2,280円+税10%) ISBN 978-4-297-11837-2 ただいま弊社在庫はございません。 →書の新版が発行されています。 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 Dockerkubernetesは,Webだけでなくさまざまなシステムで利用されています。仮想化とは違うので,エンジニアの皆さんもそのメリットをどう活かしていくのか悩ましいところです。書は,Dockerkubernetesのしくみを大胆にイラスト化しました。視覚的に理解することができるので,その技術質を理解しやすくなります。各所でコマンド入力を利用して。Dockerkubernetesの動作もしっかりわかるようになります。 こんな方におすすめ D

    イラストでわかる DockerとKubernetes
    ryshinoz
    ryshinoz 2020/12/02
  • 伝説のアーケードゲームを支えた技術

    2020年8月29日紙版発売 2020年8月29日電子版発売 松浦健一郎,司ゆき 著 四六判/400ページ 定価2,178円(体1,980円+税10%) ISBN 978-4-297-11554-8 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto このの概要 “匠の技術”で振り返るビデオゲーム年代記 1971-1989! 書「はじめに」より 書は,1970年代と1980年代のアーケードビデオゲームを支える,さまざまな技術を紹介します。ゲームの内容にも触れますが,ゲームデザインに関する議論や,ゲームの攻略情報については踏み込みません。アーケードゲームのハードウェアとソフトウェアに関して,仕組みが面白い技術ゲームの世界に進化をもたらした

    伝説のアーケードゲームを支えた技術
    ryshinoz
    ryshinoz 2020/07/31
  • WEB+DB PRESS連載記事「Rubyのウラガワ」を期間限定で無償公開(公開終了)

    新型コロナウイルスの影響で多くの学校が休校する状況を受け,『WEB+DB PRESS』で笹田耕一氏が執筆しており,現在も連載中の「Rubyのウラガワ」の第1回から第5回までの記事のPDFを,学習用に期間限定で無償公開します。 記事の概要やダウンロード先などは以下のとおりです。 記事名 Rubyのウラガワ ─⁠─ Rubyインタプリタに学ぶデータ構造とアルゴリズム 記事概要 連載では,Rubyインタプリタという,実際に多くの人が利用しているアプリケーションを題材にしてデータ構造とアルゴリズムを学ぼうという趣旨で,その実装を紹介します。単なる実装の紹介だけではなく,なぜそのような選択をしているか,その背景を紹介できればと思っています。(⁠Vol.110「連載のはじめに」より) 公開範囲 Vol.110(第1回⁠)⁠~Vol.114(第5回) 公開期限 2020年4月5日まで ※期限が過ぎまし

    WEB+DB PRESS連載記事「Rubyのウラガワ」を期間限定で無償公開(公開終了)
    ryshinoz
    ryshinoz 2020/03/05
  • [ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門 ——リアルタイムに動く画面を描く。プログラマー直伝の基本 | Gihyo Digital Publishing … 技術評論社の電子書籍

    第1章 [入門]グラフィックスプログラミング ……長く役立つ基礎の基礎 1.1 グラフィックスとグラフィックスプログラミングの基 ……CG,2D,3D,画素 コンピューターグラフィックス ……コンピューターによって描き出されたグラフィックス 2Dと3D ……グラフィックスの生成手順やデータ管理方法が違うだけ グラフィックスを構成するもの ……出力先は「画素」の集まり グラフィックスプログラミングの課題や目的 ……画素をどう塗りつぶすか 1.2 グラフィックスプログラミングの分類 ……活躍の舞台は広い 情報を伝えるためのグラフィックス 情報を正しく理解するためのグラフィックス エンターテイメントとしてのグラフィックス アートとしてのグラフィックス 1.3 グラフィックスプログラミングと技術 ……原則,プログラミング言語,API グラフィックスプログラミングの原則 グラフィックスプログラミン

    [ゲーム&モダン JavaScript文法で2倍楽しい]グラフィックスプログラミング入門 ——リアルタイムに動く画面を描く。プログラマー直伝の基本 | Gihyo Digital Publishing … 技術評論社の電子書籍
    ryshinoz
    ryshinoz 2020/01/29
  • 第110回 Invisible Indexesを使って気軽にチューニングを始めてみる | gihyo.jp

    使用されず役に立たないインデックスを定義するのは、SQLアンチパターンの1つ「インデックスショットガン」として知られています。使用されていないインデックスを定義するのは、ディスク容量を圧迫して、さらに更新コストも掛かるという良いこと無しな状態です。 ただ実際には、あなたが使用されていないインデックスを見つけたとしても、安易にドロップするのは非常に危険です。ドロップするのは時間がかかりませんが、インデックスを再構築するまでには時間がかかります。 もしも万が一そのインデックスが使用されているクエリが存在するとしたら、その時点から障害につながってしまう可能性があります。ドロップはしたくないけど、使わないようにして影響を確認したい……、今回はそんな時に便利なMySQL 8.0の新機能「Invisible Indexes」を使ってインデックスを外した時の影響を調べてみましょう。 検証環境 今回はDo

    第110回 Invisible Indexesを使って気軽にチューニングを始めてみる | gihyo.jp
    ryshinoz
    ryshinoz 2019/11/26
  • 運用でカバーするシステムから、想定の範囲内でまわせるシステムへ | gihyo.jp

    こちらが何を聞いても、一事が万事この調子です。その後、スケジュールに押し切られる形でシステムはリリースされ、現場は火の海となりました。 鳴りやまない監視アラーム…… 対処方法のわからない障害…… 使い道のわからない体裁だけ整った手順書の数々…… 右往左往する運用メンバーと構築メンバー…… 結局、運用が安定するまで半年以上の期間がかかりました。 その頃は「運用設計」という言葉も概念もまだ浸透しておらず、残業によるマンパワーで運用を安定稼働させるしか術はありませんでした。 (この時にこのがあったら、どれだけ指標になったかと今なら思います⁠)⁠。 運用を取り入れた設計構築へのチャレンジ この経験から、運用が大変な理由の諸悪の根源はシステムリリース時にあると考え始めました。いま思えば、初めに入った楽園のような現場は、目的のはっきりした手順書しかなく、トラブル時の連絡先も明確でした。“⁠楽園システ

    運用でカバーするシステムから、想定の範囲内でまわせるシステムへ | gihyo.jp
    ryshinoz
    ryshinoz 2019/09/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 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 現在広く普及している,x86系CPU搭載のコンピュータ。 書はOSの機能を実装しながら,その姿を明らかにしていきます。 第1部ではまず,ハードウェア,ソフトウェアの基概念や,CPUとOSの関係など,コンピュータの核となる理論を丁寧に解説します。 第2部では,x86系コンピュータに対象を絞り,レジスタの構成や,

    作って理解するOS x86系コンピュータを動かす理論と実装
    ryshinoz
    ryshinoz 2019/09/11
  • 酷い英語をもっとお願いします | gihyo.jp

    メーリングリストでもっとたくさん酷い英語を見かけたい。ネイティブじゃない人が英語が上手くなくてと謝る場面がもっと減ってくれたらとも思う。母語ではない第二、第三、あるいは第四の言語を、たとえ熟達していない状態でも、とにかく使ってコミュケーションを図ろうとするのは全く恥じるようなことなんかじゃない。もし、外国語だというのを理由に不安や気後れを感じて重要な貢献を果たさなかったり、FLOSSツールへ貢献する方法やその使い方について質問を控えたりしたのなら、そういうことが恥になるんだ。 訳注 FLOSSは Free/Libre and Open Source Software の略。フリーソフトウェアとオープンソースソフトウェアとをまとめた言葉 オープンソースの美点の一つは多国籍ということ。それも“⁠るつぼ⁠”と見なしうる物事のうち最も真に“⁠るつぼ⁠”らしい多国籍なんだ。数百万もの人たちが英語で運

    酷い英語をもっとお願いします | gihyo.jp
    ryshinoz
    ryshinoz 2019/07/14
  • 第1回 TCPの輻輳制御とは何か | gihyo.jp

    連載の背景と目的 近年、LTEなどの高速なネットワークの展開とスマートフォンや様々なクラウドサービスの普及により、インターネットを流れるデータ量は急激に増大しています。今後も、新たなスマートデバイスやIoTサービスの普及、5Gサービスの商用展開などに従い、私たちの生活においてインターネットへの接続は不可欠なものとなっていくと考えられます。そのインターネットにおいて広く利用されているプロトコルがTCP/IPです。TCP/IPは1980年頃にその基形が完成して以来、インターネットの普及とともに広まり、発展を続けてきました。 連載では、TCP/IPの中でも初学者にとって難しいプロトコルであるTCPに着目します。TCPは通信の信頼性を担保するための様々な機能を備えています。特に、ネットワークの状況に応じて効率的にデータを転送するための輻輳制御アルゴリズムは、今日にいたるまで様々な手法が提案、

    第1回 TCPの輻輳制御とは何か | gihyo.jp
    ryshinoz
    ryshinoz 2019/07/09