2013年12月9日月曜日

Windows上にGitのベアリポジトリを作成してMACからpushするまでの俺メモ

Windows上のリモートリポジトリにMACからアクセスする為にはWindows側でGitDaemonを起動しておくことがミソのようです。(gitプロトコルで接続する場合)


[手順概要:Windows側]

  1. Gitをインストールする
  2. TortoiseGitをインストールする(任意)
  3. スタートアップにGitDaemonを起動させるバッチファイルを配置する
  4. 再起動してバッチファイルからGitDaemonを起動させる
  5. ベアリポジトリを作成する
[手順概要:Mac側]
[手順詳細:Windows側]

1.Gitをインストールする

 1.1.Gitの本家サイトからインストーラーをダウンロードしてインストールします。

2.TortoiseGitをインストールする(任意)

2.1.TortoiseGitのインストールは必須ではありませんが非常に使い勝手が良いのでインストールしておきましょう。
 2.2.TortoiseGitの本家サイトからインストーラーをダウンロードしてインストールします。
 2.3.必要であれば日本語言語化ファイル配布サイトから日本語化ファイルをダウンロードしてインストールします。

3.スタートアップにGitDaemonを起動させるバッチファイルを配置する

3.1.このバッチファイルのテンプレート内容をコピペ後修正したRunGitDaemon.batを作成する
 例)
@echo off

rem -------------------------------------------------
rem Run Git Daemon bat for msysGit Ver1.0
rem -------------------------------------------------
rem Git Daemon using port 9418
rem -------------------------------------------------

set gitCommandDrive=C:
set gitCommandPath=%gitCommandDrive%\"Program Files (x86)"\Git\bin

set gitBaseDrive=D:
set gitBasePath=%gitBaseDrive%\manabe\public\Git\repo

rem Run Git Daemon
%gitCommandPath%\git daemon --verbose --export-all --enable=receive-pack --base-path=%gitBasePath%

exit

 3.2.スタートアップフォルダにバッチファイルを配置する
 スタートアップの場所の例)
C:\Users\Manabe\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

 スタートメニューから開くことも可能



4.再起動してバッチファイルからGitDaemonを起動させる

4.1.Windowsを再起動させる
 再起動後に下記の画面がでていたらOK


5.ベアリポジトリを作成する

5.1.コマンドラインを使って作成する場合
  5.1.1.Git Bashを起動する
  5.1.2.ベアリポジトリを作成するフォルダーへ移動する
  5.1.3.ベアリポジトリ用のフォルダーを作成し初期化する
  例)
    $mkdir hoge.git
    $cd hoge.git
    $git --bare init --share

 5.2.TortoiseGitを使って作成する場合
  5.2.1.エクスプローラーを使用して共有フォルダ配下にベアリポジトリ用のフォルダーを作成する

  5.2.2.作成したフォルダ内でマウスの右クリックメニューから[Git Create repository here]を選択する

  5.2.3.Make it Bareにチェックを入れてOKをクリック

[手順詳細:Mac側]

1.ベアリポジトリへ接続可能か確認する

1.1.ターミナルからコマンドを実行して確認する。エラーが表示されなければOK
  $git ls-remote git://192.168.12.10/hoge.git

2.リモートリポジトリを設定してpushする

2.1.pushする.gitがあるフォルダーへ移動
 例)
  $cd /path/to/my/repo/hoge

 2.2.リモートリポジトリを設定
 例)
  $git remote add origin git://192.168.12.10/hoge.git

 2.3.pushする
 例)
  $git push -u origin --all
  $git push -u origin --tags

 2.4.README.mdを追加
 例)
  $echo "# This is my README" >> README.md
  $git add README.md
  $git commit -m "First commit. Adding a README."
  $git push -u origin master

[リモートからcloneする]

$git clone git://192.168.12.10/hoge.git

このエントリーをはてなブックマークに追加

2013年11月11日月曜日

iOS7からhidesBottomBarWhenPushedでタブバーが非表示にならない?

iOS7になって

self.hidesBottomBarWhenPushed = YES;

を記述してもなぜかタブバーが非表示になってくれないので
UITabBarControllerのviewDidLoadにて

self.tabBar.hidden = YES;

を記述してとりあえず対応しました。
画面単位の表示、非表示の切り換えとかどうしよう。。。

このエントリーをはてなブックマークに追加

2013年9月3日火曜日

Facebookの近況等でウェブサイトのURLが入力された際に画像や概要を表示させる方法


FacebookでウェブサイトのURLを入力した際にサイトの概要や画像が表示されるようにする方法を紹介します。
方法といってもheaderに必要なメタタグを記述するだけでokです。


こんな感じでメタタグをいれるだででFacebookでURLを入力するとメタタグの情報が表示されるはずです。

※気をつけること
  1. 画像までのurlが長いと表示されない
  2. 画像が200x200pxじゃないと表示されない


Facebookに対応されたかどうかはFacebookのデベロッパーズサイトで検証することができます。
http://developers.facebook.com/tools/debug


このエントリーをはてなブックマークに追加

2013年8月29日木曜日

Facebook iOS SDKで扱われる日付文字列(created_time、updated_time等)をNSDateに変換する

Facebook iOS SDKを使用して検索等を実施した時の返却情報内の日付情報は文字列なのでそれをNSDateに変換する方法を紹介します。



ポイント
  1. Tの部分はシングルクォーテションで囲む
  2. フォーマットの最後の+0000の部分は「Z」と記述する


このエントリーをはてなブックマークに追加

2013年8月22日木曜日

JavaScriptでクラスを定義したい人は集まれ

JavaScriptにおけるクラスの定義はJavaやC++、C#、Objective-Cでのクラスを定義する方法とはかなり違っているのでここで紹介しておきます。
プライベート変数、プライベートメソッドの実装方法もあるYO。
大まかな手順は以下になります。

  1. コンストラクタを定義する
  2. インスタンスメソッドを定義する
  3. クラスメソッドを定義する

ここではモンスタークラスを実際に定義していくことにします。
モンスタークラス仕様
  1. 名前を取得設定出来る。
  2. ライフを取得設定出来る。
  3. x、y座標を指定して移動できる。
  4. モンスターを継承したボスモンスターが存在する。

1.コンストラクタを定義する

コンストラクタとは言ってもただの関数で関数名がクラス名になります。

2.インスタンスメソッドを定義する

インスタンスメソッドはコンストラクタのprototypeオブジェクトに定義します。prototypeってなに?さ、さぁ。。。

3.クラスメソッドを定義する

クラスメソッドやクラス変数はコンストラクタのプロパティとして定義します。

4.モンスタークラスを継承したボスモンスタークラスを定義する

継承は下記の2つで実現出来ます。

  1. コンストラクタでスーパークラスのコンストラクタを呼び出す。
  2. サブクラスのprototypeにスーパークラスのprototypeを設定する、


5.動的な継承

これは下で紹介しているオライリー本に掲載されていました。詳細はよくわかりませんがこの方法でJavaScriptにおける動的なクラスの継承が実現できました。

6.プライベート変数やプライベートメソッドの定義方法

プライベート変数、プライベートメソッドを定義する為のポイント
  1. ファクトリーメソッド内でインスタンスを生成する
  2. プライベート変数、プライベートメソッドをファクトリーメソッド内に定義する
  3. プライベートメソッドはインスタンスにバインドする。
  4. パブリックメソッドをファクトリーメソッド内に定義する
  5. クロージャーを応用してプライベイート変数、プライベートメソッドを実現している

このエントリーをはてなブックマークに追加

2013年8月21日水曜日

FuelPHPのOrm\Modelのto_array()をリレーションに対応させる

FuelPHPのOrm\Modelにto_array()というメソッドがありますが、どうやらリレーションには対応していないようなので、リレーションに対応したメソッドを実装してみました。

PHPは文字列でクラスやメソッド、プロパティ等を指定出来るので使い方を間違わなければ便利ですね。


このエントリーをはてなブックマークに追加

2013年8月17日土曜日

FuelPHPのDebug::dumpで日本語が文字化けしてしまった時の対処方

FuelPHPのDebug::dumpで日本語が文字化けしてしまう現象が発生してしまった場合、Debug::dump内で扱っている文字コードとConfigで設定している文字コードが違っている場合があります。
具体的に言うと
fuel/core/classes/debug.php
内の
public static function format($name, $var, $level = 0, $indent_char = '    ', $scope = '')

というメソッド内に htmlentities($var) の記述があるはずです。 このhtmlentitiesの文字コードが指定されていない為にデフォルトの文字コードISO-8859-1が使用されてしまい文字化けしてしまう場合があるのです。 

[対処方法] 対象方法は文字コードを指定するだけです。
このエントリーをはてなブックマークに追加