タグ

2018年12月22日のブックマーク (8件)

  • tsuquyomi を魔改造している - Memo

    https://qiita.com/advent-calendar/2018/vim 22 日目の記事です。 tl;dr tsuquyomi でエラーチェックが同期で走って VimUI をブロックしストレスがたまるから、魔改造して非同期で動く仕組みを作った。 https://github.com/heavenshell/tsuquyomi/tree/feature/async はじまり 今年はお仕事TypeScript格的に書くようになった。 2016 年に TypeScript を少し書いた時も tsuquyomi を使っていた。 今回も tsuquyomi を入れて、自作の Tslint チェックをする Vim plugin を作って開発をしている。 保存時に tsuquyomi が TSServer にチェックを行っていた。 (Tslint は完全に非同期になっている

    tsuquyomi を魔改造している - Memo
    mattn
    mattn 2018/12/22
    すごい
  • Goのプログラムで動的アップデートについてのトリビア - エンジニアと思われるものの備忘録

    この記事は Go3 Advent Calendar 2018 - Qiita の21日目の記事にあたります。 アドベントカレンダーに参加するのは初めてのため、作法なので間違っているところがあったらすいません。 動的アップデート 動的アップデートという言葉をご存知でしょうか?ホットリロードだったりモンキーパッチだったり似たような意味で色々言い方があるかもしれませんがACMやIEEEの論文を眺めているとDSU(Dynamic Software Update)と書いてることが多いです。 何をするかというと プログラムを中断させずにプログラムのアップデートを行う ことです。 具体的にはプロセスのメモリ空間を外部から書き換えて挙動を書き換えます。linuxにはlivepatchというツールがありますが、これはプロセスを指定し、アドレスを指定するとそのアドレスの値を書き換えることができます。要は黒魔術

    Goのプログラムで動的アップデートについてのトリビア - エンジニアと思われるものの備忘録
    mattn
    mattn 2018/12/22
  • Goを書く時に使えそうな便利ツールを調べてみた | LABO.YUKPIZ.ME

    yukpiz's portfolio site.

    Goを書く時に使えそうな便利ツールを調べてみた | LABO.YUKPIZ.ME
    mattn
    mattn 2018/12/22
  • 株式会社はてなを退職しました - ゆううきブログ

    2018年12月21日の今日がはてなでの最終出社日となりました。 はてなには、2013年12月に新卒として入社し、その後5年間に渡りお世話になりました。 はてなとの出会いのきっかけは、2011年のはてなインターンに参加したことでした。 はてなインターンの特徴の一つに、ほとんどの参加者が参加したときの内容をブログ記事として書いていることがあります。インターン参加記事には、技術やWebに対する大きな熱量がこもっており、すっかり自分もWeb技術をやっていくのだと感化されました。 ダメ元で選考に望んだところ、運良く選考通過のお知らせをいただいてとてもうれしかったことを今もよく覚えています。 そこから毎年インターンの参加者をみてきていますが、とてもハイレベルで、よく自分が選考通過したものだと今でも思います。 この出来事が自身の人生にとって大きな転機だったと言えるでしょう。 インターンの1年後にアルバ

    株式会社はてなを退職しました - ゆううきブログ
    mattn
    mattn 2018/12/22
    お疲れさまでした。
  • Windows Management Instrumentation を簡単に得られるツール wmi2struct - Qiita

    WMI とは Windows PC やサーバから色々な情報を得る方法として Microsoft は WMI(Windows Management Instrumentation) を提供しています。 これらの情報は WMI クラスという構造で格納された形式で提供され、数多くのクラスが用意されています。 wmic コマンド コマンドラインからは wmic というツールを使いこれらの情報に簡単にアクセス出来る様になっています。 ちょっと確認するには wmic コマンドは便利です。wmic コマンドには一応、CSV もしくは XML 形式で出力するオプションが付いているのですが、プログラムからは非常に扱い辛い物になっています。また型もないので出力内容を WMI クラスの定義に従って変換しないといけない訳です。そこで便利なのが StackExchange/wmi です。 StackExchange

    Windows Management Instrumentation を簡単に得られるツール wmi2struct - Qiita
    mattn
    mattn 2018/12/22
    書きました。
  • Goで独自エラー型を定義する - Qiita

    Goでのエラー判別という記事で、Goのエラーの判別方法にはだいたい3種類あるという話をしました。 どの関数から返されたかで判別 定義済みの変数と比較して判別 独自エラー型を定義してキャストして判別 今回の記事では3の独自エラー型を定義する際のノウハウについて扱います。 ※ Go2アドベントカレンダーのGoのカスタムエラーとその自動生成についてという記事とかなり内容が被っている気がしますが、ネタかぶりはご容赦ください。 generrはすごく良いツールだと思います!この記事のコードを自動生成したい場合にご利用ください。 それではいくつかの実装例を紹介します。 例1: エラーコードを持たせる 例えばエラーコードを持たせたい場合を考えます。 この場合、エラーコード型にそのままerrorインターフェースを持たせてしまえばいいでしょう。 GoのエラーはインターフェースなのでErrorメソッドさえ持たせ

    Goで独自エラー型を定義する - Qiita
    mattn
    mattn 2018/12/22
  • `Wrap(err)` in our production #golang | Wantedly Engineer Blog

    Go(Un)Conferenceについて Goが好きな人たちで軽と飲み物をお供にGoの知見をゆるく発表していく会の第4回です。 第1回:4/17(火) Go(Un)Conference(Goあんこ)LT大会 1kg togetterのまとめ 第2回:5/25(金) Go(Un)Conference(Goあんこ)LT大会 2kg togetterのまとめ 第3回:7/26(木) Go(Un)Conference(Goあんこ)LT大会 3kg togetterのまとめ また誰かがGoと別の言語を比較してジェ 復習: なぜ `Wrap(err)` が必要なのか一言で言うと「エラー発生箇所のコンテキスト・情報(stacktrace, etc.)をちゃんと残すため」です. ここは実際の挙動を見るとわかりやすいので,コードで説明します.知ってる人は読み飛ばしてもらって大丈夫です. `Wrap(err

    `Wrap(err)` in our production #golang | Wantedly Engineer Blog
    mattn
    mattn 2018/12/22
    wraperr 便利そう。
  • Goでxo/xo入門 - nがひとつ多い。

    はじめに この記事はGo Advent Calendar 2018の19日目の記事です。 結構今更ですが、僕は番環境で投入しているものの、あんまり知られてないようなので改めて書いてみます。 自動DBモデリングツールxo/xoの紹介 github.com ラーメンを美味しく料理するための香辛料ではなくてですね、 xo is a command-line tool to generate Go code based on a database schema or a custom query. 動いている任意のDBエンジンからテーブルを抽出して、Goの構造体とかをコードで生成するツールです。 みなさんはどうやってから構造体を生成してますか? どーのこーのして生成しているでしょうが、hoge_countがbigint型だから〜goだとintか〜あーUNSIGNEDだからuintか〜とか考えなが

    Goでxo/xo入門 - nがひとつ多い。
    mattn
    mattn 2018/12/22