config.toml に以下を追加
googleAnalytics = "{your tracking code}"
Hugoはgoogle analytics用のテンプレートをすでに用意している。 テンプレートファイルに以下の一行を追加だけで良い。
{{ template "_internal/google_analytics_async.html" . }}
これでビルドすればgoogle analyticsコードが埋め込まれる。
config.toml に以下を追加
googleAnalytics = "{your tracking code}"
Hugoはgoogle analytics用のテンプレートをすでに用意している。 テンプレートファイルに以下の一行を追加だけで良い。
{{ template "_internal/google_analytics_async.html" . }}
これでビルドすればgoogle analyticsコードが埋め込まれる。
適当にdocker コンテナを走らせる。-p で8080ポートを指定。
$ docker run -it --name {container-name} -d -p 8080:8080 {image-name}
docker コンテナ内でphpファイルを作成し、php ビルトインサーバを以下のように動かした。
$ echo "<?php echo 'hoge;" > index.php $ php -S localhost:8080
ブラウザで http://localhost:8080 にアクセスしてみる
見れない。
localhostを0.0.0.0 にしてビルトインサーバを再起動してみる。
$ php -S 0.0.0.0:8080
見れた。 localhost ではなく、0.0.0.0を指定することでアクセスできる。
経歴書、毎回pdf出力して送ったりするの本当にだるいので、もうgithubにあげとこう
— tic40 (@tic40) 2018年2月24日
github pagesを使って自身の経歴を公開するポートフォリオサイトを作ろうと思い立った。 今回、Hugoという静的サイトジェネレータを使って構築したのでその手順を記しておく。
Jekyll と Hugo 両方使ってみてHugoの方が簡単だったのでHugoで構築する。
The world’s fastest framework for building websites.
世界最速
完成イメージはこちら
github に公開用のリポジトリ {USERNAME}.github.io を作成。 https://github.com/tic40/tic40.github.io
プロジェクト用のリポジトリ を作成。名前はなんでもいい https://github.com/tic40/hugo-tic40.github.io
プロジェクト用リポジトリをcloneしておく
hugoをインストールする
$ brew install hugo
$ hugo new site <site name>
$ cd <site name> $ git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke;\ $ echo 'theme = "ananke"' >> config.toml
$ git submodule add -b master git@github.com:{USERNAME}/{USERNAME}.github.io.git public
こうしておくことで、public/ の変更をpush したときに、公開用リポジトリに変更をpushされるようになる。
$ hugo server -D
*-Dオプションをつけるとドラフト状態の投稿も表示されるのでつけておくといい
デフォルトだと、1313ポートでローカルサーバーが立ち上がるので、ブラウザで確認できる。
1コマンドでリリースできるようにスクリプトを作っておく
$ vi deploy.sh #!/bin/bash echo -e "\033[0;32mDeploying updates to GitHub...\033[0m" # Build the project. hugo # if using a theme, replace with `hugo -t <YOURTHEME>` # Go To Public folder cd public # Add changes to git. git add . # Commit changes. msg="rebuilding site `date`" if [ $# -eq 1 ] then msg="$1" fi git commit -m "$msg" # Push source and build repos. git push origin master # Come Back up to the Project Root cd ..
スクリプトに実行権限を付与
$ chmod +x deploy.sh
スクリプトを実行して公開
$ ./deploy.sh
githubにアクセスしてページが表示されればOK
記事ファイルの作成
$ hugo new posts/{title}.md
上記で作成されたファイルを編集して、deploy.shを実行すれば公開される。 *上記で作成した記事は、ドラフト状態(draft: true) になっているため、そのままでは本番に反映されない。公開時は draft: false にしておく
最新の詳しいドキュメントはこちらを参照
3年ぶりにmacを買い替えた。
macbook air 11inch(2014) -> macbook pro 13inch(2017)
13インチなのにサイズがほとんど11インチairと同じだ。ディスプレイもきれいになって、最高という感じ。
せっかくなので、今まであまり使ったことがなかったHomebrewを使ってソフトウェアインストールを自動化してみた。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
移行元のmacで、dumpコマンドを実行しBrewfileを書き出す。
$ brew bundle dump
brewでインストール可能なパッケージはsearch コマンドで検索できる。
$ brew search {name}
書き出されたBrewfileを元に不要なものを削除したり、追加したりして、下のようなBrewfileを作った。
$ cat Brewfile cask_args appdir: "/Applications" tap "homebrew/core" tap "homebrew/bundle" tap "caskroom/cask" brew "vim" brew "zsh" brew "curl" cask "atom" cask "docker" cask "dropbox" cask "evernote" cask "filezilla" cask "firefox" cask "google-chrome" cask "google-drive-file-stream" cask "google-japanese-ime" cask "iterm2" cask "keepassx" cask "mysqlworkbench" cask "skitch" cask "skype" cask "slack" cask "vlc"
上記のBrewfileを移行先PCに置いてbrew bundle を実行する。
$ brew bundle
おしまい
Slackをちゃんと業務で使うために、基本機能まとめる。
大きく4つの種別が存在する。
詳細はこちら Slack メンバーの種別と権限 – Slack
チームとは、Slack を使ってコミュニケートする人たちのグループです。
Slack ワークスペースは、あなたとチームメートがコミュニケートし、仕事を果たすために共有するデジタルスペースです。
ふむ。チームとワークスペースは、意味合い的には同じなのかな。
小〜中規模の企業では、全社員が1つの Slack ワークスペースに所属するケースが多いでしょう。
大規模組織じゃないかぎりは、1つのワークスペース運用のみで事足りるようだ。
ワークスペース内にはいくつもの チャンネルがあり、他のメンバーとの会話のほとんどがこのチャンネルを利用して行われます。
DMはチャンネル内でできない、よりセンシティブな会話をするときのみ使う。
右上の検索ボックスから検索可能。
4つのプランがある。フリー/スタンダード/プラス/Enerprise Grid
フリープランには、以下のような制限がある。運用が以下の制限に引っかかるようであれば、有料プランへ移行した方がいい。
https://slack.com/create#email
https://{workspace name}.slack.com/admin/settings#settings
ワークスペース設定、チーム権限、認証などを設定可能。
https://{workspace name}.slack.com/admin/invites
*使用できる画像にはピクセル幅、ファイルサイズの制限があるので注意。
チャンネルに投稿されたメッセージに対して、直接コメントできる。 一連の会話をまとめることができる。
@のあとに対象を入力することで、その対象に対して通知を送ることができる。
*msg* : 強調 ~msg~ : 取り消し線 _msg_ : 斜体 > : 引用 >>> : 複数行の引用 `code` : コードブロック ```code``` : コードブロック。ブロックで表示する。
/
(slash)の後に特定のコマンドを入力することで様々な機能を実行できる。スラッシュを入力すると、コマンド一覧がサジェストされる。
App Directory から、外部サービスとSlackの連携をさせることができる。
https://{workspace name}.slack.com/apps
googleカレンダー、GitHub、Jira など様々な外部サービスとの連携が用意されている。
slack >>>>> chatwork
Webアプリケーションエンジニア目線で確認しておくべきことのチェックリスト。忘れがちなので書き出してみた。
これぐらいは最低限確認しておくべきだな、と最近感じている。
Dockerは聞いたことあるけど実際に使ったことはない。
チュートリアルを通してDockerでweb serverを立ち上げてみる
コンテナ型の仮想化環境を提供するオープンソースソフトウェアである[3]。VMware製品などの完全仮想化を行うハイパーバイザ型製品と比べて、ディスク使用量は少なく、仮想環境 (インスタンス) 作成や起動は速く、性能劣化がほとんどないという利点を持つ。
ふむ。
An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and config files.
イメージは、コード、ランタイム、ライブラリ、環境変数、設定ファイルなど、ソフトウェアを実行するために必要なすべてを含む軽量でスタンドアロンの実行可能パッケージです。
A container is a runtime instance of an image—what the image becomes in memory when actually executed. It runs completely isolated from the host environment by default, only accessing host files and ports if configured to do so.
コンテナはイメージのランタイムインスタンスです。イメージが実際に実行されたときにメモリに格納されます。デフォルトではホスト環境と完全に分離されており、ホストファイルとポートにアクセスするように設定されている場合にのみアクセスします。
つまりは、イメージ(パッケージ)を使ってコンテナ(実態)を作成するようだ。
Docker for Mac is the best way to get started with Docker on a Mac.
MacでDockerを使う最高の方法らしい。とりあえずこれを使ってDockerを導入してみることにする。
まず以下から、Get Docker for Mac (Stable) をダウンロード&インストール
Install Docker for Mac | Docker Documentation
インストールしたらDocker for Macを起動する
$ docker run -d -p 80:80 --name webserver nginx
http://localhost/ にアクセスして、"Welcome to nginx!" ページが表示されればOK.
$ docker ps docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1d5a3d6f77d9 nginx "nginx -g 'daemon of…" 24 seconds ago Up 24 seconds 0.0.0.0:80->80/tcp webserver
先程起動した、webserver の詳細が表示される。
docker exec -it webserver bash
# 停止する $ docker stop webserver # 再度開始する $ docker start webserver
停止したコンテナは、docker ps
では表示されない。停止したコンテナ詳細を表示する場合は、docker ps -a
で表示する。
停止と削除を同時に行う場合は、docker rm -f webserver
を実行する。このコマンドはコンテナを削除するが、nginx imageは削除しない。docker images
を実行することでローカルイメージのリストを表示できる。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 3f8a4339aadd 2 weeks ago 108MB
イメージを削除する場合は、docker rmi nginx
で削除ができる。