会社で「make(chan error)ってしたら、何バイト分アロケートするんだろうね?」って話になったので調べました。
調べる
こんな感じのコードで調べました。
結果、8バイトという結果になりました。
なるほど〜〜〜〜〜〜
会社で「make(chan error)ってしたら、何バイト分アロケートするんだろうね?」って話になったので調べました。
こんな感じのコードで調べました。
結果、8バイトという結果になりました。
なるほど〜〜〜〜〜〜
AmazonにはAudibleと呼ばれるオーディオブックサービスがあり、以前見かけた時に気になっていたので今回どこまで使えるのか試してみました。
オーディオブックとは、書籍を朗読したコンテンツのことで、国内ではAudibleの他にFeBeやhontoなどの配信サービスが存在します。
スキマ時間を使って本を聴くことが出来、手が塞がる単純作業の合間を有効活用することが可能となります。
早速、Audibleの使用感についてなのですが、主に以下が挙げられます。
聴き始める前はあまり朗読の質に期待はしていなかったのですが、聴いてみると朗読家の皆さんのレベルが高く、
一部英語になっている箇所については別途外国の方が朗読していたり、特殊な形態の本(単語帳など)はそれぞれの特色に合わせてカスタマイズされていたりします。
また機能として、朗読スピードを0.75倍〜3倍まで調節することが出来ます。
ただ、人間が聴き取れる範囲は2倍が限界な感じがしていて、「2.5倍や3倍を聴き取れる人はいるのだろうか?」と思ったりしたのですが、一応そういったハイスピード朗読も存在します。
Audibleにある書籍のラインナップですが、これがなかなか豊富にあります。
特に小説は古いものから新しいものまで種々様々揃っている印象を受けました。
アニメ化もされた柳広司先生のジョーカー・ゲームがあったのですが、この本を渋い声で朗読されるとたまらないものがありました。
ちなみに、こちらは続編のダブル・ジョーカーや、パラダイス・ロスト、ラスト・ワルツもあります。
また、全体を眺めるとラノベや英語に関する書籍も豊富に存在します。
あとは、意外な所でアダルトカテゴリーが豊富です。
男性向け・女性向けともにコンテンツが用意しており、驚きました。
ただし、問題点として一部カテゴリーが機能していないという面もあります。
一例として、「科学・テクノロジー」というカテゴリーがあるのですが、あまり書籍数が無いように見受けられます。
書籍を探していてビックリしたのですが、一部の本では声優さんがナレーションしているものもあります。
数は決して多くはないのですが、釘宮 理恵さんや大塚 明夫さんなどの大御所もナレーションしているものもあります。
声優さんの聞き慣れた声で体験するオーディオブックは、また格別なものがありますのでファンの方は一ヶ月のお試し期間中に試してみるのもいいかもしれません。
このような感じの使用感になります。
書籍のラインナップに偏りがある感じがしますので、人によっては使えると言えるかもしれません。
英語学習者や、小説・ラノベ好きな方はAudibleがフィットする可能性は大のような気がします。
というわけで、以上ザッと試してみた感想でした。
GoでUnixドメインソケットを組んでいる時に、掲題が疑問だったので調べてみました。
最初このようなListenerのコードを書いていました。
単純に net.Listen
で /tmp/connection.sock
をlistenして、 listener.Accept
でコネクションを待ち受けているという非常に簡単なコードです。
で、このプログラムを普通に動かしてSIGINT Signal で割り込みすると、本来削除されるべきsocketファイルが存在したままとなり、再度プログラムを動かすとエラーとなります。
これをどうにかしたかったのですが、 listener.Accept
で待ち受けている状態で、どうやったら signal.Notify
で受け取ったシグナルを元にプログラムを終了させるのか、パッと考えつきませんでした。
インターネットをふらついていると、以下のようなコード片を発見しました。
golang unix domain socket · GitHub
このコード片の server.go
にお目当てのコードがありました。
どういうことかというと、メインのスレッドは listener.Accept
で待ち受けておいて、goroutineで作った新しいスレッドでSIGINT Signalをキャッチして、プログラムを終了させるという流れです。
goroutineのスレッド側でSignalをキャッチする、というのがちょっと思いつきませんでした。
OSSメンテしないとな〜と突然意欲が湧いてきたのでやりました。
vim pluginの検索機能をつけました。
こんな感じのやつです。
$ kirimori search Shougo Total: 52 Plugin Name Short Description shougo/unite.vim 🐉 Unite and create user interfaces shougo/vimproc.vim Interactive command execution in Vim. shougo/neocomplete.vim Next generation completion framework after neocomplcache shougo/neosnippet-snippets The standard snippets repository for neosnippet shougo/neomru.vim MRU plugin includes unite.vim/denite.nvim MRU sources shougo/neosnippet.vim neo-snippet plugin shougo/neocomplcache.vim Ultimate auto-completion system for Vim. shougo/vimshell.vim 🐚 Powerful shell implemented by vim. shougo/unite-outline outline source for unite.vim shougo/vimfiler.vim 📁 Powerful file explorer implemented by Vim script shougo/deoplete.nvim 🌠 Dark powered asynchronous completion framework for neovim/Vim8 shougo/neoyank.vim Saves yank history includes unite.vim history/yank source. shougo/neoinclude.vim Include completion framework for neocomplete/deoplete shougo/context_filetype.vim Context filetype library for Vim script shougo/unite-help help source for unite.vim shougo/vinarise Ultimate hex editing system with Vim shougo/vinarise.vim Ultimate hex editing system with Vim shougo/unite-session unite.vim session source shougo/junkfile.vim Create temporary file for memo, testing, ... shougo/echodoc Print documents in echo area.
他所様のAPIを叩いているため、上位20件しか表示されません。ご了承下さい。
細々とメンテしたいとは思ってます。
何か欲しい機能とかありましたらISSUEに書いて頂けるとありがたいです。
ふと思い立って、「Homebrewに自作ツールを登録してみよう!」とやってみました。
結論から言うと敗北です、ありがとうございました。
登録にはFormulaを作成する必要があるのですが、それ自体は簡単でした。
登録したいツールのURLを指定して create
$ brew create http://github.com/syossan27/kirimori
生成されたFormulaをよしなに変更して、
class Kirimori < Formula desc "Tool for managing vim plugin" homepage "https://github.com/syossan27/kirimori" url "https://github.com/syossan27/kirimori/archive/v0.0.2.tar.gz" sha256 "0d35dfaad86ac8a781f134cd8ed4884869a633881c249cae98ca24f4c00b2262" head "https://github.com/syossan27/kirimori.git" depends_on "dep" => :build depends_on "go" => :build def install ENV["GOPATH"] = buildpath (buildpath/"src/github.com/syossan27/kirimori").install buildpath.children cd "src/github.com/syossan27/kirimori" do system "dep", "ensure" system "go", "build", "-o", bin/"kirimori" prefix.install_metafiles end end test do system "#{bin}/kirimori", "--version" end end
一応、作ったものをテストして
$ brew audit kirimori --struct
PRを投げてみました。
PR投げたんですが、テストがfailで返ってくるのでなんじゃらほい?と調べてみると、以下のコマンドを実行して落ちていました。
$ brew audit kirimori --new-formula kirimori: * GitHub repository not notable enough (<20 forks, <20 watchers and <50 stars)
はい、原因は ツールの注目度が足りない
という理由でした。
homebrewにrepositoryを登録するには以下の条件を満たす必要があるみたいですね。
悲しいなぁ。
というかPRのテンプレート文言にそれを書いていて欲しかった。
というわけで敗北です。