ブックマーク / moriyoshi.hatenablog.com (2)

  • nilが欲しいからと言ってむやみにポインタを使うとひどい目にあう話 - moriyoshiの日記

    スマートフォンアプリ側の実装担当として少し関わっているあるβ版のサービスで、奇妙だが比較的クリティカルな問題が発生していた。 それもメッセージが関係ない人間に届くというものであった。 なんとなくその問題を担当することになったが、常に状況が再現するわけではなく、他の仕事もあったので、問題への見当を付けられないまましばらく過ごしてしまった。 そのメッセージを送信する部分はサーバサイドのコードで、Goで書かれていた。 そのコードのエッセンスを抽出すると、以下のようになる。 package main import ( "fmt" "sync" ) type User struct { Id int Name string } type Mail struct { Title string UserId *int } func sendMail(mail Mail, wg *sync.WaitGro

    nilが欲しいからと言ってむやみにポインタを使うとひどい目にあう話 - moriyoshiの日記
    delphinus35
    delphinus35 2018/03/22
    nil が欲しいってどういうことなの……Go に zero value がある理由を全否定してるだろ……
  • ターミナルで動画を観る試み - moriyoshiの日記

    Unicode文字セットの一部に、これといって用途がわからないものがある。block elements というものだ。 Block Elements (Range: 2580-259F) マイコン世代にはおなじみのセミグラフィクス用キャラクターだ。なぜ Unicode 時代にもなってこれが必要だったのだろうという疑問はあるが、何にせよ、ノスタルジーをかき立てる身近な存在には違いない。 今日はこれを使ってターミナルで動画を見てみたいと思ったのでこんなコードを書いた。 出力はこんな感じ。 charfb: semigraphics on a Unicode-capable terminal.

    ターミナルで動画を観る試み - moriyoshiの日記
  • 1