PHPカンファレンスに行ってきました

こんなひどいコードを書いたのは、どこのどいつだーい??(-_-メ)

あたしだよっ!3年前のね!!!(懐かしの、にしおかすみこ風に)

自社サービスを継続して続けていると、どうしてもレガシーコードと向き合わなければいけません。

そして向き合う過去の貧弱な自分やサービス、DB構造などレガシーな遺産たちともね…。

 

さて、話は前後しますが、先週の日曜日、PHPカンファレンスに行ってまいりました!

三連休の中日(ちゅうにち じゃなくて なかび だよ)という超非リア向けイベントでしたけどね!!

よく晴れた日でしたねヾ(´ω`○).  こんな日は本当は山にでも行きたいとは思いました。心の底から!!!

 

…次の3講演をお聞きしました。以下、私が印象的に感じたことを述べておきます。

①Cygames グラブルの運用

・いかに10億PV/日をさばくか

・DBサーバー300台以上をシャーディングして水平分割

・時間がかかっているAPIを特定し、処理を見直す

New RelicとXHprofで時間のかかっている処理を特定

・Memcachedを活用

→キーの持ち方に気を付ける

→データが取れない場合は再度計算してMemcachedにのせる

→重い処理はとにかくCacheを使用

→マスターデータが更新されたらキャッシュを削除する

・KVSはローカルごとに利用

→redisは複数行を一度に処理するのに向いている

・プランナーが入力しやすいように、マスターデータはCSVを取り込んでいる。(へぇぇ)

 

②弁護士.com

 

ここは弊社とかなりポジションが似ていると思います。

自社サービスをやってく、ゲームなどではないという意味でですね。

なお、2013年までまったくの赤字だったそうで。

近年急成長したそうです。

 

赤字の場合は、サービスをとにかく顧客志向で。

→しかし、黒字になってきてからは運用が大切になってきた

→カウボーイ的開発をスクラム開発に変更

マイクロサービス化

→LikerDを利用している

→優先順位をつけてやらないことを決める

CircleCI、NewRelicを使用

 

開発には終わりがないのが終わり とおっしゃっていたのが印象的でした。

 

③GREE

 

第一声が、

「みなさん Greeって知ってますか?」

だったのは衝撃でしたがw

 

数千台のオンプレミスのサーバーをAWSに移行

→しかもPHP5.2だったので、まずは5.5に移行

→50%ロードアベレージが減らせた

→移行の際は、Direct Connectを使ってMySQLのレプリカをAWS上に作ったりした

 

現在、PHP7への移行を進めている

 


全部、内部の話をさらけ出して頂いて、大変に勉強になる話で、有難うございました。m(_ _)m

 

で、話が冒頭の話に戻りますが、受託開発で作って終わりのシステムを作っている人たちを除けば、レガシーな開発の遺産にどうやって向き合うのか、は非常に難しい問題です。

以上の3講演を選んだ理由は、これに対する答えを多少なりとも教えてくれそうだったから。

1年もたてば、古くなるし、当初想定していなかったバグも発生する。

アクセスが増えて、DBの処理が追い付かないとか、プログラムの構造変えなきゃとか、サーバー移行しなきゃとかなる。

想定していなかったような利用方法が出てきて、DBの構造変えないとダメ。

とかエトセトラですね!

 

弁護士.comの市橋立CTOに、懇親会で話を伺ったのですが

「すべてをやることはできないので、優先順位をつけてやるべし」

と言われていました。

 

なるほど!その通りですね!

しかし、これが経験された方の話と、経験されていない人の話では天地の差があります。

ありがとうございます。

 

なんかね、新しい技術を追いかけたいという気持ちもありつつ、常に新しいこともできない、というジレンマがあります。

弊社でもよく議論になりますが

「あれも これも それも どれも よくないから変えよう!!!」

じゃ無理なんです。

一歩一歩、一番重要なことからやっていかないと。

弊社の社訓の一番にもしてますが、

FOCUS ON IMPACT! (大事なことを一番にやる)

 

これが重要ですね。

 

この日はこれに出かけようと急いでいて、マンションの階段で転んでアゴを強打するというヘマをする&洗濯物に白いものと赤いものを混ぜて洗ってお気に入りの白シャツが台無しになるという悲しい事件もありましたが(つД`)

また、懇親会LTやりたい!と実はスライドまで用意していたのですが、枠が埋まってしまい、ダメでしたね…。

私はMapboxの話をしようと思ってたんですが。

弊社スタッフにも

「節子!それはPHPやない、Javascriptや!」

とも言われちゃいましたしww やらなくてよかったのかな…。ハハハ(・∀・)

 

で、最初は文句などを言っていましたが、行ってとてもよかったです。

例年、そう思ってますw

大変勉強になったし、一番の効果は、こういう純粋に技術を突きつめよう!という開発者が集まる場に行くと、自然とモチベーションがアップされます⊂(^-^)⊃

なんか、皆さん目がキラキラしてるんだよな~。(^。☆)キラーン

プログラミングって楽しい、技術って楽しい!と思えるそんな時間でした。ヾ(´ω`○).

ボランティアスタッフの皆さんにも感謝感謝です。

 

トラックが必ず通らないといけないルートを通っているか管理する

Smart動態管理のあたらしいカスタマイズ事例ができました!

カスタマイズ事例 土壌運搬車輌管理社のためのルート外れ・ナビ機能

http://doutaikanri.com/function_customize_root_navi/

ビジネスにおいて、どっかからどっかにモノを運ぶのに、かっちりと、あるルートを通らないといけない、というニーズはままあるかと思います。

今回は、そのようなお客様のニーズを満たすために、Smart動態管理にカスタマイズをして納品いたしました。

ルート外れ

ドライバー、管理者双方がルートを外れた場合、すぐに気づくことが目的となっています。

ドライバーのアプリでアラーム音を発生し、管理者のブラウザ側でもアラーム音を発生させます、

ルートを外れているかどうかの判定以外にも、決められたエリアでは、ドライバーに注意を促す音声を流す、という機能もそなえています。

ルートの設定は、実際に一度走行したデータから、すぐに取り込むことが可能で、面倒な設定作業などは必要ありません。

ルート設定

 

今回は、私もNode.jsやアプリなどで、ルート外れ判定の部分を作成させていただきました!

それなりの苦労もありましたが、自分にとってのチャレンジもあり、楽しくやれましたo(>▽<)o

 

ご発注いただき、ありがとうございます。

このようなカスタマイズのお問い合わせは下記からご連絡ください。┌o ペコッ

http://doutaikanri.com/contact/

コデアルさんのサイトでインタビューを紹介していただきました

リモート・在宅ワーク事例のCODEAL[コデアル] さんで、インタビューをしていただきました。

受託開発から自社サービス「Smart動態管理」に見事に転換!株式会社オンラインコンサルタント代表後藤インタビュー

https://www.codeal.work/contents/archives/5510

ご紹介、ありがとうございます!

弊社は9年ぐらい受託開発をやってまして、自社サービスで生きていけるようになったのは、ここ最近のことなんですよ。

 

受託開発…それは重き荷を背負いて遠い道を行く仕事…。

儲からないし、難しい、つらい。(´・ω・)

特に、リーマンショックがあった後の2009年ぐらいとかは、システム開発の単価もガンと下がり、マッチングの会員制サイトを30万円とかで開発してましたね。

 

 

でも、日本の「システム会社」「ソフトウェア開発会社」という名前でやっている会社のほとんどが

人売り(実質の派遣業)

受託開発

 

なんですよね。

 

なんとか、受託開発止めたい、自社サービスで儲けたい、というのがそういう会社さんの願いでもあると思います。

なので、今回、このような話を取り上げていただきました。

 

弊社も自社サービスを、受託開発をやりながら、いくつも立ち上げましたが、なかなかうまく行きませんでした。

その中で、なんとかSmart動態管理が生まれてヒットしたんですよ~。詳しくはリンク先へ!!、

 

 

コデアル社長の愛宕君は、大学の後輩で、アツイやつです。⊂(^-^)⊃

コデアルさんは、エンジニアの副業を紹介するサイトですので、副業したいエンジニアの方、副業エンジニアを募集している会社の方はぜひ登録してみてください┌o ペコッ

 

マンマチャオ三原社長の講演を聞いてきました

とってもためになりました!ありがとうございます。m(_ _)m

マンマチャオさんのお店を皆さんも見かけたことがあるのではないでしょうか。赤い看板のコインランドリーさんです。

 

現在、マンマチャオさんは飛ぶ鳥を落とす勢いで伸びてるんです。

雑誌やテレビなどでも取り上げられていて、すごいですね。

 

さてさて、三原さんのお話でよかったなと思う点は

 

・ファイティングポーズを下ろさない

・夢は大きく そして語っていく

・会社がつぶれるよりは人前でしゃべる

・健康が大事

・人に任せるというのは、丸投げではなく進捗の管理をすること

・経営理念をちゃんと考える、そして大切に

 

でした。

 

私も、常々思うんですよ。

うちの会社みたいに小さい会社に入ってくれて、社員さんに同窓会などで肩身の狭い思いをさせてないかと気になります(´・ω・)

誰も聞いたことがない会社で、マウンティングされてないかな、と…。(´・ω・)(´・ω・)

 

それに引き換え、私が提供できるものは夢しかない。

日本にGoogleみたいな会社を作るというアレです。

マジな話ですが。

だから、彼らのために、いつかは上場して有名な会社になって、きれいなビルに入って、立派な家を建て(この辺は個人に任せますけど)みたいなサクセスストーリーを実現させてあげなきゃ!!と心底思います。

 

って、同じことを仰ってましたので、とても共感しました。

 

もっとがんばらなきゃ。

できることあるのに、やれてないのでは。

ってか、まだ全然やるべきことある!!

 

と相当気が引き締まりました。シャキ(`・ω・´)

毎日毎日忙しくって、ついつい目の前の仕事に追われてしまいますが、高い目標と高い目線をキープしないと。。。

そして、そういう気持ちにさせてくれるので、たまにはすごい方の話を聞いたり、交流させていただく機会は参加してかなきゃいけないな、とも思いました。

 

なんと、そんな三原社長の新刊がこちら!

序盤読みましたが、リアリティがある面白い本ですよ。⊂(^-^)⊃

ちなみに、最後ではありますが、弊社でシステムを作らさせて頂いたのです。

Webの管理画面から、洗濯機や両替機を操作できる、当時としては画期的なシステムだったと思われます。o(>▽<)o

Node.jsもまだ日本であまり有名ではなかったころから使ってたんですよね~。KWSKは下記の投稿をご覧くださいませm(_ _)m

日本よ これがIoTだ ブラウザから洗濯機を操作できるコインランドリーのシステムを開発【新実績】

現在はこのようなシステム開発は新規で受託していません。

AIで何やるか問題

この業界のエンジニアに今、一番気になる技術は?って聞いたら、きっと多くの人がAIって答えるでしょう。

私もそうです!

 

以前、下記のような投稿をしたんですが

ゼロから作るDeep Learningという本を読みました

結局、ディープラーニングで何するか?ってのが問題なわけですよね~。

弊社では、Smart動態管理とか、タクシー検索 たくる とかをやっているので、位置情報のデータとかはかなり持ってるわけですよ。

でも、それで例えば渋滞予測とかするには足りないし。

すでにあるインフラにかなわないし、ドコモとかGoogleのほうがもっと大量のデータを持っているので、そこと戦って勝てるわけもないし。

ビジネス展開を考えたときに何するか?問題があるわけですよね。

 

なので、なにがしかの作業分析とか、配送計画のよりよい立案とかを考えています。

 

しかし、難しいのは今のAIってのは、何が正解で何が間違いか教えてあげないといけないんですよね。

画像認識とか音声認識とかに向いているんですよね。

そのデータをどう作るか?どう取得するか?が勘所なわけですよね。

正解と不正解がはっきりわかれているので。

 

うちの犬みたいです。

でも、ある意味、ただのコンピューターが犬になったってすごい進化ですよね!!

やっぱりITの仕事は楽しい(o^―^o)

 

 

Smart動態管理に配送計画からワンタップで電話できる機能ができました!

本日、Smart動態管理のAndroidアプリが8.1にアップデートしました。

今回はいろんな変更があったのですが、大きくは配送計画からワンタップで電話できるようになったことですかね!

実際に配送業をやってらっしゃる方に聞くと、配送先に電話をする機会は多いそうです。

現地に行くと、場所がわからなかったり、いらっしゃるかどうか、前もって聞いたり、遅配の場合の連絡など…。

そりゃありますよね。

 

で、その際、紙の配送計画とかでドライバーさんに配送指示をしていると、スマホに電話番号を打ち込んだりするのは非常に面倒ですよね。

 

そう、若干余談ですが、スマホになってから電話するってことが非常に面倒になりませんでしたか??

私はなりましたw

電話番号を入力するのも面倒、なんで10桁もあるの??!とか
電話帳アプリから検索するのも面倒、
電話代がかかるのもいやだ(笑)。

とりあえず、

ワンタップで電話したい!!!

 

と心が叫びたがっていると思います。

 

なので、その機能を追加しました⊂(^-^)⊃

Smart動態管理は日々、運送・配送業の皆様の業務効率を上げるべく進化しています!

ご意見、ご要望などありましたら、ぜひお寄せください。↓

http://doutaikanri.com/contact/

 

 

パソコン作ったった

今日はネットワークの障害があって、大変でしたね…。

弊社も弊社のサービスがつながらない、とお客様からお問い合わせが多くありました。

こんなこともあるんですね。

さて、最近パソコンを作りました~(^_^)

目的は、新しいパソコンほしかったのと、単に勉強のため(`・ω・´)シャキ

今まで、メモリを増設したり、BIOSの電池変えたりぐらいのことはしたことがありますが、作ったことはなかったので、いっちょやってみるか!と。

 

私、機械ダメなんですよw

ナチュラルボーンマシーンブレーカー というか。

プラスとマイナス間違えてくっつけるとか、なんやかんや壊してしまうんですよねw

もちろん、仕事でそれではいけないですが、ハードウェアを触るような仕事はほとんどありません。

よかった!!最低限起こるハードウェア的な仕事も

「わっ わたしはソフトウェアを扱う専門だから!!」

と言ってほかのもっとそういうことが得意な人にやってもらってます。

Linuxをシェルで操作するぐらいはやるんですけどね。

 

ですが~

やっぱりソフトウェアはハードウェアの上で動くものなので、その仕組みって絶対知っておいた方がいいとはずっと思ってたんですよね(>_<)

 

それにしても、所要時間3時間ぐらい、結構大変だった…。(>_<)

このマザーボード使いました。

 

まだまだ勉強中ですが、楽しんでやっていきたいです~⊂(^-^)⊃

 

弊社のアプリがAndroidで使われている機種のなんと6割以上が京セラ製だった話

弊社でSmart動態管理というアプリを作っております。

どの端末で使われているか、が確認できるのですが、久しぶりに見たら、なんと!!

京セラさんがダントツ一位!!

しかも、60%を超えてるってびっくりです( ゚Д゚)

下記画像は、セッション数は企業秘密なので塗りつぶしてあります☆彡

厳密にいうと、これはセッション数というのを数えているので、京セラ製スマホでSmart動態管理を使っている人は、とにかく頻繁に開くということも考えられます。

というわけで、噂のKyocera Torque(Kyocera KYV35 Torque G02)という端末を調べると…。

コンセプト↓

限界に挑め、何も恐れずに。 LIVE MORE. FEAR LESS.

 

いいっすね!!!⊂(^-^)⊃

機能↓

世界初※1、耐海水性能を備え、さらなる進化を遂げた“最強※2

 

「な、なんだってー!!海水の中でも使えるスマホがあるなんて!冗談を言うな、キバヤシ!」

「冗談じゃない!このままじゃ人類は滅亡する…!!」

とついついMMRごっこをしてしまうぐらいの驚きですね!!( ゚Д゚)

すごいっす。

 

海の中でも撮影ができる約1,300万画素高画質カメラ搭載

 

「加えて0℃環境でもタフに使える耐氷結/低温耐久性能」

だそうです。雪山でも4000メートル以上の山の上でも使えるということです。

つまり、雪山でも4000メートル以上の山の上でも、海中でもSmart動態管理が使えるわけですね!!(未検証 そういうところで使うのはバッテリーを食うので自己責任で!)

しゅごい…。

 

過酷な環境下における確実な操作性

 

「画面が濡れた状態でも、グローブをしていても使えるタッチパネルディスプレイを搭載。海では濡れたまま、冬山ではグローブを外さず快適に使えます。」

 

えー、いきなり真面目に解説しますが、(`・ω・´)

弊社のSmart動態管理は、運送・配送業にフォーカスして作られています。

イメージされがちなトラックだけではなく、最近はフードデリバリーなどでも利用されているので、バイクや原チャリでのご利用が多いんですよ。

フードデリバリーの現場などでは、原チャリにグローブをして操作することも多いし、雨だろう雪だろうと使わないといけないので、きっとこの端末が利用されているのでしょうね!

余談ですが、私も一時期バイクに乗っていた時がありますが、雨が降った時は最悪です…。(つД`)

フードデリバリーのドライバーの皆様は、おそらく雨の時、注文が増えるのでしょうね…。

大変なことだと思います…。

 

また、建設資材の輸送、コンクリート車などでも使われています。

「ディスプレイ部を振動させることで、音を伝達する京セラ独自技術。耳を覆うようにディスプレイ部をフィットさせることで、周囲の音が遮蔽され、相手の声がクリアに聞き取れます。」

うるさい場所でも通話できることが必要、ということですね。

 

まとめますと

フードデリバリー、建設業、コンクリートミキサー車などのための効率アップ、動態管理はSmart動態管理+Kyocera Torqueで!!

 

 

 

 

Smart動態管理の新しいPVができました

こういうのをPVと言っていいかわからないけどw

プロモーションビデオだからPVでいいんでしょう、と思ってます。⊂(^-^)⊃

Smart動態管理の新作PVができました!

https://youtu.be/FmXOkMK1JbU

2015年に作ったスマートウォッチの機能を紹介した動画↓から、2年ぶりのPVです!

新しい機能ができたり、「運送・配送業によりフォーカスする」というシフトが感じられますね~

全面的に出演してくれたK、Sに感謝ですo(>▽<)o

AWS

泣く子も黙るAWS。amazonさんのクラウドサービスのことです。

 

最近、AWSを触る機会がありました。

今までは、別の担当がやっていたのですが、ちょいとヘルプ的に私もタッチしてみた感じです。

主に、CodePipeline、CodeDeployというツールで、デプロイをする、というのを担当しました。

そのために、EC2とかAuto Scalingとか、ロードバランサーとか、そのあたりもわからないといけなかったので、短期間ですがいろいろと詰め込みました。

 

デプロイ、というのを平たく説明すると、できあがったプログラムをテスト環境で稼働させたり。本番環境に稼働させるということです。

「なんだ~ 大したことないじゃん!」

って思うかもしれませんが、デプロイがちゃんとできないと、あとでボディーブローのように効いてきます。

手作業のデプロイによるミス、テスト環境と本番環境の設定ミス、手作業にかかる時間などですね。

なので、私はほぼ絶対に!!デプロイは自動で、という派です。

 

CI(継続的インテグレーション)ということが言われて久しいですが、もう現在の開発だと

 

作る! バーン  (ノ ゚Д゚)ノ ====

テストする! バーン  (ノ ゚Д゚)ノ ====

納品する! バーン  (ノ ゚Д゚)ノ ====

はぁ~終わった(゜∀゜)

 

ということはほぼなく、

 

作る→テストする→納品する→アップデートする→テストする→アップデートをリリースする→アップデートする→テストする→アップデートをリリースする

 

を回していかないといけないんですよね。

そのためにも、テストツール、テスト環境自動構築、CIツール、デプロイツールなどが必要だー!!と言われてるわけですね。

 

CodePipelineでは、Gitにコミットすると、テスト環境でテスト→本番環境にリリースという流れを作りまして多少てこずったこともありましたが、作ってみると非常に楽しい感じです。⊂(^-^)⊃

私は特に面倒なことが大っ嫌いだ!!!というタチなんで、面倒な手作業がなくなったことには大いに快感を感じます ウットリー.゚ヽ(*´∀`)ノ゚

 

AWSってすごい。技術もすごいけど、管理画面が使いやすい!

管理画面からポチポチと冗長構成とかが作れるので、生半可な知識のサーバー管理者はいらなくなる予感が…( ´Д` )

あとは、マニュアルをもっと整頓して、わかりやすくしてくれると嬉しいですね!!

 

ちなみに、CodePipelineでわかりにくかったことは下記にまとめてあります…。