尋常でないもふもふ

a software engineer blog

zshは諦めてたけどfish shell導入したら捗った

エンジニア人生の中で zsh を導入しようと数回思いたったことはあるのだけれど、毎回初期設定のひどさを見るたびに辟易して bash でいいやと諦めていた。 コピペで機能追加できるとか言われても、自分の理解の範疇を超えてわけわからん状態になるのは耐え難…

ghqでGitHubのリポジトリ管理する

概要 ソースコードは Go 言語のエコシステム(?) $GOPATH 配下での一元管理と決められたディレクトリ構造をそのまま活用することにした。そのために便利な ghq を導入する。 GitHub - motemen/ghq: Remote repository management made easy ちなみにプログラ…

プライベートリポジトリをgo getする方法

自分のプライベートリポジトリをgo getすると以下のようなエラーが発生する。 $ go get github.com/jnst/my-private-repo # cd .; git clone https://github.com/jnst/my-private-repo /Users/jnst/go/src/github.com/jnst/my-private-repo Cloning into '/U…

Rubyでarray.each_index.injectしたときの括弧は配列展開

こういうやつ animals = { a1: { name: '犬', type: '哺乳類' }, a2: { name: '猫', type: '哺乳類' }, a3: { name: '蜥蜴', type: '爬虫類' } } mammals = animals.reduce([]) do |arr, (id, animal)| # <- ここの丸括弧 (animal[:type] == '哺乳類') ? (ar…

Macの環境構築自動化 2016年10月版

概要 Mac の環境構築するときに大半の時間を占めるインストール作業を半自動化する系の話。 Homebrew - Mac用パッケージ管理ツール Homebrew Cask - Homebrew を使ってソフトウェアを一括インストールするための拡張 Homebrew Bundle - 依存関係を Brewfile …

El Capitanでgolang 1.7.1の環境構築

インストール Homebrew からインストール $ brew update && brew install go 以前はクロスコンパイル用に -with-cc-all とか --cross-compile-all というオプションがあったけど今はないみたい $ brew info go go: stable 1.7.1 (bottled), HEAD (略) ==> …

Rubyでコードポイントから絵文字に変換

p "\u{1F604}" => "😄" p "\u{1F1EF}\u{1F1F5}" => "🇯🇵" p "\u{1F1EF 1F1F5}" => "🇯🇵" 絵文字のコードポイントは Wikipedia とかで見つかる。 Unicode6.0の携帯電話の絵文字の一覧 - Wikipedia Emoji unicode characters for use on the web

SNELL規格は危険?ARAIとSHOEI のヘルメット

概要 国内2大ヘルメットメーカーである ARAI と SHOEI はどちらが安全なのか。 バイクに乗る人なら興味ある話だと思いますが、どうもヘルメット業界というのは閉鎖的で、ネットに新しい情報が流れにくく消費者が十分な知識をもって購入できていないように感…

RubyMineでデバッグモードが動かなかった

概要 RubyMine はデバッグ実行すると自動的に必要となる ruby-debug-ide と debase をインストールしてくれるが、ファイル権限のエラーがでてしまいデバッグできない問題に遭遇した。 エラー内容 Error running service_test Failed to Install Gems. Follow…

Xcodeのファイルツリーでグループの並び順を変更する

Xcode のグループとフォルダの違い Xcode では黄色いフォルダアイコンが Xcode 独自の『グループ』であり、青いフォルダアイコンが Mac のディレクトリ構成と同一の『フォルダ』という扱い。 Xcode で新規にファイルを『グループ』へ追加した場合、ファイル…

レンタルバイクで初ツーリングしたときの失敗談

免許とってから1ヶ月半ほどバイク乗ってないので練習がてらレンタルバイクを借りてみた。 不安要素 公道を走ったことがない(致命的) 都内近郊の地名は把握してるが道路はまったくわからない(迷子確実) 事故ったときの弁償金額がこわい(マジこわい) 目…

プライム会員になったのでAmazonパントリー試してみた

Amazonパントリーは細かな商品をいくつも注文して、1つの大きなダンボール箱でまとめて配送してもらうプライム会員限定のサービス。 プライム会員になる予定はなかったんだけど、4月6日に送料無料がなくなり、でも 2,000 円以上で注文すれば問題ないよねっ…

エンジニアにおすすめのプロテイン

おいしさ基準のプロテイン紹介です。うんちくも語ります。 おっさんエンジニアの健康志向 まわりの30歳くらいのおっさんエンジニア達がジム通いはじめたり、ランニングはじめたり、ロードバイク買ったりしてませんか。「体力の衰え」とか「メタボ」とか「35…

Electron(Node.js)でデスクトップアプリ

Qiita を見ながらやったらコードが古くて動かなかったので書いとく。 下準備 $ mkdir electron-sample && cd electron-sample $ npm init インストール npm からインストールするけど、パッケージ名が electron だと古いバージョンになっちゃうので、electro…

Mac OS X El CapitanでRuby環境

rbenv のインストールと設定 $ brew install rbenv $ rbenv init ~/.bash_profile に以下を追記 eval "$(rbenv init -)" インストール可能な Ruby のバージョンを確認して最新をインストール $ rbenv install -l $ rbenv install 2.3.1 $ rbenv global 2.3.1…

30代半ばだけど、ばくおん!!みてバイク選び

前回の記事「30代半ばだけど、ばくおん!!みてバイクの合宿免許いってきた話」の続き。 一言にバイクと言っても、人それぞれ頭の中で想像するものが異なります。 バイクといったらアメリカン!という人もいれば、若いころの思い出いっぱい旧車こそが至高!と…

30代半ばだけど、ばくおん!!みてバイクの合宿免許いってきた話

アニメのばくおん!!を見たら意外におもしろかったからマンガ喫茶で原作コミック最新巻まで読んで気づいたら合宿免許のために東北新幹線に乗ってた。 結果 結果から書いておくと、9日間の合宿で教習代は総額91,800円。卒業検定は1発クリア。東京に戻り府中運…

自然対数を使った戦闘力のグループ化

なんかちょうどいい感じに分布される const _ = require('lodash'); // グループ化 const result = {}; let power = 0; _.times(600, function() { const group = Math.max(80, (Math.log(power) * 2 / Math.log(1.2)) | 0); if (result[group]) { result[gr…

驚異の読込1,800MB/sオーバー!Mid 2015のMacBook Proはモンスター級SSDを搭載

mac

2015年5月19日に発表された MacBook Pro(Retina, 15-inch, Mid 2015)は「感圧タッチトラックパッド」と「より速いフラッシュストレージ」という感じのごくごく控えめな説明文だったので「おっ、ようやく15インチも感圧パッドに対応したのかー」くらいの軽…

MacBook Pro移行時にしたこと

mac

最新の MacBook Pro に乗り換えたのでメモ。(2016-08-02更新) インストール Atom-1.0.0 → Atom-1.9.0 1Password-5.3.2 → 1Password-6.3.1 Alfred AppCleaner DropBox Google Chrome Google Chrome Canary Google Drive Google 日本語入力 Kindle for Mac P…

YoutubeチャンネルのRSS

YouTube Data API の v2 が 2015-04-20 に廃止になり、RSS の取得方法も変更になったらしく、ググってトップにでてくる記事は約に立たなかった。 チャンネルIDの確認方法 チャンネル検索してチャンネル登録する 左メニューの「登録チャンネル」のリンクを踏…

node_redisでscanコマンド

ググってもサンプルがでてこないので悩んだ。 node_redis では、個別にコマンドの実装があるわけではなく、send_command 関数を共通で使う実装 になっている。 公式ドキュメントの SCAN – Redis をみると SCAN cursor [MATCH pattern] [COUNT count] という…

Docker Machineをつかう

インストール Homebrew Cask で管理されてるので Cask 経由でインストールするのが楽。 https://github.com/caskroom/homebrew-cask/blob/master/Casks/docker-machine.rb $ brew install caskroom/cask/brew-cask $ brew cask info docker-machine docker-m…

LoLのReport使い分け

League of Legends の Report がいろいろあってわかりにくいと思うので日本語化 原文は Reporting a Player – Riot Games Support Report の種類 Harassment: Offensive Language チャットでのセクシャルハラスメント、人種差別 Harassment: Verbal Abuse チ…

nodebrewでio.jsをインストール

nodebrew が 2015-01-15 のコミットで io.js に対応してました。 すでに nodebrew をインストール済の人は selfupdate する必要があります。 $ nodebrew selfupdate $ nodebrew ls-remote (略) v0.10.32 v0.10.33 v0.10.34 v0.10.35 v0.11.0 v0.11.1 v0.11…

AWS CLIの使い方

aws

AWS CLI(AWS Command Line Interface)の使い方。 インストール $ brew install awscli $ aws --version aws-cli/1.6.5 Python/2.7.5 Darwin/13.4.0 セットアップ configure オプションが用意されているので、アクセスキーやシークレットキー、リージョンと…

Macですぐにpecoを使う

mac

Homebrew で簡単にインストールできます。go とかいらない。 $ brew tap peco/peco $ brew install peco $ peco --version peco: v0.2.11

MacでDynamoDB Localを試す

インストール brew からインストールできます。 $ brew install dynamodb-local データとログディレクトリ 下記ディレクトリに保存されます。 Data: /usr/local/var/data/dynamodb-local Logs: /usr/local/var/log/dynamodb-local.log 起動 実行ファイルは /…

2分でわかるTerraform

AWS のようなクラウドサービスによってインフラ構築がとても手軽に行えるようになりました。手動でインスタンスを起動して、サーバ設定を行い、Web サービスをインターネットに公開します。 では、手動で行った構築手順はどのように残していますか?どのよう…

Jenkinsのログインシェルを変更する

Jenkins をインストールすると jenkins ユーザーが作成されるが、su コマンドを使っても jenkins ユーザーには切り替えできない。 これはデフォルトのログインシェルが /bin/false に設定されているから。 # cat /etc/passwd | grep jenkins jenkins:x:498:4…