サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
blog.hifumi.info
昨年、勤務先の新卒研修で「キャリアキーノート」という取り組みを始めた。これは「先輩の個人史 (キャリア) を紐解いてもらう中で、その根底に一貫して流れる基本的な考え方 (キーノート) を学ぶ場」であり、先輩社員の自己紹介を兼ねた場として設計した。 このアイデアは、YAPC::Asia Tokyo のキーノート、なかでも @mizzy さんの「How Perl Changed My Life」や @typester さんの「エンジニアとして生きる」を原型とし、エドガー・H・シャイン著『キャリア・アンカー』の考えに目的を強化されたものである。 以前「ペパボ新卒エンジニア研修2015が始まっています」でも触れた内容だが、あれから1年が経ち、いろいろと分かってきたことがある。本記事では「キャリアキーノートとはなにか」を再考し、私の考えを今一度綴りたいと思う。 外と内から見るキャリア 「キャリア」と
2015年6月から始まったペパボ新卒エンジニア研修のうち、「基礎研修」が完結しました。 基礎研修は「Web開発」「Webオペレーション」「モバイルアプリ」の3つのテーマから成る技術研修です。 ペパボ新卒エンジニア研修2015が始まっています ペパボ新卒エンジニア研修2015・Webオペレーション研修が始まっています ペパボ新卒エンジニア研修2015・モバイルアプリ研修が始まっています 基礎研修の後には、新卒エンジニアと新卒デザイナが、1週間でWebサービスを協働開発する「お産ウィーク」が行われました。 そして10月からは年末にかけては、6つのサービスを1週間ごとにぐるぐる廻る「サイクルOJT」が始まっています。 モバイルアプリ研修の歩み この研修では、6人いる新卒エンジニアから3人1組のチームを作り、2段階に分けて課題を用意しました: 1st stage: Rails をバックエンドとした
データマイニングについて勉強する機会があり、Python言語の練習がてら「変化点検出」と呼ばれる手法について、近似的ではありますが、試作してみました。 変化点検出とは 変化点検出とは、入力データの時系列的な振る舞いの変わり目(変化点)を検出する方法です(山西健司著『データマイニングによる異常検知』)。 データマイニングによる異常検知 山西 健司 Rank / Rating: 302282 / - ASIN: 4320018826 Price: ¥ 3,990 A unifying framework for detecting outliers and change points from time series (Google Scholar) DoS攻撃や新種のワームの発生による、急激な値の変わり目(トラフィック量の急増等)を検知するのに有効とされる手法です。 id:yokkun
先週6/8から、ついにペパボ新卒エンジニア研修1がスタートしました。 今年の新卒入社は10名で、そのうち6名がエンジニアです。 4月〜5月はGMOインターネットグループ研修、ペパボ東京プレ研修、ペパボ福岡支社研修などを全員で受け、6月からエンジニア・デザイナは職種別研修に入っていきます。 そして今年のエンジニア研修 (以下、研修) は、私が研修担当のメインとして、@hibomaさんと共に活動しています。 さて、研修から1週間、その間の出来事やみんなの様子を紹介していきたいと思います。 この1週間の出来事 箇条書きにすると、主に以下の6つの出来事がありました。 THE TAO OF PEPABO ENGINEER - ペパボ新卒エンジニア研修オリエンテーション Web開発研修イントロダクション 見積り計画ワークショップ 読書会 Web開発研修 キャリア・キーノート ここから、それぞれの出来事
Webオペレーション研修イントロダクション さて、7/6 からは新たにWebオペレーション研修が始まりました。 初日はイントロダクションとして、Webオペレーション研修やゴールや進め方についてお話させていただきました。 新卒の@orzupが研修のログを残してくれていますので、当人たちがどのように取り組んでいるのかを知るには以下をご覧ください。 WebオペレーションのVagrant編 ログ · Issue #29 · orzup/rails-tutorial Webオペレーション研修のゴール 「アプリが『動く』インフラを、ステップ・バイ・ステップで成長させる」ことをゴールとして、5つのステップを設けました。 Vagrant編・Nyah編(後述)、合わせて5つのステップ 各ステップの課題は以下のとおりです。 Vagrant編 Web開発研修で作成した Rails アプリを、Vagrant で動
Homebrewとは HomebrewはMacPorts AlternativeなMac OS X専用のパッケージマネージャです。自家醸造酒 (home brew) を語源としており、Homebrewを通じて導入した各パッケージはCellarと名付けられたフォルダのもと管理されます。(ちょっとオシャレです←ココ大事です) “Homebrew is the bee’s knees, friends. So far it’s a perfect replacement for MacPorts.” Homebrew公式ウェブサイトより bee’s kneesは「飛び抜けて良いもの」という意味だそうです。うーん? それはさておき、Homebrewの簡単な特徴として、 Rubyで記述されているのでインストールもRubyコマンドで行う /usr/localフォルダにインストールされるため、MacP
ウェブサイトやロゴは明らかに林檎の風ですよねえ Vim風コーディングが出来る!ということで、ちまたで噂のSublime Text 2をMacに入れてみました。 目次 Sublime Text 2を知ったキッカケ Sublime Text 2の入手方法 Vim風コーディングの設定 Package Controlのインストール Emmetのインストール LaTeXToolsのインストール (R言語のために)インタプリタを追加 CSSCombをインストールする Sublime Text 2のちょっとした雑感(どうでもいい話) Sublime Text 2を知ったキッカケ ちなみにわたしがSublime Text 2を知ったキッカケはこれ: 初めは、Emacser向けスライドということもあり、気になったものの使用するには至りませんでした。しかしここ最近のわたしのTwitter TLでちょこちょこ
前回、ペパボ新卒エンジニア研修のアプリケーションサイドについて、2013年の振り返りに合わせて紹介した。 今回はその後編にあたるオペレーションサイドの研修について紹介しようと思う。 Ops研修 エンジニア研修オペレーションサイドの内容を説明するのはカンタンだ。 Rails Tutorialで作成したTwitter風Webアプリケーションは、これまでHerokuやSqaleで動かしていた。 今度はそれを、minimalなOSの入ったサーバを用意し、環境を構築し、デプロイする。 production環境を自分で作り上げる。 自ら作り上げたサービスを自ら運営してみせるのが、この2ヶ月に渡り実施されたエンジニア研修の大目的だったと思う。 maglica 社内にはmaglicaによって構築されたinternal cloud環境がある。 社内ネットワークにVMを好きなだけ(といってもストレージに限界は
若手インフラエンジニア現状確認会というイベントを開催しました。 全員発表型で、私(@hfm), @catatsuy, @deeeet, @rrreeeyyy, @ryot_a_rai, @y_uuk1の6名(敬称略)が参加者です。 会場をご提供いただいた@catatsuy君とpixivの皆様方に感謝。 発表資料 「今までやってきたこと」「何故今の環境を選択したか」「選択の結果、何を得たか」「そして今、何をやりたいのか」という4つをテーマに発表しました。 ここから、資料補完や当日のやりとり、そもそもの開催の経緯等を補足したいと思います。 開催のキッカケ 開催といっても、Doorkeeperやconnpassで募集をかけたりせず、Twitterのリプライのみで実現した集まりです。 (ぼんやりとした企画をしたぐらいで、開催と呼べるほどなにかをやったわけではない) Mackerel Meetup
仕事でagを利用していた時に出会ったバグを、先輩たちの力を借りてなんとかした話です。 先に結論を書くと、業務に用いていたagのバージョンが古いのが原因のようでした。version 0.15より古いとlockの実装に問題があるようです。 以下、問題の発覚からなんとかするまでの記録です。 発端 agが途中で止まる 時折、agのファイル操作が先へ進まなくなってしまう不具合がありました。 操作中に対象ファイルのロック状況が変わるとデッドロックが発生しているのでは?と想像。 気になってstraceでプロセスにアタッチすると、以下で停止していることが分かりました。 [pid 4589] futex(0x80517e4, FUTEX_WAIT, 32159, NULL FUTEX_WAIT futex(2)を引くと、futex(2)の書式に対する操作FUTEX_WAITの説明があります。
モチベーション IPアドレスがプライベートネットワークかどうかをRubyで判断したい。 プライベートネットワークはRFC19181への準拠を前提としている。 ※RPC1918「3. Private Address Space」で、プライベートネットワークのアドレス空間は次のように予約されている。 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) 172.16.0.0 - 172.31.255.255 (172.16.0.0/12) 192.168.0.0 - 192.168.255.255 (192.168.0.0/16) 検討 その1: RubyGems ipaddress 調べると、ipaddressというgem23を使うと簡単にできることが分かった。 IPAddress#private?を使えば、IPアドレスがプライベートネットワークに属しているか否かを二
gollumはGitで動作する、ローカル向け(個人向け)の軽量なWikiです。 gollum – A wiki built on top of Git Gollum wikis are simply Git repositories that adhere to a specific format. Gollum pages may be written in a variety of formats and can be edited in a number of ways depending on your needs. You can edit your wiki locally: With your favorite text editor or IDE (changes will be visible after committing). With the built-in we
いま、ペパボでは新卒エンジニア研修2015を実施しています。 期間は6月から年末までの約7ヶ月間で、前半4ヶ月を「基礎研修」、後半3ヶ月を「サイクルOJT」と称しています。 6/8〜7/3は、Rails Tutorial を教材としたWeb開発研修が行われました。 7/6〜8/7は、OpenStack1 上で Rails を動かすための、インフラの設計・構築・運用を軸としたWebオペレーション研修が行われました。 ペパボ新卒エンジニア研修2015が始まっています ペパボ新卒エンジニア研修2015・Webオペレーション研修が始まっています そして昨日8/17から、基礎研修の第三幕『モバイルアプリ研修』が始まりました。 そこで今回は、Webオペレーション研修の完遂に至るまでの話と、モバイルアプリ研修の話をしようと思います。 Webオペレーション研修の歩み どんなゴールだったか Webオペレーシ
MySQL Casual Talks vol.7にて、「MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話」のいうタイトルで発表して参りました。 内容はタイトル通りで、よぼよぼのMySQL 4.0サーバをリプレイスしてバージョンアップするまでに出会った困難とそれをどう乗り越えたか、みたいな話をしてきました。 謝辞 何も知らなかった自分がここまで来れたのは、ひとえにhetemlチームの皆さんあってこそです。 ペパボに新卒エンジニアとして入社して以来、初めて私が中心となって進めた大きな仕事でした。 特に@tnmtさん、@glidenoteさん、@hibomaさん、@lamanotramaさん、gyugyuさん、@hypermktさんらのアドバイス・サポートが無ければ達成することは無かったと思います。 サービスを止めなければならない大規模なメンテナンスに対して、カッ
NeoBundleがTOML1 parserを導入して、TOMLファイルにプラグイン管理を任せられるようになった。 Add TOML parser · Shougo/neobundle.vim@75e836f 設定ファイルのサンプル vimrcの設定は、ドキュメントとShougo氏のvimrc2を参考にすると、neobundle#begin〜neobundle#endの間を以下のように書けば良さそうだ。 call neobundle#begin(expand('~/.vim/bundle/')) if neobundle#has_cache() " キャッシュから高速に起動 NeoBundleLoadCache else NeoBundleFetch 'Shougo/neobundle.vim' " TOMLファイルを指定 call neobundle#load_toml('~/.vim/
年の瀬に1年をふりかえります。 ペパボ新卒エンジニア研修 今年のターニングポイントは、ペパボ新卒エンジニア研修でした。3月か4月ごろに担当を任されることになって、そこから猛勉強が始まりました。 研修の準備(設計)にあたり、学んだこと 研修を受けた身ではあるものの、研修の設計に関わるのは初めての経験でした。CTOやひろやんさんをはじめとした、研修関係者で認識を合わせることは非常に大切でした。研修にあたって、教育学や組織論、キャリアデザインに関する書籍を読みました。以下はその一部です。 これらの書籍は研修関係者で読みました。これらのような書籍を読んだ目的は、研修そのもののブレを無くすことです。いわゆるユビキタス言語といいますか、共通の語彙を関係者間で育み、円滑なコミュニケーションを取れるように勉強していきました。 「私」レベルの教育論を越えて そこで出会った中原淳先生の『企業内人材育成入門』に
2016年もあと数時間。昨年は新卒エンジニア研修に尽力していたが、今年はまた違った1年となった。 昇格 ペパボのエンジニア職位制度での承認を経て、シニアへの職位昇格が決まった。 いっそう身の引き締まる思いがする。専門職の格たるものを考え続けている。せめて、技術面でも組織面でもリーダーシップを発揮し、社の技術力を牽引し、日々の生産性向上について良い影響を及ぼせるよう研鑽していかなければならない。走りながら考えていこうと思う。 ペパボに新卒で入社し、ここに至るまで3年と半年強かかった。自己評価で鈍足。業務経験の無いところから出発し、先輩たちに色々な知識と経験を授かり、なにより会社のサービスそのものが自分を育ててくれたと思う。本当にありがとうございます。 まだまだ生馴れながらも、ようやく恩返しできるような立場に近づけたような気がする。 ngx_mruby のメンテナになった 『動的証明書読み込み
Monitoring Casual #7に参加し、「30days Albumの裏側〜監視・インフラCI事情〜」というタイトルで発表しました。 主に監視周りの話で、ふっつーにNagios・Muninを使ってるんですけど、Muninについてはちょっと変わってるのでそれの紹介。 あと、インフラCIは、モニカジに間に合わせようと奮闘してたんですが間に合わなかったので、出来たところまでを紹介する感じになってます。 発表中にいただいた意見・コメント munin muninが黒背景になってる理由を説明している時の様子。 (導入した本人である)黒田さんに変わって、背景を黒くした中二ムニンの紹介をしてました。 Kibanaみたいな色にしたい #monitoringcasual — Taichi Nakashima ☕️ (@deeeet) 2015, 1月 30 魔改造muninだ… #monitoring
またHomebrew絡みなんですが… Homebrew経由でMacVimを入れようとしたら、以下のような状況に。 $ brew install macvim --custom-icons --with-cscope --enable-clipboard ==> Downloading https://github.com/b4winckler/macvim/tarball/snapshot-64 File already downloaded in /Users/hfm/Library/Caches/Homebrew ==> ./configure --with-features=huge --with-tlib=ncurses --enable-multibyte --with-macarch ==> make Starting make in the src directory. ..
まだ途中というか、せっかく突っ込んだバンドルのコンフィグとか何も設定してなかったりするので、もうちょっと弄りたいなあと思いつつ、あまりいじれておりませんが…。2〜3年前あたりから?そこらじゅうで.vimrcを晒すのが流行っていると聞いた気がするので、僕も公開してみます。長年熟成させた人のものと比べれば、そりゃあもう酷い有様ですが。。。
今年の4月に株式会社paperboy&co.へ入社し、気がつけば年の瀬までやってきた。 次世代・4期生の内定式はもう2ヶ月以上も前のことで、既に新卒5期生のための採用ページがオープンしている。 新卒採用2015 | 株式会社paperboy&co. 創立12年目を迎えた私たちペパボは2015年度新卒入社する新たな仲間を募集します! 今後さらなる成長を遂げるために、私たちとともに「もっとおもしろくできる」を本気で取り組んでくれる仲間との出会いを楽しみにしています! 2013年を省みる 学び続けることを選んだ 私はペパボ3回目の新卒採用に選んでいただいた。そして2013年、新卒エンジニアとして研修にOJTにと、多くのことを学ばせていただいた。 もちろん、ソフトウェアエンジニアという、果てるまで学び続ける道を選んだのだから、「学び」は終わらない。 羽を休めることはあっても、次に飛ぶ瞬間を考え続け
riywo/anyenvを導入した直後から、Vimの起動が急激に重くなって困っていた。 関連性が全く分からず、なんだこれ…と思って調べたところ、以下のような記事を見つけた。 Vim を高速にしたたったひとつの作業 - pekeblog! なんじゃこれ・・・?とおもいつつも、デバッグコードをいれたところ、zshenv が異様に遅いことが判明。 遅いのは rbenv 関連というのは明らかだったので、とりあえずそこら辺をコメント化。 anyenvの設定を~/.zshenvにだけ書いていたのがダメだったようだ。 zshenvが思った以上にVimの中で呼ばれまくるらしく、eval "$(anyenv init - zsh)"が遅延の根本原因だった。 というわけで、evalしてるコードはzshrcに分けて書くようにしたところ、今までが信じられないくらいVimが高速化した。 vim --startupt
スクリーンショットの解像度が半端ないです。 MacBook Pro RetinaをApple ローン(学割)で購入してしまいました※1 スペックは低めのやつで、メモリだけ16GMに変更しています。以下スペック詳細。 購入したMacBook Pro詳細 15インチMacBook Pro Retina ¥174,991(学割) CPU 2.3GHzクアッドコアIntel Core i7 Turbo Boost使用時最大3.3GHz メモリ 16GB 1,600MHz DDR3L SDRAM ストレージ 256GBのフラッシュストレージ オプション バックライトキーボード (JIS) + 製品マニュアル アクセサリキット 一点失態をあげると、僕は普段USキーボード+Dvorak配列であるにも関わらず、JISキーで注文してしまったこと…まあ、HHKでも購入してなんとかします。 さて、せっかく
Itamae書いてますか!※ Itamaeが超高速で書けるようにsnippetsを作成しました。ItamaeのResources等を覚えられないVimmerな皆さん、是非お使いください! hfm/itamae-snippets 使用感はglidenote/serverspec-snippetsとほぼ同じ(はず)です。 インストール方法は https://github.com/hfm/itamae-snippets#install を御覧ください。 サーバ構築したいけど、PuppetやChefだと規模でかいなー出来ればRubyっぽく書きたいなーという需要に応えてくれるItamae最高です。 終わりに ※@glidenote先生にあやかってブログ記事も真似てみました。お、怒られるかも… Serverspecが超高速で書けるserverspec-snippetsを作った - Glide Note
TL;DR emasaka/jpholidaypを使えば二値判定で祝日 or notが得られる cronにM H d m 1-5 /path/to/jpholidayp || /path/to/cron-jobと入れれば、平日かつ非祝日にcronを実行出来る 平日動かしているjobが、祝日でも動いてしまう問題 cronは、* * * * 1-5 /path/to/programと入力すれば、月−金の平日にだけ仕事をするようになるが、祝日までは考慮しない。 営業日のみ、IRCへの通知やジョブの実行をしたい。 そこで、「cron 祝日」でググってみたところ、真っ先に以下がヒットした。 本を読む cronから使えるよう祝日判定コマンドを書いた emasaka/jpholidayp jpholidaypは祝日か否かを二値判定するプログラムで、祝日であれば0、祝日でなければ1を返す。 このプログラム
少し前の話になるんですが、30days AlbumにServerspec v2を導入しました。 本日、Serverspec(もちろんv2です)を導入し、インフラエンジニアが歓喜している 30days Albumでございますが、ソフトウェアエンジニアとAndroidアプリエンジニアを募集しております! http://t.co/O8fnhArXVb — 30days Album 写真共有・保存 (@30daysalbum) 2014, 11月 26 せっかくなので、30days Albumで使われているServerspec用のRakefileとspec_helper.rbを簡単に紹介してみようと思います。 ちなみに、半分くらいは@lamanotramaさんが書いていたりします。 (Serverspec v1時代にガガッと黒田さんが書いたのを、僕がv2用に合わせて書き直してます) Rakefil
『みんなのGo言語 現場で使える実践テクニック』を著者のひとりである中島大一さんよりご恵贈に与りました。ありがとうございます。書評経験に乏しく、頂いてからずいぶん時間がかかってしまいましたが、読了の旨とその感想を書かせていただきたいと思います。 私は Go 言語にそこまで精通している者ではなく、A Tour of Go を一通り終えた後、Mackerel プラグイン開発でちまちまと書いている程度です。Mackerel プラグインは先人の書き方もあり、ひと通り文法を学んだ後なら見よう見まねでなんとかなりました。 しかし、それら見よう見まねのコードが Go らしく書けているのか、またパフォーマンスは十分なのか等、自分に足りていないものが徐々に気になってきていました。最近は C を書くことが増え、Go のソースコードを読む時間も減り、距離が出来つつあることも不安の種でした。 本書は、そんな私がも
ngx_mruby には nginx の変数を操作するための Nginx::Var クラスがあります。対象となる変数は refs: nginx core variables の他、Alphabetical index of variables などをご参照ください。 例えば以下のようなコードで、Nginx の $date_local を参照することが出来ます。 v = Nginx::Var.new Nginx.rputs v.date_local #=> Friday, 14-Oct-2016 02:20:00 JST # ngx_http_geoip_module を使用している場合 Nginx.rputs v.geoip_country_name #=> Japan Nginx::Var クラスはこれら数多くの nginx 変数をどうやって取得しているのでしょうか。新たに変数が追加され
最近レビューする回数が多く、それから派生したまとまりの無いツイートが散見してたのでポエムでつないでみる。 レビューと健康 レビューする側とされる側、コミュニケーション次第では段々剣呑な雰囲気を帯びてくる場合がある。 この雰囲気ってやつは、個々人のパーソナリティよりも、体調面の変動をキッカケに危うくなるイメージがある。 体調悪い時はあんまレビューしない方がいい。 っていうか休んだほうがいい。 Reviewer V.S. Reviewee ? 衝突を避けられない時があると分かっていても、なるべく避けようと努力してみる。 レビューするときは「Reviewer V.S. Reviewee」の構図を作らないように、常に自分に言い聞かせてる。 — okumura takahiro (@hfm) 2015, 4月 3 相手にメンチ切らなくていいので目的を見たほうが良い レビューの場では、2人が向き合うの
次のページ
このページを最初にブックマークしてみませんか?
『blog: takahiro okumura』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く