タグ

ブックマーク / atmarkit.itmedia.co.jp (46)

  • 「気に入らないコード」をレビューする際にRed Hatのエンジニアはどうしているのか

    「気に入らないコード」をレビューする際にRed Hatのエンジニアはどうしているのか:10個のヒントとは? プロジェクトメンテナーの立場にあるとき、提出されたコードが何らかの理由で気に入らない場合はどうしたらよいだろうか。Red Hatのソフトウェアエンジニアが、コードレビューを行うに当たって念頭に置くべき10のヒントを解説した。 Red Hatでソフトウェアエンジニアを務めるデビッド・ロイド氏は2019年7月8日(米国時間)、コードレビューを行うに当たって念頭に置くべき10のヒントを同社の開発者向け公式ブログで解説した。プロジェクトメンテナーの立場にあるとき、提出されたコードが何らかの理由で気に入らない場合に役立つ指針だ。コントリビューター側としても参考になる。 これらのヒントは、客観的で的を射たレビューを行い、プロジェクトとその参加者を前進させるという観点からまとめられている。 (1)

    「気に入らないコード」をレビューする際にRed Hatのエンジニアはどうしているのか
  • @IT:DNSの拡張仕様、SRVレコードとENUM(1/2)

    DNSの拡張仕様、SRVレコードとENUM:実用 BIND 9で作るDNSサーバ(14)(1/2 ページ) DNSの用途を拡大すべく、いくつかの拡張仕様の標準化が議論されている。今回は、SRVレコードとENUMという2つの技術について解説する。(編集局)

    @IT:DNSの拡張仕様、SRVレコードとENUM(1/2)
  • Windowsネットワーク 第16...@IT:連載 基礎から学ぶ

    第16回 信頼性のある通信を実現するTCPプロトコル(3):基礎から学ぶWindowsネットワーク(3/4 ページ) TCP技術を習得するうえで非常に重要な項目として、「TCPの状態遷移図」というものがある。これはTCPプロトコルの規格書であるRFC793(STD0007)に掲載されている、TCPプロトコルの内部ステートを表現した図である。すでに解説したように、TCPでは接続ごとに、それぞれシーケンス番号やACK番号、オープン/クローズなどの処理状態といった「ステート(状態)」を持っている。このようなプロトコルを「ステートフルな(stateful、状態を持つ)」プロトコルという。TCP接続のオープンやクローズ、確立などに伴う、状態の変化を表現した図を「状態遷移図」という。 以下は、RFC793に記載されているTCPの状態遷移図を簡略化したものである(完全な状態遷移図についてはRFC793を

    Windowsネットワーク 第16...@IT:連載 基礎から学ぶ
  • Cookie Monster襲来! 戦え、星野君 − @IT

    星野君の趣味の1つであるFlashゲーム制作。ところが自作ゲームに欠陥があり、全面的な修正が必要なことが発覚した。月曜日、思いっきりブルーな状態で出社してくると、Web管理システムに新たなトラブル発生? 町田さん 「ねえ、星野君」 星野君 「あ、町田さん。どうかしたんですか?」 町田さん 「Web管理ツールって、何かいじった?」 星野君 「え……、特に何もしてないですけど……。何か変ですか?」 町田さん 「まあ、いいからちょっと来てよ」 ちょっと不機嫌そうな町田さん。星野君は、何か怒らせるようなことでもしでかしたのかとドキドキしながらついて行った。 町田さん 「これなんだけどさぁ。昨日まで使えてたのに、なんかログインできなくなっちゃったんだよね……。ほらっ」 星野君 「え、ちょっと貸してもらっていいですか?」 町田さんの使っていたWebブラウザを借りて試してみるが、確かにログインできない。

    Cookie Monster襲来! 戦え、星野君 − @IT
    ttakezawa
    ttakezawa 2014/03/08
    Cross-Domain Cookie Injection
  • 増えるログ、多様化するログをどう効率的に運用するか

    増えるログ、多様化するログをどう効率的に運用するか:今さら聞けないfluentd~クラウド時代のログ管理入門(1)(1/2 ページ) 仮想化やクラウド化、モバイル化の進展に伴い、管理すべきログが多様化・肥大化しています。そんな中でも効率よく、意味のあるログ管理を実現するツールとして注目されている「fluentd」を、これから始めたい方のために一から解説します。 システムを安定して効率良く運用していくために、ログ管理は欠かせない要素の1つです。仮想化やクラウド化、モバイル化の進展につれてシステムはますます大規模化し、それに伴い管理すべきログが多様化・肥大化する傾向にあります。 fluentdはこういった中でも、効率よく、意味のあるログ管理を実現するために非常に有用なツールです。連載では、fluentdの基と具体的な活用方法を紹介します。 ログ管理の現状と課題 環境の仮想化・クラウド化、さ

    増えるログ、多様化するログをどう効率的に運用するか
  • Facebook、Key-Valueストア「RocksDB」をオープンソース化

    Facebook、Key-Valueストア「RocksDB」をオープンソース化:C++ライブラリとして構築 米Facebookは、同社内で高速ストレージ用に開発・使用してきた組み込み式の永続型Key-Valueストア「RocksDB」をオープンソースで公開したと発表した。 米Facebookは2013年11月22日、同社内で高速ストレージ用に開発・使用してきた組み込み式の永続型Key-Valueストア「RocksDB」をオープンソースで公開したと発表した。 Facebookによると、これまでのアプリケーションでは、ネットワークを介したリモートプロシージャコールによって各アプリケーションが管理しているデータにアクセスするのが一般的だった。しかし12億人のユーザーごとにリアルタイムで動的なページを生成しているFacebookのようなアプリケーションの場合、それでは時間が掛かり過ぎるという難点が

    Facebook、Key-Valueストア「RocksDB」をオープンソース化
  • daemontoolsによるロギングとプロセス監視(1/3)

    syslogを使ったロギングにはいくつかの欠点がある。そこで、ロギングやプロセス監視を行ってくれるdaemontoolsを導入しよう。これにより、システムをより強力なものにできる。 ログは、サーバの状態やプロセスの稼働状況を知るうえで欠かせない情報源です。管理者がコンソールに向かっていない間に発生した障害も、ログを頼りに復旧したり原因を探って再発を防ぐ手段を講じることができます。新たにインストールしたツールがうまく動作しない場合にも、ログを見ればどこの手順で間違ったのか、どこがうまくいっていないかを知ることができます。 Apacheをはじめとする最近のツールは、標準のコンフィグレーションでロギングが有効になっています。「ApacheによるWebサーバ構築」第14回 ログローテーションとAnalogの導入では、Apacheのログを分析ツール「Analog」を使用してグラフ化する方法が紹介され

    daemontoolsによるロギングとプロセス監視(1/3)
  • スケーラブルで関数型でオブジェクト指向なScala入門

    Scalaの特徴を紹介し、基構文や関数、 クラスなど、Scalaの基的な機能について 解説する入門連載 EclipseでScalaプログラミングを始めるための基礎 スケーラブルで関数型でオブジェクト指向なScala入門(1) 概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します

  • OSに付属するシェルスクリプトを読んで技術を盗む

    今回から、OS付属のシェルスクリプトを読んでいく。多くの人が使っているスクリプトを読むことで、シェルスクリプトならではの書き方、テクニックを身に付けることができるはずだ(編集部) 他人の技術を盗まなければ進歩はない 外国語をマスターするにも、楽器の演奏を覚えるにも、上達するにはただ練習するだけではダメだ。素晴らしいお手を見つけて、よく観察し、何度もまねることが必要だ。お手から技術を「盗む」ことが大切だということだ。 プログラミングでも同じことが言えると思う。文法を覚えて、ただひたすらプログラムを書くだけではなかなか上手にならない。スキルのある人のコードを見て、技術を盗もう。開発チームのメンバーそれぞれが書いたコードを持ち寄って、お互いに批評し合う「コードレビュー」に参加している、あるいはリーダーとして主催しているという人は多いと思う。このコードレビューも、人から技術を盗む良い機会と言え

    OSに付属するシェルスクリプトを読んで技術を盗む
  • 5分で絶対に分かるOpenFlow

    0分 - ソフトウェアでネットワークをプログラミング! 今までコンピュータのネットワークは、どちらかといえば“静的な”存在でした。組織変更や新しいサービスの投入に合わせてネットワーク構成の変更が必要な場合には、ネットワーク管理者が関連する機器それぞれの設定変更をマニュアル操作で行っていました。 しかし、サーバ仮想化やクラウドの登場により、現在はこうした静的なネットワークの在り方が根から見直されてきています。 例えば、サーバ仮想化のおかげで、何台ものサーバが突如としてネットワーク上に現れたり、「ライブマイグレーション」によって、突然サーバがネットワークのある部分から別の部分へ移動したりといったことが起きるようになりました。ネットワークも、これらに適応した柔軟かつ迅速な構成変更が求められるようになっています。 あるいは、クラウドの登場によって、1つのデータセンター内で複数の顧客の通信をそれぞ

    5分で絶対に分かるOpenFlow
  • Git管理の神ツール「Gitolite」なら、ここまでできる!

    「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め

    Git管理の神ツール「Gitolite」なら、ここまでできる!
  • Androidアプリで高速描画チューニングをするコツ

    さまざまなGoogleのサービスを使いこなすコツをグーグルの担当者に聞くインタビュー特集。第1回は、日Androidの会のメンバー(嶋 是一氏と中村 秀樹氏と安生 真氏(株式会社ケイブ))3人が、Androidアプリケーション開発のコツを聞くため、グーグル法人のオフィスを訪ね、ゲームアプリケーションを通して効率よく描画するためのノウハウについて聞いた。 その結果、T-Mobile G1(以下、G1)を用いた場合、2D描画であってもOpenGL ES(※1)を用いたAPIを利用するのが良いことが判明した。これは、驚くべき事実だ。このことは、機種に特化したチューニングを行うことで、よりデバイスの性能をフル活用したアプリケーション開発ができる可能性を示したといえる。 「Eat your own dog food」というGoogler文化 Androidについて話したのは、グーグル デベロッ

    Androidアプリで高速描画チューニングをするコツ
  • もう1つの、DBのかたち、分散Key-Valueストアとは

    もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle MapGoogle Earth、Google Analytics、Goog

    もう1つの、DBのかたち、分散Key-Valueストアとは
  • 東大とMS、リアルタイムでツッコミができるプレゼンソフト開発

    東京大学の「マイクロソフト先進教育環境寄附研究部門」(MEET)は12月5日、聴衆がプレゼンテーションに参加できるソフトウェア「MEET Borderless Canvas」を開発し、デモンストレーションを行った。 MEET Borderless Cnvasは、聴衆がプレゼンテーションを聞くだけでなく、参加しリアルタイムに議論を展開できるシステム。発表者のスライドの気になった部分に、ペンタブレットPCで書き込みができる。ユーザーは、MEET Borderless Canvasのサーバにアクセスし、資料を共有する。ソフトウェアは、2009年3月4日にMEETのWebサイトで無償配布する予定。また、マイクロソフトが運営する開発者向けコミュニティ、CodePlexのWebサイトでソースコードを公開し、さまざまな教育機関で活用できるようにする予定だ。 MEET Borderless Cnvasを開

    東大とMS、リアルタイムでツッコミができるプレゼンソフト開発
    ttakezawa
    ttakezawa 2008/12/06
  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
  • コードリーディングを始めよう ― @IT

    優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) Ruby on RailsRails)には、scaffoldという大変便利な機能が付いています。scaffoldを使えば、アプリケーションの実行に必要なデータベースのスキーマの準備から、データベースにアクセスするコード、画面周りのコードまで、一通り自動生成してくれます。 そのおかげもあって、多くの開発者がscaffoldを使ったRailsのアプリケーションを試しに作ったことでしょう。ただし、scaffoldはあくまで土台であって、その後は、生成されたコードを拡張していく必要があります。 連載ではコードリーディングという形で、オープンソースとして公開されているRailsアプリケーションのソースコードを題材に使って、その動きや機能がどのように実装

    コードリーディングを始めよう ― @IT
  • 連載記事 「習うより慣れろ! iptablesテンプレート集」

    ステートフルパケットフィルタを使ったサービスの公開 連載:習うより慣れろ! iptablesテンプレート集(1) 初心者にとって、iptablesは難しい。そこで、学習の第1歩としてテンプレートを自分の環境に適応させることから始めよう

  • memcached+PostgreSQLで実現するハイパフォーマンスWebアプリケーション構築(1/4) ― @IT

    稿の前提環境 memcached 1.2.5 データベース:PostgreSQL 8.3.1 OS:CentOS 5(Linux kernel 2.6 ) シェル:bash CPU:Intel Core2Quad 9660 2.4GHz RAM:PC2-6400 8GBytes memcachedは、Danga Interactiveによって開発されたオープンソースのメモリキャッシュサーバです。 メモリ上にデータを保存するのでmemcachedを終了するとデータが失われますが、(OracleMySQLといった)RDBMSと比較するとけた違いの高速レスポンス性能を有し、数千万件という大量のデータを扱ってもほとんど性能が劣化しないという特徴があります。 機能は限界まで切り詰められ、基的にはキーとデータの組(以下、itemと呼びます)の保存と検索と削除しかできません。 にもかかわらず、me

    memcached+PostgreSQLで実現するハイパフォーマンスWebアプリケーション構築(1/4) ― @IT
  • Sambaサーバ構築、5つのべからず:2008年版(1/2)

    - 若葉マーク管理者に捧げる - LinuxやUNIXをWindowsのファイルサーバ/プリントサーバとしてしまうことができる「Samba」は、手軽にファイル共有環境を構築することができ、サーバ管理入門にもぴったりです。インターネット上の関連情報も豊富ですが、しっかり出所を確かめないと誤った設定を招く恐れがあります。 オープンソース・ソリューション・テクノロジ株式会社 代表取締役 チーフアーキテクト 小田切 耕司 2008/4/22 Windowsとのファイル交換を手軽に実現するSamba Sambaは、LinuxやUNIXをWindowsのファイルサーバ/プリントサーバとしてしまうことができるオープンソースソフトウェア(OSS)です。Sambaの導入によって、LinuxWindowsが混在する環境で、手軽に情報共有を行えるようになります。 Sambaは、大きく以下の4つの機能を提供しま

  • 「解読不能は数学的に証明済み」、RSAを超える新暗号方式とは ― @IT

    2008/04/11 すべての暗号はいずれ破られる。2000年前のシーザー暗号の時代から高度な暗号技術が一般化したデジタル通信の現代に至るまで、それが暗号通信の歴史が証明し続けた事実であると同時に、もっとも人口に膾炙したクリシェでもあった。例えば、鳴り物入りでリリースされたDVDのコンテンツ暗号技術CSS」(Content Scramble System)が、リリースからわずか数年で10代のノルウェー人ハッカーに破られたことは記憶に新しい。 【追記】(2008年4月15日) この記事は取材に基づいて執筆したものですが、一部専門家らから「CAB方式暗号は解読不能」というのは誇大表現ではないかとの疑義が呈されています。アルゴリズムの公開や第三者による検証がない現在、この記事に登場するCAB方式が発案者・実装者の主張通り画期的な暗号方式で、当に解読が不可能であるかどうか分かりません。現在、専

    ttakezawa
    ttakezawa 2008/04/12
    授業中に言ってたのはこれのことなのね、なるほど