タグ

ブックマーク / mattn.kaoriya.net (17)

  • Big Sky :: プログラミング言語の作り方

    Big Sky :: プログラミング言語の作り方(2) Big Sky :: プログラミング言語の作り方(3) Big Sky :: プログラミング言語の作り方(4) Big Sky :: プログラミング言語の作り方(5) githubtrending を見てたら面白い物を見つけた。 orangeduck/BuildYourOwnLisp - GitHub Learn C and build your own programming language in under 1000 lines of code! https://github.com/orangeduck/BuildYourOwnLisp 手順にそってC言語で lisp を実装する手順を見せるという物なのだが、その教材の一部としてパーサのコードが含まれている。 このパーサ部分だけ別のプロジェクトとして外出しされている。 o

    Big Sky :: プログラミング言語の作り方
    Hash
    Hash 2014/12/16
  • Big Sky :: golang で最近お気に入りの WAF「Goji」

    Web アプリケーションを書くときは今までずっと 小さい物は web.go 大きい物は net/http というスタンスを何故か貫いて来たんだけど、最近ようやく web.go をやめて goji を使う様になった。 Goji A web microframework for Golang https://goji.io/ 理由としては Sinatra ライクでありながら高度な正規表現マッチも使えるルータ それでいて net/http コンパチ 簡単に実装出来るミドルウェアスタック グレースフルシャットダウン そして何と言っても速い ミドルウェアも一般的な Web アプリケーションを作るには十分な物が既に揃ってます。 それでもやっぱり大きめな物は net/http で書くんだけど、小規模から中規模な物を一気にゴリゴリっと書く場合には goji は便利です。もちろん Windows でも動きま

    Big Sky :: golang で最近お気に入りの WAF「Goji」
    Hash
    Hash 2014/10/21
    ほうほう
  • Big Sky :: Golang で PubSub 出来る go-pubsub を書いた。

    Golang ってネットワークを扱うのが凄く楽で色んな物が作りたくなるんだけど、いつも pubsub っぽいのが欲しくなって毎回作ってる気がしたので汎用的に扱えるインタフェースを作った。 mattn/go-pubsub - GitHub https://github.com/mattn/go-pubsub 使い方は簡単で、まず subscribe 側はある型を引数に持つコールバックで Sub を呼び出す。 ps := pubsub.New() ps.Sub(func(i int) { fmt.Println("int subscriber: ", i) }) そして publish 側はある型を指定して Pub を呼び出す。 ps.Pub(1) Pub された値と同じ型の引数を持つ subscriber のみがメッセージを受け取れるという仕組み。構造体も渡せるので複雑なメッセージ内容もOK

    Big Sky :: Golang で PubSub 出来る go-pubsub を書いた。
    Hash
    Hash 2014/08/16
    おおお
  • Big Sky :: 意外と知られていない便利なvimプラグイン「ctrlp.vim」

    この記事は、Vim Advent Calendar 2011の記事です。欠番が出そうだったので、勝手ながら割り込ませて頂きます。 Vimを使って開発をする際、リポジトリ内のファイルにどうやってアクセスしていますか?NERDTree?vimshell?unite.vim?FuzzyFinder? 色んな方法があるかと思います。ただこれらは若干古かったりニュアンスが異なっていたり、物によっては開発に向かない物もあります。単純にファイルを選択するのであれば、それで事足りるでしょう。しかしながら当に開きたいファイルを最短の方法で選ぶには、これまでの方法では時に無駄であったり、余計なお世話だったりもしました。 僕はバッファセレクタやファイルセレクタというのは使わない方なのですが、ちょっと前にこれを見つけて「おっ...よさげなインタフェース」と思った物があったので紹介しようと思います。 ctrlp.

    Big Sky :: 意外と知られていない便利なvimプラグイン「ctrlp.vim」
    Hash
    Hash 2013/10/07
  • Big Sky :: シャア「Viをやめろと言ったはずだ。それがVimとはな」

    シャア 「Viをやめろと言ったはずだ。それがVimとはな」 セイラ 「兄さんこそ、EmacsユーザにまでなってVimmerに復讐しよう なんてやることが筋違いじゃなくて?」 シャア 「お前の兄がその程度の男だと思っているのか?アルテイシア」 セイラ 「え?」 シャア 「Emacsユーザになって小指を鍛えて来たのも、小指で遠いESCキーを 押したかったからだ。しかしな、アルテイシア、私だってそれから 少しは大人になった」 シャア 「VimmerをEmacsユーザが倒すだけではテキストエディタ界の真の 平和は得られないと悟ったのだ」 セイラ 「なぜ?」 シャア 「Eclipseの逆襲だ」 セイラ 「EclipseがエディタじゃなくIDEだから?」 ブライト 『Eclipse?』 シャア 「うむ、そのEclipseを敵にするのは面白くない。今後はこれまで 培った変態技が使えぬ、ということだ」 セ

    Big Sky :: シャア「Viをやめろと言ったはずだ。それがVimとはな」
  • Big Sky :: Vimで出来る限界か?VimscriptでサイボウズLiveのAPIを叩いてみた。

    サイボウズLiveにAPIが追加されましたね。 機能追加のお知らせ(API公開、Googleカレンダーとの同期、デザイン変更) | サイボウズLiveマガジン 9月15日のサイトメンテナンスにより、新機能を追加しました。 ■APIの公開 外部アプリケーションからサイボウズLiveの情報を取得・操作できるAPIを公開しました。通信方式はREST、認証方式はOAuthです。現在は最新情報の取得、スケジュール情報の取得に限定していますが、順次APIで取得・操作可能な情報を拡充していきます。 APIの公開にあわせて、サイボウズLive Developer Centerを公開しました。 http://magazine.cybozulive.com/2010/09/system_update10.html API好きとしては、これを放っておく訳にはいきません。 もちろんVimで行きます! APIはドキ

    Big Sky :: Vimで出来る限界か?VimscriptでサイボウズLiveのAPIを叩いてみた。
  • Big Sky :: モテる Vim 使いに読み書き出来ないファイルなどなかったんだよ!

    Vim Advent Calendar 2012 の 4 日目の記事です。 「やった!コンプガチャで Vim 出た!」 「だって前の彼氏、Vim 使いじゃなかったんだもん」「マクドナルド店員「ご一緒に Vim など如何ですか?」」 こんな言葉が聞かれる様になって随分と経ちました(要出典)。 昨今、Vim はテキストエディタの枠を超え、アプリケーションプラットフォームへと変わりつつあります。 vital.vim 等を使う事で簡単にアプリケーションを作る事も出来る様になりました。手前味噌ではありますが webapi-vim の一部も vital.vim に取り込まれています。 このブログでも結構取り上げていますが webapi-vim とは一体何か。名前の通り、Web Application Programming Intreface を扱えるライブラリです。 webapi-vim とは we

    Big Sky :: モテる Vim 使いに読み書き出来ないファイルなどなかったんだよ!
    Hash
    Hash 2012/12/04
    GDrive読み書きとかwebapi.vimとか
  • Big Sky :: 【勝手に添削】ftplugin マナー

    ちょっとだけ気になったので勝手に添削。 Enhance jsx.vim to execute the current test method! - Islands in the byte stream Enhance jsx.vim to execute the current test method! JSX compiler... http://d.hatena.ne.jp/gfx/20121014/1350233031 vim script を紛らわしくしている物の一つに ftplugin と autoload がある。autoload はこの辺読んで貰えると分かる。 ftplugin は現在のバッファにファイルタイプが適用されたタイミングで ftplugin/ファイルタイプ名.vim もしくは ftplugin/ファイルタイプ名/任意ファイル名.vim が読み込まれ実行される。つま

    Big Sky :: 【勝手に添削】ftplugin マナー
    Hash
    Hash 2012/10/16
  • Big Sky :: 他人が作ったVimScriptを一切触らず拡張する

    普段twitterするときはtwitvimというvimscriptを使ってvimからやってるのだけど、たいがいこういうのって自分の思う機能が実装されていなかったり、違う実装になっていたりする。 TwitVim - Twitter client for Vim : vim online TwitVim is a Vim plugin that allows you to post to Twitter and view Twitter timelines. http://www.vim.org/scripts/script.php?script_id=2204 twitvim - Twitter Client for Vim - Google Project Hosting A Twitter client written in Vim script. See http://vim.sour

    Big Sky :: 他人が作ったVimScriptを一切触らず拡張する
    Hash
    Hash 2012/08/13
    commandコマンドでユーザー定義コマンド渡せばSNRが取れる
  • Big Sky :: 意外と知られていないvimのtips(calendar.vimの日記機能をGoogle Calendarと同期させる)

    先日、Open Tech Pressの連載コラム「Vimマスターへの道」の中に「Vim/gVimをユーザフレンドリなエディタに変えるCream」という記事を見つけました。 Creamは以前から知っており、Creamの作者から「calendar.vim」の取り込み可否を尋ねられた事があります。現在は少し古いバージョンがCreamにバンドルされています。 上記文中に、「...例えばカレンダ機能を追加するCalendarプラグインが使えないと自分は生きていけないと語っていた者と何回か出会ったことがある。」の文言を見つけた時には正直嬉しかったです。 ただ、Calendarに付属している日記機能は現状メモ書き用途にしか使えず、現状のCalendarは単なるカレンダでしかありません。何かとリンクする訳でもなく、このデータを使ってvimと連携する事もありません。しいて言うならば日記ファイルがあるとca

    Big Sky :: 意外と知られていないvimのtips(calendar.vimの日記機能をGoogle Calendarと同期させる)
    Hash
    Hash 2012/08/07
    これ使えばVimからGoogle Calendar見れるじゃないか。勝つる
  • Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技

    名無しのVim使いでお馴染みの小見さんにお誘いを受け、執筆のお手伝いをさせて頂きました。 これまで僕が持っていたVimは、「Viとは」から始まりページ数の半分くらいで操作方法、最後の方にようやく「GVimとは」が現れる、あまり奥にまで入り込んでいない書籍でした。 もちろんこれらのも僕を喜ばせる事は出来たのですが、なにぶんページの殆どが知っている情報だったので僕にとって「ワクワクする」では無かったんです。 ずっと最新情報取り入れたVim出ないかなと思ってました。 そんな中、小見さんから話を持ちかけて頂き、まさか自分がその著書を作るなんて思っても見なかったけど即答でOKを出させて頂きました。 僕が最初に見たViは大学の某研究室にあったSONYのNEWSというUNIX上で友達が動かしていた物。その時は変な操作方法だなぁとしか思ってませんでした。 それから就職した会社のワークステーションで

    Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技
    Hash
    Hash 2012/08/05
    この記事読むまでmattnさん=香り屋さんだと思ってた
  • Big Sky :: curlを使ってコマンドラインからGDataにログインし、picasaに画像をアップロードする

    ちょっと目から鱗な物みつけた。 Google Code FAQ - Using cURL to interact with Google data services curlを使ってコマンドラインからGDataにアクセスする方法。 濃いなぁ...苦笑。手順を追って説明してくれています。色々書かれていますが以下ではPicasaWebAlbumに画像をアップロードするまでの簡単な手順を示して行きます。 まず https://www.google.com/accounts/ClientLogin にEmail、Passwd、accountType、source、serviceをパラメータ指定してGDataへのAuthトークンを取得しに行きます。 ここで返って来るのは3行程のデータで SID=XXXXXX LSID=YYYYYY Auth=ZZZZZZ といった物が返ってきます。 認証に必要なのは

    Big Sky :: curlを使ってコマンドラインからGDataにログインし、picasaに画像をアップロードする
    Hash
    Hash 2012/06/20
    素敵
  • Big Sky :: VimでDBが操作できる vdbi-vim 作った。

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト

    Big Sky :: VimでDBが操作できる vdbi-vim 作った。
    Hash
    Hash 2012/03/12
    うひょう
  • Big Sky :: githubとjekyllとoctopressで作る簡単でモダンなブログ

    以前、「jekyllで始める簡単ブログ」という記事を書いたのですが Big Sky :: Jekyllで始める簡単ブログ GithubのユーザページでJekyllが使われる様になりました。 GitHub Pages Upgraded to Jekyll 0.5.0 - GitHub I just released Jek... http://mattn.kaoriya.net/software/lang/ruby/20090409185248.htm octopressというのを使うともっと簡単に出来る事が分かった。 Octopress Octopress is a framework designed by Brandon Mathis for Jekyll , the blog aware static site generato... http://octopress.org ima

    Big Sky :: githubとjekyllとoctopressで作る簡単でモダンなブログ
    Hash
    Hash 2011/10/18
    うずうず
  • Big Sky :: Jekyllで始める簡単ブログ

    GithubのユーザページでJekyllが使われる様になりました。 GitHub Pages Upgraded to Jekyll 0.5.0 - GitHub I just released Jekyll 0.5.0 which contains a huge overhaul that allows you to specify options in a _config.yml file. GitHub Pages will honor most of these settings, so if you want to have your Page rendered with RDiscount instead of Maruku, just put this in your config file: ... http://github.com/blog/402-github-page

    Big Sky :: Jekyllで始める簡単ブログ
  • Big Sky :: Web開発屋なら知っておきたい。AtomPubとは何か?

    Blogging APIは何処に行こうとしているのか... 先日は、XMLRPCについてのお話をさせて頂きました。 今日はその中で出てきたBlogging APIについて。 著名なブログツールの多くは、リモートからブログが更新出来る仕組みを提供しています。 その中でも、一般的な物が先日お話した「XMLRPC」をベースにした「Blogger API」や「metaWeblog API」、「MovableType API」があります。 ※現在ではBloggerはXMLRPCではなく、Atompubを使用しています。 それとは別に、Atomフィードを使用したAtomPub APIがあります。 XMLRPCの場合は、リモートメソッドとしてXMLを生成してブログの投稿、削除等を行いますが、AtomPubの場合は送受信されるXMLの単位自身が文書になります。 この文書をHTTPのGET/POST(PUT

    Big Sky :: Web開発屋なら知っておきたい。AtomPubとは何か?
    Hash
    Hash 2011/02/28
  • Big Sky :: Google Readerでもgをぺちって全部全文読んじゃおう。

    追記 都合上、キーを「g」から「z」に変更させて頂いています。 以下読み替えて頂く様お願い致します。 LDRで全文取得表示するグリモン便利だなぁ。 LDR Full Feed 0.0.6 gをぺちって押してLDRで全部全文読んじゃおう。 「g」押すだけなんて!!! でもLDR使ってない!!! って事で、Google Readerにサクサクっと移植してみました。 そんなに大きな変更してません。SITEINFOも同じ場所を使っています。 オリジナル作者様、もし同じSITEINFOを見る事に問題があれば、ご連絡下さい。 即効でグリモン毎、削除させて頂きます。 操作は同じく、[G]のアイコンが付いてたら「g」を押下で全文取得。 とりあえず、dankogai氏のサイトでチェックして問題なさげ。 ライセンスはLDR Full Feedに委ねます。 ダウンロード:googlereaderfullfeed

    Big Sky :: Google Readerでもgをぺちって全部全文読んじゃおう。
    Hash
    Hash 2009/02/21
    した。vimperator無効化しとけ
  • 1