エンジニアはこわくない

自分の好きな音楽とか雑記とかエンジニアっぽい内容を好きなように書く場所。

プログラム

aws-cliを使ってs3のバケット間同期をしてみる

みなさんのプロジェクトではs3を使用していますか? 画像や音声などをs3で管理しているプロジェクトも多いと思います。 僕がいま所属しているプロジェクトでもs3を使用していて そのときにバケット間同期をする必要があり、aws-cliを使って同期しています。 …

golangでvetコマンドやtestコマンドを実行したときにvendorディレクトリを除外する方法

下記の記事で書いたように、golangでディレクトリ(プロジェクト)をまるごとvetやtestしていると、たまに困ったことが起きるようになりました。 tsujitaku50.hatenablog.com それは 「ディレクトリ(プロジェクト)をまるごとvetやtestしていると、vendorディレ…

golangのmutexはポインタで渡すようにしよう

タイトルの通りなのですが ある時、golangを書いていてvetコマンドを実行したときに警告が表示されました。 その警告を見て「へーそうなんだ」と思ったので今回はそれについて少し書きたいと思います。

golangでディレクトリまるごとgo vet&testしたいとき!

golangを書いているとコード担保のために go testコマンドやgo vetコマンドをしますよね?? 僕はjenkinsで自動テストをしているのですが、そのときにディレクトリ(プロジェクト)まるごと go testコマンドやgo vetコマンドしたいときってどうするんだ? と思…

MySQLをHomebrewでインストールする(Mac版)

新しいMacに変えたのでローカルにMySQLをインストールする必要が出てきました。 そのときにbrewでインストールすると2分くらいでインストールが完了したので、今日はそのことを書きたいと思います。

golangのインターフェースが本当に少しだけ理解できたかもしれない。これがポリモーフィズムなのか?

こんにちは、つじたく(@Tsuji_Taku50)です。 先日こんな記事を書きました。 tsujitaku50.hatenablog.com 今もこの気持は変わってません笑。 やっぱりgolangのインタフェース機能を使いこなせる気がしませんが、少しだけインタフェースの使い所が分かったよ…

golangのlog.Printlnとfmt.Printlnって何が違うんだ?と唐突に思った

こんにちは、つじたく(@Tsuji_Taku50)です。 いつもどおりgolangを書いたり勉強したりしていたのですが、 個人でgolangを書いているとデバック出力のためにfmt.Printlnと使っていました。 ただgolangにはlogパッケージが存在しています。 あれ、そういえば…

IBM WatsonのAPIガイドラインを読んでREADME部分を翻訳してみました

こんにちは、つじたく(@Tsuji_Taku50)です。 Watson Developer Cloud · GitHubを眺めていると、WatsonのApi Guidelinesがリポジトリとしては存在していたので 主にREADMEの部分をGoogle翻訳と自分なりに意訳してみました。 README部分の全ての訳したわけで…

GithubのEarlyAccessプログラムに登録しました

こんにちは、つじたく(@Tsuji_Taku50)です。 面白そうだったのでGithubのEarlyAccessプログラムに参加しました。 EarlyAccessプログラムとは Early Accessリリースでは、GitHub Platformの新機能や機能の初期段階の洞察が得られます。これらは、あなたの方…

golangのインターフェースがイマイチ理解できず泣きそう

こんにちは、つじたく(@Tsuji_Taku50)です。 golangのインターフェースについて自分の理解が及ばず泣きそうです。 使いこなせればめちゃくちゃ便利なんでしょうが、理解できない人にとっては使いどころが分かりません。

IBM Watson Summit 2017が面白かったので少しだけまとめた

こんにちは、つじたく(@Tsuji_Taku50)です。 先日「IBM Watson Summit 2017」というものがあり、LIVE配信動画を見ていて「IBM Watson面白いな〜」と思ったので 少しまとめてみようと思いました。 そのときのツイート↓ IBM Watson Summit 2017のライブ配信…

goxのクロスコンパイルでビルド時にエラーが表示されて少しハマった

こんにちは、つじたく(@Tsuji_Taku50)です。 先日こんな記事を書きました。 tsujitaku50.hatenablog.com このgoxライブラリを使っていると、エラーが表示されてビルド出来ない!なんてことが起こりました。 解決するまでに少し時間がかかったので、今日は…

itamaeを使うにあたって参考になった記事まとめ

こんにちは、つじたく(@Tsuji_Taku50)です。 環境構築のツールとして会社ではAnsibleを使っているのです。 ただ個人で使う場合にはAnsibleはちょっと多機能すぎるかな。。。と思っていました。 こんな多機能じゃなくていいから、もうちょっとシンプルなツ…

AWSCloudFormationでElastic IP(固定IP)付きのEC2インスタンスを作成する

こんにちは、つじたく(@Tsuji_Taku50)です。 AWSCloudFormationでElastic IP(固定IP)付きのEC2インスタンスを作成したので そのサンプルコードを載せようと思います。

Circleci2.0でローカルにインストール可能なので挙動調査してみました

こんにちは、つじたく(@Tsuji_Taku50)です。 circleci2.0になってローカルにcircleciをインストールできるようになりましたね! これでcircleciのビルドを確認するたびにリポジトリにpushする必要がなくなりました! 感激!

GCPを使ったサービス構成図を作成するときには公式アイコンを使うといい

こんにちは、つじたく(@Tsuji_Taku50)です。 先日GCPを使ったサービスを想定して、構成図を考えて発表するということをやってきました。 その際に構成図に使用できるGoogle公式アイコンがあったので紹介します。

全てのgitブランチを取得したいならfor-each-refコマンドが使えるかも

こんにちは、つじたく(@Tsuji_Taku50)です。 gitコマンドを使ってみてfor-each-refコマンドという存在をこの前初めて知って、たまにしか使わないけど 知っておけば便利だなと思ったので紹介したいと思います。

golangでクロスコンパイルするならgoxライブラリを使うと便利!

こんにちは、つじたく(@Tsuji_Taku50)です。 golangはクロスコンパイルできることが魅力の1つですが、 いかんせんコマンドが長くなる&複雑になりがちです。 そこで今回はgolangでクロスコンパイルを簡単にしてくれるライブラリを見つけたので、紹介します…

git logコマンドでログを確認する時には--name-statusオプションを付けたほうが良いかも?

こんにちは、つじたく(@Tsuji_Taku50)です。 git logコマンドでログを確認するときには、–name-statusオプションを付ければ、詳細を見れることに気づいたので それについて紹介したいと思います。

connpassAPIを使いやすくするライブラリをgolangで作った

こんにちは、つじたく(@Tsuji_Taku50)です。 golangでconnpassAPIを使いやすくするためのライブラリを 作成したので紹介します。 ※使いやすくというのは、あくまで個人的なので人によっては使いにくいだったりがあると思いますorz。

gcloudコマンドでGCPプロジェクトの切り替え方法

こんにちは、つじたく(@Tsuji_Taku50)です。 gcloudコマンドでGCPプロジェクトを切り替えようと思ったら、毎回忘れてググることになっているので ここに備忘録として書いておきます。

Githubでタグを指定してpushを分割する

こんにちは、つじたく(@Tsuji_Taku50)です。 Github関連の作業をしているときに 2GB以上のサイズをpushしようとすると、以下のようなエラーが出ました。 (いや、そもそもそんなサイズをpushするなという声はごもっともなのですが泣) Writing objects: 81% …

GoogleComputeEngineでインスタンスにファイル送信する

こんにちは、つじたく(@Tsuji_Taku50)です。 GoogleComputeEngineを使っていて、インスタンスにファイル送信したいなと思ったのですが 方法が分からなかったので、調べました!

opensslコマンドでランダム文字列を生成の凄いところを3つ挙げてみる

こんにちは、つじたく(@Tsuji_Taku50)です。 この前パスワードを決めるためにランダム文字列を生成したかったのですが 「どこかランダム文字列を生成するサイトを利用しようかな」と思っていました。 ただopensslコマンドという便利なコマンドがあったので…

findコマンドでシンボリックリンクを検索する方法

こんにちは、つじたく(@Tsuji_Taku50)です。 よく使用するコマンドの1つにfindコマンドがあるのですが、 findコマンドでシンボリックリンクを探す場合、どうするんだっけ?となったので調べました。

Ansibleで長時間の処理時に反応が返ってこない問題の解決法

こんにちは、つじたく(@Tsuji_Taku50)です。 この前Ansibleを使用している時に 「わりと重い処理(長時間掛かる処理)を実行するとAnsibleから反応が返ってこない」問題が起こりました。 それについての対処法を書きたいと思います。

CircleCIが1コンテナ分無料で使えるので使ってみてもいいかもしれない

こんにちは、つじたく(@Tsuji_Taku50)です。 個人でCircleCIを使いたいなと思いCircleCIを調べていると、1コンテナ分が無料!ということを知りました。 1コンテナ分無料なら、個人だと困らずに使えますね! CircleCIさん太っ腹。

AnsibleでJava1.8をインストールする方法②

こんにちは、つじたく(@Tsuji_Taku50)です。 前回に続いてAnsibleでJavaをインストールする方法を紹介したいと思います。 前回はyumでJavaをインストールする内容でした。↓ tsujitaku50.hatenablog.com 今回はyumとは違う方法で、Javaをインストールします…

AnsibleでJava1.8をインストールする方法①

こんにちは、つじたく(@Tsuji_Taku50)です。 最近業務で構成管理ツールのAnsibleを使っているのですが、 Ansibleを使ってjavaをインストールする方法を調べたので紹介したいと思います。 (Javaをインストールなんて皆やってるだろうと思って調べたら意外に…

セキュリティグループ付きのEC2インスタンスをcloudformationで作成する

こんにちは、つじたく(@Tsuji_Taku50)です。 今回はcloudformationを利用して、sshで接続できるEC2インスタンスを作成しました。 cloudformationについて前にブログで書いたので、そちらを御覧ください。 tsujitaku50.hatenablog.com 今回もyamlで書きまし…