アプリを開発しないアプリ開発日記へようこそ。
今日も引き続き、テキスト漫画のサイトの復旧をしていました。
今回は、編集画面を
編集内容を保存する機能抜きで
復旧しました。
明日は保存出来るようにしたいですね。誰に言ってるんですかね。
アプリを開発しないアプリ開発日記へようこそ。
今日も引き続き、テキスト漫画のサイトの復旧をしていました。
今回は、編集画面を
編集内容を保存する機能抜きで
復旧しました。
明日は保存出来るようにしたいですね。誰に言ってるんですかね。
今日もテキスト漫画の復旧作業を行なっていました。本日は例外発生時のロギング処理を作り込んでいました。
バグが元でエラーが発生したり、不正アクセスがあって何か問題があった際に素早く原因を特定して対処出来るよう、どのURLで、ソースコードのどの箇所で、どんなエラーが発生したのかをDBに記録しています。その際、アクセス元IPやブラウザの種類も記録するようにしています。
今、このページにアクセスすると必ずエラーが発生し、あなたのIPと使っているブラウザの種類がテキスト漫画のDBに記録されるよ!
ちなみに、macでアクセスすると以下のように記録されます。
— msg —
method=[AppHttpControllersUserController::edit] file=[/usr/apps/textmanga/app/Http/Controllers/UserController.php] line=[23] msg=[例外テスト]
— referer —
/textmanga/index.php/edit/20
— user_info —
IP:XXX.XXX.XXX.XXX Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38
— created_dt —
2017-11-23 23:36:21
サイトの規模の割には無駄にしっかりロギング
しています。
テキスト漫画のサイトについて、只今
本番サイトのソースコードを直接ゴリゴリ修正するという画期的な手法
を採用して開発しております。普通、開発中は本番サイトとは別に、開発用の別の場所で行うものです。
今日はこのページをこの画期的な手法によって開発していました。そのため、いきなりページが真っ白になったりエラーの赤い画面になったりデバッグ用のポップアップメッセージが出たりすると思いますが
ほっといてください。
先日作成したMP4無劣化結合プログラムにより撮りためたドライブレコーダーのデータを調子よく処理していたのですが、今日はなぜか変換に失敗しました。
注意深く変換に失敗したファイル名を確認してみると、鉤括弧”[“と”]”を使っているファイル名で失敗しているようです。
とりあえず処理前にファイル名の鉤括弧を別の文字に変更すれば対処出来そうだったのでそうしました。
本来ならば、どの処理で、どんな理由でプログラムがエラーになっているのか特定すべき!と言う人がいるかもしれません。しかし、プログラムのバグは様々で、どんなことが引き金になってエラーになるかはわかりません。また、仮に真面目に対処してノウハウを身につけようとしても、ある程度頻繁に起こるバグならともかく、レアケースのバグを対処したところで将来役に立たない可能性は高いです。技術が進歩してプログラムの仕様もどんどん変わりますしね。
プログラムは無機質で、完全に同じ動作しかしないと言うイメージがあるかもしれませんが、最近私はプログラムは生命のように曖昧でブレ的な部分があるのではないかと思ってきました。OSSの様々なソースを組み合わせたシステムは本当に予期しない動作をすることがあり、良い意味で「いいかげん」に扱うべき場面があると感じています。
と思ったら、これはPowerShellの定番のエラーで、頻繁に起こる現象みたいです。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1097548105
能書きの前にちゃんと普通に対処すればよかっt
今日はQAのページを復活しました。
あとは、編集ページのソースを眺めていました。FuelPHPをLaravel(Lumen)に変換しているのですが、思ったよりもフレームワークの差異が少なくて良い感じです。
少しずつでも変換を進めていこうと思います。
以前からご利用中のテキスト漫画は、”1回だけ必要なコード”のURL部分を https にすることで問題なく使用可能です!!!
以下を
<script type=”text/javascript” src=”http://minnano.app/textmanga/assets/js/caller/text_manga_0000000003.js?v=5″></script>
次のように、httpの部分をhttpsにすると、問題なく動きます!!!!
<script type=”text/javascript” src=”https://minnano.app/textmanga/assets/js/caller/text_manga_0000000003.js?v=5″></script>
今日はサイトをSSLに対応させていました。
SSL証明書はLet’s encryptを使い、自動更新設定をしました。WebサーバはOpenLiteSpeedで、証明書を適用したhttpsのリスナーを追加し、既存のhttpからリダイレクトさせるようにしました。
で、ご覧のようにURLを見ていただくと、ちゃんと鍵マークが出ているかと思います。
以下、やったことの殴り書きです。CentOS7です。HTTP/2と合わせて、超快適なサイトになりました!
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install certbot
certbot certonly –webroot -w /usr/local/lsws/VirtualHost1/ -d minnano.app
“Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel):[メールアドレスを指定]”
(A)gree/(C)ancel: A
(Y)es/(N)o: N
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/minnano.app/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/minnano.app/privkey.pem
Your cert will expire on 2018-02-16. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
certbot renew
– Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
– If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
OpenLiteSpeedの管理サイトから、HTTPSのListenerを作成
Listener Name : minnano.app
Port : 443
Secure : YES
Listeners –> minnano.app –> General –> Virtual Host Mappings –> Add
Virtual Host : uka.apple
Domains : minnano.app
Listeners –> minnano.app –> SSL
Private Key File : /etc/letsencrypt/live/minnano.app/privkey.pem
Certificate File : /etc/letsencrypt/live/minnano.app/fullchain.pem
Chained Certificate : Yes
Listeners –> minnano.app –> SSL –> SSL Protocol.
Protocol Version : 次を全てチェック SSL v3.0/TLS v1.0/TLS v1.1/TLS v1.2/TLS v1.3
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state –state NEW -m tcp –dport 443 -j ACCEPT
systemctl restart iptables
Virtual Host –> uka.apple –> Rewrite –> Rewire Rules
先頭に以下2行を追加
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
OpenLiteSpeedを再起動し、https://minnano.appへアクセスして確認
証明書の自動更新
certbot renew –dry-run
正常に動作したことを確認後、cronへ登録
vi /etc/cron.d/letsencrypt
18 3 * * 2 root /usr/bin/certbot renew –post-hook “systemctl restart lsws”
毎週火曜の3時18分にrenewが起動する
WordPressの設定変更
設定 -> 一般
WordPress アドレス (URL) : https://minnano.app/support
サイトアドレス (URL) : https://minnano.app/support
今日は2時間程度
死んでいました。すみませんでした。
> 誰も気にしていないと思うけど日記のルールを発表します。
>
> ・必ず1日1回23:59:59までにこのブログでその日に行った開発内容を日記で書く。書く内容が無くても「今日は布団の中から1ミリも出ていません。※スマホは布団の中で握りしめていたのでブログを書けました」でも良いから書く。もし1日1回日記がアップされなければ作者は死んでいると思われます。
昨日作成したMP4の無劣化結合プログラムのおかげで変換処理がとっても捗っています。このプログラムはフォルダを指定しておくと、サブフォルダも含めてファイルを探し出し、指定した条件の単位でどんどん勝手に動画を連結して指定したフォルダに吐き出してくれます。捗りすぎて、Googleドライブへのアップロード待ち時間がボトルネックになってしまいました。
パソコンの特定フォルダに放り込んだファイルを自動アップロードするようにしていますが、連結プログラムが放り込むファイルが溜まる一方です。
まあ、勝手に動くようになっているのでパソコンの電源付けとけば良いんですけどね。
このプログラムのおかげで100時間くらいかかる作業をプログラム作成時間の3時間に短縮出来て、97時間分の余裕ができたのでその余裕で更に別の作業を自動化して、
自動化永続ループ作業に入って自分の寿命以上の余裕を作り出そうと思います。
何言ってるか分からなくなってきた。