2016-01-01から1ヶ月間の記事一覧
タイトルの通り、CSS のカバレッジを計測するツールを作りました。 github.com これは何? css に書かれたスタイルが html の中でどのくらい使われているのか計測できるツールです。 使用頻度の多いスタイルを調べる(影響範囲が大きいので気をつける) 未使…
Rails で Web 上から SSH 鍵を生成したくなったけど、方法がなかなか見つからなかったから書いておく。備忘録。 コード Gemfile に gem 'net-ssh' を追加して、↓みたいなモデルを作ればうまくできた。 class SslKey < ActiveRecord::Base belongs_to :user v…
2日前にマージされていたので、紹介します。 github.com 概要 typealias キーワードは今のところ2種類の型の宣言に使われています: タイプエイリアス (既存の型の別名) 付属型 (プロトコルの一部として使われる型のプレースホルダー) これらの2つの宣言は異…
Swift と英語の勉強の一環として、 apple/swift-evolution の 2.2 を少し読んでみた。 英語苦手なんで、時間がとてもかかるよ・・・。 翻訳したファイル(途中) 外部引数名として(大部分の)キーワードを許容する https://github.com/sinsoku/swift-evolution/…
Heroku で mperham/sidekiq を使おうと思ったら、 Error fetching job: ERR max number of clients reached が大量に出るようになってしまいました。 ログがいっぱいになり、Sidekiq.❨╯°□°❩╯︵┻━┻ したくなった。 エラーの原因 今回、 Heroku Redis の hobby…
GitHub で fork したリポジトリで作業して、 fork 元に Pull Request を出すようなワークフローを使っている人向け。 特にお仕事とかで複数人で Pull Request を使うときに便利。 コード 下記のファイルを PATH の通った場所に置いて、作業ディレクトリで実…
備忘録。 参考ページ rcmdnk.github.io コード 例えば、先日のブログに書いた「Pull Request を簡単にチェックアウトするコマンド」をエイリアスにするとこんな感じ。 [alias] ft-pr = "!f(){ git fetch origin pull/$1/head:pr_$1;};f"
後から地味に困りそうなので、備忘録として書いておく。 状況 こんな感じで、 Title が適当な鍵に遭遇したときの対応方法です。 方法1: GitHub API を使う Deploy Keys | GitHub Developer Guide GitHub の API を使えば、登録されている Deploy key の一覧…
Rails では Resource Routing: the Rails Default とあり、基本的には resources もしくは resource を使います。 では、 get や match はどういう時に使うのか? について、私が使ってる例を3つ紹介します。 1. gem などで使う場合 intridea/omniauth のよ…
1/9(土)〜11(月)で開発合宿に参加していました。 mokumoku-onsen.connpass.com そこで oauth_adapter という gem を作ったので紹介します。 注意点 GitHub のドキュメント、テストがまだ全くないです。ある程度の動作確認はしていますが、もし変な挙動があれ…
1/9(土)〜11(月)で開発合宿に参加してました。 mokumoku-onsen.connpass.com 作ったもの Swift の勉強のため、 OAuth 認証の Web API を使う iOSアプリを作りました。 スクリーンショット 最初のページ OAuth 認証のあと コード コードは GitHub に置いてあ…
最近、Swift を勉強していて、ライブラリを使いたくなったので CocoaPods を使ってみました。 最初に解決方法を書いておく 0.39.0 じゃなくて、 1.0.0.beta.2 を使いましょう。 $ gem install cocoapods -v 1.0.0.beta.2 cocoapods のインストール 公式ペー…
Rails で RESTful な Web API を作る場合、色々な方法があると思います。 今回、私が API を作るときによくやっている設計をブログに書いてみます。 コード 説明するより、コードを見てもらった方が早いと思うので、コードを書く。 # config/routes.rb names…
最近、 colszowka/simplecov のバグを踏みました。 こうやって 不運にもバグを踏んでしまった 運よくOSSに貢献できるチャンスを得てしまったときの原因調査の方法などを紹介します。 今回のバグ simplecov はカバレッジ率を計測するgemで、以前から便利に使…
タイトルの通り、 &. を使うとエラーが出てたので対応方法を紹介します。 Inspecting 1 file E Offenses: app/models/user.rb:11:21: E: unexpected token tDOT user.piyo if user&.admin? ^ 1 file inspected, 1 offense detected 対応 1 bbatsov/rubocop …
コード内で長い年月熟成されたTODOに頭を抱えているRailsエンジニアの方々、お疲れ様です。 これ以上のTODOが生まれないように、CIで検知するためのコード書いたので、参考にどうぞ。 参考 rails/source_annotation_extractor.rb at master · rails/rails ht…
みんな知ってるものだと思ったけど、あまり周りで知ってる人がいなかったのでブログに書いた。 こういう釣りタイトルっぽいブログ、一度書いてみたかった。 参考 Checking out pull requests locally - User Documentation 参考というか、そのままだけど。 …
ActiveRecord::Callbacks は便利なのですが、テストでモデルを作るたびにメール送信の処理が動いたり、別モデルが生成されると困る。 このあたりをthoughtbot/factory_girlを使って綺麗に書く方法を紹介します。 コード FactoryGirl.define do factory :user…
小ネタ。 Rakefile if Rails.env.development? require 'rubocop/rake_task' RuboCop::RakeTask.new task(:default).clear task default: [:rubocop, :spec] end rspec/rspec-railsによって、defaultが指定されているので一度削除してから再設定してます。 …
intridea/omniauth はFacebook, Twitter, GitHub, など色々なストラテジに対応しています。 List of Strategies を見ると、とても多いのが分かると思います。 OmniAuth.strategies 自分のアプリで対応しているストラテジ*1の一覧は OmniAuth.strategies で取…
plataformatec/devise と intridea/omniauth を使って、Twitterでも、Facebookでも、GitHubでもログインできるような機能を作る方法を書いておく。 最初に devise には Omniauthable という「これ使えば簡単に実装できるよ!」って雰囲気のmoduleがいます。 …
年末年始でちょっとSwiftを勉強してみたので、やったことをまとめてみた。 読んだ本 詳細! Swift 2 iPhoneアプリ開発 入門ノート Swift 2 + Xcode 7対応作者: 大重美幸出版社/メーカー: ソーテック社発売日: 2015/11/14メディア: 単行本この商品を含むブログ…
気づいたら2015年が終わって、2016年が始まっていました。 元旦に とても暇なので なんとか時間を作れたので、今年の抱負をブログに書いておいて、意識高い1年になるように頑張りたい。 2016年にやりたいこと 新しい言語を覚える アウトプットを頑張る 今年…