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

そーだいなるらくがき帳

そーだいが自由気侭に更新します。

Mackerel Drinkup #4 Tokyoでサービスメトリック便利ってLTしました

先日Mackerel Drinkup #4 Tokyoが開催されました。

mackerelio.connpass.com

サービスメトリックなので実際はPluginじゃないんだけどPlugin作るつもり始めたら落とし所がPluginじゃなかったっていう背景があるので許してください。
何かの参考になればと思うのでサンプルとしてコードも置いておきます。

speakerdeck.com


github.com

ドリンクアップには色んな方に来ていただけて交流できたので最高に楽しかったです!
次回もLTをするかはわからないのですがネタは色々思いついたので頑張っていきたいです。

とりあえずこれ使うとクエリの実行回数を明確に可視化できる!みたいな事思ったけどそもそもpg_stat_statementsのプラグイン書けって話ですね。
みたいな事を次回までにやりたいなーって思ってます。
定期的に開催していくのでMackerelユーザの人もそうでない人も是非遊びにきてください!

敢えてアウェーで戦う事に意味があるって話

YAPC::Kansaiで id:takesako さんからすごくいい話を聞いたのでみんなにおすそ分け。

yapcjapan.org

スピーカー控室。
多分10:00くらいの1時間、みんなセッションを見に行ってて竹迫さんと二人っきりになりました。

発端

僕はSECCONの人として竹迫さんの事を一方的に知っていて今回のゲストスピーカーのしかも基調講演ですし「うぉー二人っきりだ!どうしよ!!」ってドキドキの中、同郷をネタに話かけました。すると竹迫さんは柔らかく応えてくれました!
その中で色々と地元トークをしてる中で僕が「僕は今回東京に引っ越して右も左もわからないんですよね。今日もPerlのイベントで僕は普段からPerl書かないし、すごくアウェー感あります。」とボヤきました。そこで竹迫さんは「それめっちゃチャンスだよ!やったじゃん!!」とすかさず返してくれました。それからアウェーに敢えて飛び込みことについて教えていただきました。

アウェーで戦うということ

竹迫さんはアウェー、つまり自分が普段活動していないコミュニティに飛び込むことは沢山のメリットがあると教えていただきました。

  • メリット
    • 自分が普段いないコミュニティこそ新しい出会いの場所
    • 自分が普段通りの事をアウトプットしてもアウェーでは新しい風になる
    • 新しい場所に行くことは自分の成長に大きく関わる

みたいな感じの内容でした。僕は普段データベースのコミュニティにいてそこでアウトプットすると共感も得やすいし、コンテクストを共有する必要もなく本題に入れるので非常に楽で心地良いです。でもそこで「若者にデータベースに興味を持ってもらいたい!」って問題提起しても問題は改善しません。設計出来る人たちに設計の話をしても「うんうん、そーだいさんは正論マンだからな」ってyoku0825さんに諭されたりするわけです。だけどアウェーに飛び込めば新しい人達にデータベースを興味持ってもらえるかもしれないし、仕事で僕達DBAが苦労するような設計を減らすことができる可能性が増えます。そう考えると「アウェーに飛び込む」ということは何か伝えたいことがあるならばより大切にしないといけないことだと強く感じました。

セールスエンジニアとして

僕は今、はてなのMackerelチームでセールスエンジニアをしています。はてなのセールスエンジニアの定義は無限に広く、明確には定まっていません。ですので僕はエバンジェリストのような活動もダイレクトセールスもする必要があると思っています。そこでMackerelを知ってもらうためにこそ、はてなのネームバリューが届かないような世界に飛び込むことがとても大切だなと思ったりしました。

まとめ

僕はありがたいことに今回のYAPC::Kansaiでベストトーク賞をいただきました。これはあの時、竹迫さんに背中を押していただいたことがとても大きな要因になっています。あそこで「そうか今チャンスなんだから精一杯やろう」と気持ちを切り替えれなかったら、この結果になっていなかったと思います。そう考えると気持ちの持ち方というのはとても大切です。皆さんも「あぁここは苦手な分野だな…」「自分の住む世界と違うな」と感じたときこそチャンスだと思えればそれは本当にチャンスになると思いますし、それを掴めば大きなブレイクスルーになると思いますので是非とも色んな世界に飛び出してほしいです。




ということで今年は色んなコミュニティに飛び込みたいと思いますので是非色々お誘いください。
僕に出来ることなら精一杯お手伝いさせていただきます。

叱ってくれる人は大事だよねって話

会社のランチ中に色んな人と話が聞けて楽しいです。

その中で叱ってくれる人って大事だよねって話題が出たのでメモとして残しておきます。

歳を取ると面倒事を避けてしまう

賢い人ほどその傾向が強いと思います。 というか年関係なく若い人でも賢い人はスッと面倒事を避けますよね。 人生は有限なので当然です。 でその面倒事の一つに「他人に叱る」ってのがありますよね。 叱る行為が原因で相手に嫌な思いをさせることもありますし、それ起因でお互い感情的になっても得しないし、相手が怒ったりしたらそれこそ時間の無駄じゃんって事で争いを避けるのは必然です。 なので歳を取るとなかなか他人を叱るって行為をしなくなったりしませんか?

そもそも怒ると叱るの違い

  • 怒る = 感情を外に爆発させること
  • 叱る = 相手によりよい方法を教示すること

叱るだとまぁ部下だったり後輩だったり自分の子供だったりで叱ることもあると思います。 この叱るべきところで怒る人はまぁ駄目だなって思います。 とはいえ、感情的にならずにかつ相手に適切に叱るのは至難の業です。 なので最初は良かれと思って叱っててもなかなかコストが合わず叱らなくなるのではないでしょうか。

じゃあどんな場面で叱ってくれる人が必要なのか

ここで怒ってくれる人って言うのは友人を指します。 友人と知人の違いは人それぞれですが一部の意見では

  • 友人=本音で話する人
  • 知人=建前で話する人

と言われてました。 僕も大体そんな感じの認識です。 で本音で話出来る中でも自分を叱ってくれる人は超貴重です。 なぜならそれが無いと自分の常識が非常識であることに気付け無いからです。 特に社会人になると交流関係が固定化されるのが一般的だと思います。 そうなるとその会社の文化では常識のことが世間一般では非常識なこともあり得ます。 または単なる無知で損をするケースもあります。 その時に率直に叱ってくれる友人はとてもとても貴重な存在です。

でどうしてそんな事言いだした?

そんな本音で語れ、叱ってくれる友人が沢山居たとしましょう。 そこに利害関係が生まれたり、育ってきた環境の違いだったり、家族が出来たなどのステージの違いだったりで意外とアクティブな交流がある友人は減っていきます。 僕も若かりし頃から(現在進行系)色んな人に御指導御鞭撻頂いてきたのですが会わなくなって久しい恩人が増えました。 だからこそ、今こそそういう友人を大切にしたいなって思った次第です。

今のつながりだけでいいの?

新しいつながりも欲しいですよね。 だから僕は自分が友人だと思ってる人には積極的に本音でトークしたいと思いますし、場合によっては叱る側に立つことも大事だなって思いました。 また僕の場合、お酒が入るとめんどくさい系男子になってしまうのですがそういった時に叱ってくれる人を大募集中です。

おまけ

完全に表参道のOLがランチ中に言ってたセリフのパクリですが「相手を叱る(Disる)ときと下ネタを言うときはオシャレ大事」です。 オシャレな一言で場を和ませながらも鋭い発言。 周囲から信頼される事間違いなしです。 僕も相手を気遣いながらもお洒落な一言を出せるように日々精進したいと思います。

まぁなんていうか縁って大事ですね。

地方の家族持ちが都内近辺に引っ越す時に考えておくと良さそうな事まとめ

地方の家族持ちが関東に引越すなんて一大イベントですよね。 なので今回、僕が福山→都内と転居する際に気付いたことを纏めておきます。

対象

大前提として

  • 転職、転勤など仕事都合での転居
  • 家族全員で引越す
  • 小学生から園児くらいの子供が数名いる

って感じです。 それではまず事前に色々調べて気づいた事書きます。

子育て支援について

自治体によって結構違います。 例えば子供の医療費。 横浜は1歳以上から所得制限があって給料多い人は受けれなかったり。 都内は大体無制限で中学生まで無料になります。 千代田区と北区に至っては高校生まで無料です。 他にも自治体によってサービスが結構違うので調べて見るの大事です。 杉並区は「子育て応援券」と言う一時保育や子育て講座、親子参加イベントなど有料の子育て支援サービスに利用できるチケットを発行してます。 子育て支援は結構大切で特に医療費などはインフルエンザなどで家族全員が倒れた時とか目も当てれなくなるので大事です。 あとは私立幼稚園の入園に対する補助とかも随分違います。 広島県福山市では幼稚園は

  • 14時が基本で延長保育で18時まで延長可能
  • 入園児が2人目で半額、3人目で無料

なので幼稚園と保育所でカリキュラム以外の部分での差があまりありませんし、待機児童の問題などもありません。 しかし都内の幼稚園は延長も無いですし、3人目無料みたいな支援も無いようです… なので子供が小さく複数名いる場合は都内での子育てはコスト的には大変そうだなと思いました。 ただ確かに共働きするための保育所は大変そうですが幼稚園はすんなり入れるようです。 我が家もまだ末っ子が園児なのですが幼稚園には特に問題なく転入出来ました。 例えば妻が専業主婦とかパートのみの場合は幼稚園でもいいかもしれませんね。

車について

車を維持するメリットよりもコストのデメリットの方が多いので手放しましょう。 車に愛着があるととてもつらいのですが趣味としてやっていく以外の強い理由はありません。 要らない理由として

  • 普段は電車かバスでなんとかなる
  • 買い物はネットで解決
  • 子供が熱を出したとか、車がほしい時はタクシー(しかもすぐ病院がある
  • 遠出したい時はレンタカー

と言った感じですね。 都心からかなり離れるような場所に住むのであれば車を持っていくのもありだと思います。 そのへんは通勤時間とか住居の場所に依存しますが基本的に手放す感じですね。

子供の教育について

これは正解がないなと感じてます。 特に熱心な教育をされる方は学校に頼らず塾に行くのが一般的なようです。 そうなると中学受験するので通学は電車になります。 そのため学校が近いなどで選ぶメリットはあまり無いようです。 そうではなく、公立の小中学校を卒業するルートの場合はある程度調べて置いたほうが良いと思います。 ただ公立の教師は転勤もありますし、当たりハズレは年単位で違うと思いますんで「明らかに荒れた地域」を外せば大体大丈夫かなと思ってます。 ちなみにうちは本人が希望しない限りは公立の小中学校を卒業する予定です。 高校は高専とか行ってくれると助かるなぁ(遠い目

習い事について

我が家の長女はバレエをしており、それを継続する予定です。 しかし東京はバレエ教室が無限にありどれにいけばいいのかわかりません… なので私は今通っている先生に相談してバレエ教室を選びました。 (三鷹、大宮の教室を進められました) 習い事も塾同様定期的に通う場所になるので通いやすさは大切です。 特に子供がやりたい!と思っている事は応援したいのが親心。 事前にしっかり決めておくことをオススメします。 またバレエに限らずスポーツなどもチームによって大きく変わります。 強いチームに行きたい!とお子さんが思っているなら近くに住んだほうが良いと思います。 ちなみに次女はサッカーをしており、広島はサッカー大国なので女子サッカーも力を入れていたのですが都内だと何処がいいんでしょうね… ここは本人のやる気と相談なのですが情報待ってます。

治安について

家族持ちにはとても大切ですよね。 これはネットだけじゃなくて地元に知り合いがいる人は積極的に聞いてみましょう。 僕も色んな方に聞いて勉強になりました。 一般的に安全と言われてるところも場所によってはちょっと危険と言われたり、ネット上では危険と書かれてても場所を選べば大丈夫だったりします。 日本は治安がとても良いと言っても小さな子どもが居ると心配ですのでしっかりヒヤリングしましょう。 杉並区や世田谷区、港区などの人気の場所はやはり比較的治安が良いそうです。 ただ人気の地域=時価も高いので難しい所。 探すコツとしては建物自体の安全性や周辺の施設など(風俗店やパチンコ屋などが無い)が大切です。

次に実際に転居先を決める時に気をつけたことです。 大体住む場所を決めたら次は家探しです。 家探しの際に気をつけたところはこの辺です。

場所について

多少歩く前提ですが

  • 通勤ルートが複数ある
    • 人身事故などでメインのルートが封鎖されても帰るルートがある
  • 自転車置場が十分にあるマンション
    • 妻、自分、子供と自転車に乗るとキャパ量が大事になるので
  • 近くにコンビニなどの夜までやってるお店がある
    • 近くに明かりがある店があると防犯上良い
  • 公園が近くにある
    • 子供が遊べる場所が近くあるってのは大事にしました
    • 子供が大きい場合は気にしなくても良いかもしれません

などを重視しました。 まぁコンビニは大体どこでも通勤ルート上にあるので気にしないし、いきなり夜買いに行くことあまり無い想定です。 買い物は車で行ってガッツリ買うという地方のスタイルから毎日自転車で買いに行くみたいなスタイルに変わると思います。 場所が山の上とかだとこの辺辛いかもしれません。 ただ車の所にも書きましたがAmazonを始めとするネットで多くの事が解決出来る便利な時代です。 日常品などもAmazonで買うと考えると買い物で外出する機会は減ると思います。 また食料品も最近はイトーヨーカドーさんなどがサービス化してるのでそのへんは楽できそうです。 一人暮らしだと駅前で食べて帰って寝るみたいな事が出来るのですが家族だとそうは行かないのでライフスタイルを意識した場所決めが重要ですね。 ただ関東は大抵駅に東急などのスーパーがあり、帰りに買い物をするのは簡単そうです。

更新料について

地方だと敷金・礼金すら無い場所だってあるのですが更に都内だと更新料があります。 2年経つと更新料として1月分の家賃を支払うみたいなやつです。 例えば子供が小学校を卒業するまで8年位居る前提だと4ヶ月分の家賃が上乗せします。 月10万の家賃でも40万、年5万の上乗せなので月換算だと4000円ちょっと上乗せがあるということです。 独身だとこのタイミングがわりと良い転居のタイミングになるようですが家族だと頻繁な転居は難しいので考慮しましょう。 ちなみに僕は比較した時に多少家賃が高いけど更新料が無いところにしました。 総負担額はあまり変わらないのであればそういう選択肢もアリだと思います。

周囲の状況

候補を絞ってきたら周囲の状況を見るのをオススメします。 良く、朝・昼・夜の時間帯の3回訪れた方が良いといいますが僕はそこまではしませんでした。 ただ訪問は数回はしたほうがいいと思います。 例えば騒音も時間帯によって違いますし、人の流れも変わります。 昼は賑やかでも夜になると急に人が居なくなる地域もありますし、逆も然りです。 また理想を言えば平日と休日でも違います。 この辺はどこまで拘るかと下調べのコストがトレードオフだと思うので自分で納得出来る落とし所を見つけましょう。 ただ地方から出てくるとどうしても不安なので不安を払拭するためには大事だと思います。 あとある程度候補を絞った後に行ってみるオススメとしては

  • メインで使う予定のスーパー
    • 時間帯で品切れが出るかとか品揃えとか
  • 子供を連れて行く公園
  • その他、利用予定の施設
  • 子供が利用する幼稚園や小学校
  • 区役所などの自治体の施設
    • ここで金持ってるなぁとかちゃんとしてるなぁとか見えるのでオススメです
    • 港区とか休日もやってるらしい
  • メインで利用する駅の近くの商店街
    • 駅の近くはその地域の人柄が多く見えます
    • 歩く人以外にもお店によってターゲットが見えてくるのでその辺意識するとどんな人が多いのか見えてきます

とかオススメです。 僕は隣駅まで1駅歩いてみたりしましたが散歩になって楽しかったですよ!

結局決め手は勢いとフィーリング

大事。 あとは巡り合わせは縁なので最悪もう一回引越すか…くらいの気持ちの余裕があるといいと思います。 賃貸だとそのへんはメリットですよね。 それに20年も住む事はあまりない(それまでに家を購入する人が多そうだし子供が出ていくと引っ越しする)ので何年くらい住むかってところであまり未来を見すぎないのもコツだと思います。 仕事が落ち着いてくれば家を買ったりする人が多いですし、それなら深く考えなくてもその時引越しますしね。 あとは引越した後の地元ネットワークに如何に混ざるかが大切だと思います。 PTAだったりママ友だったり。 そういうところは東京は希薄と言われていますが0では無いので上手く活用したいですね。

というところでまとまっては無いのですが誰かの参考になればと思います。

YAPC::Kansai で RDBアンチパターン その2 について話してベストトーカー賞を取ってきた #yapcjapan

f:id:Soudai:20170304140140p:plain

YAPC::Kansaiでトークしてきました。

yapcjapan.org

RDBアンチパターンの話してきました。
去年、PHPカンファレンスRDBアンチパターンの話をして盛り上がったのでそれの第二弾です。

b.hatena.ne.jp


speakerdeck.com

僕が伝えたい事はたったひとつ。
このブログを読んだらすぐ自分たちのサービスのバックアップとリストア手段確認してください!
お兄さんとの約束だぞ!!

このトーク応募したらGitLab.comが大事故起こしたり、S3が落ちたり世の中では大変そうでした。

www.publickey1.jp

ヒューマンエラーとかあるんですよほんと。
僕もいっぱい見てきたし、やったし(ぉぃ
なので本当にもうこれだけは絶対確認してほしいって思います。
実際に「バックアップ無いDBをバグで飛ばしたんですけどどうすればいいですか?」とか相談来ます。
ほんとサービスごと会社が無くなる話なのでみんな頼んだぞ!

YAPC::Kansaiの話

本物のやぷしーに参加したのはこれが初めてでした。
Perl書かないしって今まで参加してなかったけど結論、最高でした。
そもそもPerlの話も面白かったし、Perlじゃない話も面白かったですね!!
前夜祭からぶっ飛んだ話いっぱい聞けたし、すごい人たちとお話出来るってホント幸せでした。
なにより自分はアプリから下のレイヤー好きなんだなぁって再確認も出来たのが良かったです。
あと「はてな」って言うPerlの会社に居ることの幸せとか、Perlの人たちのUNIXに対する想いとか、色んな学びがあったイベントでした。

思い残すことがあるとすればベストトーカーになれなかったことですね…
本家ベストトーカーの称号欲しいので機会があればまた参加したいですね!!

ベストトーカー賞とったどー!!

まぁ最高なこととPerlを書くことは別なんですけどね。

地方のエンジニアこそPaaSやSaaSを利用すべきって話をしてきた

今日はブログ更新頑張るDayです。
米子にイケてるPHPのイベントがあったので参加した時の話です。

speakerdeck.com

ちょっとslideの補足書きます。

Webサービスのインフラ

地方の受託開発だとまずはレンサバ。
それを前提にレンサバの責務を超えるとVPSを借りてサービスを作るのが一般的ですよね。
でも自分たちでちゃんとVPSをメンテナンスするの大変だって話を沢山聞きます。
レンサバはよく出来たPaaSでインフラ部分を業者側がメンテしてくれます。
それと同じようにメールであったりDNSもPaaSに任せましょう。
どんどんPaaSの肩に乗って楽をしましょうってのが1章の話です。

運用と監視

受託開発だとこの2つはコスト部門だからと言って無視してませんか?
本当に良い受託開発はユーザの課題を解決し、サポートパートナーとして寄り添うことだと思います。
だからこそリリースした後の事もサポート出来る仕組みは大事ですよって話をしました。
ここでは例えばお客さんが何らかの理由でデータをぶっ飛ばした。
その時シュッと復旧できればその顧客は一生のお付き合い出来る関係が築けますよと話をしました。

そして年単位の時間が経った後に問い合わせ来ることってありますよね。
その時に歴史を残して置くことってめっちゃ大事です。
特に開発時の歴史を残すって大事だし、作業時の粒度とかも目に見える形にすることが大切です。
そういうところでGitのSaaSを使うと便利ですよって話をしました。
あとちょっとだけカンバンの話もしました。

監視については提案って何にも無いところからは出来ないですよね?
そのために毎日の変化を見ましょう。
それによって予兆に気づけるようになるんですよって話をしました。
Mackerel ってヤツがおすすめです(ステマ

mackerel.io

運用の自動化

エンジニアのリソースはどこも足りてないですよね。
だから効率化、簡略化が大事でそういうために自動化しましょうって話をしました。
まずはPHPはリリース関連を自動化するのが簡単なのでオススメですって話題をしました。
あとエンジニアとしてオススメは社内の事務作業の自動化しましょうって提案しました。
エンジニアリングでまずチームを助ける。
それって要件も工数もシンプルなのでシュッと手を付けれるし、それすらリソースが無いならチームとしてヤバイです。
なので若い人、ぜひぜひ社内の色んなバックオフィスの自動化とかしてほしい。
それが必ず仕事の受託開発にも活きてきますよって内容でした。



エモい話も多かったのですが懇親会では「良かったです」ってお声をいただけたりして嬉しかったです。
あと米子、酒も飯も上手いし最高なのでみんなも遊びに行きましょう!!

Webサービスが成長するとロックで苦労する話をしてきた

気がつけばもう3月。
毎月、ブログを書こうと思っていたのにいきなり2月で挫折しました。
でも過去を振り返っても仕方ないので気持ちを入れ替えて登壇報告です!!

第19回中国地方DB勉強会 in 米子とMySQL Casual Talkで登壇しました。

speakerdeck.com


# 第19回 中国地方DB勉強会 in 米子
dbstudychugoku.github.io

# MySQL Casual Talk
togetter.com

ロック、苦労しますよね。
しかもここでは紹介しませんでしたが粒度としてはここで話したのはHeavyweight Lockの話なのでもっと下のレイヤーも絡みだすと泥沼です。
でもハードの力を使い切ることはエンジニアの腕の見せどころでもあると思います。
このへんの話、苦労話は多いけどじゃあどうやって打開したか!?みたいな話は少ないので機会を見つけてアウトプットしたいなって思います。
次回のMySQL Casual Talkも楽しみです。


※引用元

ロック制御 - PostgreSQL Internals

  • Heavyweight Lock

- ユーザー(DBA)から見えるロック
- テーブルロックなどに使用。pg_locksビューから確認可能

  • Lightweight Lock

- ユーザー(DBA)から見えないロック
- バッファのロックなど、内部的なリソースのロックに使用

  • Spinlock

- ユーザー(DBA)から見えないロック
- CPUやメモリなどの超短時間だけ使用するロック
- CPUやメモリ操作のAtomicityやConsistencyを担保するロック

ちなみに今回の中国地方DB勉強会が自分がJPUGの中国支部長として開催する最後のイベントでした。
今後の中国支部長は @ikkitang くんが引き継いでくれます。

twitter.com

僕が先輩方から頂いたバトンを次の世代に渡して成長を促すターンになったかと感慨深い気持ちです。
新たな体制の元、今後の中国地方DB勉強会もお楽しみに!