多分目的
- なんか各ActivityでGlobalに使えるコンテキスト的なクラスが欲しいんじゃね?という時に使う
やり方
- Applicationを継承したクラスを作る
- protectedなコンストラクタ(引数ついてる方)を呼び出せるようなpublicなコンストラクタを使う
- Application属性を付ける(勝手にAndroidManifestに追記してくれます)
多分、どっちが悪いってわけじゃないんだろうけど。。。 | |
ServiceStack.OrmLiteのautoDisposeConnectionをfalseにしてMySQLを使うと1日ぐらいでConnection must be valid and Openっていうエラーが出るようになります | |
これはどうもMySQLのConnectionはプーリングしてるといつの間にかClose?Dispose?するっぽくて(長時間アクセスなしが入るかも)、それで上記エラーが出るらしい。 | |
回避策としては常にOpenするようにしましょうとここには書いてある | |
http://bytes.com/topic/asp-net/answers/325128-system-invalidoperationexception-connection-must-valid-open | |
で、一方、ServiceStackはautoDisposeConnection=falseだと一度Openしたのは二度Openしないってのが入ってるので、いつの間にか死んでる接続につなぎに行ってエラーになる/(^o^)\ | |
多分trueにすると解決しそうなので、これから試す |
typedef struct{ | |
BYTE waza[4]; | |
WORD userId; | |
semi_long exp;//3バイト整数ってなんだ。組み込みだとあるのかそんなの | |
WORD DoryokuPoint; | |
}Pokemon; | |
int holdIndex; | |
Pokemon* selectedPokemon; | |
Item* items; |
gtk#のバグらしい。GIMPでも発生してる | |
http://reddog.s35.xrea.com/wiki/GIMP2.8%E3%81%A7%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%8C%E6%B6%88%E3%81%88%E3%82%8B%E3%83%90%E3%82%B0%E3%81%AE%E5%AF%BE%E5%BF%9C.html | |
直し方 | |
本家からgtk#の最新版上書きインストール。 | |
http://www.go-mono.com/mono-downloads/download.html |
AuthPluginは/authがContinueパラメータを受け取り、認証後はContinueパラメータで指定されたURLにリダイレクトする設計になっています | |
そして、Continueはホストも含めたフルURLを指定するため、オープンリダイレクタになってしまう危険性があります | |
対処法としては | |
AuthServiceクラスはstaticプロパティとしてValidateFnを持っており、これにdelegateをセットすると認証前にValidateFnにセットしたdelegateが呼び出されるようになります | |
なので、ValidateFnに入れるdelegateでContinueをチェックするようにし、ホワイトリストに無いhostを指定されたらリダイレクトせずに400/404を投げれば良い |
まずはJenkinsの設定でmsbuildのパスとしてxbuildのパスを教える | |
NuGetを動かすためにはMicrosoft.Build.dllが必要なのでダウンロードしてNuGet.exeに置く | |
http://headsigned.com/article/running-nuget-command-line-on-linux | |
(libmono-microsoft-build*ではダメだったので、多分バージョン違いかDLL違いかと。。。) | |
環境変数EnableNuGetPackageRestoreをtrueに設定する | |
mozroots --import --ask-remove を実行し、mozillaの証明書をmonoにインストール |
public static class ScriptExtensions | |
{ | |
static Regex rxNonAscii = new Regex (@"\P{IsBasicLatin}", RegexOptions.Compiled); | |
public static byte[] ToUTF8Bytes(this string text){ | |
return System.Text.Encoding.UTF8.GetBytes (text); | |
} | |
public static string EncodeNonAsciiForLua(this string script){ | |
return rxNonAscii.Replace (script, (m) => | |
string.Join ("", m.Value.ToUTF8Bytes().Select ((it) => @"\" + it.ToString ().Trim ())) | |
); |
Java.Lang.Objectを継承しなさい。C#で。 | |
そうすると、勝手にDisposeとかJavaのポインタとか実装してくれる。 |
/// <summary> | |
/// AndroidUIスレッドのチャタリングを防ぐための機構 | |
/// </summary> | |
public static class AntiUIChattering | |
{ | |
public static EventHandler<T> WrapHandlerWithArgs<T>(EventHandler<T> funcForUIEvent) | |
{ | |
return (sender, e)=>{ | |
if(!Monitor.TryEnter(funcForUIEvent)) | |
return; |