タグ

ブックマーク / dev.ariel-networks.com (36)

  • 社内Java8勉強会 ラムダ式とストリームAPI

    先週Java8がリリースされましたが、さっそく社内での開発でも使うことになりそうです。 というわけで、Java8の目玉機能であるラムダ式とストリームAPIについて、社内勉強会を開催しました。 普段の社内勉強会よりも参加者数が多くて、みんなの関心の高さが伺えますね。

  • Bloom filterの説明 — ありえるえりあ

    Bloom filterの説明 以前、bloom filterに言及したことがあるのですが、実は、言及しただけで何も調べていませんでした。 来週、ある人の話を聞く時、知らないとついていけない可能性があるので、調べてみました。 - 参考サイト 感想ですが、予想以上にシンプルでした。 動作イメージ(だけ)は誰でもイメージできます(実装も簡単)。 上の参考サイトも、英語に気後れせず、図だけでも見てください。動作は想像できるはずです。そして、たぶん、その想像は当たっています。 参考サイトを読めば分かることを日語で改めて説明するのも気がひけますが、どうしても英語を読みたくない人のために、簡単に説明してみます。 動作イメージ あ る入力文書が与えられたとして、後で、その文書に、ある単語fooが存在するかを高速にチェックしたい、という問題を想定するのが理解しやすいと思いま す。入力文書に対する前処理を

  • コロコロ教の危機

    ラスボスが気まぐれで始めたコロコロ教ですが、まだ続いているみたいですよ。 そんな中でコロコロ教の存在を脅かす新たな勢力が現れました。 それは、グルグル教です。 グルグル教とはパワーボールを使ってトレーニングを行う新興宗教で、パワーボールを回せるという特殊能力を持った選ばれし者によって構成されています。 指先から肩までの広範囲の筋肉をトレーニングできるので、壁バカに大受けです。 がしかし、回せない残念な人もいます。 回そうとしても回せない残念な人 場パワーボール(左)とそのパチもの(右) 頑張って両手で回している図 皆様も是非パワーボールで壁バカになりましょう。

  • Sublime Text 2 のプラグインを作る

    開発部 川野です。最近、Sublime Text が流行っていますよね。私の周りでも、Sublime Text を使っている、というエンジニアが増えてきたように思います。 パワフルでモダンなエディタを探している方は、ぜひ一度試してみてはいかがでしょうか。 そんな Sublime Text ですが、魅力のひとつに便利なプラグインの存在があります。記事では、Sublime Text のプラグイン開発について取り上げてみようと思います。 Hello, World! Sublime Text のプラグイン開発を始めるのは、とっても簡単です。メニューバーの Tools > New Plugin.. を選択して下さい。雛形となるプラグインのコードが記述されたバッファを作ってくれます。Sublime Text のプラグインは、Python を使って書いていきます。 このプラグインは、バッファの一番最初

  • Japan Sencha User Group ができたよ!+第1回勉強会レポート

    Ext JS や Sencha Touch など Sencha 製品は、世界中で使われています。Ext Japan のサイトでは、「世界中で100万人以上の開発者が Sencha フレームワークを使っています」と普及の規模を謳っています。携わるエンジニアが増えれば、コミュニティが発生するのは自然の流れで、Sencha 製品を利用する有志のコミュニティが世界各地で作られています。 大規模なところだと、ロンドン、シカゴ、パリ、、そして先日、日でも Sencha 製品のユーザーグループが設立されました。 Japan Sencha User Group: http://www.meetup.com/Japan-Sencha-User-Group Japan Sencha User Group(※略して Sencha UG)は、Ext JS や Sencha Touch を使っているエンジニア同士

  • Sencha Touch 2 Recipes #5: Sublime Text を使って開発する

    開発部 川野です。今回は少し趣旨を変えて、開発の Tips ではなく、Sencha Touch アプリの開発に適したエディタをご紹介させて頂こうと思います。 Sencha Touch のアプリは、規定の MVC(Model View Controller)構成でプロジェクトを作ることが想定されています。また、JavaScript ファイルを動的に読み込む機能や、Sass のコンパイルでも、規定のディレクトリ構成に従ってファイルが配置されていることを前提にしています。 こういった構成を強制されることでファイルが適切に分割されてメンテナンスし易くなるのですが、その分、ファイルの数が増えることになります。私が普段使っているエディタはバッファ間の移動が苦手なので、プロジェクトのファイルが増えてきた場合の移動が煩わしく、何かよい解決策がないか考えていました。 Sencha 社が提供しているスクリーン

  • 「苦悩からユーザビリティテストに希望を託すまでの道のり」と題してプレゼンしたので、資料を公開します

    自己紹介の代わりに著書紹介 「P2P教科書」 「パーフェクトJava」 「実践JS サーバサイドJavaScript入門」 「パーフェクトJavaScript

  • Sencha Touch 2 Recipes #4: プラグイン機能を使ってパッチをあてる

    先日、開発した Sencha Touch アプリのユーザビリティテストを社内で行ったところ、多くの被験者が、検索機能を正しく使うことができませんでした。 確認したところ、iPhone で Sencha Touch の検索コンポーネントを利用する際、入力キーボードの右下が検索ボタンにならず、改行ボタンになっていることが原因の模様。 具体的には、以下のような状態です(※右下に注目)。 改行ボタンを押すと検索アクションが実行されるのですが、普通は気づかないですよね。。 検索コンポーネントの入力フィールドは、input タグで、HTML5 から新たに追加された type=”search” 属性を指定しています。この type 属性に応じて、キーボードのボタンを切り替えることができるのですが、実は、input タグは form タグで囲われている必要があるようです。ところが、Sencha Touch

  • 「ソフトウェア開発という仕事」と題して講義をしました

    社内で新卒向けに講義をしました。社内固有の情報を削除した上で、下記に講義資料を公開します。 ソフトウェア開発における開発者の仕事を理解してもらうために話をしました。 講義対象者の半数以上が開発志望ではなかったので、開発者でない人が、今後、IT業界の中でどう開発者と向き合っていくかを主眼にして話しました。IT業界にいながら、開発者のことを理解できない人たち、あるいは何をしているのか分からない、と偏見を持つ人がいるからです。彼らにそうなって欲しくないからです。共感できるかは別です。考え方や価値観が違うなら違うでもいいと思います。はじめから理解を拒否していたら、いつまでもコミュニケーションが生まれません。 ついでに、半数以上が女性だったので、裏の意図として、プログラマがモテるようになって欲しいと思って話しました。プログラマがモテる世界にしたいと思っているからです。若い女性の前で話す機会を得られた

  • マネージャになりたくないプログラマのキャリアパス

    金曜日、KLab元CTOの仙石さんからありがたい話をいただきました。 話は、開発者の採用、教育、評価あるいは開発者の心構えなど多岐に渡りました。いくつも興味深い話がありましたが、個人的に一番聞いて良かったと思える話を紹介します。表題の件です。 若いプログラマの中には年をとってもマネージャになりたくないと言う人がいます。他人事ではなく自分もそのひとりでした。若い時にマネージャ志望のキャリアパスに語ることは、プログラマとしての自分の誇りを傷つける気がしていました。マネージャを偉いと見なす風潮が、技術に対する裏切りのような気分がしていました。技術者をマネージャより低いと位置づけるのが許せませんでした。 たぶんピュアだったのでしょう。そんな経験があるので、今でもピュアな若者は好きです。物のプログラマになるには、技術だけに一心に向き合うピュアな期間が必要だと信じています。そして、技術に真摯に向き合

  • dsvn.el を使ってみた — ありえるえりあ

    dsvn.el とは psvn.el よりかなり速いらしい dsvn.el を使ってみました。 psvn.el はご存知の人も多いかと思いますが、指定された Subversion リポジトリをツリー表示して、 dired のように操作するためのパッケージです。 vc-svn に比べて高速にツリー表示ができるのですが、それでも大規模なリポジトリを表示しようとすると Emacs が固まったりします。 dsvn.el はその問題を解決が解決されており、 psvn.el では 10 秒ぐらいかかる処理も一瞬でこなします。 インストール http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el 上の URL から dsvn.el をインストールして以下の設定を ~/.emacs に書きます。 ~/.emacs: (

  • インドの認めたくない現実

    最初に注意事項です。下記の話は「たった3人」に聞いた話です。統計的な意味はまったくありません。念のため。 昨年末、インドのハイデラバードに行きました。そこで3人の学生と話す機会がありました。そして驚きました。なんと彼ら3人が揃いも揃ってVimユーザだったのです。 こう聞くと、なんだインド人のITスキルは凄いと聞いていたけれど、実はIT後進国なんだね可愛そうに、と思うかもしれません。 その認識は間違いです。インドの他の都市はともかくハイデラバードはIT先進都市です。Vim使いの学生たちのレベルも日のトップ高の学生に引けを取りません。彼らはHadoopを使うプロジェクトに従事しています。Amazon EC2も使いこなしています。単なるツールの使い手というだけではありません。たとえばSVM、DHT、HMMなどの略語が説明なしで学生に通じます。略語は順にサポートベクタマシン、分散ハッシュテーブル

  • IT最新動向を追えているかのリトマス試験紙

    IT業界に身を置いていると、新技術にどれだけ飛びつくかの見極めが必要です。 ひとりの個人が使える時間は限られています。なんでもかんでも新しいモノに飛びついていると、ひとつを深く極める時間が取れません。しかし、新しい技術にまったく無関心では生きていけません。生きてはいけるのかもしれませんが、業界で何が起きているのか認識していないのは怠慢と言われても反論できません。 The 10 Most Important Open Source Projects of 2011という記事がありました。 時々はこういう記事で自分を振り返り、怠慢さに陥らないように見つめ直すのが良いでしょう。 Hadoop HadoopまわりはNoSQLのムックや雑誌記事で執筆したので、アーキテクチャはひととおり理解して、動作確認も色々としました。 Git 最近、RCSの代替として使っています。それはどうなんだ、とつっこまれそ

  • 「レガシーコード改善ガイド」を読みました

    以前から読もうと思っていましたがようやくレガシーコード改善ガイド (Object Oriented SELECTION)を読みました。読み始めて最初のうち、これは久しぶりに名著の予感と思いましたが、後半は自分の趣味と合わない部分が多々あったので、平均的には普通に良書という感想です。 ある意味、書は奇書です。テストコードを書くためにコードの改悪も辞さない、という態度を貫きます。改悪は著者もわかっていて、次のように冒頭で断っています。 この仕事は外科手術のようなものです。切開し、内臓をかき分けていく間、美的判断は保留にしなければなりません。 小説には奇書と呼ばれる作品群があったりします(そして一部の熱狂的支持者がいます)。技術書で奇書と呼べるようなはあまりお目にかかりません。著者の技術レベルが低くて、内容がとんでもな意味での奇書は存在しますが、技術力のある著者があえて定石を外しまくる書の

  • Unixコマンド生活実践 — ありえるえりあ

    ディレクトリ操作 lsの使うオプション ...-l,-a,-F,-i # ディレクトリをすべて消す場合(先頭の\は後述) \rm -rf ディレクトリ名 # 全部コピー cp -ar srcdir destdir ...-aはGNU lsのオプション # cp -aがどこまで信用できるか不明、あるいはGNU lsがない時に、使うテクニック tar cf - srcdir | (cd /destdir; tar xf -) ファイル操作(リンク) ハードリンク vs. シンボリックリンク ln #ハードリンク ...異なるファイル名で同一のi-nodeを共有(ls -iで確認可能) ln -s #シンボリックリンク ...ポインタ 注意点 ハードリンクは対称(ln a bでもファイルaとbに主従関係はない) i-nodeはデバイス(dfで見えるディスクデバイス)で一意なので、デバイスを越えて

  • オブジェクト指向について語った時に使ったメモ

    今日、オブジェクト指向について1時間ほど語りました。整理するため自分用に書いたメモを公開します。大まかな構成はメモどおりに話しましたが、メモに書いていないこともたくさん話していますし、書いていても話さなかったこともあります。 前提として自分自身のオブジェクト指向へのスタンスを書いておきます。 自分のプログラマとしてのキャリアとオブジェクト指向の隆盛の重なりを考えると客観的に見て自分はオブジェクト指向世代のプログラマなんだと思います。一方で、世間で過剰にもてはやされる技術には反発してきました。オブジェクト指向も例外ではありません。オブジェクト指向を否定はしませんが、金科玉条のように扱う人の前では、オブジェクト指向なんて技法のひとつに過ぎないと、冷たく突き放してきました。 ただここ数年、かつてに比べてオブジェクト指向の威光は下がっている気がします。関数型プログラミング支持者から、オブジェクト指

  • パーフェクトJavaとパーフェクトJavaScriptの増刷が決定

    パーフェクトJavaとパーフェクトJavaScriptの両方の増刷が決定しました。 ありがたい、ありがたい。 先週JJUGの集まりで今年のJavaOneの様子を聞いてきたのでその感想を書きます。雑多な感想なので全体のまとまりは特にありません。 Java8リリースの予定が2013年に延びたようです。去年のJavaOneでJava7は2011年リリース、Java8は2012年リリースと発表していました。Java7は約束を守りましたがJava8は延びました。予想どおりです。この業界にいれば誰でも予言できる未来でしたが。2013年にリリースできるかですが、2013年の末まで考えれば今から2年あるので流石にリリースできるような気がします。 予想外だったのはJavaFXの動きです。Swingを置き換えてJavaGUIライブラリのメインになるようです。AWT、Swingの流れの次がJavaFXという位

  • 新卒向けカリキュラムを考え中

    今後のアリエルのために、新卒の育成カリキュラムを考えています。基的にはWebプログラマとして一人前になることを目指すカリキュラムです。 教科書に自分の書いたを指定しているのは買わせて儲けようというせこい発想ではなく(直近でアリエルが大量の新卒を採るわけではないので音です)、単に教えやすいからです。誤読の可能性はゼロですし、に何が書かれていないかを完全に分かっています。 色々切り捨てて、Webでプログラミングするならこれぐらいは最低限必要、と思える分野に絞ったつもりですが…それなりに分量があります。今時のWebプログラマは大変です。教える期間は3ヶ月ぐらいと思っていましたが、全部書き出してみると無理な気がしてきました。 各論のコメントは後日、別記事で書きます。 プログラミング基礎 – Java – 教科書「パーフェクトJava (PERFECT SERIES) (PERFECT SE

  • Sencha Touch について調べました。

    今月から開発部に配属された川野です。 自社製品のモバイル用UIを刷新する調査をひとりで細々とやっていて、そのなかで Sencha Touch について、ある程度情報がまとまったので記事にさせて頂きました。 Sencha Touch 概要 Sencha Touch は、モバイル WEB アプリを開発するための、JavaScript フレームワークです。 HTML5 と CSS3、JavaScript を駆使して、ネイティブアプリケーションっぽい見た目と操作感を、ブラウザ上で実現しようとしています。 Sencha Touch 公式サイト iOS(iPhone とか iPad)と Andoroid に対応。(※正確には、WebKit 系のブラウザにのみ対応) ExtJS で有名な Sencha が開発を行っています。Sencha Touch は無料で商用利用可能です。 どんなことができるの? 百

  • Emacsの検索機能を使いこなす(菅原泰樹) — ありえるえりあ

    Emacsの検索機能を使いこなす(菅原泰樹) 「Emacsのトラノマキ」 連載第一回 「Emacsの検索機能を使いこなす」 ■■■100年のエディタの世界へようこそ(脚注) 今月からEmacsの話を中心にした連載を始めることになりました.連載は,Emacsを使って最高のエンジニアになりたいと願う読者のために書きます.Emacsやその周辺のツールを使いこなすと,日々使うコンピュータ環境を便利に拡張できます.連載は回ごとのテーマを決めて,Emacsの便利な使い方や設定方法を紹介します.Emacsは環境そのものです.そして,Emacs Lispにより拡張可能な環境です.Emacs Lispを覚えるとEmacsの可能性は更に広がります.残念ながら他のプログラミング言語に比べてEmacs Lispを敬遠する人は多いようです.ひとつの要因が,Emacs Lispのイディオムや簡易なノウハウを紹介する