SOLG System Blog

Amazon Dash Buttonからみる2017年の展望

2016年12月28日

Amazon Dash Buttonが日本にやってきた!


マツナガです。
2016年も残りあとわずか。今年もIT界隈ではいろいろな新しいサービスが生まれました。その中でも、2016年12月5日突如、日本でサービス開始になったAmazon Dash Button。アメリカでは昨年の2015年4月から先行でサービス開始されていましたが、このタイミングで日本でサービス開始になるのは予測していませんでした。

Amazon Dash Buttonは、AWS(Amazon Web Service)が提供するIoTのサービスです。IoTとは「Internet of Things」のことで、パソコンやスマートホンだけでなくいろいろなモノがインターネットに繋がっていろいろなサービスが提供できる仕組みのことです。

Amazon Dash Buttonは、こんな形をしていて、このボタンを押すだけで、あらかじめ登録しておいた商品がAmazonから発送されて自宅に届くものです。


Dash Button自体は、Amazonのサイトから購入することができ、主にリピート購入する日用品(洗剤、シャンプー、飲料水など)を購入するためのボタンが用意されています。

なお、Dash Buttonを利用するには、以下の条件が必要になります。
・Amazon プライム会員であること
・iOSまたはAndroidのAmazonショッピングアプリを利用していること
・設置場所にWi-Fi環境があること

わが家にはご存じの通り、2匹の猫がおり、キャットフードは定期的にAmazonから購入しています。キャットフードもリピート購入商品ですから、AmazonのAmazon Dash Buttonの特設サイトを探してみると、わが家で定期購入しているキャットフードのDash Buttonが販売されていました。



このように、それぞれのDash Buttonには購入可能な商品が決められており、その中の1品を指定することができます。この商品のキャットフードの場合は、チキン味とかサーモン味とか、子猫用、老猫用などいくつか種類があるので、このボタンで購入可能な種類のキャットフードの中から1品を指定することになります。どの種類の商品かを指定はDash Buttonが届いてからの作業になりますので、まずはDash Buttonを購入します。

Amazon Dash Buttonは1つ500円で販売されていますが、Dash Buttonの最初の購入の際に500円が割り引きになりますので、いわゆる「実質無料」のデバイスになります。したがって、Amazonプライム会員であれば、割と導入自体のハードルは低いと思います。

というわけで、このDash Buttonを購入してみました。

設定はわりと簡単


注文から2日後、Dash Buttonが届きました。パッケージはこんな感じ。



早速設定を始めます。設定には、iOSかAndroid用のAmazonショッピングアプリが必要です。
こんな感じで、Dash ButtonをiPhoneの横におき、Amazonショッピングアプリから設定をしていきます。


Dash Buttonには、Wi-FiとBluetoothのモジュールが内蔵されています。
設定の仕組みとしては、Dash ButtonとiPhoneはBluetoothで接続され、AmazonショッピングアプリからWi-Fiの設定と、ボタンが押された時に購入される商品の設定を行います。

Dash Buttonを長押しすると、設定が始まり、SSIDの一覧がアプリに表示されるので、接続したいWi-FiのSSIDを選択し、パスワードを入力します。
Wi-Fiの設定が完了すると、次は、購入商品の設定です。Dash Buttonで購入可能な商品が一覧表示されますので、設定したい商品を選択します。


なお、購入する商品は、Amazonショッピングアプリの「カスタマーサービス」→「Dash 端末:端末を管理」のメニューから何度でも変更可能です。

Dash Buttonを設置する


設定が終わったら、Dash Buttonの設置をします。商品がなくなりそうになったら注文できるというのが、このDash Buttonの特徴であるため、洗剤であれば洗濯機、食料品であれば冷蔵庫、歯磨き粉であれば洗面所というように、対象商品の近くに設置します(もちろん、設定したWi-Fiの電波が届く範囲に限ります)。

今回購入したDash Buttonはキャットフード用であるため、このような場所に設置しました。


うちに猫たちには、いつでも押して良いよと言ってあります(笑)。
Dash Buttonは押してから、商品が配送されるまでは、何回押しても注文されないようになっているため安心です。
ただ、うちの猫たちは、はじめは、「なんだコレは?」といった感じでツンツンと触っていましたが、一度も押してくれません・・・。
ポチッと押してくれればネタとしては大成功だったのですが・・・。

2017年はIoTがさらに加速する?


Dash Buttonは、ボタンを押すと商品が届くというとってもシンプルでわかりすい仕組みです。ボタンが押されたというアクションをきっかけに、インターネット経由でAWSのサービスに通知し、商品の決済と配送を行うようなシステムが組まれています。
従来であれば商品を購入するためには、PCやスマホからWebサイトに接続し、商品をカートに入れて、商品の確認、決済を行うといった操作を行うのですが、Dash Buttonはボタン1つで商品の購入・発送が完結してしまいます。

Dash Buttonは商品の購入をシンプルにしたものですが、こういったデバイスからボタンを押すといった単純な操作によって何かができるという仕組みはいろいろ応用できそうです。もちろん、システムの裏側では、情報が盗まれないような工夫や、デバイス自体が盗まれた場合の安全対策など考慮も必要ですが、そういった機能やノウハウも整ってきています。

2017年はいろいろなインターネットにつながるサービスが従来のHTMLで記述されたWebページを入り口にするものではなく、Dash Buttonのようなデバイスを入り口にしたものが徐々に増えてくるのではないかと思います。2017年は、弊社でも地域の人に使って貰えるこのようなサービスをリリースしたいと思います。


  
タグ :IoTAWS


Posted by iA SEチーム at 15:25Comments(0)

しずおかオンライン@静岡市のweb界隈活動まとめ 2016

2016年12月14日

こんにちは、遠山です。
いよいよ年の瀬ですね。
今年は弊社エンジニアチームのメンバーが、社外でもたくさん活躍した年でした。そこで、みんなの頑張りを(おんぶに抱っこで)まとめつつ、web業界をちょっと見渡すようなエントリーを書きます。

12月


先週末に開催されたイベント「Knock!Knock!」(web制作者向けミーティングみたいなやつ)で、2016年総まとめ的な話をしてきました(というか私は聞いていただけですが)。


すごく面白かったし、「あぁ、今年も終わっても大丈夫だな」という不思議な区切り感が得られて有難かったイベントでした。

この勉強会は、なんと資料が公開されています。IT詳しくない方でもわかりやすい内容かと思いますので、ぜひご覧になってみてください(主催の矢部さん、いつもありがとうございます)。

「静岡で活躍中のweb制作者」を探るアンケート 2016
 https://speakerdeck.com/yabecchy/jing-gang-dehuo-yue-zhong-falsewebzhi-zuo-zhe-wotan-ruanketo-2016

Web制作界隈 ゆく年くる年 ver.2016
 https://speakerdeck.com/yabecchy/webzhi-zuo-jie-wei-yukunian-kurunian-ver-dot-2016

公式レポート
 https://knock3.hamnaly.com/vol32/follow.html

上記アンケートでも多かったのは「js気になる〜」の声。
そんな声に応える勉強会が11月にありました。


11月


毎年のPHPの祭典「phpcon2016」が開催された11月(行ったよー!)。

静岡では、「静岡JavaScript勉強会#4」が開催されました。
https://connpass.com/event/41773/?utm_campaign=event_participate_to_follower&utm_medium=twitter&utm_source=notifications
そうそうたる発表者の面々と、Webpack / react-native / Vue / WebGL とイケてるヤツ勢揃いの総まとめ的内容。
さらには制作時に悩みがちなことも共有されて嬉しかった回です。
弊社から4人も参加していて出過ぎだろ感ありました。それだけ”やる気”あるんだぞって世の中の発注者の皆様に思っていただけたら幸いです。来年も楽しいお仕事待っています。(#新しい技術にキャッチアップする≒価値、とかの話はもしよろしければ飲みながらしましょう〜)

同日に「WordBenchしずおか&KUSANAGI静岡ユーザグループ勉強会」が開催されていて、なんとあのWebセキュリティの第一人者「徳丸浩」さんが来静していたとのこと。ここに報告しておきます。
https://connpass.com/event/44147/


10月


10月は、「JAWS FESTA 東海道 2016」が開催されました!静岡のエバンジェリスト(←弊社所属です!)がいつも活躍しているアレです。
 http://jft2016.jaws-ug.jp/
そして、そうそうたる登壇者の中に混じって、弊社のエンジニアもスピーカーとして大活躍!いや本当にすごい。
 http://jft2016.jaws-ug.jp/speaker/375/
ええっと、この話には前置きがあってだな・・・(9月に続く)


9月


上記のプレイベントとして開催された「JAWS-UG 合同勉強会 in 浜松」で登壇デビューした彼。
なんとASCII.jp の記事になったのです!(イベントの開催自体は8月27日でしたね)。

しずおかオンラインの榊原さん、VPC内のLambdaの苦労を語る
 http://ascii.jp/elem/000/001/245/1245577/


(photo by ascii.jp / 重森大さん)


どうですか。womoグルメアプリのスタンプ機能開発の話です。快適に動く構成は、彼でなければ成しえないことでした。
みなさん、実際にアプリをダウンロードしてぜひ体験してみてくださいね。
そして、超お得なくじ引き当ててください

この月はもうひとつ、しずおかオンラインも"協力"に入れていただいた「HACK DAYS 2016」というイベントがありました。
https://shizuoka-hackers.space/
静岡県在住のエンジニアのみならず高校生や県外のエンジニアも参加した、ごった煮オープンデータハッカソンでした。2日間の開発で実際に動くVRアプリが発表されたり、きちんとビジネスモデル展開が考えられた提案があったりと、みなさんの開発力・提案力に脱帽のイベントでした。
静岡のオープンデータは、全国的に見ても先進的な取り組みがたくさんみられます。

静岡市:アーバンデータチャレンジ参加状況
 http://urbandata-challenge.jp/?s=%E9%9D%99%E5%B2%A1%E5%B8%82
地形判読容易「CS立体図」 静岡県が公開、林業など活用期待
 http://www.at-s.com/news/article/politics/shizuoka/306521.html
静岡県、オープンデータに 第4次地震被害想定
 http://www.at-s.com/news/article/social/shizuoka/bosai/300382.html

オープンデータ界隈にも、これからも注目しつつ関わっていきたいです。


8月、7月


・・・長くなってきました。ここからは巻きでいきたいと思います。というかこの月は個人的に納品が重なってめっちゃ忙しかったという記憶しかありません。あと、フェスに2つ行けたのでかなり満足です。暑い夏でしたぜ(キラリ)。
あー・・・、あの、それから、「mint」というGoogleAnalyticsのアクセスレポートをいい感じに作る感じのウェブアプリを作ったりしていました。これはわかる人にはわかる系なので用がある方は見てください。ご利用無料です。
http://mint.iarchitect.jp/


6月


この月はもうとりあえず AWS Summit in Tokyo 2016 です。
http://www.awssummit.tokyo/

弊社はかなりのAWSユーザーなのです。正規代理店のサーバーワークスさんに事例をたっぷり記事にしていただけるくらいに活用中。
http://www.serverworks.co.jp/case/shizuoka-online
・・・というわけで、クラウドでお困りのことがあればお問い合わせください。


5月


ここでは、個人的な活動なのですが、友人と運営している「シネマトリップ」をリニューアルしたりしてました。
5月8日から開催された「シズオカ×カンヌウィーク」というイベントの記事も書いたりしています。
https://cinematrip.jp/issue/detail.php?id=93



4月


この月は、弊社のエンジニアCookpad TechconfやLIGさんの社会人OKな勉強会に参加したレポートを全社会議で発表する場面がありました!
全社会議での発表は弊社社内での出来事ですが、とても刺激的な内容で、社員のみんなにかなり良い影響を与えてたと思います(一番いい発表だった、と言われてましたね!)。

そしてそして同月、「JAWS-UG静岡 春の陣」が開催され、ここでも弊社エンジニア陣が大活躍!
https://jawsug-shizuoka.doorkeeper.jp/events/40830
弊社期待の若手エンジニアがLTデビューしたのはこの回です!
(きっと後日、発表した時のスライドをアップしてくれるはずなので、またリンクを貼りたいと思います。)
ええっと、この話には前置きがあってだな・・・(1月に続く)


2月、3月


LINE BOT APIが今年4月に発表されたわけですが、その前の3月に発表されていたのがLINEのMVNO参入。今月(12月)に一般で購入できるようになりましたね。TSUTATAも参入してますし。そしてどの格安simにしようか悩む...w
という感じでこの年度末はワクワクすることがたくさん発表されていました。
GoogleのGCP Next 2016で発表された「Cloud Machine Learning」や人工知能を搭載した様々なサービス・・・。昨年は「ビッグデータ」がいわゆるバズワードだったわけですが、そういうわけで今年は「AI」とかがバズりましたかね。


1月


静岡に住んでいてもいなくても、エンジニアさんはみなさん注目 or 制作に取り組んでいたのではないでしょうか!?
しずおかアプリコンテスト」がありました!
https://shizuoka-app-awards.jp/
(結果発表自体は2月26日でした)

全国的に見て、年明け一発目のアプリコンテストだったと思います。
応募作品は116もありました。

このコンテストの受賞者による凱旋プレゼンが、4月の「JAWS-UG静岡 春の陣」だったわけです。
最優秀賞の「しずいくマップ」を制作された方が、一問一答していらっしゃって、結構面白いのでご一読してみてはいかがでしょうか。
http://dokeep.jp/shizuiku/interview

このコンテストのプロデュースを、これまた弊社所属のエンジニアが担当しました。彼の先進的な視点と腕がなければこのコンテストの雰囲気は成立していなかったと思います!



そういえばこの「eしずおかブログ」も今年で10周年なのです。他のブログを締め出された知人に紹介したら、新規に登録してくれたりしました。ありがとうございます。

以上、ばばっと「しずおかオンライン@静岡市のweb界隈活動」を振り返りました。
弊社の開発チームみんなの雰囲気が少しでも伝わっていたらいいな。
この雰囲気が、モチベーションになっています。
  

Posted by iA SEチーム at 16:29Comments(0)

しずおかオンラインで行っている(or関わっている)キャンペーンまとめ

2016年12月02日

弊社、しずおかオンラインで行っているキャンペーンを纏めました。
是非参加して、豪華賞品をゲットして下さい!

womoネット


Xmasアイコンコンテスト!


クリスマス間近ということで、womo会員になって、プロフィール画像をクリスマス仕様の画像に変更(もしくは投稿)。
それを、『Xmasアイコンコンテスト』に投稿することでwomoポイントがもらえます!
『Xmasアイコンコンテスト』
■キャンペーン期間
【選考期間:2016/11/25(金)~2016/12/25(日)】
【大賞発表:2016/12/26(火)】

■プレゼント
大賞(1名):womoポイント500pt
※womoポイントは、1000ptから商品と交換できます。ポイント・商品についてはこちら(https://womo.jp/guide/addpoint/


womoビューティ


体験クチコミでプレゼントキャンペーン


静岡エリアのwomoビューティー掲載店にwebで予約して、来店後に、サイト内の店舗ページへ体験クチコミをすると、抽選で『ビューティーパスポート』が当たる!
体験クチコミでプレゼントキャンペーン■キャンペーン期間
2016/11/24(木)〜2016/12/31(土)

■プレゼント
『ビューティーパスポート』(2017年1月12日発行予定)を
抽選で静岡版30名にプレゼント

womoグルメ


食べて、集めて、特典GET!womoグルメアプリにスタンプ機能登場


womoグルメアプリへのスタンプ機能追加に伴い、キャンペーンを実施しています。
期間中に合計5個のスタンプを集めると、抽選で商品券2万円が当たります!
食べて、集めて、特典GET!womoグルメアプリにスタンプ機能登場静岡版の詳細はこちら
浜松版の詳細はこちら
■キャンペーン期間
〜2016/12/31(土)
■プレゼント
商品券 2万円(1名)
お食事クーポン 500円(60名)


スタンプを押してくじを引こう あたりが出たらその場で1000円割引!


期間中、womoグルメアプリのスタンプ参加店にて、スタンプを押してもらうと、その場でくじ引きができます。
当たると「1000円割引」になります!
スタンプを押してくじを引こう あたりが出たらその場で1000円割引!静岡版の詳細はこちら
浜松版の詳細はこちら

■キャンペーン期間
2016/12/1(木)〜2016/12/25(日) ※くじが無くなり次第終了!
■プレゼント
その場で1000円割引!


womo編集部監修、美食忘年会ガイド2016


womoグルメでネット予約して、来店すると抽選で100名にQUOカード500円分が当たります!
womo編集部監修、美食忘年会ガイド2016
静岡版の詳細はこちら
浜松版の詳細はこちら
■キャンペーン期間
〜2016/12/31(土)

■プレゼント
抽選で100名様にQUOカード500円分
※来店人数分プレゼント

イエタテ


ドミノ・ピザがもれなく貰える!クリスマスキャンペーン


イエタテのサイトから、イベント、もしくはモデルハウス予約をして、参加した感想を書くと、ドミノ・ピザ商品券2000円分がもらえる!
ドミノ・ピザがもれなく貰える!クリスマスキャンペーン■キャンペーン期間
〜2016/12/18(日)

■プレゼント
ドミノ・ピザ商品券2000円分がもれなくもらえる!

まちぽ


ふじのくに 食べきり やったね! キャンペーン


協賛店にて食事をし、空のお皿の写真を投稿すると、抽選でメロンや野菜などが当たる!
ふじのくに 食べきり やったね! キャンペーン■キャンペーン期間
〜2016/12/10(土)

■プレゼント
・メロンや野菜セットなど豪華賞品をプレゼント(*時期によって内容は異なります)!
・協賛店のお会計金額から割引!
  

Posted by iA SEチーム at 19:08Comments(0)

webブラウザの気持ちになってコードを書きたい

2016年11月18日

こんにちは。webエンジニア1年生です。
HTML/CSS/javascriptの「書き方」がなんとなくわかり始めてきた気がするこの頃です。
ふと気になることがあります。

「HTML文書はwebブラウザによってどのように処理され最終的にページとして描画されるの?」
「webブラウザってGPUを利用する事ってあるの?あるならどんなケースで利用されるの?」


気になりませんか?ググってみました。調べればなんでも情報が得られるってほんとうに素晴らしい世の中。

1. HTML文書はwebブラウザによってどのように処理されるの?

結論を言えば下記辺りのページをなんとなく眺めればなんとなく理解できてしまうはず。
とってもわかりやすく解説されてます。 

ブラウザの仕組み: 最新ウェブブラウザの内部構造

ブラウザにやさしいHTML/CSS

理解するに越した事はないですがwebコンテンツを作るという立場ならば、とりあえずの理解はなんとなくできれば良いのかなと思っています。仕様は各レンダリングエンジンによって異なるし、仕様すら日々変わっていくだろうから、現状の仕様を端から端まで完璧に理解する必要はかならずしも無いなぁと個人的には思います。が、動作の概略を理解する事はwebコンテンツを作る上で有益なのは間違いない。「書き方」だけでなく「動作」を知る事で、webで可能な新しい表現・最適化・デバッグの面できっと助けになる。はず。

なにかを極めるには、それよりも下のレイヤーの技術も含めて理解する事が大切だと誰かに言われました。


2. 「webブラウザってGPUを利用する事ってあるの?あるならどんなケースで利用されるの?」

そもそもGPUとは?という詳細は端折りますが、描画機能に特化したCPUと並列で動作できるハードウェアとでもいいましょうか。いろいろなGPUアーキテクチャが存在するので、細かい動作や機能は異なりますが、ぼんやりとしたイメージとして、3D空間上にポリゴンを描画するいわゆる「3D描画」を行う事が可能なモノの思って大差ないかと。GPUを利用した2D画面の描画も、3D空間上において、いわゆる”板ポリ”にテクスチャを貼り付けて描画する為、まとめて3D描画と呼んでしまいます。

もちろん描画ユニットとしてだけでなく、科学シミュレーションや話題の機械学習の分野等では、GPGPU 等と呼ばれる汎用的な並列計算を行うSIMD演算器のようなユニットとしても活用されています。ゲームアプリケーションの分野でもポストエフェクトの処理をGPGPU(ComputeShader)で実装する等のケースがよくあります。

ちなみにですがこのGPU、スマホにはどうせ非力なGPUがのっているんだろうというイメージがありますが、iPhoneなんかは使えるGPUがのっていたりします。むしろ統合型のGPUがのっているPCなんかとくらべても優秀です。Androidも含めてそれなりのスマホなら使えるGPUが載っています。しかもユニファイドメモリ。
http://itstrike.biz/apple/iphone/28870/

本題に戻りこのGPUですがwebブラウザではどのように活用されているのでしょうか。ググってみるなんとなくわかってきました。すべてを網羅しているわけではないですが例えば以下のようなケースで使用されるようです。

- GPUレイヤーを用いて処理負荷を削減するAccelerated-Compositing
- WebGL
- Videoのハードウェアデコード

javascriptではなくCSSでアニメーションさせればGPUが使われるケースがあるらしく、Accelerated-Compositingを想定したコーディングの戦略が存在するなど、奥が深くて面白そうです。処理負荷をどうにかしなければならない最適化の案件等がもしあったら試してみたい。
Web-based Signage コンテンツ開発ガイドライン

WebGLの方は説明するまでもないかと思いますが、OpenGL ES(現状は2.0)をサポートするブラウザ用のグラフィックスAPIです。
あくまで個人的にはですが、WebGLは理解はすべき層であって、使いやすさや実装の速さという点ではそのラッパー/上位のライブラリーであるthree.jsなんかを使うのがよいのかなあというのが肌感覚です。WebGLで書ける方がそれは勿論かっこいいですが。昨今のグラフィッスAPIはDirextX12/Metal/Vulkan等、低レベルの波がきていて、パフォーマンスを得る代わりに複雑度が増してコード記述量がとっても多くなってきてます。ライブラリ開発者やエンジン開発者はここを理解しかつ叩く必要があるかと思いますが、アプリケーションプログラマは、これらの低レベルのライブラリをある程度理解しつつ、先人の努力にあやかり上位のライブラリなりを使うのが開発効率としてはよいのかなあと感じています。繰り返しですがあくまで、WebGL→three.jsを触ってみての現時点での個人的な感想です。
なんにせよWebGL(three.js)をがっつり使うお仕事がほしいなあ。


ささっと斜め読みした程度の理解なので、もっとブラウザの気持ちが分かるように精進します。  


Posted by iA SEチーム at 20:28Comments(0)プログラミング

railsでよく利用するコマンドまとめ

2016年11月10日

最近、ruby on railsの学習を始めました。
railsでよく使うコマンドついてまとめてみました。

scaffoldで作成したファイル削除

$ rails generate scaffold User name:string email:string
$ rails generate scaffold Micropost content:text user_id:integer
$ rails destroy scaffold "User"
$ rails destroy scaffold "Micropost"


scaffoldで作成したファイルを削除に復活

$ rails generate scaffold User name:string email:string
$ rake db:drop
$ rake db:migrate


controllerを作成して削除

$ rails generate controller StaticPages home help
$ rails destroy controller StaticPages home help


モデルを自動生成と削除


$ rails generate model User name:string email:string
$ rails destroy model User


マイグレーションの管理

マイグレーション
$ bundle exec rake db:migrate
1つ前の状態に戻す
$ bundle exec rake db:rollback
最初の状態に戻す
$ bundle exec rake db:migrate VERSION=0


モデルの作成

rails generate models article
vim ../../db/migrate/20160713104720_create_articles.rb
bin/rake db:migrate VERSION=20160712070836


railsのルーティングの確認

$ bin/rake routes
Running via Spring preloader in process 62069
Prefix Verb URI Pattern Controller#Action
root GET / static_pages#home
help GET /help(.:format) static_pages#help
about GET /about(.:format) static_pages#about
contact GET /contact(.:format) static_pages#contact
signup GET /signup(.:format) users#new
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy


routesコマンドで、urlパスを確認しています。頻繁にルーティングコマンドを実行します。

マイグレーションファイル作成コマンド

rails generate migration


本番にデータベースマイグレーション

bundle exec rake db:migrate RAILS_ENV=production


  

Posted by iA SEチーム at 20:03Comments(0)

【未経験者にもおすすめ!】 おすすめプログラミング勉強サイト「Progate」

2016年11月07日

こんばんは、2年目システムエンジニアの城所です。

早いもので、もう11月。あっという間に3年目になってしまうなぁ・・と焦りを感じつつ、今月から今までやったことのなかった「Ruby on Rails」に挑戦しようと考えています。

ところで、皆さんは新しく言語を取り入れたりする場合にはどんなサイトを見ますか?
railsチュートリアルのようなサイトをいきなり始める人もいるかとは思いますが、基礎から学ぶ場合には「ドットインストール」を思い浮かべる方も多いのではないでしょうか?

ドットインストール


ドットインストール
特徴
・3分間の動画による説明
・講座の種類がかなり豊富


説明がわかりやすく、1動画も長くて3分と空いた時間にも見れるため結構自分も重宝しているサービスです。
こんな感じで学習の記録も見れます。
プロフィール


今回も例にならい、ドットインストールで勉強を始めようと思ったのですが、やったことのない言語ということもあり、基礎知識のないまま動画を見てプログラムを打ち込むとなると思ったよりも進まない印象を受けました。


今までオンライン上で勉強できるサイトはドットインストールくらいしかないと思っていたのですが、この機に調べてみるとサイト上での勉強ができるサイトが他にも多くあることを知り驚きました。

どれもユニークだったのですが、中でも下記の「Progate」がとても良かったのでご紹介したいと思います。

Progate
公式サイト:https://prog-8.com/

特徴
・最初にスライドを読み、スライド通りにコードを打ちこみ正解すると次のステップに進んでいく
・ブラウザ1画面で完結する
・サーバーが用意されており、動作結果がすぐにプレビュー画面で見れる

【Progateがおすすめな3つの理由!】

一つ目:レッスンを読むことでがゴールではなく、アウトプットまでがゴールになっている!
本や動画での学習の場合、インプットが目的になってしまい、読んだ上でアウトプットするためにはひと頑張りが必要なケースが多くありがちです。特に簡単な箇所だと読むだけで終えてしまい、後々それが響いてきたりすることが自分の場合よくありました。
「Progate」では実際にコードを書くまで次のステップにも行けないため確実にアウトプットが行えます。

2つ目:ブラウザのみで完結できるため、環境構築がいらない!
「ブラウザのみで良い!」という点が非常に便利です。参考書等の場合、まず冒頭に環境構築がありますがその参考書が古かったりすると、同じ環境にできずに謎のエラーが出たりして、そもそも学習にたどり着けない可能性があります。また最近はweb上の情報がほとんどMacユーザー向けになっていることでWindowsユーザ(エンジニア職以外の方はWindowsユーザの方が多いはず、、)が勉強するのは困難になっていますが「Progate」ではブラウザさえあればできるのでその心配もないです。

三つ目:やっていて面白い!
このサイトでは結果をすぐに確認できたり、学習に応じてステータスが伸びたりと楽しめるための工夫が多くされていると感じました。楽しみながら上達できるのが一番だと思うのでその点で是非おすすめしたいです。

以上、簡単にですが「Progate」の紹介をしてみました。

ドットインストールもとても良いサイトなので、使い分けとして「Progate」で一通り動かしてみた後で、「ドットインストール」で確認するといった流れが効率的なのではないかと思います。


数値(Lv)で達成度が確認できるので、それもモチベーションに繋がりやすいです。
自分も3年目までに「Progate」でLv50、ドットインストールの講座完了数も「500」くらいまでは進めようと思います!


ブラウザさえあれば簡単に学習できるので「エンジニアでないけどプログラムに興味がある」といった方にもオススメです!

ぜひぜひ試してみてください。  

Posted by iA SEチーム at 21:14Comments(0)railswebサービス

小ネタ

2016年10月30日

小ネタ



AWSで長いリソースIDが使えるようになった


AWSの成長しすぎでリソースIDが割り当てられなくなってきたそうです。
そのため長いリソースIDが使えるようになりました。
また、12月以降に作るリソースは長いIDになります。

で、心配していたのは今までのリソースのIDが変わってしまい、
設定済みのスクリプトなどが動かなくなってしまうことですが、大丈夫っぽいです。
既に作成済みのものはこれまで通り短いIDでもアクセスできて、
加えて長いIDでもアクセスができるらしいです。

安心しました!

AWS StorageGatewayを使ってみてわかったこと


S3に保存されるので、一定期間後は自動的にGracierに移行して費用節約とか、
ホストサーバーが壊れてもHTTPで直接S3にアクセスできるとか考えていました。
前者は手動でなら可能。
後者は改めてホストサーバーを作る必要があります。
インフラはS3でもファイルシステムはS3にはできないので仕方ないんでしょうね。

ちょっと残念でした!

Clam AVがディスクを使い切る問題


先日、あるサーバーでディスク容量がいっぱいになるという障害が発生しました。
しかしdfやduをしても異常なディレクトリが見つけられない。
topを見るとloadaverageが微妙に高い(2.13とか)
そしてclamdとユーザー権限でされてるclamscanのCPU使用率が妙に高い。
試しにclamdの停止とclamscanのプロセスをkillしたらディスク容量が元どおりになりました。

ClamAVのバグかと思って調べたらこんなのが見つかりました。
https://bugzilla.clamav.net/show_bug.cgi?id=11647
アップデートしろ、と書いてあったので実行したところ、その後安定してます。
ちなみに最新のClamAVは0.99なのですが、このサーバーは0.97でした。

同じ問題についてもっと詳しく書いている方がいたので紹介しておきます。
https://srad.jp/~kawakazu/journal/607032/

もし3年くらい前に構築してほったらかしになっているサーバーがあったら注意してください!

  

Posted by iA SEチーム at 14:48Comments(0)ネタAWS

WFを書くのに便利なツールをご紹介

2016年10月11日

こんばんは、河原崎です。

年末や年度末が近づき慌ただしくなってまいりました。
最近は、システム案件のWFをよく作るようになりました。

WFを書く場合、何を使っていますか?

私は、Cacooを使っていました。
ちなみにその前は万能なエクセル様です。

Cacooは、とても使い勝手が良くのですが、
他のメンバーが使うとよく落ちるということで、代わりのものを探したところ
Adobeからいいものが出ていると記事を見つけ、無料だったので使ってみました!

それがこれ「Adobe XD」です。

主な特徴としては
・線引くのとか画像貼り付けるのが超簡単
・WFもかけるしプロトタイプも作れる
・一つのキャンバスの中に画面を作れるのでやりやすい
・PCもスマホもお手の物
・PDF出力できるのでそこからテキストを抜くこともできる
・アップデートが頻繁で開発のやる気が見える

これがあれば、生産性アップ間違いなしです!
今なら無料!そのうち有料!!

ぜひ一度使ってみてください!!

あ、MAC専用です  

Posted by iA SEチーム at 20:22Comments(0)webサービス

womoユーザーの心理をよむ!webマーケティングに応用できる行動心理学5つ

2016年09月27日

こんにちは。システムエンジニアの望月です。
womoの開発に携わりはじめてから1年半あまり…最近はプログラムを書いているよりもアクセス解析・改善提案・メディアの方向性の検討などに頭を悩ませるコトが多いです。

サイト改善では、データの裏付けがある施策を実施するのが基本ですが、最近は多くの人に共通する心理をうまくついた施策をするのもおもしろいな〜と思っています。
というのも、改善案を検討している時「人って◯◯な傾向があると思う」と口にする場合が多々あります。
根拠があるわけではないのですが、その場にいるみんながなんとなく共感してしまうようなことです。
気になって調べたところ、行動心理学でちょうどあてはまるものがあったのです。
そこで、webサイトの改修に役立ちそうな行動心理学を、今までwomoで実施した施策や事例をあてはめながら少し紹介します。
※施策を実施した段階で行動心理学を意識していたわけではありません


フレーミング効果


フレーミング効果とは、同一の内容や選択肢であっても、表現や基準を変えることで与える印象が異なってくることをいいます。
人はそれぞれ価値観が異なっており、物事を自分基準で比較するので、このような現象がおきます。

例えば、womoの目標として
「静岡女性の10人に1人がみているメディア」というものがあります。(クラスに3人、くらいですね)
これを言い方を変えて、「静岡女性のうち8000人がみているメディア」とすると(数字は適当です!)、多そうですが実感が湧きにくいですよね。
反対に「静岡女性の9割が見ていないメディア」とすると、ほとんど見てないじゃん!と思うはずです。
数値としては同じことを言っているのですが、「10人に1人」と表現することで、実感もわきますしすごい印象になります。


松竹梅の法則


3つのランクや料金のものが並んでいるとき、無難な真ん中を選択してしまう法則のことです。

womoで定額クーポンを3パターンの価格で出していた際、真ん中の価格の予約数がダントツで多くなりました。
クーポンの質としてはどれも違いがなかったように思うので、松竹梅の法則で真ん中を選択してしまう人が多かったのかもしれません。
今後一番注目してほしいものは、真ん中に置くようにしたいと思います。


決定回避の法則


人は、選択肢が多くなると決められず、行動できなくなってしまうという法則です。
学生時代に家電量販店でアルバイトをしていましたが、「お客様は迷うと買わなくなってしまう。商品の紹介は3つまでにするように!」とよく言われたものです。

womoでは、コンテンツ量を増やすような取り組みを日々行っています。
一方で、ユーザーテストを行った時「メニューが多すぎて選べない。目的にたどり着けない」という意見も寄せられました。
量が多いことが「悪」ではないはずなので、ユーザーが迷わないようなカテゴライズや絞り込み機能、うまくニーズにあったコンテンツに誘導できるように特集をくむなどの取り組みを進めていきたいと思います。


損失回避の法則


利益を得るよりも、損失を避けたいと思う法則のことです。

以前しずおかオンラインでは、購入者は掲載店において一定期間、割引を受けられる本を発行していました。
ありがたいことに、多くの反響をいただくことができ、お店にもたくさんのお客さんが足を運んでくださいました。

このモデルで、本ではなくwebでも提供しました。
しかし、思っていなような反響は出ませんでした。

双方は、名前も仕組みも似ていたのですが、決定的に違う部分は「有料誌」と「無料コンテンツ」というところだったと思います。
本を購入したユーザーは、損失回避の法則に基づき「お金を出して買ったんだから、利用しないと損をする」という心理になっていたと考えられ、多くのお店へ足を運びます。(使えば使うほど得になる仕組みでした)
無料コンテンツの方は、いつでも誰でも利用できてしまったため「使えば得かもしれないけど、使わなくても損をしない」。
この違いが、ユーザーの行動へ大きく影響していたとわたしは考えています。
(本とwebはユーザーも使い勝手も違うので、同じに考えてはいけない、というのはもちろんですが。)


スノッブ効果


多くの需要があるものに対して、個々人からの需要が小さくなる効果のことをいいます。
自分が好きなバンドが有名になったとき、嬉しい半面少し冷めてしまう、と似ているなと思います。
同じようなものが氾濫していると希少なものへの欲求が高まり、限定品などの簡単に手に入らないものが人気になりますよね。

先ほどの「使わなくても損をしない問題」を打破し価値を見出すべく、上記のような効果を期待してコンテンツに「限定数」を設けました。
1つのクーポンに付き、使える人数を限定し希少性を高め、ユーザーが動くきっかけをつくろうとしました。
(あまりうまくいきませんでした。一筋縄では行きません。)

余談ですが、バンドワゴン効果というものがあるのもオモシロイです。
バンドワゴン効果は、多くの需要があるものに対して、個々人からの需要が大きくなる効果のことで、スノッブ効果とは全く反対です。
行列ができているラーメン屋さんがあると、ついつい食べたくなります。これです。



まとめ


今回は5つのみ紹介しましたが、調べてみると他にもさまざまな行動心理の効果があります。
行動心理学は、ウケるキャッチフレーズを作ろうとするときや新サービスの検討など役に立つ場面は多いと思います。
感覚値で話すのではなく、「行動心理学でも定義されている〜〜」という説明にするだけで、説得力も大幅アップですね!
受け売りになりすぎないように、使っていきたいと思います。
  

Posted by iA SEチーム at 18:29Comments(0)心理学

[Rails]AWS SDK for Ruby(2.5系)を使用してファイルをS3にアップロードしてみた

2016年09月06日

aws

まだまだ日中は夏のような暑さですが、
日が暮れると風が涼しく、ひぐらしも鳴き始め、もうすぐ夏も終わりなんだなー
っとしみじみと感じている榊原です。

今回はタイトル通り、AWS様が提供しているAWS SDK for Rubyを使用して、
S3にファイル(今回はCSVファイル)をアップロードするまでの流れをさっくり書きたいと思います。
Qiita、公式等、色々なところでやり方について書かれているので、今更と思う人がいるかもしれませんが、
AWS SDK for Rubyを最新にしたことによって色々変わっていたので、今更と思わず、すこし見ていただけたらなと思います。

AWS SDKとは


まず、AWS SDKとはなんぞやということですが、簡潔に言うと、各言語にてAWSサービスを簡単に利用するためのライブラリという認識ですが、間違えていたらご指摘ください…

AWS SDK for Rubyのインストール


bundlerを利用してAWS SDKのインストールを行います
まず、Gemfileに以下のような記述を追加します。

gem 'aws-sdk', '~> 2.1'


その後、コンソールから以下のコマンドを実行して、
AWS SDKのインストールを行います、インストールするフォルダを指定する場合は、
--pathオプションを忘れないようにしてください

$ bundle install


bundle installで正常終了したら、コンソールから以下のコマンドを実行していただき、
同じような結果が表示されていればインストール完了となります
今回のGemfileに記述した'aws-sdk', '~> 2.1'は2.1から3.0の手前までの最新Verをインストールするという記述になるため、
実行するタイミングによって、Verが更に新しいものになる可能性があるという点にご注意ください

$ bundle list | grep aws-sdk
* aws-sdk (2.5.3)
* aws-sdk-core (2.5.3)
* aws-sdk-resources (2.5.3)



S3へのファイルのアップロード


まずはじめにQiitaの記事を参考にした下記の内容で試してみました。

AWS.config(
access_key_id: 'YOUR_ACCESS_KEY_ID',
secret_access_key: 'YOUR_SECRET_ACCESS_KEY'
)

s3 = AWS::S3.new
bucket = s3.buckets[bucket_name]
obj = bucket.objects[s3_path + '/' + file_name]
obj.write(file: upload_file_path + '/' + file_name)


結果としては、「uninitialized constant AWS」という内容で、AWS.config実行のタイミングでエラーとなりました。
インストールされたライブラリの中身を見てみるとモジュール名が「Aws」になっており、どのVerからかは不明ですが、モジュール名がアッパーキャメルケースに変更されていたようです。

次に公式の日本語ドキュメントを参考にした下記の内容で試してみました。

s3 = Aws::S3::Resource.new(region:'region')
obj = s3.bucket('bucket-name').object('key')
obj.upload_file('/path/to/source/file')


結果としては、実行する以前にIDEの方で「Found 1 extra argument(s). Required 0」となり、
そもそも引数していできないよとのこで、当然実行してもエラーとなりました。

最終的に問題なく動作したものは公式の英語ドキュメントを参考にした下記の内容のものとなります。

Aws.config.update({
region: 'region'
credentials: Aws::Credentials.new('YOUR_ACCESS_KEY_ID', 'YOUR_SECRET_ACCESS_KEY')
})

s3 = Aws::S3::Resource.new
obj = s3.bucket('bucket-name').object('key')
obj.put(body: String)

今回はput部分にCSVの文字列を引き渡す形にしましたが、ファイルでも同様のことができるかと思います。
また、一点確認していない部分なのですが、今回、Aws.config.updateの部分でregionとcredentialを指定しています。
しかし、ドキュメントのConfiguration部分をGoogle翻訳にかけてざっくり見てみたところ、どうやら指定の環境変数、または、iniファイルに記述することで、Aws.config.updateで記述しなくても設定してくれるようです。
セキュリティ的にはソースに直接書くよりも、環境変数、または、iniファイルに記述した方がいいと思うので、そちらも試してみようと思います。

まとめ


AWSを使用している人がかなり多いこともありQiita、ブログ、公式ドキュメントなど様々なところに情報があります。
ただし、サービスの追加、更新、SDKの更新等がかなり頻繁に行われているので、古い情報というのも多くあり、公式ドキュメント見たほうがいいとはわかっていましたが、文章が難しいとか、目的の情報をうまく見つけられない等で敬遠していました。
新しいサービスを使っているなら、好き嫌いせずに公式ドキュメントをしっかり見よう!
っということで、今回はこのあたりで閉めさせていただきます、次回は、すこしAWS Lambdaについて書こうかなーっと考え中です

その他


JAWS FESTA 東海道
この頃、静岡のJAWS-UGでLT等で話させていただいていますが、2016.10.22[sat]に名古屋でJAWS FESTA 東海道 2016という大きなイベントを開催するそうなので、AWSに興味があるという方はぜひ参加してみてください。
参加については、connpassのこちらで募集しています。先着順となっていますので、お早めに!

こちらはすでに終わってしまったのですが、2016.08.27に行われたJAWS-UG東海道 in 浜松に登壇させていただきました。
内容はasciiさんの以下のページにて掲載していただいておりますので、内容に興味があるよという方は、次回の参加をお待ちしております!
http://ascii.jp/elem/000/001/209/1209985/
  

Posted by iA SEチーム at 11:42Comments(0)AWSrails

PageTop