タグ

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

  • xzパッケージに仕込まれた3年がかりのバックドア、スケール直前に見つけたのはMicrosoftの開発者 | gihyo.jp

    Linux Daily Topics xzパッケージに仕込まれた3年がかりのバックドア⁠⁠、スケール直前に見つけたのはMicrosoftの開発者 “アップストリームのxzリポジトリとxz tarballsはバックドア化されている(The upstream xz repository and the xz tarballs have been backdoored)⁠”―2024年3月29日、Microsoftに所属する開発者 Andres Freundが「Openwall.com」メーリングリストに投稿したポストは世界中のオープンソース関係者に衝撃を与えた。 backdoor in upstream xz/liblzma leading to ssh server compromise -oss-security 主要なLinuxディストリビューションにはほぼ含まれているデータ圧縮プログラ

    xzパッケージに仕込まれた3年がかりのバックドア、スケール直前に見つけたのはMicrosoftの開発者 | 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
  • #22 Gitメンテナ 濱野 純 | gihyo.jp

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

    #22 Gitメンテナ 濱野 純 | gihyo.jp
  • [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

    このの概要 ITシステムやソフトウェアの開発,運用において,その基盤となるOSやハードウェアのしくみや動作を,具体的にイメージすることができるでしょうか。書では,サーバ,クラウドからスマートフォン,IoT機器まで幅広く利用されているLinux OSを対象に,プロセススケジューラ,メモリ管理,記憶階層,ファイルシステム,ストレージデバイスなど,OSとハードウェアに関するしくみがどのように動くのか,実験とその結果を示すグラフを用いてわかりやすく解説します。 こんな方におすすめ Linuxの動作や仕組みに興味がある方 OSやハードウェアのしくみを手軽に学びたいと考えている方 書のサンプル 書の一部ページを,PDFで確認することができます。 はじめに 書に寄せて 索引 書に寄せて(小崎資広) はじめに 第1章 コンピュータシステムの概要 第2章 ユーザモードで実現する機能 システムコー

    [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

    2017年7月5日紙版発売 2017年7月5日電子版発売 増田亨 著 A5判/320ページ 定価3,234円(体2,940円+税10%) ISBN 978-4-7741-9087-7 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「ソースがごちゃごちゃしていて,どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために,あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが,来はありえない場所にまで影響して,大幅なやり直しになってしまった」といったトラブルが起こるのは,ソフトウェアの設計に問題があるから。日最大級となる60万件以上の求人情

    現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
  • ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp

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

    ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp
  • 第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp

    あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー

    第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp
  • 機械学習 はじめよう 記事一覧 | gihyo.jp

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

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

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

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
  • 「非同期プログラミングの改善」のエッセンス | gihyo.jp

    サーバサイドJavaScript「Node.js」に関するイベント「東京Node学園#1」にて、小林浩一氏が発表した資料です。当日の様子はUSTREAMにて公開されています[1]⁠。 この発表では、コールバックスタイルで非同期プログラミングを行うと無名関数のネストが深くなってしまう問題に対する解決アプローチを提示しています。無名関数をやめてそれぞれに関数定義をしたとしてもgoto文のようにあちこちに処理が飛ぶことになり、見通しの悪さに対する根的解決策にはなりません。そこで、フロー制御モジュールを用意して、固有処理を行う無名関数と「次」の無名関数を呼び出すコールバックとに分離し、複数の無名関数をチェインのように次々に呼び出すようにする、という案を考え出しました。エラーハンドリングを含めたフロー制御モジュールコードはリスト1のようになり、たったの13行に収まります。 現在、小林氏を含む有志に

    「非同期プログラミングの改善」のエッセンス | gihyo.jp
  • 第1回 NoSQL、そしてCassandraとは | gihyo.jp

    NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach

    第1回 NoSQL、そしてCassandraとは | gihyo.jp
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 第39回 RVM(Ruby Version Manager)による環境構築 | gihyo.jp

    はじめに Rubyの普及にともない、Rubyの生みの親である、まつもとゆきひろ氏がC言語で作成したRubyインタプリタ(CRuby)以外にも、JVMで実行されるJRuby、Objective-Cで実装されMacアプリケーションのプログラミングのできるMacRuby、CRubyベースにメモリ管理に改良を加えているRuby Enterprise Edition等、プログラミング言語Rubyを実行できる環境が増えてきました。またCRubyに関しても、現在最も使われているバージョンである1.8系以外にも、最新の安定版である1.9系も普及期にはいってきました。 今回は、複数のRuby実行環境の管理を簡単にするRVM(Ruby Version Magager)を紹介します。 RVMとは RVMはUNIX系の環境で、複数のRuby処理系をインストール、共存させることができるツールです。 ひとつの環境に対

    第39回 RVM(Ruby Version Manager)による環境構築 | gihyo.jp
  • 第1回 memcached 1.4、基本の基本 | gihyo.jp

    今回は、1.4になってアップデートされた新機能を中心に紹介します。 memcachedとは? memcachedとは、主にデータベースへの負荷を下げ、かつWebアプリケーションのスケーラビリティをコストパフォーマンス良く向上させる高性能な分散キャッシュサーバです。memcachedの基や概要に関しては、以前ミクシィ運用グループの長野と執筆した「memcachedを知り尽くす」をご覧ください。 memcached 1.4の特徴 1.4、5つの特徴 memcached 1.4の大きなニュースの1つはバイナリプロトコルの正式導入です。また、他にも色々と嬉しい機能や改修が施されています。詳しくは1.4のリリースノートに記述されていますが、要約すると以下の5点が上げられます。 バイナリプロトコルの正式導入 パフォーマンス向上 統計システムの強化 報告されたバグの修正 テストの強化 入手先 memc

    第1回 memcached 1.4、基本の基本 | gihyo.jp
  • "Wakame"で始めるクラウドコントロール 記事一覧 | gihyo.jp

    第4回クラウド上でデータベースをスケールアウトさせる方法と実例 山崎泰宏,藤原勝弘,吉田将士 2009-07-01

    "Wakame"で始めるクラウドコントロール 記事一覧 | gihyo.jp
  • 第3回 Kaiの詳細(1) ─Kaiの要であるクラスタを極める | gihyo.jp

    前回、Kai のインストールと基的な使い方を説明しましたので、今回は、Kai最大の特徴であるクラスタついて詳しく説明します。 なお、前回同様、連載が対象とするKaiのバージョンは0.4、ErlangのバージョンはR13Bです。 データの保存・取得とリクエストの転送 memcachedでは、クライアントがデータの場所を決定します。このため、クライアントは、クラスタを構成するすべてのmemcachedノードを把握していなければなりませんでした。 一方Kaiでは、ノードがデータの場所を決定し、クライアントからのリクエストを適切なノードに転送します。クライアントは、すべてのノードを把握する必要がありませんし、L4ロードバランサで機械的に負荷分散することもできます。また、クラスタへノードが追加されても、クライアントのノード一覧を修正する必要がありません。 では、前回、構築した3ノード構成のクラス

    第3回 Kaiの詳細(1) ─Kaiの要であるクラスタを極める | gihyo.jp
    kazutanaka
    kazutanaka 2009/06/17
    quorumはamazonのdynamoと同じらしい。
  • そろそろLDAPにしてみないか?:第7回 ApacheのBasic認証をLDAPで|gihyo.jp … 技術評論社

    Basic認証の危険性とLDAP化の概要 多くの読者の皆さんがご存じのように、パスワード認証を要求するWebページをApache上で作成するためには、通常は.htaccessと.htpasswdなどを用いたBasic認証を使用します。 たとえば、http://www.example.com/secret/以下にてパスワード認証を実現するには次のような設定を行うのが一般的でしょう。 リスト1 .htaccessやhttpd.confの設定(部分) AuthUserFile /home/passwd/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user リスト2 /home/passwd/.htpasswdの例 tanaka:vDVcobip.AMqE suzuki:

    そろそろLDAPにしてみないか?:第7回 ApacheのBasic認証をLDAPで|gihyo.jp … 技術評論社
  • 第2回 Kai の基礎 ─Kaiのインストールと基本的な使い方 | gihyo.jp

    また、Erlangの公式サイトではWindows向けにインストーラ付きのバイナリも提供されています。 ここでは、公式サイトからソースコードをダウンロードし、CentOS 5.3上でコンパイルする方法を説明します。 なお、執筆時のErlangの最新バージョンはR13Bであるため、連載ではR13Bを用いて説明します。しかし、Kaiの推奨バージョンはR12B以上ですので、ご利用のプラットフォームが提供するErlangパッケージのバージョンがR12B以上であれば、そちらをご利用されても差し支えありません。 もし、パッケージからErlang をインストールするのであれば、インストールの説明をスキップし、Erlang VMの起動まで進んでください。 Erlangのソースコードは、Erlangの公式サイトから取得できます。 ダウンロードページからR13Bのソースコード(53.1 MByte)をダウンロ

    第2回 Kai の基礎 ─Kaiのインストールと基本的な使い方 | gihyo.jp
  • 第1回  Kaiとは? ─Kaiのコンセプトとメカニズム | gihyo.jp

    今回から数回にわたり、Kaiという分散Key/Valueストアについて解説させていただきます。 まず、第1回では井上がKaiのコンセプトをご紹介します。次回以降は、Kai開発者の一人である幾田さんがKaiの利用方法について解説します。最終回では、gooホームでKaiを運用している橋さんから、Kaiの運用方法について紹介していただく予定です。なお、連載が対象とするKaiのバージョンは0.4です。 Kaiとは Kaiとは、分散型のKey/Valueストアです。Amazon.comが2007年に発表したDynamoというシステムに触発されて、そのオープンソース版として開発されています。Kaiをバックエンドに据えてWebサイトを構築することで、高いスケーラビリティやアベイラビリティを実現できます。2009年5月には、gooホームのバックエンドに導入され、運用実績も高まってきました。 Kaiは多

    第1回  Kaiとは? ─Kaiのコンセプトとメカニズム | gihyo.jp
  • ゼロから学ぶOAuth 記事一覧 | gihyo.jp

    第3回OAuth Consumerの実装(応用 : smart.fm APIおよびGoogle Data APIsの利用) 真武信和 2009-03-24

    ゼロから学ぶOAuth 記事一覧 | gihyo.jp