ゴン

GORMデバッグモード

Golang GORM デバッグモード

今回、GORMのデバッグモードについて 今まで、Debug()を使用していたけど、プロダクトの際に全部外すのってめんどくさいなーって思ったのでドキュメント読んだらありました。 今まで 今までは下記のように書いていました。 db.Debugと1個ずつ書くような形です。 func main() { db, err := gorm.Open("postgres", "host=localhost user=**** dbname=**** sslmode=disable passw ...
パラメータ

Golang Ginを使ったパラメータの取得

今回はGinのパラメータを取得方法について書いていきます。 取得するパラメータの種類として、パスの中にあるIDやクエリーストリング、フォームのパラメータについてここでは解説しています。 パスにあるパラメータの取得 URIの中で指定したIDなどのパラメータを取得します。 取得するには、Paramを使って取得します。 router.GET("/:id", Hoge) func Hoge(c *gin.Context) { id := c.Param("id") } ro ...
Golang DB migration

Golang gooseを使ってみる

前回gooseのインストールは完了したので試した見た! とりあえず、作成してみる 作成 $ goose create Hoge open db/dbconf.yml: no such file or directory なるほど、yml形式の設定ファイルを準備しないといけないのか $ mkdir db $ vi db/dbconf.yml ↓dbconf.ymlの中身 development: driver: postgres open: user=gon dbname=gin sslmode=disab ...
Golang Gin Router

Gin routesを使った分散2

前回の続き パッケージが読み込めていない理由がわかった!単純にimportミスだった( ;∀;) import ( "gopkg.in/gin-gonic/gin.v1" "./routes" ) ここで、./routesのところが問題! これを下記に変更するとうまく行った import ( "gopkg.in/gin-gonic/gin.v1" "[src直下に作ったディレクトリ]/routes" ) 構造的にこんな感じ [ ...
Golang ファイル読み込み

Go ファイル読み込み

Golangでファイル読み込み行なってみます。 ファイル作成 ファイルを読み込むためのプログラムを作成します。 package main import ( "fmt" "os" ) const BUFSIZE = 1024 func main() { // ファイルオープン file, err := os.Open(`data/test.txt`) if err != nil { fmt.Print("読み込みエラー") } // クローズ de ...
PHPクロージャ

PHPのクロージャで値の渡し方

クロージャで毎回値の渡し方を忘れるのでメモっと! <?php $b = 'hoge1'; $hoge = function($a) use ($b) { var_dump($a); var_dump($b); }; $hoge('hoge2'); 結果は string(5) "hoge2" string(5) "hoge1" useを使うことで、$bの値をクロージャの中でも使用することができる。 あと、参照渡しもできるみたいだね
GCPコマンド

gcloudコマンド

GCPに60日間の無料期間があったのでやってるんだが gcloudって言うコマンドから使えるっぽいしまとめてみた! GCPの無料トライアルを使うことで90日間の$300ドル分を無料で利用することができます。 以前は、60日でその後1年間だった気がするけど、今は90日になっていますね。 認証 このコマンドを打つとgoogleのログイン画面が出るので認証すると下記のコマンドが使える $ gcloud auth login プロジェクトのセット $ gcloud config set project プロジェク ...
SELinux

selinux DB ポリシー

WordPressが稼働しているサーバをいろいろ弄り回していたら、死亡しちゃいました。 IP変わってアクセスできなくなり、ドメインを再度適用して確認すると今度はDBにアクセスが出来なくなっているのが判明。 修正に結構時間がかかってしまったので、メモしておきます。 原因 原因はSELinuxの設定にありました。 対策 SELinuxについて調べていると、ほかのサイトのほとんどがSELinuxを無効にする対策しか取っていませんでした。 SELinuxってセキュリティ関連だよね? 本当に向こうにしていいの?って ...
PythonのWatchdog

Watchdog インストール

前回、gulp使ってファイルの監視しようと思ったけど、pythonにもあるみたいなのでそれを使ってみる! その名もWatchdog!!! 犬?番犬?ってこと?wってのは置いといてインストール Watchdog インストール いつものようにpipでインストール $ pip install watchdog Installing collected packages: PyYAML, argh, pathtools, watchdog Successfully installed PyYAML-3.12 ar ...
Pythonルール

PEP8 チェック

Python触ってまだ日が浅い為、コーディングルール的なものがあるか調べてみる。するとPEP8なるものがあるので利用してみる。 PEP8のインストール とりあえずpipでインストール開始ついでに、pytestとpytest-pep8なるものもインストール $pip install pep8 pytest pytest-pep8 実行 サンプルコード data = ['aiueo', 'kakikuke', 'sasasa'] for i in data: p ...
JadeでBootstrap

jadeでbootstrap

jadeでbootstrapというかbootstrapすら使ったことがない。 とりあえずダウンロードから始めてみます。ダウンロードはここから 自分はめんどくさいのでwgetで! $ wget https://github.com/twbs/bootstrap/releases/download/v3.3.5/bootstrap-3.3.5-dist.zip そんで展開したら、unzipコマンドで展開。Macだとダブルクリックでも展開できます。 $ unzip bootstrap-3.3.5-dist.zi ...
nodemonを使って自動再起動

node.js forever install

Node.jsを編集するたびに毎回起動とかもうめんどくさ! node.jsのデーモン化することで、毎回再起動しなくて良い。 ということで、Node.jsのライブラリのnodemonをインストールして自動化してみた。 $ npm install -g forever 使い方は簡単です。 下記のコマンドでファイルの編集があったら、自動で起動することができます。 $ forever start app.js これだけで、編集すると再起動しなくても良いので開発の効率があがりますね。