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

  • Pythonで使って覚えるEvernote API

    Evernoteは直感的な操作でクラウド上に情報を蓄積できるサービスです。記事ではEvernoteが公開しているAPIPythonから利用し、APIの基機能を確認していきます。また、Evernote APIの活用方法として、ノートの内容からタグを付与する、簡易なプログラムの作成方法を紹介します。 はじめに Evernoteはクラウド上にあらゆる情報を記録できる便利なサービスです。筆者も技術情報から日常生活におけるちょっとした備忘録まで、さまざまな情報をストックするのに活用しています。EvernoteAPIを公開しているので、Evernoteを活用したアプリケーションや、自分専用のツールを作るとその便利さがさらに広がっていきます。 記事ではEvernote APIPythonから利用する方法を解説し、ノートの内容からタグを付与する簡易なプログラムを作成していきます。 対象読者 P

    Pythonで使って覚えるEvernote API
  • 状態遷移図/表、すなわち設計をコードでテストする

    状態遷移表からひな型コードを生成する この状態遷移表からコードを起こすわけですが、状態遷移の実装については『StateパターンでCSVを読む』を書きました。デザイン・パターンの一つ:Stateによる実装です。今回の実装はC、継承も仮想関数も使えないという利き腕を封じられた条件なので戦術を大きく変えにゃならんです。 状態遷移の実装は要するに「(1)現状態 と (2)受理したイベント の組」に対応する「(3)アクション と (4)遷移先(新たな状態)」を引き当てることに他なりません。ならば上記(1)~(4)の並びをレコードとし、そのレコード列(=状態遷移表)から「(1)現状態 と (2)受理したイベント の組」に一致するレコードを探し出して「(3)アクション を実行して (4)新たな状態 に遷移」すればいい。 状態遷移表からひな型コードの生成には使い慣れた「T4-template」を用います。

    状態遷移図/表、すなわち設計をコードでテストする
  • PaaSの基礎知識とHerokuで開発を始める準備

    この連載では、まだPaaS(Platform as a Service)でアプリケーションを作成したことのない方に向け、米Salesforceが提供しているPaaS環境「Heroku」を使ってPaaSアプリケーション開発を学んでいきます。Heroku環境を整え、実用的なアプリケーションを作れるようになることを目標に、Heroku上で実際に動作するサンプルプログラムを交えて解説します。初回である今回は、PaaSならびにHerokuの概要と、Herokuを使うためのセットアップ方法を説明します。 PaaSとは何か・Herokuとは何か PaaSを一言で表現すると「アプリケーションを実行するためのプラットフォーム」と言えます。 プラットフォームと一言でいっても範囲が広すぎてやや漠然とした印象がありますが、「アプリケーションを実行するための」プラットフォームを考えた場合、そこには次のものが含まれま

    PaaSの基礎知識とHerokuで開発を始める準備
  • Groovy+GrailsでRailsなWeb開発一覧

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

    Groovy+GrailsでRailsなWeb開発一覧
  • 原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine

    はじめに MSDNライブラリには、マイクロソフトの技術情報が大量に掲載されていますが、英語版に比べ、日語版の内容は中途半端なのが実状です。 たとえば、スレッドの優先順位を設定する「SetThreadPriority」関数の説明を見ると、英語版には「Windows Server 2008およびWindows Vistaでは、スタートアップやレジストリのRUNから自動実行されたプログラムに対するスレッドの優先順位指定が、システム開始から60秒程度効かない」との注意書きがありますが、日語版にはありません。 また、仮想ディスクの情報を設定する「SetVirtualDiskInformation」関数を検索すると、英語版には説明がありますが、日語版には項目自体がありません。 そこで記事では、MSDNライブラリの英語版がスラスラ読めるように、とはいきませんが、英単語で引っかかることが少なくなる

    原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine
  • Groovyってどんな言語? JavaプログラマのためのGroovy入門

    Ruby on Railsの登場以後、さまざまな言語でRailsタイプのフレームワークが普及する中、Javaは一人取り残されていました。そこでJavaプログラマ向けに登場したのが、GroovyによるRailsライクなフレームワーク「Grails」です。Groovyは、Javaではありませんが、Javaプログラマなら、ほとんどJavaと同じ感覚でスクリプトを書くことができます。第1回目はまず、Javaプログラマのために「Groovyとはどんなものか」について、ごくかいつまんで説明します。 はじめに Ruby on RailsRails)が登場して以後、さまざまな言語でRailsタイプのフレームワークが登場し使われるようになりました。そんな中、一人ぽつねんと置き去りになっていたのが「Java」でした。Javaの世界では、既にStrutsというデファクトスタンダードとなるフレームワークがありま

    Groovyってどんな言語? JavaプログラマのためのGroovy入門
  • グラス片手にアジャイル開発 第1回 ― 実践的アジャイル開発とは

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

    グラス片手にアジャイル開発 第1回 ― 実践的アジャイル開発とは
  • 文字コード変換プログラム「nkf 2.0.9」リリース

    語の文字コード変換プログラム「nkf(network kanji filter)」が1年半ぶりにバージョンアップされ、2.0.9が1月20日にリリースされた。このバージョンは、Ruby 1.9.1に同梱される。 日語の文字コード変換プログラム「nkf(network kanji filter)」が1年半ぶりにバージョンアップされ、2.0.9が1月20日にリリースされた。このバージョンは、Ruby 1.9.1に同梱される。 2.0.8からの主な修正点として、以下のオプションが追加された。 全角カタカナを半角カタカナに変換するオプション(-Z4) 改行コードの推定を行うオプション(-g=0、-g=1、 --guess=0、--guess=1) また、今回のリリースよりライセンスが変更され、これまでの独自ライセンスから、zlibライセンスが適用されるようになった。zlibライセンスは、Op

    文字コード変換プログラム「nkf 2.0.9」リリース
  • 自然な思考で当たり前のプログラミングを~Bjarne Stroustrup氏との対話~

    はじめに 連載では、プログラミング言語「C++」を設計し、最初に実装したBjarne Stroustrup氏を取り上げてきました。同氏は「C++」を設計しただけではなく、20年以上の長期に渡りその発展のために努力してきました。筆者は、連載をこれまで閲覧されてきた皆さんが“20年”という数値をどのように解釈されているのか大変気になっています。 国際標準プログラミング言語C++にはSTL(Standard Template Library)と呼ばれるライブラリが採用されています。STLを創案したのはAlexander Stepanovという人ですが、同氏はStroustrup氏の求めに応じて「Short History of STL」(PDF)という小論文を起草し、STLの歴史を手短に整理しています。その論文に目を通してみると、『STLは私の20年間の思索の結論である』という一文に出会うこ

    自然な思考で当たり前のプログラミングを~Bjarne Stroustrup氏との対話~
  • 2008年、Googleがリリースしたサービス/APIのまとめ

    今年も多くのサービスや話題を提供してきたGoogleGoogle Code Blogの23日付けエントリーにおいて、Googleが2008年に発表したサービスの総括が述べられてる。 同ブログでは、今年新たにリリースしたサービスとして以下の7つをあげている。 App Engine Googleのインフラ上でWebアプリケーションの実行/開発が行えるホスティングサービス。4月に限定公開、5月に一般公開した。一般公開時には、15万人以上がウェイティングリストに入っていたという。現在はプレビュー版となっており、無料で利用できる。年明けには有料プランも開始される予定となっている(参考リンク:15万人が待っていた、「Google App Engine」一般公開)。 Web Toolkit 1.5 JavaでAjaxアプリケーションを作成するための開発ツール。8月末にリリースされたバージョン1.5から

    2008年、Googleがリリースしたサービス/APIのまとめ
    kokorokara
    kokorokara 2008/12/25
    google api
  • C#による多言語対応アプリケーション開発のコツ

    C#言語(以下、C#)とVisual C# 2008(以下、VC#)を用いると、驚くほど簡単に多言語対応アプリケーションを作成することができます。しかし、多言語対応アプリケーションを作るための文書はネット上に散見していて、まとまった情報を手に入れることが難しいのが現状です。そこで稿では、オープンソースソフトウェアの日語化を通じて筆者が知った多言語化に関するTipsをまとめてみようと思います。 0.はじめに C#言語(以下、C#)とVisual C# 2008(以下、VC#)を用いると、驚くほど簡単に多言語対応アプリケーションを作成することができます。 しかし、多言語対応アプリケーションを作るための文書はネット上に散見していて、まとまった情報を手に入れることが難しいのが現状です。 そこで稿では、オープンソースソフトウェアの日語化を通じて筆者が知った多言語化に関するTipsをまとめてみ

    C#による多言語対応アプリケーション開発のコツ
  • 効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~

    はじめに 一般的なWebアプリケーション開発では、「Webクリエイター」と「Webプログラマ」という役割が存在します。Webクリエイターは画面表示に関するデザインやマークアップを担当し、Webプログラマは、動的処理機能の構築を担当しています。最終的にそれぞれのリソースの結合が行われ1つのサイトが完成します。 最近では、“リッチクライアント”というキーワードで語られる豊かなユーザーインターフェースを持ったWebアプリケーションの開発がトレンドとなっており、かつてサーバサイドでの技術を発揮していたプログラマにもクライアントサイドの知識や技術が要求されるようになってきています。こうした状況の中で、Webプログラマが効率的な開発を行い、新しい技術に挑戦するために今までの構築手法や開発工程を見直す必要がでてきました。 稿では『システムの構造的に優れた設計』だけではなく、『あらゆるユーザーに配慮され

    効率的なWebアプリ開発の定石 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~
  • find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編

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

    find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編
  • Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine

    Web標準に従うことは、SEO効果、ユーザービリティ、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従ってWebサイトを制作しようとすると、制作者の頭を悩ませる多くの問題が待っています。連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 はじめに Web標準に従うことは、SEO効果、アクセシビリティ、ユーザービリティ、相互運用性、互換性、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従って「正しい(X)HTML+CSS」でWebサイトを制作しようとすると、制作者の頭を悩ませる多くの

    Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine
  • Python 3.0 正式版リリース:CodeZine

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

    Python 3.0 正式版リリース:CodeZine
  • OSDN、SourceForge.JPで分散レポジトリ型バージョン管理システム「Git」が利用可能に

    OSDNは14日、同社が運営するオープンソース・ソフトウェアの開発サイト「SourceForge.JP」において、分散レポジトリ型のバージョン管理システムであるGitのサポートを開始したことを発表した。今後、SourceForge.JPのすべての登録開発プロジェクトにおいて、CVS/Subversionリポジトリと共にGitを同時に利用することが可能となる。 Git機能の有効化/無効化は、SourceForge.JPのWebインターフェースから行え、複数個のレポジトリを作成することが可能となっている。また、Gitwebによるレポジトリ閲覧もサポートされる。 SourceForge.JPでは、今まで管理システムとして単一レポジトリ型のCVSおよびSubversionを採用していたが、LinuxカーネルやSamba、X.org、Ruby on Railsなど著名なオープンソース・プロジェクト

    OSDN、SourceForge.JPで分散レポジトリ型バージョン管理システム「Git」が利用可能に
  • AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~

    はじめに~クラウド・コンピューティングとは?~ 近頃、“クラウドコンピューティング”と呼ばれる、インターネット(クラウド)の向こう側でアプリケーションサービスや、サーバなどのハードウェアリソースを提供するサービスが急増しています。 ユーザーはインターネットにさえ接続できれば各種サービスを利用でき、そのサービスがどこで動いているかなど、サービスインフラを意識する必要がありません(図1)。そして、それらのサービスは無料、もしくは利用した分だけ課金される形態となっており、利用にあたり多くの初期投資を必要としません。 このクラウドコンピューティング・サービスを牽引する企業の1つが、米国のAmazon.com Inc.です。Amazonはクラウドコンピューティング・サービスを「Amazon Web Services(AWS)」という名称で展開しています。 連載では、この「Amazon Web Se

    AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~
    kokorokara
    kokorokara 2008/11/05
    amazon
  • 正規表現エンジンを作ろう (1)

    はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表

    正規表現エンジンを作ろう (1)
    kokorokara
    kokorokara 2008/11/05
    正規表現
  • HTML Canvasの3D対応への道を探る

    はじめに Webの世界はベクタグラフィックスで溢れており、FlashやSVGなど、さまざまなグラフィックスのフォーマットが登場しています。その中でも比較的最近登場したHTML Canvasは、他のベクタグラフィックスシステムと異なる独特の立ち位置にあります。 SVGはどんなプログラムからもレンダリングできる宣言型グラフィックスのファイルフォーマットであり、Flashはある完結したマルチメディアシステム(ブラウザ用のプラグインライブラリと、スクリプト言語の ActionScript、そしてコンテンツ作成ツール群で構成されるシステム)を中心に築かれています。これに対し、HTML CanvasはHTMLそのものです。事実、HTML Canvasは来るべきHTML 5仕様に含まれています。それゆえ、HTML CanvasはDOMツリーに統合されます。つまり、JavaScriptからアクセスできると

    HTML Canvasの3D対応への道を探る
  • ドキュメント作成に役立つ「日本語スタイルガイド」の紹介

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

    ドキュメント作成に役立つ「日本語スタイルガイド」の紹介
    kokorokara
    kokorokara 2008/10/28
    ドキュメント