タグ

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

  • 並列処理に関数型…でも学習コストは高くない!? Web開発者のためのElixirのススメ【デブサミ2019】

    ErlangのVM上で動作する関数型言語「Elixir」。Ruby風とも言われる文法のわかりやすさと、大量の並列処理を安定的に実行できる特徴から、近年ではゲームSNS、コンテンツ配信などのWebアプリケーション開発で採用される事例も増えている。とはいえ、RubyPythonなどに比べるとマイナーな言語で、Elixirを扱えるWeb開発者もまだまだ少ないのが実情だ。比較的歴史の浅い言語であるうえ、「並列処理」や「関数型」といった特性に対する敷居の高さ、学習コストへの懸念から、開発者に敬遠されやすい一面もあるだろう。gumi CTOの幾田雅仁氏は、Elixirに対するそういったイメージは「誤解」であり、むしろ「学習コストのわりに恩恵が大きい言語」だと主張。その根拠を示しながら、Webシステムの開発にElixirを使うメリットや、入門者向けに最適な学習法などを紹介した。 講演資料:これをまだ

    並列処理に関数型…でも学習コストは高くない!? Web開発者のためのElixirのススメ【デブサミ2019】
    takuno
    takuno 2019/08/26
  • 7462

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

  • さよなら手作業・人海戦術! HTML5時代のツール「Selenium2」でWebシステムのテストを自動化

    シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 シリーズのスコープと対象読者 シリーズはWebシステム・Webアプリケーションのテストの中でも「Webブラウザを操作して実施するテスト」をスコープにしています。開発工程としては、1モジュールとして単体テストに位置付けられる場合もあれば、複数のモジュールやシステムと連携して結合テストや総合テストに位置付けられる場合もあるでしょう。これらのテストのことを、シリーズ

  • Microsoft、「.doc」「.xls」などのOfficeバイナリファイル仕様を公開

    Microsoftは15日、Office 97以降で使われているバイナリファイル形式の文書仕様を公開した。「Microsoft Open Specification Promise」(OSP)プログラムの下で使用できる。 公開されたのは拡張子が「.doc」「.xls」「.ppt」となるOffice製品のバイナリファイル仕様。これらのバイナリファイルはOffice 97より採用され、Office 2003まで基的な保存形式となっている。最新版のOffice 2007からはデフォルト保存形式が「Office Open XML」(.docx、.xlsx、.pptx)となっているが、バイナリ形式での保存もできるようになっている。 MicrosoftのWebサイトでは「Word 97-2007バイナリファイルフォーマット」(.doc)、「Excel 97-2007バイナリファイルフォーマット」(

    Microsoft、「.doc」「.xls」などのOfficeバイナリファイル仕様を公開
  • テスト駆動開発を実習形式で体得する 「TDD Boot Camp 仙台」レポート

    TDDBCについて TDDBCの名前の由来は、ビリーズブートキャンプからとったそうです。 ペアプログラミングとチーム全員のコードレビューはよく言及されるが、実際にやった経験のある人は少ない。その両方を体験できるのがTDDBCであると紹介されました。その意味で、午後の演習の方が基調講演より大事だといいます。 また、TDDBCの開催実績と開催予定が示され、各地で活発にTDDBCが開催されていることも紹介されました。 TDDの背景 TDDを語るには、まず地ならしが必要だそうです。それは、「テスト」という言葉で思い浮かべるイメージ、範囲が1人1人異なり、テスト駆動開発の議論がかみ合わないことがよくあるため。誰が、何のためにという目的に立ち返ると、「開発者のテスト」「顧客視点のテスト」「品質保証のテスト」と、再分類できますとのことでした。 現代ソフトウェア開発の三柱 次に、現代のソフトウェア開発で

    テスト駆動開発を実習形式で体得する 「TDD Boot Camp 仙台」レポート
    takuno
    takuno 2011/07/28
  • Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

    はじめに 「Google Apps Script」は、Googleドキュメントのスプレッドシートに搭載されているスクリプト機能です。これは発表当初、Google Appsの有料版(プレミア版)のみで利用可能であったため、「無償版のユーザーは使えない」と思っていた人も多いのではないでしょうが。が、現在では、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。これを利用し、Googleドキュメントのスプレッドシートを操作することができます。いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。 最近では、クラウド・アプリケーションとしてオフィスソフトが提供されるようになってきました。Googleの「Googleドキュメント」だけでなく、マイクロソフトが「Microsoft Office Web Apps」を公開するなど、格的にWebへの移行が進めら

    Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する
    takuno
    takuno 2011/06/05
    いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。
  • 単体テスト計画書 (2) ― ホワイトボックステスト

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

    単体テスト計画書 (2) ― ホワイトボックステスト
    takuno
    takuno 2010/03/02
    たかだか有限回のテストで、無限の組み合わせを内在するプログラムが正しく動作するかどうかを確かめることなどできません。この文章を入れておかないとお客様から責められ続けるおそれがありますね。
  • Google App Engine for Javaを使ってみよう! (2)Images Java API の使い方

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

    Google App Engine for Javaを使ってみよう! (2)Images Java API の使い方
    takuno
    takuno 2010/03/02
    Googleのインフラで実行されるクラウドサービス「Google App Engine」が2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになった、Google App Engineを一緒に勉強して行きましょう!
  • Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース

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

    Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース
    takuno
    takuno 2010/03/02
    並列技術「MapReduce」にインスパイアされ、Rubyで実装された並列処理システム
  • 【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?

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

    【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?
    takuno
    takuno 2010/03/02
    ソースコードを読む速度は個人差が大きいことを確認しており、同じソースコードを理解するための時間に6倍の差がある事例を確認しています。
  • Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (1)

    はじめに 「軽量フレームワーク」と呼ばれるソフトウェアは、その「軽量」という言葉から、つい動作速度やプログラムサイズなどに目が向いてしまいがちです。しかし、「軽い」は物理的なことだけを示すわけではありません。 「手軽に使えるフレームワーク」を考えるとき、その最大の魅力はファイルサイズや動作速度よりも学習にかかるコストではないでしょうか。とにかく短期間で習得し使えるようになる、それこそが、今のフレームワークに何よりも求められるものかもしれません。 今回取り上げる「Apache Click」は、何より「低い学習コスト」を重視して開発されているフレームワークなのです。 対象読者 Javaで手ごろなフレームワークを探している技術者 最近のフレームワークをごくざっと理解しておきたい方 Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ Apache Clickとは? 「Apac

    Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (1)
    takuno
    takuno 2010/03/02
    今回取り上げる「Apache Click」は、何より「低い学習コスト」を重視して開発されているフレームワークなのです。
  • HTMLをXMLへ変換する自作クラス

    はじめに インターネット上で公開されている情報のほとんどはHTMLによって記述され、その情報量は膨大であり、人類が共有する資産として目を見張る物があります。 しかし、プログラム上からそれらの情報を利用する場合、一般的に、HTML内のタグや文字列を基に情報を解析する必要があるため、簡単に扱うことができません。 そこで、HTMLを現在さまざまな情報のプロトコルとして採用されているXMLへ変換することによって、情報の利用を簡便化できるHtmlConverterというクラスを紹介したいと思います。 対象読者 C#を扱える方。 必要な環境 VisualStudio .NET 2003以上、または .NET Framework 1.1以上がインストールされていること。 概要 HtmlConverterクラスは、「ネットワーク上のURL」または「HTMLが記述されているファイル」、「HTMLで記述された

    HTMLをXMLへ変換する自作クラス
  • OSSの仮想化管理アプリ「Karesansui 1.1」公開 Xenのほか、新たにKVMに対応

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

    OSSの仮想化管理アプリ「Karesansui 1.1」公開 Xenのほか、新たにKVMに対応
    takuno
    takuno 2010/03/02
    Karesansuiは、日本発のオープンソースサーバ仮想化管理ソフトウェア。オープンソースのXenおよびKVMハイパーバイザーをサポートし、ゲストOSの起動・停止・管理(スナップショットの作成、CPU数・メモリサイズの変更など)
  • オープンソースApache Tuscanyで楽しむSOA 第1回「Apache Tuscanyの紹介」

    はじめに この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。第1回目の今回は、Tuscanyの誕生までの歴史と、Tuscanyとは何かを紹介していきます。 「楽しむ」という言葉に反応された方も多いでしょう。「SOAって楽しめるわけがない」「Webサービスの膨大な仕様書があるけどよくわからなかった」「簡単なことをやる割には、SOAPとかWSDLとか結構面倒だし」という声が聞こえてきそうです。そこなんです、当連載の目的は。Tuscanyは膨大なWebサービスの仕様書を読まなくても開発できます。Webサービスの面倒な部分はコンテナが勝手にやってくれます。JSONやATOMを使ったAjaxについてもほとんど知識

    オープンソースApache Tuscanyで楽しむSOA 第1回「Apache Tuscanyの紹介」
    takuno
    takuno 2010/03/02
    Tuscanyは膨大なWebサービスの仕様書を読まなくても開発できます。Webサービスの面倒な部分はコンテナが勝手にやってくれます。JSONやATOMを使ったAjaxについてもほとんど知識は要りません。
  • Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse

    2008年4月7日に発表されたGoogle App Engineが、ちょうど1年後の2009年4月7日にJavaに対応したことが発表されました。さらに、Java開発には必須のEclipse用のプラグイン「Google Plugin for Eclipse」が同時に発表され、Java利用者は簡単にGoogle App Engine用のプログラム開発とEclipse上からのデプロイができるようになっています。今回はそんな便利な「Google Plugin for Eclipse」の使い方を説明します。 はじめに 2008年4月7日、Googleのインフラでウェブサービスを展開できるという「Google App Engine」が発表され世界中が驚かされました。この時点では利用できる言語としてPythonのみがサポートされており、Pythonの開発者がGoogleの社員であることを考えると当然なの

    Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse
    takuno
    takuno 2010/03/02
    Javaエンジニアも利用できるようになった、Google App Engineを一緒に勉強して行きましょう!
  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
    takuno
    takuno 2010/03/02
    Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 本稿ではその中で比較的
  • 要件定義の勘どころ

    はじめに 役に立つシステムを構築するための要件定義書とは、いったいどういうものなのでしょうか。 「何でこの機能が必要なんですか?」「理由は分からないけどXXX機能があるのでこの機能が必要なんです。これがないとつじつまが合わなくなるんです」もしくは「要件定義書にこの機能が載っているので必要なんです」など、要件定義書の役割を理解しないまま、システムの開発に着手していることなどがないでしょうか。 稿では、要件定義書の役割や重視すべき点、要件定義書に盛り込むべき情報について解説します。 何をやるのか、そしてなぜそうするのか 要件定義書はジグソーパズル? システム開発を受託した会社にコンサルテーションしたときのことです。機能とデータがある程度記述された要件定義書を受け取ったその会社では、要件定義書を読み解き、システムの全体像を掴むためにおのおのの機能の関係を整理し、その役割を把握しようとしていまし

    要件定義の勘どころ
    takuno
    takuno 2010/03/02
    役に立つシステムを構築するための要件定義書とは、いったいどういうものなのでしょうか。
  • プログラミング言語Nuの基本とインストール方法

    Nu is an interpreted object-oriented language. Its syntax comes from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is implemented in Objective-C and is designed to take full advantange of the Objective-C runtime and the many mature class libraries written in Objective-C. Nu code can fully interoperate with code written in Objective-C; messages can be sent to and from objects with no co

    プログラミング言語Nuの基本とインストール方法
    takuno
    takuno 2010/03/02
    「Nu」はLisp由来の文法を採用している。Objective-Cで書かれている言語で、Mac OS XやiPhoneなどで実行することが可能です。
  • PHPアプリでのナビゲーションUIの管理と表示 - Zend_Navigation -

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、ウェブページへのリンクを管理するためのモジュールであるZend_Navigationについて紹介します。Zend_Navigationを利用することで、メニューや特定のページへのリンクを作成や管理を行うことができます。 対象読者 PHPの基構文は一通り理解しているが、フレームワークを利用したことはないという方を対象としています。 必要な環境 Zend FrameworkはPHP 5.2.4以降とWebサーバがインストールされている環境で利用可能です。稿ではWebサーバとしてApache 2.2を、OSにWindows XPを採用し、アプリケーションを作成していきます。 以下に、今回アプリケーション作成/動作確認に用いた環境を示します(インストールにあ

    PHPアプリでのナビゲーションUIの管理と表示 - Zend_Navigation -
  • IEEEが定めるテスト設計仕様 ― 用語/テスト文書/要求仕様/設計

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

    IEEEが定めるテスト設計仕様 ― 用語/テスト文書/要求仕様/設計