タグ

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

  • サロゲートペア入門

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicodeでデータ処理

    サロゲートペア入門
  • 関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】

    前編では、Elm言語の基礎とFRPのエッセンスについてコードを通じて学びます。 後編では、実際にElmを使ってアプリケーションを作る方法と、その際に重要になるアーキテクチャを学びます。 なお、執筆時点でのElmのバージョンは0.15.1です。 注意! Elmはバージョン0.17で大きな変更がありました。現在は「関数型リアクティブプログラミング」のための言語ではありません。 参考:A Farewell to FRP(さらば FRP) また、言語自体のシンタックスやライブラリのAPIも以前とは大きく変わっています。これからElmを始める方は、必ず公式ドキュメントを参照してください。 公式ガイド FRPとは何か リアクティブプログラミングの直感的な説明としてよく挙げられるのが、Excelのような表計算ソフトです。 例えば、セルの間にC1 = A1 + B1という関係があるとします。 このように宣

    関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形 【前編】
  • Swiftから透けて見えるAppleのコンパイラ技術

    連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった

    Swiftから透けて見えるAppleのコンパイラ技術
  • いま最も注目のライブラリ「React.js」でシングルページアプリケーションを作ってみよう! 【前編】

    対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し

    いま最も注目のライブラリ「React.js」でシングルページアプリケーションを作ってみよう! 【前編】
  • 新プログラミング言語「Swift」の型と制御構文

    Swiftの特徴 Swiftを発表翌日にいじり倒してみたところ、次のような印象を受けました。 不変型を扱いやすくすることで、プログラマにプログラムの状態を排するように導いている 型のチェックが厳密になったことで、プログラムがランタイムエラーを起こす可能性が少なくなっている 関数型言語の性質を積極的に取り入れている この新言語に触れた人は、それぞれ違った印象を抱かれることでしょう。Swift言語の作者によれば、Objective-C, Rust, Haskell, Ruby, Python, C#, CLUなどから影響を受けているとのことですが、「あの言語にそっくりだ」「この言語にそっくりだ」という印象は、その人が深く知っている言語によって変わってくるのでしょう。 稿では、iPhone/iPadMacのアプリケーション開発で使われてきたObjective-Cと比較しつつ、この新言語の特徴

    新プログラミング言語「Swift」の型と制御構文
  • 「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側

    6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWS で作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWSで作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 ソーシャルアプリ開発に Python×Django×AWSを選んだワケ gumiは、エンタメ情報に特化したモバイルSNS「gumi」を手がける開発会社で、日初の携帯向けOpenSocialプラットフォーム「gumi Platform」を提供

    「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側
  • HTML5とCSS3を使ってスマートフォン向けサイトを構築 - iPhone版Yahoo!JAPANトップの開発事例紹介

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

  • iPhoneネットワークプログラミング

    はじめに iPhoneプログラミングに関する筆者の前回の記事では、iPhoneアプリケーション内からWebサービスを利用(consume)し、そこから返されるXMLデータを解析する方法について考察しました。Webサービスは今とても流行っているものの、Webサービスを利用するために必要とされるペイロードはかなり大きく、わずかなデータを取り出したいだけの場合は無駄が多いように感じられます。問題は、SOAPパケット自体が多くのバイト数を消費することです。そこで、これに代わる方法としてソケットを利用することを考えます。ソケットを使えば、余分なXMLペイロードなしに情報をやり取りすることが可能です。また、サーバとの接続が確立した状態を維持できるので、アプリケーションを非同期で動かして、送られてきたデータを必要なときだけ受け取るようなことも可能です。 稿では、TCP/IPを使用してサーバと通信する方

    iPhoneネットワークプログラミング
  • iPhoneアプリケーションでXML Webサービスを利用する(1/5):CodeZine

    はじめに 外部の世界との通信は、iPhoneアプリケーションを楽しく便利なものにする方法の1つです。これだけ多くの便利な機能を提供する無数のWebサービスが存在する今日では、特にそう言えます。しかしiPhoneWebサービスを利用することは、なかなか根性が必要な作業です。他の開発ツール(Microsoft Visual Studioなど)と異なり、XcodeにはWebサービスの利用を容易にするツールが組み込まれていません。すべてを手作業で行い、Webサービスに送信する適切なXMLメッセージを作成し、返されたXMLの結果を解析する方法を知る必要があります。 稿では、iPhoneアプリケーション内からXML Webサービスと通信する方法を詳しく説明します。稿のサンプルを通じて、各プロジェクトから他のWebサービスを利用するための基礎を学んでもらいたいと思います。 Webサービスを利用する

  • 原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine

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

    原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine
  • PHPでよりユーザフレンドリなURLを設計するために - Zend_Controllerの新しいルーティング機能 -

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回はZend_Controllerの最新機能を紹介したいと思います。以前Zend_Controllerを扱ったときからおおよそ2年半経過し、その間にZend Frameworkのバージョンも1.0から1.10にまでなりました。 この間にZend_Controllerコンポーネント内でもいくつかの変更がありました。具体的にはルーティングとアクションヘルパーについて、追加された機能や変更された機能があります。今回はこれらのうち、ルーティングへの変更を取り上げます。 対象読者 PHPの基構文については一通り理解している方を対象としています。また、過去の記事からの差分を中心に扱っているため、必要に応じて過去の記事を参照してください。 必要な環境 Zend Frame

  • PHPUnitでできる単体テスト

    はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 記事では、連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

    PHPUnitでできる単体テスト
  • 開発者注目のはてなブックマーク:CodeZine(コードジン)

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

    開発者注目のはてなブックマーク:CodeZine(コードジン)
  • PHPで行う動画変換(前編)

    はじめに オープンソースの動画変換ソフトフェアの一つにffmpegがあります。ffmpegはさまざまな形式の動画、音声データの変換に対応していて、コマンドラインから操作でき、PHPJavaなどで作成したアプリケーション内から呼び出すこともできます。 ffmpegの機能の一部をPHPで使えるようにしたエクステンションにphp-ffmpegがあります。php-ffmpegを利用するとPHP内でffmpegの機能を容易に呼び出せます。またphp-ffmpegとは別にPHPのみでffmpegの機能を使えるライブラリ FFMPEG-PHP Classが公開されています。 記事ではphp-ffmpegFFMPEG-PHP Classを使用して動画のプロパティ取得、flv(注1)への動画変換、Youtubeから動画をダウンロードして3gp(注2)への動画変換を実装する方法を2回にわたって説明します

    PHPで行う動画変換(前編)
    tksthdnr
    tksthdnr 2010/06/16
    ffmpegを使う
  • 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 -
  • Google App Engineで開発するスケールするアプリケーション(前編)

    はじめに 「人類が使うすべての情報を集め整理する」 この壮大なミッションを掲げ設立されたGoogleは、そのミッションを遂行するべく、マシン・ネットワークなどのインフラ環境に莫大な金額を投資し、独自の技術を開発し続けています。Googleは検索エンジンだけにとどまらず、Gmail、Google Calendar、Google Maps、Google Analystics、Youtube、Google Apps、Google Earthなど、いまや全世界のユーザーが使用するサービスをリリースしており、その扱うデータ量、アクセス数は天文学的な数になることが予想されます。Googleはそれらのデータ量、アクセス数を高速にさばき、なおかつ耐障害性の高いスケーラブルな大規模分散システムを構築しています。 そんな中、2008年4月にGoogle App Engineがリリースされました。Google

    Google App Engineで開発するスケールするアプリケーション(前編)
    tksthdnr
    tksthdnr 2009/12/05
  • コマンドラインからのPHPアプリケーション管理 - Zend_Tool -

    連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、Zend Frameworkの1.8から導入されたRADのツールのコマンドラインインターフェイスを提供しているZend_Toolモジュールの紹介をします。 はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介していきます。今回は、Zend Frameworkの1.8から導入されたRADのツールのコマンドラインインターフェイスを提供しているZend_Toolモジュールの紹介をします。 Zend_Tool自体は汎用的なツールを書くための枠組みになっていますが、現段階では、コマンドラインからZend Framework MVC プロジェクトを管理するための機能だけが組み込まれています。今回の記事では、このプ

    コマンドラインからのPHPアプリケーション管理 - Zend_Tool -
    tksthdnr
    tksthdnr 2009/11/18
    Zend_Tool
  • JaxerによるサーバーサイドJavaScript

    はじめに 既に「Ajax」という言葉が陳腐に感じてしまうほど、JavaScriptはWeb開発者の間に広く浸透しています。今では、クライアント側でのUI構築にJavaScriptは不可欠となっている、といってよいでしょう。クールなサイトを目指してJavaScriptを必死に勉強する人はずいぶんと多いはずです。 が、ある程度まで学習が進むと、多くのJavaScriptプログラマは「壁」にぶつかってしまいます。それは「サーバーサイドプログラム」という壁です。Ajaxによるサーバーへの非同期通信が当たり前のように使われるようになった今、JavaScriptプログラミングといえども「サーバー側に用意されるプログラム」の作成なしには行えなくなりつつあります。 サーバーサイドのプログラム作成はどうすべきなのか。PHPを勉強するのか、Perlあたりがいいのか、はたまたRubyPythonか。いずれにせ

    JaxerによるサーバーサイドJavaScript
  • RADツールによるPHPアプリケーション速効開発 - Zend_ToolとZend_Application -

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークであるZend Frameworkについて紹介しています。今回から数回に分けて、Zend Frameworkの1.8から導入されたRADのツールについて説明していきます。 RADは「Rapid Application Development」の略で、プロトタイプを作成していきながら必要な機能を加えていくソフトウェア開発手法を指します。多くの場合には開発環境を利用し、コードなどを自動生成することで開発を迅速に行えるようにします。 今回から紹介するRADツールは、このうちのコードの自動生成などをコマンドラインから行うためのツールです。例えば、連載の記事についてきたサンプルですが、毎回似たようなディレクトリ構造やファイルがありました。これまでは、(建前としては)いちいちそれらを作り直していたわけですが、今回から紹介するZen

    RADツールによるPHPアプリケーション速効開発 - Zend_ToolとZend_Application -
  • プロトタイプ(prototype)によるJavaScriptのオブジェクト指向

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をして

    プロトタイプ(prototype)によるJavaScriptのオブジェクト指向