yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

Rails製サービスにStripeで決済機能を実装してハマったこと、迷ったところ

Ruby on RailsとReactで実装、運営しているSquareEightというサービスにStripeで決済機能を実装してみて得た知見をまとめます。 https://square-eight.net/ 仕事でStripeに触れたことはあったものの他のエンジニアが実装したコードのメンテナンスをしたのみ…

Webサービスのロゴをクラウドワークスで発注してみた

運営しているWebサービスのロゴをクラウドワークスで発注したので振り返ってみます。 https://crowdworks.jp/public/jobs/9183407 クラウドワークスで発注しようと考えた経緯 自分で作る デザイン会社に頼む クラウドワークス、ランサーズ、ココナラなどのWe…

株式会社を軽い気持ちで登記してみた

2023年2月に「株式会社SquareEight」という法人を登記したので手続きをまとめてみます。 なぜ登記したのか 運営しているサービスの信頼性を高めるため 勉強のため 運営しているサービスの信頼性を高めるため 2022年からコツコツと作ってきた「SquareEight」…

ブログ移転しました。https://yuki-ikegaya.net/

自分のサーバ、ドメインを取得して運営したい 仕事の都合もありWordpress詳しくなりたい としばらく思ってたのでこのブログ移転してみました。こちらよろしくお願いします。 -Yuki Ikegayaのブログ

custom hooksを使ったReactでのページネーション実装

Reactでのページネーション実装調べてたんだけど、Railsのkaminariみたいに「これ使っとけば間違いない」的なライブラリや実装が見つからなかったのでcustom hooks作ってオレオレ実装してみた。 前提 React(Next.js)での実装 フロントエンドとバックエンド…

bulmaでスマホ表示時に無駄な空白ができた時の対応

cssフレームワークにbulmaを使ってるポートフォリオメンテしたらスマホ表示時に無駄な余白ができてしまった。 ikeyu0806.github.io 原因よくわからずしばらくハマった。 対応 bulmaでグリッドシステム使うときにcolumnsクラスに「is-desktop is-marginless」…

nextjsでbootstrapのcssをoverrideする

Next.jsとbootstrapで作ったナビゲーションバーのcaret(下向き三角的なやつ)をbootstrapのcssをoverrideして消そうと思ったらなかなか消えなくて地味にハマった。 stackoverflow.com 上の記事の通りに作ったCSSが効かない .dropdown-toggle::after { displ…

nginxを使ったrailsデプロイ時の404エラー対応で地味にハマったこと

こんな感じのnginxのDockerfileと独自設定ファイルを作ってECSにデプロイしたがhealth checkが404で落ちる FROM nginx:1.19-alpine ENV LANG C.UTF-8 ENV TZ Asia/Tokyo COPY ./docker/nginx/webapp.conf /etc/nginx/conf.d/webapp.conf RUN mkdir -p /workd…

StripeでSDKからExternalAccount登録する時にハマったことメモ

StripeでRubyのsdkからExternalAccount作る機能実装した時にハマったことメモ。 individualの登録 個人事業主(individual)のアカウントを登録するときに以下だとStripe::Accountのインスタンスからindividualを呼び出す時にmethod_missingになってしまう。…

バックエンドで生成したJSONを元にReactで月表示カレンダーを描画する実装

Reactで作ってるWebサービスにFullcalendarなどライブラリを使わずスクラッチでカレンダーを作ったので実装書いてみる。 前にVueでカレンダー作ったときみたいにフロントエンド側でゴリゴリ書いてこうと思ったんだけどちょっと今回は要件的にその実装方針だ…

「実践スタートアップ・ファイナンス」がエンジニア目線で読んでもなかなかよかった

エンジニアとしてスタートアップ界隈うろうろしている割に投資家からの資金調達の方法とか上場前の株の仕組みとかストックオプションとか付け焼き刃程度の知識しかないなー。と思って色々調べてたところ、「実践スタートアップ・ファイナンス」という本が具…

ReactでElement returnする時につまづいたところメモ

配列を使ったElement生成+別のコンポーネントを同時にreturnする場合 returnを「()」ではなく「[]」で囲んで配列で返す必要あり return [ [1, 2, 3].map((value, i) => { <div>{value}</div> }), <AnyComponent></AnyComponent> ] ネストした配列からElementを生成する場合 ネストした配列の呼び出…

AWS Cognitoのメール送信にSESを設定する時のエラー対応

AWS Cognitoの検証メール送信数はデフォルトだと上限があるのでSESを設定する必要があるけど設定する時のエラーメッセージがわかりにくてハマった。 Cognito管理画面の「E メール設定を編集」から対象のメールアドレス(Identity typeはDomain)を選択して「…

RailsのセッションがElastiCacheに書き込めなかった時の対応メモ

RailsのセッションをAWSのElastiCache Redisで管理しようとしていたがしばらくsession_idを保存できずハマった。Railsのバージョンは7.0.2 接続できない時の確認方法の備忘録 確認方法 まずrails consoleからRedisに繋がるか確認する。 redisのインスタンス…

Next.jsのapp.tsxでLayout component読み込んだ際のエラー対応メモ

Next.jsのapp.tsxのエラー対応メモ 以下のようにapp.tsxでヘッダやフッタを表示するLayoutコンポーネントを読み込む実装をしたらVSCode上でエラーが出た。 next devでは動くけど、next buildはできない状態 function MyApp({ Component, pageProps }: AppPro…

写経しながら実践Rustプログラミング入門を読んだ(テスト)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-5~を読んでみる。 www.shuwasystem.co.jp テスト Rustでは機能のためのコードとそれをテストするコードを同一のファイルの中で書くことができる。 p…

写経しながら実践Rustプログラミング入門を読んだ(クレートとモジュール、Cargo)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3-3~を読んでみる。 www.shuwasystem.co.jp クレートとモジュール Rustでは、ソースコードのまとまりを表す構成要素として、クレートとモジュールがあ…

写経しながら実践Rustプログラミング入門を読んだ(Rustを支える言語機能)

前回に続いて写経しながら要点だけこの記事に書き起こす形で実践Rustプログラミング入門のPart1のCharpter3~を読んでみる。 www.shuwasystem.co.jp 前回の記事 https://ikeyu0806.hatenablog.com/entry/2022/03/13/094219 ゼロコスト抽象化 C++やJavaのよう…

iOS環境でのクリップボードコピーのバグ対応

Rails(フロントエンドerb)で作ったサービスでiOSだけバグっていた機能があり修正箇所少ない割にハマって数時間溶かしてしまった。 こんな感じの機能 ボタンをクリック →javascriptでtextareaのvalueを取得 →ajaxでAPIにリクエスト送る。レスポンスを受け取…

写経しながら実践Rustプログラミング入門を読んだ(環境構築〜基本文法)

Rustが気になるので写経しながら「実践Rustプログラミング入門」を読んだ。 www.shuwasystem.co.jp 写経したコードと解説の切り抜きをメモがてら書いてみる。 環境構築 以下のサイトを開いてインストールコマンド実行 www.rust-lang.org 1) Proceed with ins…

確定申告振り返り(2021年分の所得申告)

2022年の確定申告(2021年分の所得申告)が終わったので振り返り。昨年は紙で申告書作って郵送したけど今年は電子申告でやってみた。 誰の役に立つかもしれないのでやったこと書き残してみる。 申告のため用意したもの Webサービスfreee freeeの電子申告スマ…

最近読んだ技術書

実践Rustプログラミング入門 API開発、システムプログラミング、Web Assembly、フロントエンドのライブラリ開発といろんな場面で使えて言語仕様も今風だしC、C++に匹敵するくらい速いしで評判良さげな言語なので気になって読んだ。 とりあえず読んでどんな言…

Gitlab CIからのECSデプロイ

GItlabでコード管理してAWS ECSでインフラを構築しているプロジェクトのCI/CDを業務で作った。その中でデプロイについて考えたこと書いてみる。 AWS ECSのデプロイについてググるとAWS Codeシリーズを使ったCI/CDの構築方法がよく出てくるが、、コード管理に…

自作ゲーム作ってUnity Playで公開してみた

駄作でもいいから一回自分で仕様考えてゲーム作ってwebで公開してみたい。。と思ったんでUnityChan(フリーで使えるUnityの公式キャラ)の3Dモデルを操作して敵キャラと雪玉をぶつけあう3Dゲームを作ってUnity Playで公開してみた。 公開はUnityで作ったもの…

2Dシューティングゲームを開発するオンライン講座受講した

ノンフィールドRPG、ゾンビ系FPSの開発講座に続いて2Dシューティングゲームを開発する講座受講してみた。 www.udemy.com Unity公式のチュートリアルを元に作った講座らしい。使ってる素材は同じだけど成果物は違うっぽい。 github.com できたもの vimeo.com

ECS接続用のシェルスクリプトを書いた

ECSで動かしてるFageteにECS Execで入りたい場面がちょくちょくあるんだけど毎回クラスタ名とタスクID、コンテナ名を貼り付けてコマンドを作るのが面倒だった aws ecs execute-command \ --cluster <クラスタ名> \ --task <タスクID> \ --container <コン…

ゾンビ系FPSを作成するオンライン講座を受講してみた

UdemyでUnityを使ってバイオハザードみたいなゾンビ系FPSを作成する講座を受講してみた。 www.udemy.com ノンフィールドRPGに続けてUnityの講座を受講するのは2つ目。 https://ikeyu0806.hatenablog.com/entry/2021/10/24/123335 できたもの こんなの vimeo.…

ノンフィールドRPGを作成するオンライン講座を受講してみた

Unityでゲーム作ってみたいと思い、Unityを使ってノンフィールドRPGを作成するUdemyの講座を受講してみた。 www.udemy.com Unity選んだ経緯 2021年現在ゲームエンジンの人気はUnityかUnreal Engineの2択っぽい。以下Unreal Engineと比較しての選定理由 Unrea…

Railsデプロイ時の認証周りの対応メモ

最近新規で作ったRailsサービスのデプロイ作業してたら認証周りの対応が地味に面倒だったので対応メモ。 前提 JWTで認証するREST APIを提供するRailsサービス Railsのバージョンは6.1.4 AWS ECS上のコンテナで稼働 RailsはPumaで起動してNginxとsocket通信さ…

<input type="file" accept="image/*">タグでAndroidの写真を扱うとエラーになる場合がある

HTMLで画像のみ受け付けるフォームを以下のように作って検証していたらAndroid端末でエラーが出るようになった。 <input type="file" accept="image/*"> スマホ端末だと上記のタグをつけた場合に保存されている写真をアップロードするのではなくカメラアプリを起動させて撮影した写真をそのまま送…