ハトネコエ Web がくしゅうちょう

プログラミングとかAndroid

プログラミング系

ブログをMixed Content対応しつつHTTPS化しました 🎉

今年の4月から、はてなブログのドメインを使用している全ブログが HTTPS 化に対応しました。 (2月の時点ではまだ段階的に提供開始というステータスだった) 対応したいなと思いつつも、 「Mixed Content 対応のためには記事をひとつずつ保存し直してね、て…

Docker Swarm モードはわかりやすい!

Docker Swarm モードのひととおりの流れを解説しています。 Kubernetes に比べ、非常に簡単な方法で、Dockerクラスタの管理ができることがわかると思います。

macOS の再インストールに苦労した話

久しぶりの、設定に苦労した系の日記です。 友人にMacを貸す必要があったため、 MacBook Pro Early 2015 をクリーンインストールしようとしました。 1. macOS Utilities を削除する失敗 Mac は起動時に Command + R を押しっぱなしにすることで OSユーティリ…

マネジメント半年やったので良かったことと改善すべきこと

エンジニアでありながらもマネジメントポジションを経験させていただき、 だいたい半年が経ちました。 前回のマネジメント関連記事がこちら。 これができて良かったなぁ、と自己満足ながら良かったことを振り返りたいと思います。 Good 1: なんでも情報共有 …

【CircleCI 2.0】GitHub Pages へ指定ディレクトリ内だけを push するための config.yml

約2年前に上のような記事を書いたのですが、 いよいよ CircleCI ver.1 も今月をもって廃止ということで、 CircleCI 2.0 向けに書いたものを貼りつけておきます。 1. config.yml の設定 以前と同じように、結果から貼りつける形にしようと思います。 このよう…

Wi-Fiの接続先が変化した際にシェルスクリプトを走らせる(Mac OSX)

すごく稀なユースケースだと思うんですが、 例えば研究室の無線LANに接続しているときだけプロキシ設定を有効にし、それ以外のときは無効にしたい場合を考えます。 通常であれば、研究室のWi-Fiに繋いだら export http_proxy="http://www-proxy.waseda.jp:80…

DiscordのbotをRubyで簡単に作成したのでコード晒します

同僚と松屋で食べてたら盛り上がって、 Discord の部屋を立てました。 Slackと違ってアプリ連携できないよな〜と思ってたら bot は作れると知ったので「よっしゃ! 作るしかない!」と Ruby で作りました。 1. 完成形 こんなものができました。 2. 必要なも…

エンジニアマネージャーに必要なことってなんだろう?

最近、ありがたいことにチームリーダーをやらせてもらっているのですが、 経験が無いのでどうすればいいのか手探りでやっています。 今後どうしていけばいいのか、 今の時点で得られていることを頭の整理としてまとめておきたいと思います。 インプットを続…

Googleスプレッドシートでセルの文字列の文字列結合(IFの活用)

スプレッドシート関数の書き方わからなくて困ること多いのでメモ。 こんなふうに、右の列に "/releases" と文字列をくっつけた行が続く場合には関数で書きたい。 文字列の結合は & で書ける。 なので、C2 には =B2&"/releases" と書けばいい。 ただ、これで…

Datadog のメモリ監視に関するダッシュボード設定

「君のアカウント、試用版だから有料版にアップグレードするか無料版にダウングレードするかしないと消すね」 と Datadog から警告が来たので、もし設定しなおす場合の参考用に。 1. メモリを used, buffers, cached, free の分け方で見る場合 free コマンド…

CygWin 環境に nokogiri , ffi, mysql2 をインストールできるようになるまで

Windows で Rails アプリを動かしたくて CygWin で bundle install したら nokogiri で止まってしまうので、必要なものをまとめた。 なお、 Windows 10 64bit 環境に CygWin64 をインストール、 apt-cyg mirror には http://cygwin.mirror.constant.com/ を…

ちょっとしたWindows向けウィルスをPythonで作ろう

プログラマーはたまに「ハッカー」と呼ばれることなんてあります。 ハッカーって言葉のイメージと言えばウィルスです。 そうだ、ウィルスを作ろう! これが今回のテーマです。 と言っても悪いことしたら捕まってしまうので、 友達にメールでexeファイルを送…

letsencrypt renew 後に nginx restart が必要

久しぶりにメモ。 自分で管理してるサイトにアクセスしようとしたら SSL証明書の有効期限切れエラーを見ることに。 で、なんか設定忘れてるのでは、という気がして他の人の renew のやり方見ていたら、(Let's Encrypt で Nginx にSSLを設定する - Qiita) …

エンジニアが辞めない組織について本気出して考えてみた

いつもは技術系の記事ばかりですが、最近ビジネス書を読んで「なるほどなー」と思ったので、 エンジニアが居続けてくれる組織についてあれこれ考えてみます。 読んだ本↓ 辞めない採用、即戦力の育成で儲かる会社になる!作者: 小山昇出版社/メーカー: あさ出…

プログラマのための数学LT会 2! 開催しました

プログラマのための数学LT会 2! ふたたび主催やらせていただきました! 『プログラマのための数学LT会 2!』 です。 https://techplay.jp/event/624044 場所は dots. あらため TECH PLAY さんで開催させていただきました。 2回目ですが、1回目開催の時は開催…

Ansibleで、サーバー上の特定ディレクトリにあるファイル名一覧を取得する

個人のサーバーでgit運用したくて、Gitbucket を立ててるんです。 それで、この前 Gitbucket の更新をするときにプラグインファイルも更新をかけたのですが、 困ったことに、プラグインをダウンロードするだけのAnsibleタスクだと 古いバージョンのプラグイ…

ヤバイサイトのセキュリティはどれだけヤバイのか検証してみた

1. 前置き 先日、このツイートがエンジニア界隈でちょっとだけ話題になりました。 https://twitter.com/ymotongpoo/status/866929418073120769 事の発端は、このツイートにあります。 https://twitter.com/e_Traning_html5/status/866677588315447297 WebRTC…

git利用者に贈る、Subversionがダメな理由

このブログを始めてからだいたい2年が経ちました。 2年前はどんな記事を書いてみたのかと見てみると……これですね。 このときはプログラミング始めたてで、まずは git の使い方を覚えようとしていたようです。このように、ここ数年でプログラミングを始める…

DataDog に Ansible を連携させる ansible-datadog-callback の使い方

DataDog の Ansible Integration が上手く動作しなくて頭を抱えました。 Configuration をよく読むと、 ansible-datadog-callback を入れなさい、と書いてあります。 なるほど、と設定しようとするもどこに何を置けばいいのかわからず困りました。 ローカル…

Ansible で、コマンドが存在するかどうかで処理を変える方法

冪等性(べきとうせい)を考えて、 パッケージ(コマンド)を apt で初めてインストールするときだけ処理をしたい。 という要望が自分の中で湧いてきて、さてどうしようと調べるも、なかなか出てこない。 「already installed ansible」とGoogle検索かけたら…

続・SMF ( Standard MIDI File ) Format1 のバイナリを読んでみた

前回の記事の続きです。↓前回の記事 4D 54 68 64 00 00 00 06 00 01 00 02 03 C0 4D 54 72 6B 00 00 00 17 00 FF 03 00 00 FF 51 03 06 8A 1B 00 FF 58 04 04 02 18 08 00 FF 2F 00 4D 54 72 6B 00 00 00 2B 00 FF 03 00 00 FF 21 01 00 00 B0 79 00 00 B0 0…

SMF ( Standard MIDI File ) Format1 のバイナリを読んでみた

曲を作るためにお世話になっている MIDI 。 そういえばこれってどういうふうにできているんだろう、ってふと気になりました。 それでこの記事 SMF(Standard MIDI File)フォーマット解説 | 技術的読み物 | FISH&BREAD を読んでいましたら、「意外と簡単?!」…

atom-text-editor::shadow は廃止されました(ATOM v1.13.0)

テキストエディタ Atom を使っていて「おや?」と思うことが出た。 初めて見たぞこの表示……。 Atom Deprecation Cop というもので、つまり Atom の設定で変な箇所あったら怒ってくれる人です。 昔から搭載されてるらしいですが私は初めて怒られました。 こん…

起動すぐに『Windows Media Playerは動作を停止しました』となる問題の解決

Windows Media Player が再生を初めて数秒で 『Windows Media Playerは動作を停止しました』と出て終了する問題に、この数週間悩まされてきました。 別の再生プレイヤー使おうか…… いや、でもWindows Media Playerは動作が軽いし広告出ないからいいんだよな…

GitHub Pages にビルドしたフォルダだけを上げたいときの Circle.yml

GitHub に git push するだけでウェブサイトを作成・更新できる GitHub Pages 。便利です。 ちょっとめんどくさいのが、 gh-pages ブランチか master ブランチのトップディレクトリに index.html がないといけないところ。 ( master ブランチの場合は docs …

gibo はときどき update しようなって話

便利ツール gibo .gitignore を生成するのってめんどくさい、なんのファイル書けばいいねん。 ってなる悩みを解消してくれた gibo 。( https://github.com/simonwhitaker/gibo ) gibo OSX Windows Node >> .gitignore # .gitignore がすでにある場合は >> # …

macOS Sierra で mysql2 の bundle install に失敗する場合

Rails のプロジェクトを扱っていて、 gem を bundle install していたところ mysql2 の部分でこんなエラーが… Installing mysql2 0.4.4 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Us…

npm と yarn のインストール時間を比較してみた

彗星の如く現れた yarn 。 Facebook社の中の人が作った yarn は、 npm を発展させたパッケージ管理ツールです。*1 npm 同様 package.json を読み込み、npm リポジトリとほぼ同様の yarn リポジトリからダウンロードしてくるものなので、 npm からの移行は簡…

はじめて Docker を使ったので使い方メモ

wercker で使うために Docker を初めて使ってみました。 参考にしたサイト : 今更始めるDocker on Mac、今更覚えるDockerコマンド - 病みつきエンジニアブログ Docker Machineの作成 1. Docker Toolbox をインストール brew install Caskroom/cask/docker-to…

AWS EC2 インスタンスにユーザー追加する方法

親切なチュートリアルを見て、SSH 接続で EC2 のインスタンスにログインできるようになったところまではよかったんですが、 デフォルトの ec2-user でないユーザーを足そうとしたらいろいろハマったので覚え書き。 参考: Linux インスタンスでのユーザーアカ…