CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
![IDDD本から理解するドメイン駆動設計一覧](https://cdn-ak-scissors.b.st-hatena.com/image/square/106c7e478be88bc515873fc79870c7b92dd94618/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fcommon%2Fimages%2Fczlogo4fb_ogp.png)
この20年ほどの間に、「ウォーターフォール」へのアンチテーゼとして現れた、XP(エクストリーム・プログラミング)やScrumと呼ばれる「アジャイル」な開発手法が浸透してきた。中でも、近年ではXPの一部を構成する「ペアプログラミング(ペアプロ)」に対する関心が高まりを見せているようだ。ただ、ペアプロという手法があることを知ってはいても「どのように導入を進めれば良いか」「どのような効果があるのか」については、漠然としたイメージしか持っていないという人も多いのではないだろうか。今回、Yahoo! JAPANのヤフオク!カンパニーにおいて「Lean XP」の一部としてペアプロを導入した山下真一郎氏と、日本におけるテスト駆動開発(TDD)の第一人者である和田卓人氏に、自らの実践の中で感じているペアプロのメリットや、導入のポイントについて語ってもらった。 「Lean XP」の一部としてペアプロの導入に
はじめに ドメイン駆動設計(DDD)とは、2003年にエリック・エヴァンス氏が『Domain-driven design』という書籍にて提唱したソフトウェア開発手法です。DDDを簡単に説明すると「顧客と開発者が業務を戦略的に理解し、共通の言葉を使いながらシステムを発展させる手法」です。具体的には、チームの共通言語である「ユビキタス言語」を用いて「ドメインモデル」を構築し、それをコードとして実装します。また大規模で密結合なシステムにならないように「ドメイン」と「境界づけられたコンテキスト」にてシステムを分割し、「コアドメイン」という最重要領域に集中して開発を行います。 ソフトウェア開発の課題とDDDが解決すること DDDの登場から10年以上が経ち、DDDは着実に普及しつつあります。DDDが普及してきている背景として、システム開発がますます多機能/複雑になり、ビジネス的にも敏速な変更が求められ
まつもとさん自身によるStreemについての解説は、今後日経Linuxで順次掲載されるようです。まつもとさんがStreemについて解説する内容は、おそらく、プログラミング言語設計に関する高レベルなものとなるのではないでしょうか。 本記事はそれとは無関係に、2015年1月に公開されているStreemについての低レベルな解説、つまり現時点のStreemのソースファイル(の一部)の読み解き方を示します。具体的には、GitHubのStreemリポジトリにある「lex.l」と「parse.y」という2つのソースファイルについて解説します。 Streemのソースファイルは、https://github.com/matz/streemからダウンロードできます。画面右下にある[Download ZIP]ボタンをクリックしてください。 lex.lとparse.y ダウンロードしたStreemソースファイルの
アプリ・サービスのUIデザイナーが集うコミュニティ「UI Crunch」は、若手が成長できる場の提供を目的として、25歳以下限定のコミュニティ「UI Crunch Under25」を設立。その第1回イベントを9月26日、東京・渋谷にある株式会社ディー・エヌ・エー(以下、DeNA)の社員食堂「サクラカフェ」で開催した。基調講演には、DeNA会長の南場智子氏が登壇。「何故いまデザインなのか?」と題し、多くの失敗から導き出したという、いわばヒットサービスを開発するための「悟り」を披露した。開発者にも大変参考になる内容なので、本稿でお伝えする。 【関連リンク】 UI Crunch Under25 | UI Crunch この日は若手デザイナーに向けてということもあってか、南場氏のトークは大変気さくでノリがよく、語り口はロックスターのMCのようであった。文字では伝わりにくいが、その楽しさ・雰囲気を少
本記事は、技術系同人誌サークルDevLOVE Pubの同人誌『Far East Developer Review デブサミ2015特別号』から、編集部員が寄稿した記事を加筆修正したものです。編集部員の近藤が普段編集作業で使用している、GitHub製エディタの「Atom」で、日本語を扱うために必要な設定をご紹介します。(編集部) はじめに みなさん、エディタは何を使っていますか? プログラミング用途では情報が豊富なテキストエディタですが、筆者は文章の執筆・編集用途で使いたかったため、ほしい情報があまりまとまっておらず、何を使えば効率よく作業ができるか、しばし悩んでいました。本稿では、IT系技術記事の新人編集者である筆者が、比較的新しめのエディタ「Atom」で、日本語を執筆・編集するために行った環境構築について解説します。日本語をエディタで快適に扱いたいというエンジニアの方にお役に立てるものと
対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 本格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し
Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。本記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様
DBMSの可用性とPostgreSQLのレプリケーション 勤怠管理やERPなど会社内の業務に欠かせないシステムはもちろんのこと、SNSやECサイトなど個人で利用するシステムでも、何かしらのDBMSを利用をするのが一般的です。 もしDBMSで障害が発生した場合、データの参照・更新が滞り、システム全体として役割を果たすことができなくなります。そのためユーザが利用したいときにシステムを利用可能にするためにはDBMSが継続的に稼働していることがとても重要です。 世の中にはDBMSは多数存在し、またDBMSの可用性を上げる機能やツールなどもさまざまに存在します。OSSの代表的なDBMSの一つであるPostgreSQLには可用性向上機能の一つであるレプリケーションが用意されています。 今回は最新バージョンであるPostgreSQL 9.2のレプリケーションについて、機能の紹介、利用時の注意点、設定によ
はじめに Fluentdは、ログを収集し格納するためのログ収集基盤ソフトウェアです。Fluentdにインプットされた、すべてのログをJSONに変換し、アウトプットします。インプットとアウトプットはモジュール化されており、モジュールを追加することでインプット元とアウトプット先を追加できるようになっています。 Fluentdは急速に知名度を高め、多くのWebサービス会社で実際に使用されるようになりました。従来のログが抱えていた問題も、Fluentdが適切な解決策となっていると認知され、かつ簡単に導入・スモールスタートできるミドルウェアであったことが大きかったと思います。 本稿では、Fluentdの簡単な仕組みと導入方法、シンプルな動作事例について紹介します。 対象読者 システム管理者 データサイエンティスト 必要な環境 UNIX系OS Ruby 1.9 ログを出力する理由 システム運用を始める
ペアプログラミングとは、その名前の通り、1つのプログラムを2名で開発する手法であり、アジャイル開発(特にXP)で良く採用されます。今回は、このペアプログラミングの概要、特徴、さらに開発現場での具体的な適用方法を、事例をもとに紹介します。 ペアプログラミングとは ペアプログラミングとは、1つのプログラムを2名で開発する手法です。1つのプログラムをどうやって2名で作成するのでしょうか。また、なぜわざわざ2名で作成するのでしょうか。詳細を見ていきましょう。 2名の役割: ドライバーとナビゲーター ペアプログラミングでは、以下のように1つのモニタの前に2名が並んで座り、1名がキーボードとマウスを使い、もう1名がアドバイスを与えます。 ドライバー キーボードを操作してコードを書く人。ナビゲーターの指示に従い、実際にプログラムを書いていきます。基本的には指示通りにコードを書いていきますが、レビュアーも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く