タグ

ブックマーク / mattn.kaoriya.net (10)

  • Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう

    « Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。 | Main | VimConf2017 に参加してきた。 » printf デバッグは便利だ。技術の後退と言われようと printf でないと解決できない事はまだまだたくさんあります。 今日は net/http でクライアントが得たレスポンスの JSON を確認したいといった場合に、どうデバッグしたらいいかを書いてみたいと思う。 Go のインタフェースは大よそ io.Reader もしくは io.Writer を使う様に設計されている。こうする事でプログラムがメモリを一度に沢山確保してしまわない様にしています。 package main import ( "encoding/json" "fmt" "log" "net/http" ) type Foo struct { ID  

    Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう
    dohq
    dohq 2019/03/22
  • Big Sky :: Go 言語の非同期パターン

    Gogoroutine という非同期の仕組みを提供していますが、使い方次第では色々なパターンが実装できる為、初めて goroutine を見た人はどの様な物が正解なのか分からない事があります。以前、このブログでも紹介した事がありますが Go の非同期の仕組みは一見単純な様に見えて実はとても奥深いのです。 Big Sky :: golang の channel を使ったテクニックあれこれ golang の channel は他の言語に見ない独特のパラダイムを開発者に提供します。 単純にスレッド間でメッセージングをするだけでもC言語で書けばそこそこの量になったり、慣れていない人であればど... https://mattn.kaoriya.net/software/lang/go/20160706165757.htm 2012 年に Rob Pike 氏が Google I/O で「Go

    Big Sky :: Go 言語の非同期パターン
    dohq
    dohq 2018/06/01
  • Big Sky :: Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。

    たぶん逆引きが無いから探せないのかなと思ったので path/filepath にどういう機能があるのか書いておく。 filepath.Join 使って下さい。 / “Go言語でクロスプラットフォーム的にパスとファイル名を結合するには? | 非IT企業に勤める中年サラリーマンのIT日記” https://t.co/ehXCf0u8X9 — 自称mattn (@mattn_jp) October 24, 2017 パスからファイル名を得る filepath.Base を使う。 package main import ( "path/filepath" ) func main() { println(filepath.Base("C:/foo/bar")) } この場合 bar が表示される。 パスからディレクトリ名を得る filepath.Dir を使う。 package main impor

    Big Sky :: Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。
  • Big Sky :: Vim から自分のtwitterパスワードが流出していないか確認出切るプラグイン書いた。

    WIWA BLOG ... これだけ。 たった数10分で立ち上げられるんです。そう、Pythonならね。 http://blog.wiwa.jp/entry/4fa9ffa7d6f9fd22a5000002 Twitterのパスワードが流出していないか確認:WIWA TWIPASS http://twipass.wiwa.jp/ Twitterの大量流出したパスワードに自分のものが含まれているかどうか一発でわかる「WIWA TWIPASS」 - GIGAZINE 日明らかになったTwitterのパスワード大量流出(延べ5万5000件、重複しているものを除いて約3万5000件)について、自分のTwitterアカウントのパスワードが漏れていないかどうかが分かるサイトが登場しています。 http://gigazine.net/news/20120509-twipass/ 僕も5分でプラグイン書

    Big Sky :: Vim から自分のtwitterパスワードが流出していないか確認出切るプラグイン書いた。
    dohq
    dohq 2012/05/13
  • Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事

    絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows API

    Big Sky :: Windowsへの移植も視野にいれたプログラムを書くなら読んでおいて欲しい事
    dohq
    dohq 2012/05/12
  • Big Sky :: CtrlP にランチャ拡張書いたら捗りすぎて生きているのが辛い

    UNIX系ツールとこういった操作を覚えれば誰でもコマンドプロンプトで生活出来ます。 今日はそんな話じゃなくて、普段Vimを使っていると色んな事をVimから実行したくなってきます。 エクスプローラ起動 ブラウザ起動 TwitVim起動 FavStarなんて見ようかしら その都度、キーマッピングを書いても良いのですが、その度にキーアサインしてるとキーが幾つあっても足りません。あと忘れる事が多い。 そこでランチャー書いてみました。普段リポジトリ内のファイルにアクセスする際、パスが遠いと面倒なので CtrlP(以前書いた紹介記事はこちら) というプラグインを使っているのですが、このプラグインには unite.vim の様に拡張を書ける仕組みがあるのです。 オフィシャルからもバッファや最近触ったファイル(MRU)を選択出来るエクステンションが提供されているのですが、皆さんに紹介の意味も込めて今日適当

    Big Sky :: CtrlP にランチャ拡張書いたら捗りすぎて生きているのが辛い
  • Big Sky :: Learn Vim Progressively

    この文章は、 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/で掲載されている「Learn Vim Progressively」の翻訳文です。 文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。 tl;dr: 可能な限り速くvim(人類史上、最良と知られているテキストエディタ)を習得したい。その方法を提案する。生き残るには最小を学ぶ事から始め、その後徐々にトリックを混ぜて行く。 Vim 60億ドルのテキストエディタ 優れいて、強く、そして速い vimを学ぶ事、それはあなたあなたが学ぶ最後のテキストエディタになるでしょう。私が知る限りより優れたテキストエディタはない。学ぶのは難しいが、使うと素晴らしい。 4つのステップで学ぶ事をお勧めす

    Big Sky :: Learn Vim Progressively
    dohq
    dohq 2012/04/14
  • Big Sky

    はじめに 11/18、東京秋葉原のアキバプラザで、4年ぶりとなる VimConf、「VimConf 2023 Tiny」が開催されました。 今回、Kaoriya さんから「SoftwareDesign で執筆した内容で基調講演をして欲しい」とお願いされた際に、即答で OK をしましたが実は少し不安がありました。SoftwareDesign を事前に購入した人に同じ話を聞かせてしまうのは残念すぎないかという気持ちです。どうしようかとしばらく検討しましたが、SoftwareDesign の内容からスピンオフした内容にする事にしました。 規模が少し小さいとは言え、せっかく楽しみにきて頂いてる皆さんに、残念に思われないようにしたい、少しでも「来て良かった」と思って貰えるイベントにしたと思い、テーマは変えないまま色々な Bram Moolenaar 氏のエピソードを盛り込んだつもりです。 11/18

    Big Sky
  • Big Sky :: 鳥Vimmerコンテスト

    Vimが無いと俺はコーディングも出来ないのかよ タイピングだけは一流のところをみせてやるぜ ネオコンプリートフラシュだぜ 信じらんねぇ 補完候補は見える、でもこれじゃだめなんだろ? Vimの補完実装は晴れ時々大荒れ いいね、いいUNIX臭さだよ vimrcを…vimrcを書き換えるんだ…! typoしてる・・・分かってる! うぅぅわあああああ!! ifとendifのネストがあってない!!うぅうわあああああああ!!! あああpatchラッシュがああああ!!うっっごけええええ!! ああー!ひどいっ! 直れ!直らんかああ!

    Big Sky :: 鳥Vimmerコンテスト
    dohq
    dohq 2011/12/25
  • Big Sky :: モテるvim女子力を磨くための4つの心得

    こんにちは、ホストクラブ「今夜もvim vim」でホストをしていますmattnです。私は補完も使わないしバッファセレクタも使いませんが、ネタプログラミングについてはプロフェッショナル。今回は、モテるvim女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 1. 「終了出来なーい」と言っておく あえてインサートモードのままにしておき、visualbellを鳴らす様に設定しておきましょう。 そして飲み会の場で好みの男がいたら話しかけ、わざとらしくvimを起動し「あ~ん! このテキストエディタマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「終了できない~!:wqってなにぃ~!ピーピーって音がなるだけ~!ぷんぷん(怒)」と言いましょう。 だいたいの男は自分の専門性をアピールしたがる習性があるので、横からESCキーを押しに

    Big Sky :: モテるvim女子力を磨くための4つの心得
  • 1

公式Twitter

  • @HatenaBookmark

    リリース、障害情報などのサービスのお知らせ

  • @hatebu

    最新の人気エントリーの配信