業務でしばしばエクセルVBAを用いたツールを作ってきた。
簡易ツールもあるが、かなり業務を遂行する上で必須となるようなツールも作ってきた。
はじめて触れたのは新人のころで実行環境と開発環境がエクセル1個で済み、
マクロの保存なんかですぐにコードが保存できる点なども勉強しやすくこれはいいと思って
食い入るように勉強したのを覚えている。
ただ、最近はVBAでツールを作成することに少し疑問を抱いてきた。(重要度が高いツールに限る)
業務上必須となるようなツール。
例えば開発ルーチンに組み込まれるようなツール。
ソースの自動生成とか。試験ツールとか。
こういったツールは、開発の状況次第でメンテナンスが頻繁に発生したりする物だと思う。
エクセルVBAをわざわざ使うということは、そのツールの扱うデータはエクセルである場合がほとんどである。
エクセルVBAはエクセルのデータを参照する場合にはとても楽で悪いところが見当たらないように思える。
だが、メンテナンスが頻繁に発生する場合に以下の観点でエクセルVBAはとても扱いづらい。
・バージョンの管理
・使用者へのアップデート通知とその徹底
・メンテナンスを行う人間の教育
上記のような理由で僕は最近VBAでツールを作成することに少し躊躇する。
これからはなるべくJavaを用いて業務ツールを作成しようと思う。
POI、VelocityをはじめJavaでも実現が可能だから。
あとVBAはOSによっていきなり参照が効かなくなったりするしね。
長々と講釈たれたなぁ。
何年後かに自分で見たら違う意見を持ってたりして恥ずかしくなるんだろうな。
2011年11月12日土曜日
2011年11月3日木曜日
MySQL5をMacにアンインストールとMacPortsで再インストール
MySqlはMacに前に入れたが、なんか入れ直したくなったので入れ直した。
まずアンインストール。
次に、MacPortsの更新確認とか行う。
とりあえずこれは馬鹿長い。
MacPortsで再インストールする。
以下のコマンドを実行しないと、MySqlが動かない。
rootのパスワードを上記メッセージないように従って、設定する。
これで再インストールは終わり。
続いて設定を行う。
MySQLの設定ファイルをテンプレートからコピーする。
編集する。
ここまでで再インストール作業は全て完了
すでにMySQLが立ち上がっているなら停止/起動を行う。
ちなみに、MySQLの文字コードが以下のようになっていることを接続した後確認すると良いです。
まずアンインストール。
# rm -rf /usr/local/mysql # rm -rf /usr/local/mysql-5.X.XXXXXXX # rm -rf /Library/StartupItems/MYSQLCOM # rm -rf /Library/PreferencePanes/MySQL.prefPane # rm -rf /Library/Receipts/mysql-XXXXXXXXXXXXXX.pkg
次に、MacPortsの更新確認とか行う。
とりあえずこれは馬鹿長い。
sudo port selfupdate sudo port upgrade outdated
MacPortsで再インストールする。
>sudo port install mysql5-server …省略… ########################################################### # A startup item has been generated that will aid in # starting mysql5-server with launchd. It is disabled # by default. Execute the following command to start it, # and to cause it to launch at startup: # # sudo port load mysql5-server ########################################################### ---> Installing mysql5-server @5.1.59_0 ****************************************************** * In order to setup the database, you might want to run * sudo -u _mysql mysql_install_db5 * if this is a new install ****************************************************** ---> Activating mysql5-server @5.1.59_0 ---> Cleaning mysql5-server
以下のコマンドを実行しないと、MySqlが動かない。
>sudo -u _mysql mysql_install_db5 …省略… PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password' /opt/local/lib/mysql5/bin/mysqladmin -u root -h PC名.local password 'new-password' Alternatively you can run: /opt/local/lib/mysql5/bin/mysql_secure_installation …省略…
rootのパスワードを上記メッセージないように従って、設定する。
>/opt/local/lib/mysql5/bin/mysqladmin -u root password '設定するパスワード'
これで再インストールは終わり。
続いて設定を行う。
MySQLの設定ファイルをテンプレートからコピーする。
>sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
編集する。
>sudo vim /opt/local/etc/mysql5/my.cnf …省略… # The MySQL server [mysqld] port = 3306 socket = /opt/local/var/run/mysql5/mysqld.sock skip-locking key_buffer_size = 16K max_allowed_packet = 1M table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K ## OWNSETTINGS …書き加えたところ default-character-set = utf8 default-storage-engine=innodb skip-character-set-client-handshake
ここまでで再インストール作業は全て完了
すでにMySQLが立ち上がっているなら停止/起動を行う。
>sudo /opt/local/share/mysql5/mysql/mysql.server stop Shutting down MySQL ... SUCCESS! >sudo /opt/local/share/mysql5/mysql/mysql.server start Starting MySQL . SUCCESS!
ちなみに、MySQLの文字コードが以下のようになっていることを接続した後確認すると良いです。
mysql> show variables like 'char%'; +--------------------------+-----------------------------------------+ | Variable_name | Value | +--------------------------+-----------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /opt/local/share/mysql5/mysql/charsets/ | +--------------------------+-----------------------------------------+ 8 rows in set (0.00 sec)
登録:
投稿 (Atom)