タグ

ブックマーク / www.kaoriya.net (12)

  • golang は ゆるふわに JSON を扱えまぁす! — KaoriYa

    以下のツイートにもある通り、一見 golang は struct を定義しないと JSON を扱えないように見えます。他にも似たようなツイートをチラホラと見かけましたが、それらは全部誤解です。そこでこの記事では、golang でゆるふわ (structを定義せず) に JSON を扱う方法を紹介します。 golangrubyのようにゆるふわにJSONは扱えない? https://t.co/olsryDHc5G — bamchoh (@bamchoh) 2016年6月24日 この記事では入力の json.Unmarshal() を取り扱いますが、出力の json.Marshal() にも応用できます。 TL;DR json.Unmarshal() には *interface{} を渡せます interface{} は dproxy を使うと、値のアクセスで楽ができます json.Unmar

    ikosin
    ikosin 2016/06/27
  • iBusがクソになった理由 — KaoriYa

    Xubuntu を 13.10 へアップデートしたら日本語入力(iBus)がクソになったのでその理由を調べてみました。 Xubuntu を 13.10 へアップデートしたら日本語入力(iBus)がクソ(1.5)になりました。どんなにクソかは iBus 1.5がクソすぎる に譲るとして、私はどうしてそうなったのか (あわよくばどうすれば直るのか) を真夜中に調べてましたのでその成果を記しておこうと思います。 私の場合 Vim でIMEを制御 できないことで問題が根深いことを知りました。調べてみると InputContext というクラスから is_enabled(), enable(), disable() の3つのメソッドが消えていました。これらのメソッドは端的に言うと日語の状態を取得、有効化、無効化するものです。うんもうIME制御なんてできません。ちなみに その修正が行われたのは約2年

    ikosin
    ikosin 2014/12/22
  • Vimにrevコマンドを実装してみた — KaoriYa

    この記事は Vim Advent Calendar 2014 3日目の記事です。 前説 VAC2014 のネタを全く考えていなくて、ぜんぜん思いつかなくて困っていたところ 面接官「テキストに書かれた4行をキーストローク5回で確実に上下反転させるにはどうしたらいいですか」 KoRoN「ちょっとvimのソース弄って来る」 mattn「五人だけに誤認逮捕でしょ」 thinca「普通に無理なんじゃ」 Shougo「そのまさかだ!」 一同「言わせねぇよ!」 — mattn (@mattn_jp) 2014, 12月 1 まっつんさんから急にネタを振られたので @mattn_jp :rev<ENTER> — MURAOKA Taro (@kaoriya) 2014, 12月 1 やってみることにしました。 ということで早速 :reverse コマンドを作ってみましょう。 調査 まずは :sort が、

    Vimにrevコマンドを実装してみた — KaoriYa
    ikosin
    ikosin 2014/12/03
  • Go/Migemo の紹介 — KaoriYa

    Migemo とは Migemo とはローマ字を入力して漢字を検索するためのライブラリです。詳しく言うとローマ字をひらがなへ変換し、そのひらがなを基に漢字として変換可能な候補を列挙し、それら複数の候補を合成して正規表現パターンを生成する、それが Migemo の主機能です。Migemo が生成した正規表現パターンを用いて検索すれば「ローマ字を入力すれば漢字を含む日語を検索できる」ようになるのです。 1つ具体的な例を示しましょう。ローマ字「kikai」を考えましょう。これはひらがなで示すと「きかい」です。漢字に変換すると「奇怪」「機械」「機会」…まだまだありますが、ひとまず複数候補があるということはわかります。ここまであげた5個の単語に一度にマッチする正規表現は以下のようになります。

    ikosin
    ikosin 2014/08/24
  • 書籍:Vim scriptテクニックバイブル 発売によせて — KaoriYa

    執筆に参加させていただいた「Vim scriptテクニックバイブル」が、 日、正式に店頭に並びます。 執筆に参加させていただいた「Vim scriptテクニックバイブル ~Vim使いの魔法の杖」が、日、正式に店頭に並びます。早いお店では1週間ほど前から先行販売として売っていたようで、かく言う私も著者見よりも先に、その先行販売 で購入したという状況です(苦笑 7/30 先行販売 『Vim script テクニックバイブル Vim使いの魔法の杖』 技術評論社 (978-4-7741-6634-6) Vim script サポーターズ 著 10冊入荷 http://t.co/QJ5nx2t0QN — 書泉ブックタワーコンピュータ書売り場 (@shosen_bt_pc) 2014, 7月 30 余談ですが、この先行販売により一時的にとある書店のコンピュータ書のベスト3にい込んだらしいです。

    書籍:Vim scriptテクニックバイブル 発売によせて — KaoriYa
  • Vimが変なファイルを作るようになった — KaoriYa

    +kaoriya版として配布しているVimでは デフォルトで undofile がオンになった関係で ファイルの保存時に変な名前のファイルが作成されるようになりました。 その解説をします。 うちで配布している Vim は 7.4.227 から、デフォルトで undofile がオンの状態で配布されるようになりました。そのためデフォルトではファイルを保存した時に同時に.{ファイル名}.un~ を undo ファイルを作成します。この undo ファイルにより Vim は undo の情報をセッションを越えて保持できます。 しかしいきなりゴミのような名前のファイルが生成され、普通のユーザは驚くことでしょう。かく言う私も驚きました。っていうかそのまま間違えてレポジトリに commit しちゃいました。それでは困りますので、無効化する設定などを紹介しておきます。 完全に無効化する こう設定してくだ

    ikosin
    ikosin 2014/05/22
  • お好み焼きを食べに大阪まで来ました — KaoriYa

    場のお好み焼きべたいなぁ。と思い立ったので大阪に来てしまいました。折もよく h_east さんが場をセッティングしてくれたということと、私の「夕飯にお好み焼きべに大阪行ったよ」って言えたらカッコイイんじゃないか、というお子さまじみた考えがマッチしてしまいまして。 場所は新大阪駅から御堂筋線で約30分、長居にある…あれお店の名前しらないやw 駅から出て5秒という好立地、事前に写真を見せられていた分かりやすさからお店の名前を覚えてなくても行けます。お隣が「宮むなし」でした。(帰りに確認したらお好み焼き屋さんの名前は丸葉でした。) 場のお好み焼きはなんて言うか軽い感じでべやすく、ワイノワイノ言いながらヘラ(?)で取り分けると…なんというか連帯感が高まるのです。 以上、おしまい。 じゃ、ダメですよね。やっぱりw twitter を見ていた方ならわかるかもしれませんが、このお好み焼き

    ikosin
    ikosin 2013/09/14
    “ っていうかなんでまっつんさん、服着てるの?w”
  • 書評:実践Vim 思考のスピードで編集しよう! — KaoriYa

    http://vim-jp.org の関係で 実践Vim 思考のスピードで編集しよう を献いただきました。そこでさっそく斜め読みしましたので紹介&レビューしてみます。あ、当に30分程度で流し読んだだけなので、レビューはあっさり目ということで。 まずはじめにこのは「Vimの実践的なTIP集」です。プラグインを使わない純粋なVimのTIP集になっています。そのため私の スパルタンVim との相性は抜群でw、私が無意識のうちに使っている操作の大半がしっかりと解説されています。非常に好みです。 (もしかしたらプラグインについての記述もあったのかもですが、まぁしっかり読み込んでいるわけではないので、気が付かなかったということですね) またTIP集であることからやや散漫になるだろうと推測していましたが、意外にも章立てが良いのか系統だって読めるのが良い点です。先頭から順番に、実際に試しながら読むと

    ikosin
    ikosin 2013/08/24
  • Vim scriptを取り巻く問題など存在しない (領土問題風に) — KaoriYa

    Vim scriptを取り巻く問題について というエントリへの反論というか返答というか補足です。このエントリは極端に書くとこう言っています。 Luaトランスレータなんてできっこねーんだから無駄なことやめろよバーカバーカ キャッチーに要約してますがコレ一行で済むでしょう。 ただ正直なにもわかっちゃいないで書かれたようなので、足りてないところを書いておきます。 Vim scriptの高速化方法の比較 Vim script を高速化する方法は、現時点で2つ提案されています。 バイトコード化 (=パース処理のキャッシュ) 別言語(Lua)へのJust In Timeな トランスレータ あのエントリでは前者は実現可能であるが後者は不可能であると述べていますが、私の見かたは違っていて「どちらも実現可能である」です。ただしそこに至るステップ、歩幅の大きさと予想される最大効果がぜんぜん違います。 歩幅の大

    ikosin
    ikosin 2013/04/03
  • Vim昔語/未来編 — KaoriYa

    昔語で未来編とはどういうわけだ、というツッコミは甘んじて受ける。人は歩みを止めないし止めるべきではない。常に何事にも一歩を踏み出す勇気が必要、そんな明日への姿勢を新たにした思い出話。 2008年秋の早朝、私は赤坂プリンスのロビーにいた。緊張していた。話はその数ヶ月前にさかのぼる。Bramから個人的にメールが来た。 「秋に東京に行くんだけど会えないか?」 「いいね、ぜひ会おう」 Bramが毎年一ヶ月ほどを世界のあちこちへ旅行していることは知っていた。この年は日だった。私は彼が自分を気にとめていてくれて声をかけてくれたことがとても嬉しくて、軽い気持ちで会う約束をした。そしてBramの宿泊先ホテルの上階のレストランで朝をとりながら歓談しようということになったのだ。 ロビーの電話でBramを呼び出し、彼を待ってる間も胸中は複雑だった。メールでしかやり取りしたことのない一生会うことのなかったかも

    ikosin
    ikosin 2012/08/18
  • Vim昔語2011 — KaoriYa

    目次 第一話 遭遇編 第二話 スクリプト編 第三話 激闘編 第四話 昇華編 第五話 翻訳編 最終話 未来編 あとがき 勢いだけで書いてきて未回収の伏線もあったりしますが、そろそろ記憶のほうもかなり曖昧になってきましたので、ここで一つの区切りといたします。2011年のお盆の緊急特別企画ということで楽しんでいただければと思います。 幾分古いことですし、またエンタテインメントとしての性格が強いものですので、文章の表現には誇張や創作があることをお赦しください。また文章中に名前をあげました皆々様には、事前の許可などいただかず誠に申し訳ありませんでしたが、なにとぞご理解とご協力の程をお願いいたします。同時にネタになっていただきありがとうございました。 こういう企画文章を集中的に掲載するのってしんどいですけど面白いですね。特にtwitterを中心にほぼリアルタイムに反応をいただけるのが、執筆を進める上で

  • スパルタンVimのPDF公開 — KaoriYa

    C81での頒布からそろそろ三週間になろうとしていますので、スパルタンVimPDFを公開します。以下からダウンロードしてください。 http://files.kaoriya.net/goto/c81pdf このPDFは表紙とそれ以外を別々のPDFとして出力し、MERGE PDFというWebサービスを使って1つのPDFにしました。最近はほんとうに便利になりましたね。 2012/01/20追記 スパルタンVimに対してtwitterでいただいた誤りの指摘をまとめました。 http://togetter.com/li/244330 その他に見つけた場合はtwitterならば @kaoriya にお願いします。その他の手段は…まかせます。私の目に入りそうなところに書いてください。

    ikosin
    ikosin 2012/01/20
  • 1