yikegaya’s blog

yikegayaのブログ

「ゼロから作るDeep Learning」を読み返した

一度ざっと読んだものの理解できず本棚に放り込んだままになってたオライリーの「ゼロから作るDeep Learning」を読み返した。 文系卒で微分や行列計算などは習っていないけどその知識は必要そうなので高校生向けの本をざっと読んでおいた。 数学知識は付け焼…

「自然言語処理アプリケーション開発入門」を読んだ

普通のバックエンドエンジニアでも機械学習に関わる機会は割とありそうだしちょっと調べとくか。。 と思って機械学習周りの本いろいろ読んでたんだけど、今の自分の前提知識だと「自然言語処理アプリケーション開発入門」がちょうどいい感じだった。 15step…

Nuxt.jsとPython FastAPIで作ったブログサービスを無料デプロイした

NuxtとPython FastAPI、Postgresqlでブログサービスをサクッと作ってVercelとHerokuで無料デプロイしてみた 作ったもの blog-app-frontend-red.vercel.app ソースコード github.com github.com 作った動機 ブログサービスは昔Railsで作ったことあるんだけど…

久しぶりにrails newしたので設定作業メモ

最近仕事でrails newを実行するとこからAPIサーバ2つ作った。その際の設定作業メモ 使った技術やバージョンざっくり key val Dockerのbaseイメージ ruby:3.0.2-alpine3.14 Railsのバージョン 6.1.4 DB 片方がPostgresql、もう一方がMySQL 注意点 rails newす…

「CPUの創りかた」を読んだので軽く感想

積読になっていた「CPUの創りかた」を読んだので軽く感想書いてみる book.mynavi.jp どんな本か LEDを光らせることができる4bit CPUを作成する手順を書いた本。C言語のプログラムを実行できます。。みたいなところまではやらない。 入門本なので読みやすい。…

ECS環境で504Gatewayエラーに軽くハマった

ECS環境構築用のterraformの設定値を変数に切り出す作業をしてたんだけど、504Gatewayエラーが出るようになって軽くハマったのでメモ。 調べたところこの記事の内容とほぼ同じ事象だったらしくVPCのCIDRブロックを変数に切り出した際にセキュリティグループ…

AWS Internet Gatewayが原因でterraform destroyが終わらない時の対応メモ

terraformで構築したAWSのWebサービス実行環境をterraform destroyコマンドで削除しようとするとInternet Gatewayを削除しようとするところでStill destroying...のメッセージがコンソールに表示され続けて実行が終わらなくなった。 対応 以下の対応で直りま…

「Go言語で作るインタプリタ」を読んだので内容整理

「Go言語で作るインタプリタ」を読んだ。親切な内容の本ではあるけどやっぱりインタプリタを作る。ってテーマ自体が難しく、読むのに苦戦したので内容書きながら整理してみる。 O'Reilly Japan - Go言語でつくるインタプリタ ざっくり全体の流れ プログラム…

NginxでCSS、JSが反映されない時の対応メモ

NginxでWebページを公開する際にCSS、JSが反映されず対応した時の備忘録です。 キャッシュをoffにする 古いページがキャッシュされている場合があるのでブラウザのキャッシュをoffにするのと、設定ファイル(nginx.conf)に以下の設定を追加してnginxのキャ…

RailsのECS環境を構築した時のエラー対応振り返り

Rails製のサービスを動かすECS環境をterraformで構築したんだけど結構苦労したんでハマったところ振り返ってみる。 一度Goで作ったAPIをECSで動かしたことはあったんだけどその時には踏まなかった地雷も結構踏んでしんどかった。 前提 現状EC2で稼働している…

効率よくaws ecs execute-commandを実行する

ECS

aws ecs execute-commandを使うとECSで動いているコンテナのシェルを操作できるんだけど実行にはタスクIDを取得する必要がある。 そのタスクIDはAWSの管理画面かaws ecs describe-tasksで確認できるんだけどいちいち確認してターミナルにコピペするのが面倒…

マークダウンをHTMLに変換するツールをいくつか試してみた

Gitのレポジトリにコミットされているマークダウンで書かれたドキュメントがあって、それをCI/CDパイプラインの中でHTMLに変換してBASIC認証かけて公開したい。。 というタスクを業務で振られたんでマークダウン をHTMLに変換するツールをいくつか試した。そ…

Vue +GoでPocketの記事にまとめてタグ付ができるサービスを作った

Pocketに記事をどんどん放り込んでいて整理できてない。。というモヤモヤがありPocketのAPIを使ってうまいこと整理できないかと考えてた。 https://ikeyu0806.hatenablog.com/entry/2021/05/09/113856 で、整理するならとりあえず記事にタグ付けできる機能が…

curlでPocketのアクセストークンを取得する

あとあと読みたいネットの記事のURLをPocketにどんどん放り込んでたんだけど、未読がたまっていく一方だったりして少し整理したりいい感じに管理できるプログラム作れないかな。。と思ってとりあえずPocketのAPI叩いてクリップした記事を取得してみた。 Pock…

iOS開発に少しだけ手を出してみた感想

仕事で使うとかモバイルエンジニアにキャリアチェンジしたいとかではないんだけど、iOS開発環境少し触ってみたので感想書いてみる。 現状 ここ数年Webの開発エンジニアポジションで直接のモバイル開発経験なし。モバイルに渡すサーバサイドのAPIとかWebView…

フリーランス1年目の確定申告振り返り

フリーランスになって初の確定申告があった。税理士には頼まずに自力でやってみたんでその記録。 確定申告に向けての準備 フリーランスなりたての時にやったこと クラウドの会計ソフトに登録する。自分の場合はfreeeのスタータプランに登録した。 事業用の口…

Kindle Unlimitedで技術書いろいろ読んでみた

Amazonの技術書眺めてたら割とKindle Unlimitedで読みたい本あるな。。と思い加入していろいろ技術書読んでみた。 使ってみた感じ、買ったら3000円くらいする技術書が月1000円で読み放題で思ったよりいい本もあるんで結構良い気がしている。 以下読んだ本の…

terraformでRDSに接続するAPIサーバをECSにデプロイする

terraformでGoのAPIを動かすECSを作ろうとした時、DBの接続で結構手こずった。 初回のterraform実行でRDS構築してさらにECR(コンテナのレジストリ)からdockerイメージをpullしてECS内にコンテナを立ち上げるんだけど、その時に以下の2点がうまくできずに…

public access可能なRDSをterraformで作成した時のメモ

実運用ではダメだけどちょっと試したいことがあってpublic access可能なRDSをterraformで作った時のメモ 必要なこと RDSのpublicly_accessibleをtrueにする VPCのenable_dns_supportとenable_dns_hostnamesをtrueにする RDSに紐づいているsubnetのaccessをpu…

document.execCommandの代替(クリップボードへのコピー)

javascriptでdocument.execCommandを使ってクリップボードにテキストをコピーしているプログラムがあったんだけど最近のブラウザだとこのメソッド使えないらしく代わりになるものを探した。 クリップボードAPIってものがあってこっちを使えばいいらしい。ク…

terraformで AWS acmの取得、破棄を繰り返してたら上限超えたので緩和申請した

httpsを使いたくてterraformからAWS Certificate ManagerでSSL/TLS 証明書を発行してたんだけど使ってる個人AWSアカウントだと上限が10だったらしくてterraform applyとdestroyを繰り返してたら超えて発行できなくなってしまった。 対応 AWSのサポートセンタ…

ECS環境に必要な最小限のリソース

ECS用のterraform思っていろいろ調べたりいじったりしてみたんだけど、AWSのいろんなサービスと絡んでいて最低限必要なリソースがよくわからないのでまとめてみる。 とりあえずterraformでECS環境構築してnginxにブラウザからアクセスできるところまでやって…

最近読んだ技術書

エリック・エヴァンスのドメイン駆動開発 ずっと積読になってたのをやっと読んだ。 技術だけ追ってても完成度の高いソフトウェアを作るのは厳しくてドメイン知識を開発に落とし込む努力が必要。ってのが500ページ以上使って実例を交えて紹介されている。著者…

GoでDBの接続情報をyamlに切り出した時のメモ

Goで作ったサービスで環境ごとにDBの接続先を切り替えたいと思ってこんな感じ↓でyamlに書いた接続情報を読み込んだ時のメモ。 driver: mysql development: user: root password: "pass" protocol: "tcp(movie_mysql:3306)" db_name: "movie_info" これがベス…

ポートフォリオのデプロイどうするか考えた

ポートフォリオ(Next.js+Goの映画情報提供Webサービス)作ったは良いけどローカルで動作確認しただけで実際公開するところまではやってなかった。 けど、せっかくだしインフラ作ってコード化するところまでやってしまおうかと思った時にどの技術を使うかを…

IoTのオンライン講義受けてみたので軽くメモ

IoT

別に仕事で必要とかじゃないんだけどもしかしたら個人開発で面白い物作れるかな。。と気になってたのでUdemyでIotの講義視聴してみた。一旦手は動かさず。 【IoT101】知識ゼロから作って学ぶIoT入門 | Udemy 軽く内容メモ ArduinoとRaspberry Piっていうのが…

React Nativeに入門した

React Native触ってみたかったのでUdemyで講座買って受講してみた。 React Native入門:ニュースアプリを作りながら覚えよう/Hooks対応版 | Udemy 感想 ほぼWeb開発のReactのコードと変わらなそう。Reactが書ければ割とすぐ開発できそう。 見た目の調整も普…

自作カレンダーの開発の進捗振り返り

ポートフォリオとしてVueとGo言語で作ったカレンダーサービスの開発が進んだので振り返ってみる。 GitHub - ikeyu0806/vue-calendar: Vue.jsで開発中の自作カレンダー 最近実装したもの GraphQLで予定の登録、更新、削除をできるようにした。 ユーザ登録でき…

「Goならわかるシステムプログラミング」の17章を読んだ(Go言語とコンテナ)

コンテナ 仮想化は、使いたいサービスだけでなくOSも含めてまるごと動かすことが前提の仕組みです。そのため、たとえばゲストOSとホストOSが同じLinuxであればカーネルやシステムのデーモンを重複してロードすることになり、無駄にメモリを消費してしまいま…

「Goならわかるシステムプログラミング」の16章を読んだ(時間と時刻)

OSが使う時間の仕組みは歴史的経緯などもあって少し複雑な構成をしており、たくさんの種類のタイマーやカウンターがあります。 リアルタイムクロック(RTC) システムクロック タイムスタンプカウンター(TSC) 各種タイマーデバイス 時間に関するシステムコ…