サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2025年ランキング
memory-lovers.blog
Claude Codeでいろいろコードを書いてもらってるけど、 割と好みじゃない感じになって負債が溜まりがちに。。。 ぼくが好きな原則・アーキテクチャ・テスト方針などを、 ちゃんと伝えるためのドキュメントが必要性が高まってきたので、 Claude Codeと一緒に整理しているときの備忘録(*´ω`*) 0->1の想定で、サンプルコードがほぼないアプリを作りたい感じ コンテキストエンジニアリング 着想としては、このあたり。コンテキスト(文脈)を伝えて、LLMの解空間を絞りたい。 けど、コンテキストが暗黙知化してるので、まずは明文化が必要 The rise of "context engineering" AI Coding Agent Enablement in TypeScript - Speaker Deck 連動させたり、ツールを作ったりするのも便利だけど、結構変化が早いので、 どのエ
このあたりのツイートを見て、よいなとおもったので、 Claudeさんにリストアップしてもらった(*´ω`*) 「t_wadaさんのTDD」など、人名を追加すると精度がよいっぽい Claude CodeにTDDを実行させたいとき、「t-wadaの推奨する進め方に従ってください」がめっちゃ効く— hori (@hori_ryota) June 23, 2025 TDDだけでなく「リファクタリング」も意味の希薄化が激しいので、AIに「リファクタリングして」と指示しても効き目がいまいちなことが多々ある。これも人名を出して文脈を境界付けるのが面白そう。「Fowlerの」とか「Kent Beck の Tidyings」とか。 https://t.co/WKkHWjwBAT— Takuto Wada (@t_wada) June 25, 2025 「t-wadaさんのTDD」が出来るならDB弄る時も誰か
Claude Codeを使いはじめて、いろいろ試してるけど、 なかなかいい感じのコードを書いてくれないな〜と思い、 いろいろ調べてみたときの備忘録(*´ω`*) えいや、でコード生成してくれるけど、 あとで自分で変更したり、保守したりするときに大変なので、 自分がいいとおもう感じに生成してほしかったりする。。 ドキュメントとサンプルコード大事... 事前準備やガードレール一覧 このあたりを用意しておくと、よさそうな感覚 プロジェクトに関するドキュメント(メモリ/コンテキスト: CLAUDE.md) lint/format/自動テストの設定&実行コマンド サンプルコード or テンプレートリポジトリ このあたりは任意、あるとより安心・便利 git-secrets Git Hooks(pre-commits) DevContainer Git Worktree ※おまけ ドキュメント大事・カー
Claude CodeがProでも利用できるようになったので、 そろそろ入門しようかなと思い、いろいろ調べたときの備忘録(*´ω`*) やったこと Claude Desktopのインストール Claude Codeのインストール Claude Code 概要 - Anthropic npm install -g @anthropic-ai/claude-code IDE(VSCode)連携 Claude Desktop連携(MCPサーバの設定) インストール Claude Codeを使い始める - Anthropic // インストール $ npm install -g @anthropic-ai/claude-code // 作業ディレクトリの作成&移動 $ mkdir claude_code_sandbox $ cd mkdir claude_code_sandbox // 起動 $
巷で話題のCline/Roo Codeを試してみたくて、 前から欲しかったVSCode拡張機能を作ってもらった 構成や価格は、 VSCode + Roo Code Anthropic API(Claude 3.7 Sonnet) v0.1.0までで、約$30(≒4,500円) そこから機能追加で、+約$10(≒1,500円) 執筆時点で、110タスクくらい つくってもらったもの VSCodeをノートアプリとして使いたいなと思うけど、 ファイルの並び順とかがいい感じにならないので、 並び替えとかいろいろできるエクスプローラーを作ってもらった Sortable Explorer - Visual Studio Marketplace memorylovers/sortable-explorer: Flexible Sort Explorer of VSCode Extention 機能はこんな
この記事を読んで、Cline / RooCodeなどを使うなら、 ちゃんと使えるようにしたいなと思い、いろいろ調べてみたときの備忘録(*´ω`*) Cline / RooCodeを安全に使うためにDevContainerを使い始めた 環境は、macOS+OrbStack DevContainerとは Dev Containerは、Dockerコンテナ上で開発するための拡張機能。 環境構築をコンテナとして用意でき、ローカル環境も汚さないですむ Dev Containers - Visual Studio Marketplace Developing inside a Container また、開いたフォルダをコンテナ上にマウントして、コンテナ内で実行するので、 それ以外のファイルにアクセスできなくすることができるので、AIエージェントを使うときにも安全 コンテナへの接続方法はいくつかあり、そ
普段、Cloud Firestoreを使っているけど、 リレーションが多くなってくると、やっぱりつらくなる。。。 RDBをつかいたいなと思い、いろいろ調べてみた備忘録(*´ω`*) ドキュメントや関連記事ベースのみで、価格メインの調査 まとめ: Turso/TiDBがよさそう Turso(SQLite) 無料プラン: Total 9GiB storage / Point-In-Time Restore 1days / 3 Locations Hobby $8.25 Free + No Cold Starts / Point-In-Time Restore 10days / Audit Logs 3days / Databases Never Archived Scaler $24.92 Hobby + Support for Teams / Total 24GiB storage / Po
例外ハンドリング周りによく悩むので、改めて考え直してみた ちなみに、例外とエラーは置き換え可能として、区別せず、 try-catch形式を想定してます 全体のイメージ イメージとしてはこんな感じ 利用者やアプリケーションは、 APIサーバなのか、Web/スマホアプリなのかによって変わるけど、 アプリケーション ... 作った部分 利用者 ... アプリケーションを使うユーザやシステム 外部システム ... アプリケーションが利用してる部分 実行環境 ... アプリケーションを動かしてる部分 というイメージ 例外のいろんな分類 例外の分類には色んなバリエーションがあるっぽい 業務例外とシステム例外 業務例外 ... 業務ロジック(ビジネスロジック)での例外 システム例外 ... それ以外のシステムの技術的な例外 回復可と回復不可 回復可 ... 再操作などでリカバリ可能 回復不可 ... リ
cronとかsshとかsystemdとかをDockerコンテナ上で試したいなと思い、 いろいろ試してみたときの備忘録(*´ω`*) いい感じのがなかったので、DockerHubの勉強も兼ねて公開してみた memorylovers/ubuntu - Docker Image | Docker Hub memorylovers/docker-images つくったDockerfile Dockerfileの中身はこんな感じ。 FROM ubuntu:22.04 ### 環境変数 ENV TZ Asia/Tokyo ENV ROOT_PASSWORD root ### パッケージのインストール RUN apt update # systemdやタイムゾーン関連 RUN apt install -y init systemd tzdata locales # ssh&cron RUN apt in
Nuxtだと、Nuxt SEO Kitのnuxt-og-imageを使えば、 vueコンポーネントとかHMLTをOG画像にできるけど、 unjs/nitroでもできないかなと思い、 いろいろ調べてみたときの備忘録(*´ω`*) nuxt-og-imageの中をのぞいてみたら、 satoriとsharpを使ってたので、それを参考に実装してみた satori+sharpを使った画像生成 この3つのライブラリを使うと、HTMLをPNGに変換できるっぽい vercel/satori ... ReactNode(VNode)をSVGに変換 lovell/sharp ... SVGをPNGに変換 natemoo-re/satori-html ... HTMLをVNodeに変換 satoriはVercel社が出しているライブラリで、JSX形式で利用するっぽい。 なので、HTMLといってもReactNod
GitHub Actionsでタグ付とリリースを自動化できないかな? と思ったら、かなりハマったので、いろいろ調べたときの備忘録(*´ω`*) やりたかったこと 2つのymlを使って以下のようなことがしたかった。 mainにPRがマージされたらタグを付け(add-tag.yml) tagが作られたら、Releaseを作成(release.yml) # add-tag.yml # mainにPRがマージされたらタグを付ける name: add-tag on: pull_request: branches: [main] types: [closed] jobs: add_tag: if: github.event.pull_request.merged == true # .... # release.yml # tagがつけられたら、Releaseを作成する name: create-re
最近、ソフトウェアデザイン読んだり、個人開発LT会の話を聞いたりして、 個人開発の成功っていろいろあるよねーと思ったので、ちょっと整理してみたときの備忘録(*´ω`*) 収益化や売却だけが成功じゃないし、もしかしたら失敗もないかも知れない(*´ω`*)? individual-development.connpass.com 成功するとは あらためて、Wikipediaで意味を調べていみると、 こんなふうに書いてある。 成功は、計画などがうまくいき目標が達成できたことや、社会的に一定以上の地位を得たことを指す。失敗の対義。 成功 - Wikipedia 人それぞれ、サービスそれぞれで、 目標・目的は違うので、成功の意味も違う。 目的のタイプ/パターン ざっくり、この3つになるんじゃないだろうか? 収益 実現 経験 収益タイプ お小遣い程度、生きていけるほど、など度合いは違えど、 収益を目指
Blueskyをはじめて、いろいろできるようなので、 Node.jsで投稿してみたときの備忘録(*´ω`*) 楽だけど、ちょっと癖がある感じがする。。 利用するパッケージ(@atproto/api) bluesky-social/atproto: Social networking technology created by Bluesky atproto/packages/api · GitHub ⚠️ This is not production-ready software. This project is in active development ⚠️ 実稼働向けのソフトウェアではない。現在開発中です。 という注意書きがあるけど、公式のAPIクライアントが用意されている感じ。 ログイン ログインはこんな感じ。BskyAgentでagentを作ってloginする。 import {
リングフィットをはじめてから、ずっと脂質も糖質も減らして、 タンパク質だけの食事にしてたけど、途中からあまり減らなくなった。。 どうするのがいいのかな?と、いろいろ調べてみたときの備忘録(*´ω`*) 主には、ボディービルやフィジークの人の減量・調整方法を調査。 今の所、体脂肪24%くらいからリングフィットをはじめて、 ローファット9ヶ月で8%、ケト1ヶ月で6%まで落ちた(*´ω`*) 体重も20kg以上痩せて、リングフィットすごい。。(*´ω`*) 減量手法まとめ いろいろ見てるとこんな感じ。目標摂取カロリーをもとに、 タンパク質(P)/脂質(F)/糖質(C)のバランスを調整してる感じ。 中性脂肪は糖質+脂肪酸で作られるので、 糖質か脂肪を抑えるのが定石っぽい。 脂質を抑える ローファット+チートデイ(脂質を制限: PFC=3:1:6) カーボサイクル/ジグザグダイエット(糖質のアップダ
前回の続き。Vite/CRXJS/Vueで作るときの備忘録(*´ω`*) www.memory-lovers.blog 使ったサンプルはこちらで公開中(*´ω`*) github.com 環境構築 プロジェクトの作成 # viteでプロジェクトを作成 $ pnpm create vite chrome-extension-sample --template vue-ts $ cd chrome-extension-sample # .npmrcを設定 $ echo "auto-install-peers=true" > .npmrc # @crxjs/vite-pluginの追加。vite3はbeta版 $ pnpm add @crxjs/vite-plugin@beta -D manifest.jsonの設定 manifest.jsonが必要だけど、CRXJSでは.tsにも対応してる。
Androidでカレンダーアプリを作る際に利用したCompactCalendarViewの備忘録。 いろいろ調べたけど、シンプルで使いやすいライブラリ。 使い方 色やサイズなどは、XMLで設定する感じ <com.github.sundeepk.compactcalendarview.CompactCalendarView android:id="@+id/calendar" android:layout_width="match_parent" android:layout_height="match_parent" <!-- 全体の設定:背景色、文字の色、文字のサイズ --> app:compactCalendarBackgroundColor="@android:color/white" app:compactCalendarTextColor="@android:color/brow
Androidで常駐起動するサービスを作ることがあったので、そのときの備忘録。 作るときのポイントを整理してみた。が、いろいろ考えることが多い。。。 ポイント WakefulBroadcastReceiverを使ってServiceを起動する スリープしてもWifiの接続を維持しておく AlarmManagerで定期的に起動する ネットワークを使うときは、電源の最適化をOFFにする もろもろ Android6.0(API 23)からDozeが追加された DozeモードになるとCPUを使わなくなり、KILLされやすくなる Dozeモードになるとネットワークを使わなくなる WakefulBroadcastReceiverを使って、Wakelockを取得する AndroidManifest.xmlにパーミッションを追加 <uses-permission android:name="android.
SpringBoot/SpringMVCでファイルをダウンロードについて調べたので、φ(..)メモメモ CSVでダウンロード @RequestMapping(value = "/download", method = RequestMethod.GET) public ResponseEntity<byte[]> download() throws IOException { HttpHeaders h = new HttpHeaders(); h.add("Content-Type", "text/csv; charset=MS932"); h.setContentDispositionFormData("filename", "hoge.csv"); return new ResponseEntity<>("あ,い,う,え,お".getBytes("MS932"), h, HttpSt
SpringBootでWebアプリを作るときにいつもやることを忘れないようにφ(..)メモメモ 開発環境はEclipse4.5+Windows10+Gradle+Git おしながき Spring Initializrでひな形プロジェクトを作成 .gitignoreの設定 build.gradleの設定 application.propertiesの設定 パッケージ構成の設定 Spring Initializrでひな形プロジェクトを作成 まずは、Eclipseプロジェクトを作成。 なんと、Springのひな形を作る便利なWebサービス「Spring Initializr」があるので、それを使って作成 設定はこんな感じ。 右側のDependencyで必要なライブラリを追加しておく。 好きな構成は、Web+Thymeleaf+JPA(+Security)。初期開発ではインメモリDBのH2を使う。
Spring BootとSpring Securityのユーザ認証について、忘れがちになるので、備忘録φ(..)メモメモ 認証の方法はいくつかあるけど、今回は、 暫定対応時のインメモリDBと 本格対応時の独自ユーザテーブル の2つをメモφ(..)メモメモ まずはbuild.gradleにDependencyに追加する Spring Securityを使うには、spring-boot-starter-securityを追加 ロール/権限によるthymeleafのテンプレートの制御のため、thymeleaf-extras-springsecurity4も追加 (この記事では登場しません。。。まだこんど。。。) dependencies { //SpringBootのDependency compile('org.springframework.boot:spring-boot-starter-
JavaでDBのテストを書くなら、もちろんDbUnit! さらに、Spring Testing Frameworkと一緒に使うなら、Spring Test DBUnit! なのですが、環境構築する際にはまったので、そのときの備忘録φ(..)メモメモ 最終的にはこんな感じでアノテーションベースでDBUnitが使えます public class TestFooRepository extends AbstractRepositoryTest { @Autowired private FooRepository repo; @Test @DatabaseSetup("/db/test001/setup.xml") @ExpectedDatabase("/db/test001/expected.xml") public void test001() { List<FooEntity> foos =
RequestMappingとかいろいろあるので、整理がてらφ(..)メモメモ 随時更新予定。 @RequestMapping // シンプルなの @RequestMapping(value = "/hoge", method = RequestMethod.GET) @RequestMapping(value = "/hoge", method = RequestMethod.POST) @RequestMapping(value = "/hoge", method = RequestMethod.DELETE) // URL複数 @RequestMapping(value = {"/hoge", "/fuga"}, method = RequestMethod.GET) // Method属性が複数 @RequestMapping(value = "/hoge", method = {
最近、WebpackとかReactとかがイケているらしいので、かじってみたときの備忘録。 環境 $ npm -v 3.3.12 $ node -v v5.4.0 $ uname -o Cygwin $ arch x86_64 プロジェクトの初期化 npm initでpackage.jsonをつくる $ npm init $ tree . sample └── package.json 必要なパッケージをnpmで追加 ## React $ npm install --save react react-dom ## WebpackとReactで使うLoarderたち $ npm install --save-dev webpack babel-core babel-loader babel-preset-es2015 babel-preset-react ## Bootstrap $ npm
前回の続き。JavaFXの強みとして、各OSのNativeアプリにビルドできることがある。 Windows用にビルドしたときの備忘録。 wannabe-jellyfish.hatenablog.com JavaFXのでビルドできる形式 形式 インストール場所(デフォルトは太字) OS 事前に必要なソフトウェア EXE user : %LOCALAPPDATA% System: %ProgramFiles% Windows Inno Setup 5 or later MSI user: %LOCALAPPDATA% System: %ProgramFiles% Windows WiX 3.0 or later DMG user: デスクトップフォルダ System: /Applications OS X PKG user: デスクトップフォルダ System: /Applications O
はてなブログにプログラムを載せていると、記事の幅が狭くてみずらいことがある。。。 なので、デザインからCSSをカスタマイズして、記事の幅を調整してみた!ときの備忘録 もちろん、レスポンシブデザインでPCだけ、幅広な表示に!! ちなみに利用しているテーマはこちら Epic - テーマ ストア こんなかんじにカスタマイズします /* <system section="theme" selected="alpha2"> */ @import "/css/theme/alpha2/alpha2.css"; /* </system> */ /* <system section="background" selected="default"> */ /* default */ /* </system> */ /***** ここから下を追記 ***/ @media screen and (min-wid
Shytterv1.6をリリースしました! 本業が落ち着き、日曜プログラマ、ひさびさに再開です バタバタしている間に、Material DesignがGoogle I/O 2014で発表されてから1年、Design Support LibraryがGoogle I/O 2015で発表されてから2ヶ月すぎてしまいました(;一_一) やっとデザインの乗り換えができたので、いろいろの備忘録 取り込んでみたのは、 ToolBar TabLayout DrawerLayout/NavigationView Floating Action Button(FAB) SwipeToRefresh/自動スクロール の5つ!! ちなみに、 こんな感じのが こんな感じになりました♪ 導入/準備 準備として、Design Support Libraryをbuild.gradleのdependenciesに追加しま
なにかを入力してもらうためにDialogFragmentを使うのはよいけれども、 値の受け渡しのCallback関数を使ったりするのはイケてない感がただよってた。。。 Qiitaにすてきな記事があったので、そちらを参考に進めていきたいと思う!ので、その備忘録。 以下、サマリ。 コールバックインターフェイスは使わない onActivityResultを使ってみる どう実装するのか 呼び出し側(呼び出し部分) MyDialogFragment fragment = new MyDialogFragment(); // 必要なパラメータがあればsetArgument // requestCodeが37になる fragment.setTargetFragment(null,37); fragment.show(getFragmentManager(), "dialog"); 呼び出し側(受け取り部
Androidの開発をしていて、いちいちfindViewIdやsetOnClickListenerをするのがめんどくさくなってくる。。。 Butter Knifeはそれのめんどくささを楽にするライブラリらしい。その導入時の備忘録。 サンプルのXMLはこんな感じ layout/sample.xmlとしてこんなのがあるとする。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout
ViewPagerを使うといい感じにFragmentを切り替えられていいけど、Activityから今表示されているFragmentを取得することができなくて、もやもやしてたけど、いい方法がQiitaに掲載されてたので、その備忘録。 以下、詳細。 PagerAdapterからFragmentを取得するのは、instantiateItemを使う 実は、PagerAdapterにそういったmethodが用意されているよう。 PagerAdapter#instantiateItem(ViewGroup container, int position) 全体のサンプルは以下のような感じ。 public class MainActivity extends Activity { private ViewPager mViewPager; @Override protected void onCreat
次のページ
このページを最初にブックマークしてみませんか?
『memory-lovers.blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く