yikegaya’s blog

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

NVIDIA製GPUの周辺ソフトウェアとコミュニティを調べてみた

Rebuildfm聴いてたらNVIDIAの決算の話題があり、GPUそのものだけでなくサポートやコミュニティがあるので強い。的な話をされており気になったのでソフトウェア開発やコミュニティなどNVIDIA製GPUの周辺事情について調べてみました。 rebuild.fm NVIDIAの提供…

ビットコインとイーサリアム換金してみた & 資産運用について

コインチェックというアプリで買ったビットコインとイーサリアムを換金してみました。 1月にビットコインとイーサリアムをそれぞれ10万買ってニュースとか読むにビットコイン上がりそうだったんで2月に40万買い足して合計60万買ってました。 で、今月ビット…

Webエンジニア転職の時に応募する会社の基準書いてみる

2020年からフリーランスとして活動しているんですがぼちぼちWebエンジニアとしての力量にも自信がついてきて「もう少し裁量のある仕事がしたい」と思い始め正社員での転職活動を始めてます。 フリーランスだと「開発会議でこの機能欲しいって話が出たんだけ…

Github Copilotを使ってみた感想箇条書き

今の職場がお試しでGithub Copilitを契約しており何人かテストユーザを募集していたので応募して使ってみました。 docs.github.com エディタはVSCode。開発に使った言語、フレームワークはGo Typescript Vue Nuxtです。 使ってみての感想箇条書き 職場に報告…

新NISA口座作って投資信託200万ほど買ってみた&積み立て設定してみた

投資全くやってなかったけど新NISAが話題になって周りの声を聞いてもやらねば損な感じだったので色々調べて投資信託200万ほど購入して積み立てNISAも設定してみました。 口座解説 NISA口座は三菱UFJのスマホアプリから簡単に解説できたのでそこで作っちゃい…

Rust+クリーンアーキテクチャでTODOアプリのREST API書いてみた

Rustの素振りでTODOサービスのREST APIを実装してみました。 書き始める前に読んでいた「実践Rustプログラミング入門」にTODOサービスの実装が紹介されていたので参考にしましたがそのままでは面白くないので書籍の内容に加えて クリーンアーキテクチャっぽ…

RustのclapクレートでcatみたいなCLI書いてみた

Rust試したくてclapクレート使ってcatみたいなCLIツール書いてみました。Rustではライブラリはクレートと呼ぶらしい。 Rustは「実践Rustプログラミング入門」という本を読んで勉強したんですがclapはそこで紹介されてて知りました。 www.shuwasystem.co.jp c…

「ドメイン駆動設計入門」を読んで「値オブジェクト」、「エンティティ」、「サービス」について整理してみる

最近の個人的な関心ごととしてドメイン駆動を意識した開発業務でビジネスロジックを「値オブジェクト」、「エンティティ」、「サービス」にどう分割していくのが良いのか。というのがあり、この辺り整理するために「ドメイン駆動設計入門」を読んで整理して…

「Go言語 100Tips」が参考になった

「Go言語 100Tips」を読んでみました。 book.impress.co.jp 入門書ではなくある程度Go言語を触った人向けの本です。現時点で私は業務で半年ほどGoを触っていますがモヤモヤしていたことを解消してくれたり気づきを与えてくれたりとすごく参考になる内容でし…

「アルゴリズム実技検定 公式テキスト エントリ ~ 中級編」を読んだ

アルゴリズムとデータ構造にもう少し強くなりたく「アルゴリズム実技検定」という資格の公式テキストを読んでみました。 book.mynavi.jp 競技プログラミングで有名なAtCoderの会社が運営してる資格試験らしいです。資格を取る気は現状ないですが教材としては…

GoでgRPCのクライアントコードを書いてみた

前回gRPCでサーバ側のコードを書いてみたので続いてそのサーバを呼び出すクライアント側のコードを書いてみた。 ikeyu0806.hatenablog.com 実行環境 クライアントのコードもサーバと同じdockerコンテナで実行する コンテナは1つだけどdocker runのコマンドオ…

meta quest3買って遊んでみた感想ざっくり

meta quest3を買って遊んでみたので感想ざっくり過剰書きします。 74800円とまあまあいい値段したけど今のところ満足です。 普通にYoutube見てるだけで楽しい。 360度映像見るのが楽しい。Youtubeに色んな街や観光地の映像が落ちてるので気軽に旅行気分にな…

Ruby→Goの移行PJでginkgoとgomegaを使ってるとテストコード移行作業がやりやすい

今でRubyのAPIやjobをGoに移行する仕事をしていますがginkgo使うとrubyのrspecで書かれたテスト移植しやすいなー。と感じます。 ginkgoについて Goのテストフレームワークです。 Goの本やブログ読んでてもあんまり情報なく自分も職場のチームリーダに紹介し…

GoとgRPCでサーバサイドのCRUD実装してみた

gRPCを試してみたく、個人開発でGoとgRPCを使って簡単なメモサービスのCRUDを実装したので振り返ってみます。 作ったもの sqliteでid、title、descriptionレコードを持つmemosテーブルを作成してgRPCのリクエストからメモの一覧取得、詳細取得、作成、更新、…

5ヶ月くらいWordPressでブログ運用してみたがはてなブログに戻した

この技術ブログをWordPressで5ヶ月くらい運用してみましたがしっくりこなかったのではてなブログに戻しました。 そもそも何でWordPressにしたかというと レンタルサーバー借りてWordPressブログにGoogleアドセンスで貼って小遣い稼ぎできんかと思った 別件で…

Go + Webassemblyでアップロードされた画像をセピア調に変換して表示してみる

Webassemblyを試してみたく、Goでアップロードされた画像を白黒、セピア調に変換するプログラムを書いてみました。 前回の記事 https://yuki-ikegaya.net/2023/08/20/docker%e3%81%a8gin%e3%81%a7go%ef%bc%8bwebassembly%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a…

Go + WebAssemblyでアップロードされた画像のファイルを取得する

前回作った雛形をベースにWebAssemblyで画像処理サービスを作りたいと思い、とりあえずinputタグでアップロードしたファイルのサイズを取得してconsoleに出してみました。 書いたコード index.html <html> <head> <title>WebAssembly File Size</title> </head> <body> <h1>WebAssembly File Size</h1> <input type="file" id="fileInput" accept="image/*"> </body></html>

Ginのエラーでハマったので対応メモ。[GIN-debug] [WARNING] Headers were already written. Wanted to override status code 200 with 401

GoのHTTPフレームワークGinで実装したAPIのテストコードを書いていたら401を返すはずのテストケースで200が返ってしまい対応で軽くハマりました。 以下のメッセージが原因っぽかったけどなぜ出てくるのかしばらく分からず。 [GIN-debug] [WARNING] Headers w…

GoのORマッパーBunでRelation先のモデルが取得できないエラーの対応

GoのORマッパー bunでmodelに定義したRelationモデルが取得できなかった時の地味に気づきにくかった対応メモ。 1つのAccountに複数Userを登録できるサービスのテーブルを例に書きます。 モデル定義 type User struct { bun.BaseModel `bun:"table:users"` ID…

DockerとGinでGo+WebAssemblyプロジェクトの雛形を作った

GoでWebassemblyを試してくてdockerとHTTPフレームワークGinで開発環境を作りました。 フォルダ構成 . ├── Dockerfile ├── docker-compose.yaml ├── go.mod ├── go.sum ├── index.html ├── server/ │ └── main.go └── webassembly/ ├── js/ └── main.go Dock…

ゴルーチンの練習でWebスクレイピングCLI書いてみた

書いたもの package main import ( "goroutine-scraping-cli/sites" "fmt" "sync" ) func main() { var wg sync.WaitGroup resultChannel := make(chan sites.Article) wg.Add(2) go func() { articles := sites.ScrapingHatenaItHotentry() for _, article …

Goのプロジェクト環境をdocker-composeで構築した時のメモ

久々に個人開発でGoのプロジェクト作ったので手順メモ。 簡単なCLIで1コンテナしか使わない予定なのでローカルに直接構築 or docker-compose使わずDockerfileのみでもいいかな、と思ったけど以下の理由で結局docker-compose使った。 ローカルで動かすとGOPAT…

ChatGPTに関数型プログラミングの概念一覧とモナドについて聞いてみた

ChatGPTを使ってよく分かってなかった関数型プログラミングを学んだので学習過程を書いてみます。 まず関数型プログラミング言語の重要な概念をChatGPTに聞く Q. 関数型プログラミングの重要な概念について教えて 以下ChatGPTの答え モナド (Monad): モナド…

「Stable Diffusion AI画像生成ハンドブック」を読んだ感想

「Stable Diffusion AI画像生成ハンドブック」を読んで面白かったので軽く内容のメモと感想書きます。 画像生成AIについての本で開発者目線でも面白かったけど、ITリテラシー低めの人が画像生成AI試したいと思った時に手に取るのもアリな本だったと思う。 最…

最近読んだ技術書の感想

最近読んだ技術書の感想を雑に書く いちばんやさしいブロックチェーンの教本 人気講師が教えるビットコインを支える仕組み 「いちばんやさしい教本」シリーズ ブロックチェーンについてはネットの記事やpodcastで聞いたくらいの知識しかなかったので体系だっ…

2023年時点のRailsとReactの最適な結合

RailsのプロジェクトでRailsとReactでWebサービスを作る場合観察する限り以下の2パターンかと思うのですがそれぞれどういった場合に選択するべきか自分なりの考えをまとめてみます。 Reactの場合で書いてますが多分Vueとかでも同じ考えになるはず。 パターン…

仕事でGoを使ってみて感じたRubyとの違い

バックエンド開発ではキャリアのほとんどがRubyで補助的にJava使うくらいだったが5月からGoをメインで使うようになりました。 ここまで使ってみてのRubyと比較したメリットを書いてみます。 感じたGoのメリット 型やインターフェイスがあることでコードの行…

個人開発サービスで儲けようと思ったがうまくいかずポートフォリオ化した

SquareEight」という月額課金(スタンダードプラン月2980円など)で使えるSaasを一人で全て実装、運営していたが儲からず運営コストもかかるのでCLOSEしてソースコード公開しポートフォリオ化しました。 振り返りとして以下のことについて考えをまとめてみよ…

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

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

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

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