日別: 2017年11月17日

Xamarin.iOSでのストーリーボードを使わない開発

 Visual Studio で Xamarin.iOS のプロジェクトを作成すると、ストーリーボードなどという忌まわしいものがデフォルトで作成されてしまい非常に厳しい気持ちになります。この記事では、それらを削除して、コードでUIを構成していくためのステップを説明します。3分ほど作業をすれば邪魔なものが消えてなくなってくれます。

1. Main.storyboard を削除

2. ViewController.designer.cs を削除

3. ViewController の余計なコードを削除する

ViewController が partial class である必要がなくなったので、partial キーワードを消します。合わせて IntPtr を引数にとるコンストラクタも不要になりました。

4. Info.plist の Main Interface を削除

5. AppDelegate に ViewController を表示するコードを追加

6. 動くサンプル

GitHub で公開しているので適当にどうぞ: https://github.com/pawotter/Xamarin.iOS.NonStoryboard

MySQL スロークエリログを fluentd 経由で elasticsearch に流し込む

MySQL のスロークエリログを fluentd で elasticsearch に流し込む流れをメモ。基本は以下のステップ。

  1. my.conf のスロークエリログ出力設定をして mysql restart
  2. fluent-plugin-mysqlslowquery を導入
  3. ログを elasticsearch に流し込む fluentd の conf を書いて td-agent restart

1. MySQL のスロークエリログ出力設定

  • docs: https://dev.mysql.com/doc/refman/5.6/ja/slow-query-log.html
  • 以下を追加して MySQL を restart すれば OK
  • 起動中の場合は set global で対応できる(restart しないでもOK)

2. fluent-plugin-mysqlslowquery の導入

  • repository: https://github.com/yuku-t/fluent-plugin-mysqlslowquery
  • 以下のような具合でおしまい

3. td-agent の conf 作成

  • 送信側