自作のAndroidアプリ

趣味でプログラムを書き始めて早30年以上、今では仕事もプログラマと言う状況になってしまったが、今でも余暇に趣味のプログラム開発を行うことがあります。

最近の趣味でのプログラム開発は主にAndroid用アプリの開発を細々と行っているような状況ですが、せっかくWordPressを使い始めたので、WordPressの固定ページを使って自作アプリの紹介ページでも作ってみようかと思い、先日から固定ページを少しづつですが作り始めました。

ただ趣味でのプログラム開発は、どうしても普段の生活の中で余った時間を使って行っている都合で、メンテナンスの行き届いていないアプリが多くなりがち。特に無償のアプリは自分が最初に思い描いた機能さえ開発してしまえば、後は利用者からの要望や意見などがない限り自己満足で終わってしまうので。

とりあえず、最初はメンテナンスの出来ているアプリから順次掲載していく予定ですが、現在メンテナンスの出来ていないアプリについては固定ページを作る前にアプリのメンテナンスを先に行いたいところ…

自作アプリの紹介ページへはメニューからも移動できますが、ここにもリンクを張っておきます。

Share

今年5回目の台湾へ

今年2016年の12回目の海外旅行は、今年5回目の訪問になる台湾へ今日から1泊2日のLCCを使った弾丸旅行。

しかも旅の仲間は気心の知れた会社の同僚なので、今回はホテルも取らずにサウナで夜を明かす予定。

と言うか、出発便がピーチの羽田発5:55と始発では間に合わないので、今日はお台場の大江戸温泉物語で仮眠。

帰国便も羽田着1:00と中途半端な時間なので、始発まで平和島温泉で仮眠しようかっていう話の流れになっている。

そうすると、3日連続でにサウナ・温泉での仮眠って事になるのだが…さて、どうなるか。

追記>今回搭乗予定だった機材がバードストライクで修理が必要な状態になったとかで、フライトがキャンセルに…現地での宿泊ホテルとかを予約していなかったので、実害は羽田空港への移動費だけだったが、やっぱりLCCを利用する時は注意しないとね。

とりあえず今回は希望する振り替え便をいち早く確保することが先決だと思ったので、その場ですぐに一週間後の来週末の同じ便への振り替えを手配して帰ってきた。と言うわけで、台湾へは来週リベンジしてきます。

追記2>その後ネットで機材情報を確認したら、バードストライクで破損した機材は仁川線の機材だったようで…

そこで後発だった台北線の機材を仁川線に充てて、時間稼ぎをしている間に仁川線の機材の整備が終わったら台北線で使う予定だったが、想定以上の破損で整備が間に合わず台北線が欠航になった模様。

Share

Google Search Console

私はプログラマなので何時もは、スマホ用のアプリからPC用のアプリ、サーバ側用のアプリ、更に最近はWebアプリまで顧客の要望に合わせて様々なプログラムを仕事で作成している。ただしプログラマなので普通のホームページの作成などは普段行っていない。

しかし、今回WordPressを使い始めて本ブログを書き始めた事や、Webアプリやスマホ用アプリなどを取り巻く状況の変化の速さを考えていると、この機会にSEO対策関連について最低限の基礎知識だけでも勉強しておこうかなと思った。

で、早速本ブログの情報をGoogleで正しく検索出来るようにと、Google Search Consoleで必要な登録したり、WordPressのプラグインを設定したり、って作業を始めたのですが…

何故か正常に反映されない。と言うか、先日まで正常に検索でヒットしていたページが突然検索結果から消えるとか、初めての経験で何をどう設定するのが正しいのか全く分からない。

ネットで調べても、どこも同じ事しか書かれていないし、しかも情報通りに実践しても検索結果には思ったように反映されないし…まだまだ勉強不足なのか分からない事だらけで少し困っている。

ただ本格的なSEO対策がしたい訳でも無いので、お金や時間をかけて解決するつもりも無いので、そのうち暇を見て独学で勉強しつつ、少しづつ改善して行ければとは思っている。

Share

QNAPのその後

QNAPをTS-220から上記機種のTS-231+に変更した事は前回書きましたが、その後更なる問題が発生していて、一向に安定稼働まで持って行けておりません。

まずPHPでのファイルのアップロードが正常に動作していないことが判明。

現在QNAP上で運営しているSNSで日記に添付する画像ファイルのサイズが大きいと、ファイルのアップロードに失敗するという問題が起きていて、しかもphp.iniなどの設定を正しく行ってログを記録しても何もエラーは出力されておらず、原因の特定に至っておりません。

というか、php.iniの初期値が滅茶苦茶。memory_limit128Mなのに対して、upload_max_filesizepost_max_size2047Mと、どう考えてもデタラメな値が設定されていた。

しかも、php.iniの設定内容がapacheの起動スクリプト内で強制的に書き換えられているため、QNAPの設定画面でphp.iniをいくら編集しても反映されないというバグがあり、全く使い物にならない。

更に最近、Container Stationがバージョンアップしたようなのだが、これまたバグがあるようで、幾ら最新版に更新しても「更新が利用できます」の通知が消えないという…

Share

チャンアン景観複合体

クアットラムで遊んだ翌日は、バスを乗り継いでニンビン(Ninh Bình)にあるチャンアン(Tràng Anタムコック(Tam Cốcへ観光に行って来ました。

本当はクアットラムから直接ニンビンに行きたかったのだが、ニンビン行きのバスが何時に来るのか分からず、面倒になってナムディン経由で行く事に変更した。

おかげで、Googleマップで検索すると直接車で移動すると1時間半かかる距離を、最終的に2時間半かけて移動する事になったが、どうせ直通のバスでも途中で何度も停車する事を考えれば大きな差では無いハズ…と思いたい。

しかし、ベトナム人は親切な人が多いね。ナムディンの適当な場所でバスを降りたら乗り継ぎが分からず、近くのバイタクにニンビン行きのバスが出る場所まで案内して貰ったら、バスが来るまで一緒に待っててくれるし、バスの車掌に私の目的地を伝えてくれるし。

ニンビン到着後はバスを降りた場所から近い順にタムコック→チャンアンと一人で観光。

ちなみに、タムコックではボートに一人で乗せてくれたのですが、チャンアンでは他の客との相乗りになり少し残念だったのと、長時間(タムコックで1時間、チャンアンで1時間✕2回)手漕ぎボートの硬い座席(板にゴザを敷いただけ)に座りっぱなしで尻が痛くなった事以外は楽しめました。

タムコック

観光後は、ニンビンバスターミナルからハノイまでミニバスで2時間かけて戻って来ましたが、このバスも満席で身動き一つ取れない状態でした。

追記>この日の収支は以下のような感じ:

  • クアットラム→ナムディンのバス代が、28,000VND
  • ニンビン乗り継ぎ時のバイタク代が、50,000VND
  • ナムディン→ニンビンのバス代が、40,000VND
  • タムコックの入場料が、120,000VND/人、ボート代が、150,000VND/艘
  • タムコック→チャンアンのタクシー代が、114,000VND
  • チャンアンのボート代が、150,000VND/人
  • チャンアン→バス停までのタクシー代が、110,000VND
  • ニンビン→ハノイ(ザップバット)のバス代が、70,000VND
Share

クアットラム・ビーチ

ハノイ市内で外国人が気軽に遊べる夜遊び(風俗)というと、選択肢が少ない、値段が高い(ボッタクリも含む)、最後まで出来ない、もしくはベトナム語が出来ないと辿り着けない・楽しめない、などとナイナイ尽くしで余り面白くない。

そんな中でハノイから3時間ほど郊外へ移動したビーチには安く遊べる置屋街があると言う話をネットで目にした。中でも有名なのは、ハイフォン(Hải Phòng)市にあるドーソン(Đồ Sơnという町なのですが、どうせならマイナーな場所を探検してみたいと思って、今回はナムディン(Nam Định)省にあるクアットラム(Quất Lâmという町に行ってみることにした。

クアットラム置屋通り

事前にネット上で調べた情報(日本語)ではハノイの東ザーラム(Gia Lâmバスターミナルからナムディンの省都ナムディン市まで移動して、そこから別のバスに乗り継ぎクアットラムまで移動するって手段しか紹介されていない。

しかし、ベトナムのバス情報を調べているとハノイの南ザップバット(Giáp Bátバスターミナルからクアットラムまで直通のバスがあることが判明した。しかも終点がクアットラムなので、降車する場所を気にする必要も無ければ、バス停は置屋通りのすぐ目の前なので迷うこともなければ、バスを降りてすぐに遊ぶこともできる。

そこで今回は人柱になるべく、ザップバットバスターミナルに行き、クアットラム行きのバスを探していると、係員が親切にどこへ行くんだ?と聞いてくる。行先を告げるとチケット売り場まで案内してくれて、チケットを買うとバスまで案内してくれるという至れり尽くせり。

今回乗ったバスは寝台バスだったのだが、3列2階建ての正規のシートだけでなく、通路にもマットを敷いて体育座りで乗せられ(←今回の私はここ)、2階席の通路を跨ぐように座らされる乗客まで居る始末。おかげで乗車率は200%くらい。これで3時間もの長旅は少し疲れた。

寝台バスの2階席

追記>ちなみに運賃は70,000~80,000VNDくらいだったと思う。と言うのも乗車時にチケットの半券をもぎられ、出発後に車掌が残りの半券を回収するという想定外の出来事で、運賃をメモることも、チケットの写真を撮ることも忘れてしまったのだから。

Share

ハノイ86番バスの罠

今回ノイバイ空港からハノイ市内までバスで移動する事を考えた。

調べてみると最近86番バスと言う便利な路線が出来たようで、最終便も23時頃と遅くまで運行しているようなので飛行機は22時着だがイミグレでトラブルさえ無ければ十分に間に合う。

事前にネットで調べると今年7月頃の情報ではターミナルを出て右側の18番の柱のところがバスの乗り場だと書かれていた。

しかし今回実際に行ってみると乗り場は影も形もなく、ターミナル内のインフォメーションで確認すると、2番の柱のところだと言われた。

どうやらバス乗り場が移転したようだが、以前の乗り場付近には案内とか移転を知らせる貼り紙とかもなく、最終便まで時間的にも余裕が無かったので少し慌てたが、無事に86番バスに乗る事が出来た。

ハノイ86番バス

追記>帰国後に再確認すると出発直前の10月頭にバス乗り場が2番の柱だというブログを書いている人を一人発見した。しかし、出発直前の投稿だったのと、Googleの検索では後の方に表示されていたので、今回出発前に気がつくことが出来なかった。

Share

一年ぶりのハノイ

今から今年2016年の11回目の海外旅行先として、一年ぶりのハノイに行ってきます。

旅の様子は逐次ブログにアップする予定でいます。

しかし、今日はノイバイ空港着が20時と遅いのでホテルを予約しましたが、明日からはハノイ郊外のマイナーなビーチリゾートへ移動する予定で何も手配していないので、実際問題どうなるか全く分かりません。

今回は行き当たりばったりの旅を予定しているので、旅の珍道中や、これから同じ場所を目指す人たち役立つ情報が入手出来ればと思っています。

Share

QNAPを上位機種へ

QNAPを使ってあれこれと実験を繰り返していたら、これまで使用してきたTS-220の反応が鈍いと最近感じるようになり始めたので、今回上位機種のTS-231+にちょこっとだけバージョンアップをしました。

事前にネットとかを見てるとQNAPは上位機種への交換やHDDの容量増強などが簡単に出来るって触れ込みだったのだが、今回実際に上位機種への換装作業を行った際に数々のトラブルに見舞われて苦労したので、忘れないように備忘録として残しておこうと思います。

  1. そもそもQNAPのWebサーバのポート番号の初期値が無茶苦茶な設定(外向けHTTPSのポート番号が8081ってあり得ない!)っていうのも影響していると思うが、Webサーバのポート番号を変更して、システム設定の「セキュア接続(HTTPS)のみを使用する」をONにした状態だと、機種変更後の初回起動時に表示される画面へのアクセスに失敗するというバグが存在する。元のTS-220にHDDを入れなおして、設定をOFFに戻すことで回避した。
  2. 上記ポート番号の問題が影響している可能性もあるが、換装後のWebサーバの設定値(apache.conf)が全て初期状態に戻っていた
  3. Tomcatが起動しなくなった。手動で起動しようとしても参照しているJavaのライブラリが見つからないってエラーが出て起動できなかった。とりあえずJREとTomcatを一度削除した上で再インストールすることで解決した。
  4. TS-231+固有?(一部機種?新しい機種?)の問題だが、XMailが動作しない&サポートされないという。問題の原因はSSL関係のライブラリをバージョン番号を含む形でリンクしているっていう初歩的なバグ。代わりになるメールサーバアプリもない。QNAP社に問い合わせるとContainer StationでLXCやDockerを使えって言われた。今後はQPKGは廃止して、LXCやDockerに切り替えていくつもりなのか?
Share

QNAPのSSL化

最近のGoogleは、常時SSL(HTTPS)を推奨していたり、各種サービスなどを利用する際にもHTTPでのアクセスを拒否するなど、この業界に関わっていく限りはSSL(HTTPS)対応は避けて通れないだろうと思う今日この頃。

そして、このサイトの運営にはQNAPのNASをサーバとして利用しているのですが、これが思っていた以上の曲者で単にSSLを設定するだけの作業なのに数日かかってしまうとは思ってもいなかった…

というわけで、せっかく苦労したので忘れないようにQNAPのSSL化の作業手順を備忘録として残しておこうと思います。

今回判明したQNAPのSSL対応の問題点と対処法の一部(対処法の書かれていない問題は今回対処することを諦めたので、対処法を確認していません)

  1. Webの管理画面からLet’s Encrypt中間証明書がアップロードできない。(これは明らかなバグだろ!)
    # cat privkey.pem fullchain.pem > /etc/stunnel/stunnel.pem
    # cp chain.pem /etc/stunnel/uca.pem
  2. SSL化した仮想ホストに中間証明書が設定されない。(実サーバは正しく設定されているので、これも明らかなバグだろ!)
    /etc/config/apache/extra/httpd-ssl-vhosts-user.conf の各仮想ホストの設定に以下の一行を追加する。

    SSLCertificateChainFile "/etc/stunnel/uca.pem"
  3. メールサーバ(XMail)などのサードパーティアプリをApp Centerからインストールしても、システムにインストールされている証明書を参照していない
    # cp privkey.pem ${QPKG_BASE}/.qpkg/XMail_phpxmail/MailRoot/server.key
    # cp fullchain.pem ${QPKG_BASE}/.qpkg/XMail_phpxmail/MailRoot/server.cert
  4. 一部のシステムアプリで証明書の参照先がマスターファイル(stunnel.pemとuca.pem)でなく、バックアップファイル(backup.keyとbackup.pem)になっている。
  5. CA証明書が一つも入っていない。(もうここまで来ると対応するのも面倒になって、放置プレイにすることにして対策するのは止めました)
Share