八発白中

技術ブログ、改め雑記

2016-01-01から1年間の記事一覧

Day 25: Utopian

メリークリスプマス! これは fukamachi products advent calendar 2016 の25日目の記事です。 今日はUtopianについて話します。 アドベントカレンダー最終日 このアドベントカレンダーも今日が最後ですが、テーマになっているプロダクトのリリース日がだい…

Day 24: Mito

これは fukamachi products advent calendar 2016 の24日目の記事です。 今日はMitoについて話します。 Integralの失敗 11日目のIntegralの「抽象化の失敗」のところで取り上げましたが、Common LispのORMとして作られたIntegralはPostgreSQLのサポートに失…

Day 23: Psychiq

これは fukamachi products advent calendar 2016 の23日目の記事です。 今日はPsychiqについて話します。 はてなでの経験 僕の経歴の中ではてなで働いていた時期はあまりOSS活動もせず、Common Lispを書いていませんでした。仕事がPerlということも理由の一…

Day 22: cl-coveralls

これは fukamachi products advent calendar 2016 の22日目の記事です。 今日はcl-coverallsについて話します。 CI Common LispはTravis CIのオフィシャルサポートはありませんが、cl-travisやRoswellを使って複数処理系をテストすることができます。 Common…

Day 21: Lack

これは fukamachi products advent calendar 2016 の21日目の記事です。 今日はLackについて話します。Rackではないです。 Clackの高速化 サムライトに入社してWooによるサーバーの高速化を主な課題と取り組んでいましたが、アプリケーション全体で見ればそ…

Day 20: Dexador

これは fukamachi products advent calendar 2016 の20日目の記事です。 今日はDexadorについて話します。 Drakma Common Lispには古くからDrakmaというHTTPクライアントがあります。Quickdocs によると74のライブラリで利用されており広く使われているよう…

Day 19: clfreaks

これは fukamachi products advent calendar 2016 の19日目の記事です。 今日はclfreaksについて話します。今回はライブラリではありません。 コミュニティの規模 Common Lispのコミュニティサイズは絶望するほど小さくはありませんが、決して大きくはありま…

Day 18: trivial-signal

これは fukamachi products advent calendar 2016 の18日目の記事です。 今日はtrivial-signalについて話します。土日に細かいライブラリ紹介が並んでいるのはただの手抜きです。 Common LIspとスクリプト 継続的なCommon Lispの課題として、スクリプトを書…

Day 17: smart-buffer

これは fukamachi products advent calendar 2016 の17日目の記事です。 今日はsmart-bufferについて話します。裏側で使っているライブラリなのでたぶん知らない人がほとんどかと思うので紹介です。 Wooの成功 15日目に話したWooは想像以上に受け入れられ、…

Day 16: QURI

これは fukamachi products advent calendar 2016 の16日目の記事です。 今日はQURIについて話します。 PURIへの不満 Common LispにはURIを扱うライブラリとしてずっとPURIが使われていました。 僕も詳しい経緯は知らないのですが、元々Allegro CLにあったUR…

Day 15: Woo

これは fukamachi products advent calendar 2016 の15日目の記事です。 今日はWooについて話します。 これがあらすじです。 WookieがNodeより遅くね?→プロファイル→http-parseが遅い→PRいくつか投げる→でも遅い→fast-http公開→Wookieまだ遅い→Clackベース…

Day 14: fast-http

これは fukamachi products advent calendar 2016 の14日目の記事です。 今日はfast-httpについて話します。埋め込みツイートが多いですが手抜きではありません。 Common Lispは高速か Common Lispは高速だという話を界隈ではよく聞きます。噂によればC++やC…

Day 13: websocket-driver

これは fukamachi products advent calendar 2016 の13日目の記事です。ようやく折り返し地点ですね。 今日はwebsocket-driverについて話します。 小さなライブラリではありますが、その後の話の発端となるライブラリなので紹介します。 WebSocket Clackによ…

Day 12: Qlot

これは fukamachi products advent calendar 2016 の12日目の記事です。 今日はQlotについて話します。 背景 はてなを退職することが決まってから、今までできていなかった開発時間を取り戻すかのようにCommon Lispを書き続けました。当時は起業する気でいた…

Day 11: Integral

これは fukamachi products advent calendar 2016 の11日目の記事です。 今日はIntegralについて話します。 このライブラリは現在非推奨ですが、歴史として重要なので取り上げます。 Common Lispとデータベース Cavemanを作ってから課題に感じていたデータベ…

Day 10: SxQL

これは fukamachi products advent calendar 2016 の10日目の記事です。 今日はSxQLについて話します。 Common LispのWeb開発に足りないもの Cavemanをリリースしてから継続的な課題として考えていたのは、Common LispのRDBMSとの連携が貧弱なことでした。CL…

Day 9: Quickdocs

これは fukamachi products advent calendar 2016 の9日目の記事です。 今日はQuickdocsについて話します。珍しく今回はライブラリの話ではありません。 ドキュメント生成の歴史 2日目のClackの回でも少し触れましたが、Clackは単に完成物としてのプロダクト…

Day 8: Shelly

これは fukamachi products advent calendar 2016 の8日目の記事です。 今日はShellyについて話します。 注意 今まで取り上げたツールとShellyの異なる点は、Shellyは古いプロジェクトであり現在非推奨である点です。これを読んで技術的な興味以上の実用的な…

Day 7: CL-DBI

これは fukamachi products advent calendar 2016 の7日目の記事です。 今日はCL-DBIについて話します。 フレームワークバトルは次のステージへ Cavemanに一定数のファンがついた頃、Star数がRESTASに並びました。そのとき僕はうれしくて、@snmstsさんに言い…

Day 6: circular-streams

これは fukamachi products advent calendar 2016 の6日目の記事です。 今日はcircular-streamsについて話します。 circular-streamsとは これまでのプロダクトとは違ってcircular-streamsは裏側で使われているライブラリなので知らない人も多いと思います。…

サムライト株式会社を退職します

今年末12月31日でサムライト株式会社を退職することにしました。 2年間という短い期間ではありましたが、Common Lispでの開発を存分にやらせていただきました。おかげで高速なWebサーバーのWooの運用実績ができ、Common Lispが実用に足るだけでなく他の言語…

Day 5: ningle

これは fukamachi products advent calendar 2016 の5日目の記事です。 今日はningleについて話します。 Cavemanをもっと小さく CavemanはマイクロWebフレームワークではありましたが、一般的なものと違ってプロジェクト雛形生成機能がついていました。 Perl…

Day 4: cl-project

これは fukamachi products advent calendar 2016 の4日目の記事です。 今日はcl-projectについて話します。 コーディングスタイルの提唱 前回の記事のCavemanからは話が前後します。 Clackの思想は疎結合性と再利用性を高めることでした。それはClackを使っ…

Day 3: Caveman

これは fukamachi products advent calendar 2016 の3日目の記事です。 今日はCavemanについて話します。 Clackに対するコメント Clack のリリースエントリは僕にとってはかなりの反響がありました。 その当時の記事についたはてなブックマークコメントで面…

Day 2: Clack

これは fukamachi products advent calendar 2016 の2日目の記事です。 今日はClackについて話します。 YAPC Asia 2010 keynote 僕が最初に学んだプログラム言語はPerlでした。その後PHPでのアルバイトを経験しましたが、好きな言語はやはりPerlでした。 最…

Day 1: Prove

これは fukamachi products advent calendar 2016 の1日目の記事です。 最初なのでこのアドベントカレンダーの説明をしておくと、僕が今まで作ったプロダクトをネタとして年代を追って話をするというとても気楽なものです。酒でも飲みながら昔話を聴いている…

落語Botを作った & LINE Botの設計考察

僕はよく落語を聴きに行きます。 寄席のときもあるし、お気に入りの落語家が出演する落語会のチケットを買って行くこともあります。寄席と落語会を合わせてだいたい月に3回くらい。 「寄席」というのは都内の各所で1年365日やってる落語イベントです。都内に…

プログラマを志す中高生向けの文章をマグロ部に寄稿しました

朝日新聞の中高生向けウェブメディア「マグロ部」にプログラマの記事を寄稿しました。 「人生のOB・OG訪問」の「夢を叶える方法」というシリーズで、将来の夢を考える若者向けのインタビュー記事を連載するものです。 たとえば先月の「キャビンアテンダンド…

Common Lisp用のメッセージキュー「Psychiq」を作りました

2年前にLesqueという、Common Lisp向けにRubyのResqueクローンを作りました。 メッセージキューやジョブキューという種類のプロダクトで、非同期処理を別のプロセスに移譲してバックグラウンドで行うものです。Redisをバックエンドとしています。 ある程度の…

割と本気で家庭用Slack Botを作ってみた

僕は妻と二人暮らしをしています。かつてはLINEを使って普段のやり取りをしていたのですが、一年ほど前からSlackを使い始めました。 Slackの良いところはハッカビリティが高いところです。Google Calendarなど他のサービスと連携することができるし、IFTTTを…