【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を同時に動かす

【GO】ginで作ったWEBサービスを利用可能にする

LinuxサーバーでWEBアプリを公開する際のメモ。

単体で公開したり、ポートを分けて公開したり、サブディレクトリで公開したり。

続きを読む 【GO】ginで作ったWEBサービスを利用可能にする

【GO】タイムアウトや定期実行処理

golangで定期処理などを書きたくなったのでどうやって書くか考えます。

とりあえずtimeパッケージかcontextパッケージあたりを使うと良さそうなので2つとも使ってみます。

続きを読む 【GO】タイムアウトや定期実行処理

【GO】fmt.Printf関数で配列の中身をフォーマットする

配列の中身つ1つに対してPrintf系のフォーマットにかけることを考えます。

さらにそれを利用して独自のSprintf関数を作ったりしてみる。

続きを読む 【GO】fmt.Printf関数で配列の中身をフォーマットする