サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
tanksuzuki.com
Go1.11から、goコマンドにバージョン管理機能が試験的に導入される予定です。 Go1.12から正式サポートを目指しており、現在はプロトタイプ版としてvgoコマンドを使用することができます。 vgoは従来のdepとは異なるアプローチでバージョン管理を行います。 本記事は、vgoによって変更が発生するポイントについてまとめたものです。 vgoの詳細はこちらから確認できます。 https://research.swtch.com/vgo 依存関係の解決はbuild時に行う ビルドはvgo buildで行います。 vgo buildの実行時に未知のimportを検出すると、その最新バージョンを取得します。 個別にvgo getする必要はありません(することもできます)。 $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding
Go Advent Calender 2017(その4)の11日目の記事です。 Golangの並行処理では、共有リソースにアクセスする場合は競合が発生しないようにロックを用意する必要がある。 例えば、標準のmapはgoroutine safeではない。Write同士が競合した場合や、Write中のReadが発生するとPanicを起こしてしまう。 そのため、従来はmapとmutexを併用することでロックを用意し、複数goroutineから安全にアクセスできるようにする必要があった。 Go1.9ではsync.Mapが標準パッケージとなり、自身でRWMutexを備えたマップを書くことなく、ロック付きのマップを使用することができる。 どのように使うか 以下コードの通り(Playground)。 package main import ( "fmt" "sync" ) func main() { /
Dockerについて色々記事を書いてきましたが、裏側の動作については「上手いことやってくれてるんでしょ状態」だったので、ちゃんと調べてみることにしました。 この記事では、ファイルシステムまわりについてまとめています。 イメージは差分の集まり Dockerのイメージは複数のレイヤが重なって構成されています。 レイヤとは、 docker run でコンテナを立ち上げてから docker commit でイメージ化するまでの間に発生した、ファイルの差分のことです。 引用元: Docker Documentation 上の図で例えると、Debianのベースイメージを元に emacsを追加した Apacheを追加した という差分が重なることでイメージが構成されています。 差分の管理方法 DockerはAUFS等のファイルシステムを使って、差分イメージを実現しています。 AUFSについては こちらの解
Dockerで動かしているコンテナ上でcron(やsshd)を使おうとすると、PAMに引っかかってタスクが実行されません。 ネットで調べるとPAMの設定ファイルを変更する方法は出てくるのですが、そもそもPAMに引っかかる理由について言及しているケースがなかったので、自分で書きます。 事象の内容 このページを見ている方は既にご存知かと思いますが念のため。 コンテナでCronを起動すると、タスクの実行時にこんなエラーを吐いて実行されません。 cat /var/log/cron Jul 16 05:26:01 badc11b5db52 crond[52]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session) cat /var/log/secure Ju
Ansibleで設定ファイルを書き換える時に使うモジュールを紹介します。 パターンとしては5種類が考えられます。 それぞれ特徴があるので、状況に応じて使い分けするのが良いと思います。 モジュール名 特徴
担当している案件で1コンテナで2サービスを動かす可能性があるので検証してみます。 本当は1コンテナ1サービスが理想ですが、無理に分解した結果わかりづらくなって人間が苦しむようじゃ本末転倒ですので、Supervisordを使って2サービス起動します。 ※CentOS6.6で試してます。 コンテナを起動してsshdとhttpdを入れる 普通にコンテナを起動します。 ベースイメージはcentos:6を使いました。 また、sshdとhttpdの動作確認をしたいので、あらかじめポートを開放しておきます。 docker run -it -p 10022:22 -p 8080:80 --name svd-base centos:6 コンテナにsshdとhttpdを入れます。 yum install -y openssh openssh-server httpd rootのパスワードを設定してsshdの設
Docker Hubはパブリックなリポジトリなので、社内限りの情報など外部公開できないイメージを管理する場合はプライベートなリポジトリを使う必要があります。サービスとして提供されているプライベートリポジトリを使う方法もありますが、今回はDocker Registryを使って自分の環境にリポジトリを構築してみます。 ※Docker Hubは、無料アカウントで1リポジトリまで使用可能。それ以上は有料プランになります。 プライベートリポジトリの種類 記事執筆時点では、下記のサービスでプライベートリポジトリを使用することができます(漏れがあったら教えてください)。 CoreOS Enterprise Registry Quay.io Google Container Registry(現時点ではベータ) Docker Registry 上記の中で、Docker Registryだけはサービスではあ
費用はかかるものの、実用における必要な機能が追加されたイメージですかね。 個人的には、認証機能が標準で搭載されたところが大きいです。 Docker Registryの場合はnginxも追加したりとか、色々やらないといけなかったので。 Docker Registryの方に興味がある方は、Docker Registryでプライベートなリポジトリを立てるをご確認ください。 今回の検証環境 AWSで環境を作ります。インスタンスは3つ使用します。 CentOS7.1 DTR用 CentOS7.1 push/pullテスト用 Windows2012 AD用 AWSであれば、DTRのAMIがあるので上記1の構築はとても楽です。 簡単に済ませてしまっても良いのですが、せっかくなので自力で作ってみます。 2015年7月26日現在、DTRのAMIはUSリージョン限定です。 LDAP連携用のADを立てる LDA
Hugoでブログを作ってみる 第二部です。 第二部では、Github Pagesへファイルをアップロードし、公開する方法を紹介します。 GitHubへ未登録であれば、無料ですのでアカウント登録をお願いします。 Hugoでブログ作成 第一部:Hugoでブログを作る Hugoを使うメリットの紹介と、ブログの作り方を説明します。 Hugoでブログ作成 第二部:GitHub Pages+独自ドメインでブログを公開する ←今ココ Hugoで作ったサイトをGitHub Pages上で公開します。 GitHub Pagesで独自ドメインを使う方法を紹介します。 必要なリポジトリを作る GitHub Pagesで公開するリポジトリを作ります。 リポジトリ名は決められていて、<usrname>.github.ioです。 私の場合はリポジトリ名がtanksuzuki.github.ioとなり、公開URLはht
このブログは当初Wordpressで作っていたのですが(と言っても記事は少ないけど)、静的サイトジェネレータのHugoに乗り換えました。 本記事ではHugoでブログを作る方法と、気持よく運用していくためのTipsを書いています。 公式サイト:Hugo :: A fast and modern static website engine 今、とても幸せです。 操作がローカルのCLIで完結するので、もっさりしたWeb管理画面から解放された。 データベースやPHP不要。サーバはHTMLが置ければOK。 記事がテキストファイル(Markdown)なので、バージョン管理やバックアップが楽。 公開するのは静的なHTMLだけなので、セキュリティを神経質に考える必要がなくなった。 要は、運用が圧倒的に楽になりました。 この記事では2部構成で、Hugoの基本操作、GitHub Pagesでの公開、独自ドメイ
Weaveを使ってコンテナ間の通信をしてみます。 Weaveとは、Weaveworksが開発しているコンテナ間ネットワークを構築するソフトウェアです。 複数のホスト間で仮想ネットワーク(オーバーレイネットワーク)を構築するアプローチで通信を実現します。 weaveworks/weaveから引用 構成 今回の検証は、Amazon Linuxを4台使います。 前提条件: AMIはAmazon Linux AMI 2015.03 (HVM) Dockerのバージョンはv1.6 Weaveのバージョンはv0.10.0 登場人物は下記の通りです。 ホストA: 172.31.10.26 /16 コンテナa1(ubuntu): 10.0.1.1 /24 コンテナa2(ubuntu): 10.0.2.1 /24 ホストB: 172.31.1.190 /16 コンテナb1(ubuntu): 10.0.1.2
先日記事に書きましたが、WordpressからHugoへの乗り換えにあたりテーマを作りました。 使い方とかは全部ここに載せてますが、一応ブログでも紹介しようかと。 ちなみに、Angel’s Ladderというのは、雲の間から強い光が出てくるやつのことです。 白とグレーベースに、1色だけ差し色を入れる配色なので。 意外とあっさり本家にマージしてもらえたので、テーマ作れる人は作ってみても面白いと思います。 テーマ作成時のルールはテーマカタログのREADMEにあります。 テーマの特徴 テーマの特徴は下記の通りです。 シンプルなデザイン レスポンシブデザイン ページネーション対応 投稿へのタグ付け対応 Disqusでのコメント対応 highlight.jsでのコードハイライト Google Analytics対応 スクリーンショット ほとんどこのサイトと同じですが、GitHub上のREADME.m
もはや無視できない存在になってきたDocker、操作できますか? 本記事は、仮想化技術はある程度知ってるけどDockerは使ったことが無い…という方を対象に、チュートリアル形式で基本操作をまとめたものです。 Dockerって何? Docker(ドッカー)とは、Docker社が開発しているオープンソースのコンテナ型仮想化ソフトのことです。 Docker - Build, Ship, and Run Any App, Anywhere みなさんご存知の通り、Dockerが誕生する前から多くの仮想化用の製品がありました。 VMWare、Xen、Hyper-Vなどなど、様々なものがあります。 これらの製品は、アプリケーションレベルで仮想化する方式(例:VMWare Player)や、ハイパーバイザによる仮想化(例:VMWare ESXi)が主流です。 しかし、Dockerは従来の製品とは根本的に異
みなさん、Atom使ってますか? 私はブログをMarkdown記法で書いています。 Atomでは標準でMarkdownのプレビューができるのですが、フォントが中華風味になっていたり余白がイケてなかったりと気になるポイントがあるので修正してみます。 私が使っているAtomのバージョンは0.192.0 (0.192.0)です。 ユーザスタイルシートを開く AtomはChromium(Google Chromeの派生元)ベースで作られており、乱暴な言い方をするとエディタっぽいブラウザです。 なので、見た目の変更はスタイルシート(LESS)で行います。 Ctrl + ,で設定画面を開きます。 ThemesのChoose a Theme下にあるyour stylesheetをクリックしましょう。 表示されたstyles.lessをこれから編集します。 styles.lessはユーザが自由に定義でき
このページを最初にブックマークしてみませんか?
『TANKSUZUKI.COM』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く