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

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

<前 次>

Visual Studio 2019 RC

入れてみました。
入れただけでほとんど触っていないのですが、起動がちょっと早くなった印象です。
設定とかログイン情報とかは2017をおおむね引き継ぐようです。

C++

Contractという概念を知った。
契約プログラミング自体は聞いたことがあったが、将来のバージョンで言語機能として追加されるらしい。
関数の引数や戻り値の条件を明示し、自動的にチェックされるというもの。
C#にも欲しい。PHPにはもっと欲しい。

アンパンマンDBとC#とPHPとAdobe XD

アンパンマンDB

履歴カテゴリ機能がほぼできた。
これで移行予定のないもの以外は一応置き換えられるようにはなった。
まだ細々とした修正は必要になりそう。

C#

throw null;は実際にはNullReferenceExceptionを投げるらしい。
自分で使うことが多いのはArgumentNullExceptionだけど、拡張メソッドとかでは使えそう。

PHP

??=演算子が新設らしいことを知った。
あれば便利だけどなくても全然困らない系。

Adobe XD

無料で使える?何ができる?

アンパンマン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のプロジェクトも案外いけるかも?

<前 次>