タグ

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

  • JJUG CCC 2015 Springの講演資料「社長が脱RDBと言い出して困りましたが、開き直って楽しんでいる話」を公開します

    1週間経っていますが、JJUG CCC 2015 Springの講演資料を公開します。 「社長が脱RDBと言い出して困りましたが、開き直って楽しんでいる話」 追記(2015/5/25): PDF版も置きます。 JJUG_CCC_2015_inoue.pdf # 「ありえるえりあ」の環境がひどすぎて、ファイルひとつアップロードするのもひと苦労です。なんでそんなひどいことになっているのか、外部の人には想像もできないでしょうが。

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

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

  • リージョン選択(松山智大) — ありえるえりあ

    前回は、コピーアンドペーストというエディタにおけるごく基的な操作を通して、リージョンの概念と基操作を説明しました。今回は、前回あまり説明しなかったリージョン選択を、具体的に実用できるものとして取り上げたいと思います。 (Emacsにおける)リージョン選択という操作では、前回説明したC-SPCでマークを設置してカーソルを移動することによりリージョン選択を行う方法は、ある意味では最後の手段です。Emacsを利用する理由は人によって様々だと思いますが、Emacs使用者としておそらく追求すべきことは、タイプ量を減らすことです。それを考えると、例えばALongLongWordという単語をコピーするためにC-SPC C-f C-f C-f ...とカーソル移動を何度も行うのはEmacs使用者として怠惰であると言えます。この場合だと、前方に単語移動するM-f (forward-word)を使ってC-

  • コードリーディングについて | ありえるえりあ

    コードリーディングについて アリエルネットワークCTO 井上誠一郎 自己紹介 書籍 「P2P教科書」 「パーフェクトJava」 「サーバサイドJavaScript入門」 「パーフェクトJavaScript」 今回の講義 心構えや経験談が中心 抽象論になりすぎないように実践可能な「トライ」ページ 次回講義の予告 3月1日の予定 「Webアプリのアーキテクチャの歴史と進化」 専門用語多め 反応を比較して今後の講義の参考にします コードリーディング(1) 現場で重要なスキル 既存コードベースがある場合、書くコード行数は驚くほど少ない 学習と実務でのギャップ サンプルコードは短い コードリーディング(2) 既存コードを理解できないと デバッグできない 新機能の追加ができない 既存コードと同じコードを書いてしまう(無知ゆえのコピーコード) => 更に読みづらくなる悪循環 理解できないコードは悪 多少

    pochi-mk
    pochi-mk 2012/02/10
    メタ知識 --- 要件定義書だったり基本設計書だったりするのだけれど、体系だったドキュメントがない場合、コードからリバースすることが多い。でも、ドキュメントがなくても、場合によっては人に聞く方がベター。
  • 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

    pochi-mk
    pochi-mk 2012/01/13
  • オブジェクト指向について語った時に使ったメモ

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

    pochi-mk
    pochi-mk 2011/11/09
  • モダンCommon Lisp: 第4回 Common Lispライブラリガイド

    さて、Modern Common Lispはこれで4回目です。環境構築も完成に近づき、Common Lispでプログラムを始められる状態になりつつあります。ブログの主題も環境構築から実践へと移ります。 今回はCommon Lispでプログラムを書く際によく必要になるであろうライブラリの紹介です。Common LispはSchemeと比べると仕様の大きな言語には違いありませんが、最近普及しているPythonなどに比べると標準ライブラリも小さいです。そのため、適切なライブラリを適切に使用するという能力は、他の言語以上にCommon Lispで必要になるでしょう。 ここで紹介するライブラリはすべてQuicklispに入っているのですぐ利用できます。まだインストールしていない人は以下のエントリを参考にインストールしてください。 Modern Common Lisp: 第2回 Quicklispによ

    pochi-mk
    pochi-mk 2011/04/23
  • モダンCommon Lisp第3回: SLIMEの使い方 基礎編

    前回はQuicklispによるライブラリ管理について説明しました。今回はSLIMEの 基的な使い方について説明します。 SLIMEとは SLIMEは(Common) Lispのための統合開発環境(IDE)です。他のIDEとは異なり、 対話的にプログラムを構築できるのが特徴です。一度ハマれば他の開発環境は 使えなくなるでしょう。詳しい情報は次のURLを参照してください。 http://common-lisp.net/project/slime/ インストールと設定

    pochi-mk
    pochi-mk 2011/04/08
  • モダンCommon Lisp: Common Lisp処理系のインストール

    同僚の深町さんと「モダンCommon Lisp」シリーズを初めることになりました。今回はCommon Lisp処理系のインストール方法について解説します。 どの処理系を使うか Common Lispには処理系が多数存在するため、プログラミングを初める前に、まずどの処理系を使うか決めなくてはなりません。商用ならAllegro CLでほぼ一択のようですが、お金がかかりますし、プロプライエタリソフトウェアですから、今回は候補から除外します。 無料で手に入る(フリーな)処理系としてはSBCLが有名です。多くのライブラリでサポートされている処理系であり、コンパイラの品質が高い(速いコードが生成される)という強みを持っていますが、スレッドサポートがかなり怪しいらしく(未確認)、またコンパイルに非常に時間がかかるという問題を持っています(開発のテンポに影響)。 SBCL以外には、例えばCLISPなどがあ

    pochi-mk
    pochi-mk 2011/03/07
  • Common LispがWeb業界を駆逐するとき - Revenge of Lisp in Web

    Common Lispはこの世に存在する言語の中でストレスなくプログラムできる唯一の言語であるというのは周知の事実です(ですよね?)。にも関わらず、実際に使われる機会はそれほど多くはありません。僕自身、仕事で使うのは難しいと考えています。 たとえばこんなことを言われたとします。 「やあ深町くん。実は大急ぎでTwitterみたいなサービスをつくってほしいんだ。できれば1週間でね」 そうすれば僕はこう言うでしょう。仕方ない。Perlだ。少しの間Common Lispと別れを告げ、ひたすらCPANを検索しつづける日々を迎えます。(もしくは転職先を探しているでしょう) なぜCommon Lispではないのか。違いは決定的なライブラリの数と質の差です。CPANには考えうる限りのライブラリがあり、しかも多くにおいて複数の選択肢が存在します。 一方のCommon Lispはライブラリがあればラッキーです

    pochi-mk
    pochi-mk 2011/02/21
  • Common Lispにおけるlambdaのあれこれ

    Common Lispプログラミングにおいて、lambdaは欠かすことのできない重要なパーツの一つですが、このlambdaにはいくつか知っておくべき慣習や決まり事があります。この記事では、lambdaに関する簡単な背景をふまえた上で、知っておきべき知識を簡潔にまとめようと思います。 ラムダ式 以下の形式のフォームをラムダ式と呼びます。ラムダ計算においては厳密にはラムダ抽象と呼ばれるのですが、Common Lispではラムダ式と呼びます。

    pochi-mk
    pochi-mk 2011/02/17
  • プログラマのためのUXチートシート — ありえるえりあ

    はじめに http://msdn.microsoft.com/ja-jp/library/aa511258.aspx の 「Windows ユーザー エクスペリエンス ガイドライン」 「ガイドライン」 主に「コントロール」 の抜粋です。 以下の基準で抜粋しました Web UIに応用可能 実用的かつ具体的 自明ではない プライマリUIを目立たせる プライマリ UI 要素を強調するには、以下に従います。 - プライマリ UI 要素は、視線の通り道に配置します。 - タスクを開始する UI 要素は、左上隅または中央上に配置します。 - コミット ボタンは、右下隅に配置します。 - 残りのプライマリ UI は、中央に配置します。 - コマンド ボタン、コマンド リンク、アイコンなど、注意を引き付けるコントロールを使用します。 - 大きなテキストや太字のテキストなどの目立つテキストを使用します。 ユ

    pochi-mk
    pochi-mk 2010/11/19
  • ありえるえりあ勉強会 -第1回ディープすぎるJava・・・- 資料 — ありえるえりあ

    Recent entries 六木グルメガイド dev 2010-11-30 ズクナシ紅白落選 dev 2010-11-24 第一回アリエル開発合宿 dev 2010-11-11 第五回ありえるえりあ勉強会〜「Lisp脳」〜 無事終了致しました dev 2010-11-03 第五回ありえるえりあ勉強会〜「Lisp脳」勉強会 〜 dev 2010-10-18 Recent comments Re:ニコ生配信 5/28(金) ありえるえりあ勉強会@溜池山​王 ~第1回Emacs~ dev 2010-05-31 Re:ニコ生配信 5/28(金) ありえるえりあ勉強会@溜池山​王 ~第1回Emacs~ Anonymous User 2010-05-29 Re:ANA(全日空)がメールアドレスを売った? Anonymous User 2009-09-21 Re:勘は重要 Anonymous Use

    pochi-mk
    pochi-mk 2010/06/01
  • Software Design連載記事「Emacsのトラノマキ」の原稿 — ありえるえりあ

    技術評論社「Software Design」の2009年5月号から連載している「Emacsのトラノマキ」の原稿を随時公開します。 Emacsの検索機能を使いこなす(菅原泰樹) 「Emacsのトラノマキ」 連載第一回 「Emacsの検索機能を使いこなす」 Emacsの検索機能を使いこなす(2)(菅原泰樹) 「Emacsのトラノマキ」 連載第二回 「Emacsの検索機能を使いこなす(2)」 第一回目の原稿(http://dev.ariel-networks.com/articles/emacs/part1)と重複があります。第一回目の原稿が長すぎて分割したためです。 lispを(なるべく)書かないコマンド作成講座(菅原泰樹) 「Emacsのトラノマキ」連載第三回「lispを(なるべく)書かないコマンド作成講座」 コピーアンドペーストを使いこなす(松山智大) 「Emacsのトラノマキ」連載第四回

    pochi-mk
    pochi-mk 2010/05/25
  • Emacsの検索機能を使いこなす(菅原泰樹) — ありえるえりあ

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

    pochi-mk
    pochi-mk 2010/02/23
  • javascriptでthisと戯れる — ありえるえりあ

    Recent entries Re: Adaで超いい加減HTTPサーバ iwanaga 2010-01-10 javascriptでthisと戯れる iwanaga 2009-11-13 第一回五反田Emacs勉強会のUstream配信 iwanaga 2009-09-29 わかった気になる気になるandroid iwanaga 2009-07-04 Rhinoを組み込む為のイントロダクション iwanaga 2009-02-02 最近のありえるはGoやったり、Closureやったりかっこ良いですね。 このあたりは社内の自称二十代の勉強会で教えて貰えることを期待しつつ、 新人さん向けに開催したjavascript勉強会の小ネタとして、 javascriptのthisについての話をしたのでその内容を載せてみます。 javascript業の方などからしてみれば自明な内容かもしれませんが、

    pochi-mk
    pochi-mk 2009/11/12
  • OpenSSOでSSOを実践 — ありえるえりあ

    SSOの構成 SSOを実現するシステムは、一般的にリバースプロクシ型とエージェント型に分類されます。この分類に従えばOpenSSOはエージェント型です。 しかし一般的なエージェント型から受ける印象とは少し違い エージェントに相当するモジュールがpolicy agentとして提供されているので(apacheのモジュールやtomcatのフィルタ)、対応済みのWebサーバやアプリケーションサーバであればSSO対象Webアプリにエージェントのコードを組み込む必要はありません (後述するように)policy agentをモジュールとして組み込んだapacheをリバースプロクシにすれば、リバースプロクシ型としてOpenSSOを動かせます 個人的に、この分類はそれほど重要だとは思っていません。より重要な分類は、SSO対象アプリ側のコードに「手を入れる必要があるか否か」の分類の方です。これは後述します。

    pochi-mk
    pochi-mk 2009/11/02
  • 第一回五反田Emacs勉強会のUstream配信 — ありえるえりあ

    Recent entries Re: Adaで超いい加減HTTPサーバ iwanaga 2010-01-10 javascriptでthisと戯れる iwanaga 2009-11-13 第一回五反田Emacs勉強会のUstream配信 iwanaga 2009-09-29 わかった気になる気になるandroid iwanaga 2009-07-04 Rhinoを組み込む為のイントロダクション iwanaga 2009-02-02

    pochi-mk
    pochi-mk 2009/09/29
  • tokyo-emacs#x02の個人的レポート — ありえるえりあ

    id:hayamizさん主催のtokyo-emacs#02に参加してきました。ミラクルリナックスという魅力的な場所で、Emacsが好きという魅力的な人達が多数参加した、魅力的なイベントでした。イベントに関するレポートは諸処であげられているので、このエントリでは発表されたネタに個人的なツッコミを入れていくだけにします。 kwappaさんの発表 「こういうことできたらいいな」という原始的な視点から、Emacsはカスタマイズしてこそという真理を再確認させてくれた発表でした。kwappaさんはその発表の中で、二つのカスタマイズ例を例示されました。一つは一番下までスクロールしたらバッファの先頭に戻るというカスタマイズで、もう一つはリージョンを選択していない時に C-w すると kill-whole-line の挙動になるというカスタマイズです。個人的には後者はすごくいいアイデアだと思います。同発表で

    pochi-mk
    pochi-mk 2009/09/08
  • 国際化プログラミング(の前の知識) — ありえるえりあ

    国際化プログラミング(の前の知識) 書籍「パーフェクトJava」に掲載予定だった「国際化」の章の原稿(前半)です。ページ数の関係で掲載していません。Javaプログラミングと直接的な関係は薄いですが、国際化プログラミングの背景として知っておいて損はありません。 掲載予定だった「国際化」の章の後半: http://dev.ariel-networks.com/column/tech/i18n-part2/ パーフェクトJava http://www.amazon.co.jp/dp/4774139904/ ■■■18-1 国際化と地域化 国際化とはinternationalizationの訳語です。長い単語なので、先頭のiと末尾のnの間に18文字あることからしばしばi18nと省略します。地域化はlocalizationの訳語です。同様の省略でl10nと表記します。書では国際化と地域化の記述で統

    pochi-mk
    pochi-mk 2009/07/13