初めてアプリ

思い立ってアプリを作ってみた。メモや所感など。

  • android-sdkインストール時jdkないって怒られて困った。戻るボタンおして進むと治る
  • エミュレータ起動が初回はかなり遅いし重い。sdkのversionが3だと特にそう感じた
  • ActivityとIntentを使って遷移とSQLiteを覚えてしまえば後はjavaの世界の話でそこそこ作れる
  • SQLiteで日付型がない?
  • アイコンは48×48
  • リソースをxmlで記載したとき自動でクラスがgenerateされてリソースアクセスが結構楽
  • string.xmlのうえで実行しちゃうとstring.out.xmlが作成されておかしくなる。違うとこを選択してstring.out.xmlを消して実行する

まだまだあるけど取りあえずこんなところで。

ログの切り捨て

いつも忘れるのでメモ。めんどい。容量なくてバックアップが取れないと詰む。

  1. DBのバックアップ取得
  2. トランザクションログのバックアップ取得
  3. BACKUP LOG DatabaseName TO DISK = 'nul' GO

ちなみに再起動なのか再接続なのかわからないけど実施しないとUIが更新されない(ManagementStudio上)

共通カラム

  • 共通カラムを変換すると共通絡むが最初にでる。。。のはどうでもよくてAccessContextはRuntimeにはいっててユーザとか時間のsetter/getterは用意されてるけどそれ以外の共通カラムがでてきたときはregisterAccessValueでkeyとvalueで登録をInterceptorとかでやっておいてcommonColumnMap.dfpropでgetAccessValueOnThread(key)とすればできる。で合っているに違いない。valueの型でcastするに違いない。

はまった

  • fieldにisNewなんて用意しちゃってgetter/setterを用意。jsp側でstruts2って書いておくと判定されない。public setNew(boolean isNew)とpublic boolean isNew()ってメソッドが自動でできてたのでああ、test="isNew"じゃなくてtest="new"なんだと思って変えたけどNG。newとか使っちゃダメでしたねorz。isNewlyとかisNotSavedとか適当に変更。。。

久々の言語

  • 久々に未知の言語を使ってるのだけれどもJavaC#の様にはいかなくて格闘中。メモリの管理がめんどい。。。引数の書き方とかもなんか慣れないし。あれ?これって年のせいかな 汗。xcodeに少しずつ慣れてきたけどやっぱりなんか使いづらいなぁ。そいやJavaOneの時期か。下期に入ってから3個目のプロジェクトに入るのだけど今回はJavaなのでなるほどな情報がリアルタイムで利用できたらいいなぁ。

Win32とかなんとかを初体験

  • DFSの名前空間作ったりフォルダリンク作ったりをC#で実施するのだけどそういうことを全くしたことが無くて初体験でした。またしても自分用のメモ代わりに。。。
  • DFSにフォルダリンク作成。リンク先のフォルダが無くても作れる。
    • こんな感じNetDfsAdd(@"nantoka\hoge\huga", serverName, filepath, comment, 1);
 [DllImport("Netapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
 private static extern int NetDfsAdd(
 [MarshalAs(UnmanagedType.LPWStr)] string DfsEntryPath,
 [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
 [MarshalAs(UnmanagedType.LPWStr)] string PathName,
 [MarshalAs(UnmanagedType.LPWStr)] string Comment,
 int Flags
 );
  • DFSからフォルダリンク削除
 [DllImport("Netapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
 private static extern int NetDfsRemove(
 [MarshalAs(UnmanagedType.LPWStr)] string DfsEntryPath,
 [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
 [MarshalAs(UnmanagedType.LPWStr)] string PathName
 );
  • DFSに名前空間を追加。相手が存在しないとエラーになる。
 [DllImport("Netapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
 private static extern int NetDfsAddFtRoot(
 [MarshalAs(UnmanagedType.LPWStr)] string ServerName,//darssbdc
 [MarshalAs(UnmanagedType.LPWStr)] string RootShare,
 [MarshalAs(UnmanagedType.LPWStr)] string FtDfsName,
 [MarshalAs(UnmanagedType.LPWStr)] string Comment,
 int Flags
 );
 [DllImport("Netapi32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern int NetDfsRemoveFtRootForced(
 [MarshalAs(UnmanagedType.LPWStr)] string DomainName,
 [MarshalAs(UnmanagedType.LPWStr)] string ServerName,
 [MarshalAs(UnmanagedType.LPWStr)] string RootShare,
 [MarshalAs(UnmanagedType.LPWStr)] string FtDfsName
 );

ほんとは共有設定とかもしたけどそっちはまんまどこかのサイトから利用しただけなので省略。