タグ

GoとASTに関するraimon49のブックマーク (4)

  • lltsvでLTSV形式のデータをサクサクパースしよう | メルカリエンジニアリング

    LTSVはLabeled Tab-separated Valuesの略で、コロンで区切られたラベルと値の組み合わせ(key:value)をタブ区切りで表現したフォーマットです。 主にログデータのフォーマットとしての利用が想定されています。 uri:/upload status:400 size:13599 reqtime:0.280 apptime:0.150 uri:/downalod status:200 size:12812 reqtime:0.330 apptime:0.210 uri:/item/new status:200 size:29830 reqtime:0.050 apptime:0.050 uri:/item/fav status:200 size:33123 reqtime:0.100 apptime:0.099 uri:/top status:301 size:1

    lltsvでLTSV形式のデータをサクサクパースしよう | メルカリエンジニアリング
    raimon49
    raimon49 2018/12/22
    lltsvっていう名前がllを連想させてセンスある。
  • Go 言語の値レシーバとポインタレシーバ

    「レシーバ」とはGo 言語はある種のオブジェクト指向プログラミング (OOP) 言語であり、 OOP 言語の慣例通り、メソッドを呼び出される対象のことを「レシーバ」と呼びます。 ちなみになぜ「レシーバ」と呼ぶのかというと、昔の OOP 言語の文脈ではメソッド呼び出しのことを「メッセージの送信」と言い、メソッドを呼び出される側は「メッセージの受信側」だからです。 「値レシーバ」と「ポインタレシーバ」Go 言語では「値」と「ポインタ」が明示的に区別されているため、たとえばある構造体に対してメソッドを定義する場合でも、「値型」に対する定義なのか「ポインタ型」に対する定義なのかはっきりと区別しなければなりません。それぞれについて簡単に説明します。 値レシーバ「値型」に対してメソッド定義されたものが「値レシーバ」です。 Go 言語では構造体は値なので、以下の例では Person という値型に対して

    raimon49
    raimon49 2017/01/24
    いわゆるselfアクセスしてフィールド変更したい場合はポインタレシーバでメソッドを宣言する。nil pointerでも呼び出し可能な点に注意。
  • GoogleがGoによるPython実装、Grumpyを発表

    Googleが既存の社内のPythonコードをGoで実行するためのPython実装を公開している。 Google Open Source Blog: Grumpy: Go running Python! google/grumpy: Grumpy is a Python to Go source code transcompiler and runtime. Googleの発表によれば、YouTubeのフロントエンドサーバーとYouTube APIはほとんどPythonで書かれているという。現在、YouTubeのフロントエンドはCPython 2.7で実行されているが、CPythonの制約により効率化には限界があるのだという。 GrumpyはPython 2.7のコードをGoのコードに変換するツールgrumpcの実装だ。grumpcPythonで実装されていて、astモジュールでPyth

  • makeのくびき - saneyuki_s log

    gulpって何だよ、makeでいいじゃん(要約」論争について、私もちょっと一講釈をぶってみることにする。あれやこれやといった実利的な話をするつもりはない。そういうものは既に書いた人がいるのでそちらを参照のこと。 Gruntの思い出 Gruntは、私の印象で言えば車輪の再発明の失敗作のようなもので、タスク間の依存関係が破滅への一途をたどり管理不能に至るなど、宣言型の負の側面が強く出てしまった。しかし、設定は当にサンプルコードのコピペだけで組み立てられるので、JSが不得手なデザイナーなどには非常に受けが良かったという点は忘れてはならない。ちょうど、html5ブームが格化して, Apache Antとかに慣れ親しんだJava(主にSIer)系の人が入ってきたタイミングにあった道具かつ、Yeomanファミリーにも組み込まれており、それでいて簡単な事をやらせるには悪くはない具合のシンプルさ、

    makeのくびき - saneyuki_s log
    raimon49
    raimon49 2016/01/17
    「何でGruntがそれなりに普及していたか?」が整理されていて読み応えがある。誰もがコマンドラインファーストな国に住んでいる訳じゃない。
  • 1