2023-01-01から1年間の記事一覧

Goのポインタについて

ポインタはGoの基本的な概念で、プログラム内で値やレコードへの参照を渡すことができるようになります。 Goの重要な機能となります。 Goでは、ポインタは他の変数のメモリアドレスを格納する変数です。ポインタを作るには、&演算子を使って変数のアドレスを…

Go言語でSOLID原則

SOLID原則とは SOLID原則とは、OOPにおいて、メンテナンス、拡張しやすいシステムを設計・構築するための原則のことです。 アメリカのソフトウェアエンジニアである、ロバート C. マーティンが提唱していた多くの設計原則の中からチョイスされた5つの原則の…

オブジェクト指向とオブジェクト指向エクササイズ

オブジェクト指向プログラミング プログラム全体がオブジェクトだけで設計されます。オブジェクトが持つ状態と挙動のセットを定義し、設計図とインターフェースを使って抽象化し、オブジェクト間で状態と挙動のやりとりを行い、抽象化したものを再利用したり…

代表的なアルゴリズムをGoで書いてみた

代表的なアルゴリズムをGoを使って学習していた時に、自身のメモとして記述していた内容を改良して記事にしてみました。 Pythonなどで書いている記事はそれなりにあると思いますが、Goで書いている記事は少ない印象でしたので誰かの参考になれば幸いです!!…

Goを使ってS3にファイルを一括アップロードする

Amazon S3 Amazon S3は、ウェブ上のどこからでもファイルを保存し、取り出すことができるAmazonのストレージです。Amazonが提供する、拡張性、信頼性、高速性、安価性に優れたストレージになります。ファイルの保存と取り出しのための使いやすい開発キットを…

Goで、json.UnmarshalとMarshalとエンコード

Golangの、UnmarshalとMarshalについて解説してみたいと思います。 ネットワーク越しで、取ってきたデータをGoの構造体に変換したり、Goの構造体からJSONに変換してデータを送信したりと使用する機会も多いと思うので、是非参考にしていただければと思います…

Go + ginを使って簡単なAPIを作る

Goのフレームワークである、ginを使って簡易的なAPIを作成していきたいと思います。 ginとは ginは、Goで書かれたWebアプリケーションフレームワークになります。 高速なパフォーマンス、ミドルウェアが充実、JSONのリクエストのバリデーション、ルーティン…

GoでTCP サーバ/クライアントを動かしてみた

Goを使って、TCP通信でサーバー⇄クライアント間でTCP通信を行なっていきたいと思います。 Goにには、標準でnetパッケージというものが用意されているので今回はこちらを使用します。 TCPとは TCPとは、信頼性の高い通信を実現するために使用されるプロトコル…

Goで静的ファイルを読み込む方法

前回、フレームワークを使わずにGolangの機能のみで、簡易的なアプリケーションを作成しました。 今回は続きで、CSSやjsを適用したいので、CSSやJavaScriptなどの静的ファイルを読み込めるようにしたいと思います。 以下、ディレクトリ、ファイルを追加しま…

GoでWebサーバーを構築

Goで、フレームワークを使わなくてもサーバーを構築してアプリ開発することができます。 Goの機能のみを使って、簡易的なアプリを作ってみたいと思います。 プロジェクト作成 $ mkdir list-app $ touch server.go net/httpパッケージ HTTPを扱うパッケージで…

GitHub運用

私の勤めている会社では、GitHub運用にgit-flow。Issueドリブン開発を採用しています。 gitは開発する上で、とても重要な概念なので自分自身の理解と整理のために、git-flow、Issueドリブン、ブランチの命名規則などについてまとめてみました。 git-flow 正…