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

Masteries

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

lessでファイルを開いている時に「v」キーを押すと, そのファイルをエディタで開ける!!!

…というのを知っている方はこの記事を読む必要はありません. タイトルに書いてあることが全てなので. 実際, lessのmanにも, このように書かれております: v Invokes an editor to edit the current file being viewed. The editor is taken from the environ…

plenvでインストールしたPerl環境を固定(?)できる「plenv-lock」書いた

以前, 「最近のplenv/Cartonの運用」というエントリで, plenvで管理しているPerl環境について, App::cpanminusとCartonをインストールした段階で書き込み禁止にしてしまって, それ以降余計なモジュールをインストールすることを防ぐ, みたいな話をしました. pa…

YAPC::Kansai, お疲れ様でした!

YAPC::Kansai, お疲れ様でした. YAPC::Hokkaidoに引き続き, 今回も非常に良いYAPC::Japanでしたね! 大阪と言えば, 自分が生まれ育ち, そしてPerlを学んだ思い入れの深い地元です. ここでYAPC::Japanが開催されるというのは, 本当に感慨深いものがありました.…

YAPC::Kansaiで逢いましょう!

いよいよ今週末はYAPC::Kansaiですね. 地元関西で初のYAPC::Japanということで非常に楽しみです. yapcjapan.org トークをします 14:50〜15:10にB会場で, 「PerlのWebアプリケーションをデプロイする時に僕達が考えたこと」というトークをします. 裏番組がdanko…

DateTime::Format::MySQLで作ったDateTimeオブジェクトにタイムゾーンを設定するとエラーになる場合がある

i18n対応したサービスをDateTimeを使ってモリモリ開発している方からすれば既知な話かもしれませんが, 自分は知らなかったのでメモ. DateTimeとタイムゾーン DateTimeは, かなりしっかりとタイムゾーンに関する処理が実装されています. use feature 'say'; u…

株式会社はてなに入社しました

株式会社はてなに入社しました. 何をするの? ブログをします. つまり"これ"です. どこで働くの? 東京です. …が, 今日から2週間ほど京都で研修をしています受けています. どうしてはてなに入社したの? いろいろな経緯があって入社したのですが, それを書くに…

2016年の振り返り

あけましておめでとうございます. 今年もよろしくお願い致します. というわけで年始恒例の振り返りブログです. 今年もKPTを使ってやっていくことにしましょう. 2015年の振り返り記事はこちら: 2015年の振り返りと2016年の展望について - Masteries 2014年の…

Primusを公開しました

この記事は, 「Gaiax Advent Calendar 2016」の24日目の記事です. ...24日だぞ☆ 本当は, 先日ちょうど退職エントリを書いたことですし, 「Gaiaxで学んだこと」みたいな感動超大作でも綴ろうかと思ったんですが, 終わりが見えない感じになっていたので, とりあえ…

SocketIO::Emitterとsocket.io-redisに関する最近の状況

これは「Perl5 Advent Calendar」の23日目の記事... 記事です. まず最初に, 更新が23日の72時頃になってしまったことをお詫び致します*1. やっていけませんでした... 今日のお題 というわけで改めてやっていきたいと思います. 今日は, 以前「SocketIO::Emitter…

株式会社ガイアックスを退職します

いろいろありまして, 2014年4月から2年と9ヶ月程働いていたガイアックスを退職することになりました. 一応, 本日が最終出社日*1となっていて, 暫くの間有給消化になります. どうして辞めるの? いろいろと, 今回の転職に至る経緯とか, ガイアックスでの思い出…

Mackerelを使って踏み台サーバを更に便利にしてみた話

この記事は, Mackerel Advent Calendar 2016の19日目の記事です. 「踏み台サーバ」とMackerel 以前, 「サーバにログインした時に任意のメッセージを表示する 〜Mackerelで管理しているホスト一覧を出す〜」という記事を書いたことがあります. papix.hatenablog.c…

YAPC::Hokkaidoで「PerlでAPIを作る時に僕達が考えたこと」というトークをしました

お聞きくださった皆様, ありがとうございました. 資料はこちらです:

僕達の日常に這い寄るGet Wild

この記事は, Get Wild Advent Calendar 2016の13日目の記事です. はじめに 皆さんGet Wildしていますか? 最近はどっちかというとBE MY BABYしている機会が多いのですが, とりあえずチープなスリルに身を任せながらGet Wildしていきましょう. 日常に這い寄るG…

5年続いているPerl入学式というコミュニティの運営について

この記事は, 「IT勉強会/コミュニティ運営 Advent Calendar 2016」の5日目の記事です. 今日は, 自分が「校長」という肩書で主催している, プログラミング言語Perlの初心者向け勉強会, 「Perl入学式」について書きます. perl-entrance.org Perl入学式とは Perl入学…

「Fukuoka.pm #27」でトークをしてきました

10月29日に開催されたFukuoka.pmに参加してきました. fukuokapm.connpass.com 10分ほどお時間頂いて, 最近取り組んでいるhitoboの開発において, LINEのMessaging APIをどのようにして扱っているか, そしてその為に開発した「Primus」という社内ツールについて…

最近のplenv/Cartonの運用

最近のplenvとCartonの運用というか, 「こういう感じでやっていっています」という話です. あらすじ: cpanm --installdeps . PerlでWebアプリなど開発する場合, cpanfileに必要なライブラリを指定し, Cartonを使ってcarton installで必要なライブラリをインス…

「株式会社ガイアックス」の所属ではなくなります

まだ正式な日程は決まっていませんが, 近いうちに所属が「株式会社ガイアックス」から, 子会社の「アディッシュ株式会社」に変わります. ...まあ早い話が「転籍」っていうやつです! 経緯 ありがたいことに, 6月末辺りにアディッシュの社長から「一緒に仕事やろうよ!…

「みんなのGo言語」を読みました

9月9日に発売された「みんなのGo言語」を, いろいろなご縁がありまして, 筆者の1人である@lestrratさまよりご恵贈頂きました. みんなのGo言語【現場で使える実践テクニック】作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカ…

マイグレーションツール「Anego」をCPANにdeveloper releaseしました.

追記: Anegoの入門記事(使い方)をQiitaに書きました: Perl製のデータベースマイグレーションツール「Anego」入門 metacpan.org 以前からちまちまと作っていた, RDBMSのマイグレーションツール「Anego」を, developer releaseしました. ドキュメントもテストも全…

SocketIO::EmitterがCPANで公開されました!

以前, PerlからSocket.IOのイベントをEmitするという記事で, PerlからSocket.IOのイベントをemit(発火)するSocketIO::Emitterというモジュールがあるという話をしました. github.com こちら, 作者の@toritori0318さんに「CPANで公開できませんでしょうか?」と…

「共有会」, 「連絡会」の功罪, 或いはグループを横断した情報共有について

複数の事業(部署)を持つ会社, 或いは複数のチームを持つ部署において, 部署やチームといった"グループ"を横断した情報共有は, 非常に重要です. 特にエンジニア組織の場合, あるグループの課題を解決するソリューションを別のグループが持っていたり, 或いは…

「Software Design 8月号」に記事を書かせて頂きました!

...というわけで, 「Software Design 8月号」のGitHub特集に記事を書かせて頂きました. ソフトウェアデザイン 2016年 08 月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2016/07/16メディア: 雑誌この商品を含むブログを見る 今回自分が担当させて頂いたのは,…

「Perl Hackers Hub」に寄稿した記事が技評のウェブサイトにも載り始めたみたいです

gihyo.jp gihyo.jp gihyo.jp 以前, WEB+DB PRESSの「Perl Hackers Hub」に寄稿した, 「PerlでInfrastructure as Code─IaaSやSaaSをコードで自動化」の記事が, 技評のウェブサイトで公開が始まったようです. 今年に入ってから, Software Designの「ChatOps特集」, W…

PerlからSocket.IOのイベントをEmitする

Socket.IOという, WebSocketなどの非同期双方向通信を実現するNode.js向けのライブラリがあるのですが, 宗教上の事情などいろいろあり, このSocket.IOのイベントをPerlからemitしたい事例がありました. CPANにはそれらしきモジュールがなく, GitHubを探して…

VimにおけるPerl関連のスニペットを晒してみる

Perl入学式の講義の中で, 講師の@umaaaaa_chanさんがコードを書いている時に, 「use strictとかuse warningsとか, どうやって一発で出しているの?」という質問が飛んでいました. 自分はこのあたり, Vimのスニペット機能を使って実装しているので, 小ネタみたい…

6月25日は「ハッカーズチャンプルー」で僕と握手!

6月22日〜25日にかけて, 沖縄で「ハッカーズチャンプルー」というイベントが開催されるのですが, ひょんなことからOkinawa.pmの方々から「papixさん, なんか話してくださいよ〜」というお声がけを頂く機会があり, 「あーいっすよ!」と気軽に受諾したところ, なんか…

処理に時間がかかるスクリプトが終わった時にEC2インスタンスを止めるには

...という質問を, 会社の同期から受けました. 状況としては, 夜退社する前にEC2インスタンス上で処理に時間がかかるスプリクトを動かしていて, 朝に結果を確認しているのだけれど, スクリプトの処理が終わってから, 朝確認するまで無駄にEC2インスタンスが動…

Node.jsのWebアプリケーションでGraceful Restart

いろいろあって, Expressを使って開発されたNode.jsのWebアプリケーションでGraceful Restartする必要が出てきました. Perlであれば, 単純にServer::Starterなどを使って素直に構築できるのですが, Node.jsでGraceful Restartは今回が始めての経験. Googleで…

「Mackerel User Group」を立ち上げることになりました

先週開催されたMackerel Meetupでも告知させて頂いたのですが, このたび「Mackerel User Group」を立ち上げることになりました! スライドにも書いたのですが, 自分自身とあるサービスにMackerelを導入するにあたって, 多くのMackerelユーザーからアドバイスを…

「Walter」を試していたのでまとめた

Walterは, Goで書かれた「ビルドパイプライン」ツールです. JenkinsなどでCIを行う場合, 複数のジョブを連携して, 一連の処理の流れを作ることがあります. これを「ビルドパイプライン」と呼び, Jenkinsにはビルドパイプラインを作る為のプラグインが幾つか提供…

MackerelのAmazon Linux対応に対応していて軽くやらかした話

3月28日から, MackerelはAmazon Linuxの正式サポートを開始しました: Amazon Linuxの正式サポートについて - Mackerel ブログ #mackerelio これに伴って, Amazon Linuxにおけるmackerel-agentのインストール方法が変更されたので, 某サービスでも早速対応し…

頼りがいのある(かもしれない)Database Migration Utility, Anegoを作っています

PerlでWebAppなどを作っている際, データベースのマイグレーションをするのであれば, 例えば@sugyanさんのブログに書かれているSQL::Translator::DiffでDBスキーマに追従させる方法のような手段を使ったり, 或いはこれと同じくSQL::Translator::Diffに基づい…

久々のKansai.pmでライブコーディングをしてきました

久々のKansai.pmである, Kansai Perl Mongers 第16回ミーティングが開催されたので参加してきました. 前回の開催が約3年前, 確かJPAの講師派遣制度で@yusukebeで来られた時だったと思うので, だいぶ久々だなあ, と思います. 当初は, 「PerlのWebApp開発におけ…

他のチームに「技術的支援」をする時に気をつけていること

自分が働いているGaiaxのように, 社内に複数の事業があり, それぞれにエンジニアが所属して働いている場合, 「ねえ, ○○のチームの××って仕組み, どうやってるの? うちのチームでもやってみたい!」といったコミュニケーションから, 他のチームに対して「技術的支…

WEB+DB PRESS Vol.91の「Perl Hackers Hub」を書きました

「Perl Hackers Hub」、今回は@__papix__さんが登場です。テーマはInfrastructure as Codeということで、AWSやMackerelの操作からチャットへの通知まで、ぜんぶPerlでやっちゃう方法を解説していただきました! #wdpress— WEB+DB PRESS編集部 (@wdpress) 201…

PhotosynthにもJoinしました

...というわけで, 今日からPhotosynthで働くことになりました. 正確に言えば, GaiaxからPhotosynthへの「留学」という感じで, 今週1週間はガッツリ, それ以降は一旦3月末までを目処に週1ペースでPhotosynthで働く, という予定です. 個人的に最近とても興味を持…

PerlでJSONを生成するときにJSONのキーの順番をソートする

今日はJSON.pmの小ネタをお送りします. ...といっても割と既知な情報では? という気がしているのですが, 自分は知らなくて10分くらいJSON.pmのドキュメント読んだりしてやっと見つけたので, 備忘録的に残しておきます. さて, JSON.pmを使って, 普通にPerlの…

Jenkinsの設定をバックアップする

私が今所属しているReactioチームでは日々, デプロイにテストにバックアップにと便利にJenkinsを使っている訳ですが, 形あるものはいずれ壊れる運命にあります. もし, Jenkinsが壊れてしまったら... 考えたくないですね. というわけで, Jenkinsが壊れてしま…

2015年の振り返りと2016年の展望について

えー, 気がつけばもう2月なのですが, このブログの記事としては新年始めての記事となります. なので皆様, あけましておめでとうございます. 年始の初エントリなので, この記事ではKPTによる昨年の振り返りと, 今年の展望などについて語りたいと思います. ち…

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名! 今回のテーマは「長く続ける」でしたが, まさに今回の…