Subscribed unsubscribe Subscribe Subscribe

Railsでsubdomain指定時のcucumberテスト方法

routes.rbで以下の用に設定している時、 namespace :api, path: '', constraints: { subdomain: 'api' } do endfeatures/support/paths.rbに以下のように定義して。 def hosted_domain(options = {}) path = options[:path] || '/' subdomain = options[:sub…

RailsAdminで簡単管理画面作成

sferik/rails_admin · GitHubを利用します。Gemfileに追記 gem 'rails_admin'bundle installして $ rails g rails_admin:installconfig/initializers/rails_admin.rbを変更します RailsAdmin.config do |config| # Deviseを利用する時の設定 config.authenti…

rubocopでコードスタイルを整える

bbatsov/rubocop · GitHub $ gem install rubocop$ rubocop -R --auto-gen-config.rubocop_todo.ymlファイルが生成されます。.rubocop.ymlを作成して inherit_from: .rubocop_todo.ymlrubocop_todo.ymlから 少しずつ.rubocop.ymlへ移動して修正を加えていき…

Heroku Dyno SizeとUnicorn worker数の目安

Rubyアプリでのunicorn worker数の目安は次の通り。Dynoサイズ -> Unicorn worker数 1X -> 2-3 2X -> 4-6 PX -> 20-30New Relic等で1 worker当たりの仕様メモリ量を割り出しておき、環境変数WEB_CONCURRENCYを変更すればR14エラーが頻発しないようになります…

vimでRailsを素早く編集する

tpope/vim-rails · GitHub vim-railsはvimでrailsアプリを編集するときに便利な機能を提供してくれるプラグイン。概要だけメモ。 gf関連するファイルに自動で移動してくれる :Aと:Rで特定のファイルに移動できる(config/editor.jsonで編集可能) :ASでsplit…

werkerでHerokuにdeployするまでの設定

CircleCIでHerokuにdeployまでする設定

stagingブランチ、masterブランチそれぞれに変更があるとherokuに反映するようにします。やっていることは次の通り。 maintenanceモードをonにする workerを起動していない状態にする herokuにpush db変更を反映する maintenanceモードをoffにする circle.yml

Rubyでメモリ管理

Oinkを利用します。config/application.rb config.logger = Hodel3000CompliantLogger.new(STDOUT)config/initializers/oink.rb Rails.application.middleware.use(Oink::Middleware, logger: Hodel3000CompliantLogger.new(STDOUT))herokuの場合ログにprepe…

HerokuでCPUやMemoryなどのメトリクスを取得する

簡単2コマンド。 heroku labs:enable log-runtime-metrics heroku restartあとは、 heroku logsでログを確認すると source=web.1 dyno=heroku.2808254.d97d0ea7-cf3d-411b-b453-d2943a50b456 sample#load_avg_1m=2.46 sample#load_avg_5m=1.06 sample#load_a…

Herokuでのlogの表示方法

すべてのログを出力する heroku logsリアルタイムで表示する heroku logs --tail特定のDynoのみ表示する heroku logs --ps router heroku logs --ps web heroku logs --ps web.1特定のソースのみ表示する heroku logs --source app heroku logs --source her…

環境変数を削除する方法

exportで設定した環境変数は unsetで環境変数を削除できます。 export VARIABLE="Hello, World!" unset VARIABLE 参考リンク 逆引きシェルスクリプト/exportした環境変数を削除する方法 - Linuxと過ごす

GraphAPIで特定のpermissionsを与えたTest Userを作成する

Facebookアプリを作成している時に大変なことの1つがテストだと思います。 そのために、テストユーザーが必要なのですがそれがまた大変...Test Userを作成する2つの方法を紹介します。1. テストユーザーはアプリのページから作成可能 2. より細かい設定を行…

GraphAPIのError対応

Access Tokenの期限切れなどのエラーに関して。 Token Error https://developers.facebook.com/docs/facebook-login/access-tokens#errorsその他のエラーの概要。 Error Codes https://developers.facebook.com/docs/graph-api/using-graph-api/v2.1#errors

GraphAPI Permissionsを確認する

ユーザーが何の権限を許可してくれているのかを確認するためには user/permissionsを利用する。 GET /{user-id}/permissionsレスポンスは次のような形式。 { "data": [ { "permission": "public_profile", "status": "granted" }, { "permission": "publish_…

HerokuでNew Relicを利用する

1. addonの追加と環境変数の追加 $ heroku addons:add newrelic:stark $ heroku config:set NEW_RELIC_APP_NAME="アプリ名"2. Gemの追加 gem 'newrelic_rpm'追加後、bundle installします。3. 設定ファイルの追加 テンプレートが用意されているので、それを…

CircleCIでsshを利用する

CircleCIでログやらプロセスやらを見たい!という方はsshでアクセス出来ます。方法は、ビルド画面の右上辺りの'& enable ssh'ボタンをクリックします。すると、SSH Infoという項目が出てきてアクセス情報が表示されます。注意事項としては、sshkeyはGitHubで…

CircleCIでsudoが使えるようになったぞ

何が出来るようになったか大きく5つ! packageのインストール sudo apt-get update; sudo apt-get install gnu-smalltalkこれで、自由にcustom softwareを利用できる。 サービスの古いバージョンの利用 sudo apt-get update; apt-get remove cassandra; apt-…

Git の基本 - コミット履歴の閲覧

git

基本。 $ git log変更履歴も見る場合。 $ git log -p直近の2エントリだけ見る場合。 $ git log -2単語単位でdiffを見る場合。 $ git log --word-diff 参考リンク Git - コミット履歴の閲覧

特定Facebookアプリにおけるユーザーidを取得する

Facebookはuserのidをアプリ毎に発行しています。Graph API Explorerを利用して特定のアプリケーションでの自分のIDを取得する方法を説明します。1. Graph API Explorerを開きます。 https://developers.facebook.com/tools/explorer2. ユーザーIDを取得した…

Railsでredisを利用する

gem redis gem mock_redis基本は以上の二つのgemを利用すれば良いです。 redisの使い方はドキュメント参照。 Rspecのお供にmock_redis causes/mock_redis · GitHub redisドキュメント Redis 参考リンク Add Redis to Your Application : Developer Center Us…

GitHubがハロウィン仕様に!

GitHubのContribution Graphがハロウィン仕様になってます!僕のグラフはこんな感じになってます!以上。

herokuでrailsアプリをdeployするまで

rails project作成。 rails new myapp --database=postgresqldirectoryを移動。 cd myappwelcome controllerを生成。 rails generate controller welcomeapp/views/welcome/index.html.erb を編集。 <h2>Hello World</h2> <p> The time is now: <%= Time.now %> </p>config/r…

vimで複数windowを一度に閉じる

vim

window全て閉じる :qasaveして閉じる :wqa

RoRをPostgreSQLで使う

Macでhomebrewを使った方法を説明します。1. postgresqlのインストール 2. railsのインストール1. 古いpostgresqlが入っている場合は brew rm postgresql --forcepostgresqlをbrewでインストールします。 brew update brew install postgresql initdb /usr/l…

mixareでAR

メモ open source 参考リンク mixare | Free Open Source Augmented Reality EngineDisplayYourOwnData - mixare - Mixare is an open source Augmented Reality Engine for Android smartphones - Google Project Hosting

herokuでRedisGreenを利用する

RailsでRedisGreenを利用する方法。1. heroku addonを追加します。 $ heroku addons:add redisgreen2. Gemfileとconfig/initializers/redis.rbを編集します。Gemfile gem 'redis' gem 'hiredis'config/initializers/redis.rb if Rails.env.test? || Rails.en…

Twitter screen_nameからuser_idを調べる

調べる必要があったので、以下を参考にruby oneliner書いてみましたTwitterの数字IDとスクリーンネームの相互変換 - 酢飯をおかずにご飯を食べる。your_screen_nameはIDを調べたいtwitter名に置き換えてください。 ruby -r open-uri -r nokogiri -e 'puts /i…

RubyでUUIDを生成する

uuidtoolsというgemを利用します。 gem install uuidtools 参考リンク RubyでUUIDを生成する。 - このブログは証明できない。

github上のgemを利用する

public repositoryの場合Gemfile gem 'nokogiri', :github => 'tenderlove/nokogiri'railsのようにrepository nameとgithub user nameが同じ場合は gem 'rails', :github => 'rails'また以下のようにHTTP(S)、SSH、gitも利用できる。 gem 'nokogiri', :git =…

sqlファイルをmysqlへimportする

mysql -u username -p database_name < file.sql 参考リンク How to import a SQL file using the command line in MySQL? - Stack Overflow

解決:Can't connect to local mySQL server through socket /tmp/mysql.sock

MAMPをインストールしてて、mysqlコマンドを実行した際に Can't connect to local mySQL server through socket /tmp/mysql.sock と出た時は ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sockとしてシンボリックリンクを貼ってあげればおけ。…

Twitter APIの実行を確認する

1. Exploring the Twitter API | Twitter Developersへアクセス1.1 Authenticationをクリック 1.2 OAuth選択 1.3 twitter連携する 1.4 APIにRequestを投げるこれで、APIの実行結果を確認出来ます。 2. Twitter Application Managementへアクセス2.1 Create n…

merge commitをgit revertする

gitでmerge commitをrevertする方法。 git revert -m 1 [merge commitのSHA1]また、githubではブラウザからPRを取り消す事ができます。 該当のPRのページへアクセスします。 merged commitログの右に"Revert"ボタンがあるので、このボタンを押すとPRを取り消…

travisci privateでheroku deployまで

今回はrailsプロジェクトでテスト実行からdeployまでやってみましょう。1. まずテストが上手く動くか確認。postgreを利用するので以下のようにdatabase.yml.travisと.travis.ymlを用意します。.travis.yml language: ruby rvm: - 2.1.3 before_script: - psq…

Git Shellのエラーチェック

git

GIT_TRACE=1でgitが何をやっているのか出力できる。 $ GIT_TRACE=1 git pull origin masterGIT_CURL_VERBOSE=1で、curlをデバッグできる。 $ GIT_CURL_VERBOSE=1 git ls-remote https://github.com/git/git.git

久々にherokuにpushしようとしたら詰まった

heroku create後にpushすると以下のエラー。 $ git push heroku master Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 結果 結論から言…

カバレッジが一定値以下の場合テストを失敗にする

SimpleCovを利用している場合、minimum_coverageを設定すればおけ。 # 90%を下回るとfail SimpleCov.minimum_coverage 90また、maximum_coverage_dropで前回よりもカバレッジが落ちて良い許容量を設定可能。 # 以前と比較して5%より下がるとfail SimpleCov.m…

Rspecで特定行を含むテストのみ実行する

Rspecで変更部分のみテストを確認したい時は 以下のように行数を指定して実行すれば、その行を含むテストのみ実行されるので便利です。 # rspec spec/test_spec.rb:行数 $ rspec spec/test_spec.rb:70

vimでファイル移動時のショートカット

vim

:bp # 前のバッファに戻る. :bn # 次のバッファに進む. :ls # バッファリストの表示.

WEBrickでwgetテスト用サーバーを立てる

今、Rubyによるクローラー開発技法読んでます。wgetのテストのために以下のようにテスト用サーバーを用意します。webserver0.rb require 'webrick' class TestContentServlet < WEBrick::HTTPServlet::AbstractServlet def do_GET(req, res) res.body = get_…

curlでsolrにクエリを投げる

bitnamiでsolrを簡単に立ち上げることができるので、まずはそちらを見てもらって BitnamiでSolr - nafuruby’s diary BitnamiでSolr - nafuruby’s diarysolr立ち上げた後にterminalから試しにqueryを投げてみます。 $ curl --data-urlencode q=ふが -d wt=jso…

Permissions付与の仕方

開発しているFacebookアプリでPermissions申請前に、実装の確認をしたい時について。ここでは、自分にPermissionsを追加する方法を説明します。FacebookのGraph API Explorerを利用します。 https://developers.facebook.com/tools/explorerApplicationの項…

rbenv install -l のリストを更新する

`rbenv install`はruby-buildによって提供されてるので ruby-buildを更新します。 Homebrewを利用している場合 $ brew update $ brew upgrade ruby-build rbenv pluginを利用している場合 ~/.rbenv/plugins/ruby-buildが存在している場合です $ cd ~/.rbenv/…

GitHub活動報告

ここ数年はGitLabを利用していたのですが、 今年度からGitHub中心に活動しております。やっぱGitHub良いですね。 ほとんどprivateでの活動ですが、Contributionsグラフはこんな感じ。もっとpublicでも活動していきたいと思っている今日この頃でしたー

importしたserverの設定をbitnami上で管理する

importしたserverの設定からFirewallの項目へ行くと以下のメッセージが出る。1. serverを止める 2. backupを作成する 3. backupからserverを立ち上げるこれで、bitnamiでFirewallを設定できます。

BitnamiでSolr

bitnamiでsolr使えるようなのでさっそく用意してみたいと思います。https://bitnami.com/stack/solr/cloud/amazon で説明されてるように、AWS Marketplaceで提供されてるようなのでSee in AWS Marketplaceをクリックします。AWSのページに飛ばされるのでregi…

GitHub Student Developer Pack (bitnami編)

きちんと該当プランが適応されるか確かめました。 Bitnami websiteへ飛んで、認証を済ませます。 Billingの項目を見ると、 ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ 最高ですね。3インスタンスまで無料みたいです。 せっかくなので1台作ってみましょう。 Dashboard>Creat…

GitHubが学生向けに無料で開発ツール提供開始したのでさっそく登録してみた「GitHub Student Developer Pack 」

いつものようにGitHubを開くと ん?Free!? さっそくポチって、登録。 メアドを入力するだけで認証通りました。 条件としては、13歳以上の学生で 学校メアド 学生証 他の身分証明書 のいずれかを提出すれば良いみたい。 その後おめでとうメールが届くので、h…

Rubyの基礎 Hello, Ruby. 変数と定数 条件分岐と真偽値 式 クラス モジュール 主な組み込みクラス 様々な代入式 例外 外部ファイルの読み込み 予約語 組み込みの変数/定数 Hello, Ruby. メソッドの定義式 変数と定数 条件分岐と真偽値 式 クラス モジュール…

Rubyの概要 Rubyについて Rubyドキュメントの歩き方 Ruby処理系の入手方法 Rubyを使ってみよう Coding Style Rubyコミュニティ Rubyの開発 Rubyについて Rubyとは Rubyはスクリプト言語や動的プログラミング言語と分類されている。 シンプルな文法と動的な型…