ようやく次の仕事が決まりました。来月からプログラマーになります。
でも要求されたのは、このブログでやっていたJavaではなくてC#でした。
まあ、C#はVB.NETの親戚みたいな物なので、問題無かろうかと・・・

一応、準備はしておくように言われたので、以前にVB.NETで作った、
マンデルブロー集合と結晶図のプログラムをC#にしてみました。

CS10290.jpg
CS1029.jpg


約6000ステップを1週間で変換したので少しきつかったが、Javaの様にライブラリ毎に全く違う
記述を求められる事が無いので、プログラムが組みやすいですね。
驚いたのはVB.NETのGUIの部品が、そのままコピペできたことです。
プログラム自体はJavaに似ていますが、部品の制御は殆どVB.NETのままでも動きました。

来月から本職のプログラマーになるので、趣味の世界のプログラムは暫くお休みします。
このブログの更新頻度も、落ちると思います。



スポンサーサイト
 2014_10_30


Androidアプリを公開してから3年以上経ちました。
この間、開発環境が大きく変化し、この環境を維持するのは困難な状況です。

また、結晶データや鉱物データはAndroid用に色々加工していて、公開してから更新
していません。(つまり、3年前のデータです)
ダウンロード数は、合計で8000以上行ったのですが、最近は頭打ちで、感想なども
全くなく、更新するモチベーションが上がりません。

そんなこんなで、本日、公開中止の処理を行いました。
今後は、PC版1本でやって行きます。



 2014_10_28


昨日、下記の画面が出まして、今まで有った「後で確認する」が無くなり、
最長4時間後には強制アップデートになってしまうという選択しか無くなりました。
こういうのはルール違反だと思います。(顧客資産を強制的に変更する権利は無いはず)

winndows8.jpg


家にはPCが3台あり、1台はデスクトップ、1台はノート(Macbook Air)、1台はタブレット、
その他にAndroid系が3台あります。
本の執筆を始めた2012年頃からメインマシンはノート(Macbook Air)になっています。
これは、アドビ インデザインが、これでないとまともに動かなかったという理由からです。
私はWindows側で入稿データを作りましたが、出版社はMACを使うのでMAC側でも
データの確認をしていました。

当時は、まだWindows8製品版が無く、OSX(Lion)+BootCamp+Windows8お試し版
を入れて使っていましたが、製品版が出た時にWindows8PROに入れ換えました。

冒頭のWindows8.1Updete画面ですが、これとは違う画面で1年ほど前から出だしましたが、
ある理由から、いつも「後で・・・」を選んでいました。
その理由とは、
①BootCamp(4)は互換性の問題があり(5)にUpdateしないといけないらしい。
②BootCamp(5)にUpdateするにはOSXをUpdateしないといけないらしい。
という情報からです。

私にとって、Win8.1にするメリットは何もないので、ノートPCの根幹となる、
「Windows+BootCamp+OSX」入れ換えを強制されるるという理不尽は受け入れ難いです。
その労力だけでなく、失敗するとデータやアプリが全部消えてしまいます。
しかし・・・・・、4時間という時間制限を、一方的にされてしまいました。
何という理不尽さだろうか・・・・

仕方ないので、時間内にバックアップをとれるだけ取って、OSXのUpdateから始めないと
いけませんでした。しかし、OSXのダウンロードが遅い・・・・・
結局、MAC側のUpdateが終わる前に、Windows側のUpdateが始まり、立ち上がった時に
BootCampの互換性が無いというメッセージを出しました。ただ、それ以外は動くので、
思っていたよりは深刻では無かった。
MAC側のUpdateは今朝の3時ころに終わり、最新のYosemiteに変わりました。
その後に、Windows側でBootCampもUpdateして、全部終了したのは4時でした。

先ほど、Web情報をさらったところ、私と同じような悲鳴があちこちにUpされています。
中にはアプリの互換が無くて仕事ができないという深刻なのも、ちらほら有ります。
ビジネス用OSにはこんな事をしないはずなので、コンシューマを軽視しているとしか
思えない所業です。今は無き、かつてのxxx社を思い出しました。



 2014_10_23


昨日(19日)、ダメ元でデータベースエンジンをSQLiteに変更してみました。
SQLite関連ソフトの入手、Javaプログラムの変更、鉱物DBの変換は意外とあっさり出来ました。
テーブル名の変更も不要で、文字化けも無く動作しました。(SQL作成部分のみ多数の変更有)

極めつけはMAC側で、なんとSQLiteは標準で入っているらしく、インストールも設定変更も
せずに、こちえらもあっさり動きました。(心配していた文字化けも無し)

難点は検索時間が約2倍になる事ですが、長くても5秒以内なので許容範囲です。
少しでも早くするために、デフォルトで「希産度ソート」するのを止めました。
そうすると、検索結果は英名順になるのですが、希産度ソートしたい場合は、
テーブルのrankカラムをクリックすれば済みます。

また、SQLiteには暗号化機能が有るらしいので、これが使えるか検討してみたいと思います。
公開するとなるとインストーラも必要なので、これと暗号化をセットで考えてみます。
という事で、本計画を再起動します。


MAC版ソフトを公開希望される方は、(その7)の下の拍手ボタンを押してください。
10月末までに、これが10カウント以上になったら、公開準備に入ります。



 2014_10_20


root権限でConfig設定を変えずに、プログラムから接続する際に設定を伝達する方法を
見つけました。これで、MACのセットアップが簡単になると思いきや、別の問題がありました。
それは、MySQLのライセンス条項と、データ保護の2点です。

まず、MySQLのライセンス条項についてですが、無償版MySQLを使うプログラムの
配布条件はGPLにしたがうとの事です。早い話、プログラム無償配布とソースコードの
公開です。(配布しない限り、この条件は適用されない)
GPLに従いたくない場合は、MySQLを私が購入して(ISVになる)希望者に売るという事に
なるのですが、私の購入金額が1ライセンス数万円になりそうで、これはあり得ません。

プログラムの無償配布とソースコード公開については、そもそもMySQLのソースコードを
見てもいないのに、利用するプログラム全部にGPLを適用するなんてナンセンスだと
思います。要するに、ライセンス買えってことなんだろうけど、高すぎますよ!

次に、鉱物データベースの保護機能について調べましたが、方法が無さそうです。
仕方ないので、データベースの中身を暗号化し、プログラム内で複合化するしか
無いようです。


整理すると、
①MySQLは止めてSQLiteあたりに変更が必要。
 しかし、テーブル名に日本語を使えないなどの機能制限が色々ありそう。
②SQLiteにもデータベースの保護機能が無いので、データの暗号複合処理追加が必要。

ということで、どちらもいばらの道なので、JavaFX版の一般公開は当面凍結します。
私のJavaのスキルアップにはなりましたが・・・



 2014_10_18


移植が完了しました。
VB.NET版に較べて(自分としては不要と思う)機能をかなり削ったので、約1万ステップで
移植できました。(VB.NET版は、約10年弄っているので、これの2倍はあります)

java1013.jpg

文字のバランスや、テーブル内の非IMA鉱物の文字色変更もできましたので、
現在版とは遜色ないと思います。(隠し機能の右クリック動作は、おいおい実装します。)
JavaFX8のcanvasには点線描画機能が無いようなので、関数を自作しました。

上の写真では、アプリメニューを画面上部の共通メニューバーに移しています。
こうしないと、MACでは何故か下部が欠けてしまうためなんですが、
何となくMACっぽくなった様な・・・・

Javaの実行形式ファイル(xxx.jar)をダブルクルックすると、WindowsでもMACでも
アプリが起動します。
元々は、自分のスキルアップのために始めた作業ですが、十分楽しめましたし、
JavaFXならこのレベルのGUIアプリが出来る事を、実感出来ました。


最後に、これを公開して欲しい方は、拍手ボタンを押してください。
拍手が10以上の場合には、MySQLの簡単設定について考えてみます。



 2014_10_15


検索機能の7割程度は出来たので、MAC側の環境を整えました。
Java8とEclipse4.4を入れ、DBアクセス以外は簡単に動作しました。(順調)
しかし、MySQLを入れてもエラーで動きません。
どうもMySQLの環境設定がWindowsと違う様で、ゴニョゴニョやっている内に
(その他の設定も色々変更して)やっと動きました。
root権限をとって、/etc下のconfigをviを使って変更・・・OS XってUNIXだったのを
実感しました。

java1011.jpg

左上の色付きの3ボタンがMAC(OS X)で動いている証拠です。
なんか、ビミョーに文字が大きくて一部はみ出していますが、初めてMACで動いているのを
見た時は感動しました。

ただ、これを配布するには、やはりMySQLが色々とネックになりそうです。
各自、頑張ってJava8とMySQLと・・・・をインストールしてね・・・と言ったら
使う気起きないだろーなあ。
それぞれの環境やVerによって、画面ややり方が違うので、マニュアルも作れないと思うし・・・・




 2014_10_11


開始から3週間近く経過しました。
面倒そうな元素の周期律表も含め、検索条件は全部実装しました。
まだ細かなところが色々と残っていますが、テーブル内のセルに色を付けたり、
センタリングしたるする方法がやっと判ったり、少しずつ完成に近づいています。
(作成したソースコードは、約6500になりました。)

java1010.jpg

結晶図も前回のJava SwingからJavaFX8に変更し、ボタンの類の配置が自由になって良いのですが、
FX8での点線の描き方がまだ判りません。

Javaプログラムと言っても、importするライブラリで、全く互換が無い状態になるのは、困りものです。
今回も、Android用のソースの半分以上が使えなかったです。
最新のJavaFXにも、1.x、2.x、8などいろんなバージョンが有って、Web情報を参考にしても、
エラーになったり期待の動作をしなかったり、何千回失敗したか判りません。
しかし、自分にとっては、鉱物データベースを1人で黙々と更新するよりも、はるかに面白い工程です。


そう言えば、始めたころに協力者募集とか言っていましたが、ほとんど終わってしまったので、
撤回します。すんません。



 2014_10_10



09  « 2014_10 »  11

SUN MON TUE WED THU FRI SAT
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

アクセスカウンタ

プロフィール

WG管理人

Author:WG管理人
鉱物結晶研究家

検索フォーム

ブロとも申請フォーム

QRコード

QR




pagetop