<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Docker on hdknr blog</title><link>https://hdknr.github.io/blogs/tags/docker/</link><description>Recent content in Docker on hdknr blog</description><generator>Hugo -- 0.157.0</generator><language>ja</language><lastBuildDate>Fri, 03 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hdknr.github.io/blogs/tags/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Onyx（旧 Danswer）完全ガイド — 無料で使えるオープンソース AI プラットフォーム</title><link>https://hdknr.github.io/blogs/posts/2026/04/onyx%E6%97%A7-danswer%E5%AE%8C%E5%85%A8%E3%82%AC%E3%82%A4%E3%83%89-%E7%84%A1%E6%96%99%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9-ai-%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/04/onyx%E6%97%A7-danswer%E5%AE%8C%E5%85%A8%E3%82%AC%E3%82%A4%E3%83%89-%E7%84%A1%E6%96%99%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9-ai-%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/</guid><description>Onyx（旧 Danswer）は MIT ライセンスの無料 AI プラットフォーム。RAG・AIエージェント・50以上のコネクタを備え、Docker でセルフホスト可能。インストール手順やエディション比較を解説。</description></item><item><title>Pay2Key の Linux ランサムウェアが x64/ARM64 サーバーを標的に — 防御機構を無効化する高度な手口</title><link>https://hdknr.github.io/blogs/posts/2026/03/pay2key-%E3%81%AE-linux-%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8C-x64/arm64-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E6%A8%99%E7%9A%84%E3%81%AB-%E9%98%B2%E5%BE%A1%E6%A9%9F%E6%A7%8B%E3%82%92%E7%84%A1%E5%8A%B9%E5%8C%96%E3%81%99%E3%82%8B%E9%AB%98%E5%BA%A6%E3%81%AA%E6%89%8B%E5%8F%A3/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/pay2key-%E3%81%AE-linux-%E3%83%A9%E3%83%B3%E3%82%B5%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8C-x64/arm64-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E6%A8%99%E7%9A%84%E3%81%AB-%E9%98%B2%E5%BE%A1%E6%A9%9F%E6%A7%8B%E3%82%92%E7%84%A1%E5%8A%B9%E5%8C%96%E3%81%99%E3%82%8B%E9%AB%98%E5%BA%A6%E3%81%AA%E6%89%8B%E5%8F%A3/</guid><description>イラン系攻撃グループ Pay2Key の Linux ランサムウェア新亜種 Pay2Key.I2P の技術分析。SELinux/AppArmor 無効化、ChaCha20 暗号化、I2P 匿名通信の手口と対策を解説。</description></item><item><title># OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録</title><link>https://hdknr.github.io/blogs/posts/2026/03/%23-openhands-ollama-%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABllm%E5%AE%9F%E8%B7%B5%E8%A8%98-mac-studio-m3-ultra-%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7%E3%81%AE%E5%85%A8%E8%A8%98%E9%8C%B2/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/03/%23-openhands-ollama-%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%ABllm%E5%AE%9F%E8%B7%B5%E8%A8%98-mac-studio-m3-ultra-%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99%E3%81%BE%E3%81%A7%E3%81%AE%E5%85%A8%E8%A8%98%E9%8C%B2/</guid><description>&lt;h1 id="openhands--ollama-ローカルllm実践記--mac-studio-m3-ultra-で動かすまでの全記録"&gt;OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: OpenHands（旧OpenDevin）をMac Studio M3 Ultra（96GB）+ Ollama + Qwen3-Coder 30B で動かそうとした。Docker-in-Docker のビルド問題、Playwright依存、ランタイムイメージ手動構築を経てUI起動まで到達したが、30Bモデルのtool calling精度不足で実用には至らなかった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-openhands-とは"&gt;1. OpenHands とは&lt;/h2&gt;
&lt;p&gt;OpenHands（旧 OpenDevin）は、オープンソースのAIコーディングエージェントプラットフォーム。75以上のLLMプロバイダーに対応し、SWE-bench で Qwen3-Coder 使用時に 69.6% のスコアを記録している。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;公式リポジトリ&lt;/strong&gt;: &lt;a href="https://github.com/All-Hands-AI/OpenHands"&gt;https://github.com/All-Hands-AI/OpenHands&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;特徴:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web UI でブラウザから操作&lt;/li&gt;
&lt;li&gt;Docker サンドボックスで安全にコード実行&lt;/li&gt;
&lt;li&gt;CodeActAgent による自律的なタスク遂行&lt;/li&gt;
&lt;li&gt;Playwright 統合によるブラウザ操作&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-動機--なぜ-openhands-を試したか"&gt;2. 動機 — なぜ OpenHands を試したか&lt;/h2&gt;
&lt;p&gt;前回の実験で Qwen Code（CLI エージェント）を Ollama + Qwen3-Coder 30B で動かしたが、&lt;strong&gt;複雑な multi-step タスク（GitHub PR レビューなど）で tool calling が破綻&lt;/strong&gt;する問題に直面した。&lt;/p&gt;
&lt;p&gt;OpenHands は SWE-bench で高スコアを出しており、エージェントスキャフォールディングの力で同じ 30B モデルでも改善されるのでは？という仮説を検証するために試した。&lt;/p&gt;</description></item><item><title># Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用</title><link>https://hdknr.github.io/blogs/posts/2026/02/%23-claude-code-%E3%81%AEyolo-%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E4%BD%BF%E3%81%86-dangerously-skip-permissions-%E3%81%A8-docker-%E6%B4%BB%E7%94%A8/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/02/%23-claude-code-%E3%81%AEyolo-%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E4%BD%BF%E3%81%86-dangerously-skip-permissions-%E3%81%A8-docker-%E6%B4%BB%E7%94%A8/</guid><description>&lt;h1 id="claude-code-のyolo-モードを安全に使う--dangerously-skip-permissions-と-docker-活用"&gt;Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;関連ポスト: &lt;a href="https://x.com/hiragram/status/2026106377169666406"&gt;hiragram&lt;/a&gt;
リポジトリ: &lt;a href="https://github.com/hiragram/claude-docker"&gt;hiragram/claude-docker&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Claude Code を使っていると、ファイル編集やコマンド実行のたびに「これを実行してもいいですか？」と確認を求められる。安全設計として正しいが、反復的な作業では毎回の承認が煩わしくなる。&lt;/p&gt;
&lt;p&gt;そこで登場するのが &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; フラグ。通称「&lt;strong&gt;YOLO モード&lt;/strong&gt;」。YOLO とは &lt;strong&gt;&amp;ldquo;You Only Live Once&amp;rdquo;（人生は一度きり）&lt;/strong&gt; の略で、「結果を気にせず、とにかくやってしまえ」というネットスラング。安全確認を一切スキップして全操作をぶっ通しで実行させる様子が、まさに「後先考えずに突っ走る」YOLOの精神そのものであることから、コミュニティでこう呼ばれるようになった。&lt;/p&gt;
&lt;p&gt;便利だが、名前の通り危険も伴う。このフラグの本質と、安全に使うための Docker 活用について整理する。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="--dangerously-skip-permissions-とは"&gt;&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; とは&lt;/h2&gt;
&lt;p&gt;Claude Code の&lt;strong&gt;全てのパーミッションチェック（権限確認プロンプト）をバイパス&lt;/strong&gt;し、完全に自律動作させるフラグ。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;claude --dangerously-skip-permissions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="3つの動作モードの比較"&gt;3つの動作モードの比較&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;モード&lt;/th&gt;
&lt;th&gt;挙動&lt;/th&gt;
&lt;th&gt;ユーザー介入&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;通常モード&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ファイル変更・コマンド実行のたびに承認を要求&lt;/td&gt;
&lt;td&gt;毎回必要&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Auto-Accept&lt;/strong&gt; (Shift+Tab)&lt;/td&gt;
&lt;td&gt;UI上で承認を自動化&lt;/td&gt;
&lt;td&gt;介入可能&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;dangerously-skip-permissions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;全ての安全ガードレールを除去&lt;/td&gt;
&lt;td&gt;一切不要&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="なぜdangerouslyと名付けられているのか"&gt;なぜ「dangerously」と名付けられているのか&lt;/h3&gt;
&lt;p&gt;Anthropic が意図的に「危険」という語を含めている。実際にリスクは深刻で、以下のような報告がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Wolak 事件（2025年10月）&lt;/strong&gt;: Ubuntu/WSL2 上で Claude Code が &lt;code&gt;rm -rf /&lt;/code&gt; を実行し、&lt;code&gt;/bin&lt;/code&gt;、&lt;code&gt;/boot&lt;/code&gt;、&lt;code&gt;/etc&lt;/code&gt; などシステムディレクトリを破壊&lt;/li&gt;
&lt;li&gt;eesel AI の調査によると、このフラグ使用者の &lt;strong&gt;32%&lt;/strong&gt; が意図しないファイル変更を経験、&lt;strong&gt;9%&lt;/strong&gt; が実際のデータ損失を報告&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="主なリスク"&gt;主なリスク&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;リスク&lt;/th&gt;
&lt;th&gt;具体例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;破壊的コマンドの無確認実行&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rm -rf&lt;/code&gt;、&lt;code&gt;git reset --hard&lt;/code&gt;、設定ファイル上書き&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;スコープクリープ&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;指定範囲外のファイルを「親切心」で変更・削除&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;資格情報の漏洩&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ホストの全資格情報にアクセス可能な状態&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;連鎖的被害&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1つの誤った解釈が次々と問題を引き起こす&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="それでも-yolo-モードが必要な理由"&gt;それでも YOLO モードが必要な理由&lt;/h2&gt;
&lt;p&gt;危険だが、以下のユースケースでは事実上不可欠。&lt;/p&gt;</description></item><item><title>CloudWatch Logs のエラーを自動で GitHub Issues に課題化する</title><link>https://hdknr.github.io/blogs/posts/2026/02/cloudwatch-logs-%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E8%87%AA%E5%8B%95%E3%81%A7-github-issues-%E3%81%AB%E8%AA%B2%E9%A1%8C%E5%8C%96%E3%81%99%E3%82%8B/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/02/cloudwatch-logs-%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E8%87%AA%E5%8B%95%E3%81%A7-github-issues-%E3%81%AB%E8%AA%B2%E9%A1%8C%E5%8C%96%E3%81%99%E3%82%8B/</guid><description>&lt;h1 id="cloudwatch-logs-のエラーを自動で-github-issues-に課題化する"&gt;CloudWatch Logs のエラーを自動で GitHub Issues に課題化する&lt;/h1&gt;
&lt;p&gt;ECS で稼働するWebアプリケーションのエラーログを自動的に GitHub Issues に報告する仕組みを構築しました。手動でログを監視する必要がなくなり、エラー発生時に即座にチームが認識・対応できるようになります。&lt;/p&gt;
&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;マルチテナントの業務システムを ECS Fargate 上で運用しています。アプリケーションは2つあり、それぞれ異なるフレームワークで構築されています。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;アプリ&lt;/th&gt;
&lt;th&gt;フレームワーク&lt;/th&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;web&lt;/td&gt;
&lt;td&gt;Laravel (PHP)&lt;/td&gt;
&lt;td&gt;業務管理システム&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;api&lt;/td&gt;
&lt;td&gt;Django (Python)&lt;/td&gt;
&lt;td&gt;API サーバー&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;これまで CloudWatch Logs にログは収集していたものの、エラーの検知は手動確認に頼っていました。500エラーや例外発生を見逃すリスクがあり、自動検知の仕組みが必要でした。&lt;/p&gt;
&lt;h2 id="アーキテクチャ"&gt;アーキテクチャ&lt;/h2&gt;
&lt;p&gt;Subscription Filter + Lambda + GitHub Issues API の構成を採用しました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;CloudWatch Logs (/ecs/{prefix}-ecs-{app})
└── Subscription Filter (エラーパターンマッチ)
└── Lambda Function (Docker/arm64, Python 3.12)
├── エラー解析 (HTTP 5xx, 例外, スタックトレース)
├── ±5秒のログコンテキスト取得
├── 既存 Open Issue 検索
└── 新規 Issue 作成 or 既存 Issue にコメント追加
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="この構成を選んだ理由"&gt;この構成を選んだ理由&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方式&lt;/th&gt;
&lt;th&gt;リアルタイム性&lt;/th&gt;
&lt;th&gt;柔軟性&lt;/th&gt;
&lt;th&gt;コスト&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Subscription Filter + Lambda&lt;/strong&gt; (採用)&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;td&gt;中&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Metric Filter + Alarm + SNS&lt;/td&gt;
&lt;td&gt;中 (1分以上遅延)&lt;/td&gt;
&lt;td&gt;低&lt;/td&gt;
&lt;td&gt;低&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CloudWatch Logs Insights (定期実行)&lt;/td&gt;
&lt;td&gt;低&lt;/td&gt;
&lt;td&gt;高&lt;/td&gt;
&lt;td&gt;低&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Subscription Filter はログ出力時にほぼリアルタイムで Lambda を起動するため、エラー発生から数秒で Issue が作成されます。&lt;/p&gt;</description></item><item><title>PGVector</title><link>https://hdknr.github.io/blogs/posts/2024/07/pgvector/</link><pubDate>Wed, 31 Jul 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/07/pgvector/</guid><description>&lt;h1 id="pgvector"&gt;PGVector&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural network&lt;a href="https://python.langchain.com/v0.2/docs/integrations/retrievers/self_query/pgvector_self_query/"&gt;PGVector (Postgres)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zenn.dev/lecto/articles/00a9ace01eb8b9"&gt;Rails/PostgreSQL/pgvector を組み合わせてベクトル検索をする。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yassun/sample-pgvector"&gt;https://github.com/yassun/sample-pgvector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hub.docker.com/r/pgvector/pgvector"&gt;https://hub.docker.com/r/pgvector/pgvector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pgvector/pgvector-python"&gt;https://github.com/pgvector/pgvector-python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mof-mof.co.jp/tech-blog/pgvector-similarity-search"&gt;LangChain と pgvector(Postgres)を用いて関連性の高いドキュメントを手軽に検索する&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/comware_moriyoshi/items/989c2f2a07f33591c1df"&gt;生成 AI でテキスト分類やってみた&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sentencetransformer"&gt;SentenceTransformer&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://zenn.dev/welmo/articles/a79b8b45573383"&gt;Python の SentenceTransformer を用いた文章類似度比較 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tech.yellowback.net/posts/sentence-transformers-japanese-models"&gt;sentence transformers で日本語を扱えるモデルのまとめ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tech.yellowback.net/posts/transformers-japanese-characters-in-multilingual-models"&gt;transformers 多言語モデル中の日本語語彙調査&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="知識蒸留"&gt;知識蒸留&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qiita.com/kotai2003/items/cf95ab63f3f4e72ddef4"&gt;ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ai-scholar.tech/articles/knowledge-distillation/patient-consistent-kd"&gt;知識蒸留で効果的な教師の条件とは？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aismiley.co.jp/ai_news/how-to-create-teacher-data-that-is-essential-for-improving-ai-accuracy/"&gt;教師データとは？学習データとの違いや作り方をわかりやすく紹介&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://laboro.ai/activity/column/engineer/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%92%E8%BB%BD%E9%87%8F%E5%8C%96%E3%81%99%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E5%9C%A7%E7%B8%AE/"&gt;ディープラーニングを軽量化する「モデル圧縮」３手法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="muse"&gt;MUSE&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qiita.com/elda227/items/5364ea669c9c93194d53"&gt;Muse: Text-To-Image Generation via Masked Generative Transformers を読んだメモ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>サイトセキュリティチェック</title><link>https://hdknr.github.io/blogs/posts/2024/07/%E3%82%B5%E3%82%A4%E3%83%88%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/07/%E3%82%B5%E3%82%A4%E3%83%88%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF/</guid><description>&lt;h1 id="サイトセキュリティチェック"&gt;サイトセキュリティチェック&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mozilla: &lt;a href="https://observatory.mozilla.org/"&gt;https://observatory.mozilla.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;トレンドマイクロ: &lt;a href="https://global.sitesafety.trendmicro.com/?cc=jp"&gt;https://global.sitesafety.trendmicro.com/?cc=jp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Google: &lt;a href="https://www.virustotal.com/gui/home/upload"&gt;https://www.virustotal.com/gui/home/upload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="owasp-zap"&gt;OWASP Zap&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://zenn.dev/y640/articles/430e99504cd275"&gt;Docker 版 OWASP ZAP を M1 Mac で動かす。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;問題:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10010/"&gt;Cookie No HttpOnly Flag&lt;/a&gt; [10010]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10015/"&gt;Re-examine Cache-control Directives&lt;/a&gt; [10015]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10017/"&gt;Cross-Domain JavaScript Source File Inclusion&lt;/a&gt; [10017]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10020-1/"&gt;Missing Anti-clickjacking Header&lt;/a&gt; [10020]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10021/"&gt;X-Content-Type-Options Header Missing&lt;/a&gt; [10021]&lt;/li&gt;
&lt;li&gt;: [Information Disclosure - Suspicious Comments]&lt;a href="10027"&gt;https://www.zaproxy.org/docs/alerts/10027/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;: [Cookie Poisoning]&lt;a href="10029"&gt;https://www.zaproxy.org/docs/alerts/10029/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10031/"&gt;User Controllable HTML Element Attribute (Potential XSS)&lt;/a&gt; [10031]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10035/"&gt;Strict-Transport-Security Header Not Set&lt;/a&gt; [10035]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10038/"&gt;Content Security Policy (CSP) Header Not Set&lt;/a&gt; [10038]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10040/"&gt;Secure Pages Include Mixed Content&lt;/a&gt; [10040]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10049/"&gt;Storable and Cacheable Content&lt;/a&gt; [10049]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10054/"&gt;Cookie without SameSite Attribute&lt;/a&gt; [10054]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10063/"&gt;Permissions Policy Header Not Set&lt;/a&gt; [10063]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10096/"&gt;Timestamp Disclosure - Unix&lt;/a&gt; [10096]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10109/"&gt;Modern Web Application&lt;/a&gt; [10109] (対応しなくてもよい)&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10110/"&gt;Dangerous JS Functions&lt;/a&gt; [10110]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10112/"&gt;Session Management Response Identified&lt;/a&gt; [10112]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/10202/"&gt;Absence of Anti-CSRF Tokens&lt;/a&gt; [10202]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/90003/"&gt;Sub Resource Integrity Attribute Missing&lt;/a&gt; [90003]&lt;/li&gt;
&lt;li&gt;: &lt;a href="https://www.zaproxy.org/docs/alerts/90011/"&gt;Charset Mismatch&lt;/a&gt; [90011]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="virustotal"&gt;VIRUSTOTAL&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.virustotal.com/gui/home/upload"&gt;https://www.virustotal.com/gui/home/upload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="suuri"&gt;SUURI&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sitecheck.sucuri.net/"&gt;https://sitecheck.sucuri.net/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Terraform and others</title><link>https://hdknr.github.io/blogs/posts/2024/06/terraform-and-others/</link><pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/06/terraform-and-others/</guid><description>&lt;h1 id="terraform--cloudformation-関連"&gt;Terraform , CloudFormation 関連&lt;/h1&gt;
&lt;h2 id="opentofu"&gt;OpenTofu&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://opentofu.org/"&gt;https://opentofu.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="troposphere"&gt;troposphere&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/cloudtools/troposphere"&gt;https://github.com/cloudtools/troposphere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/kooohei/items/17f6fa6facacfd0201b6"&gt;troposphere で CloudFormation のテンプレートを作成する。&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="former2"&gt;former2&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/iann0036/former2"&gt;https://github.com/iann0036/former2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://qiita.com/y_inoue15/items/26c245c9e9fdf42c75a4"&gt;Former2 から CloudFormation を生成してみた&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;インストール:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/iann0036/former2.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo /Applications/Docker.app/Contents/MacOS/install remove-vmnetd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo /Applications/Docker.app/Contents/MacOS/install vmnetd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>ECS: aws-cli</title><link>https://hdknr.github.io/blogs/posts/2024/01/ecs-aws-cli/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2024/01/ecs-aws-cli/</guid><description>&lt;h1 id="ecs-aws-cli"&gt;ECS: aws-cli&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;unzip&lt;/code&gt; は入っていること&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;12
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;13
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;14
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;15
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;16
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;17
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;18
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;19
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;20
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;21
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;22
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;23
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;24
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;25
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;26
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;27
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;28
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;29
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;30
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;31
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;32
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;33
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;34
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;35
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;36
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;37
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;38
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;39
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;40
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;41
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;42
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-Dockerfile" data-lang="Dockerfile"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; BASE_IMAGE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;myimage-cicd-appbase&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; TAG&lt;span style="color:#f92672"&gt;=&lt;/span&gt;latest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; &lt;span style="color:#e6db74"&gt;${BASE_IMAGE}:${TAG&lt;/span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt; as server&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; USERNAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; GROUPNAME&lt;span style="color:#f92672"&gt;=&lt;/span&gt;ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; PASSWORD&lt;span style="color:#f92672"&gt;=&lt;/span&gt;ubuntu
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; UID&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ARG&lt;/span&gt; GID&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;ENV&lt;/span&gt; APP_BASE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/src/app &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; LIB_BASE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/usr/src/lib &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; POETRY_VERSION&lt;span style="color:#f92672"&gt;=&lt;/span&gt;1.0.10 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; PATH&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;/root/.poetry/bin:&lt;/span&gt;$PATH&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; mkdir -p /var/run/gunicorn &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mkdir -p /storage&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; apt-get update &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get install -y sudo&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; groupadd -g &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;GID&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;GROUPNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; useradd -m -s /bin/bash -u &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;UID&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; -g &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;GID&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; -G sudo &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USERNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; --home-dir &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;APP_BASE&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USERNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;:&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;PASSWORD&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; | chpasswd &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USERNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; ALL=(ALL) NOPASSWD:ALL&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/sudoers&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# aws-cli&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; curl &lt;span style="color:#e6db74"&gt;&amp;#34;https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip&amp;#34;&lt;/span&gt; -o &lt;span style="color:#e6db74"&gt;&amp;#34;awscliv2.zip&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; unzip awscliv2.zip&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; sudo ./aws/install&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Application&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;COPY&lt;/span&gt; . &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;APP_BASE&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;WORKDIR&lt;/span&gt; &lt;span style="color:#e6db74"&gt;${APP_BASE&lt;/span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; pip install pip poetry urllib3&lt;span style="color:#f92672"&gt;==&lt;/span&gt;1.26.15 -U &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; poetry config virtualenvs.create false &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; poetry install &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pip install urllib3&lt;span style="color:#f92672"&gt;==&lt;/span&gt;1.26.15 pyOpenSSL -U&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; chown -R &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;USERNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;:&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;GROUPNAME&lt;span style="color:#e6db74"&gt;}&lt;/span&gt; &lt;span style="color:#e6db74"&gt;${&lt;/span&gt;APP_BASE&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;RUN&lt;/span&gt; chmod &lt;span style="color:#ae81ff"&gt;777&lt;/span&gt; /run/gunicorn&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;USER&lt;/span&gt; &lt;span style="color:#e6db74"&gt;${USERNAME&lt;/span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;CMD&lt;/span&gt; [&lt;span style="color:#e6db74"&gt;&amp;#34;/usr/src/app/docker/codebuild/entry_web.sh&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;/usr/src/app&amp;#34;&lt;/span&gt;]&lt;span style="color:#960050;background-color:#1e0010"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>macOS: ls: .: Operation not permitted</title><link>https://hdknr.github.io/blogs/posts/2023/05/macos-ls-.-operation-not-permitted/</link><pubDate>Tue, 02 May 2023 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2023/05/macos-ls-.-operation-not-permitted/</guid><description>&lt;h2 id="macos-ls--operation-not-permitted"&gt;macOS: ls: .: Operation not permitted&lt;/h2&gt;
&lt;p&gt;このエラーは、macOSの&lt;strong&gt;セキュリティ機能&lt;/strong&gt;によって、ターミナルのコマンドが&lt;strong&gt;特定のディレクトリ&lt;/strong&gt;に対して&lt;strong&gt;制限されている&lt;/strong&gt;可能性があります¹²。例えば、DownloadsやDocumentsなどのディレクトリは、プライバシー保護のためにアクセス権が制限されています²。&lt;/p&gt;
&lt;p&gt;この場合、&lt;strong&gt;システム環境設定&lt;/strong&gt;から、ターミナルに対して&lt;strong&gt;フルディスクアクセス&lt;/strong&gt;を許可する必要があります¹²。具体的な手順は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;システム環境設定を開きます。&lt;/li&gt;
&lt;li&gt;セキュリティとプライバシーを選択します。&lt;/li&gt;
&lt;li&gt;プライバシータブをクリックします。&lt;/li&gt;
&lt;li&gt;左側のメニューからフルディスクアクセスを選択します。&lt;/li&gt;
&lt;li&gt;鍵のアイコンをクリックしてロックを解除します。&lt;/li&gt;
&lt;li&gt;パスワードを入力します。&lt;/li&gt;
&lt;li&gt;+ボタンをクリックしてターミナルを追加します。&lt;/li&gt;
&lt;li&gt;ターミナルを再起動します。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで、lsコマンドなどが正常に動作するはずです。試してみてください。&lt;/p&gt;
&lt;p&gt;ソース: Bing との会話 2023/5/3&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(1) macOS の「Operation not permitted」を回避する【du/ls/mv/cp &amp;hellip;. &lt;a href="https://qiita.com/KEINOS/items/0366f1c281b574a79cfb"&gt;https://qiita.com/KEINOS/items/0366f1c281b574a79cfb&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(2) ターミナルでコマンド実行時に「Operation not permitted」が出 &amp;hellip;. &lt;a href="https://qiita.com/Tatsu88/items/f50f850b0c8f4a2c1bf2"&gt;https://qiita.com/Tatsu88/items/f50f850b0c8f4a2c1bf2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(3) unix - ls: Operation not Permitted - Stack Overflow. &lt;a href="https://stackoverflow.com/questions/25717501/ls-operation-not-permitted"&gt;https://stackoverflow.com/questions/25717501/ls-operation-not-permitted&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(4) 突然の「Operation not permitted」-Dockerが採用する &amp;hellip;. &lt;a href="https://www.creationline.com/lab/46861"&gt;https://www.creationline.com/lab/46861&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="設定--プライバシーとセキュリティ"&gt;設定 &amp;gt; プライバシーとセキュリティ&lt;/h3&gt;
&lt;img width="705" alt="prvacy" src="https://user-images.githubusercontent.com/104647/235813294-f71d2e00-b941-407a-8c6e-8057ff41bdd6.png"&gt;
&lt;h3 id="-フルディスクアクセス"&gt;&amp;gt; フルディスクアクセス&lt;/h3&gt;
&lt;img width="711" alt="disk" src="https://user-images.githubusercontent.com/104647/235813298-e3ed55da-1c15-4534-ab44-6d698bbcc0df.png"&gt;</description></item><item><title>Django Simple Docker File</title><link>https://hdknr.github.io/blogs/posts/2021/02/django-simple-docker-file/</link><pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2021/02/django-simple-docker-file/</guid><description>&lt;pre tabindex="0"&gt;&lt;code&gt;% tree . -I &amp;#39;__*|db*&amp;#39;
.
├── Dockerfile
├── poetry.lock
├── pyproject.toml
└── web
├── blogsite
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
└── pages
├── admin.py
├── apps.py
├── migrations
├── models.py
├── tests.py
├── urls.py
└── views.py
4 directories, 14 files
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>