Humanity

Edit the world by your favorite way

GitHub の organization アカウントのリポジトリを AppVeyor に追加する

Go のコマンドラインアプリの AppVeyor 対応したので雑なログ。 ここを参考にした。 Organization 用の AppVeyor アカウントを Sign Up から作る 自分のメインの AppVeyor アカウントを Administrator role で Collaborator として追加する Collaborator を…

Go のオプション引数で -v -v -v みたいに複数指定する方法

Go

mattn さんに教えてもらった。 いつもお世話になってて感謝しかない。 Go の flag パッケージで複数オプションをパースするにはどうしたらいいんだろ。-d dir1 -d dir2 で [dir1, dir2] の配列が取れるとうれしい— tyru (@_tyru_) 2017年8月22日 スライスに…

Windows Subsystem for Linux で便利な alias (clip)

WSL

alias clip=/mnt/c/Windows/System32/clip.exe echo Hello | clip とかしてクリップボードにコピーできて便利。

godoc.org と github.com のリポジトリを切り替えるブックマークレット作った

Go

godoc . org と github . com のリポジトリを切り替える雑なブックマークレット作ったhttps://t.co/VwKlEeWUqW— tyru (@_tyru_) 2017年9月17日 gist.github.com 以上です。

:terminal コマンドが使える Windows 版 Vim の配布状況 (2017/09/15 時点)

Vim

tyru.hatenablog.com この記事を書いた後 Windows でも :terminal コマンドが使える Vim が配布されるようになったのでその配布状況をメモしておく。 Vim バイナリの配布 URL 一覧 まず初めに Vim のバイナリへのリンク集を vim-jp では提供しているので貼っ…

Go の net/http で Vue.js / Angular 1 などの HTML5 history mode に対応する

Go

type html5Handler struct { fs http.FileSystem routes []staticRoute } // Look up path when Vue.js HTML5 history mode is enabled // https://router.vuejs.org/ja/essentials/history-mode.html func enableHTML5Mode(fs http.FileSystem, routes []st…

open-browser.vim で Windows Subsystem for Linux 上の Vim から URL 開けるようになった

Vim

github.com これで WSL 上であろうとなかろうと意識せず URL を開けるはずです。 最近は WSL の Vim ばっかり使ってるので個人的にうれしい機能追加です(追加したの自分だけど)。 WSL は Windows の世界と分断されてると思い込んでたのですが、 /mnt で Wi…

Go のバージョンマネージャー gvm で gvm install したら「ERROR: Failed to compile」って言われた時

Go

github.com issue には上げたけど日本語でも書く。 結果から言うと自分が README.md よく読んでなかっただけ。 でも gvm ももうちょっと気を利かせてくれてもいいのになーと思ったので上の issue でお願いしたという経緯です。 解決法 Go 1.5 以上をコンパイ…

Go 言語の習作に watchevent ってファイルシステム監視するやつ作った

Go

習作って言っても以前 Go 触ってたことはありましたが、 そのツールを作ったこと自体忘れてたぐらい記憶が抜け落ちていたので、改めて Go に再入門しました。 作ったもの 使い方は README.md 読んでください(まだ不十分だと思いますが、分からない点は issu…

Go 言語の range は2番目の返り値に同じ参照を返す場合がある

Go

言葉で説明するのだるいので次のコードを見てください。 package main import ( "fmt" ) func main() { array := []int{1, 2, 3} // これだと &a が同じアドレスになってしまうことがある // (range は array[i] のコピーを返す) for i, a := range array { …

Subsonic に不満があったので OSS 版の Libresonic をインストールしてみた

ずっと Subsonic というストリーミングサーバーを使っていた。 1ドル /月 払えば Android アプリでも接続できるようになる。 概ね満足だったんだけどそれでもいくつか不満があった。 (flac ファイル特有の現象なのかは分からないが)flac ファイルを再生す…

Vim の :terminal がもたらすもの

Vim

追記 本記事を書いた後いろいろ状況が変わって :terminal コマンドが使える Vim が配布されるようになったので、 とりあえず現時点(2017/09/15)での状況を書きました。 tyru.hatenablog.com 序文 今絶賛開発中の Vim の :terminal コマンドについて書こう…

最近知った top コマンド tips

今更すぎるけど便利だったので。 top で起動した後に M でメモリ使用量が多い順にソートできる。 P で CPU 使用率。 そしてさらにデフォルトではプログラムの引数は表示されていないが、c と打つと表示できる。 例えば KVM 上で動かしている VM のプロセスを…

Gitlab 付属の Prometheus exporter を外部に公開する

Gitlab にはデフォルトで Prometheus と node_exporter がパッケージに付属されている。 ただ有効にはなっておらず、かつ単に有効にしただけでは localhost からの HTTP アクセスしか通さない(理由は以下の issue の通りセキュリティのためとのこと)。 git…

Rundeck ジョブの実行ノード一覧を Consul から取得する

長い前置き 最近 Consul, Prometheus などを試す記事が続いてますが、 なぜかというと、私はサーバ監視などに Hinemos を使っており、いい加減別のシステムに移行したい欲が強まってきたからです。 tyru.hatenablog.com Hinemos はオールインワンのため、ジ…

MSYS2 から Bash on Windows + Cmder に移って、その後 Bash on Windows + wsltty に変えた

Bash on Windows が beta 外れたから MSYS2 から BoW + Cmder な環境に移った。 移ってたんだけど、コピペが Ctrl-C, Ctrl-V とかありえないショートカットキーだったり、 まぁそれは変えればいいんだけど、そもそも重いしウインドウをリサイズすると画面真…

Consul を Prometheus と連携させてみる

前回まで Prometheus による監視や、Alertmanager によるアラート通知などを書いてきた。 tyru.hatenablog.com tyru.hatenablog.com ただ設定ファイルを見ると分かる通り、監視対象のノードが増える度に手動で設定ファイルに追記していくのはとても面倒。自…

Prometheus の Alertmanager(と Postfix)でメール通知

前回 Prometheus server と node_exporter を同じノード上にインストールしてグラフが取れてることを確認したりしました。 なので今度はメール通知をやってみようと思う。 メール通知するためには Alertmanager というアラートを出す専用のやつをインストー…

CentOS 7 に Prometheus 入れる

VM 作成 ※Prometheus に興味のある人はここは飛ばして構いません。自分用の記録みたいなものです。 まず検証用に KVM の VM を作る。 最初 virt-manager を RLogin + Xming で立ち上げようと思ったらうまく Xming に接続してくれなくて開けなかった。 ここで…

Bash on Windows のショートカット実行で .bash_profile を読み込ませたい

WSL

ショートカットはこれ。 自分の場合 C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Bash on Ubuntu on Windows.lnk にインストールされてた。 結論としては ~/.profile に -f ~/.bashrc && . ~/.bashrc を書いて BoW のショート…

ロードバイクで家から職場まで片道 17km ほど走った

多分二回目ぐらい(前回もうほとんど忘れてるけど)。 距離はそんなでもないんですが、得られるものが多々ありました。 ロードバイクに乗るとどうしても時間差で吐き気がするほどの頭痛に襲われて休むほかなくなる状態になってしまっていましたが、 目的地に…

ふとテキストを HTML エスケープしたい時に使えるブックマークレット

いつも必要になった時にこんな感じのコードを DevTools のコンソール上で実行してるので雑にブックマークレット化してみた。 ダイアログが出るのでそれにテキストを入力すると alert() でエスケープしたテキストを表示するので手動コピーする。 javascript:(…

SVG の <circle> を <path> で描く

ふと仕事で SVG の <circle> タグの代わりに <path> を使って円を描く必要があったので調べたところ、色んな書き方 (描き方) があるらしいことが分かった。 自分が見つけたのは 2本の円弧で描画 4本の3次ベジェ曲線で描画 8本の2次ベジェ曲線で描画 の3通り。1番目が簡単な</path></circle>…

Vim script に ECMAScript の Observable がほしい

タイトルは前記事からの流用。 最近 Vim script で Java 8 の Stream API を実装する、ということをしている。 tyru.hatenablog.com github.com Vim 8 でも lambda が入ったので、メソッドチェインでどんどん処理を繋げるスタイルの書き方ができると嬉しいと…

Vim script に Java 8 の Stream API がほしい

Vim

ので作ってる。この記事も PR も絶賛更新中。 github.com 一言で言うと underscore.vim + Data.LazyList 的なものがほしかった。 Twitter でぼやいた時の会話。 vital.vim の Data.List って、名前からだと https://t.co/423dfKhtl4([1,2,3,4,5]).filter({x …

煩悩 退散 方法

何が思考を妨げているか、という質問を自分に投げかける。 するとそれが浮かび上がってくるので、それを無視する。 しばらくすると頭の中が静かになる。

Windows での最速 Node.js 環境構築

Windows での Node 環境のセットアップが楽になってるな。npm install -g windows-build-tools だけで済むようになってる。もう手動で Python とかインストールしなくていいのか。 https://t.co/r9KDFUp23Z— tyru (@_tyru_) 2017年3月12日 というわけで Wind…

Promise の処理の流れ

メモ。Twitter に書いたことをそのまんま引用。 https://t.co/O2yTz3ZHGW then() の引数に null 指定したらスキップされるのか。知らんかった— tyru (@_tyru_) 2017年2月15日 @_tyru_ Promise chain のどっかで エラーが起こるか reject された時の処理って…

Express で書いてるコードを TypeScript 化した時に対処したこと

tyru.hatenablog.com の続き。 今度は express-generator で自動生成されたバックエンドのコードを TypeScript 化してみる。 tsconfig.json に “allowJs”: true を指定する express-generator のコードは bin/www から app.js を require() する形になってい…

TypeScript 入門 + Express 再入門した

モチベーション 以下の記事を見て作りたくなったからです(ありがとうございます)。 TypeScript 入門するのは 私的TypeScriptとの関わり方ガイドライン - 角待ちは対空 を見たから。 Express 再入門するのは Express入門 - ぺーぺーSEのブログ を見たから。…