Masteries

技術的なことや仕事に関することを書いていきます.

2015-01-01から1年間の記事一覧

Mackerelを使ったデプロイの仕組み 〜Reactio編〜

この記事は, Mackerel Advent Calendar 2015の21日目の記事です. 昨日の記事は, @stanakaさんの年末年始のディスク容量アラートを回帰分析で回避しようでした. はじめに ...まず最初に, せっかくの機会なので自分とMackerelの関係(?)について書いておこうか…

小さい部品を組み合わせてChatOpsを作っていく話

こんにちは! Hokkaido.pmに参加すべく北海道まで来ていたところ, Gaiachanという社内Botが落ちていることを確認して復旧作業を行うなどしていた@__papix__です. ...そういえば前回Gaiachanが落ちた時は有給を使って某アニメの聖地巡礼をしていた最中で, 「佐…

PerlのWebアプリケーションをCircleCIでテストする

この記事は, Perl 5 Advent Calendarの16日目の記事です. 昨日の記事は, @xtetsujiさんの標準添付の Math:: モジュールのご紹介でした. Math系のモジュール, 昔Project Eulerをやっていた時にいっぱい使っていたのを思い出しました... ...さて, 皆さん仕事で…

なぜGaiaxは新人研修の資料を全部Perl入学式に譲渡して「Perl入学式の教科書」として公開したのか?

「Perl入学式 Advent Calendar」の7日目です. もしかしたら皆さんにはこの記事の投稿日が「2015年12月11日」と表示されているかもしれませんが, 心の目で「7日」と読んで頂ければ幸いです. ...というわけで今日は, 以前公開したPerl入学式の教科書についての話をし…

「師弟登壇2015」に師として登壇しました

pepabo.connpass.com 師弟登壇というイベントに参加して発表してきました. ありがとうございました.

「師弟登壇2015」に師として登壇することになりました

pepabo.connpass.com というわけで昨日, 参加者の募集が始まりました. 今年のGaiaXの新人研修担当として, 新人エンジニアの@ufo_ochaと登壇させて頂きます! しかしあれですね, GMOペパボさん, クックパッドさん, pixivさん, mixiさん, はてなさん, カヤック…

Mackerelの監視設定も「コード」に落としこもう!

前々から書こうと思ってて, すっかり忘れてたので, 書きます! Mackerelの監視 Mackerelでは, ホストの状態(CPU, メモリ, ファイルシステムの利用率とか, Mackerelと繋がっているかとか...)やURLの死活などを監視することが出来るのですが, 8月末に監視設定AP…

WebService::Reactio 0.03を出しました

metacpan.org 先日リリースした, メッセージ作成APIに対応したWebService::Reactio 0.03をリリースしました. Reactioですが, Reactioそのものも機能追加で使い勝手がよくなっていますし, 前日Mackerelとの連携なども提供され, ますます便利になっていますの…

github-pr-releaseが最高に便利だった件について

uiureoさんが開発されたnpmのパッケージ, github-pr-releaseが便利すぎて脳汁がドバドバ溢れでたので紹介します. リリース時のチェックリスト 何かしらのリリースをする際, 大抵の場合「今回, どのような内容のリリースを行うのか?」についてチェックリストを…

mackerel-agent-pluginsを動かす時に30分くらい詰まっていた話

えー, 今から思い返すと非常にお恥ずかしい話なんですが, mackerel-agent-pluginsを使おうとした時に, 勘違いというか横着で30分くらい詰まってしまったので, 恥を晒すつもりでブログに書きます... Mackerelには, mackerel-agent-pluginsという公式のプラグ…

「Kichijoji.pm #5」行ってきた

atnd.org 「Kichijoji.pm #5」に行ってきました! @magnolia_k_さんが1年間(今回でちょうど1週年とのこと! めでたい!)コツコツ続けてきた結果, Kichijoji.pmの認知度も高まってきて, 参加者は過去最大の35名! 今回のテーマは「長く続ける」でしたが, まさに今回の…

ISUCON 5でalpを使ってNginxのログを解析した話

2015年9月28日12時8分: 作者の@tkuchikiさんからコメントで指摘頂いた部分を修正いたしました. ありがとうございます! アクセスログの解析ツールとして, YAPC::Asia 2015で@kazeburoさんがkataribeを紹介していました(ISUCONの勝ち方)が, ISUCON 5直前にalp…

YAPC::Asia 2015に行って来ました

「YAPC::Asia 2015」が終わりました. 何はともあれ参加者の皆さん, 登壇者の皆さん, そしてスタッフの皆さん, 本当にお疲れ様でした. 「ブログを書くまでがYAPC::Asia」と言われておりますが, 来週にYAPC::EUが控えた身としては早くYAPC::Asiaを終わらせなければ…

このあとYAPC::Asia 2015でpapixと握手!!!!!!!!

【sponsored contents】若手エンジニア達の生存戦略 - YAPC::Asia Tokyo 2015yapcasia.org みんな来てくれ!!!!!!!!!!!! Reactioステッカーを持って待っているぞ!!!!!!!!!!!!!!!!!!!!!!!!!!

Perlのバージョンを最短の出力で取得する方法

現在利用できるPerlのバージョンを確認する際, 通常はperl -vの出力から確認するのではないでしょうか. $ perl -v This is perl 5, version 20, subversion 1 (v5.20.1) built for darwin-2level Copyright 1987-2014, Larry Wall Perl may be copied only u…

Redisに格納されたデータを移行する話

GaiaXでは, 「Gaiachan」と呼ばれるHubot製の社内Botが動いています. 先日, Gaiachanが動いているサーバを別のサーバに移転することになったのですが, その際にHubotのhubot-redis-brainによってRedis上に保存している各種データも一緒に移転することにしまし…

App::cpanminusやCartonでDeveloper Releaseなモジュールをインストールする

Perlのモジュール管理システムCPANでは, バージョンナンバーに「_」が含まれるものはDeveloper Release(試験的なリリース)として扱われるようになっています(詳細はここなどを参照). 「機能的にまだベータクオリティだが, CPANにアップしておく」という場合に用…

JenkinsでHipChatに通知する

というわけで, JenkinsとBitbucketを連携してテストが出来るようになったら, 次はその結果をHipChatに通知したくなってくるのではないでしょうか? というわけでその方法をまとめておきます. HipChatプラグインのインストールと設定 Gitプラグインと同じよう…

JenkinsでBitbucketのコードをテストする

いろいろあって, WebアプリケーションのテストにJenkinsを使うことになりました. というわけで, サーバにJenkinsをインストールしてBitbucket上にあるコードをテストする設定を行ったので, その手順をまとめておきます. Jenkinsのインストール Amazon Linux(…

RPMパッケージの中身を見る

「RPMパッケージって, 具体的には何が入っているの?」みたいな話が社内であったので, RPMパッケージの中身を見る方法について調べてみました. 今回は, Vagrantで動かしているCentOS 7.0上で, mariadbとmariadb-develを題材にして, RPMパッケージの中身を見つつ…

Amazon CloudWatchでAWSの利用料金を監視する

あらすじ とある業務でAWSをモリモリ使う事になったので, 個人アカウントを取得していろいろ実験してみようと思いました. そうなってくると心配になるのがAWSの利用料金で, 意図せずAWSのサービスを使いすぎて, 膨大な請求がクレジットカードへ... から始ま…

supervisorctlについて調べてみた

Supervisorの操作は, supervisordコマンドではなくsupervisorctlコマンドで行います(supervisordは, 単にSupervisorそのものを立ち上げるコマンドになっています). supervisorctlを使ってコマンドを叩くことで, Supervisorそのものや, それが立ち上げている…

Perlのガベージコレクションについて

Perlでは, ガベージコレクション(GC)について「リファレンスカウント方式(参照カウント方式)」という仕組みを利用しています. リファレンスカウント方式は, 全てのデータに対して「参照カウント」と呼ばれる整数値を隠しパラメータを持たせ, そのデータが参照さ…

IAMでAWSのユーザ権限を整理する

IAMとは? IAMは, Identity and Access Managementの略で, AWSにおけるユーザとユーザの権限を管理するためのサービスです. AWSを利用する際にはまずAWSのアカウント(ルートアカウント)を作る訳ですが, 複数人で開発をする際にその1つのアカウントを共有して…

Nginxと名前解決の話

Nginxでは, serverコンテキストのlocationコンテキストにおいて, proxy_passディレクティブを利用することで任意のホストにアクセスを転送することができます. 例えば, serverコンテキストにおいて, location / { proxy_pass http://127.0.0.1:5000; } みた…

サーバにログインした時に任意のメッセージを表示する 〜Mackerelで管理しているホスト一覧を出す〜

昨日に引き続き, 社内のQiita:Teamに書いた記事のサルベージです. ...で, 今回のネタですが, 早い話が, EC2インスタンスにログインした時に出てくる Last login: Sun Jul 26 18:45:17 2015 from xxx.xxx.xxx.xxx __| __|_ ) _| ( / Amazon Linux AMI ___|\__…

Mackerelをうまく使いこなす話

社内のQiita:Teamに書いた記事の転載です. Mackerelを事業の中で使っていて気付いた事とかをまとめていますが, 後述の通り, 基本的にMackerelのヘルプに書いてある情報がほとんどです. その辺りはご了承下さい. mackerel-agentと設定ファイル Mackerelは, 監…

App::KoyomiにIssueを投げた件

App::Koyomiは@key_ambさんが開発されたジョブスケジューラです. Reactioのインフラ周りを改善している中で, 定期的にジョブを実行するバッチサーバの冗長化について悩んでいた(バッチサーバを複数台構成にする場合, keepalivedを利用するなどして, active/s…

WebService::MackerelにPull Request送った件

ReactioでMackerelを使うことになった(ことにした)のでWebService::Mackerelを使っていたのですが, 「ホストのステータスの更新」と「ホストのリタイア」に関する機能が実装されていなかったので, 久々にPull Requestを出しました. 無事マージして頂きまして, 今…

CPANモジュールのディレクトリ構成について

ほぼ1年ぶりの開催になってしまった五反田Perlで, CPANモジュールのディレクトリ構成についての話題が出たので, 自分の理解をアウトプットしておこうと思います. lib / t もはや説明不要ですが, libディレクトリにはモジュール本体, tにはそのモジュールのテ…