サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
tutuz-tech.hatenablog.com
本記事はGoでJSTのタイムゾーンを指定する方法を紹介します。 *time.Location の取得方法 タイムゾーンを指定して時刻を取得する方法 方法1.時刻をパースする際に In でロケーションを指定する 方法2. time パッケージが保持しているグローバル変数を更新する 方法1'.ロケーション付で時刻が取得できる関数を生成 文字列から time.Time に変換する方法 まとめ 現在時刻を取得するには time.Now() を使うことになります。time.Now() はデフォルトではローカルな時刻が取得できます。例えばAWS Lambda上ではUTCの時刻が取得できます。日本のロケーションで動作するアプリケーションを前提にすると、アプリケーションによっては時刻をJSTで統一したほうがシンプルで扱いやすい、といったケースもあるでしょう。本記事ではGoのアプリケーションでJSTの時刻を
こちらは Making and Using HTTP Middleware の日本語訳です。 HTTP Middleware の作り方と使い方 ウェブアプリケーションを構築しているときに、多くの(あるいはすべての)HTTPリクエストに対して実行したい共通機能があるかもしれません。すべてのリクエストをログに記録したり、すべてのレスポンスを gzip したり、重い処理を行う前にキャッシュをチェックしたりしたいと思うかもしれません。 このような共通機能を整理する一つの方法として、ミドルウェアを設定することがあります。Go では、HTTP リクエストの制御の流れが以下のようになるように、ServeMux とアプリケーションハンドラの間でミドルウェアを使用するのが一般的です。 ServeMux => Middleware Handler => Application Handler 今回は、このパタ
こちらは Configuring sql.DB for Better Performance の日本語訳です。 パフォーマンス向上のためのsql.DBの設定 Go の sql.DB 型や SQL データベースのクエリやステートメントを実行するための使い方を説明した良いチュートリアルがたくさんあります。しかし、ほとんどのチュートリアルでは、SetMaxOpenConns()、SetMaxIdleConns()、SetConnMaxLifetime() メソッドを軽視しています。 この記事では、これらの設定が何をするのかを正確に説明し、(ポジティブ/ネガティブな)影響を与えることを示したいと思います。 Openな接続とアイドルな接続 少し背景を説明します。 sql.DB オブジェクトは多くのデータベース接続のプールで 'open' と 'idle' の両方の接続を含んでいます。SQL 文の実行
はじめに Goは標準パッケージとしてHTTPサーバが組み込まれており、net/http パッケージを用いると簡単にHTTPサーバを動かすことができます。今回は net/http パッケージの一部(HTTPサーバの内容)の実装を読むことで、HTTPサーバが動く裏側を見てみたいと思います。困ったら 公式ドキュメント を見ましょう。 なお、読んでいるコード Go1.13 のものです。 はじめに Doc type Handler type HandlerFunc func (HandlerFunc) ServeHTTP type ServeMux Examples func ListenAndServe func Handle func HandleFunc 見通しを良くするために type ServeMux type Handler type HandlerFunc Implementation
はじめに これは Go 4 Advent Calendar 2020 8日目の記事です。 Goのテストにおいて、構造体を含めて型の値を比較したいという場合は往々にしてあります。ロジックの結果はなんらかの値として作用することが多いですから、型の値を比較したい、というのは自然です。私は型の値が等価であるかどうか判定するために、go-cmp というライブラリを使うことが多いです。 github.com しかしGoにおける等価性の仕様は決まっていますし、標準ライブラリの reflect パッケージにも DeepEqual という deeply equal, かどうか判定するメソッドがあります。そこで本記事ではなぜわざわざ go-cmp を使っているのかという理由と、go-cmp を使ったときにどのようにして使うか?という go-cmp の使う上でよく使う以下のTipsを提供したいと思います。 Ti
GoのおけるHTTPクライアントの実装をまとめていきます。 How to issue HTTP request 1. http.Get を用いる 2. http.Client を用いる 2-1. client.Get を用いる 2-2. http.NewRequest を用いる 2-3. http.Transport を用いる Implementation type Client 1-1. func http.Get 1-2. Clinet.Get 1-2-1. http.NewRequest 1-2-2. http.NewRequestWithContext 2-1. Clinet.Do 2-2. Clinet.do 2-2. Clinet.send Transport 構造体の RoundTrip の実装 3-1. Transport.RoundTrip 3-2. Transport.
こちらは Flat Application Structure in Go の日本語訳です。 Flat Application Structure in Go コードをパッケージに分割する方法を見つけ出すのに時間を費やすよりも、フラットな構造を持つアプリケーションでは、すべての .go ファイルを単一のパッケージに配置します。 myapp/ main.go server.go user.go lesson.go course.go フラットなアプリケーション構造は、ほとんどの人が Go を始めるときに最初に使うものです。A Tour of Go のすべてのプログラム、Gophercises のほとんどの練習問題、その他多くの初期の Go プログラムは、パッケージに分割されていません。その代わりに、いくつかの .go ファイルを作成して、すべてのコードを同じ(多くの場合はメインの)パッケージ
このページを最初にブックマークしてみませんか?
『tutuz-tech.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く