ブックマーク / codezine.jp (19)

  • コーディングもテストも持ち回りな新プログラミング手法「モブプログラミング」とは何か――本場 Hunter社に学ぶ

    効果を特徴づけるキーコンセプトは9つ モブプログラミングのコンセプトについて、ルーシャン氏は9つのトピックを挙げて解説する。 モブプログラミング9つのコンセプト まず、モブプログラミングは、「コードを書くこと、プロダクツをつくることだけではない」とする。グループで議論しながら共同作業を行うことで、メンバーの教育やトレーニングにもなるし、チームワークを育てることになるからだ。ルーシャン氏は優しさ(Kindness)、熟慮(Consideration)、尊重(Respect)、またお互いの弱点を知り、信頼し、感謝する心が生まれると、メンタル面でのメリットを主張する。 モブプログラミングはメンバーとの協調、お互いの尊重が育まれる 開発過程がコードレビューにもなっているため「クリーンコード」にもつながる。ユニットのチェックやテストもパイプラインで流れるので効率もよい。もちろん「バグなし(Zarro

    コーディングもテストも持ち回りな新プログラミング手法「モブプログラミング」とは何か――本場 Hunter社に学ぶ
    oooooooo
    oooooooo 2018/02/15
    HRT 的な"優しさ(Kindness)、熟慮(Consideration)、尊重(Respect)"
  • 無料で証明書を発行し、HTTPSの普及を図るプロジェクト「Let's Encrypt」の最初の証明書が有効に

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    無料で証明書を発行し、HTTPSの普及を図るプロジェクト「Let's Encrypt」の最初の証明書が有効に
  • いまさら聞けないクラウドのアレコレ(4) ~根源的な性能差を理解する~

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    いまさら聞けないクラウドのアレコレ(4) ~根源的な性能差を理解する~
  • ハッシュテーブルに対する攻撃手法のはなし

    ハッシュテーブル実装に対する攻撃とは 昨年12月末にドイツで開催されたCCC(Chaos Communication Congress)において、"Effective Denial of Service attacks against web application platforms"(Webアプリケーションに対する効率的なDoS攻撃)と題した発表が行われました。タイトルに「Webアプリケーション」とついてはいますが、この問題はWebアプリケーションに限ったものではありません。以下の三つの条件が揃ったアプリケーションであれば例外なく、DoS攻撃の餌となる危険があります。 ハッシュテーブルというデータ構造を使っている ハッシュ値を計算するアルゴリズムが「脆弱」である ハッシュテーブルに登録するデータをプログラム外部から指定できる ハッシュテーブルとその問題 Wikipedia(日語版)

    ハッシュテーブルに対する攻撃手法のはなし
  • 【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?

    ソースコード読解力は個人差が大きい コードレビューなどで、他の人のソースコードを読んだり理解したりする速度が気になることはありませんか? また、読む速度や理解する速度がとても速い人がいると感じたり、自分が周りの人よりも速いと思ったりすることがあるのではないでしょうか。私たちの研究グループで実施した観察でもソースコードを読む速度は個人差が大きいことを確認しており、同じソースコードを理解するための時間に6倍の差がある事例を確認しています。 では、自分自身のソースコードを読む速度や理解する速度が、平均と比べて速いのか遅いのかを知るためにはどうしたらよいでしょうか? 最も簡単な方法は、社内などの身の周りの人とコードレビュー時間を比べてみることでしょう。他にも、参加者全員でソースコードを読むような社外勉強会に参加する方法もありそうです。 文献からは大まかな速度を知ることができる 書籍、標準、論文の情

    【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?
    oooooooo
    oooooooo 2009/09/17
    ハンズオンに協力していただいた方には、結果報告専用のWebページのID, パスワードを配布し2009年中に詳細な結果をお知らせする予定 / 一般公開しようよ
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

    「レガシーコード」とは何か 最初に1つ質問です。皆さんは、「レガシーコード」と聞いて何を想像するでしょうか? 多くの方はCOBOLなどで書かれたメインフレームで動くコードを真っ先に思い浮かべるのではないかと思います。しかし、当にそれだけでしょうか? ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。そう考えると、必ずしもメインフレームだけの話ではなくなります。この記事を読んでいる皆さんなら、そのようなコードを少なからず目にしていることでしょう。 現在の業務システムは、Java EEや.NETなどの基盤上に構築される、いわゆるオープンシステムが主流になっています。このようなオープンシステムであっても、構築されてから既に5年以上経過していることが珍しくなく、何度も手が加えられたコードは

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
    oooooooo
    oooooooo 2009/07/03
    レガシーコードとは、単にテストのないコードである
  • PHP5用フレームワーク「symfony」の現状と今後

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHP5用フレームワーク「symfony」の現状と今後
    oooooooo
    oooooooo 2009/06/08
    Fabien Potencier 氏 / 2.0 で symfony は Symfony に / 開発者の名前の読み / 私もフランス人ですし、4年前にsymfonyを始めた時にはひどい英語でしたよ。自分が英語で本を書けるなんて想像もできませんでした。
  • 開発者には”プロ意識”が必要である~Bjarne Stroustrup氏との対話~

    はじめに 「弊社ではありえないプロジェクトが突如降って湧いてくるのが常態化しています。それでもなんとかなっているのです!」 これは、ある著名な企業のプロジェクトマネージャが筆者に語った言葉です。その社名は、ほぼ毎日のように巨大マスコミに登場していることもあり、世間一般には時代の先頭を走る優良企業の1つと考えられているはずです。 この能弁なプロジェクトマネージャが引率してきた10人ほどの若いプログラマたちは、終始押し黙っていたのを今でも鮮明に記憶しています。著名な企業を支えるありえないプロジェクトをなんとかこなす人々。筆者は彼らの作業風景を想像しながら、その胸中が大変気になりました。 C++を設計・実装したStroustrup氏は、ソフトウェア業界の未熟さを指摘すると共に、”プロ意識”の重要性を強調してやみません。 今回の質問意図 既に紹介しているように、Stroustrup氏はC++入門書

    開発者には”プロ意識”が必要である~Bjarne Stroustrup氏との対話~
    oooooooo
    oooooooo 2008/09/19
    この能弁なプロジェクトマネージャが引率してきた10人ほどの若いプログラマたちは、終始押し黙っていたのを今でも鮮明に記憶しています。 / Stroustrup 氏の机&本棚写真あり
  • エラー:CodeZine

    oooooooo
    oooooooo 2008/07/30
    C++ を設計し、最初に実装した Bjarne Stroustrup 氏
  • CSVファイルフォーマットの解説:CodeZine

    はじめに CSVファイルは最も普及したデータ交換用フォーマットですが、さまざまな方言があります。 稿ではCSVファイルフォーマットの仕様とデータ交換時のポイントを説明します。 対象読者 CSVファイルを扱うDB管理者、開発者。 CSVとは? CSVとはComma-Separated Valuesの略で、カンマ区切りで並べた値という意味です。 CSVファイルの例として、一般的なアドレス帳データを示します。 "姓","名","生年月日","郵便番号","住所","電話番号" "山田","太郎","2001/1/1","100-0002","東京都千代田区皇居外苑","03-1234-5678" "山田","次郎","2001/1/2","251-0036","神奈川県藤沢市江の島1丁目","03-9999-9999" カンマで区切られたデータの横一列を"行"(英:Row)

  • Joelに聞く、「優れた開発者」の要件・心構え・努力すべきこと:CodeZine

    世界的に認知されているソフトウェア開発プロセスのエキスパート。彼のWebサイトJoel on Softwareは、世界中のソフトウェア開発者に人気があり、30以上の言語に翻訳されている。ニューヨークにあるFog Creek Softwareを創業し、ソフトウェアチームのためのプロジェクトマネジメントシステムとして人気のあるFogBugzを作った。JoelはMicrosoftExcelチームのメンバーとしてVBAをデザインし、Juno Online Servicesでは数百万人が使うインターネットクライアントを開発した。 優れた開発者の要件――まず、「優れた開発者にはどのようなことが求められるか」についてお聞かせください ああ、大変だ。それなら12箇条ありますね。(笑) まじめに答えると、見方が二つあって、ひとつは成功するチームを作る上で誰を選ぶかということです。私はそういうとき、頭がよく

    oooooooo
    oooooooo 2008/03/13
    Joel Spolsky ( ジョエル・スポルスキー ) 氏
  • クリプトン佐々木氏に聞く 「初音ミクムーブメントの当事者が今思うこと」:CodeZine

    2007年、ネット上に1つのムーブメントを起こした「VOCALOID2(ボーカロイド)」シリーズ。突然わき上がった盛り上がりに対し、その真ん中にいた製作者の人達はどういう思いでいたのでしょうか。初音ミク生みの親であるクリプトン・フューチャー・メディア 佐々木渉氏に聞いてみました。

    oooooooo
    oooooooo 2008/03/12
    初音ミクの製作者、佐々木渉氏
  • SourceForgeのサクセスストーリー:CodeZine

    SourceForgeの発端 1999年の秋、世間はフィーバーの様相を呈していた。ドットコム熱は大いに盛り上がり、まるで狂気の沙汰であった。そして、それが最後のフィーバーになった。 VA Linuxは波に乗っていた。この会社は1993年に設立され、古い(そして割高な)Unixコンピュータに取って代わる、プレインストールのLinuxコンピュータの販売でまずまずの利益を上げていた。DellやIBMといった大手はまだこの市場に腰を入れていなかったので、VA Linuxのような小さなベンダでも一儲けすることができたのだ。 その結果、VA Linuxの新規株式公開への期待が高まった。同社が12月に上場すると(シンボル:LNUX)、株価は1日で30ドルから240ドル近くまで高騰した。なんと700%のリターンである。この大儲けに先立ち、同社は1つの(驚くほど楽天的な)構想を持っていた。 同社はオープン

  • ゲームAI連続セミナー「ゲームAIを読み解く」 第4回 レポート:CodeZine

    IGDA日は、株式会社フロム・ソフトウェアの協力、日デジタルゲーム学会(DiGRA JAPAN)の後援の下、6月30日(土)に東京大学郷キャンパス工学部新2号館(東京都文京区)にて、ゲームAI連続セミナー「ゲームAIを読み解く」の第4回「Halo2におけるHFSM」を開催しました。セミナーのコーディネータを務めました筆者がレポートをお届けします。 なお、連続セミナーの概要などについては過去のセミナーレポートをご覧ください。過去のセミナーレポート第1回 「KillzoneにおけるNPCの動的な制御方法」 レポート第2回 「F.E.A.R.におけるゴール指向型アクションプランニング」 レポート第3回 「Chrome Hounds におけるチームAI」レポート Halo2におけるHFSM 第4回は「Halo2におけるHFSM(Hierarchical Finite State Mach

    oooooooo
    oooooooo 2007/07/12
    Halo の AI
  • CodeZine:OpenIDを使ってみよう(openid, 認証方法, Perl)

    はじめに OpenIDは最近非常に注目が高まっている認証技術の一つです。ここでは、OpenIDを利用したPerlのサンプルを通じてOpenIDのメカニズムに触れていきたいと思います。必要な環境 Perl 5.8以上が動作する環境が良いと思います。基動作の確認はMac OS Xを利用しましたサンプルの紹介 早速サンプルコードの「openid-test.cgi」を見ることにしましょう。このサンプルはOpenIDを利用した簡易ログインページです。 #!/usr/bin/perl use strict; use warnings; use CGI; use Net::OpenID::Consumer; #use LWPx::ParanoidAgent; use LWP::UserAgent; my $query = CGI->new; $query->charset('utf-8

  • RailsでWikiシステムを作成する:CodeZine

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

  • OSS開発者と買い手をつなぐ新サービスが試験運用開始:CodeZine

    oooooooo
    oooooooo 2007/05/23
    プロジェクトのページに「Services」というタブが表示され、買い手はサポートオプションの有無を見て、サポートを購入できるようになる。SourceForge.net Marketplace
  • Ajaxをブラウザ上で開発できるオープンソース「TIBCO General Interface」:CodeZine

    「TIBCO General Interface 3.3 Professional Edition」は、AjaxなどのJavaScript開発をブラウザ上で行えるツールだ。そして開発環境までもがAjaxで動作する。オープンソースなので、同社デベロッパーサイトから無償でダウンロードできる。ライセンスはBSD License。 ダウンロードしたファイルを解凍し、適当なフォルダに配置したあと、ブラウザから「GI_Builder.html」にアクセスすることで起動できる。開発環境はVisual Studio風で、GUIによるコンポーネントの配置もできる。JavaScriptのデバッグもできるため、Ajaxを使わないJavaScriptアプリケーションの開発にも利用することができる。

  • PDOでサクサクDB開発:CodeZine

    はじめに PHP界隈では現在、PHP 4からPHP 5への移行が進んできており、ここ最近ではPHP 5の機能を活用したフレームワークも多く出てくるようになりました。 PHP 5は、PHP 4に比べオブジェクト指向のサポートや速度面での向上などが取り上げられる中、最も注目すべき点であるデータベースへのアクセスを抽象化したレイヤーとしてPDOが登場しました。 今回はそのPDOに注目し、サンプルを交えてPDOの使い方を紹介します。対象読者PHP 5を使ったことがある方以前PEAR::DBなどを用いてデータベースを使ったアプリケーションを作成したことのある方 必要な環境 PDOはPHP 5.1から標準で導入されるようになりました。Windows/UNIXを問わず利用することができます。よってPHP 5.1の環境と、PDOの動作に必要なデータベースの構築を行ってください。PDOとは PDO(PHP

  • 1