タグ

ブックマーク / xtech.nikkei.com (88)

  • 人気の波には逆らえず、今更ながらPythonを始めてみた

    Pythonというと、日では長らくややマイナーな存在でしたが、ここに来ていきなり、最も重要なプログラミング言語になった感があります。もし、“PRG48”というグループがあって、“プログラミング言語総選挙”をやったとしたら、人気急上昇で1位になりそうな勢い…。すみません、つまらない例えをしてしまいました。 Python人気の最大の理由は最近の人工知能ブームでしょう。「TensorFlow」や「scikit-learn」といった機械学習の有名ライブラリがPython向けに提供されているので、「人工知能機械学習を学ぶならPython」という認識が広まっています。 書店の技術書売り場へ行くと機械学習Pythonのコードとともに解説するが何冊も並んでいます。この出版不況のご時世に、お世辞にも簡単とは言えない機械学習が何冊も出ている状況は、日のソフトウエア業界の未来は案外明るい、と思わせ

    人気の波には逆らえず、今更ながらPythonを始めてみた
  • 関数型プログラミングは本当に難しいのか

    2012年9月初頭、東京・某所で開催された「函数プログラミングの集い 2012」というイベントに参加した。 このイベント、文字通り、「Haskell」や「Scala」「OCaml」「F#」「Erlang」といった関数型プログラミング言語に関するイベントなのだが、その午前中の講演を聞いて、筆者は少々面らった。 関数型プログラミング言語などの研究者である電気通信大学 准教授の中野圭介氏による講演だったのだが、同氏は講演が始まるや否や「これから『爆弾』を投下します」と前置きし、こう述べたのだ。 「『関数型言語』を使ってはいけない」と。 関数型プログラミングに関するイベントで、いきなり「使うな」という発言は、確かに衝撃的である。筆者だけかもしれないが、この発言の後、一瞬、会場が凍り付いたようにも見えた。一体、どういうことか。 実はこの発言、「使うな」という部分に重点があるのではなく、「関数型言語

    関数型プログラミングは本当に難しいのか
  • iPhoneアプリをRubyで開発できる、「MobiRuby」のソースコードが公開

    図2●増井氏がMobiRubyを用いて開発したゲームアプリの画面例。既にAppStoreで「MobiRuby」の名前で公開されている iOS向けのアプリをRubyで開発可能にするソフトウエア「MobiRuby」がリリースされた。開発者の増井雄一郎氏が、Github上でソースコードを公開した。併せて同氏は、2012年9月14日に札幌で開催された「札幌Ruby会議2012」で講演し、MobiRubyについて解説した(同氏の講演資料)。 増井氏は2012年3月よりMobiRubyの開発に着手し、約半年で公開にこぎ着けた。現在はアルファ版の段階だが、2013年第一四半期までに正式版(ver.1)を公開する予定である。MobiRubyはC言語で実装してあり、コード量は約3000行という。まつもとゆきひろ氏らが開発した軽量版のRuby「mruby」を用いている(関連記事)。 Objective-CとR

    iPhoneアプリをRubyで開発できる、「MobiRuby」のソースコードが公開
  • 情報工学は面白い!

    毎日の仕事に追われていると、ついITの原理原則を忘れがちになるものだ。何事にも言えることだが、基礎を理解してこそ、初めて応用ができるのである。 連載『矢沢久雄の情報工学“再”入門』では、ITの根幹を成す学問体系である「情報工学」を解説している。おそらく学生時代や入社時の研修で習った方も多いとは思うが、この機会に復習していただきたい。必ず新たな発見があるはずだ。

    情報工学は面白い!
  • 今、知っておきたいJavaScript

    Webブラウザとテキストエディタさえあれば、プログラミングして実行できるシンプルで手軽な言語――。それがJavaScriptが初めて登場してからしばらくの間、多くの人が抱いた印象でした。しかし、Ajaxの登場に伴う第2のブーム以降、ハードルが高くなったように感じられます。 その大きな理由の一つが、DOM(Document Object Model)に基づくJavaScriptプログラミングでしょう。DOMは、HTMLやXMLを構成する各要素に対して、プログラムからアクセスして内部の情報を取得・変更したり、機能を利用したりするためのAPI(Application Programming Interface)です。DOMを使うことによって、WebページをリロードせずにWebページを部分的に書き換えたり、HTMLドキュメントの構造を動的に変えたりといったことが可能になります。 DOMは便利な仕組

    今、知っておきたいJavaScript
  • IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習

    情報処理推進機構(IPA)は2011年1月31日、プログラミング言語RubyおよびWebアプリケーションフレームワーク「Ruby on Rails」の利用方法やプログラミング技法、最新動向などを遠隔からグループ学習するための教材と実習環境「Ruby研修用コンテンツ」を無償公開した。 実習環境は、IPAが提供しているインターネットを通じたオープンソースソフトウエア(OSS)実証評価環境「OSSオープン・ラボ」のサービスメニューの一つとして提供される。利用するには、OSSオープン・ラボの利用予約が必要となる。研修実施担当者が、同ラボのWebページ下部に記載されたメールアドレスあてに、予定人数や研修会場の場所と回線種別、実施予定日などを記入して申し込むことで利用できる。研修当日は、受講者ごとにラボ側で仮想OSが用意され、受講者はWebブラウザでアクセスしてコンテンツを利用する(図)。 Ruby

    IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習
  • Androidの仕組みを知る(1)

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 Androidは,米Google社が開発し,携帯電話関連の業界団体であるOHA(Open Handset Alliance)が2007年11月に発表した,ソフトウエア・スタック(複数層で構成するソフトウエア群)である。 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーション,がある。 Androidは携帯端末用として開発されているものの,適用範囲は携帯端末にとどまらない。Androidが現在対応しているCPUは英ARM社のARM系と米Intel社のx86系の2種

    Androidの仕組みを知る(1)
  • グーグルのJavaScriptツール集大成「Google Closure Tools」

    2009年11月5日,Googleは自社サービス製品であるGmail,Google Maps,Google Docsなどの開発に使用しているJavaScriptアプリ開発ツール群「Google Closure Tools」を一般公開しました。 "Closure"は一般的に,閉鎖や閉店といった意味で使われます。ツールの命名としては少しネガティブなニュアンスを感じますが,Google Closure Toolsの場合は,終結といった意味で,開発プロジェクトにおける最終ステップの仕上げ用ツール。すなわち“栓”という意味で中身があふれ出さないようにキッチリ閉めておくものといった意味合いから命名されているようです。 Ultimate(究極)に近い意味でGoogleの自信の表れと受け取った方がいいかもしれません。Googleで新規公開になったプロジェクトとしては珍しく,ベータ版の表記もありません(Go

    グーグルのJavaScriptツール集大成「Google Closure Tools」
  • ソースコードから見るグーグル気質、規律を持つ気さくな開発者集団

    グーグルはWebブラウザ「Google Chrome」など100種類を超えるオープンソースプロジェクトを社外に公開している。「Google Code」という開発者向けWebサイトでは、ソースコードだけでなく、グーグル社員同士のやり取りや仕事の進め方まで公開されている。そこから垣間見えるグーグル気質を分析する。(日経コンピュータ) グーグルのことを、「『世界中の情報を整理する』という大きな野心に向けて突き進むエリート集団」と思っている読者も多いだろう。そのような会社のプログラマであれば、書いたソースコードも厳しい規律に従う秩序だったものに違いない、と思うのが自然だ。 確かに、グーグルの開発スタイルの厳格さはよく知られている。例えば、グーグル法人の鵜飼文敏氏が行った講演を見ると、同社は、デザインドキュメント(コーディングの前に設計情報を文書化するプロセス)、コードレビュー(他のチームメンバ

    ソースコードから見るグーグル気質、規律を持つ気さくな開発者集団
  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 121. IPアドレスから所在地探し

    IPアドレスから所在地を調べたいと思ったことはありませんか?今回は,IPアドレスからその場所がどこなのかPHPで調べる方法をご紹介します。 それには,GeoIPライブラリが必要になります。PHPからこのライブラリの機能を使うには, PEARのNet_GeoIPをインストール Peclの拡張モジュールをインストール Apacheのモジュールとしてインストール という3種類の方法があります。 今回はPeclの拡張モジュールを使います。対象はLinux系OSになります。 1.GeoIPライブラリををインストール MaxMind社のホームページから,GeoIPライブラリをダウンロードし,インストールします。 cd /usr/local/src wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz tar xzvf GeoIP.t

    121. IPアドレスから所在地探し
  • 無いから作った人たち

    データベース技術の世界に新顔が次々と登場している。米Danga Interactiveの「memcached」、ミクシィの「Tokyo Cabinet」と「Tokyo Tyrant」、楽天の「ROMA」、グリーの「Flare」などだ。いずれも半導体メモリーを使って大規模データベースを高速処理する技術である。面白いのは、4社ともIT製品を開発するメーカーではないことだ。 4社は、Webを使ったサービス事業を手掛ける企業であり、来であればメーカーが開発した製品や技術を使う立場である。ところが、こうした「ユーザー企業」が自ら基盤技術を開発し、それを利用している。 memcachedやTokyo Cabinet/Tyrant、ROMA、Flareの中では、memcachedが一番古い。Danga Interactiveが自社のブログ・サービス「LiveJournal」を改善するために2003年に

    無いから作った人たち
  • グーグルがデータセンターの電力効率性を一部公開、PUEは驚きの「1.21」

    グーグルは2008年10月1日(米国時間)、同社が運用するデータセンターの電力効率性を一部公開した。サーバー冷却などに費やす消費電力が極限まで抑えられていることが明らかになった。効率性を表す値で、データセンター全体の消費電力をサーバーなどのIT機器の消費電力で割ったPUE(Power Usage Effectiveness)は、6カ所のデータセンターの年平均で「1.21」。現在の一般的なデータセンターのPUEは2.3~2.5程度とされる。 グーグルは一連の資料をWebサイトで発表した。データセンターの電力効率性を示すPUEは、データセンターに供給される電力が全てサーバーなどのIT機器で消費されている場合に「1」となる。 データセンターの運用にはIT機器以外にも空調装置や電力設備などが必要なので、一般的なデータセンターのPUEは2.3~2.5程度(データセンターで消費される電力の半分以上が

    グーグルがデータセンターの電力効率性を一部公開、PUEは驚きの「1.21」
  • 第9回 Emacsエディタ入門

    Emacsは,LinuxをはじめとするUNIX系OS上において,前回に紹介したvi(「viエディタ入門」を参照)と並んで人気の高いエディタです。 Emacsは,しばしば「単なるエディタではなく,一つの環境である」といわれます。その理由は,ソースコードの編集,コンパイル,デバッグはもちろん,メールやWebブラウジングまでEmacsの中で完結できてしまうという,拡張性の高さでしょう。 今回は,Emacs入門を紹介します。 Emacsの概要 Emacsは,今から30年以上前,GNUプロジェクトの創始者であるリチャード・ストールマン(Richard Stallman)氏によって原型となるエディタが作られました。その後,様々なEmacsの実装が作られましたが,その中心となるのは,リチャード・ストールマン氏によるGNU Emacsです。この連載で取り上げている「Ubuntu(Ubuntu 8.04 L

    第9回 Emacsエディタ入門
  • [ITpro Challenge!] プログラムは人間の予測を超えた現象を生み出す---Winny開発者の金子勇氏

    2008年9月5日のITpro Challenge!において,Dreamboat技術顧問である金子勇氏が「シュミレーション的発想によるプログラミング」と題した講演を行った。金子氏はファイル交換フリーソフト「Winny」の開発者として知られるが,自称「究極の趣味プログラマ」であるという。 わたしは究極の趣味プログラマ 「プログラムを作っただけで逮捕されたWinnyの作者です」。冒頭でこう挨拶した金子氏は,Winnyに関連した発言をマスコミや何度かの講演会 で行ってきた。ただ,そのWinny開発の根底を支えた金子氏のプログラムに対する哲学を語ったことは,これまでほとんどなかったという。 金子氏は自身の職業を「シミュレーション屋」であるとし,その裏の顔として「趣味フリーソフト屋」であるとする。 金子氏はどのような発想でプログラムを組んでいるのか。 「最初から設計した通りにプログラムが動くのはつま

    [ITpro Challenge!] プログラムは人間の予測を超えた現象を生み出す---Winny開発者の金子勇氏
  • [ITpro Challenge!]「仕様を追いかけるだけでなく,作る側になろう」---米Six Apart 宮川達彦氏:ITpro

    ITpro Challenge!]「仕様を追いかけるだけでなく,作る側になろう」---米Six Apart 宮川達彦氏 2008年9月5日のITpro Challenge!において,米Six Apartの宮川達彦氏が「Why Open Matters」と題し,プログラマである自身の半生を振り返る内容の講演を行った。キーワードは,「Open Software」「Open Community」「Open Platform」だ。 価値観を一変させたインターネット 宮川氏は1977年,神奈川県横浜生まれ。父親がプログラマだった経歴を持つ以外,プログラミングとは関係性の少ない少年時代を過ごしてきた。 それが一変したのはインターネットに出会った1996年。自身でサイト構築などを行うまでにネットの世界に引き込まれ,「一日中ネットに触れている状態が続いた」(宮川氏)。アルバイト先の米技術関連出版社「O'

    [ITpro Challenge!]「仕様を追いかけるだけでなく,作る側になろう」---米Six Apart 宮川達彦氏:ITpro
  • 第5回 GoogleAppEngineでMVCアプリケーションを作成する

    GoogleAppEngineについて前回紹介し,SDKを用いたローカルでの開発方法,および「Hello, World」を表示して公開するところまで説明しました。 今回はかんたんなアプリケーションの作成を通してGoogleのwebapp Frameworkを説明します。サンプルとして,かんたんなひとことブログサービスを作成します。このアプリケーションの作成チュートリアルを通して,データの投稿や削除,ユーザー認証などWebアプリケーションの基的な機能を実装する方法を一緒に学んでいきましょう。 仕様を決める 実装する機能は以下の通りとします(図1,図2)。 ひとことの投稿 ひとことの削除…自分が投稿したひとことを選んで削除できる すべてのひとことの削除…管理者のみすべてのひとことを削除できる

    第5回 GoogleAppEngineでMVCアプリケーションを作成する
  • 96. 携帯電話でGPSデータを取得してみよう

    最近の携帯電話にはGPSの機能が付加されたものがたくさん出てきています。 携帯電話は、今年4月より発売される新機種から、GPSに対応することが総務省より義務付けられております。 今回はそんなGPS情報を携帯でWebから取得する方法をご紹介します。 1.au端末での取得方法 auのGPS携帯では、2つの位置情報取得方法があります。ひとつは、基地局から位置情報を取得する方法で簡易位置情報です。もうひとつはGPS衛星と基地局から位置情報を取得する方法です。 二つの方式の違いは位置情報の精度にちがいがあります。今回は精度が高い方式で取得する方法をご紹介します。また、GPS非対応機種では取得できません。ご注意ください。 それではさっそく、auの端末から位置情報を取得する方法を作成してみましょう。 ■追記 KDDIではGPSのパラメータについて契約を結んだコンテンツプロバイダー以外に開示しておらず,以

    96. 携帯電話でGPSデータを取得してみよう
  • 「君たちは“世界を変える切符”を手にしている」---セキュリティ&プログラミングキャンプ2008

    セキュリティ&プログラミングキャンプ2008 セキュリティ・コース主査 サイバー大学 園田道夫氏 [画像のクリックで拡大表示] 「プログラムは世界を変える。ここにいるみなさんは“世界を変える切符”を手にしている」(はてな 執行役員 最高技術責任者 伊藤直也氏)---経済産業省(経産省)は8月13日から17日,学生を合宿形式で鍛える「セキュリティ&プログラミングキャンプ2008」を開催した。主査のミラクル・リナックス 吉岡弘隆氏とサイバー大学 園田道夫氏を始めとする著名講師陣が学生に泊り込みで技術と精神を伝授。特別講師として,はてなの伊藤氏や“ハッカー検事”として知られる札幌高等検察庁の検事 大橋充直氏が講演を行った。 経産省では2004年から,人材育成を目的に「セキュリティキャンプ」を財団法人 日情報処理開発協会(JIPDEC)に委託し実施してきた。2008年は新たにプログラミングコース

    「君たちは“世界を変える切符”を手にしている」---セキュリティ&プログラミングキャンプ2008
  • 第1回 そもそもGoogle Gearsって何?

    Googleがまた新しいサービスを開始しました。Google Gearsです。ものすごく大ざっぱに説明すると,Google GearsはWebアプリケーションをオフライン状態でも使うことができる環境をブラウザに拡張機能として付与するという技術です。 執筆時点ではベータ版公開(しかもまだ英語のみ)が始まったばかりという,当にできたてホヤホヤの状態です。Google Gearsとは一体どんなサービスで,Google Gearsによって何が変わっていくのかについて,簡単なサンプルも作りながら見ていきたいと思います。 Googleの新サービス「Google Gears」 近年WebアプリケーションやWebサービスというソフトウエア形態がメジャーになってきました。デスクトップ上で独立して動作するExcelやWordのような一般アプリケーションと違い,Webアプリケーションはブラウザの“中”で動作し

    第1回 そもそもGoogle Gearsって何?