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

GitHub.comはサービスを開始した2008年から毎年、利用言語のトレンドをトップ10として発表してきた。2008年はRuby on Rails人気を追い風としてRubyが第1位を獲得。以降、2012年までその地位をキープしてきた。 しかし、ずっと第2位に甘んじてきたJavaScriptが2013年になり、Rubyと入れ替わって第1位を獲得。以降、今年までトップをキープしている。 興味深いのは、Javaが着実に人気を上げていることだ。2008年には第7位にあったが、1年おきにランクを上げてきて、今年はついにJavaScriptに次ぐ第2位に就いた。背景には、Androidアプリケーション開発での利用が増加したことと、GitHubの利用や認知が広まるにつれ、エンタープライズ分野における利用が増えたことがあるようだ。 【補足】 Javaがランクアップした背景として、GitHub.comはこ
2013年の春、株式会社ディー・エヌ・エー(以下、DeNA)の新卒エンジニア研修チームは、70人弱の新卒者に行う教育内容で悩んでいた。一斉研修では、教育が行き届かない。現場のニーズは年々変わる。熟考の末、研修チームは、新卒者も配属先も幸せになれる新卒研修として、「自走できる(自ら学び、成長していける)エンジニアの育成」に取り組んだ。それはどのような研修であり、どのような成果を得たのか。研修チームのメンバーであった同社の関口亮一氏が、立ち見が出るほど盛況な会場で語った。 研修内容が現場のニーズから乖離してきていた 「新卒研修というと、すでにエンジニアとして業務に就いている私たちからすると遠い印象があるが、本当はすごく身近で大事なもの。参考にしていただきたい」 セッションの冒頭、こう切り出した関口氏は、一般的な新卒研修の問題点について語り始めた。一般的な新卒研修では、新卒者が期間限定で集められ
対象読者 jQueryなどを使っているJavaScript開発者 JavaScriptを使った複数人でのプロジェクトに参加している方 JavaScriptを使ってサーバ等と連携したフロントエンドの開発をしている方 必要な環境 この記事では、AngularJSを使用し、Chrome(36.0)、IE11、Firefox(31.0)、Safari(7.0.5)の環境で確認を行っています。 JavaScript開発の歴史 フレームワークを説明する前に、10年ほど前から現在までのJavaScriptが歩んできた流れが分かると、どうして今、JavaScriptにもフレームワークが必要になってきているのか、または開発者はフレームワークに何を求めているのかが多少は見えてくることと思います。 2005年くらいまではJavaScriptは利用者や開発者から避けられていた技術で、たとえ使われても、非常に簡単で
また、Organization[1]の数も360を超え[2]、リポジトリ数もOrganizationのものだけでも2000近く作られています[3]。 新規のプロジェクトは基本的にGitを利用しており、既存プロジェクトもほとんどがSubversion(以下SVN)などからGitに移行しました。 本記事では、Ameba事業本部がどのようにGitを組織内に普及させていったか、その運用体制、現場でどのように利用されているのかをご紹介します。 [1] 複数アカウントをまとめるグループ機能です。リポジトリは個人単位だけでなく、Organization単位で作ることもできます。 [2] プロジェクト単位で1つのOrganizationを用意しています。 [3] 個人アカウントで作成したり、他からforkしたリポジトリは除いた数です。 GitHub Enterprise導入への道のり GHE導入以前の標準
JavaScriptによるモダンなプログラミング入門書『Eloquent JavaScript, 2nd Edition』のオンライン版がリリースされたことを、作者のMarijn Haverbeke氏が自身のTwitterアカウントで7月30日(現地時間)に明かした。「Creative Commons 表示 - 非営利 3.0 非移植(CC BY-NC 3.0)」のライセンスのもと、無料で閲覧することができる。文中のソースコードはMITライセンス。 『Eloquent JavaScript』は、JavaScriptおよびプログラミング全般に関する入門書で、読者をサンプルコード漬けにし、冒頭から実際に手を動かして試させることで、いち早く読者が一人立ちできるように工夫されている。 『Eloquent JavaScript』の第一版は2007年に公開。第二版のコンテンツは「Language」「B
皆様はJenkinsをご存知でしょうか。「Jenkins」(ジェンキンス)は、CI(継続的インテグレーション)ツールとして有名なHudsonが名前を変えて開発し続けられているものです。本稿では、IBMの軽量Javaアプリケーションサーバー「WebSphere Application Server Liberty Core」の無償評価版を使って、JenkinsでJava EEアプリケーションのビルドおよびデプロイを自動化する手順とポイントを具体的に紹介します。 CI(継続的インテグレーション)とは Jenkinsの前に、まず「CI(継続的インテグレーション)」について説明します。 CIとは一言で言えば、日々行っていることで自動化できるものは自動化して素早い開発を行おうということです。例えば、次のようなことを毎日行っていないでしょうか? アプリケーションのビルド、およびサーバーへのアプリケーシ
冒頭、庄司氏は「クックパッドの印象としては、レシピのサービスが一番強いと思いますが、これ以外のサービス、新規事業にも力を入れています」とした上で「cookpad.comに関する話をします」と切り出してセッションを始めました。 まず、Ruby 2.0/Rails 3.2による環境構成を説明し、「このボリューム、正直狂っているんじゃないかな。数か月間でこれだけ増えてるんです。……あの、ここ笑うところですよ?」と独特の語り口でセッションを進めていきます。 サービスの成長と安定性を両立させる3チーム制 しかし、上図のような成長ペースにもかかわらず、デプロイは1日10回ペースを維持している。一体どうやって、これほどの安定リリースを実現しているのでしょうか? 庄司氏はこの点について、エンジニアで構成されている『サービス開発部』『インフラ部』『技術部』の存在を挙げました。 サービス開発部隊がサービス開発
本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 本シリーズのスコープと対象読者 本シリーズはWebシステム・Webアプリケーションのテストの中でも「Webブラウザを操作して実施するテスト」をスコープにしています。開発工程としては、1モジュールとして単体テストに位置付けられる場合もあれば、複数のモジュールやシステムと連携して結合テストや総合テストに位置付けられる場合もあるでしょう。これらのテストのことを、本シリーズ
「Intel Concurrent Collections for C++」(CnC)とは 実際並列処理はややこしいしおっかないです。大きなキッチンで大勢のコックが包丁とフライパン振り回しているようなもので、ほっとけばしっちゃかめっちゃかになっても不思議じゃない。各人はそれぞれの役割に専念し、他人のふるまいを気にせず勝手に働きながらも全体としては統制のとれた動きを作り出さにゃなりません。mutexで排他制御したりjoinで完了を待ったり、さまざまな道具を駆使して統制のとれた動きを作り出しているのはプログラマであり、そこがいちばん難しく悩ましいところです。 C++,C#あるいはVB,Javaもそうですが、コードは原則的に並べた順に実行されます。 と書けば、まずf()、それが終わればg()、しかるのちh()の順で呼び出されます。たとえこの3つをどの順にやっても(あるいは同時にやっても)構わない
Message-Driven Beanとは 前回、JMSをJavaアプリケーションに組み込んで非同期通信を説明しました。ただし、業務ではMessage-Driven Bean(MDB)を使用する方が多いため、今回はMDBを使った非同期通信の仕方を説明します。 あらかじめ知っておくべきこと 前提知識 「今からでも遅くない JMSを学ぼう!」ではJMSを通じて非同期通信を学ぶことを目的としていますが、ドメインはPTPを使用しているため、Pub/Subの知識は必要ありません。PTPについてご存じない方、JMSの知識のない方は前編を読んだ後にその後編の当記事を読まれることをお薦めします。 Webアプリケーションの基礎的な知識が必要です。JSPやServlet、あるいはStrutsなどのWebフレームワークを使用した経験のある方はそのまま読むことが可能です。知識がない方は筆者の「GlassFishか
DBMSの可用性とPostgreSQLのレプリケーション 勤怠管理やERPなど会社内の業務に欠かせないシステムはもちろんのこと、SNSやECサイトなど個人で利用するシステムでも、何かしらのDBMSを利用をするのが一般的です。 もしDBMSで障害が発生した場合、データの参照・更新が滞り、システム全体として役割を果たすことができなくなります。そのためユーザが利用したいときにシステムを利用可能にするためにはDBMSが継続的に稼働していることがとても重要です。 世の中にはDBMSは多数存在し、またDBMSの可用性を上げる機能やツールなどもさまざまに存在します。OSSの代表的なDBMSの一つであるPostgreSQLには可用性向上機能の一つであるレプリケーションが用意されています。 今回は最新バージョンであるPostgreSQL 9.2のレプリケーションについて、機能の紹介、利用時の注意点、設定によ
スケールしやすいシステムを作るためのキーワード『非同期処理』。今回は、オープンソースのメッセージキューイングミドルウェアであるRabbitMQをSpring frameworkを使って実装する入門編です。Spring AMQPを利用することでJavaで簡単に非同期アプリケーションの開発が行えます。 はじめに 一般的に、システム間の連携は疎結合であることが望ましいとされています。その理由はさまざまですが、異なるシステム間での連携を疎結合にすると変更しやすい、障害時の影響を小さくしやすい、などがあげられます。 そういった実装を行うにあたって、しばしば利用されるものが「メッセージキューイング」です。メッセージングキューイングとは、簡単に言うとアプリケーション間のデータをメッセージとして、そのやり取りをキューと呼ばれる領域を利用して行うものです。メッセージキューイングでは送信側はメッセージの送信後
これまでのエンジニアを取り巻く状況 10年ほど前、エンジニアには「ホスト系」「オープン系」という区別がありました。誤解を恐れずに言うならば「ホスト系エンジニア」は「ホスト」と呼ばれる中央集権的な高級マシンを主にCOBOLで操るエンジニア、「オープン系エンジニア」はPerlやPHP、Ruby、Javaといったオープンな枠組みで、Webに強い言語を使ったシステムをインターネット関連技術を用いて構築するエンジニアです。CodeZineをご覧の多くは後者である「オープン系」のエンジニアに当たるのではないでしょうか。 決まった処理をコンピュータに任せることで業務の効率化を図るという目的はホスト系もオープン系も同じです。要件定義、仕様策定し、実装・テストをして運用にあたるという大まかな流れも同じです。 決定的に違うのはアーキテクチャの選択幅ではないでしょうか。ホスト系はマシンを提供しているベンダーのド
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く