読者です 読者をやめる 読者になる 読者になる

Masteries

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

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にはそのモジュールのテ…

新人研修に正解などない, あるのは真っ直ぐに走り続ける新人達だけだ

皆様こんにちは. 最近「きんいろモザイク」という合法麻薬にずっぽりハマっている@__papix__です. さて, ご存知の方も多いとは思うのですが, 3月頃からGaiaXの2015年度の新人エンジニア研修のカリキュラム作成とかに従事しておりました. エンジニア研修の様子…

YAPCを可視化する 〜トークのはてブ数編〜

後日談 @teppeisさんがもっと良いのを作っておられました... https://teppeis.github.io/yapc-talk-ranking/ 内容としては, このあいだ乃木坂Perl Users #1で紹介したものの最新版となります. ...さて, いよいよYAPC::Asia 2015のトークのプロポーサルの締め…

僕とReactio

...まず予め断っておきますと, この記事は今日リリースしたReactioという自社サービスの, ある種のガチマーケティング的な記事です. そういうのがお嫌いな方は, 読まない方がいいのではないかと思います. ※以下はGaiaXやReactioチームの公式見解ではなく, あ…

SystemdでSupervisordを立ち上げる

参考情報 この記事を書くにあたって, 以下の情報を参考にしました. systemdの*.serviceファイルの書き方 Systemd入門(4) - serviceタイプUnitの設定ファイル 正直なところ, 上記2サイトを見ればここから書く内容は大抵書いてありますので, まずはこちらから…

Dockerの超バッドノウハウ情報

先月末リリースし, 近日中に社内にお披露目予定のDoX正式版(DoXは, DockerでオレオレVPSを作った話で軽く触れている, Dockerを使った社内向けのステージング環境のことです)で使わざるを得なかった, Dockerのバッドノウハウについてメモしておきます. 恐らく…

気がつけば3月も中頃になっていた件について...

...というわけで, 1月中頃に昨年の振り返りをして以来のブログ記事でございます. この1ヶ月半の間に何をしていたかというと, 会社ではDockerでオレオレVPSを作った話でも軽く触れていた, Dockerを利用した社内向けステージング環境「DoX」の正式版の開発をゴリ…

2014年の振り返り

もう1月も19日になっておりますが, 皆様あけましておめでとうございます. papixです. 今日は新年初エントリということで, @karupaneruraさんを見習ってKPTを使った2014年の振り返りをしてみたいと思います. Keep 「2014年にやってみてよかったこと, 2015年も…

プラグインを入れてReplyを更に便利にする

天皇誕生日という週の真ん中に現れた祝日, 皆様如何お過ごしでしょうか. papixです. 12月23日と言えば前述の通り天皇誕生日ですが, それに加えて今年のYAPC実行委員長だった我らが@yusukebeさんの誕生日でもあります. 更に私事ではありますが, 今日は自分の…

Replyでお手軽にPerlのコードを動かす話

Perl入学式 Advent Calendarの15日目の記事となります. 今日は「ちょっとくらいテックな話書きたい」ということで, Data::Printerの話をしよう... と思っていたのですが, 先日Perl Advent Calendarの枠が空いていた枠を埋める時にネタとして既に使ってしまって…

Perlのprintデバッグをシュッと見やすくする 〜Data::Printer編〜

Perl Advent Calendar 2014の7日目の記事です. 宜しくお願いします. さて, 昨日の記事は@FromAtomさんの「Perlのprintデバッグをシュッと見やすくする」でした. Perlのprintデバッグをシュッと見やすくする - 文字っぽいの。 printデバッグはデバッグの中でも…

DockerでオレオレVPSを作った話

Docker Advnet Calendar 2014の6日目の記事となります. 今日は, 「DockerでオレオレVPSを作った話」というタイトルで, 最近作った「Pocker」という名前のアプリケーションを紹介したいと思います. どうしてそのようなアプリケーションが必要になったのか, その中…

「Yokohama.pm #12」に行ってきました

11月28日に横浜のKayacさんのオフィスで開催された, 「Yokohama.pm #12」に参加してきました. Yokohama.pm #12 : ATND Yokohama.pm #12 : ATND カヤックさんのオフィスは横浜駅近くのビルの30階ということで, 非常に眺めが良かったです. トピック Plackサーバ,…

ansible-playbookコマンドが終わったタイミングで音を流すと捗る話

ここ最近, Web Appのデプロイやサーバに対する作業などをAnsibleを使って流す事が多くなっています. Ansibleを使えば複数サーバに対して同時並行で作業出来ますし, 何よりAnsible Playbookが「動く作業手順書」になるので, 作業手順の共有や確認が非常に楽です…

Test::mysqldが立ち上げるMySQLのデータをメモリ上に配置して高速化した話

会社で新しくMac miniを支給してもらったのですが, ストレージがHDDだったので, ディスクの読み書きを繰り返す処理, 例えばTest::mysqldを使ったWebアプリのテストが非常に遅くなってしまいました. この原因は, HDDに対するデータの読み書きが遅いという所な…

sshのconfigファイルをincludeっぽくする

sshの設定ファイル(~/.ssh/config)を分割したい, という欲求は結構あるのではないでしょうか. 例えば大量のサーバを管理している時, 設定ファイルをサーバの用途や環境などでファイルを分けて, config.awsとかconfig.vpsとかといった名前でグルーピングする,…

fluentdで1つのsourceを複数回処理したい時はcopyを使いましょう

とある社内ツールのnginxのログを, fluentd経由でElasticsearchに格納して, Kibanaで可視化するようにしていたのですが, 更にfluentdからNorikraに投げたいなー, と思い, td-agent.confを次のように書き換えました. # Input <source> type tail path /var/log/myapp/</source>…

PerlCasual #6でDockerを使った個人用DaaSの話をしてきました

10月24日に開催された「PerlCasual #6」に参加してきました. PerlCasual #06 : ATND 会場は渋谷ヒカリエのDeNAさんのオフィス. 相変わらず夜景が綺麗でした. 前回に引き続き, 今回もLTの時間を頂くことが出来たので, Dockerを使ったDaaS(Docker as a Service)…