サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
j-caw.co.jp
RUN git clone https://github.com/sstephenson/rbenv.git /root/.rbenv RUN git clone https://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build
入門中の入門ですね。serverspecについてちらほら情報がまわってきてますが、ちょっと試してみたいと思いまして。 公式TOPにサクッとできるサンプルがあったのでまずはそれを。 http://serverspec.org/ $ mkdir serverspec_sample $ cd serverspec_sample serverspecをインストール。 $ vim Gemfile gem 'serverspec' $ bundle install serverspecをinitしてspecやspec_helperを自動生成する。今回はlinuxリモートホストにSSH経由でspecを実行するので1,1,nを選択。 $ serverspec-init Select OS type: 1) UN*X 2) Windows Select number: 1 Select a backend
今更ですがSOAPを利用したWEB APIを触ることになったのですが、SOAPの仕様がわけわからん過ぎて困ったので基礎に立ち返って調べてみました。 SOAPにはWSDLというファイルがあって、事前にAPI定義をXMLで公開するみたいです。まずは「そもそもWSDLには何が記述してある?」かを追って見ることに。 WSDLとは そのWebサービスはどこにあるのか そのWebサービスは、どんなフォーマットのメッセージを使って利用するのか そのWebサービスは、どんな通信プロトコルを使ってメッセージをやり取りするのか 引用元:http://www.atmarkit.co.jp/ait/articles/0303/18/news003.html SOAPとは、元はSimple Object Access Protocolの頭文字だったけど、もはやシンプルでもなんでもないものに複雑怪奇なものになっている
has_manyなassociationしているModelの一括更新する場合は、普通にform_forとfields_forとaccept_nested_attributesを使えばすんなり出来るんだけど、一括更新したいケースって必ずしもassociationしているわけでもなくて、そういう場合どうすればいいかいつも迷うので自分なりのベストプラクティスを見つけとこうと思った。 こんな感じでやってみた 一括更新したいitemsをscaffoldする。 $ rails g scaffold items name:string price:integer コマンドでitemを登録しておく。 $ rails c > Item.create(name: "pencil", price: 120) > Item.create(name: "eraser", price: 90) > Item.crea
AWSにはコマンドラインインターフェースが用意されています。 S3なんかは画面からポチポチするのはかなり手間なのでコマンドは重宝します。ちょっと軽くまとめてみますね。 ファイル単位のコマンド Bucket “sample-aws-command”にtest1をcopy 一般的なコマンドラインの感覚ですね。
いろいろDockerを試してみて個別にコンテナたてて動かすのはある程度理解出来てきたけど、まだ何も実現出来ていないのもうちょっと実戦に近づきたいところ。 移管したいWEBアプリケーションはmysqlを使っているので、webサーバ用とmysql用のコンテナを分けてlinkする運用を目指してやってみます。 主にこちらを参考にしてます。 http://www.alexecollins.com/docker-linking-containers/ MySQLサーバコンテナ ※ centos6をpullしている必要があります Dockerfile
夫婦のための自動ごはん予定お知らせサービス「GoHaaan」を2月末にリリースしました。パチパチパチ。 https://gohaaan.com/ どんなことができるかっていうと、Googleカレンダーの予定タイトルに[LUNCH]とか[DINNER]っていう文言を含めておくと、自動的に予定の前日16:00に指定のメールアドレスへ「ごはん食べてきますよー」っていう旨のメール通知を送ることが出来ます。 嫁さんのメアドとか設定しておけば、自宅で食べるかどうかの確認を忘れずに済むので、 「外で食べて来たけど家帰ったらごはん準備してあった…」とか 「お昼は外でランチミーティングの予定だったのにお弁当作ってた…」とか を減らせるんじゃないかな。 startapp.jpに作った経緯とか載せてるので読んでみてね。 夫婦のための自動ごはん予定お知らせサービス「GoHaaan」 開発者、スーパーRubyist
知っての通り、MariaDBはMySQLの創設者が、MySQLをforkして作られた派生系のDBですね。 MySQLがOracle傘下に入ってしまったのでその辺でごにょごにょすることがあったんでしょうか。事情については調べるといろいろ出てくると思うので調べてみると楽しいかも知れません。 それはさておき、実際にインストールしてSQLを叩いたりしてみますね。 MariaDBインストール編 最初開発マシンのMacに入れようとしてこちらのエントリを見てやってみました。 http://qiita.com/kozmats/items/ac32f1ac1d676a09e3b2](http://qiita.com/kozmats/items/ac32f1ac1d676a09e3b2) が、mysqlと競合するからmysqlをunlinkせよと。。 開発中のプロジェクトがMySQLで動いているものも多いので
jekyllは静的サイトジェネレータで、wordpressみたいにコンテンツをDBに入れて表示時に出力するのではなく、事前にコンテンツをmarkdownで書いておいて、コマンドでhtmlを生成してホスティングサービスにアップすることで動かせるようになるもの。 CMSに慣れている人にとってはちょっと敷居が高いかもだけど、エンジニアからするとシンプルだし軽量なので使いやすそう。 jekyllで静的ページを生成してみる jekyllの公式を参考にやってみた。 http://jekyllrb-ja.github.io/ あ、Rubyが入ってる必要あります。その辺の手順は割愛します。 $ gem install jekyll $ jekyll new my-site $ cd my-site $ jekyll serve なんとこれだけでそこそこかっこいいサイトが出来上がる。 http://loca
背景 binding.pryはRailsアプリケーションのコード中にブレイクポイントを仕掛けてデバッグ出来る優れものなんですが、困ったことにループ処理の中にブレイクポイントを仕掛けちゃうと、あれやこれやコマンド叩いても抜けられなくて、毎回Ctrl+CでWEBサーバごと終了なんてことしてた。 そのたびにまた rails s でサーバ起動させたりでめんどい。どうやったら解決できるかちょっと探ってみた。pryのhelpコマンドで表示されるコマンドをいくつか試してみたのでログっておきます。 helpで調べたコマンドをいくつか叩いてみる こんなコードで試してます。 ラーメン屋テーブルを検索してeachで処理する中にブレイクポイント(binding.pry)を仕掛けます。
WEBアプリケーションのユーザーが限定されていればiptablesやAWSのsecurity groupとかでIPフィルタリングしてしまうのですが、そうでない場合にhttpポートを全開放してしまうと、全世界からアタックし放題な状態になってしまいます。 海外からのアクセスブロックするとか、手段は他にも色々とありますが、今回はその一つであるWeb Application Firewallをインストールしてみます。 CentOS6.5で既にApacheが動いている状態でWeb Application Firewallであるmod_securityを入れてみますね。 インストール こちらを参考にしました。yumでインストールしていきます。 http://oki2a24.com/2013/09/27/yum-install-epel-modsecurity/ どうやらepelリポジトリを使用すればよ
fluentd経由でmongoDBにログを突っ込んだりしているのですが、可視化したいなーっていう流れがあるので、最高にナウい感じの fluentd + elasticsearch + kibana をセットアップしてみました。 まずは試しなのでVagrantを使って仮想環境でセットアップしてみました。 kibanaってjsで動いてるのかー。 環境 Mac OSX 10.9 ゲストOS CentOS 6.5 Elasticsearch Elasticsearchは言わずと知れた全文検索エンジンですね。国産全文検索エンジンにGroongaというものがありますが、世界的にはElasticsearchがナウいとのことです。 yumからインストールしたいので、リポジトリを追加します。
「we love heroku」とは、Herokuで開発されたサービスをギャラリーとして紹介するサービス。せっかくだからぼくが作ったサービスも登録しといた。ジェニュインブルーさんが作ってるぽい。 http://welove.herokuapp.com/ Railsプロジェクトのリファクタリングをしたり、よりよい書き方を探したりしようとすると、WEB上の情報だけでは収集することが難しいので、Railsのオープンソースプロジェクトのソースを読むと色々参考になったりします。 とはいえソースコードを読むだけでは細かい挙動が理解出来なかったりするところもあるので、やっぱり実際に動かしたくなったりします。なので動かしながらコードをちょっと読んでみることに。 we_love_heroku Github https://github.com/ppworks/we_love_heroku TOP TOP2
いつもユニットテストメインなんですが、重要な箇所についてはブラウザシミュレートしてテストしたいです。 あらためてcapybara + rspecのセットアップをしたので書き残して起きます。今回はwebdriverは使わなかった。 インストール&セットアップ 主にこちらを参考にしました。 http://www.oiax.jp/rails/rspec_capybara_primer/rspec_capybara_the_first_step.html
今回はRuby2系の新機能の検証をしようと思いModule#prependについて調べていたのですが、どうやらそれ以前にalias_method_chainについて知っておく必要がありそうだったので試してみます。 と思いきや、さらにalias_method_chainの先にaliasについて知っておく必要がありそうですね。マトリョーシカ状態です。 環境はMac Book Air, OSX Lionで、rubyはRVMを使っています。
お名前.comのVPS(メモリ1GBプラン)を使っているのですが、いつの間にかルートに割り当てられているパーティションがUse%が100%になっていてビックリ。停止すると困るのでパーティション拡張を試みました。 お名前.comのVPS標準のCent OS 6.2でやっていきますね。 まずは標準構成の確認 ファイルシステムの状態を確認。 デフォルトではルートに18GBしか割り当てられていない。名前から察するにどうやらLVMパーティションのようだ。対してdataには79GB割り当てられている。
git管理下のファイルのdiffを見るとき、デフォルトのdiffはちょっとわかりにくいし、diffしながら編集出来なくて不便なので、何か良いdiffツールはないか探してました。 最近はSublime Text2で開発しているので、プラグインを調べてSublimergeというのがあるらしいことを発見。試してみます。 インストールする Mac OS X Lionでやっていきます。 Pacakage Controlを使用してインストールするので、入れてない場合は是非入れておきましょう。プラグインのインストールがコマンド数回だけで出来るようになります。 この辺参考に。 https://sublime.wbond.net/installation http://d.hatena.ne.jp/xyk/20131001/1380610973 まずはSublime Textを開いている状態で、contro
自作cookbooksは最小限にしてなるべくcommunity cookbookを使う方針で。 けっこうハマりました。特にNginx + Passengerあたりがcommunity cookbookではうまくいかず(rbenvだからいけなかったか?)、仕方なく自前でソースコードをコンパイルするレシピを書いたりした。 環境はMac 10.9 marvericksで。 お料理するよ! Vagrant, Chef, knife-solo, Berkshelfなどのインストールは過去にやっているので参照されたし。 Vagrant Vagrantで簡単にUbuntu 12.04を動かしてみるところまで。 Chef, knife-solo CentOS 6.4でchef soloとknife soloを使ってphp実行環境を構築 berkshelfとpluginのインストール
vagrantをいじっているんですが、boxとは一体何なのか、vagrant destroyやhaltコマンドはどうゆう挙動になるのかちょっとわかんなくなってきたので整理してみる。 かなり初歩的でアレですが。 環境 Mac OSX 10.8 Lion veeweeで自作した.boxファイルを使う(CentOS 6.4) いろんなパターンを試してみる まずは適当に叩いてみる。
EC2はよく使ってるし、似たようなインスタンスを生成することもしばしばなので、そろそろ自動化を進めたいなーというところでVagrantからEC2インスタンスを生成してみた。 環境 Mac OSX 10.9 Marvericks Vagrant 1.3.5 AMI: Amazon Linux PV EBS-Backed 64bit サクっとインスタンス作っちゃう こちらのエントリなどを参考にさせていただきました。 http://dev.classmethod.jp/cloud/aws/vagrant-aws-configspec/ vagrantのインストールは以前にやっているので飛ばしますね。 http://j-caw.co.jp/blog/?p=945 http://docs.vagrantup.com/v2/installation/index.html vagrant-awsプラグイ
fluentdを使ったプロジェクトを手伝っていたことがあって多少しっていたつもりでしたが、忘れてしまったので改めてGetting Startedしてみます。 fluentdは簡単にいってしまうと簡単に複数サーバのログ収集とか出来て、収集したログをファイルストレージに置いたり、mongoにつっこんだりっていうことが出来るものですね。 CentOS 6.5でやっていきます。 apacheログをファイルに収集する まずは基礎的なところをやってみます。サーバ上のapacheログをサーバ自身の別ファイルに収集していきます。 一見意味がないようにも見えますが、ログ形式がjsonになるので一応扱いやすくはなりますかね。Getting Startedだから大目に見てくださいということで。 下記を参考にした。 http://docs.fluentd.org/articles/install-by-rpm h
どうも。病気明けの原田敦です! サーバ構築をする際に新しい手順が必要だったりするとちょっと模索しながらやることが多いと思います。そんなこんなしているうちにどんなコマンド叩いてファイルがどんな状態になっているかがわからなくなってしまうことありますよね。 別にそれが悪影響を及ぼすものかはわからないけどサーバが無駄に汚れてしまっているのでやっぱりきれいな状態にしたかったりします。 そんなときにはサーバ初期のキレイな状態でスナップショットをとっておいて、一通り手順を把握したらリストアして最初からやり直せばキレイに出来るよ!ってインフラエンジニアさんに教えてもらったので試してみようかと。 あれこれググって迷走していたのですが、AWSならGUIで簡単にEBSのスナップショットをとれることがわかりました。やってみますね。 スナップショットを作成 CentOS 6.4を使います。 どのみち必ずやることなの
CakePHPで開発をしているときハマったので、実行手順を含めメモ。 環境 CentOS 6 PHP-5.4.11 CakePHP 2.2.7 MySQL 5.5 ※Migrationを利用するためのプラグインの導入については省略。 1.まず、カレントディレクトリをapp(作成するすべてのアプリケーションファイルがここにある)にする。 2.マイグレーションの雛形の作成 2-1.コマンド「./Console/cake Migrations.migration generate」を入力する ・モデルが存在しない場合は、引数に-fを付ける必要があります。 「./Console/cake Migrations.migration generate -f」 ○エラーパターン ・phpのパスが不正のためエラーになる →/Console/cake を開いて40行目付近を見ると、phpのbinパスを指定す
以前にrubyからちょろっといじったことがあったのですが、phpからやったことがなかったのでやってみます。 本当はCakePHPから使う予定なんですが、実験的に動かしてみる場合、なるべく原始的な使い方から入る方が理解が深まる気がしてる。 事前準備 ではやっていきますね。 まずはAWSコンソールからテスト用のbucketを作っておきます。ここは難しいことはないので説明は省略。s3phpって名称で作りました。 次にAPIアクセス用にAccess KeyとSecret Access Keyを取得します。 「Create New Access Key」を選択すると新しいKeyが生成されてキー文字列が表示されるのでどこかにコピペしておきましょう。ん?あとからSecret Access Keyを確認しようとしたら見当たらない。 一度しか見れないということだろうか。まあ一度deleteすればまた新しいの
ハッカソンとか行くと限られた時間内でアプリケーションを完成させる必要に迫られるので、ぼくは大体爆速フレームワークのSinatraさんを使います。 ちょっと前のハッカソンで「だうれま.com」っていうWEBアプリケーションを作ったのですが、当然スピード重視なのでソースコードがいろいろひどかったりします。 まだ機能追加などしたかったりするので、リファクタリングしないとつらいなーなんて思ってユニットテストを入れようと思った次第。 英文おもしろ意訳投稿サービス だれうま.com http://dare-uma.com/ Sinatraアプリケーションのスケルトンを作る まずはテストコードを置いといてSinatra, ActiveRecordを使って動くものを作ります。「Hello World」って表示されるだけのコードを書きます。 main.rb
買っちゃいましたRaspberry Pi。 社内で使っているサーバがあるんですが、バックアップやファイル共有くらいにしか使われていないので、今動かしている端末がかなりオーバースペックすぎる状態でした。 電気代もそこそこかかってしまうわけなので、省電力のサーバに切り替えれば無駄もなくせると思ったわけです。65円/月とか57円/月とかの情報があったので、これだ!と思って即買しました。 OSインストール ではインストールからやっていきましょう。CUIで稼働させる前提です。 まずは、本体以外に下記が必要なので準備しましょう。 電源ケーブル(micro-B) Android端末用のでいけました USBキーボード 当然PS2はありません HDMIケーブルと対応モニタ SDカード SDHC、32GBのカードを買いました。micro SDではないのでご注意。 Raspberry PiにはHDDがありません
最近、本番環境や検証環境にSSH接続してごにょごにょする機会が増えました。ともすると今接続しているサーバがどこなのかよく確認せずにコマンド叩いたりしちゃってたまにヒヤっとするときがあります。 今のところ大事に至ったケースはないので大丈夫なんですが、あらかじめ手をうっておくにこしたことはないですね。 標準のターミナル(Terminal.app)でチャレンジしたことがあったのですが、ターミナルのプロファイルを作成して切り分ける方法だったため、毎回ターミナルが別ウィンドウで表示されてしまったり、SSH接続を切断しても元に戻らなかったりでイマイチな感じでした。 そこでiTermを使えばAppleScriptで拡張出来るっぽい情報を得たのでちょっとやってみます。 解説 iTermをダウンロードしてインストールします。 http://www.iterm2.com/#/section/home 起動して
Herokuはデフォルトでpostgresなんですが、現在動かしているのWEBアプリがほとんどMySQLなので、こっちで動かせないか調べてみた。 結論から言えばMySQLで動かせます。 環境はMac OSX 10.9で前回の続きから行きますね! 前回 HerokuにRailsブランクアプリケーションを設置してみる MySQLを使用するためのアドオンをインストール
次のページ
このページを最初にブックマークしてみませんか?
『TOP | 日本シーエイダブリュウ 株式会社』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く