web-technical-blog

web開発に関する技術メモ

Windows7 64bit版でGo言語のクロスコンパイルを試す

環境

C:\lib\src\awesomeProject>go version
go version go1.8.3 windows/amd64
C:\lib\src\awesomeProject>go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\lib
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
・・・省略・・・

Goでクロスコンパイル

set GOOS=linux
set GOARCH=amd64
go build -o hello hello.go

VSCのmarkdownでPDFを印刷する際のメモ

<div style="page-break-before:always"></div>

CentOS7にPostgreSQLをインストールする&COPYコマンドについて

ameblo.jp

COPYコマンドは以下の通りファイル経由はスーパーユーザーである必要がある

ERROR:  ファイル経由のCOPY FROM、COPY TOを行うにはスーパーユーザでなければなりません
HINT:  標準入出力経由のCOPYは誰でも実行可能です。またpsqlの\\copyも誰でも実行できます

以下のように「\」コマンドを付与しないとエラーになるので注意

\COPY dl_passbook FROM '/home/ope/xxx.csv' WITH CSV;

GoビギナーズLT大会! 「最近、Go言語始めました」の会 #4

GoビギナーズLT大会! 「最近、Go言語始めました」の会 #4

ハッシュタグ:#golangjp

開催日:2017.10.24(火) 19:00 〜21:00

会場:株式会社メルカリ

URL:https://go-beginners.connpass.com/event/64866/


イベント概要

  • Go言語入門者のLT大会&懇親会
  • 最近Goにハマってきた方、これからGo言語を深めていこうという方
  • 「Go言語のここがよかった」「ここが好きになった」「ここがひっかかりやすい」など、Go言語を始めるにあたっての知識を共有する

よく聞かれる3つの質問

  • 1.GOPATHはどこに設定したらいい?
  • 2.エディタは何を使う?
  • 3.パッケージ管理とか何を使う?

1.GOPATHはどこに設定したらいい?

Go1.8からは$HOME/goを使うように最初から設定されている

$ go env GOPATH
/Users/121799/go
  • 明示的に設定した方がわかりやすい
$ export GOPATH=$HOME/go
$ echo $GOPATH
/Users/121799/go

2.パッケージ管理には何を使う

今はglideが主流みたい

  • npm,gemみたいな動き
  • glideを使うときはGOPTAHに注意! GOPATH/src配下にプロジェクトがないと動かない

公式ツール、dep

  • Go1.8以降で使用できる
  • まだ開発途上。今後大きな変更があるかも

GOPATH/src配下で作業するのが嫌だったらdirenvを使うといい


「Glide」のメリット

1.YAMLで書ける

  • シンプルで強力なYAML記法
  • Glideは、依存関係の定義ファイルをYAMLで記述
  • GodepなどはJSONが採用されている
  • RubyのGemfileにインスパイアされたGomの「Gomfile」フォーマットなどもある

    2.必要最低限の機能がシンプルにまとまっている

  • Glideは必要最低限の機能だけをごくシンプルに提供している

    参考URL


3.エディタは何を使う?

Vim

  • vim-goが強力
  • 著名なGopherが使用している

GoGland

  • GoのためのIDE。現在EAP(β版)
  • メソッドジャンプが強力

Visual Studio Code


3.エディタは何を使う?

保存時に自動でimport,fmtする設定はMust

  • メソッドジャンプ、デバッガー、自動補完を求めるなら、GoGlandかVisual Studio Code
    • vim-goは自動補完の設定は大変...

番外:Goの何がそんなに好きなんですか

低レイヤーを学べるところ

答えがあるので戦争が起きにくいところ

  • コーディングルール、フォーマット

Goコミュニティは優しい


資料

reveal.jsでPDFにする方法

markdown記法で書くときは以下のようにする

<div class="reveal">
    <div class="slides">
        <section data-markdown>
            ## Markdown support1
            Write content using inline or external Markdown.
            Instructions and more info available in the [readme](https://github.com/hakimel/reveal.js#markdown).    
        </section>
        <section data-markdown>
            ## Markdown support2
            
            Write content using inline or external Markdown.
            Instructions and more info available in the [readme](https://github.com/hakimel/reveal.js#markdown).
        </section>
    </div>
</div>

URLにprint-pdfを付与する

  • 以下のような感じにする

    • file:///Users/xxxx/Desktop/reveal.js-master/index.html?print-pdf
  • 印刷プレビュー

    • command + p
    • 余白:なし
    • オプション:「背景のグラフィック」にチェックする

CentOS7にRedashをインストールする

作業環境

  • CentOS7.4
  • git 1.8.3

Docker + Docker COmposeのインストール

  • Dockerのコンテナ上で起動させるので、Dockerをインストールする

Kernelのバージョンを確認

  • CentOS7にDockerをインストールにするにはKernelが3.10以上でないといけない
$ uname -r
3.10.0-693.5.2.el7.x86_64

Dockerのインストール

  • rootユーザーに変更
$ sudo su -
  • 下記コマンドでDockerのインストール
curl -fsSL https://get.docker.com/ | sh
  • Dockerのバージョン確認
# docker --version
Docker version 17.10.0-ce, build f4ffd25
  • Dockerの起動
# service docker start
Redirecting to /bin/systemctl start docker.service
# chkconfig docker on
Note: Forwarding request to 'systemctl enable docker.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

Docker Composeのインストール

  • Re:dash は Docker コンテナの管理を Docker Compose で行っているので、Docker Compose もインストールします。
# curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
  • Docker Composeのバージョン確認
# docker-compose --version
docker-compose version 1.8.0, build f3628c7

Re:dashのインストール

# git clone https://github.com/getredash/redash.git
# cd redash/
# docker-compose -f docker-compose.production.yml run --rm server create_db
# docker-compose -f docker-compose.production.yml up

Re:dashのURLへアクセスする

http://ip-address

  • Userはユーザー名を登録
  • Emailはメールアドレスを登録
  • Passwordは6文字以上にする
  • Organizaionも登録する

参考URL

http://enomotodev.hatenablog.com/entry/2016/09/12/232300