スキップしてメイン コンテンツに移動

投稿

12月, 2022の投稿を表示しています

そりゃ無いぜDoxygen (1.9.6)Firefoxで読めないよ

解決したでよ~ FirefoxとDoxygen 以前Doxygenの最新版とFirefoxとの組合せで色がおかしくなると書いたことがあったけど原因がわかった  HTMLのHTML_COLORSTYLEがデフォルトでAUTO_LIGHTになっているのだけど Firefoxは何故かその時にOSのカラーモードを検出してしまって、勝手...   [ブログカード風リンクタグ作成] と言うわけで、この下は解決済です   スマホアプリにDBの実装を始めた(まだ始めただけでクラス名を決め始めただけ) なのだけど・・・・途中でそういえば最近ドキュメント出力してないよなと思って doxygenをアップデートした 1.9.2から1.9.6に 激変しましたよもう・・・・   出来上がったドキュメントはこんな感じを想定していた 最初はEdgeで確認したんですよ いやぁ出来たできたと思っていたら ところが・・・・ このドキュメントをFirefoxを使って読むと こうなってしまう なんじゃこり ゃ・・・・ もの凄く想定外の色使いになってびっくり   しかも、 なんと、関連図に指定した日本語フォントがぶっ壊れた? ええ???? どうもこのヘンテコな色になるのはFirefoxだけみたい Doxygen1.9.6はフォントの指定が DOT_FONTNAME から DOT_COMMON_ATTR で指定するように変わっているのだけど 日本語フォントを指定しても全くもって無視される 勘弁してくださいよ オープンソースだから気付いた俺が情報提供しなきゃならないみたいだけど・・・ 英語は無理 firefoxで背景の色指定のcssが無視される grapvizに指定する日本語フォントが無視される と言うのをどうやって申告いればいいのやら・・・  まあ、明日から帰省なのでもうこんな事やってられないのでしばらく放置   ちなみに、doxygenを1.9.2に戻したら、想定通りに出力されたのでもう忘れよう

「えるいーだー」のデモ動画が出来た

えるいーだーのデモ動画が出来ました   動画はこちら プラモ作るまでが苦労しました と言うか、プラモそのものは凄く簡単です と言うか、今のプラモ進化しすぎ パチ組みできちゃうプラモに、さらに一体成形で複数の色のクリアパーツとか ほんとすごいね しかし、その仕組みがLEDの組込には徒になりました 裏がスカスカで、LEDを保持する構造材が無いじゃん まいった・・・ そんなわけで、タミヤのプラ棒のコの字型のを買ってきて( これです )そこにLEDのリードを通して、パテで抜け落ちないようにしました 後ろからピンバイスで穴を開けて接着剤流し込んでおしまいとか甘いこと考えていたら、 その裏の構造材が全くないという・・・ この手の簡単な自動車プラモはPLATZ、アオシマから既にシリーズ化されてかなりの数が出ていてこれまた出来がいい 子供の頃、塗装するのに少ない小遣いを握りしめてどの塗料を買うのか悩んだり、 スプレーなんか買えないからどの筆で塗ればいいのかとか、友達と撹拌皿を融通し合ってたのが嘘みたい そもそも当時はLEDなんか無くて麦球だったけどね  

Xamarin.FormsのSQLiteのテストアプリ

Xamarin.Formsで使えるSQliteのモジュール、なかなか使えそうでちょっと試してみた とは言え、コードは こちらのサイト からパクった物 割とあっさり成功 Createもクラスのメンバを元に勝手に作ってくれて、InsertやSelectも問題無さそう ちなみにBeginTransaction,Commit,RollbackもInsertの時に試したらうまく動いてくれた 上記のサイトのButton2_clickedを // Insert private void Button2_Clicked(object sender, EventArgs e) {   // データ追加     using (var db = new SQLite.SQLiteConnection(DbPath))     {   // Insert         db.BeginTransaction();         db.Insert(new Tran() { Name = "Tran 12 Name", TimeStamp = DateTime.Now, Value = 1.1m });         db.Insert(new Tran() { Name = "Tran 23 Name", TimeStamp = DateTime.Now, Value = 2.2m });         db.Insert(new Tran() { Name = "Tran 34 Name", TimeStamp = DateTime.Now, Value = 3.3m });         db.Insert(new Tran() { Name = "Tran 45 Name", TimeStamp = DateTime.Now, Value = 4.4m });         db.Commit();     } } みたいな感じに書き換えてテストしただけだけど んじゃあ、元からあるクラスを継承して作ったクラスはどんなテーブルが作られるのか と言うわけで、 /// <summary> /// Tranを継承しただけのクラス /// </summary> public cl

スーパーフェスティバル

来たる2023/1/8(日) スーパーフェスティバル で、出展いたします ブース番号は  A-11 です スーパーフェスティバルはずっと昔に一度ッキリ遊びに行ったくらいで ソフビが一杯、中古プラモ一杯のイメージでした 商品の解説ページはこちらから 売れてくれますように あと、買ってくれた人のリクエストも聞きたいです とはいえ、ひとりでシコシコ作ってるから友達の 「あの機能が欲しい」「これやって」もまだ組み込んでないのだけどね・・・ と言うか、デモ動画に時間が掛かりすぎる 3分くらいの動画作るだけでもう死にそう そしてエンコードに10分以上かかってしまう グラボをGeForceに代えたらもっとサクサク動画作成が進むんだろうか うーん

スペックシート忘れてた

えるいーだーの スペックシートを忘れてたわ・・・ こちらのページに えるいーだー の スペックシート を掲載  直近では2023/1/8の スーパーフェスティバル で販売します

Libre Officeの使い勝手・・・悪すぎる

なんというか、こなれてないというか 会社でMS-Officeになれているせいもあるけど、結構Libre Officeは「そりゃねーだろ」って言うようなのがあるんだよな 特にハイパーリンクの考え方が独特で、何も考えずにリンクすると #リンク名 みたいになる ハイパーリンクって書いてあるんだから、htmlのリンクみたいにしてくれよ 家でMS-Officeを使う気は無いけどちょっと荒っぽすぎる ブラウザからグーグルスプレッドシートを使ってると、ショートカットが独特すぎるので(まあブラウザのショートカットとぶつからないようになんだろうけど) Libre Officeで編集しようと思ったけど、きついなぁ フォントに感しての考え方も独特で、デフォルトのフォントだと何故か 中国語の書体なのよな これって、グーグルのスプレッドシートをダウンロードしたからなのかな Linux Libertinge G になってるのだけど かといってグーグルのスプレッドシート上だとそんな変な書体になってないし

テスト用の端末

テスト用の端末ですが 現在三個使っています メインの端末は Sony Xperia 1 III (Android12) それと、 Sony Xperia 10 Plus (Android 10) 最後に Asus ZenFone 4 Max(Android 7.1.1) そんなわけで昔の端末での動作確認はZenFoneが一手に担うことに ちなみに普段のテストは Xperia 10 Plus 左がZenFone 右がXperia 10 Plus 私の動画によく出てくるのは右の端末です Xperia 1 IIIはまあ、普段使いなのでAndroid12での動作確認程度

DBの設計

DBの設計、遅々として進みませんな 色々考えちゃう 綺麗にリレーションしようとすると細かくなりすぎるし、 かといって一つのレコードに何でもかんでも突っ込む昔ながらのテーブル構造は没 まあいつもトランザクションとマスター作ったら、 ビューでつなげてしまうのだけど SQLiteはストアド使えないっぽいし仕事で使うDBでもないのでマスタを履歴を取れるような構造にする意味も無いし 将来追加する機能のことも考えなきゃいけないし と言いつつ、ブログを書く時間は合ったりする俺 まあ、どんなにきっちり設計したところでいざ実装すると 「あっ」 ってなるんだけどね

グーグル・スプレッドシート

とりあえず電車の中でちまちまテーブルを作ってみた google spreadsheetなので家に帰ってきたら、PCで続きが出来る とは言えこれでようやくテーブルの一覧が出来ただけ まあ全部のテーブルを今から作る必要も無いんだけどさ・・・

C++ のoperator

 C++でお世話になる機能で多分みんなoperatorには感動したんじゃ無いだろうか   なんせ、構造体だろうがクラスだろうが“==”で結べちゃうんだ struct Thoge{ int a; int b; bool operator==(Thoge &hoge){     return (this.a == hoge.a && this.b==hoge.b); } bool operator!=(Thoge &hoge){     return !(this == hoge); } とやっておけば、 Thoge ha; Thoge hb; .. if(ha == hb){} 構造体同士を==で比較するなんていかさま臭い書き方が出来てしまう 新しい言語は進化をまだ続けているけど、色々追い切れない とは言え、こういう便利機能は本当に助かる

DBの設計

 えるいーだーのスマホ側のアプリにがっつり欠けている機能 それは「前回の終了時の状態を憶えること」 ・・・この機能がありませぬ まあ、そんなわけでこれからデータベースの設計に入るわけですが スマホでのフットプリントを考えると SQLite ほぼ一択なのです マイクロソフトのSQL Server Compact は知らないうちに死んでるし Firebird は相変わらず日本語の資料が少ない・・・どころか使ってる人いるのかってレベル Firebirdは昔使った時に250コミット毎にバキュームしなきゃいけないとか変な癖があって面倒くさかった覚えがあるんだけど、もう治ったのだろうか つーか、前回の終了時の状態憶えるのになんてRDB使おうとしてるのだよとか言われそうだけどいろいろな機能を考えると今のうちにデータベースを実装する必要があるのですよ そんなわけでテーブルの設計にこれから入るわけですが 大体こんな時の定番は A5 SQL となるわけで。 カンパウェアでここまで出来るのは凄いと思う それと PupSQLite 。これまたカンパウェア。 SQLiteでのロックをきっちり監視できているのがこのアプリなのよね 他のアプリだとデータが更新されてもなかなか反映されなかったりするのだけど、このPupSQLiteはちゃんと反映される。 とは言え会社から帰ってきた余白の時間でやってるので、スパフェスには間に合わないかなぁ・・・と

AIのパワー

写真を趣味にしていてちょくちょく写真を取りに行くのだけど RAWファイルを取っておいて後から現代の技術で現像するとびっくりするくらい画質が変わる 例えばこの水鳥だけど、とくに何か指定したわけでは無く、「自動」で選択したらこの様にしてくれます(ちなみに、このサイズだとよくわからないけどノイズも消してくれている) 普段はToapz LabsのPhoto AIというアプリを使って最終調整していますが 高感度ノイズはかなりがっつり削ってくれます 世の中凄い進歩の仕方だ 編集前   編集後

宣伝

スマホ経由で LEDをコントロールする基板 えるいーだー と言うのをどのように宣伝したらいいのだろうねぇ こちらのページで宣伝中 今度のスーパーフェスティバルと、ワンフェスで販売予定なのだけど 買ってくれた人もちゃんと使ってくれているのだろうか

enum class を作った人は神

まあ、C#でやってた人間にとって なんで Cのenumはこんなに不便なの ? とグチグチ言いたくなるわけですよ C++のenum classは使い勝手もよくて 定数をまとめて定義するのがとっても楽になった ・・・なのだけど、c言語上がりの人は何故か気にくわないみたいで 会社でやってたときに「enum classをコーディングルールで禁止できないか」と言うやつがいてちょっとビビった なんでよ 。 いったい何が気にくわないのか・・・・ まあ、さくっとその意見はみんなから無かったことにされたけど

std::vectorでクラッシュ

何も書かないのもなんなので・・・ C++を始めて間もない頃、 vector型が使いやすくてとても感激していた ・・・が、push_backするとクラッシュするという現象に悩まされていた なんでやねん、と思っていたら push_backする際に、メモリ領域が足りかったらその変数が引っ越してしまい、ポインタが行方不明(と言う表現もなんだけど)になっていた 別の領域をnewして今まであったところをdeleteしてんのかね? そういえば、最初にhoge.data()なんてやって、ポインターを取ってました まあ、もともとC++をやっている人には当然の話なのだけど 当時、Cやその派生言語は明示的にメモリを取るものだと思っていたもので、push_backしたら、内部でそう言う処理が走るものだとは思わなかった と言うお話し  C#とかだと、変数のメモリ位置が移動するというのは当たり前の話で VC++のDLLを組み込む際はわざわざ変数が移動しないようにピン留めしてたりしたのだけど。