タグ

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

  • コピーアンドペーストを使いこなす(松山智大) — ありえるえりあ

    Emacsをちゃんと使いこなせるようになるためにはいくつかの大きな壁を越えなくてはなりません。今回説明するコピーアンドペーストは初心者がEmacsを使い初めて最初にぶつかる大きな壁の一つでしょう。一般的なエディタでは、マウスやキーボードで範囲を選択してCtrl+C(コピー)し適当な場所でCtrl+V(ペースト)という標準的な操作でコピーアンドペーストができます。そしてその動作は単純かつ明快で誰にでも簡単に理解できるものです。しかし、Emacsにおいてはそうはいかないのです。EmacsではCtrl+CやCtrl+Vといった標準的な操作は提供されておらず、そもそもクリップボードという概念も存在しません。クリップボードの代わりとしてkill-ringと呼ばれる(操作上)環状のデータ構造を使用してコピーアンドペーストを実現しますが、このkill-ringというのがクリップボードのような単純な構造で

  • mod_proxy_httpとmod_proxy_ajpとmod_jk — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

  • Server-Sent Eventsのエスケープ

    Server-Sent Eventsを使うとサーバーからクライアントにデータをPUSHすることができます。使い方はこの辺を参考にしてください。 node.js + expressでサーバー側を実装するとこんな感じになると思います。 app.get('/event', function(req, res) { res.type('text/event-stream'); res.write('data: ' + data + '\n\n'); });

  • JavaOne2013報告会でのJava EE報告の発表資料を公開します

    JavaOne 2013 サンフランシスコ報告会 Tokyoで「Java EE のアップデート」の発表をしてきました。 使った発表資料を公開します。 最近はs5でプレゼンファイルを作るのが常態化しています。Emacsだけで作れて楽だからです。しかしs5の見栄えには満足していません。きれいなテーマを探しましたが見つからなかったので、結局、いつもの見栄えのプレゼンでした。 テキストで書けて、HTMLもしくはPDFで出力できて、それなりに見栄えが良いプレゼン作成ツールがあれば乗り換えたいものです。 ダウンロード版(HTMLファイルをWebブラウザで開いてください): javaone2013.tar.gz

  • Sencha Touch アプリの開発環境(@kawanoshinobu)

    開発部 川野です。昨日、キャノン IT ソリューションズ様主催の Sencha セミナーで講演させて頂きました。講演は、テキストエディタを使って Sencha Touch アプリを開発する、という内容です。参加者の方からとても元気が出る嬉しいフィードバックを頂いたので、興奮そのままにこの記事を書いています。 セミナーの後、何人かの方から、私の開発環境についてご質問を頂きました。私の個人的な環境ですが何かのお役に立てれば、ということで公開します。 === ◆テキストエディタ Sublime Text 2 Web エンジニアは UNIX 系のテキストエディタ(Emacs, Vim)を使う人が多い印象ですが、私は Sublime Text を使っています。Sublime Text も Emacs や Vim のようにカスタマイズできるテキストエディタなのですが、後発なだけあって、これまでのテキス

  • Node.js, MongoDB, Heroku, Sencha Touch を使った写真共有アプリ

    開発部 川野です。今週木曜日(7/25)、キャノン IT ソリューションズ様主催の Sencha セミナーでお話させて頂くことになり、デモンストレーション用に表題のアプリを作成しました。Node.js と Sencha Touch を組み合わせてアプリを作りたい方の参考になる気がしたので、ソースコードを公開します。 Photo Sharing App(ソースコード): https://github.com/kawanoshinobu/photo-sharing-app Photo Sharing App(デモ): http://photo-sharing.herokuapp.com Sencha セミナーでは、このアプリの作成方法を解説します。開催時間が平日昼間なのですが、もしご都合のつく方は、ぜひぜひお越し下さい!参加費は無料です ^^ お申し込みは以下のサイトから ↓ Senchaセミ

  • Practical Sencha Touch #2: デバイス固有のバグを調査する

    「現場で役立つノウハウを」というコンセプトで始まった Practical Sencha Touch シリーズ、今回は第 2 回目です。Sencha Touch のアプリが動作する環境は様々です。場合によっては、特定の端末だけ動作がおかしい、ということもあるでしょう。今回は、そんな時に重宝するツールをご紹介します。 Problem: 特定の端末だけアプリの動作がおかしい。原因を調査するために、詳細な情報が欲しい。 Solution: weinre を使います。weinre は Web インスペクタ リモート(WEb INspector REmote)の略で、端末のブラウザで表示しているページを PC ブラウザ(*)の Web インスペクタを使ってデバッグできるツールです。気になる発音ですが、公式ページによると「”ワイナリー”か”ワイナー”と呼ばれているが、どちらの発音が正しいかは知らない」と

  • 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 を使っているエンジニア同士

  • pytest で pep8 テストを実行する

    Java 見習いのもりもとです。 アリエルのスタート地点 を知ってから、いつもどぎまぎしながら開発しています。 アリエルのスタート地点は、Javaと聞いて、ふっと鼻で笑える地点です。 私にとっては、スタート地点がまだまだ遠そうなのでしばらくは Python の話題でお茶を濁そうと思います。ちょうど良い機会なので Pythonic なテストツール pytest についてチュートリアルのような記事を何回かに分けて書きます。 pytest は、設定より規約 を設計原則とするツールで、xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、ユニークなテストツールです。さらに単体テスト、機能テスト、システムテストといった全てのテストフェーズにおいても利用できると、その応用範囲の広さも喧伝しています。ドキュメントも翻訳されているので

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

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

  • 「Coders at Work」を読みました(後半)

    Coders at Work プログラミングの技をめぐる探求の紹介の後半です。 心に残ったひとことの引用と、それに対する個人的な感想を書きます。引用は手動で書き写しているので書き間違いがあるかもしれません。何か変だったら前後から類推するかを当たってください。 ジョー・アームストロング 今から思うとおかしいのは、現代的な小道具というのはどれも、実際にはより生産的にしてくれるものではないことです。(略)ソフトウェア開発の大部分はどのみち頭の中で行われるのです。(略)それから今日では選択の重荷が大きすぎると思います。(略)昔は選択による麻痺状態なんていうものはありませんでした。単に始めるだけのことで、言語やなんかに何を使うかという選択は、すでになされていたのです。どれにするかと考えることはなく、ただやり始めれば良かったのです。 Erlang作者のジョー・アームストロング氏の懐古主義な感想です。

  • 「Coders at Work」を読みました

    Coders at Work プログラミングの技をめぐる探求を読みました。文字が小さめでかつびっしりと文字ばかりのなので、ページ数の割に読むのに時間がかかりました(ページ数の割にと言っても、600ページ弱なので薄いではありませんが)。 これは良いです。名文ぞろいです。 心に残ったひとことの引用と、それに対する個人的な感想を書きます。引用は手動で書き写しているので書き間違いがあるかもしれません。何か変だったら前後から類推するかを当たってください。 長いので何回かに分割します。 ジェイミー・ザウィンスキー C++には嫌悪しか感じません。あらゆることがあらゆる仕方で間違っています。だからNetscapeでは可能な限りC++を避け、何でもCでやっていました。 XEmacsやMozilla(辞めた件)で有名なjwzの言葉です。を読む前からjwzのC++嫌いは知っていましたが、相変わらずの過

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

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

  • 巷で話題の anything.el を使ってみた ― ありえるえりあ

    anything.el って何? 「open anything」できるようになるらしいのですが、少し抽象的で分かりづらいと思います。簡単に言えば、複数の機能をひとつのインターフェースに統合してしまうということです。例えば、 M-x anything RET emacs と入力すれば、 find-file の候補として ~/.emacs 、 Info の候補として Emacs などが列挙され、さらに絞りこんだり、十字キーで直接選択して実際の機能を利用したりします。 動作原理 antyhing は入力されたパターンと anything-sources に定義されている複数の機能を使ってインクリメンタルに候補を生成します。つまり文字を入力してパターンを更新するたびに新しい候補が出てくるのです。 anything-sources は基的に名前と候補関数のリストで構成されており、具体的な機能は候補

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

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

  • トラフィック制限(iptablesのhashlimitとshaperdの比較) -アリエル第ゼロ期生のレポート-

    最近の社内の新卒第1期生ブームを受けて、第ゼロ期生が気を出し始めました。 もともと才能は一級品と言われてきた逸材です。そんな第ゼロ期生のレポートを人了承を得た上で掲載します。トラフィック制限の話です。 iptablesのhashlimitでトラフィック制限 参考サイト http://c-heart.sakura.ne.jp/mt/archives/2009/10/iptables.html http://kfujio.blog78.fc2.com/blog-entry-72.html 設定 特定のIPアドレスとの通信のhashlimitを1666パケット/secに設定 (mtu = 1500の場合 1666 (packets/sec) * 1500 (byte/packets) /1024/1024 = 2.38MByte/sec となる事を意図) それ以外の通信については all p

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

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

  • Sencha Touch 2 Recipes #3: Windows で iOS アプリを開発する

    >> iOS アプリ開発を Windows PC 上で! Sencha Touch 2 のリリースを報じる記事で、ネイティブパッケージング機能が大きく取り上げられていました。記事を読んで興味を惹かれた方も多いようなので、今回は Windows で iOS アプリ(iPhoneiPad で動くアプリ)を開発する手順について、ご紹介させて頂きたいと思います。 Problem: - 使い慣れた Windows PC で iOS アプリを開発したい - iOS アプリを開発してみたいが、手元に Windows PC しかない Solution: 実際のところ、作業はコマンドひとつで完了します。通常通り Sencha Touch で WEB アプリを開発した後、以下のコマンドを実行すると、iOS で実行可能なアプリケーションファイル(.app)が生成されます。 ネイティブパッケージングで変換した

  • 「Emacsのトラノマキ」連載第16回「元Vimmerが考えるEmacsの再設計」(深町英太郎) | ありえるえりあ

    ## はじめに ### VimEmacs プログラミングを始めてからずっとVimというエディタを使っていましたが、今年の2月からEmacsを使うようになりました。 プログラマには妙なこだわりを持っている人が多いです。とくに使用エディタは論争の種になり、この2つのエディタはよく比較して語られます。 どちらの世界も体験した僕にとってこの2つのエディタは次元の異なるもののように見えます。Vimはエディタとしての機能と効率を突き詰めたものであり、一方でEmacsは拡張性豊かなLispでさまざな機能を取り込んでいこうとします。どちらが優れているというわけではありません。何しろ次元が違っているのです。二次元が三次元より劣っている、なんてことはないように、どちらを選ぶも好き好きでしょう。 しかし、この不毛な議論を価値観の違いという一般論で片付けてしまうのは少し勿体無い気がします。そこでVimmerが言

  • Apache2.4そろそろリリース...かもしれないので非同期I/Oのevent mpmの紹介

    自信のないタイトルは1年前に「2011年には流石にリリースされると思います」と書いてしまった反省からです。 リリースに関わっているわけでもないのに根拠のない予言をするものではありません。更にさかのぼること3年前には、Apache2.4カウントダウン?のタイトルで記事を書いています。もはや狼少年状態です。 Apache2.4の新機能の中で意外にフィーチャーされていませんが、個人的な注目はevent MPM(とAsynchronous support)です。いわゆる非同期I/O動作のイベントドリブンなmpmです。非同期I/Oのイベントドリブンと聞くと、nginxと同じ動作?と思う人もいるかもしれませんが、動作モデルは異なります。 Apacheを知っている人は、event mpmがバージョン2.2から存在するのを知っているかもしれません。バージョン2.2では実験的(experimental)mp