タグ

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

  • Node.js/JavaScriptの情報収集手段 ~変化が激しいOSSは、直接GitHubをウォッチする

    はじめに 初めまして。Node.js日ユーザーグループ代表の古川(@yosuke_furukawa)です。日ユーザーグループ代表としての活動は二ヶ月に一度開催されるNode学園のオーガナイズと、一年に一度開催されるNode学園祭の開催です。また、io.jsエヴァンジェリストとして、毎週のio.js newsの記述やロードマップの公開等、io.jsを広める活動もしています。このような私が、Node.jsについて普段どんな風に情報収集を行っているかを紹介します。 Node.jsの現在 Node/io.jsは変化が激しいコミュニティであると言われております。一つその例を示すグラフを見てみましょう。 このグラフは、npmと、RubyGemsやPyPI、Mavenといった他のパッケージマネージャのライブラリの登録数を時系列で表したものです。緑のグラフがnpmですが、飛び抜けて増えているのが分かる

    Node.js/JavaScriptの情報収集手段 ~変化が激しいOSSは、直接GitHubをウォッチする
  • CoffeeScriptベストプラクティス集 Node.jsアプリケーション編(3)

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

    CoffeeScriptベストプラクティス集 Node.jsアプリケーション編(3)
  • CoffeeScriptベストプラクティス集 Node.jsアプリケーション編(1)

    イベント駆動型のプログラムをきれいに作る JavaScriptのプログラムは、イベント駆動型で非同期な構造が基となります。他のプログラミング言語で一般的な「同期型」の関数では、例えばネットワーク経由でデータを読み込む場合、データを読み込む関数を実行するとその読み込みが完了するまでプログラムの実行は止まったままになります。 それに対して、「非同期型」の関数を使うとデータの読み込みが完了するまで他の処理を実行でき、読み込みが完了した後で特定の関数を呼び出してもらうことができます。身近な例に例えると、メールを送信して相手からの返信が来るまで何もせずに待つのが同期型関数だとすれば、非同期型関数は返信を待つ間に他の仕事をこなすことができます。 Webアプリケーションはネットワーク通信部分に最も時間がかかる場合が多いため、その待ち時間に他の処理をこなせば、ただ待っているよりも遥かに効率よく多くの処理

    CoffeeScriptベストプラクティス集 Node.jsアプリケーション編(1)
  • デブサミ2012、講演スライド資料まとめ

    翔泳社主催のソフトウェア開発者向けカンファレンス「Developers Summit 2012」(以下、デブサミ2012)が先週末に2日間かけて開催されました。ご参加いただいた皆様、ありがとうございました。現在Web上で一般公開されている講演スライドの入手先をまとめましたので、ぜひご参考ください。 2月16日(木):A会場 【16-A-1】見る前に翔べ ~ギークの工夫で社会を変えよう~ 【16-A-2】大規模ソーシャルゲーム「ドラゴンコレクション」 ~ そのシステム運用の最前線を語る! 【16-A-3】デブサミをきっかけに転職したエンジニアの歩き方 【16-A-4】Effective Smartphone UX at GREE 【16-A-5】node.jsテクノロジースタック for ソーシャルアプリケーション 【16-A-6】いまどきのi18nのはなし 【16-A-7】あの人の自分戦略

    デブサミ2012、講演スライド資料まとめ
  • Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

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

    Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する
  • 正規表現の入門(2) 難しいメタ文字

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

    正規表現の入門(2) 難しいメタ文字
  • Djangoチュートリアル(前編)

    はじめに 近年、Webアプリケーション開発で用いるプログラミング言語として、Lightweight Language(以降LL)と呼ばれるスクリプト言語が人気を博しています。稿では、そのスクリプト言語の中からPythonとWebアプリケーションフレームワークのDjango(ジャンゴと読む)を紹介します。 Pythonの大きな特徴として、「言語仕様が小さくシンプルであり、簡潔で読みやすいアプリケーションを作れる」という点が挙げられます。DjangoPythonの簡潔さをうまく活かし、シンプルかつ格的な開発ができるWebアプリケーションフレームワークです。稿ではこのDjangoによるアプリケーション開発の基をチュートリアル形式で説明します。 対象読者 PythonによるWebアプリケーション開発に興味がある方 日頃、PerlRubyPHPJava、C#などPython以外のプロ

    Djangoチュートリアル(前編)
  • サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」

    はじめに 稿では、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneAndroidによるスマートフォン開発の経験のある方。JavaPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「

  • HTML5はこれからどうなっていくのか ここが違う!サンプルで見るHTML5(6)

    はじめに この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。 過去の連載も読む 第1回:HTML5が注目を浴びる理由とは? 第2回:HTML4から変化したHTML5のマークアップ 第3回:HTML5で再定義された要素と属性 第4回:HTML5で実現できるマルチメディア系機能 第5回:HTML5で進化したフォーム機能 オープン・ウェブ 連載では、HTML5のマークアップについてウェブページという視点で解説してきました。しかしこの視点は、HTML5やそれに関連する新たなウェブテクノロジーが扱う範囲のごく一部でしかありません。連載の最後となる今回は、HTML5を含む次世代のウェブテクノロジーが進む方向性について見ていきましょう。 連載の第1回では、HTM

    HTML5はこれからどうなっていくのか ここが違う!サンプルで見るHTML5(6)
  • HTML5で進化したフォーム機能 ここが違う!サンプルで見るHTML5(5)

    はじめに この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。 過去の連載も読む 第1回:HTML5が注目を浴びる理由とは? 第2回:HTML4から変化したHTML5のマークアップ 第3回:HTML5で再定義された要素と属性 第4回:HTML5で実現できるマルチメディア系機能 新たに導入されたフォームコントロール これまでウェブにおける入力フォームコントロールは、非常に限られたものしかありませんでした。皆さんがよくご存じのテキスト(パスワード)入力フィールド、ラジオボタン、チェックボックス、セレクトメニュー、テキストエリア、ファイル選択です。お問い合わせフォームであれば、ほとんどのシーンで十分といえるでしょうが、ウェブアプリケーションにおいては、不足してい

  • C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」

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

    C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」
  • 時間のかかる処理で「処理中」を表現する(後編)

    はじめに 前編では、16bitOSだった時代から伝わる伝統的な手法(メッセージポンプ)を紹介しました。反応が鈍いと感じはするものの、同時に複数の処理を実行する手段を持たなかった時代だったため、不自由しているという感覚はありませんでした。しかし、そのような時代は既に歴史の1ページに過ぎず、32bit(あるいは64bit)OSの現在では、こういった処理はそれぞれ別に実行し、同時に処理するマルチスレッドを利用するのがよいとされています。 後編となる今回は、マルチスレッドを利用し、時間のかかる処理とメッセージの処理の2つを効率よく行う方法のいくつかを紹介したいと思います。 対象読者 C++Windowsアプリケーションのプログラム開発経験がある開発者 必要な環境 Visual C++ 2010 Express Editionまたはそれ以上のエディションがインストールされた環境 どの処理をメインス

    時間のかかる処理で「処理中」を表現する(後編)
  • 今からでも遅くない これから始めるScala(後編)

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

    今からでも遅くない これから始めるScala(後編)
  • HttpUnitを利用したWeb画面テストの自動化

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

    HttpUnitを利用したWeb画面テストの自動化
  • 時間のかかる処理で「処理中」を表現する(前編)

    Vistaになって顕著に表れるようになった「(応答なし)」。Windows 7で若干減ったものの、見かける状況に変わりはありません。連載では、C++とWin32 APIを利用して「(応答なし)」を表示せずに長い時間作業を行うための方法を、2回に分けて紹介していきます。 はじめに この数年で2000/XPだった環境が一気にVista/Windows7に変わり、マシン(処理)が速くなったと喜ぶ声を聴きます。しかし、処理速度が上がったにもかかわらず、今までよりも頻繁にキャプションに「(応答なし)」と表示されてしまっているのではないでしょうか。 稿では、この「(応答なし)」がなぜ出てしまうのか、どうしたら意図しない「(応答なし)」を表示させずに済ませることができるのかを、C++とWin32の最新テクノロジを用いてチップス的に紹介したいと思います。 対象読者 C++Windowsアプリケーショ

    時間のかかる処理で「処理中」を表現する(前編)
  • 「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能

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

    「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • CUnitによるテスト駆動開発

    はじめに CodeZineでの僕のデビュー記事『Cで実現する「ぷちオブジェクト指向」』、おかげさまでなかなか好評だったようです。まだまだCは現役だと実感しました。 前回に引き続きCのお話です。テストをよりどころに実装をすすめ、信頼できるコードを書くためのプラクティス「テスト駆動開発」(TDD:Test Driven Development)を、Visual C++ 2005 Express EditionとUnit Test Framework: CUnitで行います。 対象読者 そこそこのコードは書けるようになったけれど、どうも詰めが甘い/くだらないバグに出くわす/あっちを直すとこっちが壊れ、ぐだぐだになってしまう…そんな症状に悩まされている脱ビギナを目指すプログラマ。 テスト、してますか? 「プログラムは思ったとおりには動かない、作ったとおりに動く」 思ったとおりに作ってないと思ったと

    CUnitによるテスト駆動開発
  • Cで実現する「ぷちオブジェクト指向」

    はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++Java、VB.NETさらにはRubyPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。 対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。 抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、デ

    Cで実現する「ぷちオブジェクト指向」
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

    システムの多機能化により、プログラムの内容が複雑化している。テクマトリックスの『Understand』は、プログラムの構造を可視化することで、ソースコードの解析時間を大幅に削減できる開発支援ツール。今回は同社の福永一寛氏に、Understandの機能や特徴について聞いた。 システムの多機能化により、プログラムの内容は複雑化している。既存コードの改修や多人数での開発における情報共有のためには、プログラム構造の理解が必須だが、ドキュメントと実装内容とが乖離している場合も多く、解析自体に工数がかかることもある。テクマトリックスの『Understand』は、プログラムの構造を可視化することで効率的なソフトウェア開発をサポートするソフトウェア開発環境。「組込みシステム開発技術展(ESEC)」にて、同社の福永一寛氏にその特徴を聞いた。 ソースコードの解析作業時間を大幅に削減する『Understand』

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ