p_chinのおっぱいブログ

UnityとPerlなど

2013-01-01から1年間の記事一覧

開発環境じゃなかったらLogを出さなくする仕組み

ストアに申請するビルドだけLog出さない様にしたりとか、できる namespase無しのこのクラスをプロジェクトに置けば、こっちが優先的に参照される 開発環境じゃなかったらLogを出さなくする仕組み

testflightのアップロードAPIにcurlでPOSTすると、レスポンスに'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)が返された問題あったけど治ってた

今日になってから、いきなりこのレスポンスが返される様になった気がする。 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) 被害 アプリケーションバイナリ自体はアップロード出来ていて、実機にinstallしても、特に問…

Unityのversionによって起動時にダイアログで警告を出すEditorScript書いた

versionが足りないと、以下の様な表示を出す様にした 取り急ぎ、version比較条件書き換えて表示させた 必要なAPI Unity起動時に、[InitializeOnLoad]Attributeを付けたクラスのコンストラクタを呼んでくれる。 InitializeOnLoadのリファレンス あと、Unityの…

TestFlightにapkをアップロードする時にInfo.plistやAndroidManifestに日本語が含まれてるから失敗した話

今回はアプリ名を日本語に設定(UnityのPlayerSettingsのProductName欄で)したapkをTestFlightのAPIをcurlコマンドで叩いてアップロードしようとして、その事件が起きたのでメモ 具体的にどういう失敗なのか? 試しにAndroidManifestに日本語が含まれてるapk…

rubyファイルを実行すると、shebangの書いてある1行目でInvalid charエラーが出た時の対処

Xvideos.rb:1: Invalid char `\357' in expression Xvideos.rb:1: Invalid char `\273' in expression Xvideos.rb:1: Invalid char `\277' in expression 上記の様なエラーが出る。 原因は、rubyやshファイルをBOM付きutf-8で保存してしまうと、何故かsheban…

foreachでコレクションを回す時に、回してるコレクションを操作してしまった時に起こるinvalidOperationException~

c#

なんか、foreachの部分でエラーが出てびびった // 実際にはhogeList.Clear使えばいいけどforeachで全要素を消したい時 foreach (hoge in hogeList) { hogeList.Remove(hoge); } これをやると、invalidOperationExceptionが投げられる invalidOperationExcept…

みなとみらいのドッグヤードで行われたプロジェクションマッピングみてきた

[イベント公式サイト] http://www.yokohama-landmark.jp/web/pickup/special/13dockyard_pm/top.html なんか、みなとみらいの過去から未来の建造を船に乗って冒険する感じの演出だった。 整理券が各時間帯毎に500枚まで配られてる。 その整理券が若い番号な…

UnityのAssetBundleのCacheについて

Cacheしてくれる条件 WWW.LoadFromCacheOrDownload(url, version);でurlに配信されているAssetBundleを取って来れるけど、どの条件でCacheを使うのか分からなかった。 どうやら、AssetBundleのversionで指定した物が以前にDownLoad済みで、且つCacheもストレ…

xcodebuildコマンドを打つと/Developer/usr/bin/xcodebuild' (No such file or directory)と出る時

しかしwhich xcodebuildすると/usr/bin/xcodebuildにあるから意味分かんなかった。 対処法 なんかXcode.app以下のxcodebuildを見てるみたいなので、sudo xcode-select -switch /Applications/Xcode.app/Contents/Developerすれば、Developperディレクトリ以…

(5)先週の小さい技術メモを全部まとめた(perl,unity,c#)

perl ファイル演算子便利 http://www2u.biglobe.ne.jp/MAS/perl/ref/filetest.html 適切なファイル情報が引けるので、existなら-eに代用出来る unity Object.DestroyImmediate 該当のオブジェクトだけでなく、そのオブジェクトが参照してるAssetも削除してし…

WebPlayerでtwitterの投稿ページを開く

twitterの投稿ページを投稿する文字指定して開く というのを試して盛大にハマッたのでメモ。 結論としては、OpenURL関数使うのが一番いい。 jsとcsのURIエンコーディング問題 OpenURL関数とExternalEval関数 WebPlayerのデモ jsとcsのURIエンコーディング問…

perlで時間を固定するの処理で色々ハマった時のメモ

クライアントサイド(Unity)の時間依存の処理(2013-07-10〜2013-07-20までにログインしたら報酬プレゼントとか)のテストを書きたかったので、サーバの時間を固定する処理が欲しくて書いた時に悩む事が多かったのでメモ BEGINEブロックでCORE::GLOBAL::timeな…

Unity終了時にSaveされてないAssetがあった時の確認画面を分かりやすくする方法

SaveしてないAssetがある状態でUnityを終了させようとすると、「saveしてないぞ!」っていう確認のdialogが出るは皆さんご存知だ。 これをもっと見やすくする方法があった ただ単にUnityのPreferences(cmd+,)のGeneralにある、Verify Saving Assetsをtrueに…

(4)先週覚えたけどブログにする程ボリューム無いから全部まとめてメモ

perl Data::Validatorの、hashで引数渡さなくても良いStrictSequenceというのもある http://search.cpan.org/~gfuji/Data-Validator-1.03/lib/Data/Validator.pm#___top リファレンスの例文 sub hoge { state $rule = Data::Validator->new( foo => 'Str', )…

Mouseを少し使ってみた

初めてMouseを使ったクラス作ったりしたので、その覚え書き 多分ドキュメント読めばOKな内容だ。 使用例 package Fugu::Base; use Mouse; #Mouseのコード書くぞ(><) has life => ( is => 'rw', #get,setを許可 isa => 'Int', #Validateもしてくれる required…

perlでメソッドや関数を作る時に気をつけたい事のメモ

最近一つの機能をガーッと実装して、気付いたら分かりにくいコードを量産してたので、下記に今後から気をつけたい事をメモる そもそも関数にする理由 関数名の先頭にアンダースコアを付けて外部クラスから呼ばれたくないアピールできる 複雑な処理をする場合…

tmuxのコマンドモードのkey-bindをC-mにして死んだ

今朝、「なんかtmux上だけENTER効かないんですけどー」ってなってた CR = C-m, LF = C-jに標準で割り当てられてる だからC-mにコマンドモードのkey-bindに割り当ててたらENTER押せなかった まとめ テストに出るらしい

(3)先週覚えたけどブログにする程ボリューム無いから全部まとめてメモ

Tool ILSPAY http://sourceforge.net/projects/sharpdevelop/files/ILSpy/ DLLをデコンパイルするツール duコマンド サーバ内で使うと一時的に負荷がかかるのであまり良くない http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230748/ ディレクトリ内…

n+1問題を体験しました

ORM使ってて、便利で余裕キメてたらn+1問題を起こしてた。 n+1問題とは 1回目 のselectで、あるテーブルのレコードの集合を取ってきて、更にまた別のテーブルから先ほど取得したレコードデータ使用して n回 selectクエリを発行してしまう現象だ。 うまく説明…

エラーのハンドリングはコントローラーで

MVCパターンを利用したフレームワークのArkとか使ってると、基本的にModelで出たエラーをControllerの、例えばhoge/errorというアクションに渡してクライアントにエラー文を送ったりする。 Modelでエラーを丸め込んで投げちゃうのは良くない 以下の様な感じ …

MySQLのカラム型の使い分けについてなど

DB

db設計する時にカラムに与える型の選び方とその理由について教わった。 MySQL公式見たら他にもカラム型あったけど、今回は良く見るカラム型について書く signとunsign c#とかだとintとuintという表記でこの2つは分かれている signはマイナスも含んだ表現(int…

(2)先週覚えたけどブログにする程ボリューム無いから全部まとめてメモ

Tool pandoc Textile、MarkDownからHTMLまで相互変換できるらしいし、便利そう http://johnmacfarlane.net/pandoc/try/ Perl 変数名の頭文字の*マーク 正規表現と同じで、全ての型に対応するものらしい。 http://d.hatena.ne.jp/chaichanPaPa/20090617/12452…

XamarineStudioでviモード使えたけど物足りなくて止めちゃった

perlはvimで書いててUnityはXamarineで書いてるから、ちょっと怠くなってきたのでPrefarenceに便利項目無いか探してみたらviモードで操作出来るの知った。 でも、デフォルトの状態だと、Ctr+vのVisualBlock使えないし、コマンドモードのコマンドも打ちづらい…

perlの素の例外処理

perlには例外処理が無いからTry::Tinyとかの例外処理用のモジュールがあるって認識だったけど、違った。 evalの例外処理について Try::Tinyは以下のevalを使った例外処理の記述をtry{}catch{}にして例外を返してくれるモジュールだった。 eval { die 'fugu' …

(1)先週覚えたけどブログにする程ボリューム無いから全部まとめてメモ

Const.pmとconfig.pl 環境によって変更する値はconfig.plで そうじゃないのはConst.pmで管理した方がいい config.plが膨らんじゃうのも見づらい トランザクションについて メソッドの中で多くのDB操作をするならば、メソッドの中でトランザクション宣言した…

nginxでAssetBundleを配信する時にハマった

nginxでAssetBundleを配信 AssetBundle(.unity3dファイル)はバイナリで、ブラウザで読めないので表示やダウンロードは出来ないようだ 正しく配信されてるかどうかはcurlコマンド使ってターミナル等から確認するのが良い unity3dフォーマットファイルのConten…

HTTP::Request::Commonからperlのファットコンマなどを思い知った

POSTメソッドの引数に無名配列の中にハッシュの様な物が入ってて意味分かんなかった #色々省略してるけどこんなん POST($url, [ fugu => 'kawaii', oppai => 85, ]); あれ?配列の中にhash(の様な書き方)を入れると展開されるんじゃなかったっけ? もちろん…

SharpUnitの処理の解説~Unity3D_TestRunnnerについて

職場の先輩方がSharpUnitをUnityのテスト用に色々改造してたので、自分もやりたいな〜と思っててコード読んでたけど、一回読んだ内容を忘れて読み直したのでメモしておこう。 一つの記事に全て書くと分かりにくいし長文読むの怠いから、分けて書く。 今回はS…

Dictionaryの拡張メソッド書いてみた

c#

ジェネリックメソッド初めて書いた。 あと、第一引数にthisを使う事によって、既存クラスの拡張メソッドを作れるなんて知らなかったので良かった。 今のところはdictionary("result", "ok");みたいにしないと値取れないけど、将来的にはdictionary["result"]…

githubでbranchの状態を過去に戻したいときのあれこれ

pushしたけどイケてないcommitがあったので、消したかった時に起きたカナシミと、その対処法について かなりテンパったんやで... こんな感じでミスした イケてないcommit以前のcommitのhashを直で指定してcheckoutした hashに名前着いてないし、current bran…