ぬるすぺいす遍在

仕事がらみや物書きの勉強したことや、日々雑感

ツールの概要調査 雑記

仕事でざっくり調べたことを記録しておきます。

断定口調になってますが、実際にすべてを試したわけじゃないので、実際は「調べてみたところ~らしいですよ」ってところ。

 

■Entity Framework

.NET Frameworkに含まれる、データアクセスに関わるフレームワークです。

 https://msdn.microsoft.com/ja-jp/library/bb399567(v=vs.110).aspx

 データベースを.NET上で扱いやすいようモデル(EDM)化します。
モデルを元に、データベースのテーブルを抽象化したクラスがフレームワークによってつくられます。
そのため、プログラマはクラスのプロパティやメソッドを操作する感覚でデータベースに格納したデータの検索や更新が行えます。

さらに、モデルはデータベースのテーブルそのものではなく、データベースの都合上でどうしても必要になってくる中間テーブルなどを意識する必要がない形で構築できるため、プログラマが直感的なデータ操作ができるようになっています。
具体的な例を挙げると、「店舗」テーブルと「商品」テーブルを関連づける「在庫」テーブルをプログラマが意識する必要がなくなります。
SQLでJOINを行うといったことが不要になる)
プログラマは「店舗」クラスのオブジェクトが複数持っている「商品」クラスのオブジェクトを直接操作でき、その結果をSQLを使用せずにデータベースに反映できます。

 


ClickOnce

Windowsアプリケーションのインストール・アップデートに関する仕組みです。

 https://msdn.microsoft.com/ja-jp/library/t71a733d.aspx

 Visual Studioからアプリケーションの発行を行う際にClickOnceが使われています。

Windowsインストーラーと比べてシンプルで柔軟なインストールが可能で、アプリケーションのアップデートも簡単に行えるようになります。

・シンプル:インストール時にウィザードであれこれユーザに問わない
・柔軟:CDなどからのインストール、Webからダウンロードしてインストールなど、複数の形式に対応

また、ユーザがアプリを起動した時に、アプリが自動でアップデートがあるかを探しにいきます。
ベンダーはサーバー(ユーザーのイントラネット上でも、外部のWeb上でも可)の指定場所に最新バージョンを配置するだけでよく、ユーザー、ベンダーともにアップデートの手間が軽くなります。

 


■Flyway

データベースのバージョン管理や移行をサポートするツールです。
(DBマイグレーションツール)
海外産のオープンソースのツールです。

 https://flywaydb.org/

 データベースへの変更(変更するSQLファイル)を都度バージョン記録して
います。データベースの変更によって不都合が生じた場合に、DBを過去のバージョンの状態に簡単に戻すことができます。

別環境に、指定したバージョンの状態のDBを簡単に再構築できます。

Java動作環境(JVM)で動作するようで、同じ環境で動作するビルドツールなどと連携させて使用することが多いようです。
Flywayの操作をビルドツールのスクリプトで自動化したり、Javaコードで作りこむことができるようです。

JNDIについて(とおまけ)

ものっそいひさびさにJavaの話。

それもいまさら聞けない系の。

JDBC利用時に定番のjava.naming.Context.lookupによるDataSourceの取得で、"java:comp/env/[データソース定義名]"とか決め事のように書いていたけど、その"java:comp/env/"ってなんやねん、と。

 

java:comp/env/"で始まる記述のしかたは、JNDI「ENC (Environment Naming Context:環境ネーミング・コンテキスト) 名」と呼ばれ、lookup する側の Web アプリケーション (*.war) や EJB-JAR (*.jar) 内でのみ有効なネームスペースに定義されます。

今さら人に訊けない JNDI: 第 2 回 「リソース参照って何ですか?」

 

へえ~。

 

あーほんじゃ昔よく見たClass.forNameでJDBCドライバ指定するあれは?

 

ベンダJDBC Driver は java.sql.Driver を実装している必要があり、その実装クラスは static initializer で java.sql.DriverManager.registerDriver(java.sql.Driver) を使って登録している。

 

Class.forName -> static initializer -> DriverManager.registerDriver って流れ。あとは DriverManager を経由して各 Driver にアクセスして使用する。

Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。

 

ほーほー!

 

何でも決め事だからと思わずに調べるのは大事ですな。

 

こっそり

ものづくりがらみはいつ気分が変わったりとかでお蔵入りになるかわからぬゆえ、大声では話せぬ。

 

1.小説執筆

もう3年くらいのプロジェクトになりそう。

丸一年以上構想にかけて、ようやく冒頭を執筆しはじめたのが数か月前。

で、これがまたストップしている。

放置していた冒頭を最近読み返していて、赤入れ必要なところだらけで悶絶。まあ、そんなものですよね。

しかしわりと鮮度が大事なネタな気がするので、執筆が終わったころに通用する内容なのだろうか……という疑念を抱きつつ。

でも書きます。書ききらないと次のステップには上がれないわけで。難儀。

 

2.自作RPG

こっちのほうがいつエターナる(=ポシャる)かわからぬリスクをはらんでいる。

が、これまでも幾度もあれやこれやサンプルを作ってだいぶ制作ツールのRPGエディタの使い勝手はわかってきているし、今回はどんだけ時間かけても仕上げたいところ。

それまでにWinのバージョンが上がって、RPGエディタが動作しなくなる、なんてことがないように……まあ作者様のサポートがきっちりしているから、そこは大丈夫かな……。

VBしてます

仕事でBVさわることになり学習中。

それほど難しいことを求められているわけでもないのでトピックはない。

仕事での要件よりも自習で使ってるWebBrowserで不明点が。

バージョンをIE11として認識させるのにレジストリの「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION」で値を入れてやればいいらしいのだが、Yahooとかで確認してもうまくいっているように見えない。

 

上記のソースはググるといっぱい上がってるので、きっと自分が何か間違えているのだろう。

この対策取らないと、IE7で動作してしまい、使い物にならないのでどうしたものか。

他にもWin7では普通に動作するのが、Win10環境ではダメとか。主にファイルアクセスが。まあこれはOSのセキュリティだわな。

ひさびさ&物欲メモ2

このブログの存在意義は……まあいい。

 

ここのポスター欲しい。だが保留。

http://emeraldforest2015.web.fc2.com/html_folder/poster.html

 

このライブディスク欲しい。保留。

www.square-enix.co.jp

 

これ欲しい。保留。

www.amazarashi.com

 

ゲームは女神転生4とかペルソナ5とかサガを保留し続けていてもはやどうでもよくなりつつある。

ニーア・オートマタも同じ運命かな。そもそもプレステ4持ってないし。