Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

ブログ名を変更しました

ブログのタイトルを「Challenge Java EE !」から「Challenge Engineer Life !」に変更しました。

「Challenge Java EE !」は狭い世界で生きていた自分の人生を変えてくれたブログなので、名前には愛着がありました。でも、2016年に部門異動して以降、仕事でJava EEを触る機会がなくなり、ブログに書く内容とブログ名の乖離が徐々に大きくなりました。Java EEもJakarta EEに改名されたので、このまま今のブログ名を引きずるのも良くありません。そこで、心機一転「Challenge Engineer Life !」にブログ名を変更しました。

ブログを立ち上げた初期の頃の記事を読み返していたら、初心を思い出しました。気持ち新たに、継続して情報発信していきたいと思います。

kikutaro777.hatenablog.com

de:code 2019に参加しました!

5月29日と30日の2日間、Microsoft主催のde:code 2019に参加しました。前回の参加は2017年だったので約2年ぶりでした。当時の参加レポはこちらです。

de:code2016の西脇さんプレゼンが凄かった… - Challenge Java EE !
de:code2017で堀江さん・落合さんセッションが面白かった! - Challenge Java EE !

今回参加したのは次のセッションです。

【Day 1 5/29】

【Day 2 5/30】

以下、それぞれの感想を簡単にまとめます。

続きを読む

Javaで脳内メーカーみたいなサービスを作ってみた

先日、久しぶりに「脳内メーカー」を試したときに

「同じ名前を入れると結果が同じだけど、どういう仕組みなんだろう?」
「どうやって画像を作っているんだろう?」

と内部的なところに興味がでて、自分も似たようなWebアプリを作ってみたいなぁと考えるようになりました。Javaを使って自分だったらどう実装するか考えたり調べたりしながら、ここ1ヶ月コツコツとプログラミングしてました。

まだ細かいエラー処理などの実装が必要ですが、とりあえず乃木坂46 21枚目の選抜発表に合わせて7/1にリリースしました。

www.rpgparty.sakamichi46.com

トップページはこんな感じで、ゲーム感を出してみました。

f:id:kikutaro777:20180702233924g:plain

メッセージがピコピコ流れていますが、これは iTyped.js というJavaScriptライブラリを使って、タイプライター風に表示しています。

フォントは PixelMplus(ピクセル・エムプラス)を使いました。漢字まで含まれていて素晴らしすぎる…。ライセンスの自由度も素晴らしすぎる…。
itouhiro.hatenablog.com

アプリの内容は脳内メーカーと同じです。名前を入れたらランダムで乃木坂メンバーをピックアップしてRPGパーティを組むというもの。完全なランダムではなく、名前の文字が同じであれば同じパーティとなります。

f:id:kikutaro777:20180703005804p:plain

「キクタロー」の結果はこちらです。

f:id:kikutaro777:20180702233359j:plain

豪華すぎる結果になってますが、開発者が有利になるような仕組みは入っておりませんのであしからず(^^;

ちなみにドット絵も頑張って作りました(^^;dotpictというアプリが素晴らしくて、スマホで簡単にドット絵を作れるので、外にいるときでも空き時間とかに作っていました。

dotpicko.net

以下のサイトでベースを作って、あとは乃木坂の制服や衣装にあわせた感じです。

ちびキャラを描いてみよう編【現役ゲームクリエイターによるドット基礎講座 第2回】 - Creatures Garage

「Peing - 質問箱 -」なども大流行りですが、あれはツイートしたときに表示されるカード画像が目立つことが人気の一端になっていると思っています。なので、自分もああいう仕組みも入れたいなと思いました。画像はJavaのGraphicを使って生成しているのですが、最初はそれをbase64にしてhtml表示していました。ただ、これだとTwitter Cardで表示されないという…。どうやら静的なURLが必要なようです。(この辺? 詳しい方いたら教えて欲しい…)

AWSのS3とか使って画像を保存させるしかないのか…と思っていたのですが、調べてみたら Cloudinary という画像・ビデオのアップロード&加工が簡単にできるサービスがありました。試したら便利だったので今はこれを利用しています。

cloudinary.com

Freeプランでもかなり使えます。
f:id:kikutaro777:20180703004342p:plain

これで以下のような形でTwitter Cardがしっかり表示できるようになりました。この辺は実装してみないとわからないものですね。

Webのフロントhtmlは Netlify に置いて、パーティや画像の生成をするサーバサイドは Heroku を使っています。Webフレームワークは Spring Boot + Thymeleaf です。

乃木坂ファンをターゲットに作っていますが、乃木坂46をあまり知らない方も是非お試し欲しいなと思います。そして出て来たメンバーを是非知ってもらえると嬉しいです><;需要があれば、欅坂46、けやき坂46(ひらがなけやき)にも対応します!

2017年振り返り+2018年の抱負

あけましておめでとうございます。年が明けてから時間が経ってしまいましたが、2017年の振り返りと2018年の抱負について書きます。

2017年の振り返り

2016年後半に部門異動して、受託開発&Developerからサービス提供&Supportの業務に移って1年。新しい環境で学ぶことが多くて大変ですが、とても良いチームでストレスもなく、振り返ると充実した良い1年でした。

良かったこと

仕事
  • テクニカルサポート本格参入
  • ハンズオンを担当 #マーケティングキャンペーン機能ハンズオン次回は2/1です!
  • SendGrid社訪問
  • Pardot本格利用を担当 #設計や検証で遅れて本格稼働は今年
  • JJUG CCC 2017 Fallスポンサー #個人的にはとても嬉しいこと!
  • デブサミなどのイベント展示担当
  • de:code2017参加 #2017年は会社経費。ありがたや。
  • 出世 #後述しますが同時に悩みにもつながる...
個人

あとどちらの枠にも入らないのですが、ずっと応援してる乃木坂46がレコード大賞受賞したのが年末で一番嬉しかった出来事です。

悪かったこと

悪かった、というか反省点。

仕事
  • 日本語を書く力のなさ
  • 変な自己プレッシャー
個人
  • 乃木坂46に投資しすぎ
  • もう少し親孝行などを(祖母含め)

SendGridチームでは文章のレビューを徹底しています。サポートの回答やブログなど、外に出る情報は特に厳しいのですが、昨年はレビュアーに負担をかけてしまった1年でした。文章が長くなりがちなど、自分の悪い癖は把握しつつも、それ以前に基本的な日本語の使い方や読み手のことを考えた文章が書けないなど、色んな課題に気づかされました。書籍執筆した時も振り返り、今年はこの点を真摯に磨いていきたいです。

あと、良かったこと、に挙げてますが、今までの仕事で評価をいただきランクアップしました。ありがたい限りです。ただ、嬉しい反面、仕事内容がガラッと変わって今の自分にできることがギュッと小さくなっているため、逆に焦りが変に出てきました。上記の日本語のことや、その他思うようにいかない時に過剰に凹むなど、変に自己プレッシャーがかかってしまって良くないです。どうしたものか。とりあえず努力を積み重ね、結果を出すしかないので頑張るのみ。

2018年の抱負

MSの西脇さんが話されてる「点を増やして面を大きくする」話(ex. これとか)がとても好きで、今年は新しいことにも挑戦して、点を増やしていきたいです。

現時点で考えていることを社内と社外で1つずつあげると...

社内で部門横断的に開発の話ができる場作りをしてみたい

部が違えば会社が違う、というレベルで各部やってることが違う弊社ですが、開発はもっと部門の壁を超えて知識共有すべきだと思うんですよね。そういう交流の場が圧倒的に少ない気がします。未だにxUnitとかの自動テストって何?みたいなところもありますし....。そういう場を作って何の意味があるの?とか考える前に行動してみるのもありなのかなーと。まずは、そういう場を望んでるメンバがいるのか?というところから探さないといけませんがw(そういう想いを持ってた人が何人もいたのですが、皆いなくなっていく...)

他社様とのコラボ

SendGridが使えるPaaSであったり、連携するサービスだったり、出張ハンズオンみたいなものだったり、形はなんでもいいのですが、何かコラボ企画みたいなのができるといいなぁと思っています。って考えがざっくりしすぎですが(^^;

他には

  • メールのことを一から勉強しつつ情報発信(地味に一番意識してる)
  • ドッグフーディング兼ねて作りたいシステムがあるので開発する
  • 英語力を向上する(目指すはTOEIC850超え)
  • 社外イベントでの発表

など、頑張りたいことが多々あります。今年も少しずつ成長していきたいと思います。

JJUG CCC 2017 SpringでBot開発の話をします!

JJUG CCC 2017 Spring

5/20(土)、ベルサール新宿で行われる「JJUG CCC 2017 Spring」で、Bot開発の話をします。仕事ではなく、趣味の開発ですが(^^:

夕方16時45分から20分の短いセッションですので、休憩がてら気軽に参加いただけると嬉しいです。裏枠が強力すぎて、ブログでも書かないと集客できない気がして書きました。

f:id:kikutaro777:20170428003129p:plain

タイトルが「Javaとアイドルのコラボ!?某アイドルBot開発の裏側」と若干釣り気味な感じですが、真面目な話をする予定です。

ターゲットは「普段プライベートでもコード書きたいと思うけど、中々なぁ…」という方や「趣味開発で何か作りたいけどネタがないなぁ」という方など、何か開発のとっかかりとなる題材を求めてる方に聴いていただけると嬉しいです。新人さんとかで「仕事でJavaやることになったけど、本だけだとモチベーション湧かない」みたいな方も是非!

あと「乃木坂46大好き」って方も是非(^^;

継続は意外と難しい

去年異動してから、仕事でゴリゴリとプログラムを書く機会は減りました。その分、趣味で遊び開発することが多く、Xamarinとかで遊んでました。(今、久しぶりにみたらもうちょっとで2万ダウンロードでしたw)

kikutaro777.hatenablog.com

そして、Bot作ってみたり。

kikutaro777.hatenablog.com

わりとしょうもない遊びばかりですが、仕事でやったことがなかったスマホアプリの開発を経験して、Google Play Storeにアプリリリースするまでの方法を学んだり。Botも裏ではSpring Bootを触ったり、MicrosoftのCognitive Services触ったり、と意外と色んな勉強につながってます。

完全に自己満足の世界ですが、作っていると「こういうのやりたいなぁ」と思って色々探してみたり、見つけたものを使って機能を実装してみたり。勉強会とかで新しいサービスとか技術を知ると「お、こんなサービスあるのか、使えないかな」とか思って触ったりするので、学びを継続する良い題材になったりしています。

こんなつぶやきを少し前にみましたが

まさに!

とはいえ、どうしても仕事が忙しくなると趣味開発に割く時間は減ってしまうんですけどね(^^;

LINE Botを友だち追加してセッションへ!

ということで、以下のBotを入れてセッションへ遊びにきていただけると嬉しいですー!

f:id:kikutaro777:20170428210427p:plain

機能とかはBotの公式サイトで紹介してます。

wakasamabot.sakamichi46.com

GWは発表資料作らねばだけど、Botももう少し色々いじりたいなぁ。

転職(社内)して半年ちょっと経った振り返りと今後

仕事の内容が変わってから半年+α経ちました。やっと新しい業務にも慣れてきたのと、最近社内で振り返り・今後について考える機会があったので書いてみます。

ポエムです。

受託開発からサービスサポートの世界へ

私は入社以来、約10年ほどエンプラ系の受託システム開発に従事してきました。そして去年、事業開発系の部門へ転職異動してSendGridチームにジョインしました。

SendGridはメール配信のクラウドサービスを提供している米国の企業で、弊社が国内の正規代理店となっています。現在はサポートを中心に、色々な作業をしていて、今までとは毛色の異なる仕事が多くて日々新鮮です。

井の中の蛙

振り返ると会社入ってから7,8年くらいは「会社がすべての世界」みたいに視野が狭い人間でした。(視野の広い人が多い会社なんですが…)

あるとき、初めてJavaのWeb案件に関わることになって、部内や社内に知見がなくて困っていた所、「日本Javaユーザグループ(Japan Java User Group, JJUG)」なるものがあることを知りました。はじめて勉強会に参加したとき「こんな世界があるのか!」と感動したのですが、今思えば、あまりにも井の中の蛙過ぎたんだよなぁと(´・ω・`)

ちなみに、このブログ読んで「へー、そんなのあるんだ」と思った方は是非5/20にあるJJUG CCC 2017 Springというイベントにご参加ください!

www.java-users.jp

Java楽しいワイワイ

JJUGの勉強会に参加して、そこで学んだことや日々の開発で知ったことをブログに書いてるうちに、徐々にTwitter等で新しいつながりができたりしました。アドベントカレンダーに誘っていただいたとき、とても緊張したことを今も覚えてます。

外で発表させていただく機会も徐々に増えました。一番緊張したのはやっぱりJJUG CCCだったかなぁ。久しぶりにスライドを持って来たら2014年!!そんなになるのか…。

発表の機会を通じて、段々と現実世界で人とお話する機会も増えました。元々すごいコミュ障人見知りであまり人と積極的に会話できないタイプだったので、人と話すことの大切さに改めて気付いたり(^^;

Java EEのプロジェクトを幾つかやって、その辺の話も取り上げていただいたり。

初めてのJava EE 6開発! 最初の壁をどう乗り越えた?──最新Java EE開発“虎の穴” 第1回 菊田洋一氏 - builder by ZDNet Japan

「顧客ニーズへの柔軟かつ速やかな対応」、「開発環境のカイゼン」──Java EE 6の採用で構造計画研究所が得たメリット - builder by ZDNet Japan

気が付けば本の執筆に声をかけていただいて、とても良い経験をさせていただきました。

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)
きしだ なおき のざき ひろふみ 吉田 真也 菊田 洋一 渡辺 修司 伊賀 敏樹
技術評論社
売り上げランキング: 132,172

パーフェクト Java EE
パーフェクト Java EE
posted with amazlet at 17.04.27
井上 誠一郎 槙 俊明 上妻 宜人 菊田 洋一
技術評論社
売り上げランキング: 28,950

新しい環境での悩み

一方で泥臭い開発案件も多く、去年は厳しい案件にあたり心身ともに疲弊してしまいました。そんな中、社内で一番先鋭的な取組みをしてるSendGridチームに巡り合った形です。

メールといえばJavaMailって感じな自分でしたが、改めてみてみると、メール世界の奥深さにびっくりします。レピュテーションとかIPウォームアップとか色んな概念があって、海外ではメールに関連するあらゆるサービスがあります。

日々勉強(^^;

で、そんな中、先日とある面談したとき

「キクタローさんがジョインして、獲得したお客さんはどのくらいいるの?」

と聞かれたのですが、答えられれなかったんですよね。自分の話で興味持って登録してくれた人は具体的に特定しきれないので、数値を出すのも難しいですが、まぁ少ないだろうなと。

自分の考えではJavaでやってたように、コツコツと発信を続けて、何年かしたら、みたいに思っていたのですが、この歳になって求められるのは結果だよなぁと。

社外への転職と考えれば結果求められるのは当然だろうし…

……

かといって、自分としては今まで開発者だったイチエンジニアがいきなり「SendGridいいんですよ!」といっても響くわけがないと思ってて。

難しいなぁと。

なんかカリスマ的な人だったら、それだけで広まるんでしょうが。

自分のようなタイプはもっとサービスのことを色々話せるようになることを意識しながら、これまでやってきた技術とかと絡めて情報発信を積極的に続けるしかないと思っています。

ということで今後も色々発信していきたいと思います。もし

・ハンズオンでメール送信にSendGrid使うから説明プレゼンして欲しい
・アプリのバックエンドでメール送信したいサービスについて教えて

みたいなお話があればお声かけいただければと思います(^^)

今までだと以下のような関連で発信してるので、クラウドサービスのハンズオンで、とかXamarinみたいなモバイルアプリのバックエンドで、みたいな話とか。

・Java関連
sendgrid.kke.co.jp

kikutaro777.hatenablog.com

kikutaro777.hatenablog.com

kikutaro777.hatenablog.com

・Azure
qiita.com

・Xamarin
qiita.com

・Salesforce
kikutaro777.hatenablog.com

・Line Notify
sendgrid.kke.co.jp

・Google Cloud Platform
kikutaro777.hatenablog.com

・Cloud Foundry(Pivotal)

・Cognitive Services

今年は自分で何かサービスを作って、そのバックエンドのメールでPostfixとかApache JamesとかSendGridとか使って運用し、SMTPサーバとしての比較なんかもしていきたいです。

4月22日はエバンジェリスト(+乃木坂46)な1日に! #evatfm

今週の土曜(4月22日)は2つのイベントに参加します!!

新エバンジェリスト養成講座 14時~16時
f:id:kikutaro777:20170418191828p:plain

TOKYO FM「エバンジェリストスクール!」 公開収録 17時(予定)
f:id:kikutaro777:20170418230603p:plain
なんと、ラジオ公開収録の抽選に当選しました(^^)!!!

こちらの公開収録は普段パーソナリティを務める乃木坂46の若月佑美さんに加えて、ゲストとして秋元真夏さんが参加されるとのこと!これは楽しみすぎる(>_<;

私のような乃木坂ファンのエンジニアとしては既にワクワクが止まらない感じです。というわけで、当日へのウォームアップアップを兼ねて(なんの?w)ブログを書いてみます。

きっかけ

youtu.be

イベントはどちらも日本マイクロソフトの西脇資哲さん主催です。IT業界ではとても有名な方で、お名前は知りつつも、実際に生でプレゼンを拝見したのは去年のde:code2016が初めてでした。このときの衝撃はブログでめっちゃ書きましたが、感動で一気に惹かれるきっかけとなりました。
kikutaro777.hatenablog.com

Tokyo FMのラジオ「エバンジェリストスクール!」(以降、エバスク)は放送初回から毎週聴いていて、こちらは「乃木坂46の若月さんがラジオパーソナリティをやる」という乃木坂きっかけで知りました。実際にラジオを聴いてみたら、ITやプレゼンなど自分にとってかなり身近なコンテンツで、かつ、実用的な話が多いの、すっかりハマっていました。
kikutaro777.hatenablog.com

そんなこんなで両イベントに申し込みした次第です。

ロマンスのスタート

youtu.be

自分は長らく箱推し*で、特定の推しメンはいませんでした。が、エバスクを聴き始めて、若ちゃんの真面目さ、そしてたまに抜けた感じのチャーミングさにやられ、現在は推しメンとなっています(^^;

*特定のメンバを推さず、グループ全体を推すこと

まさにラジオをきっかけにしたロマンスのスタート

グッズがどんどんと。。。(写真は一部ですw)
f:id:kikutaro777:20170418232748j:plain

まさに「気づいたら片想い」です。
youtu.be

ちなみに人生初のラジオへのハガキ(メールですが)投稿でメッセージを送ったところ、なんと採用されました!エバスクではメッセージが読まれると若ちゃんから直々に役職がもらえる*ということになってまして、私はBotに関する質問をしていたのでボッターなる役職をいただきました。どんな役職だよっ!

*スクールですが会社的な設定になっていて、若ちゃんは専務です。

ちなみになぜBotの質問をしたかというと、ちょうど自分がBotを遊びで作っていたからでしたw 乃木坂ファンというか若月さんファン向けなので是非遊んでみてください。LINEで遊べます。
kikutaro777.hatenablog.com

インフルエンサー

youtu.be

エバスクが始まった当初、Twitterでの(リスナーの)つぶやきは今に比べるとかなり少なかったと思うんですよね。それがいつの間にかトレンド入りが当たり前になってて、今やすごい増えています。当初からラジオとTwitterが連動していて(ちなみにハッシュタグは #evatfm)、毎回、番組公式の @waki_evatfm アカウントがリアルタイムでつぶやいたり、リスナーとコミュニケーションしたり、それが毎回行われるのでドンドンとツイート数が大きくなってます。これを毎週リアルタイムにやるのってかなり大変だと思うんですよね。。こういう所にも感動します。

IT業界で有名な方が乃木坂46のクラスタに飛び込んで大丈夫なのかっ、と最初思ってましたが、全てが超貪欲でライブや舞台、握手会参加(しかも優待枠ではなく全てファンと同じ申し込みっていうw)、楽曲や活動に対する知識、そしてモバメまで。。そのあまりの活動ぶりに乃木坂ファンも「すごい!」となって今や握手など求める方もたくさんいらっしゃるというw

エバンジェリストすごすぎる、影響与えまくりなインフルエンサーですね(^^)

ということで、影響受けた自分はイベントに参加!エバスク公開収録は乃木坂ファンがいるの当たり前ですが、Twitterとかみてると、新エバンジェリスト養成講座のほうも乃木坂ファン率が高そうな気が(^^;;;

そして学生の方々もたくさん参加しそうですよね。若い頃にこういう講座とか参加して、意識的に勉強したり発表するようになったらすごい力がつくと思います。間違いなく、会社入ってからとか社会に出てから役に立つスキルですし。

ということで、2つのイベントに参加して、会場の雰囲気など含めて改めてレポートを書きたいと思います!!!

デンバーでSendGrid本社、サンフランシスコでサイボウズさん、Herokuさんに行ってきた!

3/2からSendGridの本社があるデンバーへ(SendGridエバンジェリストの id:nakansuke さんとお仕事で)行ってきました!!

人生初のデンバー。例年は時期的にとても寒いとのことですが、滞在してる間は幸いにも日本とあまり変わらない気温でした。

Denver International Airport
f:id:kikutaro777:20120101000000j:plain

飛行機を降りて空港ロビーまでの間にネイティブアメリカンの写真などが並んでるのが印象的でした。帰りがけは車で空港まで移動だったのですが、運転手の方がネイティブアメリカンの方だったし、コロラド州はそういう方々が多い地なのかな。この辺は歴史をちゃんと調べてみたい。ちなみにその運転手の方「サムライは強い精神(spirit)を持ってて好きだ。」とか「アニメ好き。いつか日本行ってみたい。」とか話してました(^^)

空港からUnion Stationまで電車で移動。
f:id:kikutaro777:20170311010739j:plain

電車快適!

Union Station
f:id:kikutaro777:20170310075054j:plain

市内はFreeに乗れるバス(RTD)もあって便利だし、とにかく雰囲気が良いところでした。治安が全体的に良さそうで、変な話、ホームレスっぽい方々が全然いなかった。ここなら住みたいかも!って思いました。サンフランシスコやニューヨークは良い所だけど住みたいとはあまり思わなかったし、何度かミネアポリスも行って、とても良い所だったけどデンバーの方がいいなーと。実際住むと色々違うのかもしれませんが(^^;

f:id:kikutaro777:20170311085434j:plain

Colorado Convention Center
f:id:kikutaro777:20170311083059j:plain

ここはテック系イベントとかでも使われるらしいですー。くまさーん。

f:id:kikutaro777:20170310213326j:plain

この旗はコロラドの州旗らしいのですが「ポケモンボールにしかみえないんですよね」と言われて、それ以降、自分もポケモンボールにしかみえなくなってしまいました…orz

f:id:kikutaro777:20170311090218j:plain

ホテルはSendGridオフィスがあるビルのすぐ隣、Denver Marriott City Centerホテルでした。超快適。

SendGrid

SendGridのオフィスへ着いたときにツアーしてもらったのですが、とにかくカッコいい!そして、人と席が現在進行形で増えてて、すごい成長してる感じでした。

エレベーターを降りたらいきなりロゴを意識した壁!オシャレ。ここで興奮しすぎてエントランスを撮り忘れてしまいました…(*´Д`)
f:id:kikutaro777:20170310220844j:plain

至る所にロゴを意識したデザインがあって面白かったです。時計~
f:id:kikutaro777:20170311092317j:plain

卓球のラバーまでw
f:id:kikutaro777:20170310220839j:plain

ミーティングルームがメッチャありました。個人の部屋も多かった。各部屋には「Sleepy Cat」とか色んな名前が付いていました。任天堂とかのゲームキャラ名が多かったな(笑
f:id:kikutaro777:20170310220843j:plain

フロアの中にぶち抜きの階段があって移動できます。
f:id:kikutaro777:20170310220845j:plain

The Grid!!
f:id:kikutaro777:20170310220841j:plain

f:id:kikutaro777:20170310220842j:plain

なにこれカッコイイ!
f:id:kikutaro777:20170309233326j:plain

キッチン全体の写真を撮り忘れてしまったのですが、すげー広くて机とイスがメッチャ並びつつ、フリーに食べ物が並んでました。この日はちょうどワッフル焼いてて朝食いただきました。むちゃ美味しかった(^^)
f:id:kikutaro777:20170303092011j:plain

ナッツとかお菓子も充実。ビールやワインもありました(^^)
f:id:kikutaro777:20170310220840j:plain

この日は終日SendGridとの打ち合わせでした。英語はめちゃ速い(^^;;;文脈逃すと全然わからなかったり、マーケティング系の用語やサービスの名称はそもそも日本語で聞いても…みたいなものも多く、日頃の視野の狭さを感じました。絵英語含め、色々勉強しないとなぁ…。

打合せ内容はさすがに書けないですが、日本からissueや要望を色々伝えました。日本のマーケットをしっかりフォーカスしてて、パートナーとして強く意識してくれてるのがありがたかった。自分はここ半年の新参者ですが、id:nakansuke さん、ここまでパイプつないだのすごいなぁと。

あ、そうそう、USのメンバが3月末にSlush Tokyoに参加するため来日します。我々日本スタッフもSlushサポートするので、興味ある方は是非ご参加を!

3/29-30
Slush Tokyo 2017 - Slush Tokyo

前日の夜にはSendGrid Night #7を開催し、ここでもUSメンバに登壇してもらいます(^^)国内のユーザ様事例などの話もあるので、こちらも是非!
sendgrid.doorkeeper.jp

そういえば、打合せの部屋からSendGridバスが偶然みれました!前までBoulderにもオフィスがあって、バスを出してたようです。今はDenverオフィスに集約されたのですが、Boulderに住んでる方も多くバスは継続してるみたいです。
f:id:kikutaro777:20170303161155j:plain

Brandonさんの家

夜はSendGridでDeveloper EvangelistやDirector of Developer Relationsとして活躍されてたBrandonさん(今は他の企業へ)のお家へ招いていただきました(^^)家に招いてもらうとか初めて(^^; id:nakansuke さんと親交が深いのだなぁと。

ちなみにBrandonさんは7月に東京であるDEVRELCONでSpeakerとして来日されます!super early birdは3月末まで超お得です。私は早速申し込みました(^^)

tokyo-2017.devrel.net

ディナーの肉!!!USのお店でもみないサイズにびっくりです!butcher(肉屋)でおろしてもらったらしいw

f:id:kikutaro777:20170311104426j:plain

f:id:kikutaro777:20170311103552j:plain

Cookも本格的で低温調理してから焼くというこだわり!待ってる間、近くのBarに連れて行ってもらいました。
f:id:kikutaro777:20170311104248j:plain:w300

屋上からの景色が最高すぎた(*´Д`)
f:id:kikutaro777:20170311104711j:plain

f:id:kikutaro777:20170311104852j:plain

ステーキは死ぬほど美味しくて、めっちゃ食べたw お店で食べるのよりめちゃくちゃ美味しいぞこれ、って感じで貴重な体験でした!食事は奥様と妹さんも一緒で、楽しい時間でした(^^)Thank you very much!!!
f:id:kikutaro777:20170311105227j:plain

めちゃくちゃお腹いっぱいだったけど、デザートでアイスクリーム食べに連れていってもらいました(笑)寒いのにめちゃくちゃ並んでて、何事!?と思ったら、こちらではすべての味をお試しできるらしく、皆すげー時間かけて試食してるっていうwww

はー楽しかった。

翌日はデンバーに駐在してる会社の先輩にRed RocksやBoulderに連れていっていただき、BREWERYで飲んだりと休日を堪能しました。こっちにいたら長生きしそう(^^;

f:id:kikutaro777:20170311105815j:plain

f:id:kikutaro777:20170311110142j:plain

で、3/5の朝にサンフランシスコへ移動しました。

サイボウズさん at サンフランシスコ

本当はOrange CountyのSendGridオフィスへ行く予定だったのですが、ちょうどGoogle Nextがあるタイミングで、SendGridメンバがサンフランシスコに行くとのこと。最終的にディナーが目的となりました。

で、ディナーまでの時間、いくつかオフィス見学させていただきました。最初はサイボウズさん。USだとkintoneの名前なのですね。

kintone Corporation
www.kintone.com

場所はモスコーニからちょっといった辺りで、すごいオフィス街なところでした。なぜかビルの写真すら撮り忘れてしまってた…(*´Д`)

ぶらり訪問と聞いてたのでPCすらホテルに置いてしまってたのですが、着いたら打合せっぽい感じになって汗汗(^^;;;お話の中でUSにおけるkintoneの事例とかも聞けて「うぉー、熱い!!」って感じでした。すごい勢いでそうだなーと。

私は元々、製造業のお客様へコンフィグレータ(日本では馴染みが薄いですが、海外ではCPQ(Configure-Pricing-Quote)と呼ばれて核となってる仕様選定エンジン)を中心にした販売管理システムの開発をやってました。ほとんどが業務改革プロジェクトなのですが、まぁこういうシステムというのはSI系な方々は経験あると思いますが苦労に耐えないですよね(^^;案件によっては仕様確定が延々と進まなかったり…。

CPQのパートナーだったFPXという会社では、クラウドサービス化してSalesforceなどのCRMとつなぐビジネスをメインとしています。で、日本でもそういう方向に舵を取ろう、ってなって、日本だとSalesforce以外にもkintoneとかいいよね、という話があって、そのとき私も少し触ってました。ああいう実際に触れる環境があって、色々試しながらスモールに導入して業務改善していくのがいいなぁと。

今は部を移ってSendGridなので、kintone x SendGridの方向です。kintone最近は全然触ってなかったので色々やってみよう~!

Herokuさん at サンフランシスコ

サイボウズさんの次にHerokuさんへ!

f:id:kikutaro777:20170310231241j:plain

現地で働かれてる日本人エンジニアの方に社内ツアーしていただきました(^^)

f:id:kikutaro777:20170311121624j:plain

f:id:kikutaro777:20170311121817j:plain

Herokuは趣味開発でもよく使わせていただいているので、生でUSオフィスみれて興奮しました(^^)!お話もサポートあるあるみたいな所から現地のエンジニアや開発に関してなど、色々楽しかったし、刺激になりました。


と、そんなこんなで盛りだくさんな米国出張でした。

ちなみにオフィス訪問の前日はスタンフォード大学にいる弊社社員の方にワイナリーやゴールデンゲートブリッジに連れていっていただき、最後はJavaOne蟹を一緒にいただいてました(^^;

f:id:kikutaro777:20170311120105j:plain

帰ってきてからまだ時差ボケが抜けきっていない感じですが、気持ち新たに色々頑張りたいと思いますー!

Twitter4Jでエバスクのツイートを分析してみた #evatfm

昔、乃木坂46公式Twitterアカウントのつぶやきを見ていて「最近一番多くRTされたツイートってどんなのだろう?」と思ったことがありました。で、当時Java EEとTwitter4Jの勉強兼ねてリツイート数とファボ(いいね)数が確認できる以下Webアプリを趣味開発して公開してました。

http://46collection.sakamichi46.com/
http://cdn-ak.f.st-hatena.com/images/fotolife/k/kikutaro777/20160313/20160313235434.jpg

で、最近ラジオ「エバンジェリストスクール! - TOKYO FM Podcasting」の公式ツイートみてて全く同じことを思ったり。

twitter.com

気になったので、(さすがにWebアプリではないのですが)Twitter4Jを利用して同じことを確認をしてみました。

※2017/2/14時点での集計ですので、実際には可変する可能性があります

コードはざっくりこんな感じ。ちょっと適当すぎかも(^^;

package com.sakamichi46.evatfm;

import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import twitter4j.Paging;
import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;

/**
 *
 * @author kikuta
 */
public class EvatfmAnalyticsMain {

    public static int MAX_PAGE = 200;
    public static int COUNT = 100;
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws TwitterException, InterruptedException, IOException {
        Twitter twitter = TwitterFactory.getSingleton();

        List<Status> count = count(twitter);
        List<Status> sortedByRetweet = count.stream().sorted(Comparator.comparing(Status::getRetweetCount).reversed()).collect(Collectors.toList());
        List<Status> sortedByFav = count.stream().sorted(Comparator.comparing(Status::getFavoriteCount).reversed()).collect(Collectors.toList());

        FileSystem fs = FileSystems.getDefault();
        Path path = fs.getPath("./evaRetweet.txt");
        try(BufferedWriter br = Files.newBufferedWriter(path, Charset.forName("UTF-8"))) {
            br.write(sortedByRetweet.toString());
            br.close();
        }

        path = fs.getPath("./evaFav.txt");
        try(BufferedWriter br = Files.newBufferedWriter(path, Charset.forName("UTF-8"))) {
            br.write(sortedByFav.toString());
            br.close();
        }
    }
    
    public static List<Status> count(Twitter twitter) {
        List<Status> listTimeline = new ArrayList<>();
        Paging page = new Paging(MAX_PAGE, COUNT);

        IntStream.range(1, MAX_PAGE).forEach(i -> {
            page.setPage(i);
            try {
                ResponseList<Status> userTimeline = twitter.getUserTimeline("@waki_evatfm", page);
                userTimeline.stream().forEach(s -> {
                    if(!listTimeline.contains(s)) {
                        listTimeline.add(s);
                    }
                });
            } catch (TwitterException ex) {
                System.out.println(ex);
            }
        });

        return listTimeline;
    }
}

いいね数

1位 545いいね


2位 376いいね


3位 368いいね


4位 334いいね


5位 331いいね


6位 303いいね


7位 301いいね


8位 263いいね


9位 262いいね


10位 252いいね


リツイート数

1位 216RT


2位 143RT


3位 140RT


4位 135RT


5位 133RT


5位 133RT


7位 126RT


8位 118RT


9位 115RT


10位 110RT

と、こんな感じで、全般的に若ちゃんの写真系が多い(^^;;;とはいえ、ある程度予想通りでしたがw

ちなみにエバスク公式ツイートではないですが、乃木坂46の公式アカウントがつぶやいた以下が、RT/Favともに多かったです。

ホントは #evatfm のハッシュタグを含むツイートの量を分析しようと思ったのですが、TwitterのSearch APIは2週間程度分くらいしか取得できないようで確認できませんでした。残念すぎる(*´Д`)(ちなみに2/10(金)~2/13(月)の間で調べたら3871件もありました!)

IT業界に身を置く自分としては、エバスクってホントにITのトレンド情報を流してるので、色々な豆知識ツイートをもっとRT/Favして欲しいなーとも(^^;

で、この分析してて思いついたのですが、趣味で作ってる若月さんのBotに「エバスク」とか「#evatfm」って話しかけたら@evatfmアカウントの過去ツイートをランダムに引っ掛けるような機能を実装しようかなーと思いました。

若様bot、なんだかんだで利用ユーザが100近くなっているので、エバスクリスナーな方々にも是非お試ししてもらいたいなーと思います。以下サイトが詳しいですが

wakasamabot.sakamichi46.com

こちらのQRコードをLINEのQRから読み取ってもらうと友達追加できます。

f:id:kikutaro777:20170128222526p:plain

それにしてもエバスクを聴けば聴くほど若ちゃんを好きになりますね。

f:id:kikutaro777:20170215001025j:plain

2016年に最も読まれた記事 TOP10 Java EE少ない…

2016年で分析してみました。ページビューの総数は317,337でした。

f:id:kikutaro777:20170114191333p:plain

ちなみにブログの総アクセス数は2016年で100万アクセスを超えました(^^)!(逆にこわい)

ということで2016年のTop10

1位 アクセス数 11,601

なぜこれが1位!?びっくりです。
kikutaro777.hatenablog.com

2位 アクセス数 11,174

はじめてAdvent Calendarに参加した記事で想い入れが強い記事です。ちょくちょく昔のPrimeFaces記事に質問もらったりするので、わりと使われてるのかなー。
kikutaro777.hatenablog.com

3位 アクセス数 10,217

この辺は懐かしくもあり、未だにちゃんとわかってない気がするところ(^^;
kikutaro777.hatenablog.com

4位 アクセス数 9,916

小ネタ系が多い(^^;
kikutaro777.hatenablog.com

5位 アクセス数 7,189

キター!Twitter4J!長期的にみるとこれが一番アクセス多いんですよね(^^;ホント便利。@yusukeさんありがとうございます!
kikutaro777.hatenablog.com

と、ここでちょっと番外編として、はてブが多くついた記事を振り返ってみます。が、2016年は2つしかないwww 悲しい(>_<;けど書いてる量も質問下がりまくりなので仕方がない。(常駐してて全然書けねー時期モゴモゴ

番外編

はてブ1位

間違いなく2016年で一番感動したプレゼン。噂では聴いていたけど生でみてびっくりしました。気が付けばエバンジェリストスクールを毎週欠かさず聴いて、日々刺激をもらってます。
kikutaro777.hatenablog.com

はてブ2位

2位にあげるのも…ってレベルですが(^^;そして、どちらもJava EEじゃないっていうwww
kikutaro777.hatenablog.com

番外編 その2

2016年は執筆に参加させていただいたパーフェクト Java EEが発売にもなった年でした。JavaOneでまたJava EE少し盛り上がらないかなぁと期待していましたが、うーん(^^;;本は売れているのだろうか(汗
でもホント素晴らしい方々と書かせていただいて、良い経験になりました。恐縮しまくり…。

kikutaro777.hatenablog.com

ではでは戻ります。

6位 アクセス数 6,874

やっとこガチな感じのJSFネタ!でももうJSFは時代じゃない気も。
kikutaro777.hatenablog.com

7位 アクセス数 6,466

Azureこれはもうダッシュボードとか含めて古い情報になってしまってますね(^^;今年はまたAzureも触っていきたいです。
kikutaro777.hatenablog.com

8位 アクセス数 5,136

6位に続いて、こちらもJSFネタ。現場からお届けしてた感じのやつです。
kikutaro777.hatenablog.com

9位 アクセス数 4,669

Active Directoryかー、わりと読まれるんだなぁ(^^;
kikutaro777.hatenablog.com

10位 アクセス数 4,183

最後もJSFですか。JPAは全然入ってないんだな…。
kikutaro777.hatenablog.com

ということでこんな感じで、Java EEネタは3,4割くらいですかね(^^;;最近はQiitaにも書いてるのでご興味あれば是非フォローお願いしますm(_ _)m

qiita.com

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村