プログラミング関係の話題。プログラミングコーナーを更新したとか、プログラミングの内容に踏み込んだ話とか。
Bitbucket
https://developer.atlassian.com/cloud/bitbucket/bbc-gdpr-api-migration-guide/
APIの仕様変更ですとっ!?
サイト運営に直接は関わらないけど影響あるから対応しておこう。
Anpanator
不正な質問文で停止する問題を再発しないよう根本的に解決。
trim処理が間違えていたせいで、普通に書いた質問文の末尾の文字が破壊されたのが原因だったので、trim処理を置き換えました。
直すときは以下の記事を参考にしました。
https://qiita.com/fallout/items/a13cebb07015d421fde3
いい感じのtrim処理です。
.NET Framework
.NET Frameworkでクリップボードにコピーされたファイルを得るのにはClipboard.GetFileDropList()を使うといいのを知った。
System.Windows名前空間とSystem.Windows.Forms名前空間にあるが、効果は同じ模様。WPFかFormsかという違いだろうか。
実際にファイルがコピーされているかどうかはClipboard.ContainsFileDropList()で知ることができる。
コピーされていなくても、Clipboard.GetFileDropList()は長さ0のコレクションを返す。
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
便利(で、邪悪)なテクニックを知った。
実運用はしていないので私にとっては雑学にすぎないが、文字列に対する乗算は便利だと思った。
TIL
Today I Learnedという概念を知った。
では今日私が学んだのは…Today I Learnedか。
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%ぐらいになっていました。
しかしこれは、テスト対象としたクラスだけを見てのものなので、そもそもテスト対象になってすらいないものは計算に含まれていません。
そう考えると結構テストしてないのでは…?
MimeKit
MimeKitで.mboxファイル読んでみる
Qiitaに投稿しました。
メールのアーカイブを読む話です。
大阪北部地震と浮き沈みランチャとBlazor
大阪北部地震
私は無事です。
近年は大地震の直後にさらなる大地震という例が続いていますし、しばらくは気を抜かないで防災しておきたいですね。
浮き沈みランチャ
浮き沈みランチャを起動しているときにたまにほかのソフトのアップデートが失敗する例があって、こいつのせいだと思って検証していたのですが、検証コードではそれらしき現象は観察されず…。
もしかして浮き沈みランチャは犯人ではなかった?
Blazor
C#で書いたやつがWebAssemblyになるという「Blazor」を試してみたのですが、サンプルプログラムからして動かないですね…。
まだ実験的なプロジェクトだそうだし、もっと開発が進んだり情報が出そろったりしてからまたさわろうかな。
ドメインとQiita
ドメイン
昨日に引き続き、dq10player.eventsドメインも延長。
ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイトは私以外ほとんど使っていないし、ドメイン棄ててゲーム記配下においてもよかったんですが、PWA化する構想もなくはないので、とりあえず一つのサイトとしての独立性は当面は保つようにしておきます。
Qiita
Selenium
全要素FindElementsしてループで処理するとえらく時間がかかりますね…。
ここらはJavaScriptと組み合わせて高速化できる部分がありそうです。
アンパンマンDB
表立って影響は表れていないんですが、アンパンマンDB4のデータベース構築プログラムに誤りがあり、全然関係ないテーブルが出来上がっていました。
原因は単純なタイポで、厳しい条件にしてテストを行っていれば事前に発見できていたことでした。
ということで、テスト条件を厳しくしました。
エラーが多少多く出るようになりましたが、脆弱性につながりうる実装も見つけることができたので、これで良しとします。
アンパンマンDBとSelenium
アンパンマンDB
アキタラヤメル企画として始まったアンパンマンDBも、今日でひっそりと10周年であります。
だからと言って別に特別なこともないわけではありますが。
Selenium
先日のSeleniumの記事、更新しました。
違うディレクトリから呼んでも大丈夫にしました。
.NET CoreとSeleniumでHeadless Chrome操作するよ
Qiitaに記事投稿。
.NET CoreとSeleniumでHeadless Chrome操作するよ
Pythonの導入に失敗して代わりに.NETでやったとか言えない…。
アンパンマンDBとPythonとRust
アンパンマンDB
画像に追加の説明文を入れても反映されないバグを修正。
PythonとRust
PythonとかRustとかの開発環境を作ってみたり。
Pythonのほうは環境ぶっ壊れたけど。
