タグ

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

  • Big Sky :: 書評: Visual Studio Code 実践ガイド

    執筆者様に Twitter でお声掛け頂き、発売前ながら献頂く事になりました。執筆された森下様、送付頂いた技術評論社様、ありがとうございました。 Visual Studio Code は登場から色々な機能を取り込みつつ着実にユーザを増やし、統合開発環境としては今や飛ぶ鳥を落とす勢いになった言って良いでしょう。以下は 2019 年の Stackoverflow Survey で公開された有名な開発環境の調査結果です。 僕は普段は Vim というテキストエディタを使っていますが、実は僕は色々なテキストエディタを試します。Emacs も人並み程度使えますし、Visual Studio Code も拡張を自分で書いた事がある程度には使っています。 Search results - mattn | Visual Studio Code , Visual Studio Marketplace ...

    Big Sky :: 書評: Visual Studio Code 実践ガイド
    lesamoureuses
    lesamoureuses 2020/02/25
    良さそうだったので買った “今後も、Visual Studio Code と気持ちよい技術的な競争ができるといいなと本書を読んで改めて思いました”
  • Big Sky :: Windows ユーザは cmd.exe で生きるべき。

    [D] Windowsはターミナルがダメだから使えないってのは過去の話? 基的にはいい感じに見えますが、いくつか問題は発覚してます。 http://blog.drikin.com/2015/01/windows-2.html 僕は Cygwin よりも msys2 が好きです 理由は最後の方に書きます。 cygwin は windows 上に完全な POSIX を提供するのが目的であって、msys2 は native な windows アプリケーションをビルドするのが目的なのでゴールが違うのよね。そして僕は全て cygwin で染められるのが好きじゃ無い。それだけの話です。 — mattn (@mattn_jp) April 10, 2016 もちろん msys2 を POSIX 環境としても使いますが、一番の目的は cmd.exe から Windows ネイティブなアプリケーションを

    Big Sky :: Windows ユーザは cmd.exe で生きるべき。
    lesamoureuses
    lesamoureuses 2017/12/04
    試してみる
  • Big Sky :: 簡単に回転画像が生成出来るコマンド「nekokak」をgolangで書いた。

    kan さんが slack での公開型チャットの運用を始めました。 Soozy Slack #Soozy これはなに? #soozy は元々IRCのfreenodeにあったチャンネルで、日perlコミュニティを中心にperlのことを含むプログラミングに関わる話題を中心に話し合っていました... http://soozy.fushihara.net/ 皆さんも分かると思いますが、こういったチャットサービスで必ず必要となるのが回転する画像です。どうしても回転するアイコンが必要になったので、簡単に生成出来るコマンドを golang で書きました。 mattn/nekokak · GitHub https://github.com/mattn/nekokak 使い方は簡単。 $ nekokak input.png で animated.gif というファイルが生成されます。これで今すぐ回転する

    Big Sky :: 簡単に回転画像が生成出来るコマンド「nekokak」をgolangで書いた。
    lesamoureuses
    lesamoureuses 2015/09/01
    便利だ
  • Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。

    grpc/grpc · GitHub gRPC - An RPC library and framework https://github.com/grpc/grpc gRPCGoogle が開発しているRPC(リモートプロシージャコール)のライブラリとフレームワークで、通信層は HTTP/2 を介して行われます。 データ層については、固定されている訳ではなくあくまでデフォルトで Protocol Buffers が使われる様になっています。使用出来るプログラミング言語は現在、C++, Node.js, Python, Ruby, Objective-C, PHP, C# となっています。 実はこれら以外にも grpc-go という、なぜかこのリストに加えられていないオフィシャルリポジトリがあります。 grpc/grpc-go - GitHub gRPC-Go The Go impl

    Big Sky :: Protocol Buffers を利用した RPC、gRPC を golang から試してみた。
    lesamoureuses
    lesamoureuses 2015/02/27
    チュートリアルだ!
  • Big Sky :: 意外と知られていないvimのtips(置換文字列をスクリプトから生成する)

    意外と知られていないんですね。ビジュアル選択って vimで選択範囲を置換 うわーん。これやりかたかったんだよー!知らなかったよー! 同じネタを説明しても面白くないので、今日はビジュアル選択後に行うアクションについて... 「'<'>」の後には、「s(substitute)」だけでなく「g(global)」や「v(vglobal)」を書く事もでき、行単位でのビジュアル選択(正式にはlinewise-visual選択)を行った行に対して絞込みを行い、その上で置換を行う事も出来ます。 例えば 問題 ※以下の阿藤について間違っている物に×を入れよ (  ) 俺は阿藤会だ (  ) 俺こそ阿藤下位だ (  ) 僕も阿藤回だ (  ) リッチに阿藤買いだ (  ) 実は私の従兄弟が阿藤快だ (  ) 叔父が阿藤飼いだ (  ) 海で阿藤貝を拾った (  ) お前、阿藤甲斐性あるな こんなテキストならば

    Big Sky :: 意外と知られていないvimのtips(置換文字列をスクリプトから生成する)
    lesamoureuses
    lesamoureuses 2015/02/05
    “vimってパズルみたいで面白いですよね”
  • Big Sky :: 送り主の分からない小包

    今日、嫁から電話があり... 嫁「送り主の分からない小包が届いてる」 僕「どんなん?誰から?俺に?」 嫁「それが分からんねん。英語ばっかりや」 僕「なんて書いてる?」 嫁「フェーフェー、フェデークス...」 僕「それ、運送会社や」 嫁「英語ばっかりで分からんわ。開けていい?」 僕「いや、間違いかも知れんし」 嫁「宛名は合ってるねんで」 僕「なんやろ覚えが無い」 嫁「カードでなんか買い物したんちゃうん...」 僕「してないわー」 家で見ても、確かに送り主が分からない。おそるおそる開けて見ると どどーん。なんか真っ黒いの出てきたと思ったら、ブランケット出てきた。しかも「Google」って書いてある。 かっ... かっちょ... かっちょええやん... おーぷんそーす ぷろぐらむ おふぃす... Google is sending out blankets to open-source deve

    Big Sky :: 送り主の分からない小包
    lesamoureuses
    lesamoureuses 2014/11/19
    ここで笑ってしまった “嫁「フェーフェー、フェデークス...」 僕「それ、運送会社や」”
  • 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」
    lesamoureuses
    lesamoureuses 2014/10/21
    “そして何と言っても速い”
  • Big Sky :: 意外と知られていない github 技

    github で git diff from..to を表示する - #生存戦略 、それは - subtechtext/plain な diff が表示される。.. じゃなくて ... 。 http://subtech.g.hatena.ne.jp/secondlife/20121225/1356421602 github のコミットページ URL は、実は凄く良く出来ている。 例えば pull request のページ Add each Gem bundled data pointer in mrb_state by masuidrive - Pull Request #605 - mruby/mruby - GitHub Showing 17 changed files with 183 additions and 36 deletions . Show Diff Stats H

    Big Sky :: 意外と知られていない github 技
    lesamoureuses
    lesamoureuses 2014/07/10
    便利情報だ “cherrypick は pull request のうちの一つのコミットの URL を開いて .patch を足し、その URL で git am - すれば良い。”
  • Big Sky :: Golang のオフィシャルが提供するインタフェースまとめ

    golang が提供するインタフェースの中で代表的な物の使い方をまとめてみる。 io.Reader type Reader interface { Read(p []byte) (n int, err error) } ご存じ io.Reader。このシグネチャの Read を実装しておけば golang のありとあらゆる入力機能に対して自分のコードを提供する事が出来る。 例えば永遠に「おっぱい」と言い続ける Reader だと以下の様な実装になる。 package main import ( "io" "os" ) var text = []rune("おっぱい") type OppaiReader struct { n int } func (r *OppaiReader) Read(p []byte) (int, error) { in := len(p) nw := 0 for i

    Big Sky :: Golang のオフィシャルが提供するインタフェースまとめ
    lesamoureuses
    lesamoureuses 2014/05/01
    これは良いリファレンス
  • Big Sky :: golang で複数のエラーをハンドリングする方法

    golangいまどき例外ないの頭おかしいって思ってたけどようするにgoroutineと例外がうまくいかないからgoroutineのほう取って例外捨てたってことかねえ。 — Urabe, Shyouhei (@shyouhei) April 15, 2014 FAQ に書いてあります。 Why does Go not have exceptions? - Frequently Asked Questions (FAQ) - The Go Programming Language We believe that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code. It also tends to encourage programme

    Big Sky :: golang で複数のエラーをハンドリングする方法
    lesamoureuses
    lesamoureuses 2014/04/16
    “golang の場合は戻り値が複数あった場合、戻り値を得るには必ず全ての戻り値を変数にバインドしないといけない仕様になっています。つまりは戻り値が欲しければ、error も取れという事になりますね。”
  • Big Sky :: 簡単に LGTM 出来る Vim plugin 書いた。

    README.md なんかは Vim で編集する事が多いんだけど、github の LGTM(Looks Good To Me)を入力する際に、「適当な画像欲しいけどブラウザ起動すんのかったるいな」って事あると思います。 そんな時には lgtm-vim をお使い下さい。 mattn/lgtm-vim - GitHub :LGTM で LGTM.in から適当な画像を引っ張ってきます。 また <leader>lgtm でも動きます。 LGTM.in http://lgtm.in どうぞお使い下さい。 動作には webapi-vim が必要です。

    Big Sky :: 簡単に LGTM 出来る Vim plugin 書いた。
    lesamoureuses
    lesamoureuses 2014/03/27
    仕事早い
  • Big Sky :: Emoji の入力を簡単にする Vim plugin 書いた。

    README.md なんかは Vim で編集する事が多いんだけど、github絵文字(エモジ ダイジ ゼッタイ...)を入力する際に、「アイコン足したいけどブラウザ起動すんのかったるいな」って事あると思います。 そんな時には emoji-vim をお使い下さい。 mattn/emoji-vim - GitHub Emoji selector https://github.com/mattn/emoji-vim :Emoji で起動します。初回だけダウンロードして解凍(Windows の場合は png から bmp への変換も行います)するので、ちょっと時間が掛かります。起動すると以下の様な画面になります。 リターンキーを押すと、クリップボードにマーク(:+1:)が格納されます。 どうぞお使い下さい。 Windows の場合は .NET Framework 4.5 が必要になります。 自

    Big Sky :: Emoji の入力を簡単にする Vim plugin 書いた。
    lesamoureuses
    lesamoureuses 2014/03/27
    仕事早い
  • Big Sky :: ファイル名の一括置換なら massren がめちゃめちゃ便利

    大量にあるファイルのファイル名を一括で変更する場合、どうしても GUI での操作であったりマッチパターンを書くのが面倒だったりしましたが、massren を使えば誰でも簡単にファイル名の一括置換が出来る様になります。 laurent22/massren - GitHub massren - Easily rename multiple files using your text editor https://github.com/laurent22/massren お気に入りのテキストエディタを使って、好きな様にファイル名を変更出来ます。サポートしているOSは Windows, Linux, OSX です。中身は golang で書かれています。 それぞれバイナリが用意されているので自分でビルドする必要はありません。LinuxOSX の人はリンク先にある手順を、Windows の人は

    Big Sky :: ファイル名の一括置換なら massren がめちゃめちゃ便利
    lesamoureuses
    lesamoureuses 2014/02/19
    ひょーvim便利
  • Big Sky :: SQL で CSV のデータを抽出出来る textql

    CSV ファイルを扱っている時に、最大値最小値と得たり合計を得たりするのにいちいち Excel を起動するのはとても面倒ですし、スクリプトを書くのも面倒。 そんな場合は textql を使うと便利です。 dinedal/textql - GitHub Execute SQL against structured text like CSV or TSV https://github.com/dinedal/textql golang で書かれています。ビルドすると依存性の無い実行モジュールが生成されます。使い方はリンク先の動画gifを参照下さい。 簡単にどんな事が出来るかというと $ cat ~/sample_data.csv | textql -header -sql "select sum(cast(value as integer)) from tbl" 18 こんな事が出来るツール

    Big Sky :: SQL で CSV のデータを抽出出来る textql
    lesamoureuses
    lesamoureuses 2014/02/05
    便利そう
  • Big Sky :: Golang で Jekyll のクローン作った。

    普段 vim-jp や色んな所で jekyll を使っているのだけど、どうも遅くて困っていました。 Windows だと ruby 体の起動も重いのに、たかだか数十ページの生成に十数秒、PCの負荷が高い時には30秒近く掛かったりしていました。 何とか出来ないかなーと思って、golang を使ってクローンを作ってみました。 mattn/jedie - GitHub jedie - static site generator, jekyll replacement, in golang https://github.com/mattn/jedie インストールは以下の様に行います。 $ go get github.com/mattn/jedie jekyll と同様にひな形の出力も出来ます。 $ mkdir mysite $ cd mysite $ jedie new . markdown

    Big Sky :: Golang で Jekyll のクローン作った。
  • Big Sky :: サーバを再起動したら勝手にscreenが起動してその中でirssiが動いていて欲しい場合のベストプラクティス

    個人的にお借りしているサーバがあってそこで何個かbotを動かしているのだけど、そのサーバがセキュリティアップデート等で再起動した後、ログインしてscreen起動して、その中で画面割ってbot起動して、また別の画面でirssiを起動する、みたいな事を毎回やってた訳ですがいい加減めんどう臭くなってきたので自動化した。 まずscreenを自動起動する仕組みを考えた。rcスクリプトでもいいけど、そもそも共用サーバなのでroot権限が無い。そこでcronを使う。crontab -e して @reboot (. ~/.profile; /usr/bin/screen -d -m) @reboot という識別を使います。再起動して1回だけ実行されるコマンドが書けます。最近の linux であれば使えるかと思います。 ここで .profile を読み込んでるのは、これをしないと screen が新しく起動

    Big Sky :: サーバを再起動したら勝手にscreenが起動してその中でirssiが動いていて欲しい場合のベストプラクティス
    lesamoureuses
    lesamoureuses 2013/07/31
    このピタゴラスイッチ感真似するような場面あったら真似したい
  • 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
    lesamoureuses
    lesamoureuses 2011/09/03
    知りたかった魔法のコマンドが書いてあった!> <C-a> 数字を増やす
  • Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技

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

    Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技
    lesamoureuses
    lesamoureuses 2011/08/10
    元から買うつもりだったけど感動してしまったので読み終わったタイミングで速攻ポチった
  • Big Sky :: zen-coding for vim を pure vimscript だけで書いてみた。

    私も結構長くvimを使ってきましたが、実はsnippet系やsorround系のプラグインは殆ど使っていません。理由は入力の規則が多様すぎて覚えられないのと、それくらい手で入力出来るんじゃないか...と思っていたのが理由でもあります。 sorround.vimなんかは何度か常用をチャレンジしてみましたが、結局諦めました。 先日、zen-codingを見つけ、「へー便利そうだなぁ」と思ったと同時にこのくらいならvimscript(pure vimscript)だけで書けるな...と思ったので書いてみました。 と言ってもEmacsへの移植なんかと同様に「Expand Abbreviation」だけです。 正直言うとzen-codingのプロジェクトページにvimがラインナップされていなかったのがキッカケだったりもしますが...。ただ、後から知ったのですがsnipMateという物でzen-cod

    Big Sky :: zen-coding for vim を pure vimscript だけで書いてみた。
    lesamoureuses
    lesamoureuses 2011/01/26
    d:id:sakurako_s:20110126:1295988873見てインストール。試してみたら便利過ぎて思わず「ふぁ!」って声上げた>「よーしパパ、今日はHTML5書くぞ!」って時にはhtml:5_
  • Big Sky :: Gistyで始めるGist/Githubのススメ

    最近Githubをよく使っているのですが、どうしてもGithubといえばプロジェクト管理なイメージがあり、プロジェクトを持ってない人から見ると少し遠い存在にみえがちです。ですが、ちょっとしたスクリプトを書きたい人、しかもリモートにもリポジトリを置きたい人いますよね。 そんな時に便利なのがGistです。 「Gistというと、単なるコードスニペットサービスでしょ?」と思われるかもしれませんが、Gistの凄いところはちょっとしたスクリプトをソース管理出来る所です。 以下、簡単なperlスクリプトをソース管理しながら完成まで仕上げる過程を例を持って示してみます。 ただし、ここで言っておきたい事が一つ。Gistを便利に使う為のツール、Gistyを入れるべきです。 GistyはGistにポストすると同時に所定の場所にgit cloneしてくれ、初期ポストからコーディング開始までをスムーズに促してくれま

    Big Sky :: Gistyで始めるGist/Githubのススメ