タグ

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

  • 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

    yatta47
    yatta47 2019/12/18
  • Vimmerに捧げる正規表現の基礎中の基礎 — KaoriYa

    正規表現はVimに限らずコンピューター上でのテキスト操作において非常に強力です。 しかし学習の難しさも非情で多くのIT技術者、Vimmerが正規表現に苦しんでいるのを幾度となく目の当たりにしています。 ただ正規表現は当にそんなに難しいのでしょうか。 いいえそんなことはありません。 正規表現は来とても簡単な原理で学習も容易なのです。 にも関わらず難しいと思われてしまうのは、原理を理解しないまま外見上の機能をそのまま覚えようとするからです。 記事では正規表現の原理にフォーカスし解説することで、Vimを含む様々な正規表現実装の利用難度を適切にしようという記事です。 記事は Vim Advent Calendar 2019 の1日目の記事です。 「正規表現」はもともと形式言語という言語学の一分野の研究から生まれました。 言語学というのは言葉を科学的に研究する学問です。 形式言語はその中でも

    yatta47
    yatta47 2019/12/02
  • DockerNATが一部のポートを潰しちゃう話 — KaoriYa

    Docker Desktop for Windows と VirtualBox を共存できないか試していて、 もっとも納得できていない現象を紹介します。 記事はトライしたけどできなかった系のお話から始まります。 さらに妥協した方法を模索しているうちに不可解な現象に遭遇しました。 たまたまその不可解な現象の回避方法を発見しましたが、 どうしてそれがうまく機能するのかはわかっていません。 教えてもらったことをきっかけに正しい理解を得ました。 詳しくはこちらの 追加記事 をご確認ください。 TL;DR Docker Desktop for Windows の仮想スイッチ vEthernet (DockerNAT) が生きてると、VirtualBox のポートフォワーディングで 1688 から 2279 の範囲が利用できなくなる ネットワークアダプタ vEthernet (DockerNAT)

    yatta47
    yatta47 2019/10/21
  • 1