ソフトウェア開発」カテゴリーアーカイブ

【助けて】BME280が動かない

畑仕事を色々やっているけれど、うまく野菜が育つときと育たない時の違いがさっぱり分からないし、せっかくIT業界にいるのだからちょっとIT織り交ぜてやってみたい。

というわけで、IoTに挑戦してみています。
使っているのは、WifiやBluetoothも使うことができるということでESP32というもの。
Amazonでゲット。さらに気温や湿度も取りたかったのでBME280というセンサーも購入しました。

参考にさせていただいたのはこちら。

BME280 とesp32で温度・湿度・気圧を測定する

ソースはこちら
https://github.com/krote/FarmObserver1

結果的にいうと、全然動かない。。。
そもそも、3V3(電源)をつないでいるとコンパイルは通るけれどエラーになる

配線としては、参考にさせていただいたサイトの通りだと思うんだけど。。。
BME280自体が壊れてしまっているのだろうか。。。

物理的なハードウェアが絡んでくると、一気に問題解決の難易度が跳ね上がってしまって、そもそも電気工作的な知識がうっすい自分では非常に頭を抱えてしまうところだ。

うーん、もう一つBME280を購入して、不良品の懸念を払しょくしたほうがいいんだろうか。。
誰か助けてくれ。。。

「その仕事、全部やめてみよう」を読んだ

現クレディセゾンCTOの小野さん著作「その仕事、全部やめてみよう」をKindleで購入。読んだ

読みやすい内容だったので、サクッと読むことができた。
その中でも特に思った箇所に関して。

ラストマン戦略

「ラストマン戦略」とは、グループ内で自分が一番になれそうな領域を決め、「あの人がわからないなら、誰に聞いてもわからないよね」という、いわば 最後の 砦 とも言うべきスペシャリストを目指す成長戦略

この戦略は社会人数年目の時に考え、やっていたのでよくわかる。周りが情報系の学部卒が多い中、プログラミング初学者だった私からすると何かしらの武器が欲しく、人が持っていなかった武器を探る必要があったのだ。

よくわかる一方、そこからの発展だったりその先を見据えた動きを取れなかった。確かに、ある一定のポジションは確保したが、あくまでそのグループの中でのラストマン。
小野さんのように、そのグループがハイレベルであればそのラストマンは権威となりうるが、小組織においてはただのお山の大将。
グループを広げていく必要があったのに、そのグループで満足してしまったのだろう。

ただ、お山の大将も気持ちいいんだよね。特に、周りに対して劣等感を抱いていた人間にとっては。そう言ってできたコンフォートゾーンを脱するためには本書の中にもある通り、小グループから業界全体に向けて動く。もしくは「リスクをとる」形か。

15年くらい遡って頭叩いてきたい。
というわけで、入社5年目くらいまでの若手にちょっと紹介しておきたいところ。

駄文

もう随分と前の話になってしまうが、実は著者とは何度か仕事の関係でお会いしたり話を聞かせていただいたことがある。私がTwitterを始めたのも、そういうサービスがあって面白いという話を会話の折に聞いた事に端を発していたりする。
本書の内容もところどころ、当時お酒飲みながら聞いた話が混じっていて懐かしく思った。(お友達というレベルではない)

同年代という親近感と、頭の出来違いすぎね?っていう劣等感が色々と混ざり合った複雑なところはあるが、素直にすごい人という事には変わりなくどこまでも頑張って欲しいところ。

自分も頑張らな。。

誰か私をチェックしてくれ

いきなり何を言いだすんだという感じのタイトルであるが、情けない話ではあるのだが、ある程度 “人に見られている” という状況下の方が個人的には生産性が上がる方だと、自分では思っている。

個人学習として何か新しいことを勉強しようとしたとしても、何かしら崇高な使命を持って勉強しているわけでもないのでモチベーションを維持できない。マークがまず終わらせろっていうんだけどね、ちょっと仕事忙しくなるとダメなのね。

こういう時、例えば全然違うことを勉強していたとしても、お互いに状況を話し、チェックしてくれるような存在がいてくれればなぁと思うわけですよ。

言ってしまえば、それだけ弱い人間ということではありますが

ずいぶん前に rebuild.fm で誰かが言っていたなぁというのを覚えていて、あぁ、いいなぁと思ったのがきっかけである。今検索して見ると Morita さんだったのか

https://bellflower.dodgson.org/%E9%80%B1%E5%A0%B1%E4%BB%B2%E9%96%93-a799ad07f349

同じように rebuild.fm を聞いて、仲間内で始めた人も結構多く見受けられる。
ただ、そう言った仲間ってなかなか見つけづらいよねって気がする。もちろん、ガンガン勉強会などに参加していくような人でいれば自然と周りに集まるのかもしれないが。
ただ、そういう人はあまりこういう悩みはないのではと思わなくもない。

というわけで、良き仲間が欲しい
自分が相手にとって良き仲間となれるかは甚だ疑問ではあるのだが。

ドメイン駆動設計勉強会に行ってきた

すっかり時間がたってしまったが、先日行われたDevLove主催の「ドメイン駆動設計本格入門」に行ってきた。

DevLove Premium 第3回ドメイン駆動設計本格入門
https://devlove.doorkeeper.jp/events/85247

ドメイン駆動設計といえば、言わずもがなエリック・エヴァンス本。

読み始めてはいるものの、正直自分のものとすることができておらず途中でそのままにしてしまっていた。
とはいえ、ドメイン駆動設計は理解しておきたいと考えていることに変わりなく、理解の助けになればと思い参加した。


ドメイン駆動設計 本格入門 from 増田 亨

詳しいことはスライドをご一読。
講師は「現場で役立つシステム設計の原則」の著者である増田さん。

自分自身、基幹系のシステム開発ばかりずーっとやってきているので、今回の増田さんのお話の中で散りばめられていた、複雑さにどう立ち向かうか?という話にはうなずくばかりであった。

そもそもの業務や仕様が複雑であったり、それを無理矢理にパッケージという形に落とし込んでいるせいなのか、単純に設計力が足りないせいなのかもしれないけれど、悲しいことに、作り上がる頃には立派に複雑になってしまっていることが多い。

そして、属人的なコードや機能が膨れ上がり、保守が困難なプロダクトが出来上がる。
もちろん、それに争うのだが、抗い方の一つとして今回の話を考えたいところだ。
ただ、自分一人でどうにかなるものでもないので、エヴァンス本や増田さん本を広めて組織的に対応しないとなぁと思うところではあるかなぁ。

最近、月に一度は勉強会に出たいと思って出ている3月分。
都内であれこれと勉強会はあって、それぞれの特色があって面白い。
DevLoveは色々と形態はあるのかもしれないけれど、講義形式の開催が多い気がする。
LT中心とは違うけれど、しっかりと勉強出来るのはいい。

新規事業をどう進めるか

今日は久しぶりに。本当に久しぶりにIT系の勉強会に顔を出してきた

逆境から新規事業をスタートアップする 〜現場探訪編〜
https://devlove.doorkeeper.jp/events/81642

新規事業を考える上で必要なこと、気づいたことを実際の体験をもとに発表していただきました。
純粋な技術系の勉強会ではないけれど、開発と言う意味においては大事な話。

特に新規事業を手がける部署にいるわけではないのだけれど、
何も事業に関わらず新規機能開発でも同じことが言えるわけなので勉強になった

こう言う場に顔を出すと、周りの意識の高さってやつに当てられてしまう面がある
自分自身だけでなく周りも含めてマインドセットが高い状態をどうやって根付かせたものか・・・。

様々なことを仮説を立て、検証を行いながら進めていくにしても
その前段階でそれらを実施していく土壌づくり/文化づくりがなぁ。
自分自身の力なさを感じる日々であります

そうはいっても、こうやって勉強会に出ると何かしらやる気がわくもので、
やはり定期的に足を運ぶと言うことは自分自身の為になると感じた。
学びをもとに、実際の行動を起こさなければ、なんとなくよかったで終わってしまうので、
その点は注意しなければならないが、時々顔を出せるよう時間を作るようにしよう。

よくよく考えてみると、今日の話は特別逆境に感じなかったな・・・。
新規事業を進めるための部署の人なわけだし・・・・

PodCast

通勤に片道90分以上かかるので、この時間をなんとかできれば、、と常々思っています。

思っているだけで、大半の時間はゲームに奪われてしまうのですが、
それでも・・・と、思い、最近は意識してPodCastを使い始めました

もともといくつかPodCastは登録していたのですが、ゲームのイベント等で少し切れ間が出来てしまうと
そのあとがなかなか続かないという情けない状態だったんです。

主にこれまで登録していたのは英語関連。
IT系のカンファレンスやビデオ教材見てもちんぷんかんぷんなので、少しでも耳を慣らそうと聞いてました。

English as a Second Language (ESL)
https://itunes.apple.com/jp/podcast/english-as-second-language/id75908431?mt=2

6 Minute English
https://itunes.apple.com/jp/podcast/6-minute-english/id262026947?mt=2

CNN Student News
https://itunes.apple.com/jp/podcast/cnn-student-news-video/id179950332?mt=2

NPR News
http://www.npr.org/podcasts/

勉強のため!と思いながらだとなかなか続かないものです。
特にESLは時々再生時間が30分を超える内容があって、なかなか気が進まないんですよね。

6 Minute English と CNN Student News は時間がほぼ固定なので見やすいです。
特に CNN Student News や NPR News は世界のいろいろな話が出てくるので内容的には面白いです。
ただ、英語教材ではないので何を言ってるか聞き取るのが困難。
特にNPR。
実際に取材している先の現地人のインタビューが出てくるともう無理な感じです。
その点、CNN Student News はHPにTranscriptも用意されているのでかなり勉強になりますね。

あ、もちろん定番とも言えるTEDも登録しています。

TED ビジネス
https://itunes.apple.com/jp/podcast/tedtalks-bijinesu/id537466357?mt=2

なんとなく、ビジネスを選択しています。

これらに加えて、たまたま知った wada.fm を最近聞き始めました

wada.fm
https://itunes.apple.com/jp/podcast/wada.fm/id957993215?mt=2

あまり、IT系のPodCastって存在を知らなかったのでとても新鮮で楽しいです。
特に、変に凝っていなくて素人丸出しな感じがとてもいい感じ。
時間もそれほど長くないので聞きやすいです。

wada.fmを皮切りに、他のPodCastも漁ってみたいと思っています。

結構調子のいい性格で、こういう形で話を聞くことによって自分のモチベーションというか、そういったものも少し持ちなおされますね。
聞いて元気になるようなPodcastがあれば、ぜひ教えてください!

AWS Summit Tokyo 2015 へ行ってみたよ(Day1のみ)

AWS Summit Tokyo が6/2-3の日程で品川プリンスにて開催されていました。

AWS Summit Tokyo 2015
AWS Summit Tokyo 2015 クラウドで、未来を「今」に。
http://www.awssummit.tokyo/

仕事の関係で、Day1の午後のみの参加となってしまいましたが感じたこと・考えたことのメモをば。

前提

AWS自体を私が触り始めたのはつい最近で、まだ1年程度。
しかも、触り始めたといってもずーっと何かをしているわけではなく、EC2とRDSを少し触りながら既存システムのAWS環境での動作確認等を行った程度のレベルなのでたかが知れます。

AWS Summit は初参戦で、申し込みが遅れてしまったのでほとんどのセッションが満席><
実際には事前のセッション申し込みはチェックされなかったので意味がなかったっぽいけれど・・・。

 [Dev-01]デベロッパー視点で見たAWS

AWSの各種サービスに関してのお話。
CodeZineで連載された、アプリ制作に関する話も交えながら、数あるサービスの中でどういったものを使っているのか?など。
ちなみに連載は見ていなかったけれど、こちらが初回。

【制作1日目】 池澤あやかさん、イベント会場がヒートアップ間違いなしのアプリを制作、まずはクライアント側処理です ~ Amazon S3 / Cognito / Kinesis / DynamoDB 登場
http://codezine.jp/article/detail/8642

S3の使い方や、Cognito。それにLambdaの話などが目につきました。
また、私の現在の業務からはちょっと考えづらいですが、AWSを前提としたアプリケーションを作る場合に、
ローカルでの開発(オフライン状態)が難しいという話は少し新鮮に感じました。

開発環境をそもそもクラウド等に構築するようなこともあると思う。
今後の開発のあり方というものは少し見守っていく必要がありそうだなぁ。

[Dev-02]デベロッパーが切り拓く、次の時代

タイトルからもわかるように、AWSと結局全然関係ないような内容だった。
パネリストはみんな大好きnaoyaさんと大場さん。

開発者はどういうスタンスで次の時代を乗り切っていくのかという話。
ともすると、どうしても技術オタクになってしまいがちな人が多いけれど、
技術が先にあるのではなく、課題が先にあって、その解決の手段として技術がある。

何かの技術に対して掘り下げていくことは悪いことではないんだけど、それをキャリアとして計画するのはどうなのか。
出来ないことを解決するためにいろいろな試行錯誤があるわけで、その前提条件として何らかの技術をおいてしまうと
出来ることや成長にブレーキがかかってしまう。

この話は、今一度自分自身を思い返したいところだと思いました。
そういう意味でも、最後にnaoyaさんが話をされていましたが、自分のポジションをちゃんと把握することが大事。
そのためには、現在の周りの状況が見えている必要がある。

我々エンジニアは、結局のところ死ぬまで勉強が続くのであるのだ。

[KEY-03]DevCon Day1 クロージングキーノート:2035年、その時デベロッパーはどう生きるか

大前さん親子の会話。
大局観的なとらえ方は面白いと思いつつも、少し気になるシアターセッションもあったので途中退席。
後でセッション資料や感想を確認したいところです。

それにしても、茶の間での会話レベルが高いな~。
わが家でもそういう話をするような時代が来るのかな?
まだまだ小さいわが子を見ていると、少し想像できませんね。

ちなみに、期待していたシアターセッションはあまり面白くありませんでしたので割愛。

[TE-05]ファイヤーサイドチャット~エンタープライズ企業はいかにクラウド化の流れを進めるべきか~

Amazonのえらーい人3人を交えたトーク。
ちなみにファイヤーサイドチャットというのは、暖炉のそばで話すようにフランクな会話ということらしい。
お題としてはエンタープライズ企業におけるクラウド化に関して。

実際のところ、AWSはすごいメジャーになってきていると思っているんだけど、日本の企業のどの程度がそう思っているのだろう。
AWSのようなスモールスタートが出来る環境であれば、大企業じゃなくても活用できるはずなんだろうけれど、
たぶん多くの企業ではそういうところまで目を向けていないんじゃないかな~。

印象に残った言葉としてはこれ

問題はテクノロジー側にあるのではなく、組織の文化だったりする。 口では色々なことをいうことは出来るんだけど、実際に動くことが出来るのか。

はたして、日本の企業はそういう考えを持つことが出来るのか。
個人的には、そういう考えを持てないと今後は生き残れないくらいまで過激なことは言わないけれど、
いいものはどんどんと活用していけばいいと思うんだよね。

ベンダーロックインという考え方は確かにあって、AWSがなくなったらどうするんだ?というのはリスクとしてはわかる。
その時には作り直せばいいんだ!って軽々しく口に出してはいけないことも、まぁわかる。
ただ、その時が来るまでに生き残れるのか?ということを考えるのであればやっぱりスピード感を持ってことにあたらないといけないと思う。

やはり、最後はいつも人の問題になるんだな。

実はこのセッションはこれ以外にもすごい色々なことを考えさせられるセッションでした。
AWSを使うことによるメリットを、どうエンタープライズに伝えていくのか。
実は業務でも少しかかわっている課題でもあるので、より深堀しながら考えて進めていきたいところです。

シアターセッション

展示会場に設置されたシアターセッションも時間のあいまではありますが、少し拝見させていただきました。

各回ともに10分程度の時間なので、それほど多くの情報は得られませんでしたが。
スカイアーチネットワークスさんがchef やserverspec。Zabbix等をまとめたツールに関しての話をしていた。

DevOpsサービス (スカイアーチネットワークス)
http://www.skyarch.net/devops/

chef や serverspec に関しては、知ってはいるものの、Windows主体で私が動いている&それらのツールがWindowsではイマイチ使いづらい印象が結構前にはあって、
本格的に見ていませんでしたが、もうそろそろ見直してみようかな~と。

まとめ

見てわかる通り、申し込みが遅れたこともあって「AWSを使いこんだぜ!」っていうセッションにいけませんでした。
どちらかというと、開発者や企業が今後どういう形で進めるべきか?というような、AWSべったりではないセッションが多かったです。

個人的には、それがとても良かったように感じます。
特に、ファイヤーサイドチャットで得たことは、今後大きな糧となってくれると思っています。

セッション資料等に関してはきっとAWS公式がまとめて公開してくれると勝手に思っているので、
AWSを使い倒したぜ!みたいなものに関しても見ていきたいと思っています。

今後が楽しみです!

 

試験をいったんあきらめた

昨年末のAmazonで行われていたKindle書籍に対するセールでこんなものを買っていたんですよ。

情報処理教科書 プロジェクトマネージャ 2014年版
翔泳社 (2013-09-18)
売り上げランキング: 14,189

特別に必要とされているわけではないんだけど、持っていてもいいかな~と思って、
春の情報処理試験を受ける気でいました。

もう、応用情報を取得したのがずいぶんと前になるので、午前試験最初からの受験になります。
このあたりの問題は、普段の業務で行っていることからするとかけ離れている分野も多いので
一度勉強したこととはいえ、かなりの部分が忘れています。

さしあたって、毎日の通勤で午前問題の問題集向けのアプリを使って勉強。
週末に論文の対策として先に書いたKindleの試験本を用いて行うことにしたのですが…

 

週末無理

 

エントリーを書いていないのでここでは初めて書くことになりますが、
1月に4人目の子供が生まれました。

基本的に妻は産休なので家にいることになるのですが、まだ小さいのも含めて3人が他にいるので
さすがに手が回らない。
長男はもうすぐ小学校に行く年齢なのである程度話は聞いてくれますが、
それでも下の子の面倒を見るにも限界があります。

平日の朝晩はもちろん、土日も基本的には子供中心とした生活が続くことになります。
子供が遊びたいといえば遊ぶし、寝るときは一緒に横になる(そして時々自分も寝落ちする)

 

もちろん、やりようによっては時間を捻出することは出来ると思うのです。
ハードといえばハードですが、無理ってわけじゃない。

問題なのは、試験・資格に対しての気持ちの面がやはり大きい。
もともとの動機が適当なので、それを維持するということもなかなか難しい

無理やり自分で動機づけを作るのが一番確かな方法なんだけど、
今回はそれ以上に私生活面でやることが出来てしまったので、もういいやと。

また、期を見て受けることにしましょう。
せっかく試験対策の本やアプリは手に入れたのでそれはそれで暇つぶしにやるのはいいかもしれないけど。

Softlayerを勉強してきた

以前のエントリで AWS をいじり始めたという話をしましたが、AWS だけでなく、Softlayer の研修も IBM で受けてきました。

会社では Microsoft の Windows Azure も利用している部署もあるのでより取り見取りですね。
私としては、これまでなんとなーく AWS が一番デファクト的な位置づけだと考えていたのですが、
単純にそれはその他を知らないだけという話でもあるかもしれないと考え、少し周りを調べ始めています。

AWS

AWS は言わずと知れたクラウドですね。

EC2 をはじめとして様々なサービスが提供されているので幅広い用途に使うことが出来ます。
個人的にはこのサービスの豊富さとその規模からくる価格メリット。そして成長・進化のスピードが AWS の強みに感じています。

まぁ、ろくに AWS を使っているわけではないので偉そうなことはあまりいうことは出来ませんが。

 

Softlayer

Softlayer は、もともとは独立したクラウドベンダーでしたが、IBM が現在は買収しています。
特徴的なのは、機器構成の自由度がかなりあるところです。

AWS で時々話があがるのは、インスタンスがどこに作られるかわからないので、同居しているインスタンスによってパフォーマンスに当たり外れがあるという話です。

Softlayer では、仮想ホストを共有する通常の形以外に、自分だけでホストを占有するタイプの仮想を選ぶことが出来ます。
(これをPrivateクラウドと呼ぶので混乱させているような気がしないでもない)
さらには、物理サーバーそのものを同じように Softlayer ポータルから借りることもできてしまいます

企業案件等でパフォーマンスがシビアに要求されるケースでは、ハイパーバイザーのオーバーヘッドを嫌がることもあると思います。
そういう意味では、Softlayer は自分たちで構成をゴリゴリと組みたいけどオンプレミスとして保持したくないというようなケースにおいては最適なのかもしれません。

もちろん、その場合のユーザー側の責任範囲は大きくなりますが。

一方で、サービス面に関しては AWS のほうが充実している印象を受けています。

クラウドで DB を利用しようとした場合、AWS であれば RDS を利用することが出来ます。
Softlayer ではバックアップを含めた運用管理は、よりオンプレミスに近い構築能力を要求されるとともに、Oracle 等を利用しようとした場合にはライセンスを用意する必要が出てしまいます。

クラウドの場合、やめようと思った時にやめられるのも利点ですが、こういったライセンスを時間貸しで利用できないのは、それが本来の形とはいえ辛いですね。
まぁ、MySQL や MongoDB 等のオープンソース系で行けばいいだけの話なのかもしれませんが。

AWS にしろ Softlayer にしろ、日々進化しているのである一時を切り出して優劣をつけていくのはなかなか難しい気もします。
ただ、それぞれの提供している特色というか特徴といったものがこの二つは分かれているので、すみわけは出来そう。

一方で、Microsoft の Azure は正直私が不勉強でよくわかっていないところが多いです。
どうなんだろうな

Surface Pro 3 での Virtual Box 起動エラー

開発環境を少しずつ整理している Surface Pro 3 ですが、仮想環境としては Hyper-V ではなく Virtual Box を利用しようとしています。
理由としては、Vagrant とかいじりたいからです。

仮想環境の用途としては、主に実行・テスト環境的な形ですね。

Windows で動作させるのが結構面倒なものもあるので仮想環境上に開発環境を持っている人も多くいるようですが、
一番の懸念は、適当にあれこれと試した結果、レジストリやらフォルダやらが滅茶苦茶になってしまうのが嫌なんですよ。

あれこれと試してみたいんだけど、試した結果どんどんと OS が重くなってしまうのでは困りものですから。

まぁ、そんな理由で仮想環境を建てようとしたのですが・・・・

20140827_vvox_error

こんな感じでエラーになってしまいます。

環境としては、

Surface Pro 3
Virtual Box 4.3.14
Ubuntu

という条件です。

Ubuntu は、公式のVHDからでも、手動でHDD作ってISOからやろうとしても同じエラーが表示されます。
というか、そもそも仮想PCの起動が出来ていない感じがするのでOSとか関係ないかもしれません。

ただ、別のPCでWindows8.1 環境があるのですが、そちらでは問題なく Virtual Box が動作している。ちょっとバージョンは失念してしまっているけど。
なので、単純なホストOS側の問題とは限らないと思うんだけどなぁ~。

これにずっと躓いていて、一向に Surface 上で物事が進まずに苛立ちを感じていました。

あれこれ公式のフォーラムを探していたのですが、よく解決方法がわからず、検索の方向性を変えて「Surfaceで」という感じで調べてみたら…

VirtualBoxのインストールエラー
http://qiita.com/nmatsui/items/80aff4e7f085d8d6de83

ヒットした。

そして、指示に従って 4.3.12 で試してみたところあっさりと起動しました。

うーん、Surface の何に引っかかったんだろう?
いずれにしても、ずいぶんと時間がかかってしまったな。