I don't know

Product Development

Dev再開 - Heroku Deploy完了への道

仕事が落ち着いてきたのでProduct Devを再開する。リモートでのP0作成は完了していて、Herokuへのデプロイから。 アプリの構成は以下。 Front: React Back: FastAPI DB: Postgresql やったこと * ローカルではFront, Backを別ディレクトリ、別リポジトリで管…

名著再び - 改めてキャズムを読む

改めて名著キャズムを読み直している、んだけど長いので数回に分けてメモする。 キャズム Ver.2 増補改訂版 新商品をブレイクさせる「超」マーケティング理論作者:ジェフリー・ムーア翔泳社Amazon なんとも懐かしい、、、初版が出たのがいつだったか忘れたけ…

Getting know each other with Heroku episode 1

Herokuにデプロイ完了するまで長い旅が始まりそうな予感なのでここに丁寧にメモしておく そもそも環境周り全然理解していないのでこれを機にちゃんと学んでおこう と思っていたらそもそも自分が開発しているアプリの環境と動作原理を全然理解できていないこ…

先輩の話は素直に聞こう

読書教科月間2冊目。 成功者の告白 (講談社+α文庫)作者:神田 昌典講談社Amazon 激推奨されたので読んでみたが、確かに面白かった。 プライベートと仕事がバランスするというのは理屈では出てこない、いろんな人を見ていないと出てこない経験則。 この辺を生…

ポエム翻訳問題 - 『ライト、ついてますか』

問題解決の古典本を改めて読んでみた。 ライト、ついてますか 問題発見の人間学作者:ドナルド・C・ゴース,ジェラルド・M・ワインバーグ共立出版Amazon 関心のある領域なので出てくる問いとか示唆はしっくりくるしさすが名著なんだけど、挟み込まれるエピソー…

Getting know each other with Heroku episode 1

Herokuにデプロイ完了するまで長い旅が始まりそうな予感なのでここに丁寧にメモしておく そもそも環境周り全然理解していないのでこれを機にちゃんと学んでおこう と思っていたらそもそも自分が開発しているアプリの環境と動作原理を全然理解できていないこ…

Heroku再び

そろそろαテストなことをしたいのでPaaSにデプロイすることにした。 AWS BeanstalkとHerokuで迷ったが、以前使ったことがあるHerokuでとりあえずやろう。アカウント残ってたし。 LocalでDockerにPostgresを乗せて動かしていたのでHerokuでどうデプロイすれば…

クリックできない問題

クリックできない問題の続きがあり結局解決した。 原因はロゴのCSSで、元々下記のように指定していた。 .logo { height: 200px; margin-top: 20px; margin-bottom: 20px; margin-right: 8px; margin-left: 0px; } 画面上は高さ70pxのナビゲーションバーに納…

display: flexで子要素のwidthが効かない問題

下記のようなスタイルだと子要素のwidthが100%にならず、謎の余白が残っていた。 .parentClass { display: flex; justify-content: center; width: 100%; } .childClass { width: 100%; } ブラウザで確認しても特に変なmargin, paddingは設定されていなかっ…

Chart.jsのカラー修正

これも公式のYoutubeが上がっていた。めちゃくちゃ便利だな・・・。 www.youtube.com www.youtube.com

チャートのカテゴリ名表示問題

凡例ではなくチャートの中にカテゴリ名を埋め込みたかった問題は↓の動画で解決した。 chartjs-plugin-datalabelsのインストールにちょっと手間取ったけどそれも--legacy-peer-depsで一旦Skip。 やっぱり公式の提供する情報を参照するのが一番。 www.youtube.…

チャートリサイズ問題

Pie Chartの表示が下部に寄っていたのでなんでかなと思っていたが、titleの表示がTrueになっていたからだった。 falseに変えることで中央寄せになってリサイズされて解決。 const options = { maintainAspectRatio: true, responsive: true, plugins: { lege…

リサイズ問題 ちょっと進展

リサイズ問題が少しだけ進展 react-chartjs-2を使っている場合下記のように指定してやるとレスポンシブになる。 const options = { maintainAspectRatio: true, // アスペクト比を維持する responsive: true, // レスポンシブに対応する --- その他options -…

チャートリサイズ問題

MVP的なものはできて機能はひと段落した。 次の課題はレイアウト・デザイン修正。 Chart.jsを使用して円グラフ、折れ線グラフを描いているのだか描画エリアのリサイズが上手く行かない。 通常のブラウザだとまぁまぁ見れる範囲で表示されるがMobileだと訳が…

どこまでComponent化すべきなのか

とりあえず動かそうと思って書いたReactを多少なりとも綺麗にしようと思って修正を進めているのだけど、どこまでComponent化するのが良いかがいまいちわからない。今ランキング表示するSPAを作っていて、繰り返し処理するタイルはComponent化したのだけど、…

メモ 起動コマンド

POSTGRES -> Docker Desktopで実行 FAST API -> uvicorn main:app React(VITA) -> npm start

イベントハンドリングの謎(解決編) - 初歩的な問題だった

ずっと詰まっていたところが解決した。結論から言うと、 該当コンポーネントの上に位置しているナビゲーションバーのCSSでposition: fixed;としていたのをposition: sticky;に修正することで下部のコンポーネントの最初の要素がクリッカブルになって無事解決…

イベントハンドリングの謎 - 最初の要素だけリンクが機能しない

ReactでSPAを書いているのだが、一つだけハマってまだ抜け出せないバグが。あるコンポーネントの最初のボタン・リンク要素だけイベントハンドリングが上手く行かず、クリックしても何も起こらないと言う事象が発生している。コードのイメージはこんな感じ。 …

crontabによるpythonスクリプトの定期実行

crontabを使ったPythonの定期実行も完成。 以前なぜか実行されていなかったが普通にスクリプトを書けば問題なかった。 設定はこんな感じ。vimを触るのが久しぶりすぎでコマンドをすっかり忘れていて保存できなくて焦った。 05 6 * * * /Library/Frameworks/P…

Alembicでalembic_versionが見つからない問題が解決

結果的に原因は自分のオペレーションミスと確認不足だった。 alembic_versionが見つからないというエラーだったのでenv.pyやalembic.iniを目を凝らして確認していたが、接続情報はどうみても正しいのでChatGPTに相談したところmigrationの順番が間違ってるん…

再開

Blogを再開して開発ログを残していこう 今詰まっているのはSQLAlchemy + Alembicでmigrationがうまく動かないこと 具体的にはalembic upgrade headする際にpublicスキーマにあるalembic_versionテーブルが見つからないというエラーが出る sqlalchemy.exc.Pro…

Product Note in detail: Youtube/プレイリスト

Product開発の初期段階では全ての機能を一人のPdMが(スタートアップであればCEOが)見ることが多いですが、実際世の中に存在するPdMのJobとしてはユーザーが見るProduct全体というよりも、親となるProductの下に存在する個別の機能群ごとにPdMが立つケース…

Product Note: Audible

Product Note第2弾はAudibleです。AudibleはAmazonの提供するオーディオブックサービスで、集中して本を読む時間がなかなか取れないという方でも、通勤中などに「ながら視聴できる」ということがメリットです。最近はAir Pods Proなど完全ワイヤレスのイヤ…

Product Note: 1SE

これから世の中にあるProductについて勝手に評価して改善提案をしていくことにします。第一弾はMobile Appで個人的に一番のお気に入り、1SEです。1SEはCeaser KuriyamaによってProduceされたモバイルビデオ編集アプリで、映画『シェフ!』で使われたことで有…

Marketplaceビジネスの基本的な構成要素は何か?

世の中には様々な商材のOnline Marketplaceがありますが、このビジネスの最も基本的な構成要素は 買い手が売り手の出品を探せること 買い手が売り手に連絡できること 売り手が出品情報を追加できること です。どんな商材のどんなMarketpalceビジネスでも、こ…

Google SpreadsheetによるRailsのSeed作成

RailsのProjectで初期データをLoadするためのToolとしてseed.rbというものがあります。架空のデータを入れる場合は100.timesなどでLoopを回して適当な数値や文字列を入れてしまえばいいのですが、外部サービスとの連携をテストしたい場合など、実際に存在す…