タグ

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

  • Big Sky :: Go に Fuzz testing が入った。

    みなさん Fuzz testing ってご存じでしょうか。 人間が作る物は必ずといっていいほどバグが存在します。そしてそのコードをテストする人間も必ずバグを見逃します。 想定していなかった境界値テスト等、人間には先入観という物があり、それが邪魔をして簡単にバグを見逃します。昨今、この様な誰も気付かなかったバグの隙間を突く様な脆弱性が沢山見つかっています。 物によっては重大インシデントに発展する物まであります。 こういった人間では想定できない様なバグを見付けてくれるのが Fuzz testing です。Fuzz testing を実施する事で、ソフトウェアは頑丈になり安全にもなりえます。 日、Go の master ブランチに Fuzz testing の機能が入りました。 [dev.fuzz] Merge remote-tracking branch 'origin/dev.fuzz'

    Big Sky :: Go に Fuzz testing が入った。
    m4ilnds
    m4ilnds 2021/09/21
  • Big Sky :: Vim をモダンな IDE に変える LSP の設定

    Go 言語の IDE 機能を得る為に何か知る必要はありません。Java の IDE 機能を得る為に何か知る必要はありません。HTML の IDE 機能をインストールする為に npm コマンドの使い方を覚えたり、LaTeX の IDE 機能をインストールする為に、配置場所を考える必要もありません。もしインストールを実行しても動かなかったら、それは vim-lsp-settings のバグです。 以前まででれば vim-lsp を導入すると Language Server の登録が必要でした。 if executable('gopls') au User lsp_setup call lsp#register_server({ \ 'name': 'gopls', \ 'cmd': {server_info->['gopls']}, \ 'whitelist': ['go'], \ }) au

    Big Sky :: Vim をモダンな IDE に変える LSP の設定
    m4ilnds
    m4ilnds 2019/12/31
  • Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版

    はじめに 以下の記事では、僕の Vim の構成について記述しています。来はこの記事で vim-lsp の導入方法と私的 Go 編集環境について書こうと思っていましたが、あまりにも長くなってしまったので別途書く事にしました。僕は WindowsLinux しか使わないので、皆さんの環境で使うとうまく動かない可能性があります。また僕は最新の Vim 8 しか使いません。古めの Vim を使いません。neovim も使いません。それらをお使いの方はうまく動かない可能性があります。ご了承下さい。なお設定ファイルの配置スタイルは完全に僕個人の趣味ですので必ずしも僕の構成が正しい訳ではありません。 ぼくのかんがえたさいきょうの Vim こうせい Vim の設定は vimrc に記述するのですが、その設定方法には「汚くさせない」ための工夫が必要だと思っています。以下は僕が行っている「vimrc

    Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版
    m4ilnds
    m4ilnds 2019/12/31
  • Big Sky :: 書評「Go言語による並行処理」

    O'Reilly Japan, Inc. 様に献頂きました。ありがとうございます。 そして献頂く際にお声を掛けて頂いた、書の翻訳を担当された ymotongpoo さんにもお礼を申し上げます。ありがとうございます。 書の訳は非常に素晴らしく、とても原文が英文であったとは思えないほど綺麗で、読んでいく中で「原文でどの様に表現されているんだろう」といった引っかかりも無く、とてもスムーズに読み進められました。 Go 言語に関わって随分と長くなってきました。初めて Go を知ってからユーザがどんどん増える様を見る事が出来るのは正直に言って非常に嬉しいです。 ふと Go の魅力は何かと聞かれたら幾つか挙げる事が出来ますが、間違いなく選ぶのが「非同期処理の簡単さ」です。これまで多くの開発者が OS スレッドで実現してきた非同期処理を、Go 言語は少ないイディオムとインテリジェントなランタイムを

    Big Sky :: 書評「Go言語による並行処理」
    m4ilnds
    m4ilnds 2018/10/22
  • Big Sky :: コマンドラインアプリで OAuth2 認証を使う際に使えるテクニック

    OAuth2 でレスポンスタイプがコードもしくはトークンの場合、ブラウザで認証を行ってコードやトークンを自前サーバで受け取る事になる。モバイルアプリだと組み込みブラウザが前提になっておりリダイレクトの最終 URL からアクセスコードやトークンを得る。ただコマンドラインアプリの場合、認証の為に起動したブラウザの最終 URL を得る方法はない。また1コマンドラインアプリケーションの為にドメイン付きのコールバックサーバを用意するのも面倒だし、作ったサーバをユーザに信用して貰う必要がある。あとそもそも外部のサーバで受け取ったトークンをどうやってコマンドラインアプリに渡すかという問題がある。 そこで使うのがローカルサーバを立てる方法。認証後のコールバック先をコマンドラインアプリから起動したローカルサーバにし、そこにリダイレクトさせてアクセストークンを貰い保存する。 今日はこれが伝わり易い用に Mic

    Big Sky :: コマンドラインアプリで OAuth2 認証を使う際に使えるテクニック
  • Big Sky :: html をコマンドラインからパースするなら pup が便利

    2014年でも html を解析してゴニョゴニョするなんて要件はまだまだある訳で、そんな時に便利なのが pup というコマンドです。 EricChiang/pup - GitHub README.md pup pup is a command line tool for processing HTML. It reads from stdin, prints to stdout,... https://github.com/EricChiang/pup 通常、こういったツールは perlrubypython 等で提供されランタイムがインストールされていない環境で動かすのはちょっとした手間が発生していました。しかし pup ならば golang で出来ているのでバイナリ1つあれば動かせます。 使い方は、例えばこのサイトのパーマリンクのHTMLを得たいならば curl -s http:

    Big Sky :: html をコマンドラインからパースするなら pup が便利
  • Big Sky :: Vimを使ったGo言語開発手法

    先日、Go言語バージョン1.1がリリースされました。安定しているのは勿論、幾つか新機能が追加されましたが、何よりもパフォーマンスチューニングが施された一番嬉しいですね。 Go 1.1 performance improvements | Dave Cheney This is the first in a series of articles analysing the performance improvements in the Go 1.1 relea... http://dave.cheney.net/2013/05/21/go-11-performance-improvements さて今日はVimを使ってGo言語を開発する方法を紹介したいと思います。 VimGo言語を開発するには、Go言語のリポジトリに含まれる misc/vim にランタイムパスを追加します。以下を vimr

    Big Sky :: Vimを使ったGo言語開発手法
    m4ilnds
    m4ilnds 2013/05/31
  • Big Sky :: モテる Vim 使いに読み書き出来ないファイルなどなかったんだよ!

    Vim Advent Calendar 2012 の 4 日目の記事です。 「やった!コンプガチャで Vim 出た!」 「だって前の彼氏、Vim 使いじゃなかったんだもん」「マクドナルド店員「ご一緒に Vim など如何ですか?」」 こんな言葉が聞かれる様になって随分と経ちました(要出典)。 昨今、Vim はテキストエディタの枠を超え、アプリケーションプラットフォームへと変わりつつあります。 vital.vim 等を使う事で簡単にアプリケーションを作る事も出来る様になりました。手前味噌ではありますが webapi-vim の一部も vital.vim に取り込まれています。 このブログでも結構取り上げていますが webapi-vim とは一体何か。名前の通り、Web Application Programming Intreface を扱えるライブラリです。 webapi-vim とは we

    Big Sky :: モテる Vim 使いに読み書き出来ないファイルなどなかったんだよ!
  • 1