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

  • Big Sky :: 書評:[試して理解]Linuxのしくみ

    Twitter で「読みたい」と呟いたら著者の武内覚さんから献しましょうかとお声を掛けて頂いたので即答でお願いしました。 僕はいつも Linux でしか動作しないソフトウェアを Windows に対応させるパッチを書いたりしているので、普段 Windows しか触っていないと思われがちですが、実は僕が Linux を触り始めたのは 1996 年にトッパンから出版された「Linux 入門」くらい昔だったりします。ちょうど Linux 2.0 が出た頃だったと思います。その頃の Linux はようやく SMB カーネルが出た頃で、まだまだお遊び感のある OS で不安定でもありました。ディストリビューションもほぼ Slackware くらいしか無かったかもしれません。 あの頃の Linux はインターネットを検索しても殆ど情報が出て来ず、気で調べるにはソースコードを読むしかありませんでした。

    Big Sky :: 書評:[試して理解]Linuxのしくみ
    ksss9
    ksss9 2018/02/21
    kindle版出るかな?たのしみ
  • Big Sky :: Matz の「言語のしくみ」を読んだ。

    Twitter で「言語のしくみ」読みたいなって呟いたら Matz 人から「献しましょうか」とメンション頂いて即答でお願いしました。ありがとうございます。 ひさびさ紙のを通勤電車の中で立ちながら読んだので手がだるくなりました。なんだか懐かしい感じがしました。 さてこのですが、一言で言うとこんなです。 Ruby のパパこと Matz が雑誌の連載に追われながら試行錯誤して作ったプログラミング言語「Streem」を解説する 聞こえが悪かったらすみません。言いたいのはこの「試行錯誤」がとても良いエッセンスになっている点なのです。実際にはその連載記事をまとめた物に対して、この当時はこの様に考えていたが後になってみると実は良く無かったといった振り返り「タイムマシンコラム」で構成されています。 この連載が1つのに纏められた事でプログラミング言語設計者の葛藤が非常に良く表されているな、そう

    Big Sky :: Matz の「言語のしくみ」を読んだ。
    ksss9
    ksss9 2017/01/07
    言語のしくみ読みたい
  • Big Sky :: builderscon 2016 で登壇してきました。

    « バイナリ一つで zip, tar.gz, tar.bz2, tar.xz が開けるコマンド「archiver」(と go1.8 への対応方法) | Main | gops が SIGINT をキャッチしてしまう問題が修正された。 » 冒頭でもお話させて頂いた通り、僕は YAPC に何回も誘われながらも結局参加できなかったというのが気持ちの奥にずっとあり、一度くらいは出ておくべきだったのかなと考えていたので今回、牧さんからお誘いを貰った時はお詫びをするなら今しかないと思っていました。はじめは15分とか30分程度のトークかなと思っていたら気付けば builderscon 2016 第1回目のド頭で1時間枠を割り当たっていました。 内容は「OSS は Windows で動いてこそ楽しい」というお題で Windows アプリの開発のつらさ、闇、そしてGo言語の誕生と希望について熱く語らせて頂き

    Big Sky :: builderscon 2016 で登壇してきました。
    ksss9
    ksss9 2016/12/04
    mattnさんの行動の源泉を見た気がしてすごくよかった
  • Big Sky :: GolangでAPI Clientを実装する、の続き

    いい記事に感化されて僕も何か書きたくなった。 GolangAPI Clientを実装する | SOTA GolangAPI Clientを実装する 特定のAPIを利用するコマンドラインツールやサービスを書く場合はClientパッケージ(SDKと呼ばれることも多いが記事ではClientと呼ぶ)を使うこ... http://deeeet.com/writing/2016/11/01/go-api-client/ この先、JSON REST API のエンドポイントに対して Golang の struct を用意していく訳だけど、ここが一番かったるい作業で一番手を抜きたい所だと思います。そこで便利なのが JSON-to-Go です。 JSON-to-Go: Convert JSON to Go instantly JSON-to-Go Convert JSON to Go struct T

    Big Sky :: GolangでAPI Clientを実装する、の続き
    ksss9
    ksss9 2016/11/01
    めっちゃ便利だしtype_structでもパクったやつだ
  • 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 に画像を貼る時は代替テキストを意識しようと思った。
    ksss9
    ksss9 2016/10/05
  • Big Sky :: SSE を使わなくても HTML エスケープはある程度速くできる。

    SSEを使ってHTMLエスケープを高速化してみた - k0kubun's blog 高速なHTMLエスケープをするライブラリを作った ある日HTMLエスケープを速くしたくなって、hescapeというライブラリを作った。 github.com とにかく速いHTMLエスケープがしたい R... http://k0kubun.hatenablog.com/entry/hescape 以前、moznion 氏の petit-html-escaper を勝手に高速化した時の話。 GitHub - moznion/petit-html-escaper: A simple and small escaper for HTML with SSE4.2 function Author moznion ( moznion@gmail.com ) mattn License The MIT License (M

    Big Sky :: SSE を使わなくても HTML エスケープはある程度速くできる。
    ksss9
    ksss9 2016/08/17
  • Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。

    僕がプログラミング言語「Go言語」を知り、使い始めてからそろそろ7年目に入ろうとしています。 当初 Google が作っているという鳴り物があった為、色々なメディアに取り上げられ色々な方がブログ等でGo言語を紹介し、色々な意見でGo言語が語られました。大抵の場合、プログラミング言語とは始めはチヤホヤと取り出され、落ち着いてからが当の人気を表すという傾向にあります。皆さんもそう思っていたかもしれませんし、僕もそう思っていたと思います。 僕がGo言語を触りだした頃、まだ色々と足りない部分がありました。Linux で動いている多くの機能が Windows では未実装になっていました。しかしそんなGo言語であっても高速なビルドと実行速度で僕の好奇心を揺さぶるには十分な物でした。 その後、僕はGo言語にパッチを送る様になりました。その内幾らかはマージされました。現時点ではコアのリポジトリで79個の

    Big Sky :: 「みんなのGo言語」の執筆に参加させて頂きました。
    ksss9
    ksss9 2016/08/08
  • Big Sky :: golang のサーバで帯域制限したい。

    次回予告「並列ダウンロードするHTTPクライアントをバンド幅制限するサーバをGoで実装した」 / “高速でダウンロードできるツールを Go で実装した。 - Qiita” https://t.co/6NfEyJCwbu — Kazuho Oku (@kazuho) July 13, 2016 並列ダウンローダを使うと幾らかサーバに負荷が掛かってしまいます。golang のサーバ側で帯域制限を行う場合には2つ方法があります。 転送量制限する 接続数制限する まずは転送量制限。転送量の制限には throttled が便利です。 GitHub - throttled/throttled: Package throttled implements rate limiting access to resources such as HTTP endpoints. README.md Throttle

    Big Sky :: golang のサーバで帯域制限したい。
    ksss9
    ksss9 2016/07/13
  • Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事

    絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows API

    Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事
    ksss9
    ksss9 2016/04/11
    appveyorでwin対応する時に
  • Big Sky :: golang で HTTP を使った処理を4倍速くする

    I think I just made go-github 4x faster in 4 lines of code (and 4hrs). Always make sure you are reusing connections! https://t.co/ORCv1a4prv — Filippo Valsorda (@FiloSottile) March 27, 2016 go-github という、Google が開発している GitHub API ライブラリがあるのですが、今回 filosottile さんがたった4行のコードで実行速度を4倍にするという pull-request を書きました。 いったいどういう事かというと、golang の json.Decoder を使って http.Response.Body から JSON を読み取ると最後の改行(EOF)が読み込まれずに残

    Big Sky :: golang で HTTP を使った処理を4倍速くする
    ksss9
    ksss9 2016/03/29
    ふぁーおもしろい
  • Big Sky :: コマンドラインから JSON が簡単に作れるツール jo

    « golang で画像アップロードが簡単に出来る go-imageupload を使ってみた。 | Main | SQLite3でカジュアルにズンドコキヨシ » コマンドラインから JSON を扱うツールとしては jq が一般的ですが、例えば ls を実行した結果を JSON の Array にしたいであったり、コマンドライン引数から簡単に Object を作りたいといった場合には一旦考え込まないといけないくらい使い方が難しかったりします。そんな中でひょいと現れたのが jo です。 GitHub - jpmens/jo: JSON output from a shell JSON output from a shell https://github.com/jpmens/jo 作者である jpmens さんがなぜ jo を作るに至ったかをブログに書いています。 Jan-Piet Mens

    Big Sky :: コマンドラインから JSON が簡単に作れるツール jo
    ksss9
    ksss9 2016/03/09
    ネストの書き方が上手い。JSONにしたあとどう活用できるかなあ
  • Big Sky :: Software Design に Vim の Tech記事「Vim の細道」を連載します。

    こんにちわ。Vim 使ってますか?使ってない?使いましょう。 2015年になっても Vim 使ってる人いるの?なんて人もいますが、よく考えて下さい。Vim だけで出版物が何冊もあるんですよ?Vim script は GitHub 上だと Go や R と同じくらい人気のあるプログラミング言語なんですよ?(出展: The RedMonk Programming Language Rankings: June 2015 – tecosystems) 新しいテキストエディタがどんどん出てきて、イケてないテキストエディタはどんどん消えるのに、Vim は未だに人気があるエディタなんですよ?Vim がそんなに根強いのには理由があると思いませんか?使うの難しくて Vim やめてしまったけど、もういちどチャレンジしたいと思いませんか?普段使ってる Vim をもっと便利にしたいと思いませんか? 今も尚進化し

    Big Sky :: Software Design に Vim の Tech記事「Vim の細道」を連載します。
    ksss9
    ksss9 2015/08/25
    連載作家だ
  • Big Sky :: Vim scriptテクニックバイブル ~Vim使いの魔法の杖

    こんにちわ。Vim scriptサポーターズの mattn です。 ちょうど3年程前、Vimテクニックバイブルという書籍を執筆させて頂きました。 Big Sky :: Vimテクニックバイブル ~作業効率をカイゼンする150の技 http://mattn.kaoriya.net/software/vim/20110810203558.htm おかげ様で、色んな方から反響を頂き執筆して良かったと思いました。初めて自分が書いた書籍が販売されるという高揚感に包まれる中、書籍の販売からたった数週間後、何を思ったか僕と KoRoN さんは github 上に vim-users-jp というオープングループを作る事になりました。 Big Sky :: github上にvim-users-jpというorganizationを作った。 http://mattn.kaoriya.net/software/

    Big Sky :: Vim scriptテクニックバイブル ~Vim使いの魔法の杖
    ksss9
    ksss9 2014/07/11
    vim卒業しようと思った矢先の出来事であった
  • Big Sky :: 意外と知られていない便利なvimプラグイン「ctrlp.vim」

    この記事は、Vim Advent Calendar 2011の記事です。欠番が出そうだったので、勝手ながら割り込ませて頂きます。 Vimを使って開発をする際、リポジトリ内のファイルにどうやってアクセスしていますか?NERDTree?vimshell?unite.vim?FuzzyFinder? 色んな方法があるかと思います。ただこれらは若干古かったりニュアンスが異なっていたり、物によっては開発に向かない物もあります。単純にファイルを選択するのであれば、それで事足りるでしょう。しかしながら当に開きたいファイルを最短の方法で選ぶには、これまでの方法では時に無駄であったり、余計なお世話だったりもしました。 僕はバッファセレクタやファイルセレクタというのは使わない方なのですが、ちょっと前にこれを見つけて「おっ...よさげなインタフェース」と思った物があったので紹介しようと思います。 ctrlp.

    Big Sky :: 意外と知られていない便利なvimプラグイン「ctrlp.vim」
    ksss9
    ksss9 2014/05/24
    便利
  • 1