CMakeとVSCodeでGoogleTest

ここ半年くらいはC++のお仕事をしています。 Unit Testってやりますよね?(部署にもよる気がしますが普通しますよね、色々なパターンがあると思いますが、デバッグモードでステップ実行して単体テストですと言われた時は目を強く瞑りました。。。) C++では、Visual Studioの単体テストフレームワーク、CTest、Catch2などなどあると思いますが、僕はGoogle Testが好きです。 テストが作りやすい、Mockがすごく便利だなと思います。後Visual StudioやVSCodeにTest AdapterがあるのでWindowでもLinuxでもテスト管理が簡単な気がします。 今回は、最近WindowsとLinux両方でコードを使い回してあげる必要が出てきたため、CMakeで環境を作るようにしています。 その際に初めてCMakeでGoogle Testの環境を作りましたので備忘録として残します。また、VSCodeのC++ Test Adapterもとてもよかったのでメモしておきます。 以下のことは書きません CMakeのインストール方法 CMake記法の詳細 Google Testの詳細 Google Testについてはまた別に書き残したいです。 CMakeでGoogle Testを使う単体テストプロジェクトを作る googletestのgithubリポジトリは割とドキュメントが充実しています。 googletest/googletest at main · google/googletest GoogleTest - Google Testing and Mocking Framework. Contribute to google/googletest development by creating an account on GitHub. プロジェクトの構成はこんな感じ proj |- CMakeList.txt |- test_sample.cpp |- build/ CMakeList.txtはこんな感じです。 cmake_minimum_required(VERSION 3.28) project(gtest_sample VERSION 0.1.0 LANGUAGES C CXX) include(FetchContent) FetchContent_Declare( googletest # Specify the commit you depend on and update it regularly....

February 16, 2024 · Last updated on February 16, 2024 · 1 min · rrrrrrryo

育休が終わりました

2023年の12月中旬から育休をとっていました。そして、2024年2月から職場に復帰します。 雑記として、感想と役に立ったことを書き留めておきます。 育休を取得して 我が家の子は、少し小さめに産まれました。そのため、最初の1、2週間は不安のある育児でした。 体重はしっかり増えるか。とにかくミルクを時間通りにあげるように心がけるも、あまり量を飲んでくれない日が続いたため、子にも負担をかけたかも知れません。 2週間が経過する頃には、少しずつミルクを飲む量が増えてきて、なんとか3000gを越すことができ、その後は順調に体重も増加して行きました。 よかった。 育休を取得して本当によかったと思います。(もう少し取ればよかった。) 少し疑問に残っているのは、12月の賞与に対しての社会保険料関係。会社に行ったらしっかり確認しようと思います。 役に立ったツールとか ツール類に結構助けられました。 ピヨログ 子どもの管理、妻との共有 育児記録アプリ ぴよログ 夫婦で共有できる無料育児記録アプリ。片手のかんたん操作で赤ちゃんの育児記録をつけられます。授乳タイマー機能やまとめ機能、成長曲線機能なども備えています。AIアシスタントにも対応! Notion 子どものページを作って、困っていること、心配な症状、必要なものを妻と共有できるようにしました。 作るきっかけは年始にこれを見て Notion で2024年のダッシュボード作ってみた | DevelopersIO 目指せ、毎日ひらきたくなるダッシュボード 鼻吸い器 絶対電動が良いです。少し高いけど買ってよかった。 加湿器 象印の手入れ簡単なやつ買いました。とってもよい。エアコン常に稼働なので必須 他にも色々買いました。 おわりに 育休は終わってしまいますが、育児は終わりません。 変わらず、交代制で夜もミルク! 子ども可愛い!

February 1, 2024 · Last updated on February 1, 2024 · 1 min · rrrrrrryo

google search consolへindex登録をする

私のドメインはWebではないので、かなり初心者です。 最近ドメインを取得して、ブログを公開してよしよしと思っていましたが、ふとgoogle検索で自分のブログ出てくるのか気になりました。 早速検索をすると、全く出てきませんでした。 あれー、と思って色々調べると、とりあえずGoogleのIndexに入っていないと検索に引っかからないと言うことがわかりました。 今回はGoogle Search Consoleでgoogle indexに登録してもらう備忘録を残します。 やっていく! 恥ずかしながら、そもそもこんなサービスがあることを知りませんでした。 まずGoogle Search Consoleに入ります。おそらく、Googleアカウントがあれば問題なくログインできます。 ログインし、初めての場合はおそらくまず以下の画面が出てきます。 (私は既に弊ブログ登録してしまったので、rrrrrrryo.devが登録されている) 今回は、ドメイン以下サブドメインも全て登録できるように、”ドメイン”へ、自分が取得しているドメインを入力して続行を押下します。 CloudFlareの場合、dnsへの登録は連携して自動で行なってくれるようでした。 ドメインのプロパティページが作成されます。以下画面で検索バーに登録したいWebページのURLを入力し検索します。 URLがGoogle Indexに登録されているか検索することができるようです。 登録されていなかった場合、”インデックス登録をリクエスト”から登録のリクエストを送ります。 審査?後、登録のキューに入れられて、しばらくすると登録になるようです。 以上これで、登録が完了すると、GoogleのクローラーがWebページを見てくれるようになります。 ついでに ついでに、sitemapの登録までやっておきます。 サイトマップはGoogleによると以下のように使用されるみたいです。 サイトマップとは、サイト上のページや動画などのファイルについての情報や、各ファイルの関係を伝えるファイルです。Google などの検索エンジンは、このファイルを読み込んで、より効率的にクロールを行います。サイトマップはサイト内の重要なページとファイルを Google に伝えるだけでなく、重要なファイルについての貴重な情報(ページの最終更新日やすべての代替言語ページなど)も提供します。 左側の”インデックス作成 > サイトマップ”のページでsitemapのパスを登録します。 hugoではビルド時にルートへサイトマップも作ってくれるのですごく簡単です。 おわりに 以上で、Googleへ自分のWebサイトを登録することができたようです。 特に検索上位に来てほしいとかはないのですが、やってみようと言うモチベーションで始めましたがかなり楽でした。 とくに詰まることもなくサクッとできたので少し拍子抜けでしたが、ユーザー体験がすごく良く感動しました。

January 27, 2024 · Last updated on January 27, 2024 · 1 min · rrrrrrryo

タムパと刺激、ミーハー

最近以下のような記事がXのTLに流れてきました。 脱タムパ的思考論ー「言語化がスゲぇ」が実は全く凄くない理由。|Kenji Tomita / 冨田憲二 今はタムパ(タイムパフォーマンス)の時代と言われて久しい。特に若い世代(Z世代)を中心に「消費コンテンツの短尺化」という視点から全方位的な行動心理へ拡張されている。つまり、コンテンツを起点にあらゆる物事に人類が向き合う「態度」がせっかちになっているのである。これはいわゆる若者だけには留まらない生活・思考トレンド的な様相を呈している。このトリガーとなっているの言うまでもなくネット、スマホ、ショート動画の流れにある。 何はともあれ、信号待ちやエスカレーターでも手元のスマホでコンテンツを消費できる現代人が、より短い時間で完結する消費行動に収斂されていくのは行動心理学的にも自明であり、背景で 短時間で得られる刺激から距離を置く 身近な人がデジタルデトックスをやるということを聞き、自分もこれは必要かもしれないかもなと感じたため、自分なりにデジタルデトックスもどきを実践 読んでみて、興味深かったので備忘録として残しておきます。 最近の自分 近年の自分の性格を一言で表すと"ミーハー"が適切に思います。 ミーハーとは ミーハーとは、特に興味など持っていなかった物事が世間的に流行しはじめた途端に飛びつくような者を指す表現。わかりやすくいうと、流行っているからという理由で飛びつく流行物好きな存在のことである。 よくよく思い返してみると昔はそうでもなかった、流行なんてクソ食らえだった気もします。 なんとなくモヤモヤした気持ちがありました。 自分が流行に乗っているのかはさて置き なんでこんなに流行に敏感になってしまったのか 少し過敏になりすぎていないか 深く考え事をしたいのに流されていないか あえて"言語化"するとこんな感じなのかなと思います。 さて、なんでこんなことを急に考えるようになったのかと言うと、おそらく親になったからです。 これは本当にすごい。自分のことだけでなく、家族のことを考えるようにほぼ強制的に思考が多角的になった気がします。 短時間の刺激、インスタントなコンテンツ 上記記事12で気になった文を引用します。 短時間で得られる刺激を摂取しすぎてしまっていることによって感じていた弊害は以下です。 理解できるとか面白さを感じるとか、何らかの結果や刺激を得られるまでに時間がかかるということに対する耐性が減る 手軽に得られる面白さに慣れて、自分の感性に本当に響くものに対するアンテナの感度が鈍ってしまう あらゆる物事にインスタントに触れ、大して考えもせずに「分かった」つもりになる。スマホで消費するコンテンツ自体がインスタント主流であり、隙間時間でタイパを求める行動心理が促進される。ゆえに「分からない」や「知りたい」に対してじっくりと向き合うような知的態度は現代の行動様式に則ると徹底的に排除される構造にある。 自分はSNSやショートコンテンツに依存しすぎていると改めて気づきました。 感覚的に、ソフトウェアエンジニアは特にショートコンテンツに対する依存が高いように思います。 それは、日々更新される技術を追いかけたり、アジャイル的な業務をこなしていくために醸成された能力でしょう。 しかし、本当に必要で深掘りしないといけない時にも"わかった気になる"で終わってしまうのは、すごく残念です。 とても良い気づきになりました。 おわりに 今回の気づきを今年の具体的なアクションとして示すことで締めたいと思います。 本を読む SNS、YouTube shortの時間を制限する ブログを続ける 月並みな目標になってしまいましたが、結局は落ち着いて深く考える時間をとることが重要なのかなと。 短時間で得られる刺激から距離を置く piyopanman.dev ↩︎ 脱タムパ的思考論 Kenji Tomita ↩︎

January 25, 2024 · Last updated on January 25, 2024 · 1 min · rrrrrrryo

HugoとPaperModでブログカードを実装する

ブログカードって何? 「ブログカード」とは、ブログに掲載したい記事のタイトルや概要、アイキャッチ画像などを読みやすくまとめて表示する埋め込み形式です。 実際にはこんな感じです。 時間が溶ける C++、Python、TypeScriptをよく使います。取り留めのない内容を振り返れるように残します。 ZennやQiitaではリンクを貼り付けると自動で作ってくれますが、 Hugoにはその機能はありません。 Hugoで実装を考える 今回はこちらのサイトを参考にさせていただきました。 HugoにはShortCodeという仕組みが用意されています。 PaperModではTwitterやYouTubeなど簡単に埋め込めるよう、用意されています。 このShortCodeは自分で拡張することも可能なので、この仕組みを使ってブログカードを実装するのが良さそうです。 実装手順 layouts/shortcodes にbolog-card.html を作る $ mkdir -p layouts/shortcodes $ touch layouts/shortcodes/blog-card.html blog-card.htmlの中身 {{- $url := (.Get 0) -}} {{- with $result := resources.GetRemote $url -}} {{- with $result.Err -}} {{- warnf "%s" . -}}{{- . -}} {{- else -}} {{- $title := "" -}} {{- $description := "" -}} {{- $image := "" -}} {{- with $findHead := index (findRE "<head>(....

January 19, 2024 · Last updated on January 19, 2024 · 2 min · rrrrrrryo