GitHub Actions
GitHub ActionsでCI/CDできるらしい、しかもWindowsでmsbuildできるらしいので、ナマライザあたりで試してみたいなーと。
NeoMuplでもやりたいし、funyakとかも、デモ版を随時更新とかできそう。
プログラミング関係の話題。プログラミングコーナーを更新したとか、プログラミングの内容に踏み込んだ話とか。
GitHub ActionsでCI/CDできるらしい、しかもWindowsでmsbuildできるらしいので、ナマライザあたりで試してみたいなーと。
NeoMuplでもやりたいし、funyakとかも、デモ版を随時更新とかできそう。
TGWSAdminで使っているTweetinviが今バージョン4なんですが、バージョン5が新たに出ていました。
しかもTwitter APIバージョン2にも対応しているようです。
ということで、さっそくバージョンアップを試みたのですが、かなり変わっていて、そのままでは動くどころかビルドすらできませんでした。
結構大掛かりな修正が必要になりそうです。
先日から言っていた自分のサイトのテスト環境を全ページ走査する自分用ツール、一応LocalCrawlerって名前があるのでカテゴリを作っておきました。
全ページ保存しようとすると時間的にも容量的にも大変な気がしたので、全ページを通ってエラーのみ記録するようにしてみました。
そして、ページを保存するなどの機能は、コマンドラインオプションで指定できるようにしようかと画策中。
新しく進化したTwitter APIの登場
Twitter APIのバージョン2です。
このバージョンだと、以前は使えなかったアンケート機能も非公式アプリで使えるようです。
これまた自分用ツールのmifumitterあたりで使えそうです。
ハロウィンイベントのクリア後のやつ頑張ってみたけど、500個集めたあたりでだるくなってやめました。
これ、個数以外の条件があるのか、それとも要求数が馬鹿みたいに多いのか?
流石に人が多くて重い場所でひたすらいいね連打は疲れます。
検索サイトのパターンを一つ捕まえたので手っ取り早くバージョンアップしました。
まあ、自分用の範疇をいまだ全く超えていないので、ずっとアルファ版のまま上げ続けているんですけどね。
でもなぜかそれなりにダウンロード数はあるんですよね。
あれで私以外に役に立っているのだろうか…?
で、そのWellKnownUriParserの自動テストに使っているのが、Travis CI。
正直、こんな小規模かつ突発的なバージョンアップとか、開発自体よりも、リリースにかかる手間の方が大きいんですよね。
アルファ版程度なら、masterブランチにマージorプッシュした時点で自動的にリリースしたいのです。
そもそもCIという言葉自体、デプロイ(リリース)も自動化することを含んだ概念であり、機能としてはTravis CIも当然含んでいるのです。
ちょっとこの辺り、調べてみて自動化を試みたいですね。
しろいコキンもハロウィンイベントクリア。
クリア後のやり込みはともかくとして、季節イベントに追われて義務感でプレイする必要はなくなりました。
次の季節イベントまでのんびりするのも悪くないけど、後でやろうと思っていたレベル上限解放もやっておきたいところです。
3キャラ全員で頑張ると時間がかかることも、1キャラずつだとある程度余裕を感じて進められるので、欲張らず1キャラずつ着実に進めていこう。
以前の日記で言っていたCircleCIとDockerHubのやつ、そろそろ期日も近付いてきたので、対応しておきました。
これだこれ。Subversionのtrunkに近い運用かな。あるいはGitHub Flowのブランチ名をdevelopにして即時公開を抜いたやつ。リリース管理はタグを使えばいいしね。https://t.co/c4K1S9utRx
— 📛松田美文 (@matsuda323) October 17, 2020
で、CharaBox3でdevelopブランチ作ってみました。
今は、課題解決レベルにまで実装が進んでいないので、masterにはマージしていません。
この実装が完了しても、すぐにはリリースせず、他の機能も作るとか、ドキュメントを整備するなどした後に、改めてリリースすることになります。
もちろん、リリースするときにも、ブランチを増やすのは面倒なので、developでドキュメントを作ってmasterにマージするという流れです。
まあ、ドキュメントだけならmasterで直接作業でもいい気はしますが、開発環境をmasterに切り替えると、開発再開したときにdevelopに移動し直すのが面倒ですからね。
そうだ、うちのサイトはブラウザ判定やSPAなんてこじゃれたことはしてないんだから、単にページのソースが欲しいだけならcurl系統の、HTTPリクエストを送るだけの機能を使えばいいんだ。
実に単純なことであった。
HTML5のページだけバリデーションかけたいんなら<!DOCTYPE html>で判別すればいいじゃないかと思ったら!
DOCTYPE宣言はPageSourceから省かれている!!!
DOCTYPEに頼らずHTML5を判別する方法はないものか。
DOCTYPE宣言だけHTML5で、中身がHTML4.01なのは問題だから、それはエラーとして検出したい。
つまり、タグを見てHTML4.01じゃないからHTML5っていう判定はできない。
それはそうとして、「--blink-settings=imagesEnabled=false」のオプションを付けたら速くなった。
見たいのはHTMLだけなので、画像を読み込む必要はない。
ローカル環境で無作為にクロールしてバリデーションかけたら大変なことに!
古いHTML4.01やShift_JISのコンテンツは軒並みアウト!
古いCMS(主にPukiWiki)使ってる場所もすごい勢いでエラー!
これはさすがに直し切れるものではない!
HTML4.01自体は正当なHTMLなので、HTML5のバリデータにとってはそもそも対象外。
CMSはこちらで手出ししにくい部分なのと、そもそも古くて直す価値も低いことから、放置…というか、古かったらやっぱりHTML4.01なので、やはり対象外。
HTML5で書いたページに絞って仕切り直しかな。
Installation Documentation for The W3C Markup Validation Service
Another HTML LintがHTML5に取り残されてからというもの、ちゃんとしたチェックをしていなかったんですが、標準団体純正のツールがあるんですね。
コマンドラインツールなので、自動化に組み込めそうです。
なにやらDockerHubで11月から制限がきつくなる模様。
それで、CircleCIで使うときにその制限を回避する方法が、メールで送られてきました。
内容としては、この記事です。
ユーザー登録してIDとパスワードで認証しろってことですね。
一時保存の挙動を改善。
これまでは、プレビューしただけでも一時保存が消えてしまって、途中まで書いたやつの続き書こうかな→やっぱやーめた、で、書きかけのが消し飛んでいたのですが、編集を確定するか別の一時保存を作るまでは消えないようになりました。
リファラチェックの結果がたまり過ぎていたので自動整理の仕組みを作成。
一年前にチェックした結果とか残してても仕方ないですからね。
作業領域にRAMディスク使えるらしいので試してみました。
確かに普通のディスクを使うよりは速くなるけど…一番のボトルネックがライブラリのダウンロードなので、期待したほど劇的な高速化はしませんでしたね。
テスト項目が増えてテスト自体に時間がかかるようになってきたら、特にファイル読み書き系のテストが増えてきたら、効果が上がってくることになるかな。
岩を後一回で壊れる状態にして右側に籠城する作戦だったが、支えになるはずだった赤ブロックが早々に壊れてしまった。 #ミスタードリラー #NintendoSwitch pic.twitter.com/7qScz5Ea5o
— 📛松田美文 (@matsuda323) July 8, 2020
管理用の活動記録画面に、ゲーム記の一部のページにある進行状況と、Qiitaの投稿情報と、最近コミットしたGitHubの情報を出せるようにしました。
APIは便利ですね。
日記の賑やかし用と言えば、これもあったんでした。
PHPのComposerに、fundというのがあったんですよ。
「composer fund」というコマンドで、支援を求めているパッケージを調べることができるというものです。
Composerを使っている人が直接的に得をする機能ではないので日本語情報は少ないですが、ライブラリ開発者だって金がないと暮らしていけないし、優秀なライブラリを作れないわけですからね。
無料の物にあえて金を払うというのも、様々なものが無料で手に入る今、考えるべきことなのかもしれません。
いつの間にかさらに細かい指定もできるようになっていたので、現在アクティブ(なつもり)のプロジェクトに適用してみました。
めちゃくちゃ久しぶりにアップデート。
5→13に上がりました。
そして、各種モジュールもアップデートして、Node.jsでトランスパイルしているAnpanatorのコードもリビルドしました。
アップデートによる仕様変更に伴うエラーもありましたが、そこはちゃんと直して、最終的にAnpanatorのコードがほんのちょっと小さくなりました。
ブラックシティ3面の攻略情報リニューアル中。
量が多いのでマップ1だけで力尽きました…。
HTMLのtableの列幅をドラッグで変えられるようにする雑な方法 - Qiita
投稿しました。
雑な方法だけあって、Chrome以外じゃ動かないとか、問題ありありですが、個人的には、これでも困らないので、これ以上ちゃんとしたものを作るつもりはありません。
うちのサイトにPA-API 4.0がまだ残っていると連絡が来ています。
もう全部滅ぼしたはずなんですが…。
https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-mentions_timeline
メンションのタイムライン?
ゲーム記にページを作りました。
何か解説でもしようかと思ったけど、解説できるような写真が全然撮れなかったので、ほぼ自分の進捗を書くだけのページになりました。
で、その進捗はと言うと、ストーリークリア済みで、後はジェムリンゴ集めてクリア後要素に挑むだけなので、書くことがあまりないという…。
時期を外した感があります。
Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita
クッキーのデフォルト値が変わって、ドメインをまたいだクッキーの利用が難しくなるということです。
もろに影響を受けるのは、主にWeb広告で、うちだと、Amazonのアフィリエイトが当てはまります。
対応しなければいけないのはクッキーの発行側なので、私の方では何もできることはないのではありますが。
DLLで提供されるライブラリにドキュメントコメントを反映させるテストも兼ねて、アップデートしました。
今回は、何もプログラムには手を付けず、本当にドキュメントだけの更新です。
必要だった設定は、csprojファイルに以下の1行。
<GenerateDocumentationFile>true</GenerateDocumentationFile>
データや設定によってはループが全然完璧じゃなかったので、修正していました。
先走ってすぐリリースしてしまわなくてよかった。
それから、次期バージョン以降だけど、ループポイントをいい感じに設定するための技術情報調査中。
NAudioの作者が波形を表示するライブラリを作ってくれているみたいなので使えるかも。