タグ

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

  • Big Sky :: Vimを使ったGo言語開発手法

    先日、Go言語バージョン1.1がリリースされました。安定しているのは勿論、幾つか新機能が追加されましたが、何よりもパフォーマンスチューニングが施された一番嬉しいですね。 Go 1.1 performance improvements | Dave Cheney This is the first in a series of articles analysing the performance improvements in the Go 1.1 relea... http://dave.cheney.net/2013/05/21/go-11-performance-improvements さて今日はVimを使ってGo言語を開発する方法を紹介したいと思います。 VimGo言語を開発するには、Go言語のリポジトリに含まれる misc/vim にランタイムパスを追加します。以下を vimr

    Big Sky :: Vimを使ったGo言語開発手法
  • Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。

    前回は JSMN というのを試したけど、今度も matsuu さんのブクマから。。。 parson Lightweight json parser and reader written in C. http://kgabis.github.com/parson/ 特徴は 軽い (2ファイルだけ) 単純なAPI ドット記法による json 値のアドレッシング (C言語の構造体やOO言語のオブジェクトに似た感じ。例: "objectA.objectB.value") C89 コンパティブル テストスーツ 前回の JSMN とは違い、メモリを動的に確保するタイプ。DOM の様にルートノードから探索を始め、最終的にルートノードを指定してメモリを開放する。 今回もtwitterのタイムラインをパースしよう。 #include <assert.h> #include <string.h> #inclu

    Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。
  • Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。

    全国1億8千万人のzen-codingファンの皆様、如何お過ごしでしょうか。 先日の記事でzen-codingをpure vimscriptに移植した「zencoding.vim」をご紹介させて頂きました。 あの時は略語の展開(Expand Abbreviation)しか機能がなく物足りなかったかもしれません。まぁ殆どの移植品はExpand Abbreviationしか無いのですが。 zen-codingには他どんな機能があるかというと、実はまだ便利な機能があったりします。 オフィシャルのサイトによると Expand Abbreviation Wrap with Abbreviation Balance Tag Inward/Outward Go to Next/Previous Edit Point Update Image Size Merge Lines Remove Tag Spl

    Big Sky :: zen-codingの殆どの機能をzencoding.vimに取り込んだ。
  • Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成

    « ExecuteExcel4Macro で CALL ワークシート関数使ってShellExecute呼んでそれでVimScript操作してHTMLを数秒で生成するの作った。 | Main | サラリーマンの為のメールが2倍速く書ける(気がする)vim補完書いた » こういう作業ってプログラマなら日常茶飯事で、やり方しらない新人プログラマはいつまでたっても新人なのだけど... めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン お客さんから送られてきた、Excelデータからせっせとリストや表のHTMLをコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介するExcelテクニックをぜひ覚えてください。 面倒な作業が、わずか数秒で終わります! http://webrocke

    Big Sky :: めんどうな作業がわずか数十秒に!新人プログラマが知らないと一生後悔するVimを使ったHTML生成
    gologo13
    gologo13 2011/12/26
    i didn't know '%s!src!dst!g and '\r' meas newline character in regexp
  • Big Sky :: vimmer必読!読み込みの遅いvimscriptを見つけ出す方法

    « git でバイナリを気軽に扱える、git-largefile の dropbox 版を作った。 | Main | gcc は副作用のある関数呼び出しを含む式評価順序を最適化する。 » vimに起動プロファイラが実装された。 Patch 7.2.269 Patch 7.2.269 Problem:    Many people struggle to find out why Vim startup is slow. Solution:   Add the --startuptime command line flag. Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h, src/main.c, src/macros.h http://groups.google.co.jp/group/vim_dev/b

    Big Sky :: vimmer必読!読み込みの遅いvimscriptを見つけ出す方法
    gologo13
    gologo13 2011/12/26
  • Big Sky :: Learn Vim Progressively

    この文章は、 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/で掲載されている「Learn Vim Progressively」の翻訳文です。 文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。 tl;dr: 可能な限り速くvim(人類史上、最良と知られているテキストエディタ)を習得したい。その方法を提案する。生き残るには最小を学ぶ事から始め、その後徐々にトリックを混ぜて行く。 Vim 60億ドルのテキストエディタ 優れいて、強く、そして速い vimを学ぶ事、それはあなたあなたが学ぶ最後のテキストエディタになるでしょう。私が知る限りより優れたテキストエディタはない。学ぶのは難しいが、使うと素晴らしい。 4つのステップで学ぶ事をお勧めす

    Big Sky :: Learn Vim Progressively
    gologo13
    gologo13 2011/10/28
  • Big Sky :: ファイルタイプ別にテンプレートを選べるsonictemplate-vim書いた

    追記:template-vimはthincaさんの物と名前がバッティングしたので、「音速でコーディング出来る」と言う意味でsonictemplate-vimに改名しました。 既に似たのはあると思うので車輪の再発明臭いけど、僕の好みの奴は見た事無かったので自分で書いた。 欲しかった要件としては 同じファイルタイプだけど、使いたい雛形が数パターンある 初期カーソル位置とか欲しい Perlで「package Foo;」とか埋めてくれたら幸せ Go言語でライブラリ書くときとmain書くときで雛形違うよね みたいなところ。 mattn/sonictemplate-vim - GitHub template chooser for vim https://github.com/mattn/sonictemplate-vim これを使って # vim foo.pl と新しいPerlスクリプトファイルを開

    Big Sky :: ファイルタイプ別にテンプレートを選べるsonictemplate-vim書いた
    gologo13
    gologo13 2011/10/28
  • Big Sky :: Growl For Linuxを作ってます。

    MacにはGrowlがあり、WindowsにはGrowl For Windowsがあります。LinuxにもNotify-OSDがあるじゃないかという人もいますが、Linuxユーザは皆こう思ってる。「これGrowlじゃないもん!」 mumblesというpython+DBusで書かれたGrowl Systemもありましたが、どうやらプロジェクトが消え去った様子。 これはまずい。 と、僕は「Growl For Linux」を作り始める事を決めた。 C言語でGTKを使ったGUI。プロトコルは今後、MacのGrowl 1.3でもサポートされる予定であるGNTP(Growl Network Transfer Protocol)を使う事にした。 来ならば今日あたりにバージョン0.1あたりをリリースする予定だったんだけど、色々と立て込んでいて実はまだ出来てない。でもGNTPを受信して、Growlポップア

    Big Sky :: Growl For Linuxを作ってます。
  • Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

    kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!
  • Big Sky :: GoogleのProtocol Buffersをpython,cpp,java、一気に遊んでみる

    遅ればせながらGoogle Protocol Buffersで遊んでみました。 protobuf - Google Code Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats. まず、インストールは以下の様に行いました。なおprotobufを展開したフォルダは以下のフォルダ。 C:¥temp¥protobuf-2.0.0beta¥ cpp版のインストール 展開したフォルダのvsprojectsフォルダにある"protobuf.sln"をVisual Studioで開きRele

    Big Sky :: GoogleのProtocol Buffersをpython,cpp,java、一気に遊んでみる
  • Big Sky :: SSHポートが通らなくてもgithub.comにpushする方法

    « ニコニコ動画をダウンロード出来るPerlモジュールWWW::NicoVideo::Downloadを試してみた。 | Main | ニコニコ動画をダウンロード出来るプログラムをC言語で作ってみた。 » 皆さん既に知ってたら御免なさい。ずっと知らなかったのでgithubには手を付けてませんでした。 githubは、cloneするとき # git clone git://github.com/yappo/konnitiwa.git の代わりに # git clone http://github.com/yappo/konnitiwa.git とgitをhttpにするとclone出来るのは知っていたのですが、pushはsshを使うのでport 22が開いてないとpush出来ない物と信じ込んでいました。 が、今日解決しました。以下私がWindowsで行った手順 Windowsじゃない人は最初の

    Big Sky :: SSHポートが通らなくてもgithub.comにpushする方法
    gologo13
    gologo13 2011/01/06
  • Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。

    タイトルは釣りです。 perlでは一般的にperldocを使って調べ物をする事が殆どですが あれー、あのモジュールなんだっけ...IO:: 忘れた。 とか IO:: の下辺りに似たモジュールあったよなー なんて事が結構あったりするのですが(私だけかも)、今日もSys::SendfileのAuthorから「チミが送ってくれたpatchに対して僕が書いたtestがWindowsで通らないんだけど、何か分かるかい?」とメールが来てて それ、以前ワテがp5pに送ったpatchの件ちゃいますやろか、確かIO:: ...えーっと... ってなってしまった訳です。 なんか良くある事なので解決出来ないかなぁと思っていた所、見つけてしまいました。perldoc-completeを。 ap's perldoc-complete at master - GitHub A bash completion help

    Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
  • 1