skip to content

技術系

← Category

total 34

2025-08-07/技術系

セキュキャン2025 SGXゼミ 課題晒し

IPAのセキュリティキャンプ 2025に応募し無事に合格しました。 応募したゼミは「TEEビルド & スクラップゼミ」です。当初は合格するとは考えておらず、課題晒しも行うつもりはありませんでした。 しかし、SGXゼミの課題晒しが非常に少ないということを踏まえ、せっかく合格したので公開しようと思います。 感想 SGXとはなにかについてほんのり調べ始めたばかりだったので色々と間違っていることや理解できていないことが書いてあったりします。 LLMをフル活用して書いているので正直恥ずかしいという気持ちも大きいです。強くなれるように頑張ります。 NoteBookLM https://notebooklm


2025-05-09/技術系

TsukuCTF 2025 Writeup

MWS Cupのメンバーの一部でTsukuCTF 2025に参加しました。 チームのメンバーがつよつよだったので、私の参加したチームTousekiは1575ポイントで48位でした。 私が解いたのはOSINTカテゴリーだけです。最後のhidden_wpathだけ解くことができず、Webカテゴリの勉強不足を実感しました。 以下私のWriteUpです。 Casca 画像検索をするとこのサイトが引っかかる。 https://gourmet-travelogue.doorblog.jp/archives/56226093.html ここで記念碑の内容を確認できたので、色々キーワードを検索していく。 大塚


2025-05-09/技術系

ArchLinuxのリポジトリ構築の現状

最近またArch Linuxの世界に戻ってきました。一時期NixやGentooに浮気していましたが、結局ここが一番落ち着きます。故郷。 そんなわけで数年前からの悲願だったPacmanリポジトリの構築作業をやっています。 既存のサーバー候補 Pacmanリポジトリは単なるバイナリをHTTPでサーブするだけのシンプルな構造ですが、構築とメンテナンスを手作業で行うのはかなり苦しい作業です。 これらの作業を自動化するツールはいくつか紹介しますが、どれも一長一短なのが現状です。 ArchLinux公式 公式のリポジトリ管理ツールです。おそらく見逃しているリポジトリもあると思いますが、私はこれらしか見つけ


2025-02-26/技術系

WSLによる開発環境の最適解2025

Linuxは最高のOSです。しかし私のCore Ultra 2 Serial搭載のXPSのように、Linuxカーネルによるデバイスのサポートが不完全な場合もあると思います。 常用に耐えうるレベルでない場合にはWindowsを使わざるを得ない場面もあるでしょう。 Linuxを入れたくない言い訳としてWSLを推奨するわけではありません。 正常にLinuxが動作する環境においては直にLinuxをインストールする方が良いでしょう。 WSLのインストール方法 ストアからディストリビューションを検索して……なんというチンツな方法は利用しません。 yuk7氏が公開しているwsldlを利用します。 https


2025-02-21/技術系

変なドメインを取るときに使えそうなTLD

最近、gomika.suやsoude.su、ダサいドメイン.コムのような変なドメインが欲しくて仕方がない。 しかしセンスのない私はなかなか年間のドメイン料を支払ってまで確保したい良いドメインを見つけられずにいる。 少しでも何か思いつけないかということで、使えそうなトップレベルドメインを列挙していく。 TLD一覧参考元 https://data.iana.org/TLD/tlds-alpha-by-domain.txt 一覧 実際に取れるかは知らない。ローマ字として読めそうなものをリストアップしています。 aco ae aero ai ao as au ba be bi bio bo boo c


2025-01-30/技術系

Cでhello, world(詳細解説)

切腹倶楽部のCでhello, worldをようやくしっかりと読んだ。 ソースコード 無断てんのりをば。怒られたら消す。 解説 (原文ママ) とっかかり このコードを見たとき、最初は何もわからなかった。解説が何をしているのかもわからなかった。そもそもC言語で:が使われている記法なんて知らないので本当に何もわからなかった。 更に言えばK&R的な昔懐かしいような関数定義も、軽く存在を知っていただけで書いたことはなく、どうして引数にdがあるにも関わらず引数は文字列のみなのか?という疑問から始まった。 詳細な解説 現代語に書き下す K&Rの表記では引数は必須ではないらしく、原文では単なるdの初期化のため


2025-01-07/技術系

ブログをNext 15+ESLint v9に移行した話

私のこのブログを先日リリースされたNext 15 + React 19 + ESLint v9に移行しました。 パッケージ更新 何も考えずncuでエイヤしました。 Next 15 Next 15はいくつかの破壊的変更が含まれていますが、そこまで大きなものはありませんでした。 コンポーネントのPropsのいくつかがPromiseなものへと変更になったらしいですが、自動でMigrateしてくれるものを公式が用意してくれているので困ることはありません。 仕様変更の詳細な情報は以下に書かれています。 Next\.js 15 \| Next\.js これすら読むのがだるいという人は、パッケージの更新後に


2024-12-29/技術系

ジャンクPCの選び方

昨日、「後輩がジャンクPC入門する」と言ってLGA775のマザーボードを5000円で買ってきた夢を見ました。 今まで自分のジャンクPCやパーツの選び方をしっかりと文書に書き起こしたことがなんだかんだで無かったので記しておこうと思います。 10年くらい色々中古屋を漁って失敗しまくって得られた結果なので、初めて中古屋でジャンクを買ってみようかなという人には参考になると思います。 逆に、AliExpressでノートPCのフレキシブルケーブルを買うような人は向いていないと思います。(特定の個人に言及) ジャンクを購入する際の心得 「今必要かどうか」で購入の判断を行わないでください。基本的には以下の基準


2024-12-06/技術系

CSSでリストのスタイルを弄る

TailwindCSSを用いて、 で表示されるリストをカスタマイズする方法がわからなかったのでメモ。 ネット上の沈痛な月収100万サムライエンジニア系のサイトではlist-style:none;したうえで::beforeで…という説明が溢れかえっているがこれは適切な用法ではない。 CSSでリストの要素を自由にカスタマイズする リストの文字はCSSではlist-style-typeプロパティで変更できる。 このプロパティは各値以外にも任意の文字列を受け取れるらしく、文字を指定した場合はそれを表示してくれる。 https://developer.mozilla.org/ja/docs/Web/CS


2024-11-23/技術系

Meraki MR42を三枚おろしにしてOpenWRTを焼く方法

ヤフオクでMeraki MR42が大量に流されていたので10台落札した。1台2000円程度で落札できたので非常に良いお買い物。 しかしこのMR42はクラウド管理型という仕組みになっており、利用するにはかなりお高い管理費用を毎月支払う必要がある。 MR42をはじめとした一部の製品では、OpenWRTを書き込むことでデバイスを資本の束縛から開放することができる。 この機種でOpenWRTを焼く情報は既に大量にあるのだが、数か所詰まった場所があるのでその部分を説明する。 注意 既にMR42にOpenWRTを焼く作業は多くの先人が記事にしているので、基本的にはそちらを参照されたい。 ここでは掲載されて


2024-11-18/技術系

Xiaomi Focus Penのペン先を交換する

20歳の誕生日に、自分へのプレゼントということでXiaomi Pad 6S Proを購入した。 当然大学の授業でノートを取るために必要なペンも買ったのだが、このタブレットはなぜかXiaomi Focus Penとかいう専用ペンが必要だった。 登場したばかりのようで、互換性のあるペンや情報が一切出回っておらず仕方なく新品で購入した。 ペンだけに1万円払うとは自分もお金持ちになったものだ。 ところで、替芯が公式から販売されておらず、Xiaomiサポートに問い合わせたところ以下の返答が。 微妙にカタコトな返信では替芯はまだ販売していないとのこと。 仕方がないので以下の怪しいものをアリエクで購入。 工


2024-09-09/技術系

Goのslogで色を付けつつファイルにも出力する

最近、Goにlog/slogという構造化ロガーが登場し、InfoやDebugなどのラベル付けやグループ分けをするロギングが簡単にできるようになりました。 slogは単体ではまだ少々貧弱ですが、非常に柔軟性の高いインターフェースを実装しているので外部ライブラリによって使いやすくすることができます。 今回は私がよく使っている2つのライブラリを組み合わせます。 色を付ける github.com/m-mizutani/clogはカラフルでConfigurableなslog.Handlerを実装しているライブラリです。なんと日本人の方が作っています。 細かい使い方は作者さんがZennで紹介されているので


2024-09-07/技術系

個人的に最強なGolang開発用テンプレート

Golangを1年弱ほど触り、いろいろな開発をしているうちに結構よく使う構造とライブラリが顕著なことがわかってきました。 そこで今回は自分が作成したテンプレートを載せてみようと思います。自分が立ち上げたGoのプロジェクトだと殆ど利用していると思います。 なお、今回のテンプレートはこちらで公開されています。 概要 引数解析にはCobraとCobraUtilsを利用します。 エラーハンドリングにはcockroachdb/errorsを、ロギングにはlog/slogとm-mizutani/clogを用います。 Cobraはサブコマンドを実装するためのライブラリです。cobra.Commandという構


2024-06-20/技術系

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

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


2024-06-18/技術系

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

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


2024-06-10/技術系

DIVER OSINT CTF Writeup

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


2024-04-15/技術系

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

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


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

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


2024-02-23/技術系

個人的ESLintとPrettierの最適解2024

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


2024-01-05/技術系

GitHubのアカウントが乗っ取られかけた話

タイトルのとおりです。GitHubのアカウントを乗っ取られかけました。結構やばかったです。 経緯 このツイートをする5分ほど前から、スマホのGitHubアプリに大量のログインリクエストが表示されていることに気づきました。 急いでメールを確認すると、恐ろしいほどのログイン失敗の通知と詳細が送られていました。 スペインやペルー、アメリカなどの場所から繰り返しログインを試行されており、おそらく攻撃者はTorを使っているのだと思われました。 反省 そんなことはどうでもよく、大事なのは「パスワードは漏洩している」という事実。 GitHubを始めとするサービスではユーザー名+パスワードの認証を突破して初め


2024-01-05/技術系

あたらしいウェブサイトを作りました

お久しぶりです。山田ハヤオです。大学にも慣れてきて、かなり人生に余裕ができてきました。今は某学習塾と某スタートアップで働きつつ一人暮らししてます。 ここ1年間ブログの更新がなかったのは大学が忙しかったのと、ブログの移行作業をしていたからです。Hugoでテーマを作るのが思った以上にだるかった(というかReactやVueのようなフレームワーク無しにウェブサイトを書きたくない)ので、同等程度の機能を有したものをイチから作っていました。 親は基本的に生活費なんてくれる訳がないので(この前2万円もらえたので感謝)バイト代がほぼ生活費に消えてます。まぁ父親が不倫してる最悪な実家よりはましかな。 両親が離婚


2023-01-01/技術系

Magiskを使ってAndroidの充電状態を管理する

あけましておめでとうございます。今年もよろしくお願い致します。 新年早々暇すぎてAndroiのいい感じのモジュールを見かけたのでメモ。 Advanced Charging Controller 名前の通り充電をコントロールするためのツール。Magisk上でCLIツールとして動くらしい。 色々ネットのフォーラムとか漁ってると配布場所が複数あるけど、素直に公式のGitHubから持ってくるべき。 https://github.com/VR-25/acc/releases/latest 拡張子がzipのやつを導入して終わり。 AccA Advanced Charging Controller はCLI


大学生向けのノートPCの選び方

既に知り合い4人くらいから大学向けのノートPCの選び方についての相談を受けてるのでここに色々書いてみる。 Googleで検索して出てくるサイトの大半はアフィリエイト(ようはお金をもらう)だったりステマ(ようは広告)なのであまり信用しないほうが良い。 買う前にスペックをハヤオに送ってくれれば多少の判断はできると思うので遠慮しないで送ってほしい。 モデルを決める基準 たぶん大体の人が特定のモデルやメーカーにこだわりは無いと思うので、学生向けに選ぶ基準というか優先順位を考える。 1. 学校の基準 2. 予算 3. 電池もち 4. 性能,大きさ 5. 保証 だいたいここらへんになると思う。進学でいろい


2022-11-30/技術系

Bootstrap5でFooterを下部に固定する

参考にしたSEO汚染系量産型プログラミングスクールのサイトはこちら よく見る手法だけどBootstrapで実装してるやつがパッと見なかったのでメモ position-relativeとかまだ良く理解できてないかもしれない。 box-sizing: border-box;はBootstrapではデフォルトでグローバルに当たってる。 position-relative vh-100を付けないとスクロールしたときに重なってしまって✞CSS完全に理解した✞状態になる。


自作ソフトウェアのライセンスについて

ライセンスをつける意味 GPLのサイトによれば、ライセンスなしというのは不自由なライセンスらしいです(?)。 まぁでも著作権が作者にあるままなので色々面倒ではありそうですね。 おすすめライセンス GPLは絶対に使わないでください。誰も得しない上に資本主義に喧嘩を売る最悪のライセンスです。 MIT SUSHI WARE お寿司をおごってもらいながら、自分の名前を表記してもらえるライセンスです。 MIT SUSHI WAREの公式サイトはこちら このライセンスは知り合いが作ったものなので積極的に使っていきたいのですが、フリーソフトウェア財団などで正式にオープンだと言われたわけではない(まぁ内容的に


BootstrapのTooltipをクリックされたときのみ表示する

クリップボードにコピーしたときにのみメッセージを表示したいと思い、BootstrapのTooltipで実装したのでそのメモです。 環境 Bootstrap 5のbootstrap.bundle.min.jsをCDNで読み込んでいます。 HTML JavaScript ポイント tooltipは事前に初期化しておきます。このとき同時にdisableで表示させないようにしておきます。 クリックされたときのみ、enableでTooltipを有効化してからshowで表示します。 hidden.bs.tooltipイベントをハンドルして、Tooltipが隠れたときに再びdisableします。 個人的なポ


縦棒短縮URLのUIを作り直した話

縦棒短縮URLのUIを作り直しました。 概要 http://hayao.fascode.net/tatebou/を新しくしました。 具体的にはBootstrap5を使ってレスポンシブ対応し、モダンなUIにしました。 Bootstrapほんっとうにいいねこれ。これに頼ってると純粋なCSSとHTML書けなくなりそう。 次にサイトを作るときはReactとBootstrapでいい感じにしたいなと思っており() Hugoのこのテーマもあまり気に入ってるわけではないので、そのうち自分でテーマを書こうと思います。 BootstrapとHugoでモダンなブログ、BootstrapとReactでモダンかつ高速で


2022-11-22/技術系

ライブCDの部屋の陰謀論の影響と対策

ハヤオがLinuxを勉強し始めた2014年、その頃は日本でのLinuxといえばLiveCDの部屋でした。 Serene Linuxの開発も、LiveCDの部屋が開発したBasixをベースに行っていた時期もあり、長期的に日本人向けの活動を行っていて尊敬していました。 しかし最近のLiveCDの部屋は、コロナウイルスの陰謀論にハマり、パンデミックを嘘と断定し、政治思想も極右に偏っています。 ↑については今のLiveCDの部屋を見ればすぐわかります。 これの影響 かつてはLiveCDの部屋は非常に人気があったので、もしLinux初心者が古いサイトを参考にした場合、LiveCDの部屋にたどり着く可能性


2022-11-14/技術系

Twitterの広告ブロックをする方法

Androidで快適なTwitterライフを送るうえで必須なのが広告ブロック。 2つの方法があるんだけどどっちがいいか個人的にはよくわからない。 1. TwiFuckerを使う方法 TwiFuckerを使う方法。 LSPatcherと組み合わせることでRootなしでも動作するらしい。(未検証) 2. YouTube Revancedを使う方法 なぜかYouTube RevancedのプロジェクトがTwitterの広告除去も実装している。 以前に書いたRevanced Builderを使えばRootなしでも実行できると思う。 ただRevanced BuilderはJava SDKの依存関係がちと



2022-08-14/技術系

Gentoo Linuxのリンク集

切腹倶楽部に載ってないリンク集 mkinitcpioをGentooに移植してみる話 \- Carpe diem Gentoo Forums :: View topic \- Rebuilding everything Kernel/Configuration \- Gentoo Wiki Gentoo Forums :: View topic \- Find which package owns a file


2022-08-14/技術系

Gentoo Linuxでインストールされている全てのカーネルのInitramfsを生成する

新型コロナに感染して陽性になって、家にいて暇なのでGentoo Linuxに再チャレンジしてみている。 Chromeでタブを40個ほど開いてソースコードやらGentoo WikiやらとにらめっこしながらMisskeyで山Dに質問しまくっている。(本当に申し訳ない) Chrome そんな中でこのブログの開設のきっかけにもなった切腹倶楽部でGentoo Linuxのebuildの入門記事が公開されており、しかも先日~~俺があまりにもわからなさすぎたのか~~いろいろと更新してくれたらしい。 中2くらいでArch Linuxを初めて触った頃にも同じ感じだった気がする...成長がまったくない。 本題 ん


2022-07-13/技術系

Youtube Revancedを最も簡単に導入する方法

警告 こんなツールを見つけたよというだけです。すべて自己責任でお願いします。 依存関係をインストールする adbは言わずもがな。 更に追加でAzul JDK17をインストールする。 スクリプトをダウンロードして実行 ここから自分のOSに合ったバイナリをダウンロードする。 あとはコマンドラインから実行権限を付与して実行する。 あとは全部自動でできるらしい。


2022-03-06/技術系

Wineでフォントの文字化けを直すメモ

Wine にOffice 2010を入れたけどフォントがバグったのでメモ 先に結論だけ言うと、下の2つのサイトの方法で完全に修正できた。 http://battleformac.blog.jp/archives/52366709.html https://linux.just4fun.biz/?Ubuntu/Wine64%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E8%A8%AD%E5%AE%9A フォント変更、Wineで