massa snap

massa の備忘録

iOS で通信プログラム手習い (サーバ編)

以下の記事をそのままやってみよう。

「Node」のインストール

折角なのでインストーラではなく、homebrew で入れてみる
 参考: [Node.js]Node.jsをインストールする手順をメモ by Mac | Memorandum blog

  • brew のパッケージを更新し、node のバージョンを確認

$ brew update
...
$ brew info node
node: stable 0.8.19, devel 0.9.9, HEAD

  • node をインストール

$ brew install node

  • /usr/local/share/npm/bin をPATH に追加しろ、と言われるので従う

$ vi ~/.bashrc
(export PATH=$PATH:/usr/local/share/npm/bin を追加)
$ source ~/.bashrc

Express: 動的HTML作成フレームワーク をグローバルインストール

$ npm install -g express

Cloud9 のインストール

ちょっと寄り道
大津谷亮祐ブログ - Mac OS X Lion(10.7)にCloud9 IDEをインストール

  • npm でインストール

$ npm install cloud9

  • 早速起動。→ NG

$ node_modules/cloud9/bin/cloud9.sh
...
TypeError: Object # has no method 'main'
...

  • 参考サイトを元に、ファイルを一部修正して再トライ → OK

$ vi node_modules/cloud9/bin/cloud9.js
(require("cloud9").main(options);
=> require("../server/cloud9").main(options);)
$ node_modules/cloud9/bin/cloud9.sh

プロジェクトの作成

プロジェクト cmapp の作成

$ express cmapp
$ cd cmapp

Socket.IO を使うように設定変更

$ vi package.json
("dependencies" に "socket.io": "*" を追加)
$ npm install

ついでに cloud9 での編集用ショートカット作成 (パスはプロジェクト設定に合わせる)

$ vi edit.sh
#! /bin/bash
../node_modules/cloud9/bin/cloud9.sh -w ~/Projects/node/cmapp

app.js の修正

元サイトに書いてある箇所を変更

  • ポート3000はcloud9で使われているので、3100あたりに変更する

index.html と chat.js の作成

index.htmk, javascript/chat.js, stylesheet/bootstrap.css をサイトに書いてある通り準備

実行

app.js を起動する

$ node app

なんか動いたー

XCodeのワークスペース内のプロジェクトコピー

ちょっとしたカスタマイズを入れた別バージョンを作るため、ふと「同一workspace内のprojectのコピー」を作りたくなった。
そこで、MyWork.xcproject下のprojAからprojBを作成するまでの手順を記録してみる。

1. Finder にて

  1. フォルダ projA をコピーし、projB にリネーム
  2. projB 下のフォルダ projA を projB にリネーム
  3. projB 下のファイル projA.xcodeproj を projB.xcodeproj にリネーム

2. Terminal にて

  1. projB に移動
  2. ファイル内に含まれる文字列 'projA' を sed で 'projB' に置換
$> grep -r "projA" *
(文字列 'projA' が複数のファイルに含まれていることを確認)
$> sed -i "" 's/projA/projB/g' projB/*
$> sed -i "" 's/projA/projB/g' projB.xcodeproj/*
$> sed -i "" 's/projA/projB/g' projB.xcodeproj/xcuserdata/<user名>.xcuserdatad/xcschemes/*
$> grep -r "projA" *
(文字列 'projA' がどのファイルにも含まれていないことを確認)

3. XCode にて

  1. MyWork.xcproject を開いて XCode を起動
  2. 一番左のペインでメニューを開いて 'Add Files to "MyWork"...' を選択し、先ほど作成した projB.xcodeproj を追加する
  3. 左上の scheme ('Run', 'Stop' の右側) をクリックして 'Manage Schemes...' を選択する
  4. container 列が 'projB project' となっている行を探し、そこの scheme 列をシングルクリックで編集。projA を projB にリネームして OK
  5. 一番左のペインで projB を選択し、プロジェクトの設定画面を開く。バージョンやアプリの表示名などを適宜修正

手順1.2のフォルダ名の変更をしなくてよい場合は、1.1の直後にprojB/projA.xcodeproj を開いてプロジェクト名の変更 (右ペインの Identity > Project Name を変更) をすると、適宜XCodeが自動で変換をしてくれる。その後手順3に飛べばよい。

参考URL:

Javascript の開発環境設定

Eclipse + Aptana Studio 3 を導入してみた。

  1. Aptana | Download Aptana Studio 3.4.2 を参照し、Eclipse から Aptana Studio を導入
  2. jshint-eclipse - Install を参照し、Eclipse から jshint-eclipse を設定
  3. 横で iOS 向けの Eclipse が立ち上がっているので、並列で作業できるよう command line から起動
  4. Test-Driven JavaScript Development, The Book より、その他 TDD で必要なファイルを落として設定。
    • JsTestDriver はサーバの立ち上げと、テストの起動を別々のコマンドラインからやる必要があるので注意。

Android で YouTube 動画を再生したい (参考リンク集)

参考となりそうなリンクを集める

新旧Macでのデータ移行

  • 1'. iOS アプリ開発の証明書の移行
  • 2. bitbucket からのソースコードダウンロード
    • 移行元から ~/.ssh フォルダをコピーして、下記コマンドで取得
$ git clone git@gitrepo-<account>:<account>/<project>.git

Bitbucket でプライベート git リポジトリを作ってみる

ローカルのgitリポジトリを、非公開で共有してみたくなった。

を見ると、Assembla か Bitbucket がよさげ。
後者は git 以外に Wiki の利用もできるらしいので、そちらを利用してみることに。

1. アカウント作成 〜 リポジトリ作成

2. リポジトリへのSSHアクセス準備

 $ ssh-keygen -t rsa
 Generating public/private rsa key pair.
 Enter file in which to save the key (/Users/<user>/.ssh/id_rsa): /Users/<user>/.ssh/id_rsa_<project>
     (略)
 $ ssh-add /Users/ayumin/.ssh/id_rsa_<account>
  • ~/.ssh/config に以下の設定を追加
# bitbucket user for "<account>"
Host gitrepo-<account>
  User git
  Port 22
  Hostname bitbucket.org
  IdentityFile ~/.ssh/id_rsa_<account>
  TCPKeepAlive yes
  IdentitiesOnly yes
  • bitbucket 側に RSA 公開鍵を登録
    1. bitbucket のアカウント設定画面から、[SSH Keys] を選択
    2. [SSH Key] 欄に、指示通り id_rsa_.pub の内容をコピーして、[Add key] を押下

3. リポジトリへのコード登録

$ cd /path/to/repo
$ git remote add origin git@gitrepo-<account>:<account>/<project>.git
$ git push origin master