GitHubから1ファイルだけ取得する方法

git

どうにかクローンできないかと調べてたけど GitHub API 使って curl 等から HTTP でダウンロードできた。 プログラムから GitHub リポジトリのファイルを読み込みたいときに便利。 準備 GitHub の OAuthToken が必要。 Personal access tokens のページから …

Rubyのmaxとmax_byの違い

使い方が異なる。 max メソッドは比較演算子 <=> の結果、つまり戻り値は -1, 0, 1 のいずれかを返す必要がある。 max_by は比較したい値を返すだけでよい。 gist.github.com ちなみに max も max_by も Enumerable で定義されているメソッドなので Hash に…

Go言語:自己文書化するためのテスト名

Google 社員で Go 言語のコミッターでもある @rakyll さんの 2017年2月3日のブログ記事『自己文書化するためのテスト名』が参考になった。ちょうどテストをしっかりと書くようになってきたところだったので非常にタイムリー。 SOURCE Naming tests to self-d…

クレジットカードでAXESからの謎の明細

AXES 0570-02-5525 0570025 という項目で 4,950 円。 プロバイダ料かなんかだと思って数ヶ月放置してたけど、オンライン英会話 ネイティブキャンプ の請求だった。iPhone 側で決済したと思いこんでて、あるとき AppStore 定期購読を…

C++糞コンパイルエラー集

c++

わかりにくいコンパイルエラーに悩まされて時間を無駄にすることがたびたびあり、6度目くらいでカッとなって記事にすることにした。順次追加していく。 Member reference base type 'User *const' is not a structure or union 以下は std::vector の中から…

MacにPlantUMLをいれる

クラス図やシーケンス図の UML を Markdown のようにテキストエディタで記述できる PlantUML の環境設定。 必要なもの 動作に必要なのは4つ。Java 環境とかここ2〜3年必要なかったし正直もういれたくないんだけど、このためだけにわざわざインストールする…

迷いがちな英語の変数・関数名まとめ

新しいプロジェクトはじめたり、新機能開発したりすると調べなおしたりすることが多いので順次追加していく。 類義語 お金・資源などが足りないとき insufficient [形容詞] メモリ不足 (insufficient memory) とか資源不足 (insufficient resource`) とか そ…

fishで環境変数といっしょにコマンド実行したいとき

FishShell ではイコール演算子を使って変数に設定という記法がない。 Ruby on Rails で RAILS_ENV=test bundle exec rake db:migrate みたいなことするとエラーになる。 $ RAILS_ENV=test bundle exec rake db:migrate:status Unsupported use of '='. To ru…

Vimの知見まとめとく

自分は vi 信者でもなければ emacs 信者でもない。どちらかというと IDE 至上主義者。 vim に関してはターミナル作業中にときどき使う。凝った設定は不要で、プラグインは使わないしカラーテーマもデフォルトで用意されてるものだけを使いたい。 無駄な設定…

2016年11月のPython環境構築

Python で開発するわけじゃないけど、Hubot を使ったりするときにサーバ操作のための自動化ツールとして Fabric をつかうことになることが度々あり pip が必要になったりする。 最近だと Google の人工知能ライブラリ TensorFlow を試すためにいれてる人も多…

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)でデスクトップアプリ

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発クリア。東京に戻り府中運…

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

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

驚異の読込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…