06:45:12

おはよー!おはよー!そこにいるの?まぶしー!まぶしー!夢があるの!冒険が\はい!/挑戦を\はい!/つーれーてーきーたー\問☆題☆解☆決!/\(゚ヮ゚)>\(゚ヮ゚)/\(゚ヮ゚)/<(゚ヮ^)

06:45:46

23時に寝たのでめちゃくちゃ早起きになった

06:46:23

いやでも群馬にいたときは7時ちょいで起きてたな…

07:08:33

家中の家電を外出先から制御できる、エレコム「スマホでかんたんどこでもリモコン」 - エルミタージュ秋葉原 gdm.or.jp/pressrelease/2020/03

家中の家電を外出先から制御できる、エレコム「スマホでかんたんどこでもリモコン」
07:15:29

昔Dropbox課金してなかった頃、容量に困ってOnedriveに分散させてたやつが今になって却って面倒になってきた (LinuxでOnedrive同期やりたくないし…)

07:18:00

ま1回Windows起動してガッとmvしたほうが環境にパッケージ増えなくてクリーンだな

07:37:12

Well Known Messageもなんかしてパース環境に取り込んであげないといけないのか

07:40:30

protocがどうやっているかを読めばいけそう?

07:49:40

protoc、自身のファイルパスから相対で../include/とかを検索してるというオチだった

07:50:24

だいたいシステムのパケマネでいれると/usr/bin/protocになるから/usr/includeにwell-known messageのprotoが入ってる想定みたいな

07:51:11

_WIN32
defined(__APPLE__)

の三段構えを見てしまったよ

07:51:24

そう、実行時

07:51:57

// Get the absolute path of this protoc binary.
bool GetProtocAbsolutePath(std::string* path)

っての発見してああああお前実行時解決かよってなった

07:52:19

えーこれサードパーティアプリ作るのに普通に都合悪い

07:52:47

/usr/includeとか仮定するわけにもいかんし、そもそもこのためだけにシステムの都合を気にしたくないな

08:21:32

CMakeのPROTOBUF_INCLUDE_DIRをそのままコンパイル時のマクロまで引き回すことにした。システムにだいぶ依存するが、一旦は…

08:21:40

これ絶対Windowsとかで動かねえだろ

08:38:07

ん、これもしかしてImporterを継承するなりしてカスタムImporter作れば何とかなるな

08:38:38

コンストラクタくらいしか差し込みできるポイントなさそうだけど

08:48:12

生成コードのDescriptorが入ってるプールからルックアップするDescripotorDatabaseをImporterに認識させればいけるはず
実際にWell known messageをリフレクションして使いたいときもどうせそっち参照することになるし

08:48:40

libprotobuf完全に理解したい

08:49:46

libprotobufなかなか楽しいっちゃ楽しい

08:50:32

libgrpc++は覚えてもgRPCしかできないけど、libprotobufはProtobufが何かと使い道はありそうなので価値がある

09:10:16

リクエスト部別スレッドにしてえな

09:10:35

今のままだと田舎ITのUIフリーズクラサバアプリになってしまう

09:11:19

別に都市かは関係ないんですけどね

09:14:27

COBOLを笑う人は十進演算が必須な場所で浮動小数点数とか使って怒られたことがないのだろうか あのような手間を払わずとも最初に習うデータ型がそれを担保しているのすごく特定ドメインでは強いと思うんですよ

09:15:10

最初に覚えるデータ型がコンピュータの二進数世界の都合に縛られてないんだぜ

09:15:53

本質的な強みはもっと他にあると思うが、俺はこれで仕事をしたことがないのでまあ分からん

09:16:08

ただ間違いなく汎用言語としての価値は現代にはないぞ

09:17:17

俺はあの言語をプログラミング言語というよりDSLとして扱っているので…

15:49:38

出社

15:50:02

トイレ行列の恨みをぶつけて爆音うんこしてる

15:51:19

ブチミコブチではない

20:05:20

家に帰ったらmikutterが落ちていた

20:24:10

通販の日用品終わってるの普通にキレるんだよな

20:24:53

こっちは通販をプライマリな経路にしてるんや、普段ドラッグストアやらイオンいってるやつはすっこんでろという気持ち

20:25:09

(まあそういう話じゃないけど…)

21:02:51

Qt 5.14、QML環境ES7マジ?

21:03:02

ES5書かされたらどうしようって思ったけど思ったより新しいやん

21:04:21

JavaScript Host Environment | Qt QML 5.14.1
doc.qt.io/qt-5/qtqml-javascrip

> The QML runtime implements the 7th edition of the standard.

ほんとぉ?

JavaScript Host Environment | Qt QML 5.15.10
21:04:56

作ってるgRPCクライアントでQML使うか悩んでる あまりフットプリント大きいならC++で頑張ります……みたいな気持ちがあり

21:05:25

「Electronアプリを起動するより軽い」が目標なので

21:05:38

起動するよりっつか使っててのコストも

21:31:24

qmlsceneでQMLロードするとQtQuick.Controlsがネイティブの見た目になるのに、QQmlApplicationEngineクラスでロードすると独自になるな なんだこれ

21:34:07

main関数で使うやつをQGuiApplicationじゃなくてQApplicationにしたらネイティブになった……えっなにこれ

21:35:29

QApplication extends QGuiApplication の継承関係で、QApplicationはQt Widgetsに所属しているのか なるほどなるほど

21:40:07

QtQuick.Controls.TextField、右クリックコンテキストメニューが提供されていないとのことで解散です

21:40:39

そんなもの再発明したくないが

21:40:45

いや難しくはないけど…

21:41:27

右クリックしたらCut/Copy/Pasteくらい標準でできててほしいよね、ができないらしい……

21:44:56

コンテキストメニューくれってチケット起票されてるけど、2013年だしQt6でも載ることはなさそう bugreports.qt.io/browse/QTBUG-

[QTBUG-35598] QtQuick Controls TextField and TextArea miss mouse context menu - Qt Bug Tracker
21:45:33

はい、じゃあC++でいきます

21:48:38

ちなみにQMLロードしてもメモリはそんなに食わないみたいで、Chromiumを抱えこんで立ち上げるよりはよっぽど低コストのようだ

21:48:51

まあ、そりゃそうだよな。

22:00:33

うーんImporter細工してwell-known proto仕込めるかと思ったが、なんかちゃんとカプセル化されてるな…

22:02:35

protobufのリポジトリから基本型のprotoファイル全部コピーしてきて、Qt Resource Fileにパックしてそれをロードできるように仕込みをするのは現実的にできそう

23:31:09

ウオーーーーーよし勝った

23:31:19

Qt Resourceからprotoファイルロードできるようにした

23:32:42

libprotobufのImporterはファイルロードの処理をSourceTreeというクラスで抽象化していて、基本実装としてはファイルシステム上のパスから仮想マップを作ってそれでパス解決するやつがある

23:33:07

パス解決+fopenして読めるようにするところ だな

23:34:15

これは好きに実装できるので、Qtのリソースの特定prefixから探索してヒットすればそこから、無ければ前述のファイルシステムから読むやつに全部委譲するやつを書いたらうまくいった

23:35:11

fopenするとはいったけど、InputStreamの操作もJavaとかのそれみたいな感じで抽象化されてるのでまあどうにでもなるやつですね…

23:35:54
2020-03-11 21:54:44 Posting Masataka "CAMELLIA" KONDO machey@mstdn.maud.io

This account is not set to public on notestock.

23:36:09

toshi_aやな

23:41:26
florarpc/Protocol.cpp at 10611b378395b0687e6466db294315437074e18c · shibafu528/florarpc
23:45:36

ZeroCopyInputStream (ただしZeroCopyかどうかは実装者に委ねられている)

23:45:55

じゃあなんでそんな名前にしたんだ…

23:47:06

うるせえ政治はTwitterでやれモード発動した

23:47:51

まあ……まあ……それもまた自由ですから……ハァハァ

23:50:19

努力しろ、たしかにそうなのかも