× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
git使っていてすぐ思い出せなくなる便利コマンドなど
参考 コミットした内容をワーキングディレクトリに戻したい(いったん取り消してコミットを分割したいとか) $ git reset HEAD~1 コミットしてしまったファイルをリポジトリから削除したい(関係ないファイルをコミットしてしまってたなど) $ git rm --cached filename PR |
データセーブ
[iOS][NSUserDefaults] URLスキーム [iOS]カンタン [iOS]詳しめ [Android] なおAndroidでURLスキーム呼び出しを実験する際は、実際にhtml内のリンクを踏むしか無い。(iOSなら、safariのアドレスバーに xxx:// と入力すれば良いのだが.) だから、このブログとかでリンクを埋め込んで、Android端末でこのページにアクセスしてリンクを踏むとかする必要がある。 例えばこんな感じ→ facebookのurlスキーム twitter連携 [iOS] facebook連携 [iOS] ストアに飛ばす [iOS] レーティング [iOS]iRate導入 push通知 [iOS]appCCloud [Android]appCCloud 広告 アイモバイルSDK [iOS]アイモバイル [cocos]appCCloud [Android]appCCloud [iOS]appCCloud |
テーブルビューのセルは、フレームワークが自動で再利用している。
セルの形式が同じなら、中のtextとかimageViewとかだけ差し替えて再利用する。メモリの破棄・確保をせずに済ますため。 セルの形式が同じなのかどうかを、identifierで区別させている。 よくある書き方はこう。
一行目で、指定のidentifierのセルで、使われていない(表示されていない)セルがあるかどうか、あればdequeueして取ってくる。 もし無ければ、スタイル指定しidentifier指定してセルを生成する。 で、このあとtextとかimageViewとか指定して使っている訳。 このセルが使われなくなったら、また同じidentifierが使われたときに再利用されるのを待つわけだ。 参考 再利用される見込みがなければ別に指定しなくてもいい。 なお、storyboardでCellIdentifierを指定していたら、それは必ず作成されていて、dequeueで取って来れるようになっている? |
どれがいいのか。
参考1 全部コードだと、レイアウトを作成するコードが長くて面倒くなる。 ので、複雑な画面は単体でxibを使う
ストーリーボードを使うと、 ・分業しにくい ・対応するコードを探しにくい ・どこに何が定義されてるか分かりにくくなる なので、ビューが複雑でしかも小さい範囲で 参考2 引用
MVC忘れずに 今の時点での答えは ・ストーリーボード使わない ・xibだけに留める ・いずれにせよViewとViewControllerはちゃんと分けて書く 脱・ストーリーボードの方法 1. ストーリーボードファイルを削除(参照だけでなく実体も) 2. Info.plistの"Main storyboard file base name"を削除。 3. さらに以下のように記述する
ViewController周りを追記すること。 なぜか分からないが、プロジェクトテンプレートをEmptyにして以上の記述を追記すると、ViewControllerのLoadViewやviewDidLoad関数が何回も呼び出される。 ストーリーボード付きのテンプレートから作成し、ストーリーボードを削除すると、同じ記述でも正しく動く(一度しか呼び出されない)。 参考 いったいなんぞこれ。 |
chkconfigコマンド。
起動スクリプトを管理する 何が管理されているかみてみよう $ chkconfig --list
ずらっと出てくる。 試しに、httpdをOS起動時に自動で走るようにしてみよう。 $ chkconfig --level 35 httpd on もう一度一覧を見てみる。 $ chkconfig --list
2,3,4,5がonになっている。 そもそもこの0~6は何ぞや? 調べてみると、 /etc/rc[0~6]以下 にシンボリックリンクが並んでいる。どうやらこれと対応しているようだ。 みてみよう。
なるほど、確かにシンボリックリンクが全部についている。 そして、chkconfigが on になっているところはファイル名が S で始まり、off は K になっている。 この0~6、何かというとランレベル。 # ランレベルの一覧 0 : シャットダウンに向かう状態 1 : シングルユーザモード 2 : 使用されない 3 : 標準的な状態 4 : 使用されない 5 : GUIでログインする状態 6 : 再起動に向かう状態 OSによって少し違うかもしれないがだいたいこう。 つまり3,5のときが重要な訳で。 ランレベル参考 Sになってるファイルは起動時に init.d/ 以下が実行されて自動起動するんでしょうな。 参考 参考 |
$ sudo yum -y install httpd
インストールするパッケージはhttpd。 -yは、すべてにyと応答するオプション インストールできたら、以下の設定ファイルを開く。 $ emacs /etc/httpd/conf/httpd.conf DocumentRoot ここがホームディレクトリになる。 ここ以下に置いたファイルがそのままブラウザのURL部分になる。 参考 $ sudo /etc/rc.d/init.d/httpd start で起動。 DocumentRoot 直下に index.htmlを適当に書いておいてみて、ブラウザでサーバのIPアドレス直に打ってみると、表示される。 |
なんとなくKlabのplaygroundを使ってみる。
インストール手順発見。なんの因果かちょうど昨日今日ハッカソンやってる… http://www.slideshare.net/KeiNakazawa/131102-playgroundthon macportsのアップデートがうまくいかないので、面倒なのでhomebrewに乗り換えた http://d.hatena.ne.jp/fuzzy31u/20130717/1374078678 でインストールできる。楽チンだ インストールディレクトリは /usr/local/bin/以下。 $ ln -s /usr/local/bin/XXX ~/bin/XXX oggencのみ、brew install oggenc ができなかった。ググると、 $ brew install vorbis-tools というので行けた。 で、playgroundのソースはここ。git-hubにあるので取ってくる。 https://github.com/KLab/PlaygroundOSS ここまでに実行したコマンド $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" $ brew install lame $ brew install lua $ brew install swfmill $ brew install vorbis-tools $ ln -s /usr/local/bin/lame ~/bin/lame $ ln -s /usr/local/bin/luac ~/bin/luac52 $ ln -s /usr/local/bin/swfmill ~/bin/swfmill $ ln -s /usr/local/bin/oggenc ~/bin/oggenc $ git clone https://github.com/KLab/PlaygroundOSS で、README を読んだ(全部英語…)。 MacでiOSでサンプルプロジェクトを動かすための最短ルートをまとめるとこうなる。 (以降のディレクトリ表記は、取って来たgit管理下のトップディレクトリ PlaygroundOSS が基点) XCodeを開いて、以下のプロジェクトを開く。 Engine/porting/iOS/Project/SampleProject/SampleProject.xcodeproj 左のプロジェクトビュー(Cmd + 1 で表示)の"ProjectResources"と"SampleProject" に、 Tutorial/01.SimpleItem/.publish/iphone をドロップする。 するとこんな感じになる で、Cmd + R で実行! おお、動いた。 というわけだ。 要するに、.publish/iphone ができていればほぼ完成したも同然、というところだ。 そこをどうやって作るのかは次回の記事に。 (キーワードは Lua と Toboggan) |
mac には yum とか apt-get とかが実は入っていなかった。
定番は MacPorts http://www.macports.org/ インストールしたら、ターミナルを再起動して まずmacportsを最新に更新 sudo port -v selfupdate で、gitをインストール sudo port install git-core (XCodeが古いとインストールできないらしい。そのときはMac App StoreからXcodeの最新版をアップデートしよう) |
ファイルの中身をダンプ
$ od -tx1c ファイル名 odはOctal Dump の略 -t の後ろにオプションをいろいろ。 c 文字で表示 x1 1バイトずつ16進数で表示 d4 4バイトずる10進数で表示 類似のコマンド $ hexdump -C ファイル名 |