タグ

ブックマーク / gihyo.jp (240)

  • 第3回 localStorageとpostMessageの使いどころ(3) | gihyo.jp

    localStorageとpostMessage postMessageを使うことで、サーバを経由しないで異なるドメイン間でのデータ受け渡しが可能だということを説明しました。またlocalStorageを使うことで「サーバには送られないがブラウザにのみ保持されるデータ」を気軽に作ることができるようになりました。 「他サービスのid」ならまだしも「どんなサービスを使っているのか」までも秘匿(ひとく)したいケースは実際にはまれでしょうから、そこまでストイックな、完全にクライアントサイドでのみデータを保持するサービスにこだわる必要もないでしょうが、方向性としては興味深いと思います。クライアントサイドでのみデータを保持するということは、ブラウザのキャッシュをクリアしたらデータが消えるということでもあります。そんな状況は好ましくないでしょうから、localStorageに当に永続化が必要な情報を入

    第3回 localStorageとpostMessageの使いどころ(3) | gihyo.jp
  • 第1回 複雑さは幸せを殺す ─初日/2日目キーノートと開発者向け注目セッションから | gihyo.jp

    2012年9月15日から17日の3日間、都立産業技術大学院大学で、毎年恒例となったPyCon JP 2012が開催されました。記事では3回にわたって、PyCon JP 2012で行われたセッションについてレポートします。 第1回目の今回は、PyCon JPの紹介と、キーノートの模様を中心にお伝えします。 PyCon JPとは PyCon JPとは、アメリカやヨーロッパを始めとする15ヵ国以上で開催されている、プログラミング言語Pythonのカンファレンス「PyCon」の日バージョンです。日国内はもちろんのこと、アメリカ台湾などからも参加者がありました。 また、PyCon JPの開催に先立ち開催された「PyCon Taiwan」にPyCon JPの運営スタッフが参加しました。その模様は「PyCon Taiwan 2012」参加レポートでご報告させていただいています。 参加に先立ち P

    第1回 複雑さは幸せを殺す ─初日/2日目キーノートと開発者向け注目セッションから | gihyo.jp
  • Google I/O 2012発JavaScript高速化Tips集 | gihyo.jp

    Google I/O 2012でChromeなどで使われているJavaScript エンジン、V8の開発者の1人であるDaniel Cliff ord氏がJavaScriptをより高速にV8で動作させるという講演を行いました。ここで紹介されていたTipsはV8での動作が前提になっているとはいえ、JavaScriptのパフォーマンスを考えるヒントになる点が多く国内外で注目が集まっていました。この資料と講演は英語でしたが、hosikitiさんが和訳したリストが日の多くの人の注目を集めました。 ① コンストラクタ関数内ですべてのオブジェクトメンバーを初期化する ② 常に同じ順番でオブジェクトメンバーを初期化する ③ Numeric型(31bitで表現される符号付き整数)をできるだけ使う ④ 0から始まる連続した値を配列のキーとして使う ⑤ 巨大な配列(64,000個以上の要素を持つもの)はあら

    Google I/O 2012発JavaScript高速化Tips集 | gihyo.jp
  • 第5回 Node.jsアプリケーションをHerokuで動かす | gihyo.jp

    はじめに 前回までで、Node.jsによる簡単なWebアプリケーションが一通り完成しました。今回はこの構築したアプリケーションを、クラウドベースのアプリケーションホスティングサービスであるHeroku上で、動かしてみたいと思います。HerokuはNode.js以外にもJava, Ruby, Pythonなどのアプリケーションをデプロイすることができます。 Herokuのセットアップ まず、Herokuのサイトから、「⁠Sign up」ボタンよりアカウントを登録してください。 図1 Herokuのサイト さらに、heroku toolbeltというHeroku用コマンドラインツールや開発およびデプロイに使うアプリケーション一式が提供されています。こちらを各々の環境に合わせてインストールします。 インストールが終わったら、コマンドラインからherokuに対する認証処理を行っておきましょう。 $

    第5回 Node.jsアプリケーションをHerokuで動かす | gihyo.jp
  • 第1回 外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(2) | gihyo.jp

    フロントエンドWeb戦略室 第1回外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(2) 速度に影響を与えないために まずは外部サイト向けのJavaScriptが、そのサイトの読み込み速度へ与える影響を考えてみます。 Webページのレンダリングをブロックしないようにする 特別な配慮なく外部JavaScriptを提供すると、読み込み速度に影響を与えてしまいます。 外部JavaScriptの読み込みが遅れた場合、ページ全体の描画が停止してしまうのです。これはdocument.writeなど、読み込んだページに対してHTMLを出力するような命令が含まれていた場合には、ページ全体のレンダリング結果に影響を与えてしまうためです。ブラウザはscriptタグが記述されている順番でJavaScriptを実行しなくてはいけません[6]⁠。これを回避するためには、次

    第1回 外部サイトに貼り付けるJavaScriptの作法―ポリシー、速度、セキュリティ、プライバシー(2) | gihyo.jp
  • 第5回 グラデーション描画や色のアニメーションの実装を簡単にする色処理関連の便利OSS3選 | gihyo.jp

    何とも地味なテーマですが、色処理まわりは技術的にだいぶ枯れており、実装でやりたいこともある程度パターン化されています。ゆえに便利なOSSが多く出揃っている部分でもあります。 今回はそんな色処理まわりの便利なOSSを3種類紹介します。 グラデーション描画のヘルパークラスLBGradient CocoaにはNSGradientというグラデーション描画用のクラスがあるのですが、iOSにはそれがないため、 このようなグラデーションを描こうと思ったらCore Graphicsを用いて - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); CGContextAddRect(context, self.frame); CGCol

    第5回 グラデーション描画や色のアニメーションの実装を簡単にする色処理関連の便利OSS3選 | gihyo.jp
  • 「第30回 HTML5とか勉強会 ~モバイルUIフレームワーク」活動報告 | gihyo.jp

    6月12日、第30回を迎えた「HTML5とか勉強会」は、Googleのオフィスをお借りして開催しました。今回は前回のテーマであったフレームワーク特集の続編として、モバイルUIフレームワークにフォーカスを当てたセッションが行われました。 稿では、今回のイベントについてレポートします。 レポートに入る前に、開催30回という節目を迎えた勉強会のこれまでを簡単に振り返ってみます。 これまでのスピーカーや参加者の人数、会場は次のとおりです。 スピーカーの人数:のべ約120人 参加者の人数:のべ約2,760人 場所をご提供いただいた企業様(敬称略、開催順⁠)⁠: シナップ Opera Software グリー 日マイクロソフト paperboy&co 情報通信総合研究所 グーグル ソフトバンクモバイル NHN Japan NTTコミュニケーションズ ミクシィ 慶應義塾大学 サイバーエージェント

    「第30回 HTML5とか勉強会 ~モバイルUIフレームワーク」活動報告 | gihyo.jp
  • 第3回 Express.jsを使ったWebアプリケーションを構築 | gihyo.jp

    はじめに 前回までは、Node.jsについての基礎的な説明からnpmによるパッケージ管理まで、紹介してきました。今回から、いよいよNode.jsを使ったWebアプリケーションを実装していきます。前々回に単純なHTTPサーバの実装についてコードとともに紹介しました。あれをみるとわかるとおり、nodeが提供するHTTPサーバの機能はプロトコルに沿ったローレベルなものになっています。例えば、リクエストが来たら、そのURLパスに従った処理を実行するために、リクエストURIの解析から実装していかなくてはなりません。そういったことが簡単に定義して処理を書けるWebアプリケーションフレームワークがnodeにも存在します。連載では、その代表格のExpressを使って実装してみたいと思います。 Expressのインストール Express(Express.jsと表記されることが多い)は、非常に手軽にnod

    第3回 Express.jsを使ったWebアプリケーションを構築 | gihyo.jp
  • 第1回 LESSのメリットと導入方法 | gihyo.jp

    CSSをより柔軟に、わかりやすく、速く、ミスを少なく記述できる 最近、CSSの拡張メタ言語「LESS」が話題になっています。LESSとは、かんたんに言えば、CSSの良いところを活かしつつも 「より柔軟に」 「よりわかりやすく」 「より速く」 「よりミスを少なく」 記述できるという、新しい書き方です。うさんくさいと感じるほどにいいことづくめですね。 CSSの拡張メタ言語には、LESSの他にも、Sass、Stylusといったものがありますが、LESSは一番CSSの書式に近く、活用するためのツールがそろっているのが特徴です。 最近LESSについて、はてなブックマークや技術系ブログでもたくさんとりあげられているので、実際に興味を持っている方や試した方もいらっしゃるかもしれません。しかし、まだ入門記事が多く、実際に導入したときのメリットをイメージできないことも多いのではないでしょうか? 連載では、

    第1回 LESSのメリットと導入方法 | gihyo.jp
  • 第2回 パッケージ管理npmとアプリケーションの永続化 | gihyo.jp

    はじめに 前回は、Node.jsについての説明から、モジュール参照の仕組みや最もシンプルなHTTPサーバの実装についてまで紹介しました。今回はパッケージ管理ツールのnpmとNode.jsアプリケーションの永続化について紹介します。前回記事に引き続く内容になっていますので、未読の際はそちらからなるべくご覧ください。 予期せぬ例外に備える 前回の記事で、どんなリクエストにも「Hello World」を出力するだけの、単純なHTTPサーバの実装を紹介しました。そして、アプリケーションとそれを動作させるHTTPサーバがJavaPHPなどと異なり、オールインワンの1つのプロセスで動くことも述べました。 このため、単にnode app.jsのように動作させた場合、例外が発生すると、サーバ機能ごとプロセスが終了してしまいます。そのため、サーバ機能まで道連れにしないように、アプリケーション側で例外処理を

    第2回 パッケージ管理npmとアプリケーションの永続化 | gihyo.jp
  • 第1回 PHPでアセンブラを作ってみた | gihyo.jp

    最近、FPGAなどを使ってCPUを自作する記事を目にするようになりました。CPUの命令コードは数字ですから、アセンブラソースを1行1行手で命令コードに変換していく(ハンドアセンブルする)ことになります。昔は、このためにコーディング用紙というものが売っていました。 最近のPICなどのマイコンには開発環境が用意されており、アセンブラなど必要な道具はすべて入っています。ですから、用意されているアセンブラを使うことがあっても、アセンブラを自分で作るという機会はなかなかないと思います。ここでは、アセンブラを作ってみることにしましょう。 PHPでアセンブラを作る アセンブラをどの言語で作るかですが、今回もPHPを使ってみました。フォーム上にソースを入力すると、バイナリが出力されます。対応しているのはPIC16Fの命令セットで、今回のアセンブラプログラムを使って開発環境で作ったものとまったく同じバイナリ

    第1回 PHPでアセンブラを作ってみた | gihyo.jp
    clavier
    clavier 2012/05/04
  • 第1回 様々なアニメーションを実現するiOSアプリ用トゥイーンライブラリ3種を比較! | gihyo.jp

    はじめに iOS SDK登場から早4年近くが経ち、使い回しの効くUIコンポーネントや、煩雑な手順を楽にするスクリプト、自作するには難易度の高い技術をライブラリ化したものなどなど、今では多くの便利なオープンソースソフトウェアが公開されています。 連載ではそんなオープンソースソフトウェアの中で、有用かつあまり日語での情報が少ないものを中心にご紹介していく予定です。具体的な使用方法や、ソースの内容にも踏み込んで解説していきますので、ぜひ皆様の日々の開発にお役に立ていただければ幸いです。 トゥイーンライブラリを使用するメリット UIViewのアニメーションで指定できるイージングの種類は、 UIViewAnimationOptionCurveEaseInOut UIViewAnimationOptionCurveEaseIn UIViewAnimationOptionCurveEaseOut U

    第1回 様々なアニメーションを実現するiOSアプリ用トゥイーンライブラリ3種を比較! | gihyo.jp
  • 「第27回 HTML5とか勉強会」活動報告 | gihyo.jp

    第27回目となる勉強会は、3月13日にニフティさんに会場をお借りして開催しました。 今回のテーマは「リッチクライアントをデザインする⁠」⁠。HTML5を用いたインタラクティブなウェブサイトのデザイン方法や、実際に行った経験のお話などを講演していただきました。 稿では、今回のイベントについてレポートします。 HTML5インタラクティブデザイン - デザイナとデベロッパによる生対談 最初は、C.A.Mobileの白石俊平さんと、同じくC.A.Mobileの稲田真帆さんによる、実際にウェブサイトを開発したときの話を対談形式で講演していただきました。 そのウェブサイトは、マイクロソフトから依頼されたデブサミ2012に展示するものでした。依頼された内容は、Internet Explorer 10で追加されるHTML5のAPIを利用したサイトを構築するというものだったそうです。最終的には以下の3つ

    「第27回 HTML5とか勉強会」活動報告 | gihyo.jp
  • 第5回 ゼロから始める継続的なAndroidアプリケーション開発のしくみ | gihyo.jp

    はじめに 近年、iOSやAndroid向けのアプリケーション開発が盛んに行われ、これまでWebが中心であったソーシャルアプリ開発も、徐々にブラウザの枠を超えたところに手を伸ばしつつあります。ソーシャルアプリ開発のプロジェクトは、多くの場合、スモールスタートで始まりますが、開発を続けていくにつれて、コードが増え、端末が増え、人が増え、気がつけば、機能を実現するための実装と関係ない部分でのタスクが膨れあがっていきます。そんなコストを技術的に解決するためのしくみがあれば、もっと質的な部分に時間を割くことができるはずです。 今回は、CI(継続的インテグレーション)ツールのJenkinsと内製のQA向けダウンロードツール、コードレビューツールのGerritを組み合わせた、継続的な開発をサポートするしくみ作りについて、ミクシィでのAndroidアプリケーション開発の事例を取り上げてご紹介します。 1

    第5回 ゼロから始める継続的なAndroidアプリケーション開発のしくみ | gihyo.jp
  • 「第5回 Jenkins勉強会」活動報告 | gihyo.jp

    はじめに 2月21日に楽天株式会社様の会場をお借りして、100名程度の参加者とともに第5回Jenkins勉強会を開催いたしました。稿では、イベントをレポートします。 今回の勉強会では、前半はいつものように有識者数名の発表を聴講し、後半はビアバッシュ形式で参加者皆さんと共に親睦を深めました。 なお、当日のUstreamをはじめ、各発表者の発表資料や参加者の感想ブログはwiki.jenkins-ci.orgにまとめられています。レポートの補足として参照ください。 DEV@cloudの実装~Jenkins-as-a-Serviceはどうやって動いているか~ 川口氏の今回の発表は、CloudBeesが提供しているJenkinsホスティングサービスDEV@cloudを構成する要素の紹介です。 EC2上で提供されているDEV@cloudでは、ProvidoreというJenkinsのスレーブをプー

    「第5回 Jenkins勉強会」活動報告 | gihyo.jp
  • 第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp

    OpenShiftについて 「OpenShift」は、米Red Hat社が運営しているPaaS型のクラウドサービスです。JavaPHPRubyPythonPerlに対応しており、それぞれの開発フレームワークを利用したアプリケーションを展開することができます。現在はまだプレビュー段階ですが、SLA無しなどといった条件のもとで利用することができるのが特徴です。 OpenShiftには、無償で利用できる「Express」と、有償の「Flex」の2種類のサービスがあります。ExpressではWebコンソールやコマンドラインツールを用いたWebアプリケーションの作成や公開、カスタマイズ、gitを用いたデプロイやリポジトリ管理などを行え、アプリケーションは共有のサーバインスタンスに展開されます。 一方Flexでは、自前のサーバインスタンスやクラウドオブジェクトを作成・展開することが可能で、その

    第25回 Red HatによるPaaS型クラウドサービス「OpenShift」 | gihyo.jp
    clavier
    clavier 2012/01/30
  • 2012年1月27日 カーネルコードに脆弱性! Linusみずからパッチを投稿するも… | gihyo.jp

    1月17日、Linus Torvalds氏はgit.kernel.orgに自らセキュリティパッチを投稿した。Linux 3.3の開発に忙しいはずのLinusがわざわざセキュリティパッチ? と疑問に思ったが、どうも今回発見された脆弱性は、いつもよりちょっと影響が大きいようだ。 Linusの投稿したパッチ (git.kernel.org) Linusの投稿によれば、この「CVE-2012-0056」と呼ばれる脆弱性はメモリハンドリングのパーミッションチェックに関するもので、放置しておくと攻撃者にルートファイルのアクセス制限を奪われる可能性がある。影響を受けるのはバージョン2.6.39以上のカーネルで、最新のメジャーディストロがこれを放置すれば危険な状態に陥ってしまう。この脆弱性はJüri Aedla氏によって報告された。 当然ながらディストロベンダはLinusが書いたパッチを早急に適用しなくて

    2012年1月27日 カーネルコードに脆弱性! Linusみずからパッチを投稿するも… | gihyo.jp
  • ジュンク堂書店池袋本店トークセッション「新春座談会 このコンピュータ書がすごい! 2012年版」開催報告 ~コンピュータ書年間総合ランキングベスト20も紹介~ | gihyo.jp

    ジュンク堂書店池袋店トークセッション「新春座談会 このコンピュータ書がすごい! 2012年版」開催報告 ~コンピュータ書年間総合ランキングベスト20も紹介~ 1月14日、ジュンク堂書店池袋店において、トークセッション「新春座談会 このコンピュータ書がすごい! 2012年版」が開催されました。 稿では簡単ではありますが、フォトレポートを交えながらイベントの録画とコンピュータ書総合ランキングベスト20を紹介します。 イベント登壇者。左から、矢野耕次((株)オライリー・ジャパン セールス&マーケティング⁠)⁠、森田尚((株)オーム社開発部⁠)⁠、村田純一((株)BNN新社編集部⁠)⁠、高橋征義((株)達人出版会代表取締役プログラマ/「日Rubyの会」代表理事⁠)⁠、杉山聡(ソフトバンククリエイティブ(株)情報書籍編集部⁠)⁠、稲尾尚徳((株)技術評論社 雑誌編集部 WEB+DB PRES

    ジュンク堂書店池袋本店トークセッション「新春座談会 このコンピュータ書がすごい! 2012年版」開催報告 ~コンピュータ書年間総合ランキングベスト20も紹介~ | gihyo.jp
    clavier
    clavier 2012/01/17
  • Future of Appsが提案する スマートフォンアプリ開発の新しいカタチ | gihyo.jp

    そこでFuture of Appsでは、予算と大まかなテーマだけを決めてもらい、それを元に開発会社が企画を自分たちで立案して提案するという形にしています。すでに予算は決まっているので、後は企画の内容だけを見て判断すればよいというわけで、シンプルにアプリの開発を発注できるという仕組みになっているのが特長です。 ―― アプリを開発する企業には、どういったメリットがあるのでしょうか? アプリの開発を発注してくれるクライアントを自分たちで見つけ出すことなく、アプリ開発を受託できる点ですね。実際にアプリを開発している企業には、優れた能力を備えたエンジニアを抱えているところがたくさんあります。ただ、受注につなげるためには、自分たちの能力をプロモーションして知ってもらわなければなりません。これが大変なんですね。 そういう意味で、アプリの開発会社の世界というのは芸能界や音楽業界に似ている部分があるのではな

    Future of Appsが提案する スマートフォンアプリ開発の新しいカタチ | gihyo.jp
  • 第2回 mixi SDKでAndroidアプリを作ろう | gihyo.jp

    mixi API SDK for Androidの準備をする mixi SDK(Android)から各種APIを使うためには、事前にいくつかの手順を踏む必要があります。これについては前回も触れているため、iOS版とAndroid版で違う部分のみ説明します。 パッケージ署名のハッシュ値を設定する まずPartner Dashboard上[1]で「パッケージ署名のハッシュ値」という項目を設定します。パッケージ署名のハッシュ値とはAndroidマーケットに公開する際にapkファイルに署名する署名ファイルのハッシュ値です。mixiアプリとmixi Graph APIで設定する個所が異なります。 mixiアプリ mixiアプリの設定画面で、アプリ対応範囲にAndroid版をチェックした場合に表示される「スマートフォン(Androidアプリ版)に関する設定」の部分(図1) 図1 パッケージ署名のハッシ

    第2回 mixi SDKでAndroidアプリを作ろう | gihyo.jp