MinGW コンパイラで argv をワイルドカード展開させない方法
コマンドラインから「あ*」等とワイルドカードを使用してコマンドを起動した場合、UNIX とは異なり Windows ではプロセス自身が引数を展開します(内部的にではありますが)。main 関数の argc/argv は MSVC コンパイラであれば setargv.obj というオブジェクトファイルをリンクする事で展開される様になりますが、MinGW...
View Articlehtml をコマンドラインからパースするなら pup が便利
2014年でも html を解析してゴニョゴニョするなんて要件はまだまだある訳で、そんな時に便利なのが pup というコマンドです。EricChiang/pup - GitHubREADME.md pup pup is a command line tool for processing HTML. It reads from stdin, prints to...
View ArticleWindows でも PDCurses で UTF-8 を表示出来るようにした。
PDCursesはその名の通り Public Domain な curses 実装な訳ですが、Windows の実装こそありますが如何ともし難い問題がありました。PDCurses には、ワイド文字列関数とバイト列で貰う実装があります。UNIX 系アプリケーションの多くは内部文字列がほぼ UTF-8 となり、C言語で受け渡される文字列は既成事実として UTF-8...
View Article21 世紀のエディタである Atom を最強にする
Atom 最高ですね!!でも、Atom は 21 世紀のエディタです。まだ 21 世紀になって 14 年しか経っていないので、20 世紀最強のエディタに比べてまだまだ足りない機能があるのはしょうがないですね!!86 年後に勝負しよう!!って感じですね。みんなが拡張書けば 86 年がドンドン縮んでくると思うのですが、ぶっちゃけまだまだです。 なので、最強にするための拡張書いてみました。Atom...
View ArticleGolang 1.4 で導入される generate を一足早く試してみる
先日、golang の開発リポジトリに generate が入りました。Go generate: A ProposalThe go build command automates the construction of Go programs but sometimes preliminary processing is required, processing that go build does...
View Articlegolang で最近お気に入りの WAF「Goji」
Web アプリケーションを書くときは今までずっと小さい物は web.go大きい物は net/httpというスタンスを何故か貫いて来たんだけど、最近ようやく web.go をやめて goji を使う様になった。GojiA web microframework for Golanghttps://goji.io/理由としてはSinatra ライクでありながら高度な正規表現マッチも使えるルータそれでいて...
View Article慣れたら簡単!golang の便利な和製 WAF、「kocha」
昨日は naoina さんの genmai を使って wiki を書きましたが、今日は同じく naoina さんが開発している kocha を使って簡単な SPA アプリを書いてみたいと思います。Kocha web application framework for GoA convenient web application framework for...
View Article送り主の分からない小包
今日、嫁から電話があり...嫁「送り主の分からない小包が届いてる」僕「どんなん?誰から?俺に?」嫁「それが分からんねん。英語ばっかりや」僕「なんて書いてる?」嫁「フェーフェー、フェデークス...」僕「それ、運送会社や」嫁「英語ばっかりで分からんわ。開けていい?」僕「いや、間違いかも知れんし」嫁「宛名は合ってるねんで」僕「なんやろ覚えが無い」嫁「カードでなんか買い物したんちゃうん...」僕「してないわ...
View Articleソースに一行追加するだけですべての HTTP 通信が環境変数指定のプロキシではなくIEの設定になるモジュールを書いた #golang
通常、golang のデフォルトの HTTP クライアントは環境変数 HTTP_PROXY もしくは HTTPS_PROXY を参照してプロキシに接続し、環境変数 NO_PROXY で指定されたホストが無視される仕組みになっています。しかし一般ユーザにとって環境変数の設定は、難易度の高い作業だったりします。使用例たとえばこういうコードに…package mainimport ( "fmt"...
View ArticleRe: GoLangでJavaのenumっぽいライブラリ作った話
GoLangでJavaのenumっぽいライブラリ作った話 - おいぬま日報なんとかなるわけなんだけど、これを毎回書くのは面倒なので...もっと良いやり方があったらぜひ教えて欲しいところです。http://oinume.hatenablog.com/entry/introducing-goenumgolang でユーザ型の値を文字列化する場合 Stringer...
View Articlegolang で vimgirl bot を書いた。
この記事は Go Advent Calendar 2014 16日の記事ではありません。 docomo Developer support | NTTドコモDocomo が公開する API など開発者向けの情報を提供します。アプリケーションの開発にご活用くださいhttps://dev.smt.docomo.ne.jp/DocomoruでBOTと雑に会話する -...
View ArticleSoftware Design の Vim 特集に寄稿させて頂きました。
技術評論社さんの「Software Design 2015年1月号」の Vim 特集に寄稿させて頂きました。第1章:犬でもわかる!? Vim導入&カスタマイズの超基本……林田 龍一コラム1:「とっつきにくい変態エディタ」だったVimが「私の素敵な相棒」に変わるまで……伊藤 淳一第2章:IDE並みの機能を軽快な動作で! 実用Tips&対策[プログラマ編]……mattn第3章:運用作業であわてないために...
View ArticleC++ の WAF crow が mustache テンプレートエンジンをサポートしていた。
以前、Python の Flask からインスパイアされた C++ 製のとてもかっちょいい WAF「crow」を紹介しました。Big Sky :: C++ 製 micro web framework「crow」を使って lingr の bot 書いてみた。先日、github で crow という、python の flask からインスパイアされた C++ 製 micro web framework...
View ArticleVim script で streem を実装した。
この記事はVim Advent Calendar 2014 - Qiita 24日目の記事です。Matz さんが streem という、ストリーム指向言語の開発を始めるらしいです。https://github.com/matz/streemまだ文法の設計段階ではあるけど、それなのにかなりの量の pull-req がバンバンと来てて凄いなーと思いつつも「この pull-req...
View ArticleRe: VimでURLをドメインだけに置換するコマンドを正規表現でうったら、本当に正規表現って意味不明なフォルムと思った。
VimでURLをドメインだけに置換するコマンドを正規表現でうったら、本当に正規表現って意味不明なフォルムと思った。 - Qiitahttp://qiita.com/mochizukikotaro/items/b15170dccb18d84f8cd2...
View Articleちっちゃなビルドシステム qo が激しく便利だった件
golang には go buildというビルド機能があり、C言語と golang をまぜた cgo というC言語拡張も同じコマンドでビルド出来ます。その際、ソースコードのコメントに CFLAGS や LDFLAGS を自ら指定する事が出来るのでpackage gtk// #include "gtk.go.h"// #cgo pkg-config: gtk+-2.0import "C"import...
View Articlegolang のリファクタリングには gofmt ではなく、gorename を使おう。
今まで golang で変数名や関数名のリネームには gofmt の -rオプションを使ってきましたが、これからは gorename を使いましょう。文法を解析して正しくリネームしてくれるので、gofmt で起き得た誤爆も心配ありません。インストールは以下の様に実行します。 $ go get golang.org/x/tools/cmd/gorename使用方法は以下の通り。 gorename:...
View Articlegolang でしりとりbot 作った。
lingr で動かしてたしりとりbotをtwitterでも動く様にしてみました。mattn/siritori-bot - GitHubhttps://github.com/mattn/siritori-botgolang で書かれています。sirtori_botにつぶやくと...@mattn_jpブロパロ— しりとりbot (@siritori_jp) January 23,...
View Articleembulk-plugin-twitterstream 書いた。
Embulk が流行っているらしいのでプラグインを書いた。Embulk, an open-source plugin-based parallel bulk data loader from Sadayuki Furuhashi先日は遊びで embulk-plugin-vim なんていうのを作ったのだけどmattn/embulk-plugin-vim -...
View ArticleIDE としての Vim
この文章は、http://yannesposito.com/Scratch/en/blog/Vim-as-IDE/で掲載されている「Vim as IDE」の翻訳文です。文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。Vim as IDEtl;dr: 如何に Vim を効率の良い IDE として使いこなすかLearn...
View Article