MORITOMOMENT

登山好きエンジニアのテックブログ

プログラミング・アウトドア関連を中心に発信

プログラミング

[Golang] Cloud Runでログレベルを管理できるように構造化ログを出力するように実装してみた

go言語でGCPのCloud Runでログを効果的に管理できるように構造化ログの対応をしてみます。uber開発のzapなどOSSは使用せずに標準logライブラリだけで対応してみました。

Golangで実装したAPIをCloud Runにデプロイする

やること Cloud Run とは Cloud Runを使ってみる Google Cloud Platformのアカウント作成 gcloud CLIのインストール gcloud CLIにログインする 利用するGCPサービスの有効化 artifact registry さっそくCloud Runにデプロイしてみる APIの準備 artifact regi…

Golang (net/http)とFirestoreで簡単なREST APIを作ってみた。

1. 概要 今回の内容 今回作るもの 注意事項 実際に筆者が作ったサンプルコードはこちら 2. 環境設定 project設定 今回作ろうとしているAPIのディレクトリ構造 2. 全体像 3. controller層実装 controller層のインターフェース HandlerHttpRequestとHandlerHtt…

登山動画クリエイター向けにGPXファイルを軌跡画像に変換するサービスをつくってみた

登山動画クリエイター向け軌跡画像作成サービス「GPX2ROUTE」 アクセス方法 できること 使い方 1. GPXファイルを用意する 2. GPX2ROUTEにアクセスして変換する コツ まとめ どうもモリトモです。 登山動画で登山コースや現在地を示すためにルート画像を作成…

Vuexの状態管理でハマった話 - アクションを実行しても状態が反映されない

こんにちは、最近Nuxt.jsで個人開発をしているモリトモです。 はじめてフロントエンドのフレームワークを触ることもあって、 なかなか状態管理という概念に苦しまされております。 今回は、 loginフォームからログインをしてトップページへ遷移するときに、…

Nuxt.jsでMaximum call stack size exceededというエラーに悩まされた

最近、nuxt.jsを使って個人サービス開発に励んでおります。 がしかし、 Javascriptをほとんど触ってこなかった人なのでこのエラーには大変苦戦しました。 その解決に至った経路だとか方法を備忘録として書き留めます。 どんな風にエラーが起きたか エラーが…

ヤマレコAPIを用いて百名山の情報を集めてみた

表題の通り百名山の情報をヤマレコAPIを用いて集めてみました。 現在個人で使用することを目的とした百名山アプリを開発しています。 そこで百名山の情報をどこかから集めたいと思ってたところヤマレコAPIを見つけました。 今回はヤマレコAPIを用いた百名山…

Flutterの勉強どうはじめればいいか、モバイル開発未経験のwebエンジニアが紹介してみた

表題の通り、ここ一週間くらいFlutterを触り始めました。 Webエンジニアということもあり、モバイルネイティブなアプリ開発をこれまでしたことがなく、 環境構築、どうやってアプリ実行して動作確認するの?とかわからないことだらけでした。 Flutterはここ…

スコープの認識を高めて安全なコードを書こう

こんにちは、 突然ですが、あなたは次のプログラムの最後のecho文で何が出力されるかわかりますか? 実行結果は、 apple banana lemon lemon //これ! 最後のecho文によってlemonが出力されます。 僕はこの事実にびっくりしてしまいました。 この事実は知っ…

Rubyで天気予報のプログラムを作成

こんにちは。 今回はRubyで天気予報のプログラムを作成してみました。 この記事を読む前に 背景 なぜ天気予報? 実現したい事 作成プログラム 実行結果例 岐阜の明日の天気 実行結果例 東京の明日の天気 プログラムの解説 ステップ1, 2について ステップ3, 4…

C++言語で少数第n位で四捨五入する

少数第3位で四捨五入をする必要があったので、メモがてらシェアしておきます。 今回やりたいことは、 例えば0.165895235であれば、0.17に四捨五入をしたい。 というように、C++言語で小数点以下のn番目で四捨五入をするにはどうすればいいかシェアします。 C…

Dockerチュートリアルを日本語で説明(第3章)

第2章はコンテナについてのチュートリアルでしたが、 moritomo7315.hatenablog.com 今回はサービスについてのチュートリアルです。 なにをするかというと、 第2章で作成したコンテナをいくつか複製して、それらで負荷分散ネットワークを構築します。 見かけ…

Dockerチュートリアルを日本語で説明(第2章)

Dockerを勉強しようと思い、色々調べていたのですが、どうも自分にとって理解しやすい記事がなかったので、 公式のDockerのGetstaretedで勉強し始めました。 docs.docker.com 公式のなので英語で書かれています。 勉強しがてら、英語で困っている方向けに、D…

やってみたわかった「Railsチュートリアル」の効果的なやり方

Railsチュートリアルを1周やってみての感想や2周目やるときに気をつけるポイントなど紹介します。これからWebエンジニアを目指している方、Railsチュートリアルに取り組もうと考えている方、挫折しちゃった方に参考になれば幸いです。

【奮闘記】rails newでactivesupportのバージョンコンフリクトが起きた

rails newで新しいプロジェクトを作ろうとしたらactivesupportのバージョンコンフリクトが起きてしまいました。 結果的にrailsのバージョンとactivesupportのバージョンを合わせないといけないようです。特に今回はrailsチュートリアルに沿っているため、v5.…

Railsチュートリアルのhello, world!で立ち止まった話: コントローラ名がなぜapplicationなのか調べてみた

Railsチュートリアルを始めたものの第1章で腑に落ちないことが見つかった。正直こういうもんだと振り切って先に進めてもいい。けど簡単なことなんだけど、「なぜそうなるの?」ってことを解決しないことにはフレームワークの本当の理解につながらないのでは…

Slack APIを使ってチャットボットを作ってみる 勉強編#1

なぜ勉強しようと思ったか 実行環境 チャットボット開発のための下準備 Slack Appのインストール手順 インストール後重要となる情報 メッセージを送信する node.jsの場合 pythonの場合 画像ファイルをアップロードする 問題発生 改善 実際に役に立ちそうなbo…