Simple minds think alike

より多くの可能性を

2021-01-01から1ヶ月間の記事一覧

Go Language Specification 輪読会の感想と学んだこと(型アサーション、スライス式)

先日、初めてGo Language Specification 輪読会 (#14) 2021/1/27開催に参加した感想と、型アサーションとスライス式に関して学んだことを書いてみたいと思います。 Go Language Specification 輪読会に参加した感想 The Go Programming Language Specificati…

【Golang】ポインタの値で把握するスライスの挙動 ( スライス式 / copy / append ) について

前回のスライスと配列の特徴、違いについての記事に引き続き、今回はスライスの様々な操作の挙動に関して整理していきます。 simple-minds-think-alike.hatenablog.com 新しいメモリ領域の確保は比較的重い処理なので、できるだけ行われないように工夫してプ…

【Golang】スライスと配列の特徴、違いについて

スライスはGo言語の中でもっとも利用されるデータ構造だと思いますが、挙動が複雑で仕様を把握するのが難しく、利用頻度が高いがゆえによく分からず使っているとパフォーマンスの低下を招き易い機能と言えるかと思います。 スライス及び配列の特徴を把握する…

【Golang】正規表現チェックツールRegoについて

Go言語で正規表現のコードを書く際に、どういう表現ができるんだっけ?と思う時がありますよね。 Ruby(Ruby on Rails)の正規表現のコードを書く際はRubularというツールを使う方は多いと思いますが、Golangでも同じようなRegoという正規表現チェックツールが…

【Golang】golang-migrateでDBマイグレーションをする

Go言語で実装したWebアプリケーションサイトのDBマイグレーションツールとしてgolang-migrate/migrateを使っていて、そこそこ便利につかえているので紹介してみたいと思います。

Goのインタフェースを使って、共通のメソッド・属性を持つ構造体を作る

以前Goで開発をしている時に、インタフェースと構造体の理解が曖昧でハマることがあったので、理解を深めるためのサンプルコードを書いてみました。 要件 サンプルコードは、掃除機の共通のインタフェース(操作) ①電源を入れる(TrunOn) ②電源を切る(TrunOf…

PostgreSQL10 から PostgreSQL12 へのアップグレード手順(pg_upgrade)

古いPostgreSQLのバージョンがインストールされている開発マシンがあったので、pg_upgradeの公式ドキュメントを参考に、PostgreSQL10.15 から PostgreSQL12.5 に移行してみました。 ドキュメントに よると pg_upgradeは8.4.X以降から現時点のPostgreSQLのメ…

【React hooks】"Warning: Can't perform a React state update on an unmounted component."の止め方

React hooksで実装したSPAアプリをChromeで動かした際に、以下のWarningが表示されていたので対処してみました。 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your applic…