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

プログラミングやサーバー関連、チームマネジメントなど得た技術のまとめ

プログラミング系

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

↓ この記事は 『ハトネコエの人事・採用ブログ』 側へ移動しました! ↓ hatone-hr.hateblo.jp

【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. 必要なも…

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

↓ この記事は 『ハトネコエの人事・採用ブログ』 側へ移動しました! ↓ hatone-hr.hateblo.jp

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) …

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

↓ この記事は 『ハトネコエの人事・採用ブログ』 側へ移動しました! ↓ hatone-hr.hateblo.jp

プログラマのための数学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 インスタンスでのユーザーアカ…

はじめてで♥ドキドキ☆の AWS の感想

Amazon Web Services、略してAWS、なんだか難しそう〜なイメージあって手が出せていなかったのですが、 最近サーバーの設定とかにも少しずつ興味出てきたので、おそるおそる触ってみることにしました。 先達はあらまほしきことなり(教えてくれる人ほしいよ…

MySQL の文字エンコーディングを utf8mb4 にあとから変更する

前も書いたけど、MySQL をいじるには、入力補完してくれる mycli が超便利。 これなしの環境だとめんどうに感じてしまうくらいに!あとダミーデータの作成は generatedata.com が良さげ。 これはもっと良いサイトありそうなので、ご存知の方、教えてください…

URI, URL, URN とは? 違いは?

例えば JavaScript のメソッドにこういうのがあります。 console.log( encodeURI("http://ドメイン.com") ); // "http://%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3.com" と出力される URI 形式に直してくれる encodeURI メソッドです。また、Android のプログラ…