「プログラミング」に関する日記(10)

プログラミング関係の話題。プログラミングコーナーを更新したとか、プログラミングの内容に踏み込んだ話とか。

<前 次>

アンパンマンDBとPHPとPython

アンパンマンDB

履歴ページのリニューアル中。
旧RSSを置き換えて、管理しやすくするのが目的。

PHP コマンドライン関係

$argv:コマンドライン引数。実際の引数は[1]から。実際に使う場合はスーパーグローバルの$_SERVER['argc']が便利。
PHP_SAPI:コマンドライン実行なら"cli"。
ブラウザでの閲覧とコマンドライン実行で切り分けたいときに使えそうなのだぞ。

Python

便利(で、邪悪)なテクニックを知った。
実運用はしていないので私にとっては雑学にすぎないが、文字列に対する乗算は便利だと思った。

Twitter API

使えないと思っていた通知関連のAPIが実はPremiumで使えた。
有料だと思っていたPremiumが実はユーザーが少なければ無料だった。
なんというか…何か…できるかも!
https://blog.twitter.com/developer/ja_jp/topics/tools/2018/AAA_e.html

funyak

パフォーマンス関係でどんな処理にするのが速いかいろいろ計測。
やっぱ6-FPS出したいですしね。
構造体に関しては、ベンチマークプログラムをGitHubに公開しておきました。
StructBench

funyak

テストのカバレッジ調べてみたら、92%ぐらいになっていました。
しかしこれは、テスト対象としたクラスだけを見てのものなので、そもそもテスト対象になってすらいないものは計算に含まれていません。
そう考えると結構テストしてないのでは…?

大阪北部地震と浮き沈みランチャとBlazor

大阪北部地震

私は無事です。
近年は大地震の直後にさらなる大地震という例が続いていますし、しばらくは気を抜かないで防災しておきたいですね。

浮き沈みランチャ

浮き沈みランチャを起動しているときにたまにほかのソフトのアップデートが失敗する例があって、こいつのせいだと思って検証していたのですが、検証コードではそれらしき現象は観察されず…。
もしかして浮き沈みランチャは犯人ではなかった?

Blazor

C#で書いたやつがWebAssemblyになるという「Blazor」を試してみたのですが、サンプルプログラムからして動かないですね…。
まだ実験的なプロジェクトだそうだし、もっと開発が進んだり情報が出そろったりしてからまたさわろうかな。

ドメインとQiita

ドメイン

昨日に引き続き、dq10player.eventsドメインも延長。
ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイトは私以外ほとんど使っていないし、ドメイン棄ててゲーム記配下においてもよかったんですが、PWA化する構想もなくはないので、とりあえず一つのサイトとしての独立性は当面は保つようにしておきます。

Qiita

Ctrl+Cで終了できるけど切りのいいところまでは待つコンソールアプリ
公開しました。

Selenium

全要素FindElementsしてループで処理するとえらく時間がかかりますね…。
ここらはJavaScriptと組み合わせて高速化できる部分がありそうです。

アンパンマンDB

表立って影響は表れていないんですが、アンパンマンDB4のデータベース構築プログラムに誤りがあり、全然関係ないテーブルが出来上がっていました。
原因は単純なタイポで、厳しい条件にしてテストを行っていれば事前に発見できていたことでした。
ということで、テスト条件を厳しくしました。
エラーが多少多く出るようになりましたが、脆弱性につながりうる実装も見つけることができたので、これで良しとします。

アンパンマンDBとPythonとRust

アンパンマンDB

画像に追加の説明文を入れても反映されないバグを修正。

PythonとRust

PythonとかRustとかの開発環境を作ってみたり。
Pythonのほうは環境ぶっ壊れたけど。

CircleCI


いろいろ試行錯誤して、なんとかビルド成功までこぎつけました。
講座サイトとかも見ましたが、最終的に最も役立ったのはやっぱり公式のドキュメントでしたね。
Dockerコンテナに割と何でもかんでも入れられそうだから、公式サポート外だけど、.NET Coreのプロジェクトも案外いけるかも?

ドラゴンクエスト10とSmarty

ドラゴンクエスト10

ルイーダの酒場
ゾーマのイベントの全キャラで制覇。

あと、バトエンのイベントをちょっと進めました。
ほとんど運任せなのに拘束時間が長めなのがちょっとね…。
この辺りは次期バージョンでテンポよくなるそうなので、その点に期待。

Smarty

動作確認ができたのでバージョンアップ。
今まで出ていたうるさいエラーも沈黙しました。
自動テストをもっとしっかりできていればこの辺も遠慮なくできるはずなんだけどなぁ…。

Smarty

今使っているバージョンのSmartyが最新のPHPではWarning出すようなので、ちょっとバージョンアップとか、別のテンプレートエンジンへの切り替えとかを検討してみました。
今どきの流れで、SmartyもComposer対応とかしているようです。
ただ、テンプレート不要な場所でも問答無用で読み込む設定になっているようなので、Smartyは従来通り手動でrequireしようかと思います。
他のテンプレートエンジンと言えば、Twigが有名で、Skinnyとかいう日本初の軽量なエンジンもあったり、そもそも生のPHPでいいんじゃないかって意見もあったりしますね。
ひとまず、今のところは、アンパンマンDBみたいに比較的規模のある場所ではSmarty、ゲーム記みたいに生のHTML主体の場所ではテンプレートエンジンを使わないという方向でいこうと思います。
Smartyは最新バージョンに上げるという前提でね。

<前 次>