まっしろけっけ

めもてきなやーつ

gemのwheneverを導入してみた

wheneverとは? javan/whenever · GitHub 簡単に説明するとRubyのコードでcrontabの管理が出来るライブラリです。 導入以前 whenever導入前はbatchを実行するserverに入って「crontab -e」とかで編集する crontabメンテナンスおじさんが存在していた。 問題…

Ruby2.2.0のインストールがlibffi.a: could not read symbols: Bad valueで失敗した件

Ruby 2.2.0 Released素晴らしいクリスマスプレゼント!! twitter見ている感じだと開発者の皆さんは大変だったようでお疲れ様でした+ありがとうございます。 Let's Install install Rubyのversion管理はrbenv使ってます。rbenvでrubyのversion管理をするよ -…

初心者は役立つかもしれないRuby(Rails)のmethod名に「?」がつくmethodのまとめ

まとめようと思った経緯 題名の通りRuby(Rails)にはmethod名に「?」がつくmethodが多く存在します。 「空文字の場合はtrue/falseどっち返すんだっけ?」ってなってconsole等で確認することが良くあるので、 (自分が)よく使うものを一覧でまとめておいてみる …

PHP書いてたけどRuby書くことになって1年間でやったことてきな

久しぶりに雑談っぽい記事 よくあるようなタイトルでブログを書いてみる(実は4ヶ月前から下書きとして放置温めていた訳では・・・) Rubyをお仕事で使い始めて(ほぼ未経験の状態から)1年以上(1年4ヶ月くらい)たったので Rubyを使い始めて1年でやったこととか…

Fluentd + Elasticsearch +Kibanaを導入したので手順をメモ

導入経緯 「serverのログ見るときに複数のserverにsshで入って見るのとかつらめ」 という理由からリアルタイムで集められたら幸せになれるのではと考え、 fluentdを使ってみようとい結論に至った訳です。 なぜfluentdにしたのか 他にもflume(良く知らない)と…

ActiveRecordでデータを更新後に任意のカラムのデータが更新されたかを知る方法

ActiveRecordで更新後に更新前の値を取得する - まっしろけっけ ActiveRecordで更新後に更新前の値を取得する - まっしろけっけ以前上記のブログで紹介した内容なのですが、 カラムのデータが更新される前の値が知りたいのではなく、 カラムが更新されたかを…

sidekiqを2から3にupgradeしたときにしたこと

最近rails applicationで使用しているsidekiqを2から3にupgradeしたのでその際にやったことをメモ Gemfile更新 まずGemfileを変更します。 Capistranoでのdeployを行っているのでcapistrano-sidekiqも追加します。 ※version指定はそれぞれの方針で行ってくだ…

Genymotionでunable to connect to your virtual deviceというエラーで起動しない時の対処

Genymotionは高速なAndroidのエミュレータのことです。 今回は起動時に「unable to connect to your virtual device!・・・」というエラーが発生したので インストールから解決方法までをメモしていきます。 インストール方法 Genymotionこちらからダウンロ…

Rails3から4へUpgradeしたお話

今回はお仕事で開発をしているweb applicationで使用しているRuby on Railsのversionを 3.2から4.1へUpgradeしたお話です。 その際の進め方や遭遇した問題をメモてきにまとめておきます。 Rails3のコードをRails4のコードにconvertする 今回はRubyKaigiでお…

nagareboshiっていうgemをつくったよ

nagareboshiというgemを作成して公開したのでお知らせてきな なにをする為のものか googleのpubsubhubbubを使う為のもの pubsubhubbub is 何? こことかに詳細は書いてありますが、 作成したwebページをgoogleにインデックスさせるには今までsitemap.xmlにUR…

gemのredis-sentinelを導入してみた

今回はRedis Sentinelの構築ではなくこちらのgemの導入に関してです。 Redis sentinelの詳しい説明に関してはこちらのドキュメントを確認ください。 ※今後Redis Sentinelのセットアップ等も書くかも Redis Sentinelとは 簡単に説明するとレプリ構成のredisに…

rubyのversion upをした時の作業内容メモ

rubyを2.0系から2.1系に変更したときのメモ 2.1での変更点確認 とりあえず2.0系から2.1系での変更点を把握しないといけないので こちらで確認してみる。 「Ruby 2.1 では深刻な非互換もなく、速度の向上を含めた多くの改善が行われています。」ってあるので…

はじめてのjenkins

といことで何かと便利なjenkinsを使ってみる インストールから起動まで vagrant と virtual boxを使用しvm上に構築していきます。 リポジトリの追加 $ vagrant ssh $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.…

androidで動的にresource idを取得する

あれがあれなので ブログでも書いて様子見下記のコードでR.id.testのresource idが取得出来ます。 getResources().getIdentifier("test", "id", getActivity().getPackageName()); 短いけど今回はこれで終わりー

社内のハッカソンに参加した感想っぽいやつ

初めての雑談というかそんな感じの記事になります。 社内の2泊3日の日程のハッカソンに参加し来ました。 概要 全4コース各コース10人(自分はandroid アプリのコースでした) 各コース参加者は業務で使用している技術以外のコースを選択 ハッカソン1ヶ月前…

ActiveRecordで更新後に更新前の値を取得する

特定のカラムの値が変更された場合のみに 実行したい処理がある場合等に便利です。 class User < ActiveRecord::Base attr_accessible :name, :sex, :birthday def change_name # 何かしらの処理 end end このようなmodelがあり、 下記のコードのような処理…

androidでのHTTP通信でNetworkOnMainThreadExceptionにはまった件

ちょっと前にはまったやーつ ※今回は接続状態の確認等は省きます AndroidManifestを更新 + <uses-permission android:name="android.permission.INTERNET" /> HTTP通信の処理を作成 MainActivityを編集 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.</uses-permission>…

Android SDK Toolsをupdateしたら既存のプロジェクトがエラーに

Android SDK Toolsのupdateがあったのでupdateしてみたら 既存のプロジェクトがエラーになったりで困った。ADTをupdateしてみてって言われた。 updateがないか確認してみる Help > Check for Updates「No Updates were found.」 更新が見つからないって言わ…

はじめてのandroid

最近androidをやっているので 環境設定からハロワアプリまでをメモてきに とりあえずeclipseをインストール 今回開発に使うのはeclipseです。 こちらの「Download the SDK」からDLしてインストール このeclipseには ADT Plugin が最初から入っているので こ…

vagrant shareがすごいらしい

vagrant shareが凄いっていうのを見かけたので 早速使ってみた。 最新版をinstall こちらから1.5.0をDLしてinstallします。 Vagrant Cloudに登録 こちらからアカウントを登録 username + mail address + passwordを入力するだけの簡単な(ry vagrant upして…

はじめてのrails

とりあえずrailsを初めてみたい人向けのやーつ railsをinstall railsは現時点での最新版を使います $ ruby -v ruby 2.0.0p451 #今回のrubyのバージョンはこちら $ gem install rails -v 4.0.3 $ rails new hogeこれで必要なファイル一式が作成されたあとに b…

はじめてのgem作成

gem パッケージの作り方をメモ ファイルの生成 gem_testというパッケージ名のgemを作成 -tオプションでspecファイルも作成 $ bundle gem gem_test -t create gem_test/Gemfile create gem_test/Rakefile create gem_test/LICENSE.txt create gem_test/README…

Berkshelfの続き

こちらの記事の続き 自作のレシピを使用する 前回作成したkitchenを引き続き使用する せっかくなので今回はこちらの以前作成したレシピを使用する。 もちろんchef init chef-solo等で新規に作成を行ってもおk $ cd kitchen $ git clone git://github.com/shi…

chef-client実行時のエラーではまった

既に色々install済みのserverのアプリケーションを入れ替える為に chef-clientした際に下記のようなエラーが出た。 ※mysql-hoge, mysql-testのhoge,testの部分は各versionが入ります。 $ sudo chef-client ================================================…

Berkshelfを使ってみる

Berkshelfを使うことでcookbookをgemっぽく扱うことができる。 berkshelfをinstall $ cd chef-repo $ vi Gemfile + source 'https://rubygems.org' + gem 'berkshelf' $ bundle install これでvendor以下にgemが格納される これでberkshelfのinstallは終わり…

mysqlでのbackupからのレプリケーション再構築

レプリケーションの構築や再構築はリリース前の開発時やslave server増設時、 障害発生時等によく行うと思うのでメモっておく 今回の作業 諸事情によりslaveとmasterのデータの整合性が取れなくなった(緊急だったのでreplication error をskipした)ので back…

knife solo cookで環境を構築してみる

今までの内容を踏まえknife solo cookで環境を構築してみるてきな レシピ作成 今回の構成 base (gcc, make等の最低限必要なpackageを管理するcookbook) ruby (rubyのversion管理用にはrbenvを使用) mysql redis nginx $ knife solo init chef-repo #初期化 $…

roleとnodeについて

run_listやAttributeをノードの役割ごとにグルーピング出来るので便利 アプリケーションサーバ用のroleを作成してみる $ vi roles/application_server.json{ "name" : "application_server", "default_attributes" : ”nginx” => { "port" => 80 }, "override…

knife-soloを使ってみる

リモートからchef-soloを実行したい時にknife-soloを使用するといいよ! っていうお話 knife-soloのinstall gemなので下記のコマンドでinstallで来ます $ gem install knife-soloもしくはgithubから $ git clone git://github.com/matschaffer/knife-solo.gi…

rbenvでrubyのversion管理をするよ

rbenvをcloneする $ cd ~/ $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv 環境設定 $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc $ source ~/.bashrcこれでrbenvコマンドが…