MacBook ProをOS X Yosemite にアップデートした。何も考えずに、バックアップもとらずにアップデートした。
特に問題もなく、うまくいったようだ。そんなことをしたら、本当はあぶないのだが。
デザインが変わった。Finderのアイコン画像がフラットになった。ちょっとかわいくなっている。まるで昔のWindows9xみたい。これが今の流行りなんだろうな。
SSDが一杯になりそうで、何とかしなければいけないな。
とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。
#Bitbucket で課題トラッカーを後で有効にするには
ちょっと迷ったので、書いておきます。
下記のAtlassianのサイトのように、後からBitbucketで課題トラッカーを有効にしようとしたらできなかった。そもそもAdminタブなんて出てこない。Settingsメニュー(タブではないよな)に課題メニュー(これがタブなのかな?)には、何も出てこない。
これは困ったということで、そういえばAdminって何と訳しているのかな?管理者だよな、でもないよな、と思って言語を日本語から英語にしてみました。すると、上記の課題メニュー(issuesメニュー)にIssue trackerの設定が出てきたのでした。
Bitbucketの言語設定はベータになっているので、日本語の機能は仕方ないか・・・。
課題トラッカーを有効にする – Bitbucket ドキュメンテーション – アトラシアン日本語ドキュメント
Bitbucket 日本語ドキュメントはユーザー有志により不定期に翻訳されています。オリジナルのドキュメント (英語) は常にアップデートされており内容が異なっている場合がありますのでご注意ください。 ツール. 添付ファイル (0)(t) · ページ履歴 · 権限 · ページ情報 · このページへリンク.
今日はオープンソースコンファレンスに行ったけど、午前中でお終い。2コマ目でお客さんからヘルプの電話が入った。
ビルの停電でサーバーをシャットダウンしたけど、Webサイトのサービスが正常に動作していないとのこと。詳細のWebサーバーの状況を確認してもらう。
学食で昼食を取って連絡を入れてみると、WebサーバーのWindows ServerからファイルサーバーのQNAPが見えなくなったと。リモートで入ってみたけどわからない。そこで行ってみることにする。オープンソースコンファレンスの会場の明星大学は、日野というか多摩にあるのでお客さんの赤坂まではとても遠い。モノレールとJRを地下鉄を乗り継いで行きます。
行ってみると、Windows ServerからQNAPが見えていない。おかしいなと見てみると、QNAPのIPアドレスが初期アドレスに戻っていた。クライアントのPCのIPアドレスを無理矢理QNAPと同じネットワークに設定して接続する。あとはQNAPの設定WebサイトからIPアドレスで振り直す。これでWebサイトは復活した。
何でこんなことになったかは不明です。共有フォルダとかユーザーなどの設定は残っていた。一番は、ディスクに入っている膨大なファイルが消えていなかったのがよかった。
しかし、こんどは別のTeraStationのファイルサーバーが使えなくなっていると報告が来た。こちらは私の管理下ではないけど対応する。
こちらもIPアドレスが初期値に戻っていた。DHCPサーバーからIPアドレスをもらえていないのが原因か。ヤマハのRT105eがDHCPサーバーになっているはず。こちらフォーバルさんが電話機と一緒に設置している。RT105eにアクセスしたくてもパスワードがわからない。フォーバルさんが休みだし、さてどうするか。
ヤマハのルーターの場合は、シリアルポートから強制的にログインできるのです。ヤマハのルーターにはシリアルポートが付いていてよかったよ。だけどログインして設定情報を見ても、DHCPサーバーの設定にはおかしいところはない。ますは、TeraStationのIPアドレスを無理矢理設定する。こちらもTeraStationを同じネットワークにクライアントPCに設定しなければいけない。
TeraStationのIPアドレスを設定しても、接続できないPCと接続できるPCがある。接続できるPCは、DHCPからIPアドレスが正しく払い出されない。IPアドレスを設定してあげるとTeraStationに接続できる。接続できないPCは正しくIPアドレスがDHCPで払い出される。
ということは、ネットワークの途中で何か障害が起きているようだと予想した。ルーター配下からLANケーブルをたどっていく。LANケーブルにはタグもないし同じ色のケーブルだしということで大変。すると何段もハブを経由している。
一台おかしなハブがあった。上と下が1ポートしか使っていない。つまり、全く必要としないハブを見つけた。このハブを試しに取り除いてみる。何と、これでIPアドレスが払い出されていなかったPCにも、正しくIPアドレスが設定できるようになった。同様にTeraStationにも正常にアクセスできるようなった。
以上で解決。おそらくお客さんのほうで長年ネットワークが増設し続けて、いらないハブが出てきて、このハブがトラブルになってしまっていたのだろうと思う。しかしながら、一発でトラブルのハブが見つかって運がよかった。
以上、本日の作業報告は終わりです。オープンソースコンファレンスの懇親会に参加できなくて残念でしたよ。でも、明星大学は遠いのよね。もっと近くでやってくれないかしら。
SambaをLinuxサーバーのインストールしてファイルサーバーとして動かすよりも、サクッとQNAPを入れてしまったほうが簡単、安心、便利でおすすめ。ファイルサーバーだけではなくてIntelのCPUのQNAPなら、Dockerでいろいろとコンテナを設定してサーバーをたくさん立てられるしね。
Perlのwebフォームメールで有名なPostMailの上位版であるCLIP-MAILを使ってみました。客先のサーバーがデフォルトでインストールされるのがperlで、PHPなどの明示的にインストールしなければいけないようなものが入っていません。そこでやむなくperlで実現します。
困ったことにsendmailが動いていません。外部のSMTPサーバーに接続する必要があります。perlで動いて、入力結果をCSVで保存できるフォームメールが見つからなかったので、CLIP-MAILをNet::SMTPでSMTPサーバーでメールを送るように改造しました。
とても久々にperlのプログラムを書きます。そう言えばデバックってどうやるのでしたっけ? この辺から怪しいです。ifで文字列を比較するのには==ではないのですね。すっかり忘れています。
何とか2時間ほどの作業で、sendmailではなくNet::SMTPでメールを送れるように改造しました。ただし、CLIP-MAILのメール送信の処理はすごいものがあるので、添付ファイルは送れません。今回はどうせ添付メールは使いませんので。
EclipseからNetBeansにして1ヶ月になりますが、確実に落ちるようになりました。現象としては、日本語テキストを入力して、Ctrl+Sで保存をしたときです。
これでは使いものにならないので、しかたないのでEclipseに戻ろうか、それともPHPStormに行こうかと思っていました。こういうときにこそGoogleさんに聞いてみたら、やはり同じ現象の人がいました。
そう言えば、最近Javaをアップデートしたよ、と思って、最新のJava SE 8u25をOracleのサイトからダウンロードしてきます。今までのJavaをアンインストールしようとしましたが、どういう訳かアンインストールできない。そこで一旦Java SE 8u25をインストールしてみます。
しかし、現象は変わらず。今度は、Java SE 8u25をアンインストールしてから、前のJavaのJDKやJREをエクスプローラーで削除します。そして、もう一度Java SE 8u25をインストールします。ああ、面倒くさい・・・。
これで無事に元に戻りました。
一旦NetBeansもアンインストール、インストールしましたが、今までの設定は残っているのですね。
#ATOK で現在時刻の設定
「きょう」で今の日付を入力できるのは知っていたけど、「いま」で現在時刻を入力できるのは今まで知らなかった。知らない機能はまだまだありそう。
日付と時刻をまとめて入力できないものか。
かしこい日本語 ATOK | 日本語入力システム ATOK 2014 for Windows
アクセルモードを新たに搭載し、最大25%の高速化を実現。速さと快適さを徹底追求した史上最強のATOK。
なんやかんや言いながらも、40年の歴史があるせいか漢字変換はATOKが一番賢い。いつでも最新版(毎年ATOKはバージョンアップにしてくれる)になるので月額課金のATOK PASSPORTにライセンスは集約されている。これ以上、ATOKが重くなくなればいいけど。ATOKが開発終了にならないためにも、皆さんATOKを買っておくれ。
SQLServerのデータベースをMySQLに変換しようと、MySQL Workbenchのマイグレーションの機能を使ってみた。スルスルとテーブル構造やデータを変換できた。これはすごい。
と思っていたら、日本語で格納した項目はすべて???で文字化け。ダメじゃん、と思って、いろいろ調べてみた。MySQL Workbenchに文字コードを設定できる設定はないし、さてどうしたものか。
どうせ最後にはMongoDBのコレクションに変換する予定なので、CakePHPのシェルで変換プログラムを書いている。そのプログラムからSQLServerを直接見に行けばいいじゃない、と思ってFreeTDSだのODBCだのCentOSにインストールしてやってみると接続はできた。しかし、Linux, Mac OS X, FreeBSDからはSQLServerは接続できないとCakePHPのドキュメントには書いてある。
実際に/Config/databese.phpにSQLServerをデータソースとして設定しても接続できなかった。CakePHPのソースを負っていくとPDOのライブラリが見つからない云々というエラーとなる。
それでも、しつこく調べてみると、無理矢理CakePHPのSQLServerのデータソースを書き換えてSQLServerに接続する方法があって試してみたけど接続できるが文字化けという同じ結果だった。しかし、pearのDB.phpだと文字化けせずにうまく接続できる。でも、今さらDB.phpなんて使うなんてね・・・。
と、諦めているときに、とても当たり前のことに気が付いた。とても恥ずかしいこと・・・。
何とMySQLで文字コードの設定を何もしていなかった。ここのサイトに書いているように/etc/my.iniに
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
を設定しみる。今度は、MySQL Workbenchのマイグレーションで文字化けせずに、うまくSQLServerからMySQLに変換できた。
やれやれ、大変な回り道をしてしまった。もっと早く気付けよ > 自分。
今まではEclipseで動くERMasterを使っていたけど、EclipseからNetBeansに開発環境を変えたので、何かよいER図を書けるツールを探していた。見つけたのは、MySQL Workbenchの中にあるER Diagramの機能。PhpStormにもER図を書く機能があるらしいが、こちらはNetBeansがダメだったら試してみる。
元々は、SQL Serverのデータベースを使ったサイトを、オープンソースに持っていきたいので、そのデータベースのER図が欲しいということからだった。MySQL WorkbenchだとSQL ServerからMySQLへのマイグレーションもできるので便利。ささっとSQL ServerからMySQLにデータベースを変換する。あとはER図を掻き出してみる。
ここまでは簡単にできた。SQL Serverの項目の名前の付け方がよろしくないので、関連付けをするとおかしな名前になってしまうのはしかたない。
問題としては、日本語になっている項目名が文字化けする位でしょうか。環境設定のフォントの指定をメイリオにしても直らなかった。日本語にしているところが問題なのですが。
ERMasterのNetBeans版が出ないかな。ERMasterは使いやすい。
環境を作ってインストールできたので、CakePHP 3を試してみました。
試したみたと言ったけど、簡単にいつものブログのデータベースを作って、ControllerとModelをBakeして、使用している値をダンプしてみる。あとは、CakePHP3のドキュメントを読んでみる。
つまるところ、大幅に変わったMVCのModelの部分が肝かな。ModelがTable ObjectとEntitiesになって、ORMがどう関わってくるというところが大事か。それとコントローラーとTable ObjectとEntities、ビューがどう関しているかをもっと理解しなくてはいけない。
CakePHP3のドキュメントのTable ObjectとEntitiesを訳しながら読み進めていたけど、これはおもしろぞ。
CakePHP3 のベータ2がリリースされたそうで、わたしのほうはようやくインストールしてトップのページが見られたところ。
VagrantでCentOS6.5の上で動かそうとしてPHPは5.4以上じゃないとダメと気が付いて回り道した。結局はChefでゴニョゴニョとレシピを書いて一発で動作環境を立ち上げるところまでやっていた。opscodeのクックブックを組み合わせて呼び出しているだけだけど。
CentOSは7になると、とっても大変だということで諦めて(いずれ何とかしないといけないけど)、CentOS6.5にPHP5.4をremiからインストールするようにした。
動作環境さえできてしまえば、CakePHP3はComposerで簡単インストール。あっけなくトップページが見ることができた。DebugKitも入った。ディレクトリがCakePHP2と違っている。
さてこれから・・・。
CakePHP 3.0.0 ベータ2がリリースされました – The Bakery, なんでもCakePHP!
CakePHPコアチームはCakePHP 3.0.0の2番めのベータリリースをお知らせいたします。 最初のベータリリースから約1ヶ月経ち、コミュニティの皆さんがこの新バージョンを大歓迎してくれていることを嬉しく思います。積極的なフィードバックやヘルプはコアチームの3.0によるデベロッパ体験を改善するための精力的な作業の …