【GO】スライスについて深く考える

なんとなく配列代わりに使ったりするスライス。

ちょっと深堀りしてどんなものか考えてみます。

ちゃんと理解すれば中身が変わったり変わらなかったりで混乱することはないはず。

続きを読む 【GO】スライスについて深く考える

使用中となって操作できないファイルの原因探求

golangで適当なパッケージを作っていて、パッケージをリネームしようとしたらよくあるエラーが発生しました。

「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」

最悪OS再起動でどうにかなりますが頻発すると面倒なので原因を見つける方法を書いておきます。

環境、バージョン情報は以下です。

windows10 go 1.12 Visual Stadio Code 1.36.1 Go for Visual Studio Code 0.11.4

続きを読む 使用中となって操作できないファイルの原因探求

【GO】組み込み関数について(new, make, delete等々)

newmakeを使って変数宣言したりappendを使ってスライスの追加なんかを自然とやってきたけど、ふとこれは何だっけと思って調べてみました。

するとビルトインパッケージとして参照することができた。

ソースを見た感じgodoc用に見えるので中身は説明を読んで使ってみる必要がある。

この辺は知らないと使えないものなのでおさらいしておきます。

続きを読む 【GO】組み込み関数について(new, make, delete等々)

【GO】個人用途のライブラリを管理する

golang開発をする中で公開する予定のない私的なライブラリ(パッケージ)をどう扱うか迷っています。

以前は適当なフォルダにまとめておいて相対パスで読み込んでいましたが、modulesで管理するようになってからはプロジェクト下に置く必要が出てきて使うものを都度コピペしていました。

プロジェクトごとに微妙に違う似たようなパッケージが生産され、そろそろ管理できなそうなのでGithubのプライベートリポジトリで管理する方法を試します。

続きを読む 【GO】個人用途のライブラリを管理する

【GO】ファイルシステムを走査する

特定の場所のフォルダ、ファイル一覧を走査(トラバース)する方法のメモ。

何かしらのファイル加工ツールを作るときに役立つかもしれない。

続きを読む 【GO】ファイルシステムを走査する

Linuxサーバーで自作WEBアプリを管理する

GolangのWebパッケージginを用いて作ったWEBアプリをLinuxサーバーで公開するためのメモ。ポートとかの話の続きです。

今回はアプリ永続化のための部分。

一度実行したらアップデートなどで止めるまで動き続けてくれるようにします。

Linux環境: Ubuntu 16.04.5

続きを読む Linuxサーバーで自作WEBアプリを管理する

【GO】外部パッケージのレシーバ定義

golangではtypeによる型定義とレシーバと呼ばれるメソッド定義ができます。

複数の外部パッケージを同時使用するときなどにレシーバ追加をしたいときがあるんですが、言語規則のためそのままだと追加できません。

基本的なことからおさらいしつつ対策を考えます。

続きを読む 【GO】外部パッケージのレシーバ定義

【GO】WordPress(Apache)とginを同時に動かす

bitnamiのwordpressが動いているサーバーにgolangのWEBサービスを追加します。

アプリ自体は8080ポートで実行してサブディレクトリにマップする形です。

Apacheで他WEBサーバーを動かす場合も同様のやり方で行けると思います。

続きを読む 【GO】WordPress(Apache)とginを同時に動かす