【GO】ginのHTMLテンプレート機能

gin-gonic/ginのHTMLテンプレートの使い方が理解しにくい。

テンプレート本体はtext/templatehtml/templateを見ればいい気がしますが、一見してよくわからなかったので自分用メモ。

続きを読む 【GO】ginのHTMLテンプレート機能

【GO】WebServer覚書き

個人用途の情報収集の出力形式としてWebServerを使いたい。

標準、ルーティングパッケージ(mux)、WEBフレームワークパッケージ(gin)で簡単なサンプルを書いてみながら動作確認します。

続きを読む 【GO】WebServer覚書き

【GO】Modulesで相対パスのパッケージインポート

前回パッケージ管理どうしようかなと考えてModulesを使うことにしました。

以前と同じようにプロジェクト内のパッケージを相対パスで読み込もうとすると、cannot find module for pathエラーになりました。

 

wikiにありますが、モジュール名をルートにしてパスを書くようです。

今回はmicroにしていました。

./apigatewaymicro/apigatewayに変更します。

 

これで問題なくサブパッケージを読み込めました。

【GO】パッケージ管理

GOを触り始めてしばらくすると依存性が気になってきます。

go getはnode.jsでいうと全部npm install -gを使うような感覚がありました。

一人で環境を変えず使う分には問題ないですが、色々と管理を楽にしたいのでパッケージ管理について考えてみます。

※Windows10・Go1.12

続きを読む 【GO】パッケージ管理

【GO】go-kitを使ったマイクロサービス-インストール

時々ちょっとしたツールを書いていてマイクロサービスってどうなんだろと気になりました。最近ハマっているGOで試してみたい。

go-kitはGOでマイクロサービスを書くためのツールキットでIstioを除くと他パッケージの倍ほどのstarがついてます。

https://github.com/go-kit/kit

インストールでいきなり詰まったので今回はそこまでのメモ。

続きを読む 【GO】go-kitを使ったマイクロサービス-インストール

【GO】複数返値をグローバル変数に入れる

グローバル変数に入れたと思ったらローカル変数に入っていてランタイムエラーが起きることがあります。

グローバル変数の扱いと定義・代入の動作が妙に厳しくて多少工夫が必要だったので対策方法のメモ。

続きを読む 【GO】複数返値をグローバル変数に入れる

【GO】SQLite3+GORMを使う

前回DB検討してMySQLを使いましたが、パフォーマンスより楽さが欲しくなってSQLiteを使いたくなりました。

SQLもORMライブラリを使ってひたすら楽してDBを使ってみます。

続きを読む 【GO】SQLite3+GORMを使う

【GO】データベース操作

情報収集と表示用途でデータベースを使ってみます。

データベース選定からGOでテストを動かすまでの備忘録。

実施環境はWindows10(64bit)です。

続きを読む 【GO】データベース操作

【GO】foreverを使った永続化

linuxでプログラムを走らせ続けることを考えるとservice(systemctl)に登録するかと思います。

すでにnode.jsをいくつか走らせているので同じ環境で管理したい。

foreverというnode.jsの永続化をするパッケージを使ってGOを永続化します。

https://github.com/foreverjs/forever

 

続きを読む 【GO】foreverを使った永続化

【GO】goqueryでscriptの変数を取得する

goqueryでHTMLを読み込んでも中身が空の時があります。

agoutiなど使って表示を待ってからとる方法もありますが、メモリなどの関係でブラウザを起動させたくない時にscriptを読み込んで変数を取得することもできます。

APIが用意されておらずwebsocketのみで値更新されていない場合向け。

続きを読む 【GO】goqueryでscriptの変数を取得する