タグ

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

  • 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

    kazuph1986
    kazuph1986 2016/06/26
    ふむふむ。
  • Vim scriptによるゲームの新アーキテクチャの考察 — KaoriYa

    従来のVim scriptによるゲーム作成時の問題点を解消する、 新しいアーキテクチャを考察してみました。 この記事は Vim script Advent Calendar 2015 の 13日目の記事です。 まずは以下のデモ画像(別ウィンドウ)を見てください。 かなりスムーズに○リオが動いています。実はこれ、全部Vim scriptでできています。 ソースコードは koron/vim-ario に置いてありますので、チェックアウトして gvim -S game.vim することで試せます。ただし動作確認・保証は Windows版の +kaoriya な gvim でしかしておりません。また解像度も画面幅1920ドット無いとおかしなことになるので、異なる環境の場合は各自で調整してPRなどしてください。 操作は以下のとおりです。 h - 左ボタンのトグル l - 右ボタンのトグル f - ジ

    kazuph1986
    kazuph1986 2015/12/13
    アングリーバードやりたい
  • あぁ^~Vimがぴょんぴょんするんじゃぁ^~ — KaoriYa

    let s:gravity = 2.4 function! s:start_pyonpyon() set guioptions-=m redraw! winpos 4000 4000 | winsize 80 24 let [s:maxX, s:maxY] = [getwinposx(), getwinposy()] let [s:unit_h, s:unit_v] = [s:maxX / 133.0, sqrt(s:maxY * s:gravity * 2)] let [s:v, s:w] = [-s:unit_h, s:unit_v] let [s:x, s:y] = [s:maxX, 0] set updatetime=13 augroup PyonPyon autocmd! autocmd CursorHold,CursorHoldI * call s:pyonpyon() aug

    kazuph1986
    kazuph1986 2015/09/05
    誰だ「こいつ・・・動くぞ」ってタグつけたやつw
  • codic-vim プラグイン — KaoriYa

    年もよろしくお願いします。ということでコードを書く際のネーミング辞書 codic をVimから使えるようにするプラグイン codic-vim を書きました。 codic はプログラムを書く上でプログラマを悩ませるクラス名や変数名の命名を助ける目的で作られたWebサービスで、APIこそありませんがその辞書データをクリエイティブ・コモンズのもとに公開してくれています。 インストール 香り屋版Vimを使っているならば バージョン 0.9 のzip をダウンロードして解凍し、出てきた codic-vim ディレクトリをそのまま $VIM/plugins ディレクトリに置けばインストールは完了です。次回Vimを起動した時から codic-vim が有効になります。もしくは普通のプラグインと同じようにマネージャを使っても良いでしょう。 使い方 使い方はとっても簡単で、調べたい単語の上にカーソルを合わ

  • golang でループを手っ取り早く並列化する方法 — KaoriYa

    func execLoop(list []Item) { for _, item := range list { do_something(item) } } list に格納された各 item に対して do_something() を適用する、よくあるタイプのループ処理です。 goroutine で並列化、その副作用 golang ではこの do_something() の適用を超お手軽に並列化できます。あ、もちろん do_something() はリエントラントである前提ですね。

  • enchantMOON レビュー — KaoriYa

    enchantMOON を使ってみて気になったことを書き留めておきます。 未来の enchantMOON のために。 04/23 に注文した enchantMOON が 07/20 に届きました。 わずかな時間ですが、使ってみたので気になったことを書いておきます。お世辞にも「現状で長く使おうと思えるもの」「もっと使ってからレビューしよう」と言えないあたりは察してください。 一応、購入に至る背景を書いておきます。まずもともとは買うつもりは一切ありませんでした。理由は簡単で「ハードやるのが初めてなところから実用に足るものがでてくるわけがない」と考えていたからです。その考えは今も変わっていません。にも関わらず この記事 が 刺さり 購入を決定しました。 刺さりポイントは次の通り: 自分たちのハードを作って売ろうという心意気 手書きの重要性への共感 彼らに次の打席へ立って欲しかった まとめると、初

    kazuph1986
    kazuph1986 2013/07/23
    気持ちは同じかな。最初の打席への投資。
  • Vim scriptを取り巻く問題など存在しない (領土問題風に) — KaoriYa

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

  • VimとPythonのバージョン — KaoriYa

    Sublime Textが2から3に上がるのに際しプラグインを書くのに利用可能なPythonバージョンが2から3にあがり、既存のプラグインが利用できなくなる可能性がある問題がここ数日テキストエディタ業界を賑わしております。記事では同様の問題がVimにあるのかを検証します。 最初に言っておきますが、VimPython2とPython3に両対応しています。つまりPython2とPython3を同時に利用できるのです。特に+kaoriya版ではその機能を有効化してコンパイル&配布していますので、まずはやってみましょう。あ、もちろん別途Pythonがインストールされている必要はあります。 :py print(sys.version) 2.7.3 (default, ... :py3 print(sys.version) 3.2.3 (default, ... 1つのVimからPython 2.

    kazuph1986
    kazuph1986 2013/01/30
    ふむ
  • 書評:Making Software — KaoriYa

    発売日をチェックすることを忘れていたのですが、タイトルと出版社から買おうと決めていた「Making Software」を日曜の昼下がりに立ち寄った屋で見かけてしまったので、購入してざっと流し読んだのでレビューしてみます。 書は一言で言ってソフトウェア工学という学問分野の論文集です。全体は30章からなり、1章あたりは10ページから20ページ前後の独立した論文となっています。第一部である前半の8章はサブタイトルにもあるように「エビデンス/実証」に基づくソフトウェア開発についての総則的な内容、および手法がこれでもかと言わんばかりに書かかれています。後半の22章はそれらの総則を実際のプロジェクトや問題/視点に適用検証し、どうなったかが書かれています。加えて日語版特別仕様として、日人である訳者、学者、実務家による鼎談(ていだん:座談会)の模様が収録されています。 まず何よりも書は難解なジャ

  • 1