料理日記:豆腐春巻き

はじめに 豆腐の春巻きを作ったので記録に残しておきます。 豆腐春巻き 豆腐春巻きの作成手順 参考にしたレシピはこちらです。 参考 - 豆腐を具にした「春巻き」。パリとろ食感が楽しめる<長谷川あかりさんレシピ> 必要なもの 豆腐 塩昆布 片栗粉 塩 大葉 小麦粉(水で溶く) 油 キッチンペーパー フライパン 皿 やること 豆腐と塩昆布、片栗粉、塩を混ぜます。 豆腐をぐちゃぐちゃにまぜる 春巻きの皮で具材を巻きます。 具材を巻く 巻いた状態↓ 巻いた様子 フライパンで揚げ焼きします。 きつね色になるまで3分くらいです。 揚げ焼きの様子 揚げ終わったらキッチンペーパーで油をとりましょう。 完成例 こちらが完成した豆腐春巻きです。 豆腐春巻き おわりに 豆腐の春巻きを作成しました。 美味しかったです。 それでは、また。

作成日: 2024年10月15日 · Yusuke Kato

AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦

はじめに 概要 今日は祝日なので遅ればせながらAlpacaHack Round 4の問題に挑戦してみます。 今回は最初の問題の「Simple Flag Checker」を解いてみます。 ジャンルとしては「Rev」とのことです。 いわゆるリバースエンジニアリングの問題でバイナリのファイルが与えられるので、 そのファイルを解析してflagを取得するような問題っぽいです。 バイナリとかアセンブラとかよく分かっていないのでいつも通りChatGPTに助けてもらいながらやっていこうと思います。 AlpacaHack Round 4のトップページ AlpacaHack AlpacaHackへのリンクはこちら AlpacaHackのサイトへのリンク 私のCTF環境 Windows 11/WSL2 Ubuntu 22.04 LTS Ghidra 前回の記事 2024年10月13日の記事です。 AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦 問題内容 問題ページを開くとcheckerというファイルをダウンロードできます。 おそらくこのファイルが何かしらの言語で書かれたソフトのソースコードをコンパイルしてできた実行ファイル(バイナリ)みたいなものだと思います。 つまり、このバイナリの実行ファイルをソースコードに戻せたらflagが取得できそうです。 checkerを調べてみる まずはfileコマンドでcheckerファイルの形式を確認してみます。 $ file checker checker: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c2dd390ecbb794a78e20db0151832e9dd5c6359d, for GNU/Linux 3.2.0, not stripped ChatGPTに聞いたところ一般的なバイナリファイルらしいです。また、not strippedだと関数名や変数名の情報が残っていて解析しやすいっぽいです。 次にstringsコマンドで中身を確認してみます。 $ strings checker /lib64/ld-linux-x86-64.so.2 mgUa __cxa_finalize fgets __printf_chk __libc_start_main puts memcmp stdin ... fgetsやstdinがあるのでC/C++言語っぽいです。 ...

作成日: 2024年10月14日 · Yusuke Kato

AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦

はじめに 概要 かなり遅れてになりますが、今回はAlpacaHack Round 3の問題に挑戦してみます。 今回は最初の問題の「qrime」を解いてみます。 ジャンルとしては「Crypto」とのことです。 Cryptoは暗号関係の問題ということで私はほとんど暗号の知識を持っていませんが、調べつつ頑張ってみます。 AlpacaHack Round 3のトップページ AlpacaHack AlpacaHackへのリンクはこちら AlpacaHackのサイトへのリンク 私のCTF環境 Windows 11/WSL2 Ubuntu 22.04 LTS 前回の記事 2024年9月8日の記事です。 AlpacaHackで始めるCTF入門4:AlpacaHack Round 2 - Simple Loginに挑戦 問題内容 この問題ではprime.tar.gzというファイルが与えられます。 中身を展開してみるとchall.pyとchall.txtの二つのファイルが入っています。 chall.pyを読んでみると素数を使ってflagを暗号化してそうな感じがしました(全然違かったらすみません)。 chall.txtはchall.pyの実行結果を保存したファイルっぽいです。 この2つのファイルからflagを取得する問題のようです。 chall.pyを実行してみる 実行にはCryptoというライブラリが必要そうなのでインストールしておきます。 おまけで下記の記事のとおりに他のライブラリもインストールしてみます。 pip install pycryptodome gmpy2 pwntools z3 参考記事↓ Zenn - Crypto で便利なツールを紹介する とりあえず下記のコマンドで実行してみますが、処理が終わらず、出力結果が返ってきません。 python3 chall.py どうやらいい感じの乱数(素数?)が取得できるまでループしているっぽいです。 flagの取得方法を考えてみる ということで、おそらくchall.pyを自分の環境で実行する必要はなくて、chall.pyを実行した際にchall.txtが結果として返ってきた場合、 flagはどうなるかということを考えれば良さそうです。 chall.pyを読み解いてみる chall.pyの内容を箇条書きしてみます。 nextPrime関数:入力n以上の素数を返しそう gen関数:変数p,q,rを生成しそう r:ランダム整数 q:ランダム素数 p:rとqから生成した素数っぽい(本当に?) flag:文字列をバイト列に変換したもの? m:flagを整数に変換したもの?(long intかな?) n:p*q phi:(p-1)*(q-1)、dを求めるのに使ってるけど、ヒント的なもの? e:65537 d:pow(e,-1,phi)、使ってなさそうだけど、ヒント的なもの? c:pow(m,e,n)、これがflagを暗号化したもの?、flagを65537乗してからnで割った余りをとっているらしい 何にも分からないけど、逆に計算していけばflagが求まる? ...

作成日: 2024年10月13日 · Yusuke Kato

我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ

はじめに 先週は私が体調を崩して書けなかったので2週間ぶりの日記となります。 セキセイインコのれもんとズグロシロハラインコのぐぐは元気に過ごしております。 れもんは相変わらず自由に一人で遊んだり、人間を弄んだり、好き勝手に遊び回っています。 ぐぐはようやく我が家に慣れてきたのか、遊ぶ余裕も出てきて、鳥籠の中で暴れ回ったり、鳥籠の外でも活発に動いたりできるようになってきました。 今週はそんなれもんとぐぐの様子をお届けします。 ようこそれもん 前回の日記 2024年9月28日の日記です。 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ 注意点 私たちは鳥を初めて飼うため飼育方法に誤りがあるかもしれません。 これからセキセイインコやズグロシロハラインコなどを飼うという方はこのブログの情報を鵜呑みにせず、参考程度に読んでいただけますと幸いです。 いかなる場合でも責任は負えませんのでご了承ください。 今週のれもん ごはん大好きれもん れもんはごはんが大好きなので、ごはんを用意するとすぐに寄ってきます。 ごはん大好きれもん 残像のれもん れもんは素早いので残像の時も多いです。 残像のれもん ふつうに撮っても残像↓ ふつうに撮っても残像 やっぱり残像↓ やっぱり残像のれもん 飛ぶときもやっぱり残像↓ 飛ぶときもやっぱり残像 後ろ姿もカッコいいれもん 背中で語るタイプかもしれません。 背中で語るれもん アクリルゲージに興味津々なれもん ぐぐのために購入したアクリルゲージに興味津々なれもんです。 れもんも欲しいのかもしれません。 アクリルゲージに興味津々なれもん アクリルゲージ越しのれもんとぐぐの邂逅↓ アクリルゲージ越しのれもんとぐぐの邂逅 近づいてくるれもん れもんはカメラに気が付くと近づいてきます。 カメラに気が付いたれもん ドスドス歩いてきたれもん↓ ドスドス歩いてきたれもん カメラを睨むれもん↓ カメラを睨むれもん 新しいおもちゃで遊ぶれもん お祭りのフリーマーケットで購入した赤ちゃん用のおもちゃをれもんにあげました。 ...

作成日: 2024年10月12日 · Yusuke Kato

改訂新版『ROS 2ではじめよう』を読了&メモ書き

はじめに 近藤豊さんの『改訂新版 ROS 2ではじめよう 次世代ロボットプログラミング ロボットアプリケーション開発のための基礎から実践まで』(以下、近藤ROS 2本)が先月(2024年9月)に発売されたのでさっそく読んでみました。 私は大学生時代からROS 1を使い始めて、現在も仕事でROS 2を触っていますが、 いまだにROSに対して苦手意識というか、ROSをあまり深く理解できていないという感覚がありました。 今回は近藤ROS 2本を読むことで曖昧に理解していた知識がしっかり補強された気がして非常に嬉しい限りです。 この記事では近藤ROS 2本を読み進めていく中で気になったことや勉強になったこと、感想などをメモ書き程度で記録しておこうと思います。 書籍情報はこちらです↓ 技術評論社の書籍案内 - 近藤ROS 2本 近藤ROS 2本メモ 各章ごとに気になったことや勉強になったこと、感想などのメモを箇条書きします。 はじめに メッセージ通信の項目でトピックやサービス、アクションと並んでパラメータが紹介されているが、パラメータがメッセージ通信の一つであるという認識がなかった。パラメータの仕組み(挙動)について意識したことがなかったので勉強になる。公式のドキュメントでもどのように説明されているのか改めて確認したい。(vi) → 下記に公式ドキュメントのリンクを記載。 → パラメータにはサービスが利用されているとのこと。(62) 大学生の頃にROS 1を使っていたときは特に気にしていなかったが、たしかにROS 1を製品開発で使用するのは大変そう。ROS 2誕生の経緯も知れて良かった。(vii) MoveIt Studio(ix)、AWS RoboMaker(xii)、Foxglove Studio(xii)なども聞いたことはあるが、他人に話せる程度の知識は持っておきたい。 mROS 2はPC側とマイコン側でノードが直接通信できると紹介されているが、この「直接通信」は何を表しているのか気になる。mROS 2とmicro-ROSの違いも確認したい。(x) → micro-ROSが仲介を必要とすることに対してmROS 2は必要ないとのこと(149) 各章の構成や対象読者の説明が丁寧で勉強になる。(xiv) 公式ドキュメントにおけるパラメータの説明↓ docs.ros.org/en/jazzy/Concepts/Basic/About-Parameters 第1章:ROSの歴史 ros-oコミュニティを初めて知った。(3) ROS 2はROS 1の上位互換というよりも、もっと広く利用されるために新しいROSを作り上げたというイメージらしい。そもそもの開発された目的が違う感じかも。(4) 「1-4 ROS 1とROS 2の違い」が情報がまとまっていてかなり勉強になる。また、それ以降のDDSなどの通信の説明も充実していてありがたい。(5) 第2章:開発環境セットアップ 公式ドキュメントが英語なので、日本語のインストール方法の説明も参考になる。(21) 第3章:ROS 2の基本機能 ノード発見デーモンはいつか必要になるかもしれないので覚えておきたい。(31) colcon mixinはたまに見かけるが、よく分かっていなかったので勉強になった。(33) Pub/Subの通信を日本語でどう表現するかはやはり悩みどころ。「送信受信」、「出版購読」、「配信」も使ったりする。(35) プロセス間通信とプロセス内通信は理解できたが、それぞれの使い分け(使いどころ)が気になる。プロセス間通信のほうが汎用性は高いが、プロセス内通信のほうがパフォーマンスは高いみたいな感じだろうか。(41) 「3-4-3 コンピュータ間通信」でROS_DOMAIN_IDの説明がなかったが、ROS_STATIC_PEERSのほうが安全ということだろうか。要確認。(45) サービスは基本的に非同期通信で、疑似的に同期通信も可能にしているとのこと。なるほど。(46) アクションはフィードバックを受け取れることに加えて、途中で中断できることも特徴の一つとのこと。たしかに。(52) パラメータは設定と取得がサービスで行われるとのこと。各ノードにパラメータサーバが用意される。ノードの実行中にパラメータが書き換わるとコールバック関数が呼び出されるということも設定できる。(62) 第4章:ROS 2の応用機能 コンポーネントやライフサイクル、QoSあたりは重要であることは分かりつつも何となくの曖昧な理解のままだったので、情報がまとまっていて勉強になった。とはいえ、まだ理解し切れていない部分もあるのでまた読み返したい。(69) 現状ROS 2を使う上でセキュリティを気にする場面は少なかったが、認証やアクセス制限の機能などがROS 2に備わっているということで勉強になった。(103) 第5章:Pythonクライアントライブラリrclpy Pythonでトピック、サービス、アクションを扱う内容が簡潔にまとめられていて参考になる。(111) 第6章:ROS 2に対応したツール / パッケージ ROS 1からROS 2への移植時に中身が刷新されたツールやパッケージが多いとのこと。(本章を通して) rosbagはROS 2 Jazzyからトピックだけでなくサービスの記録にも対応したとのこと。凄い!(128) MoveItは移動ロボットへの対応も進んでいるとのこと。凄い!(135) 第7章:ROS 2エコシステム ROSBoard便利そう。(148) AutowareやIsaac ROSも触りたい気持ちは常にある。(151) 第8章:実践ROS 2ロボットプログラミング PCLはあまり使ったことがないので触ってみたい。(164) おわりに 事前アンケートで「リアルタイム制御」が一番人気なのはたしかに意外だった。あと「セキュリティ」があまり人気がないのも意外だった。(187) 本を作り上げる大変さが伝わってくる(勉強になりました。ありがとうございます)。(おわりにを通して) 付録 Windowsで動かしたい人も多そう。Dockerやrockerの説明もあって充実している。(付録を通して) おわりに 近藤ROS 2本を読み終えました。 もちろん全ての知識を自分の中に取り込めたわけではありませんが、 明らかに私のROS 2に対する気持ちは前向きになったと思います。 ROS 2の全体像や輪郭を掴めた感じがあります。 これからはROS 2を曖昧な理解のまま使うのではなく、 他人に説明できるくらい理解しながら使いこなせたら嬉しいなと思っています。 近藤ROS 2本、とても良い本でした。 おすすめです。 それでは、また。

作成日: 2024年10月10日 · Yusuke Kato

我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ

はじめに 今週もれもんとぐぐは元気に育っています。 れもんは怪我をしたばかりなので放鳥も少しずつですが、 元気に飛び回っているので大丈夫そうです。 ただ反抗期に入ったのか噛んだり一人で過ごしたがったりしています。 ぐぐも少しずつ我が家に慣れてきてよく鳴くようになりました。 臆病な性格であまり部屋を歩き回るみたいなことはまだできていませんが、 ケージの中やケージの上では活発に動いています。 前回の日記 2024年9月21日の日記です。 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記12 : ぽぽが亡くなりました、そしてぐぐがやってきました 注意点 私たちは鳥を初めて飼うため飼育方法に誤りがあるかもしれません。 これからセキセイインコやズグロシロハラインコなどを飼うという方はこのブログの情報を鵜呑みにせず、参考程度に読んでいただけますと幸いです。 いかなる場合でも責任は負えませんのでご了承ください。 今週のれもん れもんも元気そうに過ごしています。 反抗期で人間の手を噛むことも増えてきました。 ストレスや睡眠不足などで反抗的になっているわけではないとは思っていますが少し心配です。 大きな尾羽が抜けたれもん↓ 大きな尾羽が抜けたれもん ベルが好きすぎて頭を突っ込むれもん↓ ベルに頭を突っ込むれもん 今週のぐぐ ぐぐはりんごを美味しそうに食べます。 ペットショップでもりんごを食べていたそうで、昔から好物のようです。 りんごを食べるぐぐ 隙間から覗くぐぐ↓ 隙間から覗くぐぐ 私たち人間にも慣れてきて撫でさせてくれるようにもなりました。 換羽期で筆毛がたくさんあって、それを取ってあげると気持ちよさそうにしています。 あまり筆毛を触ると良くない場合もあるとのことなので慎重に触っています。 撫でられるぐぐ ボールのおもちゃで遊ぶぐぐ↓ ボールのおもちゃで遊ぶぐぐ おわりに 今週もれもんとぐぐは元気に過ごしています。 この調子で元気に幸せに一緒に暮らしていけたら嬉しいですね。 今回の日記は少し短いですが、今後も写真はたくさん残していけたらと思います。 ぽぽも向こうで楽しく遊んでいることを祈っています。 それでは、また。 むっくりれもん 次回の日記 2024年10月12日の日記です。 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ

作成日: 2024年9月28日 · Yusuke Kato

ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて

はじめに はじめに ROS 2 Jazzyの公式ドキュメントに沿ってチュートリアルを進めています。 今回はROS 2のノードとトピックを紹介します。 公式ドキュメントは下記のリンクからアクセスできます。 ROS 2 Jazzy公式チュートリアル 前回の記事 2024年9月26日の記事です。 ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで 用意するもの Ubuntu 24.04 LTSがインストールされたPC ROS 2 Jazzyインストール済み ROS 2の基本 ROS 2ではノードごとにそれぞれ動作しており、ノード同士がデータを送受信できます。 各ノード間の通信方法はTopic、Service、Actionの3つがあります。 トピックはPublisherからSubscriberへデータを垂れ流しする通信、 サービスとアクションはクライアントがサーバへリクエストを送ると、 サーバがクライアントへ処理結果のデータを返す通信です。 公式ドキュメントより画像を引用↓ ノードと通信 ros2 pkgコマンド ros2 pkgコマンドを使うとパッケージ情報を確認できます。 たとえば下記のようにコマンドを実行するとturtlesimパッケージの実行ファイルの一覧が確認できます。 ros2 pkg executables turtlesim 出力内容↓ turtlesim draw_square turtlesim mimic turtlesim turtle_teleop_key turtlesim turtlesim_node 今回はturtlesim_nodeとturtle_teleop_keyを実行します。 turtlesimを起動 前回と同様にturtlesimを起動します。 1つ目のターミナルで実行↓ ros2 run turtlesim turtlesim_node キーボード入力で亀を操作するノードも起動します。 2つ目のターミナルで実行↓ ros2 run turtlesim turtle_teleop_key ros2 nodeコマンド ros2 nodeコマンドを使うとノードの情報を確認できます。 たとえば下記のようにコマンドを実行すると起動しているノードの一覧を確認できます。 ...

作成日: 2024年9月27日 · Yusuke Kato

ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで

はじめに はじめに ROS 2 Jazzyの公式ドキュメントに沿ってインストール作業からturtlesimの動作確認まで行います。 開発環境としてUbuntu 24.04 LTSがインストールされたPCを用意しています。 公式ドキュメントは下記のリンクからアクセスできます。 ROS 2 Jazzy公式チュートリアル 過去の記事 ROS 2 Humbleの記事は下記のリンクからアクセスできます。 ROS 2 Humble公式チュートリアル 01: 環境構築からturtlesim まで 用意するもの Ubuntu 24.04 LTSがインストールされたPC ROS 2 Jazzyのインストール まずはROS 2 Jazzyをインストールします。 有志の方(Tiryohさん)のインストールスクリプトを使うと簡単にインストールできるので、 ありがたく使用させていただきます。 インストールスクリプトをダウンロード(clone)します。 sudo apt install git git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git インストールスクリプトを実行します。 cd ros2_setup_scripts_ubuntu ./ros2-jazzy-desktop-main.sh インストールが完了したらsourceコマンドでROS 2 Jazzyの設定を読み込みます。 この設定を読み込む作業はターミナルを起動するたびに必要となります。 source /opt/ros/jazzy/setup.bash 下記のように~/.bashrcに書き込んでおくと毎回sourceコマンドを実行しなくて済むのkで便利です。 echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc 次のコマンドで環境変数を確認するとROS 2 Jazzyがインストールされたことを確認できます。 printenv | grep -i ROS 環境変数抜粋↓ ROS_VERSION=2 ROS_DISTRO=jazzy 以上でインストールは完了です。 turtlesimで動作確認 ROS 2 Jazzyの動作確認を行います。 動作確認には定番のパッケージであるturtlesimを使用します。 turtlesimはROS 2を学ぶための2Dの簡易的なシミュレータです。 ...

作成日: 2024年9月26日 · Yusuke Kato

HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決

はじめに HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決します。 Safariでサムネイルが表示されない問題 Chromeだと動画のサムネイルは表示されるのですが、Safariだと表示されませんでした。 サムネイルを表示するための設定方法 動画ファイルのパスを指定するときに、開始地点の秒数も指定するとSafariでもサムネイルが表示されるようになりました。 下記のようにt=0.1と指定すると開始時間を0.1に設定できます。 src="sample.mp4#t=0.1" おわりに HTML上で貼った動画のサムネイルをSafariでも表示できるようになりました。

作成日: 2024年9月25日 · Yusuke Kato

WSL2上のUbuntuのVimで矩形選択するための設定

はじめに WSL2上のUbuntuでVimを使用する際に矩形選択ができなかったので設定を変更しました。 環境 Windows 11 WSL2/Ubuntu 22.04 LTS 矩形選択ができない問題 VimではCtrl+Vで矩形選択できますが、WSL2だとCtrl+Vはデフォルトで「貼り付け」に割り当てられています。 そのため、設定の変更が必要です。 設定方法 WSL2の設定を開いて(Ctrl+,で開けます)、 下記画像のように「操作」のタブから「貼り付け」の設定を変更します。 デフォルトだと「Ctrl+V」に設定されているので、 「Ctrl+Shift+V」に変更します。 設定変更 おわりに Vimで矩形選択するための設定方法を紹介しました。

作成日: 2024年9月24日 · Yusuke Kato