開発日記
2024/11/20
Android15を入れたら自作アプリから突然の違和感が・・・。よくよくみてみると一部のアプリでタイトルバー(ToolBar)部分が時計とかが表示される通知領域部分と被って表示されていました。問題のActivityのレイアウトファイルを覗いてみてルート要素がCoordinatorLayoutだと起こるのかな、これ?
詳しく調べてみると、edge-to-edgeなるレイアウトがAndroid15から適用されるようになったらしいです。時計とかが表示されたり、カメラの穴が開いてたりする上に配置された通知領域(StatusBar)とかジェスチャーコントロールで画面切り替えを行える操作領域(NavigationBar)なんかの下もアプリの描画領域にできるようになるのがedge-to-edge機能だそうで、アプリへの没入感を高める効果が期待できるそうです。うちのアプリは没入感より操作に迷わないでいてくれることが大事なので、今のところそんなに必要性を感じませんが、適用されちゃうもんは仕方ないかと対応を考えました。
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, insets -> val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars()) view.setPadding( systemBarsInsets.left, systemBarsInsets.top, systemBarsInsets.right, systemBarsInsets.bottom ) insets }
とりあえず、ActivityのOnCreateの中で↑こんな感じでルート要素のパッディングにinsetsなるものから得た数値を当ててあげたら、必要な隙間をあけてくれるようになりました。端末やOSバージョンによって通知領域や画面操作領域のサイズが異なるので、システム情報にアクセスしてあげないとならないってことなんでしょうかね。見事、隙間が空いて、edge-to-edgeでもOS管理下のUIとアプリ管理下のUIが被さらなくなりました・・・が、ここでまた問題発生です。通知領域(StatusBar)部分の背景色が真っ白で、文字色も真っ白なのか何なのか通知が何も見えなくなっちゃってます。
これはまた厄介な問題で、タイトルバー(ActionBar)を使っていると、あの真っ白背景はどうにもならないという検証サイトをみかけました・・・。そのサイトでXMLで定義されている古いレイアウトの場合、これが起こり得るとかかれていて・・・あぁ、やっぱりこのレイアウト定義は時代遅れなんだなと納得しました。重い腰をあげてComposalなレイアウトに切り替えていかないとか・・・。それは後で検討するとして、別に暫定的でも対応しないと、地味に使いにくい状態です。
<item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>
styles.xmlに今のテーマの子テーマを作って、↑edge-to-edgeを抑制する記述を追加しました。targetApiも指定して影響範囲も絞れるのかな、これで。AndroidManifest.xmlで各Activityのテーマを子テーマに設定し直すことでAndroid14以前のような表示に戻りました。ふぅ~。あくまでも暫定的な対応で、改めてアプリのレイアウトについては考え直さないとですね。
2024/10/25
Viteを使った開発をしていて、重い処理をWASMに投げていたんですが、ViteはまだWASMのESモジュール統合に対応していないらしく、vite-plugin-wasmプラグインを利用せよとの指示に従っていました。
import { defineConfig } from 'vite'; import wasm from 'vite-plugin-wasm'; import topLevelAwait from 'vite-plugin-top-level-await'; export default defineConfig({ plugins: [wasm(), topLevelAwait()], }
↑こんなvite.config.jsファイルになってました。それで、重い処理の重さが徐々にUIスレッド(メインスレッド)を圧迫し始めまして、スレッド分けを行うことになりました。Web Workerてやつですね。存在は知ってましたが、これまで縁がなかったやつで、jsファイルを指定するとそれを別のスレッドに展開してくれるものなんだそうです。スレッド間のやりとりはmessageイベントで行うとのことでした。WASMの呼び出し&計算部分をラップするだけなので、難しいことは特になく実装は終わりました。ただ、Viteのビルドの段階になってモジュールの読み込みがうまくいかないとエラーが出ました。
const worker = new Worker(new URL('./worker.js', import.meta.url),{type:'module'});
まず、URL(ファイルパス)の部分の解決を試みました。しかし、これだけでは解決しませんでした。vite-plugin-wasmのGithubページを確認したら、すぐ答えが書いてありました。WASMとWeb Workerなんてセットで使われること多いだろうし当然と言えば当然か。
import { defineConfig } from 'vite'; import wasm from 'vite-plugin-wasm'; import topLevelAwait from 'vite-plugin-top-level-await'; export default defineConfig({ plugins: [wasm(), topLevelAwait()], worker: { plugins: [wasm(), topLevelAwait()] }, }
vite.config.jsにworker設定欄を用意して、そこでもWASM用プラグインを読み込めばよい、ということでした。Web Workerは本体とはやはりいろいろ独立してるんだろうな。
2024/7/26
とあるサーバーの中身交換案件にて、DBサーバー(MySQL)を新しめのもの(ver.8.4)に換装したときの話です。いつものようにデータベースのレプリケーションを行おうとすると、SQL文をDBサーバーが受け付けてくれないのでした?何度かやっている作業だし、WEB上にも参考記事がいっぱいあるし、なんならChatGPT先生にも確認したんですが、なぜか受け付けてもらえないSQL文・・・。「こっ、これはまさか!?」話には聞いていましたが、この業界にポリコレのメスが入った時に、奴隷制度を起源とする言葉が別の言葉に言い換えられる・・・ってやつですか?
新 | 旧 |
CHANGE REPLICATION SOURCE TO | CHANGE MASTER TO |
SHOW BINARY LOG STATUS | SHOW MASTER STATUS |
SOURCE | MASTER |
REPLICA | SLAVE |
前の書き方が通用した時期が長かったせいか、MySQLの更新体制がアタフタしてたせいか、この言葉の置換があんまり浸透してないんですかね。新しいやり方を参照する資料が少なくって、作業が捗りませんでした。きっと時間が解決してくれるでしょうけど、今ちょっと不便かもしれません。
2024/7/14
Androidアプリの開発ターゲットを最新のAPIに合わせなさい(さもなくば消すぞ)、という要請を受けてターゲットを34にしたのに警告文が消えませんでした。何か他に対応すべき事項があるのかなと調べても出てきませんでした。どうも問題は製品版アプリにはなく、気まぐれに使った「内部テスター向け」公開機能で公開されているバージョンにあったようです。公開するからには、製品版同様新しいSDKやらAPIを使って機能性や安全性を担保せよとのことでしょう。気づくのに時間かかったよ!それで製品版相当のアプリをアップロードしようとしたら、「そいつはもう既に公開されてますぜ(重複は許さないよ)」って言われたので、とりあえず内部テスター用バージョンはしれっと消させてもらいました。警告文も消えてめでたし、めでたし。
最近、ツブタンをまた作ってます。覚えている人も少ないだろうなぁと思いながら、チョコチョコ今の技術を使って書いてます。
2024/7/9
開発環境を組み立てる作業、好きですか?私は・・・ちょっと・・・ね・・・。
Androidアプリをたまに更新するときにgradleがなんかいろいろ要求してくるの、毎回戸惑います。Google Playさんはアプリの放置を許してはくれないので、年に一、二回この作業が必要になります。(先日やった)自分がよくわかってないのが悪いのですが、そんなに毎回何かやらなくちゃならんもんですかね?AndroidManifest.xmlのpackage名、build.gradleにnamespaceとして書き直す作業、自分でやらなきゃダメなんですかね。gradleのこともっと知ってたら、なんかこうもっとうまくやれるんでしょうか?
最近はGoogle先生だけじゃなく、ChatGPT先生らAI講師陣がやるべきことを教えてくれて、開発環境の構築作業も、なんなら実装の方もやってくれそうな勢いなんですが、生まれて間もない開発環境やドキュメントの少ない開発環境、ちょいちょい大きな変更を加えて前ぽ互換性に乏しい開発環境など先生がモゴモゴし始めるときがあるんですよね。そのうち、AIフレンドリーな開発環境構築に舵が切られて、人間は実装に集中できる日はきそうですが、何か規格とか策定してたりしませんかね?
それで、最近は、viteを使って作っていたサイトにwasmを使おうってなって、またviteのことに詳しくないもので、うまくいかなくて手が止まるを何度も繰り返していたのでした。viteまず正規にwasmファイルを扱えないってところから始まり、今のところ「vite-plugin-wasm」なるプラグインを導入させられました。もうね、プラグインの中まで読まないからとりあえず導入してみて「動かないな」ってなるわけです。先生方もいろんな助言をくれるので一個一個悪いところを探すんですが、なんか勘所を外してるように思われるわけです。まず、このプラグイン、wasmファイルのお尻に「?import」とかつけて、しかもアクセスすると静的なファイルなのに500エラーを返してきやがったんですよ。これプラグインが「?import」がついてたらimport用のスクリプトを代わりに吐き出すって仕様だったんですね。(一晩寝ながら考えて解決策を練りました)これ書き換えられる前に自分で「?init」をつけたら何故か500エラーを回避できたんですよ。理由はわかってないですけど、chatGPT先生の示すコードにたまたまついてたのを真似たんですよね。プラグインサイトをみても理由と使い方、いまだに謎なんでモヤモヤしつつ、次は代替コードがエラーを吐いて止まるんですよね。ここでもう一晩、寝ながら考えたわけですが、今度はwasmを生成したwasm-packの設定が適切じゃなかったっていう問題点にやっと辿り着いたわけです。wasm-packのビルドターゲットをwebでやってたんですが、viteみたいなパッケージを作ってくれるやつはbundlerをtargetに指定した方がいいらしいです。自分で気づくまで誰も教えてくれなかったよ!ググれば答えは出てくるけど、ググるって発想は自分で辿り着くしかなかったよ!それでwasmの読み込みに成功した途端にthree.jsが描画をやめやがったよ!(きっかけがwasmってだけで、これは全然別問題だった)script[type="module"]、script[defer]とDOMContentLoadedイベントの順番とか雑にやってたツケが・・・。
七転八倒しながら動くようになったので、やっと動作の実装に集中できそうです。先生方はもっと導いてくれていいよ!
2024/5/29
このサイトもそうなんですが、自分で作ったWikiモジュールを持っていて、それでサイトを構築しています。Wiki記法も方言がいっぱいありますが、初めて使ったPukiWikiのものをベースにしつつ、Wikipediaのものを少し取り入れてます。最近はgithubなんかでよく使われているMD形式何かの方が今はいいのかなと思わないでもないですが、まぁ、記事のコンバーターを書く元気があるときに考えるとして、WikiサイトのURLってどうあるべきかなって前に考えていたんですよね。
https://soft.candychip.net/?記事名
前は↑こんな感じでクエリーにWikiネームを投げてました。なんでだっけかな、多分、PukiWikiリスペクトで真似たんだと思います。それでPukiWikiって記事に親子関係を持てるんですが、そのときのWikiネームが「親記事名/子記事名」っていう構成になるんですが、
https://soft.candychip.net/?親記事名/子記事名
親子記事のセパレータってやはりディレクトリ階層構造を意識してますよね。
https://soft.candychip.net/親記事名/子記事名
それなら↑パスで表現するのが自然な気がしますよね。ってことで、ちょいちょい様子を見ながら変更していったら・・・SEO効果がちょっとあったっぽいです。一意のURLをクエリで表すのはできていたとは思うのですが(Search Consoleを見る限り)、ちょっとよくなかったのかもしれません。
2024/5/27
D-U-N-S Numberを東京商工リサーチさんに申請して、きっかり7営業日経過後くらいに、メールで返信が入って、無事番号を取得できたようです。実際に番号参照サイトに登録されるのに、早くて数日、場合によっては数か月かかるとも書いてありましたが、さっき検索したら既に参照できるようになってました。
メールには現在、サービスへの依頼や問い合わせが平時の倍以上に集中していて、標準的な納期より時間がかかっているんだそうです。うちの場合は標準通りだったけど、Google Playさんの件で今後混雑が悪化したりするんですかね?確かGoogle Playさん側の処理がこの後あって、自分で決定したその作業の締切の60日前に作業が開始できるようになるわけですよね。60日か・・・人によっては十分な期間であり、人によっては下手すると間に合わないくらいの期間。(夏休みの宿題理論)
私の作業開始は今年の年末くらいのはずなので、しばらく放置でいい・・・はずですよね。なんか個人事業主的なひっかかりポイントが他にないかどうか、先に作業を終えた方の情報をたまに探ってみようかなと考えています。
2024/5/16
1週間して、税務署から開示文書の写しが送付されてきました。2枚あると思ったら、引っ越した時の変更届も一緒に送られてきたようです。そういえば、送ったかも。これで証明書類がそろったと思うのでD-U-N-S Numberとやらを申請してみましょう。
米国本家では無料で登録できるそうですが、日本国内で代理で申請を受け付けている東京商工リサーチさんにお願いすると3300円かかるそうです。暇なときだったら、自分で本家に申請してたかもしれませんが、今意外と忙しい感じなので、何か不手際があったときにもコミュニケーションがとり安そうな東京商工リサーチさんに投げることにしました。個人事業主でも申請できることは事前に調査してあったので、とりあえず申請フォームに直行しました。記入例は、ググればちょこちょこ出てくるのでそれを参考にしました。「連絡先電話番号の入力桁数が足りない!」「FAX持ってないけど番号入力が必須!?」とかひっかかりやすそうなところは一通りひっかかりましたが、フォームの上の説明に全部解決法が書いてあるので「よく読め」で片づけられそうです。(フォーム側を直してくれてもいいのよ。)
フォームから申請が終わると費用の振込先がサンクスページや返信メールに書いてあるので、サクッと振り込みました。3300円ってちょっと前までおいしいものが食べられる金額でしたが、最近の物価上昇で、おいしいものにはちょっと心もとない金額になってしまった気がします。お酒飲んだらあっという間です。申請費用もきっと上がっていくんでしょうね。
で、開業中であることを示す税務署にもらった書類を先方に送らないといけないのですが、先ほど言った通りうちにFAXはありません。でも、今はメールで送ってもよくなったそうです。割と最近OKになったのかな?そういえばうちにドキュメントスキャナーあったなと、久しぶりに引っ張り出してきて、書類をPDF化して、メールに添付して送りました。切手を用意したり、ポストまで行ったりしなくてよかったので、なかなかスムーズでスマートな作業でした。税務署さんがPDFを送ってくれるともっと速いし、なんなら事業実態があることを証明するAPIでもなんでも用意してくれたらさらに便利かもですね。っていうか、D-U-N-S Numberに頼らずとも国がGoogleに情報をオプトイン開示してくれればいい気もしてきました。
2024/5/9
先月送った保有個人情報開示請求書の返事がやっと届きました。中身は紙の「保有個人情報の開示の実施方法等申出書」でした。うん、これそういうもんなのかな?電子申請すると紙の申請書が届いて、返送用の簡易書留郵便代を切手で送れって流れになると・・・。実施方法に関しては「保有個人情報開示請求」の方でも明記してあったはずなので、実質120円分の切手を送る操作を求められた感じなのかな。わかんないからちょっとだけ深堀してみたところ、こういう情報公開の手続きは「開示請求」が通ったら「開示実施」を行うという二段階の工程を踏むプロトコルになってるんですね。IT屋さん的には二段階認証とかハンドシェイクとかいろいろな手続きを経てから、本来必要だったものにアクセスできるようになるみたいなところが似ていて、「必要性があるかも」とちょっと納得できますかね。開示請求しても「できません」って断られるフローがシステムに備わっているわけです。
とはいえ、今回みたいな「写しの送付」については、開示請求とその実施が分かれる必要性を感じないですね。税務署に来庁予約を取る必要もないし。バイパスできていい気もします。その辺の利便性はデジタル庁が何とかしてくれるのか、それとも先に立法府が法律整備する必要があるのか、はたまた国税庁マターなのか・・・。
ちなみにe-Taxの「イメージデータで送信可能な手続」に「保有個人情報の開示の実施方法等申出書」も含まれているっぽかったです。紙で届いたので今回は紙で申請しましたけど。あっ、返送用の切手がある場合、e-Taxではどうするんだろう?電子納付で代わることはできなそうで「別途送付」しろって書いてあるな・・・。そもそも切手が電子申請にそぐわないのか・・・郵政改革?いや、そもそも写しを紙じゃなくてPDFデータで送ってもらうのでいい気もするぞ。
Google Play Consoleデベロッパー アカウント確認作業はまだまだ続くのでした。
2024/5/6
世の中は連休最終日。うちは明日が休み。
position: sticky;
細かい制御は今のところできないけど、要件が合えば楽に画面内に要素を留めることができるcssのstickyさん。レイアウトを作るデザイナさんが慣れ親しんできたのか、ちょっと利用する機会が増えてきた気がします。でも、こいつ指定しても効果が得られないときが突然やってくる気がします。その度に「なんでだっけ?」ってなるので、ここにメモ。
sticky指定要素の親(もしくは祖先)要素のoverflowを疑え!
これに尽きるかも。stickyな位置の計算に支障があるんでしょうね。祖先要素が自分の編集担当範囲外だった場合、詰むんだろうか。こっそり祖先要素に overflow: visible をつけてやりましたぜ、うぇっへっへ。
(追記)親要素のfloatにも気を付けたい。
2024/4/6
去年、 Google Play Console 要件が新たにデベロッパー アカウント確認を要求してきましたよね。よくわかんないけど、デベロッパーの身元や責任の所在をはっきりさせたいってことだと解釈しました。で、確認期限を決めろとのことでしたが、よくわかんないからギリギリまで後回しにしようと、一番遅い選択肢を選んだのでした。・・・そして、今年になって・・・何もやってない・・・。これはイカンなと思い、ちょっと動き始めました。
一番厄介そうなのが「組織の D-U-N-S ナンバー」なる番号の入手なのですが、その前に個人事業主の開業届(の控え)を用意しないとならないのでした。・・・開業届・・・届け出を出すとき複製と合わせて二枚提出すると片方が控えとして返送されてくるというあれですが、開業当時何も深く考えずに一枚だけ提出したのが私です。あれからたまーに開業日(届け出日)を聞かれたり、控えの提出を求められたりしてきましたが、代替方法があったのでうまく逃げおおせてきましたが、ついに年貢の納め時のようです。諦めて、税務署長に控えの発行をお願いすることにしました。
どうも「保有個人情報開示請求書」に開業届の写しが欲しい旨書いて提出すると、一定期間以内に書類がもらえるようです。税務署に直接いければ早いのでしょうが、うちからはアクセスが悪くて少し困難を伴うので、郵送がいいかなと思いました、が、e-Govみたいなのが出てきている昨今、もうちょっと楽できる気がしたので調べてみたところ、e-Taxの「イメージデータで送信可能な手続」を使って申請書が提出できるっぽいのでした。保有個人情報開示請求書の手数料もe-Taxだと300円→200円と割り引かれ、切手代もセーブできる・・・ここまでできるようになってたのか。我が国のITへの後ろ向きな感じはやっと払拭されるのか!?他国のIT事情が耳に入ってくることは多いですが、途上国の勢いとかすごくて、不安になっちゃうんですよね。まだ電子化されていない届け出もありそうですし、「イメージデータで送信可能な手続」が一般人に優しいとは言えないと思うので、今後も突き進めていって欲しいです。
とりあえず、まだ連絡待ちステータスです。
2024/4/4
ただいま、サイトのメンテナンス中です。URL構造をガッツリ変更しようとしています。しばらく問題がでるし、クローラーが巡ってくるのを待たなきゃだし、あんまりやりたくない作業だけど、時代の要請にこたえないとなのです。要請多いよ、WEB業界。この投稿も更新テストを兼ねています。
2024/3/30
前回の居住者証明書の件、申請書の「対象期間」の入力欄がOptional(任意)って書いてあったから無視したら、ダメだった!いや、何がダメなのかはGoogleさんが教えてくれたわけではないけど、対象期間に申請日前の1年間くらいの期間を書き添えた書類を再提出したら、通ったから多分、そういうことなんだろう。二度手間でござった。
2024/2/28
海外のサービス絡みで公的な書類の提示を求められることが最近増えた気がするのですが、Adsense絡みでシンガポールからの入金がどうのこうので、マイナンバーカードの表面だけじゃダメだぜ!って言われました。居住者証明書を交付してもらって、これを提出すればいいらしいと聞いたのですが、どうもまだe-Govで電子申請に対応とはいってないようで、国税庁の交付申請書PDFをダウンロードして、印刷(証明書数+1枚)して、郵送か来署して申請しろとのことです。デジタル化がんばっている部分も多そうですが、まだやることは山積みなんでしょうか?身体の都合上、自書は無理っぽかったので、PCで入力できる方式のPDFをダウンロードしてみたんですが、どうもフォントの設定がおかしいらしくて、
- 英数字以外表示(印字)されない
- 日本語表示できてもフォントサイズが大きすぎて見切れる
といったPDFあるあるな罠が待ち受けてました。MS Word 2013の出力め・・・。うちのWin環境でいろいろ試してみた感じでは「Firefoxで開いて編集して保存しなおす」でうまくいきそうな感じでした。遅いから明日印刷するか・・・うまくいくかな?
YouTuberさんとかが税務情報提出することも多そうですし、この文書のデジタル化、マイナンバーなんかとの紐づけは望まれるところではないですかね?Office関連文書の刷新なんかもがんばって!
2024/2/14
スマホ文鎮化後日談です。Pixel端末だったのでPixelストアにサポートを求めた結果、7Proとの交換対応となって、カードの信用枠を使って交換端末をストアで注文する流れとなりました。長くて10日くらいかかるのかと思ってたら、翌日には(連休中なのに!)郵便で届きました。はやい、すごい!
交換端末のセットアップはさすがにいろいろありましたが、勝手にGoogle Oneとやらにバックアップされていたデータがあったので、最後のバックアップまでの二日分のデータロスがあったくらいでした。自分で作ったアプリのデータもちゃんとバックアップされていて、いや自分で作ったのにちゃんとわかってなかったよ、ってなりました。Android Studioの言うがままに作っておいてよかった!すごい。
おサイフケータイ的な奴はちゃんと戻るんだろうかと身構えてたんですが、盗難や紛失というケースもあるんですから、その辺はセンターサーバー側でなんとでもなるんですね。Suicaなんかはすぐにお金を新端末に戻せました。nanacoは連休中は受付してなかったのでこれからやんなきゃで、WAONが10日くらいで戻せるようになる、とのことでした。
心配事もなくなったので、文鎮はPixelストアに送り返しました。思わぬところで端末が刷新されて、なんかTPUとか触った方がいいの?ってなってます。
2024/2/9
ある日突然スマートフォンが文鎮化する・・・そんな話は聞いてましたが、実際に自分の身に降りかかるといろいろなことを考えさせられますね。あの鉄塊、日本では文鎮っていう愛称で呼ばれてますが、ヨソではブリック(レンガ)なんですってね。言葉の違いに多様な文化を感じます。あちらではソフトブリック、ハードブリックと分けて扱われるようで、原因がソフトウェアかハードウェアかで呼び分けるんですね。レンガも原料や焼き方で質感が変わるんでしょうね。文鎮だとその辺が表現できてないかもですね。(今、疲れた顔をしながら書いています。)
今回の文鎮化がよりによってディズニーランドで遊んでいる最中に発生しまして、それがまた一層疲れを増してくれました。ご存じの方もたくさんいらっしゃると思いますが、昨今のディズニーランドはアプリを介したサービスが充実していまして、パスポートもご飯もお土産もショーの観覧もスマホのアプリを起点にしたアクションがたくさんあります。会計も今は電子決済に対応しているのでSuicaにいつもより多めに入金しておいたきました。あとは今、期間限定の謎解きプログラムという催しが行われているのですが、これなんかもLINEの機能と連携した作りになっていて、朝一番に1500円出して参加資格を購入しましたよ。
それらが一度に使えなくなった時のあの絶望といったら・・・。
翌日、端末のサポート窓口に問い合わせて、現在交換品を待っているところです。元の端末に入っているデータはサルベージできなそうとのことでした。自分のアプリは端末内のデータを別のファイルに書き出しできる仕組みは用意してたんですが、そんなエクスポート作業、日常的に行う人なんていないですよね~。「データをクラウドに置かせる」という新たな課題が自分のトラブルから生まれるのでした。
2024/1/1
正月くらいはのんびり・・・と思ってましたが、今年は仕事が・・・と思ってたら、能登半島でデカい地震が発生して、正月特番を吹っ飛ばして、今も地震速報が頻繁にテレビを鳴らしています。「東日本大震災のことを思い出してください!」と女性アナウンサーが真剣に伝えているのをみて、浮かれ気分は消え失せました。夜が明けて、明るくなってくると最初の被害状況が明らかになってくることでしょう。そしたら自分のできることを考えていきましょう。
去年は身体の調子がちょっと改善された気がしていて、もうちょっとできることが増えるんじゃないかと今年に意気込みをつないでいます。コロナ禍の話が薄らぎ、ウクライナはまだせめぎ合い、パレスチナ自治区も悲しい話が始まり、いろんなことがありましたが、今年はオリンピックで楽しめるといいな。仕事関連では、世に出せるものがまだないんですが、年内に何かリリースできるかな?小さいプロジェクトでも立ち上げようかな?