blogこの広告は、90日以上更新していないブログに表示しています。Frameworkで親子関係のアソシエーションを張ろうと思ったら張れなかった話です。対象テーブルのフィールドは下記。得意先コード今回は明細データ単独で処理したいこともあるので、行番号ではなく明細番号を主キーにして伝票番号で伝票データと繋げます。Frameworkでアソシエーション付けて触ろうと設定したのですが、伝票番号同士で設定ができないのです。明細データ側の伝票番号がエンティティキーでは無いので当然といえば当然なんですが、なぜか後輩は設定できたと。確認したところバージョンが関係していたようでFrameworkのバージョンが自分は3.5、後輩は4.0でした。ツールボックスからアソシエーションを選択、2つのテーブルに紐付け、表示された線をダブルクリックで表示されるダイアログが微妙に違っていました。3.54.0プリンシパルキーと紐付けできるのが「依存キー」と「依存プロパティ」と違っており、依存プロパティは全ての項目が選択可能に対し、依存キーはエンティティキーのみの選択しかできません。外部キーつけろよで話が終わるのだと思いますが、うちの会社はデータベースをただの入れ物としてしか使わず、外部キー文化がありません。今回はFrameworkの制約があるので仕方なくこのまま行くことにします。FrameworkのアソシエーションTweet広告を非表示にするもっと読むコメントを書く2014-01-23eclipseでWinMergeを使用して変更内容を表示するAndroid今回はeclipseの話。コネクターを使用しています。Provider修正前後のソースを比較する場合[比較]->[作業コピーからベース]で見るのですが、このエディタが非常にわかりづらく嫌だったので使い慣れたWinMergeで表示するように設定しました。設定の[チーム]->[SVN]->[Diffビューアー]を開く。画面右側の追加ボタンをクリックし[ファイル関連付けパラメーターの追加]ダイアログを開く。[拡張子またはmime型]に*(アスタリスク)を入力する。プログラムの引数]の[プログラム・パス]にWinMergeのパスを入力する。(パス中にスペースがあるせいで、前後をダブルコーテーションで括る必要がありました。"${mine}"」と入力する。以上、これで使い慣れたWinMergeを使用することが出来ました。VB.NETMVCの仕事はまだ来ません。その間に別の仕事の対応をやっているわけですが。このシステムはWCFサービスをサーバーに置き、地図を利用したWindowsアプリとAndroidアプリが場所(座標)を追加したり編集したりするんですが、どうも起動時に場所を読み込んでくる部分が遅く気になっていました。稼働当初より数は増えているので当然の話しかもしれませんが、それを差し引いてもモッタリ感が強くて。原因は転送量なんだろうなと予想はついていました。場所データの公開はEntity経由のRESTサービスでビューを丸々公開しています。Windowsアプリはサービス参照で、Androidアプリは自作ライブラリでこのデータを利用するわけですが、このデータ取得の転送量がえらいことになってました。JSONでも7M、XMLに至っては倍の15Mほどでした。これはマズイっしょということで現在修正中なのですが原因をいくつか。ユニークURLが勝手に付く配信されるデータ全てにユニークURLがつきます。これがハンパな量じゃない。結局その部分を何にも使うわけではないので無駄以外の何物でもありません。社内にはデータベースのテーブル名、フィールド名に漢字を使う傾向があります。これに関しては全く異論は無くむしろ支持派です。シンボリックだと本来の意味に置き換える脳内変換の時間や、資料を漁らないとわからないという無駄な時間ができてしまうので。これが仇となってエンコードされた文字列がこれまた半端じゃない量で降ってしまうわけです。余計な項目まで降っているビューとして使用しているので条件だけに使用したい項目も含まなければいけず、それを丸々公開してるもんで降ってからの処理には使わないものまで降らしています。改行コード、空白の付加JSONには付いてないようでしたが、XMLの場合改行コード2バイトと意味不明の空白が付加されています。Minifyが当然、セミコロンの1バイトも圧縮する時代に雑すぎるでしょ、みたいな。これを解決するためにやること。API使えよってツッコミは無しで。配信に必要な項目だけのクラスを作成してDataMember属性のNameで限りなく項目名を短くします。場所の名称や漢字の使用されているような項目は排除しキー項目、経度緯度ぐらいにして、名称等の情報は必要なときにまた引くことにします。引いてもクリックされて内容を見られるのは僅かなのでこれでも大丈夫そうです。これでユニークURL、漢字、余計な項目はなくなります。SOAP通信にすることによって無駄な改行、空白は抑えられます。Servicesでの公開は向いていない・・・というかやったところで嬉しい部分が実は少ないかなと感じました。いうわけで修正続けます。MVCは標準でHTML5のマークアップになります。プロジェクトテンプレートにはBootstrapとjQuery関係のスクリプトが入ってきます。大型本この商品を含むブログを見るタグに関しては色々なサイトを見ながら少しづつは見ていましたが今回は技術書を購入しました。こちらのサイトで知って読みましたがいろいろな疑問が解けました。今までhtml(ドキュメント、文書)とcss(デザイン)は別個だという認識は当然ありましたが、どっちが強い・・・というか、表現が難しいのですがhtmlはcssを意識して書かなければいけないのか、はたまたその逆なのかイマイチわからないでいました。この本を読んでその疑問が無くなりました。他にもコンテンツモデル、カテゴリーの概念、ドキュメントアウトラインの重要性など基本的なことが理解でしました。StartupjQueryに関しては今まですいません、逃げてきた部分もあるので本を購入しました。現在読んでいる途中です。BootstrapはTwitterが出してるCSSフレームワーク(っていうのか?)で、これを学習中にLESSに出会いました。なんでも「CSSを出力するためのメタ言語」だそうで。LESSファイルを記述してコンパイラがそれをCSSに変換してくれます。.NETで言ったらT4みたいな感じでしょうか。実は3つ目のサイトを見ながらやってたんですが結構内容が端折ってあって若干戸惑いました。LESSのコンパイルの部分とか。これらを使った仕事のスタートはもう少し先になりそうですが2014年に加速しそうな技術を学習できたいい時間でした。部分的に動かしたことはあったもののこうやってじっくりと勉強したことは無かったです。環境はVS2013、Framework4.5、希少種のVBですw以下やったこと。SiteMSDNにあるMVCのチュートリアル3本。3本めはMVC3でよりショッピングサイトに近いような内容です。サイトは英語ですが機械翻訳でもなかなかの精度でなんとか意味は伝わってきたので問題は少なかったです。チュートリアル自体はC#なもんでVBに写経しながらやるわけですがRazor構文が一番苦労しました。VBの構文を解説しているところが見つからず時間がかかりました。かずきのBlog@hatena認証部分はこのお二人のサイトを参考にさせていただきました。ログインは欠かせない機能なのでキチンとフレームワーク側で提供してくれているのにもかかわらず、自力でやってしまうようなアホなことを今までやっていたので力を入れて勉強しました。小野さんのところではテンプレートに入ってくるIdentity認証の拡張方法、かずきさんのところでは認証なしのアプリに独自クラスを利用した認証処理の実装を学びました。小野さんが記事中で仰っている「メールアドレスをユーザー名として使うことができない」って部分はUserValidatorクラスのAllowOnlyAlphanumericUserNamesプロパティで解決できました。Falseここまでやってやっぱり気になるのは、HTML5と標準で入ってくるBootstrapやjQueryなわけで、そっちの方も改めて勉強(中)しました。明けましておめでとうございます。本日より仕事始め、2014年始動の日です。思うところがあって、はてなダイアリーからブログへ引っ越しました。テストを兼ねてご挨拶投稿です。本年もよろしくお願い致します。みなさんも同意してるんですよ。アプリ入れる時とか聞かれますよね?・・・って意識してない人がほとんどだろうなぁ。Beta版とはいえ監視対象ユーザー機能は初めて知った。あれ?Simejiもなの??Google日本語入力の前は使ってたからビックリ。百度って中国系だよねぇ。なんか頑張ってるなぁっていい印象だったんだけど、こういうことがあると、あぁやっぱりな、ってなっちゃうよなぁ。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。