Yamada Hayao

Web Developer / Security Enthusiast

© 2024 Yamada Hayao

Blog

Blog

何故シェルスクリプトを勉強するのか

最近、リアルやTwitter問わずシェルスクリプトを((中には)基本的な文法さえ理解しようとせずに)嫌う人が非常に多いように思います。 POSIXに則ったシェルの話をすれば、配列も変数スコープも無いスクリプト言語を今更勉強したがる人がいないのは自明であるかもしれません。 しかしBash 5.xやZshになれば、配列どころか連想配列もあるしローカル変数もあります。何なら最新のPOSIXでさえもIFSの仕様が定義されました。 というわけで、全てのプログラマがシェルスクリプトを勉強するべき理由を紹介します。 ## 前置き この記事には多分なポジショントークが含まれています。 インターネ

Read More

Reactのライフサイクルと最適化についてまとめる

Reactが再レンダリングされる条件とパフォーマンスの改善について、基礎から自分の復習を込めてまとめてみる。 ちなみに最近フロントエンドに飽きたので間違っていても責任は取りません。 ## 関数型プログラミングとReact 関数型プログラミングはある値に対して特定の関数を渡すことで値を加工することでプログラムを記述していく言語。 しっかりと書いたことはないのであまり深い言及はできないのだが、関数を組み合わせていくものだと考えていい。 ここで重要なのは関数型プログラミングそのものではなく、その中で出てくる副作用の概念である。 以下に関数を定義する。 ```ts const sum

Read More

DIVER OSINT CTF Writeup

2024年6月8日~9日に開催されたDIVER OSINT CTFに参加してきました。初参加で28位というそれなりの記録を残すことができて個人的には非常に嬉しいです。 というわけで人生初のWriteupというものを書いてみようと思います。今回はチーム全体でのWriteupということで、ハヤオ以外が書いている部分もありますが、代表して僕のブログで公開させていただきます。 ## welsome/welscome ルールに書いてあるフラグを入力して終了です。頑張ろう‼ `Diver24{ganbarou!}` ## misc/number <hr /> この車両の持ち主に連絡を取りたい

Read More

部室の旧PCを仮想化した話

こんにちは、山田ハヤオです。 大学では情報メカトロニクス研究部に所属しているのですが、その部室にあった古いPCを仮想化したのでその記録です。 ## 状態 ![データHDD](./1.png) Dドライブとして使われていたデータ用のHDDは正常値で生きていました。が、使用時間が非常に長い(おそらくサーバとして運用されていた)のでデータを救出しました。 このデータはドキュメントデータだったので`rsync`で中身のみを新しいHDDに移動しました。 ![OS](./2.png) こちらのOSの入ったHDDは不良セクタが増えており非常にまずい状態でした。Windows VistaからW

Read More

PC-9801vmをなんとか起動した話

お久しぶりです。山田ハヤオです。 2023年の夏にRyzen 9 7900Xでマシンを組んで以降、ジャンクでコスパ良いPCを探すモチベがめっきりなくなってしまいました。 (といいつつも今月すでに8~11世代のPCを3台ほど購入しているのですが) そんなわけで時代に逆行しようということで、DOS時代のPCに手を出し始めました。 運良く知り合いにその時代に詳しい方が複数人いらっしゃったので、色々と過去の知恵を参考にしながら情報と部品を収集しています。 ## PC-9821Nsを入手した きっかけは2023年11月の(個人的に勝手に伝説だと思っている)Misskeyエンカ。たまたま入った

Read More

個人的ESLintとPrettierの最適解2024

ネットでTSやJSのフォーマッタやリンタについてググってると、結構色々な記事が乱立していて情報が錯綜しているので、色々試行錯誤した中で確立した自分の中の最適解をメモとして残しておきます。 ## EsLintとPrettierの関係と基礎知識 そもそもリンターであるESLintとフォーマッターであるPrettierは全くの別物で、本来なら一緒に設定する必要はないはずです。ということで、まずは役割を確認します。 リンターはバグの原因になるような良くないコードや、古い書き方などに対して警告を表示するものです。 一方でフォーマッタはコードの内容を評価するのではなく、あくまでもコードの整形を行

Read More

泥棒が俺の家に入るためのガイド

## アクセス 私の家は群馬県にあり、バスや電車の交通の便が非常に悪い。近くに駅も無いため、自家用車を用いてのアクセスをお勧めする。 また、近隣住民の迷惑になるため侵入の際には窓のガラスを割るのではなく鍵開けを行っていただきたいと思う。 ## 侵入したら ### キッチン ドアを入ってすぐにあるのがキッチン。特に高級な包丁や鍋等もないので、こちらからなにかものを盗むのはおすすめしない。かさばるし。 洗濯機はヤ◯ダ電機の廉価モデルのため、こちらも盗むのはあまりおすすめしない。中古の洗濯機はあまり高く売れない。 部屋に入って左にあるのが冷蔵庫。中には高級な食材等は入っていないが、サ

Read More

クソうまいチャーシューの作り方のメモ

一人暮らしを始めたら当然料理をしないといけないわけで、私も頑張って料理をしている。 最近はカレーやらチャーシューやら、時間がかかるけどめちゃくちゃ拘った料理を作るのが好きで週末は結構作ったりしている。 自分で色々試行錯誤したチャーシューの作り方をメモしておく。何回も作るたびに随時更新していくつもり。 ## 材料 - 豚肩ロースブロック 200gでかなり多めの1人分くらい? - オリーブオイル - ネギ 1本 - 醤油 - みりん - 酒 - 砂糖 - ニンニク 2つ - ショウガ (チューブで良い) - 水 - 赤ワイン - 味の素 ## 工程 ### 1.肉に下処理を施す ま

Read More

最近の自分の趣味

仕事や大学でパソコンを触るようになってから、めっきりプログラミングが楽しくなくなってしまったように感じる。いや、これもものすごく語弊がある。 ブログシステムとか、自分なりにイケてるコマンドラインツールとか、最近ちょこちょこContributeしてるMinskeyとか、楽しいときもたくさんある。 これをよく「書いてて楽しい」とか「書いてて気持ちいい」表現するんだがわかってくれる人はいるんだろうか。 Goは文法が退屈なのであまり楽しくない、けどinterfaceをうまく作れたときはめちゃくちゃ気持ちいい。 Pythonのリスト内包表記も気持ちいい。 TypeScriptでclassとin

Read More