からくりがてんこ

IT関連情報、プログラミングに関する作業ログや備忘録を記載していきます。

Bitbucket:git pull ができない!

仕事で使ってるAWS(EC2)でソースを最新にしようかと思い、
"git pull"を実行するとエラーが発生

ssh: Could not resolve hostname bitbucket.org: Name or service not known
fatal: Could not read from remote repository.

あ、あれ?!こないだまでできたのに。。
エラーの内容的に名前解決ができてないようです。

"$ vi /etc/resolv.conf" を見てみると、、、いろいろ設定してありました。
そういえばプロジェクトでDNSの設定をやったとか言ってたなぁ。
もろその影響でした。

恒久的な対応でなく今パッとやりたいので、IP直接指定で解消しました。

$ vi ~/.ssh/config

Host bitbucket
HostName (bitbucketのIP)
User git
Port 22
IdentityFile ~/.ssh/(秘密鍵)

情報共有ダイジ!

感謝サイト:
http://ezxnet.com/linux/entry3560/

HTML5ハイブリッドアプリ(Cordova)の環境構築

HTML5ハイブリッドでAndroidiOSアプリを作成したい!

うちは人員(リソース)が少ないのでスピード上げてアプリ開発するためにはこれかな
って思ってでいろいろ調べてみました。

まずは始めるために環境作りの章。

前提

  1. AndroidSDKがインストール済みであること
  2. MacOSXであること
  3. brewも入れといたほうがいいかも

各種インストール作業

Node.jsのインストール

http://nodejs.org

インストールしたらバージョンもついでに確認

$ node -v
$ npm -v

cordovaコマンドラインツールのインストール

$ sudo npm install cordova -g

  • gはグローバルな領域にインストールするオプション

こちらもバージョン確認。

$ cordova -v

AndroidSDKのパスを通す

.bash_profileに下記を追加して

export PATH=$PATH:/Applications/(AndroidSDK展開フォルダ)/sdk/tools/
export PATH=$PATH:/Applications/(AndroidSDK展開フォルダ)/sdk/platform-tools/

反映!&確認

$ source ~/.bash_profile
$ android -h
$ adb version

プロジェクトの作成

$ cordova create test com.sample.text Test -d

  • testディレクトリ配下に
  • com.sample.textという識別子で
  • Testというアプリ名を

作成するという意味で"-d"は途中経過を表示するオプションです。

プラットフォームの追加

$ cordova platform add ios
$ cordova platform add android
$ cordova platform ls

ちなみにプラットフォームから外すには

$ cordova platform remove ios

確認方法

Andoidシミュレータで確認

$ cordova emulate android -d

Androidシミュレータが立ち上がります。
※antがないよ!って言われたので"$ brew install ant"をしました。

iosシミュレータで確認

$ cordova emulate ios -d

iOSシミュレータが立ち上がります。
事前に"$ brew install ios-sim"でios-simを入れておく必要があるかも

ブラウザで確認

$ cordova serve android

デフォルトは8000版ポートでローカルサーバが立ち上がりますので、
http://localhost:8000 で起動が確認できます。

上記はAndroidプラットフォームの動作確認のため"android"と指定してます。
(server でなく serve なのね。。Railsのクセでつい。。)

最後にAndroid実機で確認

AndroidMacをUSBで接続して

$ cordova run android

…で起動完了。

ひとまず環境作りはこれで!

Trello:外部データをインポートする(そう、rubyでね)

Trelloって使ってますか?
カンバン方式のタスク管理といったらいいのかな。
これが操作的に簡単で、視覚的に見易いってことでアジャイルプロジェクト管理に使ってみることになりました。
それに際し、今までExcelでタスク管理してたタスク一覧の移行をする必要がでてきました。
なので、それをITっぽく移動してやります。

ruby-trelloというgemを使ってやりました。

Trelloキー情報取得

API Key の取得
https://trello.com/app-key

Key:をメモする
Secret:をメモする

API Token の取得
https://trello.com/1/authorize?key=<APIKey>&name=&expiration=1day&response_type=token&scope=read,write

画面が開かれるのでAllowしましょう
Token:をメモする

Ruby実装&実行

Gemfile
#Gemfile
source "https://rubygems.org"
gem "ruby-trello"

$ bundle install

require 'trello'

include Trello
include Trello::Authorization

#認証用の共通ロジック開始
application_key = "<上記で取得したKey:>"
application_secret = "<上記で取得したSecret:>"
application_token = "<上記で取得したAPIToken>"

Trello::Authorization.const_set :AuthPolicy, OAuthPolicy
OAuthPolicy.consumer_credential = OAuthCredential.new application_key, application_secret
OAuthPolicy.token = OAuthCredential.new application_token, nil
me = Trello::Member.find("me")

#認証用の共通ロジック終わり

#ここから個別実装
if ARGV.length < 3
  puts "usage"
  puts "./create_card [board_name] [list_name] [card_name]"
  exit
end

target_board_name = ARGV[0]
target_list_name = ARGV[1]
card_name = ARGV[2]
board_id = nil
list_id = nil

me.boards.each do |board|
 if board.name == target_board_name
   board_id = board.id
   break
 end
end

puts board_id
unless board_id
  puts "ボードが見つかりません"
  exit
end

Board.find(board_id).lists.each do |list|
  if list.name == target_list_name
    list_id = list.id
    break
  end
end

puts list_id
unless list_id
  puts "リストが見つかりません"
  exit
end

Card.create(:name => card_name, :list_id => list_id)

"Board"の"Icebox"というリストに追加します。

$ bundle exec ruby create_card.rb "Borad" "Icebox" "テストカード"

これで無事"テストカード"というcardがBoradのIceboxリストに追加されました!

ソースを見るとlabelとかも":card_labels => 'red'"で設定できるみたいです。
https://github.com/jeremytregunna/ruby-trello

感謝サイト:
http://qiita.com/AKB428/items/a4a9ff2893affb20f99c

Herokuのgitリモートリポジトリ × bitbucketのgitリモートリポジトリ

事の発端は、bitbucketで管理してるRailsアプリを
herokuにちょっと上げてテストしたいな〜ってところから

.git/configにHerokuの情報を追加すれば"万事オッケー"ということが分かりました。

bitbucketからクローンしたローカルリポジトリがある前提です。

$ cd (ローカルリポジトリのパス)
$ heroku login
$ heroku create
$ cat .git/config (<--追加されるか興味本意でみてみる)
$ git push heroku master

"heroku create"をするとHeroku上にアプリとGitリモートリポジトリを作ってくれ、
さらにローカルの.git/configにリモートリポジトリ情報を追記してくれるといった動きになります。

逆にbitbucketに普通にプッシュしたい場合は

$ git push origin master

だ!

きょ、今日はこのくらいにしといてやんぜ!

感謝サイト:
http://qiita.com/ikedahidenori/items/5555f4db6d49dfc49610

Heroku:fulcrumで[missing "ja.velocity" translation]が発生

Heroku+fulcrumでアジャイル開発だ!
と思った矢先、ロケールの部分でエラーが発生しているみたいです。

i18nの翻訳を初期化する記述を追加すればOK

#app/assets/javascripts/locales.js.erb

<%
I18n.backend.send(:init_translations)
%>
I18n.translations = <%= I18n.backend.send(:translations).to_json.html_safe %>;
I18n.fallbacks = true;

最初の3行を追加して再起動でちゃんと表示されました

感謝サイト:
https://github.com/hakunin/fulcrum/commit/5943efc856cb46a4d846712f720dd2c4e9d779b5

Heroku&fulcrumでアジャイル開発(今なら無料、これからも無料)

アジャイル開発といえばPivotalTracker!
・でも金がない!
そんなあなたにピッタリ、それが

「PivotalTrackerのクローン"fulcrum"を使ってみようプラン。」

Heroku+SendGrid+fulcrum の構成にすることで全て無料でできちゃうといった
弊社のような貧困企業にピッタリのプラン。(ほっとけ)

では、Herokuは登録済みとして導入方法はこうなります。
※sendgridの利用は事前にクレジットカードの情報をHerokuに登録しておく必要がありました。

$ git clone git://github.com/malclocke/fulcrum.git
$ cd fulcrum/
$ heroku create ********-fulcrum
$ heroku addons:add sendgrid:starter
$ git push heroku master
$ heroku run rake db:setup
$ heroku open

********は好きな文字列

返信用メールアドレスとかリダイレクトされるIPが127.0.0.1になってたので
下記も設定するとよさげです。

$ heroku config:set APP_HOST=********-fulcrum.herokuapp.com
$ heroku config:set MAILER_SENDER=noreply@********.com

小さな会社
だからこそ
無料でできる
こともある

by.詠み人知らず

感謝サイト:
http://22inc.jp/blog/?p=161
http://qiita.com/shu_0115/items/17156cba40739ad78ab1

Herokuに静的ページ公開!

Herokuにrailsを乗せることは今まで何度かやりましたが、
静的ページを乗っけて簡単に確認してみよう!ってことになりました。

結構簡単にできました。

$ git clone https://github.com/nulltask/heroku-static-provider.git static-site
$ cd static-site

Node.jsのパッケージを取得しているみたいですね。
public配下に置きたい静的ファイルをコピーします。

$ git add .
$ git commit -m 'initial commit'
$ heroku create
$ git push -u heroku master

※事前にheroku loginはしておきます。

これで完了!

ちゃちゃっとデモ画面やモックアップを公開したい場合に便利。

感謝サイト:
http://qiita.com/icb54615/items/3f9f97c36a64b0853f27