タグ

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

  • 第41回 2017年12月~ROBOT:19年前から潜んでいたTLS実装の脆弱性 | gihyo.jp

    2017年12月は、なかなか豪快なTLS脆弱性が公開されました。その名もReturn Of Bleichenbacher's Oracle Threat(略称:ROBOT)と呼びます。 19年前に、暗号研究者のDaniel Bleichenbacher氏により考案された攻撃を防ぐための手法は、TLS 1.2のRFCにも反映されているのですが、この手法を適切に実装していないために、Bleichenbacher攻撃の成立を許してしまいます。 ROBOT攻撃とは何なのか?~「RSA暗号による鍵交換実装」の脆弱性を突く ROBOT攻撃は、質的には鍵交換時の処理の不具合により、適応型選択暗号文攻撃に対して脆弱になってしまっているTLSサーバを攻略することにほかなりません。 そしてこの脆弱性は、RSA暗号による鍵交換を行う際に利用可能とされています。 この攻撃は、理論と実装の両面から情報が公開されて

    第41回 2017年12月~ROBOT:19年前から潜んでいたTLS実装の脆弱性 | gihyo.jp
  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」をサイトに掲載します。第2章以降については、誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
  • Linus Torvaldsが語るカーネル開発とメンテナー、AIコーディング、そしてオープンであること ―Open Source Summit Japan 2023基調講演より | gihyo.jp

    Linus Torvaldsが語るカーネル開発とメンテナー⁠⁠、AIコーディング⁠⁠、そしてオープンであること ―Open Source Summit Japan 2023基調講演より 「ぼくはあんまりパブリックな場で喋るのは好きじゃない。でもDirkが用意した質問に、ぼくがこの場(Linux Foudation主催のサミット)で答えるスタイルなら、リラックスしながらいろいろなことを議論できるし、聞いている人たちにも楽しんでもらえると思っている。ちなみにDirkの質問内容は事前に聞かされていないよ」―12月5日、東京・有明で開催された「Open Source Summit Japan」(⁠主催: Linux Foundation、12/5~12/6)のキーノートセッションには、久しぶりに来日した“⁠Linux Creator⁠”ことLinus Torvalds氏が登壇するとあって、早朝にも

    Linus Torvaldsが語るカーネル開発とメンテナー、AIコーディング、そしてオープンであること ―Open Source Summit Japan 2023基調講演より | gihyo.jp
  • 追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp

    Bram Moolenaar the Creator of Vim 2023年8月5日、悲しい知らせが入ってきました。長年、多くのエンジニアに愛され今もなお使われ続けているテキストエディタVimの作者Bram Moolenaar氏が同月3日に亡くなったという知らせです。ショックでしばらく信じることができませんでした。 筆者は長年Vimを使い、Vimに多くのコントリビュートを行ったり、その都度Bram氏と対話したり議論したりしてきました。そのBram氏が突然、この世界からいなくなってしまったことをしばらく受け入れられなかったからです。 記事では追悼の意味を込め、Bram氏がどのようにVimの開発を始め、Vimがどのように広まっていったのか、また長年Vimを追い続けてきた筆者から見たBram氏の人物像を筆者の思いを交えて解説していきます。 Vim歴史 Bram氏についてお話しする前に、まず

    追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp
  • Goのカバレッジツールを使いこなす | gihyo.jp

    はじめに テストでコード品質を担保していくことは、継続的インテグレーションの観点などで必要不可欠です。そして、十分なテストコードが書かれているかどうかの指標として、よく使われるものといえばテストカバレッジがあります。 Goではgo testコマンドと、go tool coverコマンドがカバレッジ計測の機能を担っています。今回は、これらのツールをより深く使い込んでいくために、既存機能の一歩進んだ使い方や最新機能について紹介します。 なお、記事で紹介しているコマンドなどはmacOSで実行した場合の例となります。 オリジナルのカバレッジ統計データを集計する まずは既存のカバレッジの統計データを取得する方法を振り返り、より詳細な情報を集計するアプローチについて紹介します。 Goのカバレッジツールで出力できる統計データ 既存のgo testコマンドおよびgo tool coverコマンドで出力で

    Goのカバレッジツールを使いこなす | gihyo.jp
  • Linux 6.1の注目機能「MGLRU」―メモリ管理に取り入れられたエイジングシステム | gihyo.jp

    Linus Torvaldsは12月11日(米国時間⁠)⁠、前週の告知どおりに「Linux 6.1」の正式リリースをアナウンスした。 Linux 6.1 -Linus Torvalds Linux 6.1はメインライン開発ではじめてRustを採用したことが大きな話題となったが、そのほかにもユーザ空間におけるメモリサニタイザーツールに似た動的エラー検出の「KMSAN」やB-treeベースのデータ構造「Maple Tree⁠」⁠、AMDの新しいPMFドライバのサポートなど多くのアップデートが行われている。Googleの開発者がメインラインへのマージを提案してきた「MGLRU(Multi-generational LRU⁠)⁠」もそのひとつで、古参のカーネル開発者であるAndrew MortonもMGLRUのメインライン化をバックアップしてきた。 Linuxカーネルではメモリ管理に「LRU(Le

    Linux 6.1の注目機能「MGLRU」―メモリ管理に取り入れられたエイジングシステム | gihyo.jp
  • CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp

    この記事は、連載「つきなみGo」の2回目の記事です。 CUEはデータの表現やスキーマ定義やバリデーションなどを行うことができる言語です。元々Google社内で、Borg(現在のKubernetesの前身となったGoogleの社内システム)の設定に使用するために開発された言語が前身となっており、現在はオープンソースとして開発が進んでいる言語です[1]。 CUEは現在まだv0.4.3とマイナーバージョンではありますが、すでにistioにおいてProtobufからOpenAPIを生成する部分で使用されていたり、CI/CDの構築に使用するDaggerというツールの設定ファイルとして採用されています。 弊社(メルカリ)でもCUEをKubernetesなどを含むインフラの抽象化に使用しています(紹介記事①、紹介記事②⁠)⁠。 また、CUEはGoと親和性が高く、GoからCUEへの変換や、CUEの定義をG

    CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp
    lufiabb
    lufiabb 2022/10/16
  • 第93回 xorrisoとUEFIブート再び[その3] | gihyo.jp

    前回までにxorrisoのさまざまな機能を紹介してきました。紹介したのはxorrisoの機能のごく一部にすぎないものの、xorrisoの実力とISO9660ファイルシステムの持つ可能性を感じていただけたと思います。 xorrisoはこのように強力なソフトウェアなものの、機能が豊富すぎて(その結果ドキュメントも長大で⁠)⁠、初心者が手を出すにはやや敷居が高くなっています。 また、オプションの指定方法や意味等がLinuxでCD/DVDを作成する際のデファクト・スタンダートと言えるmkisofsやcdrecordと大きく異なってることも、xorrisoが敬遠される一因でしょう。 作者もそのあたりは気になったようで、xorrisoにはmkisofs/cdrecordとほぼ同じオプションが使えるエミュレーション機能が用意されています。今回はこのエミューレション機能と筆者がxorrisoを使うきっかけ

    第93回 xorrisoとUEFIブート再び[その3] | gihyo.jp
  • 第79回 Plamo LinuxのGPT/UEFI対応[その3] | gihyo.jp

    前回はUEFIがGPT形式のHDDからOSを起動する仕組みを解説し、Plamo Linux 6.0をGPT形式のHDDにインストールする手順を紹介しました。前回は省略したものの、UEFI環境にインストールするにはもう一つ越えなければならない壁があります。それは「UEFIにインストールするにはUEFIから起動しなければいけない」という条件です。 従来のSystem BIOSではHDDの起動順序等の設定はBIOSのメニュー画面からしか操作できなかったのに対し、UEFIではさまざまな設定をOSから操作する機能が提供され、起動順序等をより柔軟に設定できるようになりました。 一方、この機能を使うにはOSがUEFIモードで起動している必要があります。たとえばLinuxの場合、UEFIの設定はefivarfsという専用のファイルシステム経由で利用するようになっており、このファイルシステムはカーネルがUE

    第79回 Plamo LinuxのGPT/UEFI対応[その3] | gihyo.jp
  • 第78回 Plamo LinuxのGPT/UEFI対応[その2] | gihyo.jp

    前回、最近のマザーボードが採用しているUEFIと3TB以上のHDDを使う際に必要となるGPTの概要を説明し、UEFIではOSを起動するためのブートローダの扱いも従来のSystem BIOSとは異なっていることを紹介しました。 今回はUEFIがGPT形式のHDDからOSを起動する手順についてより具体的に説明し、Plamo Linuxがどういう形でUEFIに対応したかを紹介してみます。 ESPとブートローダ 前回、GPT形式のHDDでは、伝統的なMBR形式とは異なり、OSを起動するためのブートローダ用に専用のパーティションが用意されていることを紹介しました。このパーティションはEFIシステムパーティション(ESP)と呼ばれ、専用のパーティションIDが割り当てられ、FAT32形式でフォーマットするように規定されています。 たとえば、Windows8がインストールされたGPT HDDをLinux

    第78回 Plamo LinuxのGPT/UEFI対応[その2] | gihyo.jp
  • 第77回 Plamo LinuxのGPT/UEFI対応[その1] | gihyo.jp

    前回は番外編として、メンテナの松木さんにオープンソースカンファレンス(OSC)2015 Tokyo/Fallに出展した模様をレポートしていただきましたが、お楽しみいただけたでしょうか? 「Plamo Linuxメンテナグループ」は、次回2016年2月26-27日に開催されるOSC 2016 Tokyo/Springにも出展する予定にしているので、Plamo Linux連載に興味をお持ちの方は、ぜひご来訪ください。 さて、前回までに紹介してきたように、Plamo-6.0はOSCでの配布に合わせて急遽とりまとめたバージョンなものの、かなり大きな変更も取り込んでおり、その代表例がGPT/UEFIへの対応です。そこで今回からPlamo LinuxにおけるGPT/UEFI対応について取りあげることにします。 GPT/UEFIとは WindowsMacintoshのユーザには「今さら何を」と言わ

    第77回 Plamo LinuxのGPT/UEFI対応[その1] | 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
  • #22 Gitメンテナ 濱野 純 | gihyo.jp

    今回のゲストは、分散バージョン管理システムGitのメンテナで『入門Git』(⁠注1)の著者、濱野純さんです。Linuxカーネルの開発者、Linus Torvaldsさんから引き継いでGitのメンテナになった経緯から、対談スタートです。 (撮影:武田康宏) Gitに関わった経緯 弾:Gitに関わったきっかけは? 濱:2005年の4月にLinuxカーネルのバージョン管理システムとして使われていたBitKeeperが使えなくなる[2]からということで、Linus君がいろいろありものを探したんだけど、使えるものがなくて、誰かがいいのを作ってくれるまでのつなぎというつもりで、とりあえず自分でもコードを書いた、というアナウンスをしました。それをカーネルメーリングリスト(ML)で見ていたんですが、たまたまボクの業がプロジェクトプロジェクトの合間だったんです。なんかおもしろそうなこと始まってるじゃん、

    #22 Gitメンテナ 濱野 純 | gihyo.jp
    lufiabb
    lufiabb 2020/07/30
  • 第2回 JavaScriptの呪いから解き放たれて | gihyo.jp

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

    第2回 JavaScriptの呪いから解き放たれて | gihyo.jp
  • 第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp

    「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニア仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「⁠常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス

    第2回 「締め切りは絶対に守るもの」と考えると世界が変わる | gihyo.jp
    lufiabb
    lufiabb 2018/10/07
  • 1