タグ

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

  • Big Sky :: Go 言語プログラミングエッセンスという本を書きました。

    2023/3/12 発売です。 Go が発表された当初から Go を見続けて来たので ずいぶん時間が経った気がします。僕なりにいろいろな活動をして来ました。Go 体や周辺ツールへのコントリビュート、イベント登壇、雑誌への記事の投稿や「みんなのGo言語」の共著など。 あらゆる活動が Go づくめで刺激的でした。Go で得たものも沢山あります。そして Go を使う人も想像していた以上に沢山増えました。Go に関して書かれたブログ、Go の求人、今では大学で Go を教えているところもあるくらいです。Go を知った事で僕のプログラミング人生はずいぶん変わりました。それまでは何を作るにしてもC言語をメイン言語として使ってきましたが、今や新しいアプリケーションを書くのであればほぼほぼ Go で書くようになりました。(C言語/C++ は好きですよ) クセが強いからか、なかなか理解され辛いプログラミン

    Big Sky :: Go 言語プログラミングエッセンスという本を書きました。
    Pasta-K
    Pasta-K 2023/02/21
  • Big Sky :: GitHub 等で Markdown に画像を貼る時は代替テキストを意識しようと思った。

    コマンドラインで標準入力をフィルタリングできる peco というソフトウェアがあり僕も開発メンバとして参加させて貰っているのですが、これに興味を持ってくれたとあるユーザから issue が来た。 Textual examples · Issue #349 · peco/peco · GitHub Hello. I use screen readers to interact with the computer, such applications speaks for me what you ... https://github.com/peco/peco/issues/349 こんにちわ。 readme でテキストによる例もしくは画像キャプチャの代替テキストを用意してくれませんか?私は盲目で画像を見ることができない。 僕らはこれまで当然の様に、Markdown で画像を貼る時に ![](

    Big Sky :: GitHub 等で Markdown に画像を貼る時は代替テキストを意識しようと思った。
    Pasta-K
    Pasta-K 2016/10/05
  • Big Sky :: golang の遅いコードをたった1行で高速化するテクニック

    記事中に間違いがありました。数倍も速くはなりませんでした。確か 1.0X ~ 1.1 倍程度の高速化は得られましたがびっくりするほどの物ではありませんでした。すみません。 そろそろ Go1.7 がリリースされるそうですが、皆さん如何お過ごしですか。Go 界隈の波平こと mattn ですこんにちわ。バカモー(略 Go1.7 ではコンパイラの最適化が行われ、ビルド速度がかなり短縮される様になりました。毎日ビルドしてる僕としては非常に嬉しい機能改善ですね。 さてとてもキャッチ―なタイトルで釣ってしまった訳ですが、気にしたら負けなのでどんどん話を進めます。 var t [256]byte func f(b *[16]byte) { for i, v := range b { b[i] = t[v] } } 例えばこのコードを見て下さい。このコードはココから拝借しました。issue の内容はスコー

    Big Sky :: golang の遅いコードをたった1行で高速化するテクニック
    Pasta-K
    Pasta-K 2016/08/04
  • Big Sky :: RubyからGoの関数をつかわなくても再帰をやめる → はやい

    RubyからGoの関数をつかう → はやい - Qiita 約20倍はやい!!!!!!すごい!!!!!!!!!!!!!! Go単体での実行に毛が生えた程度になりました!!!!!!!!!!!!!!!!!! もう「Rubyより、ずっとはやい」なんて言わせないぞ!!!!!!!! http://qiita.com/grj_achm/items/679b3f3af2cf377f0f02 def fib(n) return n if n <= 1 fib(n - 1) + fib(n - 2) end puts fib(40) 巷で良く見る fib のコードですね。 $ time ruby fib1.rb 102334155 real    12.692 system  0.031 user    12.651 これを再帰を使わない様に修正すると以下の様になります。 def fib(n) f0, f1

    Big Sky :: RubyからGoの関数をつかわなくても再帰をやめる → はやい
    Pasta-K
    Pasta-K 2015/11/06
  • Big Sky :: Perl6 で俺俺 Gyazo 作った。

    動作に必要なのは HTTP::Server::Tiny と Digest::MD5。HTTP::Server::Tiny は安心の tokuhirom プロダクツ。 tokuhirom/p6-HTTP-Server-Tiny - GitHub https://github.com/tokuhirom/p6-HTTP-Server-Tiny そしてコード mattn/p6-gyazo - GitHub You signed in with another tab or window. Reload to refresh your session. You signed out in another ... https://github.com/mattn/p6-gyazo use v6; use Crust::Request; use Digest::MD5; my $page = q:he

    Big Sky :: Perl6 で俺俺 Gyazo 作った。
    Pasta-K
    Pasta-K 2015/09/25
  • Big Sky :: 江添さんに簡単に質問出来るコマンドを golang で書いた。

    C++er ならみんな見てるいう噂の江添さんの ask.fm。見ているだけも面白いですが、質問もしたくなりますよね。 Ryou Ezoe | ask.fm/EzoeRyou http://ask.fm/EzoeRyou 質問したいだけなのにいちいちブラウザ起動するのもダルいので、コマンドラインから質問を投げられるコマンド「ezoe」を作りました。 mattn/ezoe · GitHub https://github.com/mattn/ezoe インストールは簡単で golang が入ってる状態なら $ go get github.com/mattn/ezoe これだけで ok。使い方も簡単で $ ezoe とすると質問の一覧が色付きで表示される。 しかも「質問ではない」と「自由」がハイライトされるので江添フリークも安心。そして引数を付けて起動すると ask.fm に質問を投げられます。

    Big Sky :: 江添さんに簡単に質問出来るコマンドを golang で書いた。
    Pasta-K
    Pasta-K 2015/05/20
  • Big Sky :: clib の使い勝手にマジ感動した

    C言語でアプリケーションを書くのは他の言語と比べて少し気合が必要ですよね。例えば HTTPからデータを取得する 取得したデータを json パースする 結果の一部を色付きで表示する こんな場合、C言語プログラマは 「HTTP か、じゃぁcurlかな」 「JSON か、parson かな」 「色表示か...エスケープシーケンスでもいいけどWindowsがなー...」 といった事を考え、そこから curl や parson といった資材の調達を始める事になります。途中で新しい機能を追加したくなり、それを外部ライブラリに頼る場合だとその都度資材を調達する必要があり、思考を停止しなければなりません。 この辺は rubyperl、nodejs、golang 等の様に、ちょっとした手間だけで済ませたい物です。 またC言語の場合、ヘッダファイルはシステムの include フォルダに提供元が期待す

    Big Sky :: clib の使い勝手にマジ感動した
    Pasta-K
    Pasta-K 2014/06/28
    “HTTPからデータを取得する 取得したデータを json パースする 結果の一部を色付きで表示する こんな場合、C言語プログラマは 「HTTP か、じゃぁcurlかな」 「JSON か、parson かな」 「色表示か...エスケープシーケンスでもいい
  • Big Sky :: TatsumakiとDUI Streamを使って画像ストリーミングサーバ作ってみた。

    Tatsumakiって面白そうとは思ってたけど、触った事なかったので、勉強してみた。 なるほど面白そう。と思ったのとPSGIでも動かせるんだーと感動しました。今日は勉強がてら、以前紹介した事もあるDiggのDUI Streamと混ぜて遊んでみた。 Digg the Blog » Blog Archive » DUI.Stream and MXHR We call this technique MXHR (short for Multipart XMLHttpRequests), and we wrote an addition to our Digg User Interface library called DUI.Stream to implement it. Specifically, DUI.Stream opens and reads multipart HTTP respons

    Big Sky :: TatsumakiとDUI Streamを使って画像ストリーミングサーバ作ってみた。
    Pasta-K
    Pasta-K 2013/12/26
  • 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書いた
    Pasta-K
    Pasta-K 2013/04/19
  • 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する方法
    Pasta-K
    Pasta-K 2010/11/10
  • 1