タグ

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

  • ラムダ式でCommandパターンで書かれたコードをシンプルにする ~ ラムダ式使いへの第一歩

    Java SE 8では、新しい構文要素として「ラムダ式」が導入されました。これにより、これまで用いられたデザインパターンのいくつかは、特に意識しなくても同等のコードが書けるようになります。デザインパターンが解決しようとしていた問題が、ラムダ式によって素直に実装できるからです。連載では、デザインパターンを使って書かれたコードをラムダ式を使ったシンプルなコードに書き換えながら、ラムダ式の使いどころ・使い方を学んでいきます。 言語の洗練によってパターンは背景に退く まず、デザインパターンについておさらいしましょう。デザインパターンとは、オブジェクト指向言語を用いてプログラムを書くときに、頻発するプログラム設計上の工夫を「パターン」としてまとめたものです。ギャング・オブ・フォー(GoF)と呼ばれる4人の著者(エーリヒ・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディース)が執筆

    ラムダ式でCommandパターンで書かれたコードをシンプルにする ~ ラムダ式使いへの第一歩
  • ラムダ式でステップアップ! C#のプログラムから汎用的なアルゴリズムを切り出すことで、LINQについての理解を深めよう

    1. はじめに プログラミング言語 C#では、C# 3.0から「ラムダ式」と呼ばれるものが使えるようになり、プログラムをより簡潔に記述できるようになりました。そして、それにより、LINQ(Language INtegrated Query:統合言語クエリ)という機能が便利に使えるようになりました。 この記事では、基に立ち返って、どのようにしてアルゴリズムを記述し、それを利用するかを考えたいと思います。 汎用的なアルゴリズムをどのように記述すると良いのか、そしてそのアルゴリズムがどのように使われると良いのか、を述べます。その中で、なぜラムダ式が便利なのか、その理由が分かってもらえれば幸いです。 また、ラムダ式がどのような仕組みなのか、それについても解説します。 LINQの仕組みや意義についても同時に理解していただけることと思います。 次の記事の姉妹記事です。そちらでC++用に書かれた記事を

    ラムダ式でステップアップ! C#のプログラムから汎用的なアルゴリズムを切り出すことで、LINQについての理解を深めよう
  • 受託開発は「納品」をなくせばうまくいく? なくさなくてもうまくいく? ソニックガーデン倉貫義人氏、グロースエクスパートナーズ鈴木雄介氏対談

    また、今回の対談のモデレータを、倉貫氏、鈴木氏とも交流の深い株式会社SyncThoughtの橋吉治氏が務めました。 顧客企業と受託開発スタイル 橋 ► 倉貫義人さんは、近著『「納品」をなくせばうまくいく~ソフトウェア業界の“常識”を変えるビジネスモデル』(日実業出版社刊)で「納品のない受託開発」を提示し、話題を集めています。個人的には、この書籍は倉貫さんの試みの集大成で、開発者の幸せが顧客の幸せにつながる、1つの方法論を示しているのではないかと思っています。 この書籍に対し、ブログで「「納品」をなくさなくてもうまくいく」と反論的な感想を寄せたのが鈴木雄介さんです。お二人の考えの違いを突き詰めると、個別の開発現場でより幸せな開発を模索するヒントが得られるのではないかと思います。 では、まずお二人の会社と代表的な事例について紹介していただきましょう。 納品がなく成果で契約、IT部門がなく

    受託開発は「納品」をなくせばうまくいく? なくさなくてもうまくいく? ソニックガーデン倉貫義人氏、グロースエクスパートナーズ鈴木雄介氏対談
  • 「デブサミ関西2014」開催、講演関連資料まとめ

    9月5日、西日のソフトウエア開発者を対象とした技術カンファレンス「Developers Summit 2014 Kansai」(デブサミ関西2014)が神戸国際会議場で行われた。今年で4回目の開催となる。主催は翔泳社で、開催にあたり8社の企業スポンサー、9つの開発コミュニティ、4名の実行委員による協力を得た。「開発プロセス」「Web&クラウド」「Mobile」といったトピックスが、計16セッションに渡って講演されている。 今回のテーマには、今年2月に東京で開催した「Developers Summit 2014」(デブサミ2014)と同じく「Story」を据えている。これは前年度のテーマであった「イベントに参加した後に、現場を変える『アクション』を起こして欲しい」を受けて、「アクションを起こすために必要なモチベーションや仲間を得るためには、説得力のある『ストーリー』が必要」と、実現性に一歩

    「デブサミ関西2014」開催、講演関連資料まとめ
  • デブサミ2014、講演関連資料まとめ

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

    デブサミ2014、講演関連資料まとめ
  • ScalaのWebアプリケーションフレームワーク「Play Framework」入門 ~(1)環境構築とスタートアップアプリの作成

    はじめに 最近の関数型言語ブームの中で、高い生産性と高い品質を誇る言語であると注目を浴びているのが「Scala」です。今回は、このScalaのWebアプリケーションフレームワークである「Play Framework」(以下、Play2)について紹介します。 「Scala」はTwitterやLinkedInなどのサービスで利用されており、2013年は日で初めてScalaに特化した大規模なカンファレンスが開かれたり、さまざまな情報媒体で取り上げられたりと、ここ1、2年で急激に人気が高まっているのではないでしょうか。 Play2はJVM上で動作し、これまでのJavaで開発するエンタープライズアプリケーションで多く採用されたサーブレットやJSPのアーキテクチャを採用せず、独自のMVCモデルのアーキテクチャを持っており、スケールアウトしやすい構造になっています。 連載では、開発者にもフレンドリー

  • 「JBehave」による振舞駆動開発(BDD)の実践

    対し、今回紹介するBDD(behavior driven development:振舞駆動開発)では、テスト対象の振る舞いに対してのテストを記述します。BDDでは、要求仕様にフォーカスし、よりWhatを意識したテストケースを作成できます。これにより、TDD以上に設計から実装へのトレーサビリティを確保できるようになります。 対象読者 Java開発者 必要な環境 JDK 7 Maven 3 JBehaveとは JBehaveを利用することにより、JavaでBDDを実践できるようになります。具体的には、storyファイルに記述した要求仕様をベースに検証ロジックを実装し、テストを行います。 事前準備 まずは、Mavenで空のJavaプロジェクトを作成します。以下のようにコマンドプロンプトでmvnコマンドを実行します。 <project xmlns="http://maven.apache.org/

    「JBehave」による振舞駆動開発(BDD)の実践
  • SourceTree for WindowsからGitを利用する

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

  • 実行委員が語る「デブサミ関西2013」の裏側 ~イベント運営に参加して得られるもの

    9月20日に、翔泳社主催の開発者向けイベントの関西出張版「Developers Summit KANSAI 2013」(デブサミ関西2013)が開催されました。稿では、実行委員としてイベントの企画・運営に参加した西丈善さんの体験談を通して、技術者向けイベントの裏側や、運営に携わって感じたことなどを語っていただきます。(編集部) 僕が体験したデブサミ関西 「この件はこれでよいですよね?」 「いや、もっとこうすべきだ!」 「そこは、こうすれば良いのでは?」 白熱した議論を背中で聞きつつ、左手には赤、青の2のペンを器用に指の間に挟み、右手に持つ黒いペンでホワイトボードの白いキャンバスいっぱいにマインドマップを描いていく……。 某月某日。大阪市内の某会社の会議室。時刻は20時を過ぎた頃だろうか。只今「Developers Summit KANSAI 2013」のキックオフミーティング真っ最中で

  • 【夏サミ2013】A2セッションレポート マイクロソフトが考えるエンタープライズにおけるDevOps

    セッションA2の講演資料 エンタープライズの現場がDevOpsを必要としている マイクロソフトの長沢智治氏は最近、「エンタープライズの現場でも、戦略的なITが強く必要とされている」と感じているという。大手企業の担当者からDevOpsやアジャイルについての質問を受ける機会が増えているからだ。 現在のビジネスは、ITと融合している。いわゆるビジネスアジリティに対応するため、IT自身にも求められているのが俊敏性だ。そのためにはDev(開発)とOps(運用)の双方が、アジリティを意識せざるを得なくなっている。 長沢氏は、「エンタープライズにおけるITをアプリケーションの進化という形で見ると、基礎体力作りのITと戦略的な攻めのためのITの二種類に分けられる」と分析する。基礎体力で一番分かりやすいのは、「ERPのパッケージを導入し、その会社向けにカスタマイズ」というような形だ。リリースサイクルは長期に

  • 【夏サミ2013】C1セッションレポート 4つの視点から読み解くDevOpsにおける改善活動のポイント

    セッションC1の講演資料 DevOpsの質は、組織の壁を越えた改善活動である 西野氏は2年前に日CAに入社する以前、国内SIerで16年間、自治体向けなどのシステム開発の現場にいた。また運用にも興味がありITIL®を勉強し、現職は運用のコンサルタントだ。その西野氏がビジネスのためのITのゴールは何かと考えたとき、答えはやはり「ビジネス価値を向上させるIT」となる。このゴールは、開発マネジメントと運用マネジメント共通だが、達成に向けた考え方や行動には、相反する要素も多い。 開発のマネジメントには、ビジネスのスピードに追従した開発と同時に、コスト抑制が求められている。それでいて品質は高くなければならない。開発の現場では、まずプロセス面ではデザインレビュー、インスペクション、ウォークスルーなどが関心事となる。テクノロジーはアプリケーションフレームワーク、開発言語、テストツールの選択などが気に

  • Androidで作るお天気アプリと、JSONの基本

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

  • 「夏サミ2013」開催、講演関連資料のまとめ

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

    「夏サミ2013」開催、講演関連資料のまとめ
  • なぜJavaScriptでテストコードを書くのか?

    はじめに 第1回目の稿は、実際にテストコードを書く前に、基的な考え方である「なぜテストコードを書くのか?」を解説します。 対象読者 JavaScriptの基をある程度理解している方 テストコードをこれから書こうと考えている方 頻繁な変化への対応 まずは、開発現場で多く行われている基的な考え方を振り返り、テストコードがなぜ必要なのかを考えて行きたいと思います。 これまでのテストの考え方 まずは、一般的なウォータフォールモデルを例に考えてみましょう。通常ウォータフォールモデルでは、設計→実装→テストという順番で、作ったものを最後にテストします。最後にテストを行うというのは、言い換えると「品質を最後に担保する」と言えます。 また、最後にテストする場合は、通常テスト仕様書などを作成した上で必要なテストパターンを洗い出し、手動でテストを実施します。 変化への対応が求められている スタートアッ

    なぜJavaScriptでテストコードを書くのか?
  • 「three.js」でつくるお手軽3Dマンガ作成ソフト - 前編

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

  • 本当に!? Winアプリの開発手法でWebアプリ開発 「Visual WebGui」を緊急チェック

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

  • Git操作の基礎

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

  • 1