タグ

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

  • Big Sky :: gocode やめます(そして Language Server へ)

    はじめに まず始めに言っておかなければなりません。 gocode 今まで当にありがとう この記事は、Go 言語歴10年になる僕がこれまで愛用してきた Go 言語のコード補完ソフトウェア gocode の歴史と功績、そして今、gocode 自らがその役割を終えようとしている姿をぜひ皆さんに知って頂きたいという思いから Go Advent Calendar 2018 の記事として起こしました。この記事では gocode が歩んできた歴史と苦悩を少しでも皆さんに分かる様に解説させて頂きつつ、そして次にやってくる Go 言語のコード補完の未来についてご紹介したいと思います。Vim について多めに書かれていますが、Visual Studio Code での Go 開発にも影響する話です。 gocode とは gocode は nsf 氏が開発した Go 言語のコード補完サーバです。 GitHub

    Big Sky :: gocode やめます(そして Language Server へ)
    kamawada
    kamawada 2020/01/26
  • 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で書いた。
  • Big Sky :: ぼくが知ってる twitter じゃない

    もう僕が知ってる twitter じゃなくなってきてる。 Twitter、開発者向けガイドラインとAPI変更について説明 ユーザー数制限など厳しい内容 - ITmedia ニュース 米Twitterは8月16日(現地時間)、数週間後に予定しているTwitter APIのバージョン1.1へのアップデートと開発者向けガイドライン「Developer Rules of the Road」の改定について説明した。クライアントアプリのユーザー数に上限を設けるなど、サードパーティーにとって厳しい内容になっている。 http://www.itmedia.co.jp/news/articles/1208/17/news037.html Twitter のことと P3:PeraPeraPrv について - とかいろいろ 彼らはこのユーザーの「好みのクライアントアプリを選ぶ自由と権利」を奪うという決定をしまし

    Big Sky :: ぼくが知ってる twitter じゃない
    kamawada
    kamawada 2012/08/29
  • Big Sky :: Amon2::LiteでとCPANモジュールで作る「Nopaste」チュートリアル

    MojoliciousとCPANモジュールで作る「Nopaste」チュートリアル - ゆーすけべー日記 http://yusukebe.com/archives/20120627/181253.html yusukebe さんが Mojolicious だったので僕は Amon2::Lite でやってみた。 おんなじ調子でやってもしょうが無いので、ちょっとキャラを変えてやってみる。 まず amon2-setup で外枠を作りやがれ。 Nopaste くらいならフレーバーは Lite で十分だ。お前の作る物なんか Lite で十分だって事だ。ヒャッハーーー! $ amon2-setup --flavor=Lite nopaste -- Running flavor: Lite -- [Flavor::Lite] writing app.psgi [Flavor::Lite] writing

    Big Sky :: Amon2::LiteでとCPANモジュールで作る「Nopaste」チュートリアル
    kamawada
    kamawada 2012/06/28
    テンションwww
  • 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で始める簡単ブログ
    kamawada
    kamawada 2012/06/27
  • Big Sky :: 如何にしてけしからん画像を超高速でダウンロードするか

    そう言えば、go言語版を書いてなかったなーと思ったのでエントリ。 いかにしておっぱい画像をダウンロードするか?2012 - ゆーすけべー日記 4年以上前のBlog記事で非常に評判がよく「高校生がプログラミングをはじめるキッカケになった」というエントリーがあります。 題名は「 いかにして効率よく大量のおっぱい画像をダウンロードするか 」。 僕... http://yusukebe.com/archives/20120229/072808.html こういう並行処理を簡単に書けてネイティブ実行出来るgo言語はやっぱり素晴らしいなぁと思いました。 # oppai [appid] [outdir] [keyword] といった感じにお使い下さい。 package main import ( "crypto/md5" "encoding/json" "fmt" "io" "net/http" "ne

    Big Sky :: 如何にしてけしからん画像を超高速でダウンロードするか
    kamawada
    kamawada 2012/03/22
  • Big Sky :: おっぱいしか見えないVim

    Patch 7.3.461 が取り込まれて InsertCharPre が使えるレベルになりました。 これでようやく「おっぱい」しか入力出来ないVimが作れます。 scriptencoding utf-8 let s:oppai_a = split('おっぱい', '\zs') let s:oppai_n = 0 function! s:oppai() let r = s:oppai_a[s:oppai_n] let s:oppai_n = (s:oppai_n + 1) % len(s:oppai_a) return r endfunction autocmd InsertCharPre <buffer> let v:char = s:oppai()

    Big Sky :: おっぱいしか見えないVim
  • Big Sky :: VimでMessagePack/RPC

    Vimが無いと夜も安心して眠れないVimキチガイの皆さんこんにちわ。 Twitter そういえば、VimもMessagePackで通信できると面白いのではないか。 https://twitter.com/#!/ShougoMatsu/statuses/168691297601863681 こうですかわかりません。 mattn/msgpack-vim - GitHub MessagePack implements for vim https://github.com/mattn/msgpack-vim Vim scriptは型が豊富ではないので、可逆圧縮ではありませんが簡単な物ならば動きます。 # -*- coding: utf-8 -*- require 'msgpack/rpc' class MyHandler def add(x,y) x+y end end svr = Message

    Big Sky :: VimでMessagePack/RPC
    kamawada
    kamawada 2012/02/14
  • Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた

    Vimが良くも悪くも「エディタだ」と言われる要因として「画像や異なるグリフのフォントを同時に出せない」ことを上げられます。つまりVimHTMLやマークダウン等のプレビューを確認する為にいちいちブラウザを起動して確認し、ファイルを更新した際には読み込み直すという面倒な手間が掛かる事を意味しています。 まぁ専用ブラウザを作ればいいんだけど面倒で腰が重かったんだけど、ちょいと作ってみました。 mattn/mkdpreview-vim - GitHub MkdPreview Markdown previewer for vimmer https://github.com/mattn/mkdpreview-vim ファイルタイプがmarkdownなバッファで :MkdPreview! と実行するとプレビューワが起動します。 プレビューワが一度起動している状態なら、以後は他のVimからでも :Mkd

    Big Sky :: Vimで編集中のMarkdownをプレビュー出来るプラグイン書いた
  • Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー

    こんにちわ。昨今、ウェブ開発の進化はすざましいですね。PythonPerlJava、色んな言語で書かれていると思います。 もちろん編集にはVimを使っているかと思います。 でも編集だけ? 違うよね! Vim scriptはウェブアプリケーション記述言語なんだよ! Plack::App::Vim package Plack::App::Vim; use strict; use warnings; use parent qw/Plack::Component/; use Plack::Request; use Encode; use JSON::PP; sub prepare_app { my $self = shift; $self->{vim} ||= 'vim'; if (!$self->{server}) { open(my $f, "vim --serverlist|"); my

    Big Sky :: Vim scriptはウェブアプリケーション記述言語やったんやー
    kamawada
    kamawada 2012/01/27
    ちょw
  • Big Sky :: VimからSimpleNoteを使う方法は何個かありますよという宣伝。

    « gitリポジトリの更新をgrowlしてくれるgit dudeがWindowsで使える様になった。 | Main | WalkmanをLinuxでSonicStage無しに転送する方法 » 私はどうしてEvernoteに見切りをつけ、VimSimpleNoteを使い始めるようになったか - 蟲!虫!蟲! - #!/usr/bin/bugrammer ■ [ Vim ]私はどうして Evernote に見切りをつけ、 VimSimpleNoteを使い始めるようになったか 23:49    よく ライフハック 界隈の人が「 Evernote はす... http://bugrammer.g.hatena.ne.jp/nisemono_san/20111107/1320677380 手前味噌ですが2つご紹介します。 vim-metaraw-simplenote mattn/vim-met

    Big Sky :: VimからSimpleNoteを使う方法は何個かありますよという宣伝。
    kamawada
    kamawada 2012/01/21
  • Big Sky :: 日本語ページャlvをwindowsにポーティングした。

    WindowsをUNIXライクに使っておられる方も多いかと思います。僕もその一人で、僕はコマンドプロンプトを常に開きっぱなしの状態で作業します。 msysを使っても良いのですが、bashはbashで色々と問題もあり/c/Program\ Filesみたいなパスでは問題が起きたり、メールに貼り付けられているパスをコピペして動かないのは苦痛であったりもします。 なので常にコマンドプロンプト(cmd.exe)を使い、vimやlessというUNIX向けツールを使っています。 gitやmercurialでのdiff表示やlog表示の際、ページャは不可欠です。lessを使っているmsysgitでもある程度綺麗に表示されますが、マルチバイトでの検索が出来なかったり、nkf等といったフィルタを噛まさないと表示出来なかったりしました。 lessの場合は以前パッチを書いたlessを使えばコマンドプロンプトでも

    Big Sky :: 日本語ページャlvをwindowsにポーティングした。
    kamawada
    kamawada 2011/10/31
  • Big Sky :: 画像の直リンをウンコ画像に差し替えるPlack::Middleware書いた。

    昔どこぞのパクリブログ対策でやってた奴をPlack::Middlewareで。 mattn/Plack-Middleware-ReplaceToUnko - GitHub plack middleware for replacing images to shit image that referer from external sites. https://github.com/mattn/Plack-Middleware-ReplaceToUnko 指定の仕方も簡単で、ウンコ画像のURLを指定するだけ。 use strict; use warnings; use utf8; use lib 'lib'; use Plack::Builder; use Path::Class qw(file); my $app = sub { [ 302, [ "Location" => "/index.

    Big Sky :: 画像の直リンをウンコ画像に差し替えるPlack::Middleware書いた。
    kamawada
    kamawada 2011/04/02
  • Big Sky :: Facebookの今後を勝手に予測してみる。

    人が増える サーバが落ちる サーバが落ちる イルカ昇天画像 グリーンピースから(以下略 Facebook婚 Facebook離婚 改変リンク ネタパクリ疑惑 闇プログラマ(以下略 2000人くらいフォローしないと観測範囲が(以下略 勝手にリンク禁止 勝手にフォロー禁止 勝手に「いいね!」禁止 はま○やという人が「こんにちわ、こんにちわ」(以下略 はせ○わようすけという人が「Facebookの壊し方」をノートに(以下略 ○ぬがわまさとという人がXSS(以下略 Facebookで動くボット登場 ボットと知らずに恋する人現る Facebook版ふぁぼったー登場 ダッシュボードに大量の「なるほど5時じゃねーか」 勝手に「いいね!」(以下略 FacebookをFBって略すな 認証APIの大胆な変更 サポートがユーザに「君らはクライアントの半分を殺した」と言われる

    Big Sky :: Facebookの今後を勝手に予測してみる。
  • Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき

    twitter stream APIとは、twitterのステータス更新に対してキーワードでtrackしたり、あるグループ内に属するステータス更新をフィルタしたり出来るAPIなのだけど、実際にはchunkedなストリームが流れて来ているのであって、これを使ったWebアプリを作る際にはlong pollを使うのが良い。ただしクライアントサイドでjavascriptを処理する際に サーバサイドでステータス更新をFIFOに溜め込む クライアントからリクエストをブロック(long poll)しFIFOからステータスを送出する クライアントサイドでlong pollを行い画面を更新する 再度サーバへリクエストを投げる を繰り返すのであれば、せっかくストリームなのにアプリサーバとの接続を切ってしまう事になる。出来ればクライアントからWebアプリもストリーミングとしたい。しかしながらサーバからのステータ

    Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき
    kamawada
    kamawada 2009/10/13
    good
  • Big Sky :: 訳:Installing Perl modules without root access

    by Jon Allen (JJ) - posted on Wednesday, 26 August 2009 ここ2、3年にわたって、Perlでの開発はCatalystやDBIx::Class、Moose等のエキサイティングな新技術により変わってました。 しかしながら、これらや他のツールに共通して言える事が1つあります - それらはこれらがPerl体の配布物ではなくCPANの一部という事です。共有ホスティングサーバなど信頼されている環境においては、ユーザはルート権限なしでCPANモジュールをシステムにインストールする事が難しいでしょう。 ただ幸い、単純解があります - それが local::lib です。 local::lib の紹介 local::lib は CPAN ディストリビューションをホームディレクトリににインストールできる様にあらゆる設定を行うPerlモジュールです。これは

    Big Sky :: 訳:Installing Perl modules without root access
  • Big Sky :: 誰よりも速く「NullPointerException」に反応するbotを書いてみた。

    miyagawaさんのAnyEvent::Twitter::Streamを使って「NullPointerException」をtrackして「Ga!!」を返信するスクリプトを書いてみた。trackにマルチバイトが使えないのが残念。「がっ!!」にしても良いけど、出来れば欧米の方達にも反応したい。 #!/usr/bin/perl use strict; use warnings; use Config::Pit; use AnyEvent::Twitter::Stream; use Net::Twitter::Lite; binmode STDOUT, ":utf8"; my $config = pit_get("nullpo-ga", require => { "username" => "your username on twitter.com", "password" => "your

    Big Sky :: 誰よりも速く「NullPointerException」に反応するbotを書いてみた。
  • Big Sky :: Gistyで始めるGist/Githubのススメ

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

    Big Sky :: Gistyで始めるGist/Githubのススメ
  • Big Sky :: SQLiteを使ってTheSchwart

    最近TheSchwartが賑わってる様ですね。 TheSchwartzで仕事をあとにまわす - bits and bytes なければ勝手に作ってくれるのかなと思ってSYNOPSISのコードを実行してみたけどやっぱり自動でできたりはしなそうだったので調べたらCatalyst and TheSchwartz: Reliable JobQueue in a great framework - Voxにschema.sqlを使うといいと書いてありました。このスキーマをmysqlで実行すればTheSchwartzのキューを管理するためのテーブルが出来上がります。 http://labs.gmo.jp/blog/ku/2008/06/theschwartz.html Twitter / ku: TheSchwartzおもしろかった sqliteで動... TheSchwartzおもしろかった sql

    Big Sky :: SQLiteを使ってTheSchwart
    kamawada
    kamawada 2008/06/26
    ほおー
  • Big Sky :: Google App Engineで動くweblog作った。

    出来た。とりあえずの機能としては デザインテンプレート プラグイン機能 検索(プラグイン実装) ページング(プラグイン実装) 編集(プラグイン実装) コメント/トラックバック(プラグイン実装) まで出来た。なるべくblosxomぽくなるように作ったつもり。動いてる物は Weblog にあります。適当にmicroformatに対応してあります。 この後codereposに上げる予定です。 でもどのディレクトリに上げていいか分かりません>< 追記 http://coderepos.org/share/browser/websites/appspot.com/blog/trunk にアップした。

    Big Sky :: Google App Engineで動くweblog作った。