タグ

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

  • 第646回 Raspberry PiをIoTデバイスとして活用できるUbuntu Core | gihyo.jp

    Ubuntuはデスクトップ向け・サーバー向けだけでなく、IoT向けの用途にも注力しています。その中核となるのが、普通のLinuxディストリビューションとは異なる「Ubuntu Core」です。今回はRaspberry PiにUbuntu Coreをインストールして、その片鱗を味わってみましょう。 SnappyとかSnapとか言われてきたUbuntu Core もともと「Ubuntu Core」は「Snappy Ubuntu Core」と呼ばれていた時期がありました。「⁠Snappy」はUbuntuがまだ「第三のモバイルOS四天王」の一角を占めていたころに登場した仕組みで、Ubuntu Phoneの開発で得られた知見を元に、よりIoT・コンテナ向けのシステムを構築するためのプラットフォームとなることが目的でした。 当時の「目論見」の詳細はUbuntu Weekly Topicsの2014年1

    第646回 Raspberry PiをIoTデバイスとして活用できるUbuntu Core | gihyo.jp
  • 第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp

    先を歩むエンジニアへのインタビューを通してエンジニアのキャリアについて考える連載、今回は古くからPerlコミュニティで活躍し、最近ではWebテクノロジ情報発信のポッドキャスト「Rebuild」が話題の宮川達彦さんにお話を伺いました。宮川さんは、筆者のクックパッドの同僚でもあります。 [撮影:平野正樹] プログラミングに興味を持ったきっかけ ─⁠─最初にプログラミングやエンジニアリングに興味を持ったのはいつでしょうか? 宮川:父親がプログラマだったので、コンピュータは小さいころから家にあったんですけど、プログラミングはしておらず、純粋にPCユーザとしてゲームとかで遊んでいました。プログラミングのきっかけは、東京大学に通い始めて、趣味でホームページや掲示板を作っておもしろいと思ったことですね。そのあと3年次に、理学部情報科学科を選択し学びました。それと前後して、大学の友達から「オライリー・ジ

    第3回 宮川達彦―最先端のWebエンジニアのキャリア | gihyo.jp
  • WEB+DB PRESS バックナンバー

    アフターコロナにおけるエンジニアチームの作り方,グローバルな視点でのエンジニア獲得と開発とコミュニケーションの在り方について取り上げます。 LINE テクノロジーエンジニアリング大全 「LINE DEVELOPER DAY 2020」より,注目すべきテクノロジーエンジニアリングをピックアップし,詳説インタビューを実施しました。 プロダクト思考で開発が進む「みてね」の今とこれから~みてねの生みの親笠原健治氏,開発マネージャ酒井篤氏が考える,プロダクトとエンジニアリングの素敵な関係

    WEB+DB PRESS バックナンバー
  • 第17回 Webアプリケーションのパフォーマンス改善(2) | gihyo.jp

    前回の(1)はこちらから。 ボトルネックの特定 システムの現状が把握できたところで、ボトルネックの特定に取りかかります。アプリケーションのレスポンスタイムのうち、どこにどれぐらいの時間がかかっているのかを特定していきましょう。 Time::HiResによる簡単な計測 Time::HiResモジュールを利用することで、特定の個所にどれぐらい時間がかかっているのかを計測できます(リスト5⁠)⁠。 リスト5 Time::HiResの使用例 use Time::HiRes qw/ gettimeofday tv_interval /; my $t0 = [ gettimeofday ]; # 計測開始 ... # 処理時間を計測したい処理 my $elapsed = tv_interval($t0); # 経過時間(秒) ここは遅いだろう、という部分に目星が付いている場合には、処理時間を確実に計測

    第17回 Webアプリケーションのパフォーマンス改善(2) | gihyo.jp
  • 第6回 クラウドサービスの比較:AWS、Windows Azure、さくらのクラウド | gihyo.jp

    今回でこの連載も最終回です。これまでAmazon Web Services、さくらのクラウド、Windows Azure、Google App Engineについて触れてきました。最終回ということでこれらのベンチマークを比較してみたいと思います。 unixbenchで比較 Amazon Web Services(AWS⁠)⁠、さくらのクラウド(以降さくら⁠)⁠、Windows Azure(以降Azure)は、IaaS(仮想サーバ)がありますが、Google App EngineはPaaSなので単純な比較はできません。まずは前者の3つについて、比較をしてみましょう。 今回はパフォーマンス計測の定番、unixbenchで比較をしてみました。 https://code.google.com/p/byte-unixbench/ 計測対象は下記の通りです。 ディスクについては、AWSではProvis

    第6回 クラウドサービスの比較:AWS、Windows Azure、さくらのクラウド | gihyo.jp
  • 第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp

    何でも埋め込めるのは楽ですが 前回紹介したHTML::MasonやText::MicroTemplateのように生のPerlコードを埋め込めるテンプレートエンジンは、Perlをよく知っている人が画面の設計からウェブアプリケーションのコーディングまでひとり(ないし、よく統制のとれた少人数のチーム)で行うときには非常に手軽で便利なものです。 ただし、なんでも書けるからといって、たとえばテンプレートの中でO/Rマッパのメソッドを直接呼び出すコードを書いてしまうと、そのテンプレートは(利用するO/Rマッパの性質にもよりますが)おそらく実際に動作するデータベースやそれに付随するテストデータを用意しないと、途中で「Can't call method "..." on an undefined value」などのエラーが発生してレンダリングできなくなってしまいます。また、アプリケーションの設定にあわせて

    第41回 HTML::Template::Pro:テンプレートに極力コードを書かせたくないときは | gihyo.jp
  • 第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp

    はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか

    第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp
  • 第4回 UTF-8の冗長なエンコード | gihyo.jp

    今回は、文字コードに関連するセキュリティの話題では古参ともいえるUTF-8の冗長なエンコードというテーマについて紹介します。 UTF-8とは UTF-8は、各文字を1~4バイトの可変長で表現するUnicodeの符号化方式のひとつです。 U+0000からU+007Fの範囲の文字を0x00から0x7Fの1バイトで表現しているため、US-ASCIIと互換性がある、バイト列の途中からでも文字の先頭バイトを簡単に検出できる、多バイト文字の途中に0x00や0x5C(\⁠)⁠、0x2F(/)などが現れない、などの特徴があります。 UTF-8での文字のビットパターンは表1のようになります。 表1 UTF-8でのビットパターン

    第4回 UTF-8の冗長なエンコード | gihyo.jp
  • 第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発 | gihyo.jp

    通常PhoneGapを使ったアプリ開発では、iOSシミュレータやAndroidエミュレータ、実機を使った動作確認をすることになります。各エミュレータの起動や実機へのインストールは、それなりの時間が発生します。今回は、機能実装・修正→確認のサイクルを効率良く回すためのモバイルエミュレータ「Ripple Emulator」をご紹介します。 Ripple Emulatorとは Ripple Emulatorは、Google Chromeベースのモバイルエミュレータです。各モバイルの画面サイズや、GPS、コンパス、モーションセンサを再現し、モバイルアプリの動作テストを行うことができます。 通常PhoneGapアプリを開発する場合、devicereadyイベントが発火した後でネイティブの機能を呼び出すことになります。このdevicereadyイベントはPhoneGap(Cordova)特有のイベント

    第2回 エミュレータ/実機なしで動作確認─Ripple Emulatorを使ったPhoneGapアプリ開発 | gihyo.jp
  • Gitに潜む光と闇 | gihyo.jp

    今年に入ってから、急速にGitが注目を浴びています。Google Trendsを見ると、Subversion、Mercurialなどに比べると圧倒的にGitの人気が高いのがわかります(図1⁠)⁠。 図1 Google TrendsによるGit(青⁠)⁠、Mercurial(赤⁠)⁠、Subversion(橙)の検索数 しかしながら、Gitを利用する人の意見は2つに分かれています。 A.わかりにくい B.すごく便利だ なぜこのようなに印象が二分されてしまうのでしょうか? 稿では、「⁠Gitに潜む光と闇」と称してこれらの意見に対して考察していくことにします。 Gitはわかりにくい? Gitがわかりにくいと思う人は、どうしてそう感じるのでしょうか。そのあたりのおおよその事情は下記のようなことだと考えられます。 (1)Subversionとコマンド体系が少し違う バージョン管理ツールとして、Su

    Gitに潜む光と闇 | gihyo.jp
  • Mobageを支える技術 ~ソーシャルゲームの舞台裏~

    このの概要 書は大規模Webサービスの構築・運用ノウハウを詰め込んで一冊にまとめた書籍です。急激に成長する巨大システム『Mobage』がどのように開発され,運用されているのか?その舞台裏を「ソーシャルゲーム(フィーチャーフォン/スマートフォン)」「大規模Webインフラ」「プラットフォーム」「ビッグデータ分析」といったテーマに分け,DeNAの実践的ノウハウを解説しています。 こんな方におすすめ Webサービスの構築・運用のテクニックを知りたい方 著者プロフィール 城戸忠之(きどただゆき) 1989年NTTソフトウェア入社。1999年南場社長がDeNA立ち上げの際に出向,ビッダーズのプロジェクトマネジメントに携わる。自分たちで事業を作ることが楽しくなり,2000年DeNA入社。「みんなのウェディング」「エアーリンク」など,DeNAの数々のプロジェクトに携わる。QualityAssuranc

    Mobageを支える技術 ~ソーシャルゲームの舞台裏~
  • 第1回 Meteorをはじめよう | gihyo.jp

    Meteorとは? Meteorは、2012年4月に彗星のように登場した、新たなアプリケーションプラットフォームです。この原稿の執筆時で、バージョンは0.3.6とされており、まだまだプレビュー版の域は超えていません。また、現状ではUNIX環境(MacOS Xを含む)でしかうまく動作しないようです。 しかし、Webアプリケーション開発をとことんまで素早く、楽に行えるようにするためのさまざまな仕組みが盛り込まれていることから、登場直後からかなりの注目を集めています(公式サイトには、「⁠1日か2日でプロトタイプを、2~3週間で製品レベルのアプリを構築できるようにする」とあります⁠)⁠。 MeteorはMITライセンスに基づくオープンソースプロジェクトとして、Github上で公開されています。現在4人の開発者がフルタイムで開発に従事しており、1年以内に1.0をリリースする予定だとされています。 M

    第1回 Meteorをはじめよう | gihyo.jp
  • 第1回 様々なアニメーションを実現するiOSアプリ用トゥイーンライブラリ3種を比較! | gihyo.jp

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

    第1回 様々なアニメーションを実現するiOSアプリ用トゥイーンライブラリ3種を比較! | gihyo.jp
  • 第12回 【特別編】小飼弾のPerlハッカーに逢いたい♥ | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は創刊11周年記念号ということで特別編です。「⁠小飼弾のAlpha Geekに逢いたい♥」(⁠WEB+DB PRESS Vol.32~55)の1号限りの復活版として、「⁠小飼弾のPerlハッカーに逢いたい♥」をお送りします。 2011年10月13日~15日、東京・東京工業大学にてYAPC(Yet Another Perl Conferences)::Asia 2011 Tokyoが開催されました。国内外から多くのPerlハッカーが参加しましたが、今回はその中から海外エンジニア5人、日エンジニア2人にお越しいただき、それにホストの小飼弾さん、連載監修として立ち会った牧大輔さんを加えた9人で座談会を行いました。 なお、文中の話者表記は、CPAN[1]ディレクトリの表記に合わせています。 自己紹介 DANKOGAI:DANK

    第12回 【特別編】小飼弾のPerlハッカーに逢いたい♥ | gihyo.jp
  • 第205回 LibreOfficeのPDFエクスポート機能を活用する | gihyo.jp

    新年あけましておめでとうございます。今年もよろしくお願いします。 この連載も5年目に突入しました。ひとえに皆様のご支持のおかげです。年も役に立つこと、どう役に立てるのかさっぱりわからないけど面白いことをお届けできればと思っています。 UbuntuとLibreOfficeの1年間 実は昨年の最初(2011年1月5日)の記事『第153回 LibreOfficeを使用する』も、筆者(いくや)の担当でした。今読み返しても1年前のものとは思えず、もっと遠い昔のような気がしています。そのぐらい当時と今ではLibreOfficeをめぐる状況は全く違います[1]⁠。 例えば、昨年の記事ではCanonicalがLibreOfficeを担当する社員を探していると言及しましたが、Bjorn Michaelsenさんが2月にOracleからCanonicalに転職しました(このブログの日付は21日ですが、実際に

    第205回 LibreOfficeのPDFエクスポート機能を活用する | gihyo.jp
    wkbyshnbtk
    wkbyshnbtk 2012/01/18
    フォームが作れるのはいいけど、日本語を入力すると文字化けしてしまう。やり方が悪かったのかな?
  • 第1回 牧大輔氏に聞くYAPC:Asia 2011の見所 | gihyo.jp

    JPAでYAPC::Asiaを担当している櫛井です。 今年も国内最大のPerlのイベント「YAPC::Asia Tokyo 2011」が10月14日(金⁠)⁠、15日(土)に開催されます。場所は、昨年と同じく東京工業大学大岡山キャンパスです。 稿では、YAPC::Asia Tokyo 2011の見所を数回にわたって紹介していきたいと思います。第一回目はYAPC::Asiaの運営を行っているJapanPerlAssociation(以下、JPA)で代表理事をされている牧大輔氏にお話を伺いました。 牧大輔(まきだいすけ) Japan Perl Association代表理事、株式会社ライブドア 所属。ブラジル、アメリカで育ち、Network Appliance Inc.勤務後帰国。Perl/C/MySQLなどのオープンソース技術を使ったシステム開発をメインに、講師、コンサルティング、執筆活動

    第1回 牧大輔氏に聞くYAPC:Asia 2011の見所 | gihyo.jp
  • 第1回 まずはTitaniumを体験してみよう | gihyo.jp

    はじめまして、株式会社はてなでアプリケーションエンジニアをしている倉井龍太郎(id:r_kurain)と申します。この連載では、今もっとも注目集めているスマートフォンアプリ開発環境であるTitanium Mobile(以下Titaniumと省略)を使ったiPhone及びAndroidアプリケーションの開発方法について解説していきます。 Titaniumとは TitaniumはAppceleratorが開発しているスマートフォンアプリ開発環境です。iPhone/iPod/iPad であればObjectice-Cを使用して、AndoridであればJavaを用いて作成するネイティブアプリケーションが、どちらの環境でもJavascriptのみで開発できるようになるものです。Titanuiumは無料で利用することができます。サポートを受けるにはAppceleratorの有料プランに入会する必要が

    第1回 まずはTitaniumを体験してみよう | gihyo.jp
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • 第2回 AnyEventでイベント駆動プログラミング (1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。第2回は、Japan Perl Association代表理事の牧大輔さんで、テーマはAnyEventです。 はじめに 昨今のPerl界で最も熱い話題がイベント駆動プログラミングです。イベント駆動プログラミングはいわゆる「リアルタイムWeb」などと呼ばれる、大量のデータや接続をさばきつつも更新通知の速さが重要となるアプリケーションでは必須技術で、今後のエンジニアにとって最も重要な知識の一つと言えるでしょう。 イベント駆動プログラミング自体はPerlでも以前からさまざまな用途に使われてきましたが、それがまた見直されているのは、従来のイベント駆動プログラミング用ツールキットの使いやすさをはるかに凌駕するAnyEventというモジュールが成熟期を迎えたためです。 イベント駆動プログラミングとは AnyEventの解説に入る前に、簡単

    第2回 AnyEventでイベント駆動プログラミング (1) | gihyo.jp
  • 第2回 確率の初歩 | gihyo.jp

    今回は、機械学習で使う「確率」のお話です。 確率は、統計的な機械学習のもっとも重要な基礎知識です。とはいえ、確率についてゼロから説明するというのは紙数的にも厳しいため、高校の確率を少し憶えているくらい(期待値や標準偏差など)を前提とし、「⁠高校の確率」と「機械学習の確率」の質的な相違点について、少し丁寧に見ていく、という形で進めていきます。 機械学習と確率 最初に、機械学習にとって確率はどういう役割なのかを確認しておきましょう。 実のところ、機械学習に確率が必須というわけではありません。ニューラルネットワークやサポートベクターマシンなどの有名な手法も「確率を用いない機械学習」ですし、その他にも数多くの手法があります。しかし、「⁠確率を用いない機械学習」の多くは、「⁠結果のランキングを作りづらい(評価値の大小に意味がない⁠)⁠」⁠「⁠条件が異なる場合の結果を比較できない」などの欠点がありま

    第2回 確率の初歩 | gihyo.jp