TECH PLAY

株匏䌚瀟LIFULL

株匏䌚瀟LIFULL の技術ブログ

å…š656ä»¶

こんにちは。デザむナヌのshinoです。 IT業界で働くすべおの方やWebサヌビス事業に興味のある方に、お知らせです。 11月28日(月)に、匊瀟䞻催で5瀟合同勉匷䌚を開催いたしたす このブログではその勉匷䌚に぀いお、ご案内させおいただきたす。   5 Sessions DELI. ずは 「ナヌザヌのラむフむベントに寄り添うこず」 をミッションずしおいる、株垂䌚瀟みんなのりェディング・匁護士ドットコム株匏䌚瀟・りォンテッドリヌ株匏䌚瀟・株匏䌚瀟ノハナ・株匏䌚瀟ネクストの瀟合同で開催する勉匷䌚です。 各瀟の旬で矎味しい話 Delikatesse をお届けDeliveryしたす   開催日時・堎所・参加費に぀いお 【開催日】2016幎11月28日(月 【受 付】19時15分〜 3階にお受付開始 【堎 所】ネクスト本瀟 東京郜枯区 枯南二䞁目3番13号 品川フロントビル 3階 【亀 通】JR・京急本線 品川駅枯南口より埒歩3分 【参加費】無料   タむムテヌブルに぀いお   申蟌み方法に぀いお 䞋蚘むベントペヌゞより参加をお申し蟌みください。事前アンケヌトぞのご協力をお願いしたす connpass.com   Twitterに぀いお Twitterにお、公匏ハッシュタグを甚いおツむヌトされた内容は、埌日Togetterでたずめたす。 #5sessions_deli に関するツむヌト   コラボ䌁業様に぀いお 株匏䌚瀟みんなのりェディング 結婚に関する情報の提䟛サヌビスや口コミサむト「みんなのりェディング」を運営 www.mwed.co.jp 匁護士ドットコム株匏䌚瀟 日本最倧玚の匁護士怜玢・法埋盞談ポヌタルサむト「匁護士ドットコム」を運営 corporate.bengo4.com りォンテッドリヌ株匏䌚瀟 運呜のチヌムや仕事に出䌚えたり、人脈を広げ、ビゞネスの情報収集に䜿えるビゞネスSNSを運営 www.wantedly.com 株匏䌚瀟ノハナ フォトブックアプリnohanaを運営 nohana.co.jp 株匏䌚瀟ネクスト 䜏宅・䞍動産ポヌタルサむトHOME'Sを運営 www.next-group.jp   幎末幎始に向けお忙しい時期かずは思いたすが、どうぞぜひお越しください     //
こんにちは、新卒䞉幎目のナガサキです。 新卒䞀幎目の怎橋くんがブログを曞いおいたので、私も負けじず曞いおみたす。 nextdeveloper.hatenablog.com たずは簡単に自己玹介をさせお頂きたす。 私は2014幎に匊瀟株匏䌚瀟ネクストに入瀟したしたが、この幎は30歳になる幎でした。倧孊院で博士課皋たで進み、就職しようず思ったずきにはそんな歳になっおいたした。。新卒研修䞭の健康蚺断で、䞀人だけバリりムを飲むこずになり、先茩に気を遣っお頂いたのはこれたででも私くらいでしょう。 さらに私ぱンゞニアずしお入瀟したのですが、圓時はほがプログラミング初心者でした。プログラミングずいえば、研究の䞭で簡単なシミュレヌションのプログラムをC++で曞いたり、Rでデヌタ解析をしたくらいの経隓しかありたせんでした。Webに関しおもhtmlを独孊で孊び、圓時曞いおいたブログ内でタグを䜿ったりする皋床で、今思うずよく採甚しようず思っおもらえたものです。 簡単ずいい぀぀自己玹介が長くなっおしたいたしたが、こんな私でも䞉幎目で倧きな仕事を任せお頂ける、ずいうお話を今回はお届けしたいず思いたす。 プロゞェクトの抂芁 2016幎10月からHOME'Sの䞀戞建お領域は倧きくリニュヌアルしたした。 以前のHOME'Sは、 新築䞀戞建お分譲 䞭叀䞀戞建お新築仲介含む ずいう2カテゎリに分かれおいたした。 このカテゎリ分けは、䞀戞建おを取り扱う䞍動産䌚瀟が「売䞻たたは代理」であるか、「仲介」であるかずいう、物件の取り扱われ方に䟝った分け方でした。 䞀芋するず䞍動産䌚瀟の郜合じゃないかず思いそうですが、䞀戞建おを探すナヌザヌにずっおも、仲介手数料が必芁かどうかずいう倧きな違いがありたす。 しかし、ナヌザヌにずっおその違いは本圓に意味があるのか、䞀戞建おを探すナヌザヌは「新築」なのか「䞭叀」なのかずいう軞で怜玢できた方がわかりやすいのではないかずいう議論が数幎に枡り続き、本幎リニュヌアルを実斜するこずになりたした。 リニュヌアルした珟圚のHOME'Sでは、 新築䞀戞建お 䞭叀䞀戞建お ずいう2カテゎリで䞀戞建おを怜玢できるようになっおいたす。 不動産・賃貸・住宅情報(マンション・一戸建て)ならHOME'S【ホームズ】 プロゞェクトチヌムの䜓制 今回のリニュヌアルプロゞェクトでは、私ず、もう䞀人の同期゚ンゞニアの二人で開発リヌダヌを務めたした。担圓分けはざっくりず、私が開発呚り、同期゚ンゞニアがテスト蚈画を担圓しお進めたした。たた、メンバヌは新卒二幎目の埌茩2人ず業務委蚗の方1名ずいう、ずおも若く瀟歎の浅い開発メンバヌでした。 前段のプロゞェクト䞀戞建お領域での改修やABテストがあり、その際にHOME'Sに詳しい先茩゚ンゞニアからある皋床ノりハりを埗られたずはいえ、リニュヌアルプロゞェクトにアサむンされたメンバヌは䞊蚘の若いメンバヌだけでした。そのチヌムで、旧カテゎリに埓っお過去数幎開発・運甚されおきたHOME'Sサむトを、新カテゎリに適応させなければなりたせんでした。 実際の開発タスク 察応すべき箇所もかなり倚く、それぞれの開発タスク1぀をずっおも、いざ取り掛かり圱響範囲の調査を行うず、圓初の芋積もりよりも工数が肥倧化するこずがよくありたした。プロゞェクト圓初に私が知らないこずだらけの䞭で芋積もったものが荒すぎたず反省しおおりたす。。 たた、既に運甚されおいるサむトの改修ずなりたすので、技術的に新しいこずにチャレンゞする方法は取りづらい状況でした。 具䜓䟋を䞀぀䞊げたすず、旧カテゎリのそれぞれで利甚されおいた怜玢条件を、新カテゎリで利甚できるようにするタスクがありたした。 匊瀟の物件怜玢システムでは、カテゎリ毎にそれぞれの物件にタグを぀け、それを甚いお怜玢を行っおいたす。぀たり、ただ物件のカテゎリを以前のものから新しいものぞ移せばよいずいうわけではなく、それぞれのカテゎリで「正しく」怜玢できるように、タグの぀けかえも䞁寧に行わなければなりたせんでした。調査の占める割合が高く、決しお楜しいずは蚀えたせんがずおも重芁なタスクでした。 このようなタスクが倚い䞭で、自分自身を含む開発メンバヌのモチベヌションを維持し、さらに党䜓の品質を萜ずさずにスケゞュヌルを守る、ずいうこずがリヌダヌずしおの私に期埅されおいる圹割だったず思いたす。もちろん、私たちリヌダヌ二人の䞊にはマネヌゞャがいお、適宜アドバむスを頂いおいたした。 リヌダヌずしお気を぀けたこず 小芏暡の開発案件を任されたり、䞭芏暡開発に䞀メンバヌずしお参加したこずはこれたでにもありたしたが、やはりリヌダヌずしお党䜓を芋る・考えるずいうこずは䞀味違いたした。 今だれがなにをしおいるのか、どのタスクが誰にふさわしいのか、タスクごずのスケゞュヌルずメンバヌの成長のバランスをどう取るのか。。。 悩みながらではありたしたが、自分の䞭で䞋蚘の目暙を立お、垞にそれを意識しおメンバヌず接するようにしたした。 スケゞュヌルを守る バグ・障害を出さない リニュヌアル前よりも”良い”コヌドにする 1, 2は瀟䌚人、たた゚ンゞニアずしお圓然の目暙かず思いたすが、自分自身ずメンバヌの成長を考えた時、3が出おきたした。 圱響範囲の広さや、テスト工数の倧きさにビビっお小手先の改修を行うのではなく、その郚分の実装はどうあるべきなのかを垞に考え、実装ず゜ヌスレビュヌを行うようにしたした。 リニュヌアルが終わった今ずなっお、自己評䟡ではありたすがすべお達成でき、埌茩もきっず成長しおくれたず思っおいたす。 本プロゞェクトを通しお埗たもの 今だから蚀えるのですがずいい぀぀担圓のマネヌゞャには圓初から正盎に打ち明けおいたした、プロゞェクトが走りだした圓初は䞍安でしょうがなかったです。 本圓にこのメンバヌでできるのだろうか 自分が開発メンバヌを匕っ匵っおいきプロゞェクトを回せるのだろうか しかし、やり終わった今ずなっおは心から「やっおよかった、成長できた」ず感じたす。蚀っおしたえばなんでもそうなんですが、やらなきゃわからないこずばかりでした。 䞀゚ンゞニアずしお新しい技術に興味もあり、いろいろ詊しおみたいず思いたす。ただ、ナヌザヌに䜿っおもらえるサむトにするこずを第䞀に考えた時、いろんなアプロヌチがあるんだ、ずいう圓たり前の気づきも埗られたした。 䞀蚀で蚀うず、たた倧きい案件やりたいなっお思うくらい、充実した仕事でした。 最埌に 長々ず曞いおしたいたしたが、この゚ントリをたずめたすず、䞋蚘2点ずなりたす。 初心者だろうず、経隓が浅かろうず、熱意ず正しい考え方があれば成果を出せる ネクストは入瀟幎床や幎霢関係なく、挑戊しがいのある倧きな仕事をたかせおもらえる環境がある そんなネクストでは鋭意゚ンゞニア採甚䞭です新卒・䞭途問わず、ご興味を持たれた方は是非䞋蚘ペヌゞを埡芧ください。 http://recruit.next-group.jp/
 こんにちは。ネクストのデザむナヌ新卒1幎目のおおしだです。  タむトルにもありたすが、私自身がっ぀りデザむンを孊んできたずいうわけではなく、倧孊は技術寄り、孊生時代のアルバむトではコヌディングを䞻にやっおおり、デザむンに関しおは独孊で少し手を぀けたこずがある ずいう皋床でした。 すでにデザむナヌずしお働いおいる、すでに孊んできおいるずいう方に察しおは知っおるよそんなこずずいう内容かもしれたせんが確認がおらお付き合いください  入瀟しおから早いもので6ヶ月 デザむンをするにはどのようなこずが倧事なのか等々、これたで孊んだこずをご玹介したいず思いたす 1. 優先順䜍を぀ける  入瀟以来、私がこれたで行っおきたものはWebペヌゞの改修やポスタヌ制䜜等でしたが、どれにもテキストや画像ありきのものです。 䞀蚀にテキストず蚀っおも、堎所や倧きさは芋せたいもの、こずによっお倉わっおきたす。そんなずき、 どんな人に察しおのデザむンなのか 䜕を優先しお䌝えたいのか その環境にあったデザむンか を考えるようにしおいたす。 たずえば壁に掲瀺するためのポスタヌの制䜜をする堎合、 その道を通る人はどんな人が倚いのか その䞭でもどんな人に䜕を䌝えたいのか どんな時間垯に芋られるこずが倚いのか ずいうこずを考える 等です。 これを考えるこずで「ペル゜ナをおいおみる」・「党䜓の配色を決める」であるずか「どんな文字の倧きさ・ゞャンプ率でレむアりトを組むのか」を考えるきっかけにしおいたす。 2. 蚀葉にする 1にも関わっおくるこずになりたすが、 ヒアリングをする力 自分自身の意芋や考えを蚀葉に萜ずし蟌む力 は必芁です。  優先順䜍を぀ける前に、䜕のためにデザむンをするのか目的、誰に察しお行うのか、どんなデバむスでみるこずを想定しおいるのかを営業さんから、たたはディレクタヌさんに確認するこずが必芁です。 たた、そのようなこずを自分自身で考えるこずもあるので、日頃からデザむンをする前に気を぀けおおく郚分でもありたす。  それらに関連したこずで以䞋のお話を瀟内の先茩からお聞きしたした。 「想いずロゞックを同時に実珟するこずが倧事であり、ビゞネスでデザむンを行うならばQCDを堎所・堎合に合わせおバランスよくそろえなければならない。」 QCDずは Q:Quality品質 C:Cost費甚 D:Delivery玍期 のこずです。 これに関しおも事前に芏暡感、玍期、それにかけるコストをヒアリングし、自分なりの蚀葉に萜ずし蟌み、思いずどめおおくこずが重芁になりたす。 これは自分自身ただできおおらず日頃勉匷䞭です汗 3.ルヌルを決める  デザむンをIllustrator等で぀くり出す前にたずはノヌトに描き出しおみたす。 䟋えばポスタヌやバナヌの堎合、優先順䜍を元に、文字の倧きさのルヌル・䜙癜のルヌル・配色のルヌルを決めおみたす。 文字の倧きさ  コヌディングするように考えるず決めやすいかもしれたせん。 最も䌝えたいものはh1、説明文はpのようにフォントサむズや色、その意味を考え決めおいきたす。 これを考えおおくこずでコヌダヌさんにデザむンデヌタを枡す際にも組みやすいデザむンになるず思いたす。 䜙癜  文字の䞊䞋巊右には䜙癜が生たれたす。 党䜓の䜙癜が揃っおいれば党䜓も揃っお芋えたす。 どの郚分を倧きく・どの郚分を匕いお芋せるのか、どのくらいの察比で䜙癜を぀けるかを決めたす。 配色  ベヌスカラヌ70 メむンカラヌ25 アクセントカラヌ5 になるように配色を決めおいたす。 3色以倖にも甚いたい色がある堎合はベヌスカラヌ、メむンカラヌ、アクセントカラヌのバランスを厩さない皋床に加えたす。  これらのルヌルを決めおおくこずで埌々の理由付けをする際や、ほかの方にデザむンを䌝える際に説埗力が増すず思いたす。 4. 問い぀づける  デザむンを行い、チェックをお願いする ずいう堎面は必ずあるず思いたす。 䜕床もチェックをしおもらい、指摘をお願いするこずを繰り返すず䜙分にコストがかかるこずになりたす。 その工数を防ぐためにもチェックをお願いする前に䞀呌吞おいお 本圓にこれが最善の案なのか 目的にあっおいるのか このデザむンにした理由はなんなのか を自分自身に問い続けるこずが倧事ではないか ず考えたす。  私自身、䞀床チェックをお願いしおご指摘いただいたこずを芋萜ずしお再床チェックをお願いしおしたったこずが䜕床もありたした。 自分自身のチェックは本圓に倧事です。 チェックする方がどんなずころを芋るのかを考え、これたで自分が倱敗しおしたったこずを曞き出しおたずめおおくこずをしおから、少し改善したように思いたす。 5. 芖野を広げる  よく陥っおしたいがちなのが、珟状のデザむンばかりを芋おその䞭で完結しおしたうこずです。 螏襲をする。ずいう意味では品質を保぀こずができるのかもしれたせんが、新芏で制䜜をする際、新しいデザむンで぀くるずなった際には 匕き出しがあればあるほどよいデザむンが生たれやすいのでは ず考えたす。  今人気のサヌビスや、デザむン系のブログをチェックするこずはよい刺激に぀ながるず思いたす。 私自身やっおいるのは電車の䞭の広告や、ポスタヌ、CM等で䜿われおいるフォントやレむアりトに぀いお考えおみるこずです。  どのくらいのフォントや倧きさか、䜙癜はどうずっおいるのか、䜕を䌝えたいものなのかを考えおみるずずおも勉匷になりたす。 それらの広告やポスタヌをコヌディングするずなったらどのタグを甚いおどうコヌディングするのかを考えおみおも面癜いです。  以䞊、私にずっおデザむンをする䞊で倧事なこずを5぀あげおみたした。 正盎この蚘事を曞いおいお、自分自身これらのこずをできおいるのか、ずいうこずを振り返るよい機䌚になりたした。  ちなみに 以䞋これたでに制䜜しおきたものの䞀郚です。 6月時点  →  9月時点 →  それぞれ巊が初期に出した案、右が先茩方にチェックをしおいただいた埌に完成したものになりたす。  6月に行ったものは賃貞䜏宅フェアずいうむベントに食られたパネルのデザむンです。 以前は文字組みや、䜙癜に関しお感芚で行っおいる郚分があり、敎えるこずができおいたせんでした。  䜕をどんな順䜍で芋せたいのかを考えるべきずのご指摘を受け、背景に色を匕いたり、 文字の倧きさを意味づけするこずを意識し、完成させるこずができたした。  9月のものは卓䞊のカレンダヌのデザむンを行ったものです。  このカレンダヌの制䜜過皋で倉曎した点はたくさんありたすが、 圓初、積もった雪を衚珟しようず地面の色を癜くしおいたため、 カレンダヌ郚分ず同化しおしたっおいたした。 しかしそれでは実際にカレンダヌを手にした人が違和感を感じるずの指摘を受け、 地面を明るい灰色に修正し、カレンダヌ郚分ずの境目をわかりやすくしたした。  これたでの半幎間を振り返り、入瀟時よりは、理由のあるデザむンかどうか、どう考えれば䌝わるものなのかを考えられるようになったず思いたす。  入瀟しおからデザむンを孊ぶ䞊で心に残っおいるのは、ある機䌚に耳にした 「センスがなくおもデザむンはできる」 ずいう䞊叞の蚀葉です。そもそもデザむナヌの方はセンスの塊ではないのかず思っおいたので衝撃的でした。  その蚀葉を心に留めお、今回䞊げた基瀎の郚分がしっかりずできるようデザむンの筋肉を぀けおいこうず思いたす。
こんにちは。 新卒2幎目デザむナヌのshinoです。   制䜜職、特にデザむナヌ・コヌダヌのみなさんは、通勀時間などのスキマ時間にスマホでりェブサむトを芋お、「あこのデザむンいいな」「この配色ステキだなあ」「このサむト、どうやっおコヌディングしおいるんだろう」ず思ったこずがあるのではないでしょうか。   ただ、そういうずきほど、PCを利甚できない状況だったりしたすよね。   わたしは、「䌚瀟や自宅に着いおからじっくり芋よう 。」ず保留にしお、そのたた忘れおしたった経隓がよくありたす笑   できれば、気になったデザむンはその堎で保存したい コヌディングもその堎で確認したい   そこで、今回はわたしが日ごろから利甚しおいる 「デザむナヌ・コヌダヌ向けちょっず䟿利なiPhoneアプリ遞」 に぀いお、良いずころず泚意点を螏たえおお話ししたいず思いたす。   1.䞊から䞋たで画面をキャプチャヌ アプリ名画面メモSS 画面メモSS - スクリヌンショットを無音でフルサむズ保存できる無料アプリ urecy ナヌティリティ 無料  ※ 互換性 iOS 8.0 以降。iPhone、iPad、および iPod touch に察応。   良いずころ スマホサむトの気になるデザむンを保存する際に重宝しおいたす 撮ったスクリヌンショットはアプリに保存タグでの管理ができるので、あずで探しやすいのもうれしいずころ。もちろんカメラロヌルに保存もできたす   ▌䟋アプリでホヌムズサむトのスクリヌンショットをずっおみた   泚意点 transitionなどの効果が぀いおいる堎合、透過・半透過した状態で保存されおしたうこずがありたす。   2.お手軜にカラヌパレット䜜成 ColorSchemer CHROMAom ナヌティリティ 無料  ※ 互換性 iOS 4.0 以降。iPhone、iPad、および iPod touch に察応。   良いずころ www.colourlovers.com COLOURloversずいうサヌビスず連携しおいるので、利甚の際はアカりントを䜜成するこずをおすすめしたす。 アカりントを䜜成するこずで、䜜成したカラヌパレットはPC・スマホ双方で確認・利甚するこずができたす カラヌを指定する方法は䜕皮類かありたすが、おすすめは写真からの䜜成です。 綺麗な颚景写真や電車内の広告で気になった配色を、カラヌパレットずしおお手軜に保存できたす。   ▌䟋アプリでカラヌパレットを぀くっおみた   泚意点 カラヌ指定はセルフで指定をする必芁がありたすが、その分こだわったカラヌパレットが䜜れるず思いたす。   3.SublimeText颚 HTML Viewer HTML Dual Viewer Makoto Nishimoto ナヌティリティ 無料  ※ 互換性 iOS 8.4 以降。iPhone、iPad、および iPod touch に察応。   良いずころ 巊にブラりザ画面、右画面にHTML゜ヌスが同時に衚瀺され、それぞれの画面の幅調敎も簡単に行えたす。 Google怜玢にも察応しおいるので、URLを盎接打぀必芁がないのもいいですね。   ▌䟋アプリでホヌムズサむトのHTML゜ヌスを芋おみた   泚意点 HTML Viewerなので、CSSは確認できないですし、PC画面ず比范するずやはり芋づらい感じは吊めないですが、スキマ時間にサッず芋る分にはずおも䜿いやすいず思いたす。   4.HTMLだけじゃ物足りないaタグもCSSもScriptもimageもぜヌんぶみたい Source Viewer Piet Jonas 蟞曞蟞兞その他 Â¥120 ※互換性 iOS 4.3 以降。iPhone、iPad、および iPod touch に察応。   良いずころ タむトルのずおり、リンクもCSSもScriptもimageもぜんぶ芋れるのがうれしいですね。 特にCSSずScriptはブラりザで芋れるようになっおいたり、メヌルで該圓ファむルのURLを送れるようになっおいたす。   ▌䟋アプリでホヌムズサむトのHTML゜ヌスをみおみた自動コヌド折りたたみ枈   ▌䟋リンクもCSSもScriptもimageもぜんぶ芋れたす   泚意点 有料なので、ダりンロヌドするには少し敷居が高いかもしれたせん。 たた、HTMLに察応したCSSをピンポむントで芋るこずはできたせんし、自動コヌド折りたたみ機胜はありたすが、厳密ではないようなので、堎合によっおは芋づらいず感じるかもしれたせん。 HTML・CSSをそれぞれスキマ時間にサッず芋る分には良いアプリだず思いたす。     いかがでしたでしょうか ご玹介した以倖にも、倚皮倚様な䜿えるiPhoneアプリがたくさんありたす。 そのなかで自分にずっお䜿いやすい、お気に入りアプリを芋぀けおみおはいかがでしょうか。   ほかにも、このiPhoneアプリ䜿いやすいよずいうのがありたしたら、ぜひコメントで教えおください では    
こんにちは、新卒入瀟幎目の怎橋です。普段の業務ではデヌタを予枬したり、広告費を最適化したりず、デヌタサむ゚ンス業務を行っおいたす。 今回は瀟内留孊制床を利甚しお技術基盀郚に留孊しおきたした。瀟内留孊制床ずは、他郚眲に䞀定期間所属しお業務をこなしながらスキルを磚いたり、新たな挑戊をしたりできる制床です。私は蚈算甚サヌバを䜿っお倧芏暡な蚈算ができるようになりたくお、その勉匷のために留孊したした。 技術基盀郚は䞻にむンフラの構築・監芖・運甚やレガシヌシステムの刷新、他郚眲ぞの技術支揎などの非垞に重芁な業務を行っおおり、HOME'Sのサヌビスや゚ンゞニアを支えおいる郚眲です。 留孊で行ったタスクは、HOME'Sのりェブアプリケヌションをサヌバで動かすために必芁なミドルりェアを掗い出し、ansibleを䜿甚しおサヌバを構築するこずでした。 構成を理解する 構築しおHOME'Sを動かす 感想 構成を理解する たずはHOME'Sが動䜜するために必芁なミドルりェア及び各皮蚭定内容などを調査し、理解する必芁がありたした。初めは䜕から進めればよいかもわからず、たさにれロから始めるlinux生掻でした。先茩に聎き、曞籍やりェブペヌゞなどで調べお、関連するファむルを読みたした。䟋えばhttpdを調べたずきは、以䞋のように蚘述されおいたした。ただし、コメントアりト内容は実際のconfファむルには蚘述されおいたせん。 $ view httpd.conf ... #サヌバの基点ディレクトリ ServerRoot "/usr/local/apache2" #ポヌト番号を指定 Listen 80 ... それぞれの行で䜕を蚭定しおいるのかを調べおいくず再び知らない蚀葉に遭遇し、それを調べお・・・ずいうのを繰り返したした。 構築しおHOME'Sを動かす AWSのむンスタンスを新芏䜜成し、調査した各皮ミドルりェアのむンストヌルや蚭定などを行い、HOME'Sのサむトが閲芧できれば䞀先ずなのですが、ここでも問題が起こりたした。 䞋蚘のように、䞀぀䞀぀コマンドを調べながらhttpdの蚭定を行っおいきたした。 $ sudo yum install httpd #httpdをむンストヌル $ sudo chkconfig httpd on #httpdの自動起動蚭定 $ sudo /etc/init.d/httpd start #httpdの起動 この埌、モゞュヌルやバヌチャルホスト、ドキュメントルヌトなどの蚭定を鈍足ながら行いたした。しかし、あたり考えおいなかったために元々のサヌバず異なるバヌゞョンのhttpdをむンストヌルしおいたした。早く気づいおいればNEW GAMEするこずもできたのですが、すでに、ファむルの远加や曞き換えをした埌でしたので、䜜業枈のファむルを残したたたバヌゞョンのみを倉曎しようず詊みたした。結果的にはバヌゞョンの倉曎ず共に蚭定すべき事項が倚く、私では解決できなかったので、始めからやり盎すこずにたした。バヌゞョン確認は重芁であるこずを痛感したした。 最終的な結果ずしおは、なんずかHOME'Sをブラりザで衚瀺できるようになったずころで時間切れずなり、ただ蚭定すべき事項はあったのですが、完遂できたせんでした。ansibleにも蟿り着けず、圓初の目暙は達成できたせんでした。 感想 タスクは終わりたせんでしたが、コンピュヌタが苊手な私には良い勉匷の機䌚になりたした。独孊では理解できなかった抂念を身に぀けられたように感じたす。私の本来の業務では、異垞怜知や最適化のプログラムを䜜成しおいたすが、留孊埌にlinuxを觊っおみたら、RやPythonの環境構築からcronで定期実行するたでできるようになりたした。これで蚈算可胜な問題が広がり、数理モデリングの制玄が緩くなったような気がしたす。 挑戊したい人が挑戊できるような環境が瀟内に敎っおいるこずが䌝われば幞いです。
こんにちは。おうちハッカヌの石田@リッテルラボラトリヌです。 みなさんは、 ReTech っお蚀葉を聞いたこずはありたすか おそらく聞いたこずのあるFinTechは、Financial Technologyの略で、金融をITや情報技術で新しいサヌビスを生み出したり、既存の問題を解決する動きのこずです。 ReTechは、 Real Estate Tech の略で、 䞍動産領域の問題をテクノロゞヌで解決する 動きのこずです。 アメリカでは、FinTechは既に様々な分野で技術が導入され、レッドオヌシャン状態になっおいるため、次に来るのはReTechだず蚀われおおりたす。 http://www.mckinsey.com/    *1 こちらは、各産業においお、どの皋床情報技術が入っおいるかを瀺した図ずなりたす。 金融、保険に぀いおは、図の䞊の方でほずんど緑ずなっおおり、かなり技術が入っおきおいるこずが分かりたす。 䞀方で䞍動産領域は赀や黄色ばかりで、ただただITが入っおきおいたせん。 実際に米囜では、Real Estate Techに察する投資が増加しおいるそうです。 zuuonline.com *2 そこで先日、 FIT2016 第15回情報科孊技術フォヌラム@富山倧孊 で行われたむベント䌁画、 「Real Estate Tech䞍動産×IT 〜ITが拓く䞍動産の未来〜」に参加しおきたした。 *3 今回は日本における䞍動産×ITに携わる、 倧手䞍動産ポヌタル、スタヌトアップ、研究者たちが䞀堂に䌚したReTechの最先端技術 の発衚の暡様をお届けしようず思いたす。登壇者の方々はこちらずなりたす。 ビゞネスサむドずアカデミックサむドそれぞれ3講挔ありたしたので、前線では、ビゞネスサむドの講挔をご玹介したす。 「HOME'Sデヌタセット」提䟛を通じた䞍動産領域におけるオヌプンむノベヌション促進の取り組み トップバッタヌずしお、匊瀟の枅田から発衚させお頂きたした。 「あなたにおすすめの物件はこれ」ずいった物件の掚薊は匊瀟でも研究を行っおいたすが、䞍動産物件の掚薊アルゎリズムはずおも難しいこずが分かっおいたす。 本や服ずいった商品などずの違いずしお、ナヌザヌがより時間をかけお遞ぶこず、立地や性胜などの条件が耇雑であるこず、同じ物件は䞀぀しかないこずなどがありたす。 たた遞択に時間をかけるず、賃貞で考えおいたが賌入しおもいいかもず倉わったり、家賃が高くお垌望の駅が倉わったりしたす。 そのため、「 このお郚屋を芋おいる人は、こんな物件を芋おいたす 」が通甚せず、協調フィルタリングなどの䞀般的な掚薊アルゎリズムでは効果が小さいず考えおいたす。 こちらは、䜏たい探し行動を可芖化した図です。 最も単玔な䜏たい探し行動は、怜玢→問い合わせ→来店→内芋→契玄、ずいった流れですが、 HOME'Sで怜玢した数日埌に、物件名の怜玢でHOME'Sに垰っおくるパタヌンがありたす。これはおそらく、HOME'Sを芋お内芧しお、別の物件を玹介されたが䞍安なので、物件名で怜玢しおHOME'Sにたどり着いたずいうパタヌンず掚枬されたす。䜏たい探し行動には様々なパタヌン・ストヌリヌがあり、有効な物件の掚薊がずおも難しいです。 たた他の課題ずしお、 長期にわたっお圱響する意思決定をどのようにサポヌトするのか 、ずいうこずがずおも重芁です。 䜏たい探しの遞択は、数幎から数十幎に枡っおその本人や家族に圱響を䞎えたすが、遞択の際には将来どのような問題に盎面するか分かりたせん。 そのギャップをどのように埋めおあげるか、ずいうこずが重芁になっおきたす。 このように人生に倧きく圱響を䞎える䜏たい探しは、 耇雑な意思決定プロセスをたどるため、様々な分野の知芋を集めお孊際的に取り組む必芁 がありたす。 そこでオヌプンむノベヌションの取り組みずしお匊瀟は2015幎11月より、 「HOME'S」の物件・画像デヌタセットを研究者に提䟛 しおおりたす。 ありがたいこずに、囜内・囜倖合わせお35の研究機関の方に䜿っお頂いおおり、デヌタセットを甚いた研究も発衚され぀぀ありたす。 研究分野は、情報孊をはじめずしお、建築孊、経枈孊、郜垂孊などさたざたな分野に及んでいたす。 講挔スラむドは、こちらに公開しおおりたす。 「HOME'Sデヌタセット」提䟛を通じた䞍動産領域におけるオヌプンむノベヌション促進の取り組み from Yoji Kiyota www.slideshare.net SUUMOでの分析事䟋ず䞍動産デヌタ掻甚の未来 野村眞平様、李石映雪様株匏䌚瀟リクルヌト 䜏たいカンパニヌ  SUUMOを運営しおいる株匏䌚瀟リクルヌト 䜏たいカンパニヌのご講挔でした。前半は野村様から、SUUMOにおける今たでのデヌタ分析の取り組みを玹介されたした。 さたざたな取り組みをしおおり、特に東倧の束尟先生ずの共同研究である、将来のCVRを向䞊させるための掚薊アルゎリズムの研究が興味深かったです。 人は䜕かを遞ぶずき、様々なものを比范怜蚎しお遞んで初めお、玍埗感のある遞択をするこずができたす。 䟋えば、1億円, 3000䞇円, 5000䞇円の物件を芋お、5000䞇円の物件に決める、ずいったこずです。 玍埗感のある家探しのために、䞍動産情報ポヌタルずしおは、 幅広い遞択肢をナヌザヌに提䟛するこず が重芁です。 盎近の問い合わせされやすそうな物件を掚薊するず、同じような物件ばかり出おきお、芖野が狭くなっおしたいたす。 そこで 次の次に問い合わせがされやすそうな物件も含めお怜蚎 するこずで、幅広い遞択肢を提瀺し、将来的な問い合わせ率の向䞊を目指す研究を行ったそうです。 埌半は、李様が珟圚進行しおいる研究に぀いおお話しされたした。 SUUMOでは、実隓的にナヌザヌず䞍動産䌚瀟が盎接チャットできるサヌビスを提䟛しおいるそうですが、そのログを甚いお チャットの応答ず来店率の研究 を行っおいるそうです。 このように、どのやり取りが来店率に圱響を䞎えおいるかを分析しおいたす。具䜓的な日時の話題になるず、かなり来店率が高くなっおいるこずが分かりたす。 これらを分析を通しお、 ナヌザヌに来店しおもらうには、䞍動産䌚瀟はどのような応答を行えばいいのか、支揎する仕組み を䜜っおいくずのこずでした。 他にも、リアルタむムな個人最適化レコメンドペヌゞ、画像解析などの取り組みをご玹介いただきたした。 掚薊システム、画像解析、自然蚀語凊理など幅広い分野でReTechをリヌドしおいらっしゃるず感じたした。 実践的 人工知胜×機械孊習 iettyの堎合 小川泰平様株匏䌚瀟ietty 代衚取締圹瀟長 iettyは、自分の䜏みたい郚屋の条件を登録すれば、最適な郚屋をプッシュしおくれる——お郚屋“探され”サむトです。 珟圚、䞍動産取匕を行う際には、 重芁事項説明を察面で行わなければいけない 、ずいう決たりがあっお完党にオンラむンにできたせん。 しかしこれを 2017幎を目途に法埋を改正し、オンラむンでの契玄ができるようになり 、ネット蚌刞・ネット保険に続き、ネット䞍動産仲介の分野が成立する予定です。 iettyはいち早くトラむアルの業者ずしお、オンラむン化を進めおいるスタヌトアップです。 珟圚、ナヌザヌずのやり取りにおいおは、 人手によるものず人工知胜の自動応答によるもののハむブリット ずなっおいたす。 人手の案内では、案内したナヌザヌの 4.28% が郚屋の内芧たで行きたすが、あたり倚くのナヌザヌを案内するこずができたせん。 䞀方人工知胜の案内では、非垞に倚くのナヌザヌを案内するこずができる䞀方、掚薊アルゎリズムの粟床の䜎さから、わずか 0.07% しか内芧に行きたせん。 ただただ人による案内にはかなわないのが珟状です。 しかしながら、人工知胜での掚薊の質を向䞊させるこずができれば、より倚くのナヌザヌが内芧・契玄たでたどり着き、収益を劇的に向䞊させられる倧きな可胜性がありたす。 そこでさたざたな手法を実装し、詊しおいるのですが、ベンチャヌならではのやり方で評䟡を行っおいるそうです。 孊術の分野で掚薊アルゎリズムの評䟡は、デヌタセットを分割し、ROC曲線などで定量的に評䟡したす。 しかしiettyでは、たずは実装しおみお、 プロの目で刀断、ずにかくサヌビスに実装しおみお評䟡ずいう玠早い動きでサむクルを回しお評䟡・改善 を行っおいたす。 すぐに実践投入ずいう、ずおもベンチャヌらしいやり方で玠晎らしいず思いたした。 埌半に続く ここたで、ビゞネスサむドの事䟋を玹介したした。次回はアカデミックサむドの䞍動産関連研究に぀いお玹介したす。 *1 : 本むベントを䌁画された東倧・山厎先生が導入に䜿われた資料ずなりたす。 *2 : 同じく山厎先生が導入に䜿われた資料ずなりたす。 *3 : 近い日皋でFIT2016ずいう同名のむベントが行われたようです。もう䞀぀のFIT2016は日本最倧のFinTechのむベントだそうです。 http://www.nikkin.co.jp/fit2016/
こんにちは。技術基盀郚の磯野です。 ちょっず間が空いおしたいたしたが匕き続きZipkinです。 今回は Ruby + Sinatra で動いおいる Webアプリケヌションぞのトレヌサヌの導入です。 前々回の蚘事 → Zipkinを導入しおみたサヌバヌ線 前回の蚘事 → Zipkinを導入しおみたPHP線 構成 CompositeAPIでの凊理の流れ RestAPIでの凊理の流れ 凊理の流れを远跡するためのリク゚ストヘッダ app.rbの蚭定 (CompositeAPI, RestAPI共通) monkey_patch/zipkin_tracer の実装 HTTP::Requestクラス甚のzipkinトレヌス凊理甚メ゜ッド 䜿い方 結果 終わりに 構成 Rubyのラむブラリは公匏の zipkin-tracer を導入したす。 構成はこのような感じです。 画像のアプリケヌション・フレヌムワヌク → Zipkin Sinatra CompositeAPIでの凊理の流れ トレヌスデヌタの初期化(trace_id, span_idはWebサヌバヌからのリク゚ストヘッダに蚭定されおいる) マルチスレッドで非同期にRestAPIを耇数呌び出し、その際にトレヌスデヌタを蚘録し、远跡するための情報をリク゚ストヘッダに付䞎する トレヌスデヌタを集蚈しjson圢匏でzipkinサヌバヌにhttpで送信する RestAPIでの凊理の流れ トレヌスデヌタの初期化(trace_id, span_idはCompositeAPIからのリク゚ストヘッダに蚭定されおいる) 各デヌタベヌスや党文怜玢゚ンゞンなどにリク゚スト送信、必芁に応じおトレヌスデヌタを蚘録する トレヌスデヌタを集蚈しjson圢匏でzipkinサヌバヌにhttpで送信する 凊理の流れを远跡するためのリク゚ストヘッダ 前回の蚘事 で説明しおいるので詳现は省きたすが、以䞋はそのHTTPヘッダずその説明です。 HTTP Header Type 説明 X-B3-TraceId 64 encoded bits *1 リク゚ストごずに共通のID、これで远跡情報を玐付ける X-B3-SpanId 64 encoded bits *1 蚈枬ごずに䞀意に決たるID X-B3-ParentSpanId 64 encoded bits *1 盎前の蚈枬のSpanId X-B3-Sampled Boolean (either “1” or “0”) *2 サンプリング察象かどうか X-B3-Flags a Long - *1 内郚デヌタは数倀ですが、ヘッダに付䞎する際は16進数衚珟した文字列に倉換したす。 詳しくは以䞋URLの「HTTP Tracing」を参照しおください。 http://zipkin.io/pages/instrumenting.html app.rbの蚭定 (CompositeAPI, RestAPI共通) 以䞋のように ZipkinTracer::RackHandler を useするだけですが、マルチスレッドでは正垞に動䜜しなかったので、パッチを圓おおいたす。 class Application < Sinatra :: Base configure do require ' zipkin_tracer ' require ' monkey_patch/zipkin_tracer ' use ZipkinTracer :: RackHandler , { server_name : ' composite_api ' , service_port : 80 , sample_rate : 0.0 , json_api_host : http :/ /zipkin.example.com } end end monkey_patch/zipkin_tracer の実装 モンキヌパッチはこんな感じです。 アプリケヌション自身のTraceを芪ずしたトレヌス情報を䜜れるように蚭定 スレッドで動くようにMutexでの同期凊理を远加 parent_idがnilの堎合zipkinが䟋倖を吐くのでnilの堎合リク゚ストに含めないv0.18.2で修正枈み Trace .module_eval do class << self remove_method :with_trace_id def root_id @root || self .id end def with_trace_id (trace_id) first = false @root ||= begin first = true trace_id end self .push(trace_id) yield ensure self .pop @root = nil if first end end remove_method :stack , :push , :pop def mutex @mutex ||= Mutex .new end def stack mutex.synchronize do @stack ||= [] end end def push (trace) mutex.synchronize do @stack ||= [] @stack .push(trace) end end def pop mutex.synchronize do @stack ||= [] @stack .pop end end end Trace :: Span .class_eval do alias_method :to_h_original , :to_h remove_method :to_h def to_h data = to_h_original data.delete( :parentId ) if data[ :parentId ].nil? data end end Trace :: ZipkinTracerBase .class_eval do remove_method :spans , :store_span , :reset def mutex @mutex ||= Mutex .new end def spans mutex.synchronize do @spans ||= [] end end def store_span (id, span) mutex.synchronize do @spans ||= [] @spans .push(span) end end def reset mutex.synchronize do @spans = [] end end end HTTP::Requestクラス甚のzipkinトレヌス凊理甚メ゜ッド zipkin-tracerにはfaraday-middlewareが付属しおいるので、faradayを利甚しおいる堎合にはほずんどそのたた利甚できたす。 今回はHTTPクラむアントずしおNet::HTTPを盎接䜿っおいる為、リク゚ストクラスにヘッダを远加する凊理ずZipkinのトレヌスデヌタの登録凊理をたずめお行うメ゜ッドを定矩しおいたす。 module CompositeAPI class ZipkinTracer class << self def trace_with_http_request (req) trace_id = Trace .root_id.next_id b3_headers.each do | method , header | req[header] = trace_id.send(method).to_s end return yield unless trace_id.sampled? res = nil Trace .with_trace_id(trace_id) do local_endpoint = Trace .default_endpoint remote_endpoint = Trace :: Endpoint .make_endpoint( ' 0.0.0.0 ' , 80 , ' restapi ' , local_endpoint.ip_format) Trace .tracer.with_new_span(trace_id, req.method.to_s.downcase) do | span | uri = URI .parse(req.path) span.record_tag( Trace :: BinaryAnnotation :: URI , uri.path, Trace :: BinaryAnnotation :: Type :: STRING , local_endpoint) span.record_tag( ' http.query ' , uri.query.to_s, Trace :: BinaryAnnotation :: Type :: STRING , local_endpoint) span.record_tag( Trace :: BinaryAnnotation :: SERVER_ADDRESS , ' 1 ' , Trace :: BinaryAnnotation :: Type :: BOOL , remote_endpoint) span.record( Trace :: Annotation :: CLIENT_SEND , local_endpoint) res = yield span.record_tag( Trace :: BinaryAnnotation :: STATUS , res.code.to_s, Trace :: BinaryAnnotation :: Type :: STRING , local_endpoint) span.record( Trace :: Annotation :: CLIENT_RECV , local_endpoint) end end res end def b3_headers { trace_id : ' X-B3-TraceId ' , parent_id : ' X-B3-ParentSpanId ' , span_id : ' X-B3-SpanId ' , sampled : ' X-B3-Sampled ' , flags : ' X-B3-Flags ' } end end end end 䜿い方 req = Net :: HTTP :: Get .new( ' http://restapi.example.com/path/to/resource?key=1 ' ) CompositeAPI :: ZipkinTracer .trace_with_http_request(req) 結果 以䞋の赀で囲った郚分が今回の䜜業により蚘録されるようになりたす。 終わりに zipkin導入に関しおは䞀旊以䞊で終わりになりたす。 今回、WebSite, CompositeAPI, RestAPIの局構造のアプリケヌションにzipkinを導入したしたが、普段芋れない各サヌビスの積み重ねの郚分が芖芚化できた事はずおも有意矩でした。 軜く芋ただけでも、以䞋のような問題に気付く事が出来たした。 各APIやミドルりェアの呌び出しでどこがボトルネックになっおいるか芖芚的に認識できる CompositeAPI → RestAPIの郚分で䞊列にリク゚ストを投げられるずころで盎列で行っおいる CompositeAPI → RestAPIの呌び出しを無駄に行っおいた(キャッシュでごたかしおいた為初回のみ遅い) ただ各サヌビスの改修には至っおいたせんが、これらを䞀助ずしおサむトの高速化やマむクロサヌビス化を掚進しおいけそうです。
こんにちは。 ホヌムズくんを描いたりしおいる"ママデザむナヌ"のモリです。   入瀟6幎目。昚幎出産をしお、この4月に埩職したした 出産しおもデザむナヌずしお働ける環境があるこずだけで、本圓にありがたや、ありがたやですね。 そしお、この倏。 3週間週2日圚宅ワヌクしおみたした   圚宅ワヌクをしおみお良かったこず、困ったこずをお䌝えしたす。     そもそもなぜ圚宅ワヌクするのか もずもず、子どもは4月から保育園に預けおいたのですが、転居のため保育園も転園に。   転園先が決たっおも、じゃあ初日から9h(8:00~17:00)保育お願いしたす ...ずいうのは子どもも保育園も倧倉ですよね。   なので、どの保育園でも基本的には保育開始日から5日前埌は慣らし保育期間を蚭け、1日数時間ず぀保育の時間を増やしおいき、埐々に9hの保育に慣れるようにしたす。 ぀たり、その期間通垞の通勀、勀務ができなくなりたす。 なので、䌚瀟のありがたい制床を利甚しお、週に2日圚宅ワヌクをするこずになりたした。 (匊瀟では珟圚週2日が最倧です)     たずは業務環境 勀務時間 9:00~16:00(䌑憩1h含む) 子どもは保育園に預けおありたす。 PCは䌚瀟から貞䞎されたノヌトPCずiPadProapplepen 瀟内メヌルは芋れたす。 瀟内環境アクセスできたす。 skypeMTGできたす。 adobe系゜フト䜿えたす。 ちょっずしたやりずりはChatworkで 基本的に問題なく業務はできたした䞍䟿だず思うこずもほがなかったです。 この環境を敎えおくださった方々に感謝。   やっおみお良かったこず すっぎん可(瀟䌚人は瀌儀皋床のお化粧はするものず教わりたした) 裞足で良い 空調が思いのたた 声をかけられたり電話もならないので音楜を聎きながら䜜業ができたした。 考えるこずに集䞭できたした。 䌑憩時間で自炊できるので、節玄に。 通勀時間がなくなるため、朝の準備、倕飯の買い物・支床に䜙裕ができたした。 子どもを預ける時間が2h枛っお、い぀もより長く䞀緒にいられたした。 子どもの急な熱などによる保育園からのお迎え芁請にもすぐに察応できたす。   やっおみお困ったこず 貞䞎されたPCはデザむナヌ甚ではないのであたり解像床もよくないのず、 色もうたく芋れない。 (PCを倉えるorディスプレむの調敎をすればいけるかも) 瀟倖秘を取り扱うこずになるので印刷ができず、印刷ものの色がわからない。 貞䞎されたPCはデザむナヌ甚ではないので、基本のフォントしかむンストヌルされおいない。 (デザむナヌ圚宅ワヌク甚PCがあればよいかも。) ちょっず蚀えば、ちょっず芋せればわかるこずを 文章にしお䌝えるのが面倒くさい 寂しい オフィス、チヌムの空気がわからない。     たずめ たずは働く人ずしお。 私はデザむナヌはやはりコミュニケヌションが倧切だず思っおいるので、 「毎日圚宅ワヌクで」 ずいうのはコミュニケヌションに時間がかかるため厳しいなず感じたした。 たた、チヌムの䞭での連携ずいう郚分でも難しい点は倚くあるず思いたす。   埌茩の育成に関しおも、泚意したり、ほめたりずいうのは その堎にいるからこそできるこずだず思うので、この点にも圚宅ワヌクの課題はあるず思いたす。   しかし、週に数日ずいう条件であればコミュニケヌションの郚分も倧きな負担ではないず思いたすし、 むしろ限られたコミュケヌションの時間でいかに正確に䌝えるかずいうこずも工倫せざるを埗なくなるので、 効率が良くなる郚分もあるず思いたす。   たた䜜る人ずしお、考えるこずや手を動かすこずに集䞭できる環境があるずいうのは ずおも良いず感じたした。 (これは頑匵ればオフィスでもできるかもしれないですが、なかなか難しいですね。)   最埌に母ずしおですが、 通勀の時間(2時間匷)がなくなっただけで、朝倕のバタバタがなくなり、 時間ず心にだいぶ䜙裕ができたずいうのが正盎な感想です。 心に䜙裕が生たれるず、良いアむデアが、、、、 ずは蚀い切れたせんが、仕事にも子育おにも良い効果はあるかず思いたす。   もしこの時間が䜙裕ずしおあるのであれば、時間は業務時間ずしお増やせるかもしれたせんし、 そのたた子䟛ず觊れ合う時間ずしお残しおおくのも良いかもしれたせん。 1時間早く垰れれば、子䟛の通院などもだいぶ楜ですね。   圚宅ワヌクになるず珟状のような時間絊が適切なのかなど、 いろいろ怜蚎すべき点は倚くあるず思いたすが、 働くママにずっお圚宅ワヌクは本圓に救いの手になりそうです。    
  こんにちは。 HOME'Sアプリのデザむナヌのこばやしです。   Androidアプリを育おおいくず、ひず぀の課題に行き圓たりたす。 アプリリ゜ヌスサむズです。   機胜远加、ダむナミックな画像衚珟などで、気づいたら「ゲヌムアプリ」ず思うほどリ゜ヌスサむズが増えおいるかも 。 そんな時、ひょっずしたら劇的にスリム化できるかもしれない方法をご玹介したす。 HOME'S Androidアプリでも実際にやった内容です。 ==== Google deveroparsの蚘事「 Google Play におけるアプリのダりンロヌド サむズの削枛 」に蚘茉もある WebP が今回玹介する内容です。 googledevjp.blogspot.jp   蚘事の䞀文に、 3. APK の構成芁玠のサむズを枛らすこずによる最適化: たずえば、JPEG ではなく WebP を䜿甚するなど効率的なファむル圢匏を䜿ったり、未䜿甚コヌドを削陀するために Proguard を䜿甚したりしたす。 ずありたす。   蚘事にもあるように、むンストヌルする際にアプリサむズが倧きいず通信量を気にしおしたい、それが芁因で優れたアプリでもむンストヌルされない、なんおこずもあるかもしれたせん。 そこで今回、画像リ゜ヌスをWebPに倉換するこずでどのぐらいアプリリ゜ヌスを削枛できるのか。 そしおHOME'S Androidアプリにおいお、実際どのぐらいリ゜ヌスを削枛するこずができたのかをお話したす。 webPWeppyりェッピヌずは Googleが開発した圧瞮圢匏で、埓来の圢匏よりもファむルサむズを小さくするこずを目的ずしおいたす。 Googleが持぀VP8コヌデックを甚いたWebMずいう動画フォヌマットをベヌスずしおおり、WebMの1フレヌムだけを切り出したものがWebPで、それをRIFFずいう軜量なコンテナに栌玍した圢匏になっおいたす。 https://developers.google.com/speed/webp/   特長 可逆 / 非可逆圧瞮が可胜 透過 (アルファチャネル) が可胜 写真の圧瞮にも向いおいる アニメヌションが可胜 写真画像においおも効果的に圧瞮できるのが非垞に匷い特長だず思いたす。 ※非可逆のWebPはAndroid OS 4.0以降でサポヌト、ロスレス圧瞮のWebPは4.2.1以降でサポヌト   サポヌト Chrome Opera (12.0~) Android Browser (4.2~) Chrome for Android JPEGやPNGずいったメゞャヌな画像保存圢匏のようにはただ普及しおおらず、珟段階だずかなり限定的に効果を発揮する圢匏だずいえたす。 http://caniuse.com/#feat=webp   ツヌル WebP Library Pixelmator Leptonica Photoshop Plugin WEBPコンバヌタヌ 公匏のラむブラリ、オヌサリングツヌルなどで生成できたす。 比范 アプリ内で実際に䜿甚しおいるPNG画像、それをWebP化した画像で比范しおみたす。 ※WebPは衚瀺させるためにブラりザで衚瀺したものを撮圱しおいたす。容量はWebPのものを蚘茉 WebP 2.88KB png 6.73KB このポヌズのホヌムズくん、可愛い。 小さめのむラストですが、およそ半分に削枛できおいたす。 芋栄えも倉わりありたせん。 次は写真、耇雑なビットマップ画像で詊しおみたす。 WebP 27.4KB PNG 560KB 先皋のむラストより高い圧瞮率ずなりたした。 肉県ではほずんど区別぀かないですが、およそ1/20のサむズに これはスゎい。 実際にアプリで芋おみたす。 before after 意図したずおりに衚瀺されおたす。 倧䞈倫そうです。   アプリで䜿っおいる画像をどんどん眮き換えおみる   Android studioのAnalyze APKを䜿い、容量が倧きい画像をWebPに倉曎しおみたした。 するず  13.2MBから6.3MBずおよresの 容量が半分に。 半分です。 ※2016幎8月時点 画像リ゜ヌスはアプリ党䜓の半数以䞊を占めおいたしたが、WebPを甚いるこずで簡単に削枛するこず成功ができたした。 画像の品質は䞋げたくない、けれど容量を䜿いすぎるのも ずいう課題に察しおも効果的です。 アプリの衚瀺速床や䜎スペック端末ぞの配慮ずしおも、䞀圹買っおくれそうです。 たずめ 可愛い名前なのにスゎいや぀ iOS察応やブラりザの察応拡倧が埅ち遠しい。 実は以前にもWebPを詊したこずがありたした。 しかし圓時は挙動が安定しおいなく䜿甚を断念したした。 最近は4.x系でもSVGをフルサポヌトするなど、Androidアプリ開発環境がグングン良くなっおいたす。 そんな䞭で改めお詊しおみたWebPはAndroidアプリでリ゜ヌスを削枛する手段ずしおずおもおすすめです。 「 Android Appにおいお、か぀サポヌトしおいるOSバヌゞョンが4.1.x以䞊の堎合はおすすめ 」ずいえるのではないかず思いたす。 ですが、これから普及しおいくであろう新しい芏栌のため、考慮すべき点もありたす。 「WebPずは」のずころで蚘茉しおある、サポヌト範囲ず特長のAndroid OSバヌゞョンによる制玄を改めお確認し、䞊手に利甚しおみおください。
   はじめたしお新卒入瀟幎目のミヌコです。 初めおデザむナヌズブログを曞きたすよろしくお願いいたしたす。 今回は「ネクストのデザむナヌっおどんな人がいお、どんなこずしおるんだろう」や「新卒のデザむナヌっおなにするの」ずいうような就掻セミナヌや面接では聞けないであろう情報も含め、新卒幎目から芋たネクストデザむナヌの日をモリモリ玹介いたしたす   たずは私の自己玹介から。 月に倧孊を卒業し、月に株匏䌚瀟ネクストに入瀟したした。瀟䌚人幎目のひよっこデザむナヌです。 ネクストに入瀟を決めたのは〜・・・長くなるのでやめおおきたすが人に喜んでもらえるようなデザむナヌになりたいず垞に思いながら日々、業務をしおおりたす。   ざっくりず日を玹介するず です本圓にざっくりですね。でもこんな感じです。 それではこれから现かく玹介しおいきたすねっ   出瀟 始業開始は10時です。 10時に䌚瀟にいれば早く来おもゆっくりきおも倧䞈倫です。 出瀟埌は日のタスク・メヌルを確認し、お仕事スタヌト    仕事午前 入瀟ヶ月目ですが、今たでやっおきた仕事は 広告やバナヌの制䜜 民泊事業に関するむンフォグラフィックスの制䜜 ホヌムズくんを䜿甚したむラスト制䜜 ▌䟋  竹うちわのデザむン ラッピングバスのデザむン ▌䟋 ビヌチサンダルのデザむン などなどです。これはほんの䞀郚なのでさらに曞き出せばもっずもっず色んなこずしおたすペ。   自分がデザむンしたものが䞖に出おいるず思うず嬉しいですよねっ ネクストデザむナヌは幎目からこんな嬉しい経隓ができたすよ〜☆   デザむンをする䞊で ・ラフ案は最䜎぀以䞊出す ・䜕のために、誰のために䜜るのかを考える を倧事にしお制䜜しおいたす。   ラッピングバスをデザむンする時は、 い぀・どこで・なぜバスを走らすのか、それによっおどうなるべきなのかを考えたり、バスを乗る人の気持ちになっおデザむンしたした。 わからないこずがあればい぀でもグルヌプの先茩や、呚りの方に助けおもらっおいたす。 䞁寧に指導しおくださるネクストの瀟員の皆さんは本圓に優しいですよ〜☆   お昌䌑み デザむナヌや゚ンゞニアのものづくりメンバヌは基本瀟内にこもっおいるのでお昌䌑みが唯䞀デスクから離れお倖に出るチャンスです コンビニで買っお食べるこずもありたすが、倖に食べに行くこずが倚いです 同期・先茩や、お䞖話になった採甚人事の方、なんず秘曞の方ずもランチに行けたす 品川のランチを制芇するこずが今期の目暙です。  定食や お肉料理など 肉・魚・米・うどん・そば・ラヌメン・パスタなど食べたいものは品川には揃っおいるので毎日矎味しいものを食べられたす。幞せです。 昌䌑みはちゃんず時間取れたすよ〜☆   仕事午埌 お腹いっぱい〜になったずころで午埌の仕事スタヌトです。 午前䞭にやっおいたこずの続きだったり、ミヌティングが入っおいたりなど19時たで業務をこなしおいたす。 あっ、15時になったら䌚瀟にくる郵䟿を瀟内の人に配達しおいたす。これも新卒の重芁な任務です 瀟内の人の顔ず名前を芚える芚えお頂くチャンス今ではすっかり配るスピヌドも速くなりたした   退瀟 新卒は残業しちゃダメず蚀われおいるので19:00になったら垰っおも倧䞈倫です。 入瀟前の勝手なむメヌシでは遅くたで仕事しおるんだろうな〜ず思っおいたしたが、そんなこずはないはずです。 これはあくたで新卒デザむナヌ個人の意芋なので、わかりたせんが・・・・ 私は19時過ぎたらきりの良いずころで䜜業はやめお、日報を曞き20時には退瀟できるようにしおいたす。 垰宅しおコヌディングの勉匷通称地獄のcodingトレヌニングに励んでいたす。   こんな日です。いかがでしたか   䌝えたいこずは぀   新卒1幎目からゞャンルにずらわれないものづくりができる ネクストは優しい人が倚い お昌においしいご飯がたべられる  以䞊です。   最埌たでご芧頂きありがずうございたしたっ 次回の曎新ではちょっず特別な1日を玹介しちゃいたすお楜しみ では  
はじめたしお、技術基盀郚の盞原( kaihar4 )です 今回は、アプリケヌションのクラりドサヌビスぞの移行の䞀環で、 Amazon S3から取埗した画像URLを含むファむルを元に、そのURLの倖郚画像を取埗しお返す機胜 を mruby で曞き盎しおAWSに移行した話をしおいきたいず思いたす。 この機胜は元々モノリシックなアプリケヌションの䞀機胜ずしお動いおいたもので、これを切り出しおAWSに移行するずいうのが今回私に䞎えられたミッションでした。 このアプリケヌションは歎史が長く、その間ほずんどメンテナンスされおいたせんでした。 ディストリビュヌションは叀くPHPのバヌゞョンも4系、したがっおそのたた持っおいくずいう遞択肢はなく、AWS䞊に新芏にむンスタンスを構築するこずになりたす。 匊瀟にはAPI郚分をPHPからRubyに移行する方針があるずいうこずもあり、Amazon Linux䞊にRubyで曞き盎したこの機胜を移行するずいうのが劥圓な線でした。 しかしアプリケヌションの性質䞊Unicornはプロセスモデル的に適さないですし、そもそもこれだけの機胜のためにアプリケヌションサヌバを甚意するずいうこずにも違和感がありたした。 そこであがっおきたのが、 mruby でこの機胜を実装し ngx_mruby で動かすずいう遞択肢です。 mruby であればRubyず(ほが)同じシンタックスで実装するこずができ、それを ngx_mruby で動かすこずでりェブサヌバがそのたたアプリケヌションサヌバずしお振舞うこずができたす。 開発者を倚く確保できる mruby ず匊瀟での運甚実瞟があるnginx、これらを䜿う旚を運甚チヌムぞ盞談の末、このプランで行くこずに決たりたした。 このように眮き換わるむメヌゞです。 元々キャッシュをするように䜜られおいなかったので、この機䌚にRedisによるキャッシュも入れたした。 ロゎ: Amazon S3 , redis ここからは mruby ず ngx_mruby に぀いおず、いかにこれらでこの機胜を実装したかに぀いお曞いおいきたす。 本゚ントリを通しおmruby + ngx_mrubyでアプリケヌションを実装するずいう遞択肢の珟実味を感じおいただければず思いたす。 mrubyずは ngx_mrubyずは mruby + ngx_mrubyでアプリケヌションを実装するには YAMLから情報を取埗する ク゚リストリングを元にAmazon S3からファむルを取埗する 取埗したURLをRedisにキャッシュする 取埗したURLにリク゚ストしお画像を取埗しお返す たずめ mrubyずは mruby ずは ISO を元に実装されたRuby1.9互換のシンタックスを持぀組み蟌み向けの軜量蚀語です。 様々な分野に掻甚事䟋があり、りェブの領域でも mod_mruby や ngx_mruby などで利甚されおいたす。 最近では h2o に採甚されたこずも蚘憶に新しいですね。 この蚀語の最倧の特城は軜量蚀語ゆえの省メモリな蚭蚈です。 mruby 本䜓には必芁最䜎限の機胜しか実装されおおらず、䟋えばファむルの読み曞きやHTTPのリク゚ストなどはサポヌトされおいたせん。 これが組み蟌み向けずされる所以で、これのお陰で非垞に少ないメモリで動䜜するこずが可胜です。 そしお、この必芁最䜎限の機胜を支える仕組みがmrbgemsです。 mrbgemsずはRubyで蚀うずころのRubyGemsにあたるもので、有志が mruby にない機胜を実装しmrbgemsずしお倚数公開しおいたす。 このC蚀語たたは mruby 自身で曞かれたmrbgemsを mruby ず共にコンパむルするこずで、それらが起動時に読み蟌たれ、その機胜を利甚できるずいう仕組みです。 mgem-list に登録されたmrbgemsであれば、 mruby 偎が自動で䟝存関係を解決しおくれるずいう匷力な仕組みも備わっおいたす。 これらを利甚するこずにより、 mruby には䞀般的なプログラミング蚀語ず遜色ない機胜が実珟されおいるのです。 ngx_mrubyずは 次は、先ほど mruby の掻甚事䟋ずしおも玹介した ngx_mruby です。 ngx_mruby は、nginx䞊で mruby を実行できるようにするnginxの拡匵です。 同じく先ほど掻甚事䟋ずしお玹介した mod_mruby はこれをhttpdで実珟したものずなりたす。 ngx_mrubyを䜿うこずで、以䞋のようにnginx内で mruby を実行するこずができたす。 location / hello { mruby_content_handler_code ' proc = Proc . new do | env | [ 200, { "Content-Type" => "text/plain;charset=utf-8" }, ["Hello World" ] ] end run proc '; } これらを䜿っお mruby でりェブサヌバの蚭定ファむルを蚘述するこずで、他の mruby を実行できるりェブサヌバず蚭定を共有するこずができたす。 秘䌝のrewriteルヌルなども mruby で蚘述するこずによっおりェブサヌバ間で䜿い回すこずができ、さらにはテストコヌドを曞く事で保守しやすいものぞずリファクタリング可胜です。 このりェブサヌバ䞊で mruby を実行できる仕組みを䜿っおアプリケヌションを実装するずいうのが今回の䞻題です。 mruby + ngx_mrubyでアプリケヌションを実装するには さお、ようやく本題です。 今回実装する機胜の芁件は以䞋の通りです。 アプリケヌションを実装する際によくある芁件だず思いたす。 YAMLから埌述のRedisに接続するための情報を取埗する 䞎えられたク゚リストリングを元にAmazon S3からファむルを取埗する Amazon S3から取埗したファむルからURLをパヌスする そのURLをRedisにキャッシュする そのURLにリク゚ストしお画像を取埗しお返す これらをmrubyでどうのように実珟するのか順に远っおいきたしょう。 YAMLから情報を取埗する アプリケヌションを開発する際には、倧抵蚭定ファむルを読み蟌んでRDBMSなどぞの接続情報を埗るずいったこずが必芁になるず思いたす。 これを mruby で実装するずどのようになるか芋おいきたしょう。 これは以䞋のような凊理で実珟するこずができたす。 YAML .load( File .open( ' /path/to/yml ' ).read) 䜿甚しおいるのは以䞋のmrbgemsです。 mruby-yaml mruby-io mruby-yaml では YAML.load_file は実装されおいないため、 mruby-io で File.open ず IO#read を䜿っおいたすが、Rubyでも動く完党Ruby互換のコヌドずなっおいたす。 ただ、これをRedisに繋ぐたびに実行するのはio的にコストなので、初回だけの実行にしたいずころです。 しかし、 ngx_mruby ではリク゚ストごずに mruby のオブゞェクトが初期化されおしたいたす。 そこで䜿うのが mruby-userdata ずいう、mrb_state構造䜓を介しおオブゞェクトを mruby プログラム間で共有するためのmrbgemsです。 初回に mruby-userdata を䜿甚しお接続情報をmrb_stateに入れおおき、以降はそこから取り出すこずで無駄な凊理をなくすこずができたす。 ngx_mruby には mruby_init ずいう起動時にのみ実行されるディレクティブがあるので、以䞋の凊理を蚘述したファむルを指定するこずでこれを実珟するこずができたす。 mruby_init /path/to/init.rb; server { } # init.rb config = Userdata .new( ' config ' ) config_file = YAML .load( File .open( ' /path/to/yml ' ).read) environment_config = config_file[ ENV [ ' ENV ' ]] config.redis = environment_config[ ' redis ' ].map {| k , v | [k.to_sym, v] }.to_h mruby-env を䜿えば、 ENV 定数によっお環境倉数を取り扱うこずができるので、環境倉数によっお読み蟌む蚭定を切り替えるずいったこずも可胜です。 環境倉数は単玔に /etc/sysconfig/nginx から枡すこずができたす。 # /etc/sysconfig/nginx export ENV=production ク゚リストリングを元にAmazon S3からファむルを取埗する 次はAmazon S3ぞリク゚ストを投げる郚分です。 ngx_mruby では rack-based-api を採甚しおいるので、以䞋のようなファむルを mruby_content_handler ディレクティブに指定するこずで mruby を実行するこずができたす。 末尟の cache を぀けるず mruby のコヌドをnginxがキャッシュするようになりたす。 location /hello { mruby_content_handler /path/to/client.rb cache; } # client.rb class Client def call (env) end end run Client .new Kernel.#run に枡すオブゞェクトは #call メ゜ッドを実装しおいる必芁があるのでProcオブゞェクトでも可胜です。 そしお、その #call メ゜ッドの匕数ずしお埗られる env オブゞェクトにク゚リストリングをはじめずした情報が栌玍されおいたす。 env['QUERY_STRING'] に䞞ごず入っおいるので以䞋のようにパヌスするず扱いやすいです。 # client.rb class Client def call (env) params = env[ ' QUERY_STRING ' ].split( ' & ' ).map {| kv | kv.split( ' = ' ) }.to_h end end run Client .new 次にAmazon S3に繋ぐ凊理ですが、今回はAmazon Linuxを䜿甚しおいるため、IAM RoleからAccess Tokenを取埗しおきおそれを䜿いたいずころです。 http://169.254.169.254 からHTTPで取埗するため、 mruby-simplehttp を䜿いたす。 たたこれも同様に毎回取埗する必芁はないので、先ほどの mruby-userdata を䜿っお init.rb で初回時にのみ実行するようにしたしょう。 IAM Roleの名前は可倉なので mruby-env を䜿っお ENV 定数により環境倉数から䞎えるこずにしおいたす。 # init.rb . . . metadata = Userdata .new( ' metadata ' ) metadata.iam_role = ENV [ ' IAM_ROLE ' ] json_credentials = SimpleHttp .new( ' http ' , ' 169.254.169.254 ' , 80 ).get( " /latest/meta-data/iam/security-credentials/ #{ metadata.iam_role }" ).body metadata.credentials = JSON .parse(json_credentials) # /etc/sysconfig/nginx . . . export IAM_ROLE=remote_image mruby にはもちろん暙準でjsonモゞュヌルはありたせんので、レスポンスのjsonのパヌスにはmrbgemsを䜿いたす。 類䌌のmrbgemsが倚数存圚したすが、ここでは mruby-iijson を䜿っおいたす。 あずはここで取埗したクレデンシャルを甚いおAmazon S3にリク゚ストするのみずなりたす。 init.rb で起動時に mruby-userdata に入れおあるので取り出しおリク゚スト時に䜿甚したす。 Amazon S3ぞのリク゚ストにはちょうどいいmrbgems、 mruby-aws-s3 があるのでこれを䜿いたしょう。 #3 におIAM Roleから埗られるSecurity Tokenに察応したので今回のようなパタヌンでも利甚するこずができたす。 䟿宜䞊、先ほどパヌスしたク゚リストリング内にAmazon S3から取埗する 画像URLを含むファむル ぞのパスが含たれおいるものずしたす。 # client.rb class Client def call (env) params = env[ ' QUERY_STRING ' ].split( ' & ' ).map {| kv | kv.split( ' = ' ) }.to_h metadata = Userdata .new( ' metadata ' ) credentials = metadata.credentials s3 = AWS :: S3 .new(credentials[ ' AccessKeyId ' ], credentials[ ' SecretAccessKey ' ], credentials[ ' Token ' ]) response = s3.download(params[ ' path ' ]) end end run Client .new これでAmazon S3から 画像URLを含むファむル を取埗するこずができたした。 ここでの泚意点ずしお、初回時にのみクレデンシャルを取埗するようにしおいるず、これらのクレデンシャルが期限切れになった堎合に察応するこずができたせん。 Access Key IdもしくはSecret Access Keyが異なっおいる堎合は 400 が、Tokenが異なっおいる堎合は 403 が repsponse.code ずしお埗られるのでクレデンシャルの再取埗の凊理が必芁です。 取埗したURLをRedisにキャッシュする Amazon S3から取埗した 画像URLを含むファむル はjsonなので、ファむルから倖郚画像のURLをパヌスする凊理は、先ほどず同じ手順で response.body をパヌスするだけなので割愛したす。 ここではAmazon S3ぞのリク゚スト数を枛らすためにRedisでキャッシュを行いたす。 これもよくあるパタヌンですが、もちろん mruby でも実珟可胜です。 これには mruby-redis を䜿いたす。 接続情報は先ほど init.rb にお取埗しおあるのでそれを䜿いたす。 # client.rb class Client def call (env) . . . config = Userdata .new( ' config ' ) redis = Redis .new(config.redis[ :host ], config.redis[ :port ]) redis.set(key, target_url) end end run Client .new 実際にはRedisのキャッシュの有無を確認しおAmazon S3ぞリク゚ストを送るかどうかを刀定する必芁がありたすが、ここでは割愛したす。 今回はRedisにAmazon ElastiCacheを利甚しおいおバック゚ンドのRedisが耇数台いるため、負荷分散のために郜床コネクションを匵っおいたすが、特にそういった事情がない堎合は、Redisのコネクション自䜓を mruby-userdata で共有しお䜿いたわすこずでコネクション開始時のオヌバヌヘッドを無くすこずができたす。 取埗したURLにリク゚ストしお画像を取埗しお返す 最埌の凊理です。 HTTPのリク゚ストを送るために、先ほどクレデンシャルを取埗するのに䜿甚した mruby-simplehttp を䜿いたす。 たたこの䟋では、 mruby-http を䜿甚しおク゚リを組み立おおいたす。 ngx_mruby が採甚しおいる rack-based-api では、 Kernel.#run メ゜ッドの匕数に䞎えるオブゞェクトが #call メ゜ッドを実装しおいる必芁があるこずに加え、レスポンスずしお返す #call メ゜ッドの返り倀が以䞋の䟋にあるような status code 、 header 、 body を含んだ配列でなければならないずいう制玄がありたす。 # client.rb class Client def call (env) . . . uri = HTTP :: Parser .new.parse_url(target_url) request_query = uri.query ? "#{ uri.path } ? #{ uri.query }" : uri.path response = SimpleHttp .new(uri.schema, uri.host, uri.port).get(request_query) unless response.code.to_i == 200 return [ 404 , { ' Content-Type ' => ' text/plain;charset=utf-8 ' }, [ ' not found ' ]] end [ 200 , { ' Content-Type ' => ' image/jpeg ' , ' Content-Disposition ' => ' inline ' }, [response.body]] end end run Client .new このように配列をメ゜ッド内で返すこずで、぀いに取埗した画像をレスポンスずしお返すこずができたした。 長くなりたしたが、以䞊でこのアプリケヌションのおおたかな凊理は完成です。 たずめ このように、軜量蚀語の mruby でも匷力なmrbgemsを駆䜿するこずで䞀般的なプログラミング蚀語ず遜色ない凊理を実行させるこずができたした。 蚀語自䜓の単玔な実行速床はRubyず比べるず䞀長䞀短 *1 で単玔にどちらが早いずは蚀い切れたせんが、より少ないメモリで動䜜し、別途アプリケヌションサヌバを必芁ずしない mruby の採甚は䞀考の䟡倀がありそうです。 匊瀟ではすでにこのアプリケヌションが本番環境で動いおおり、200侇req/dayを受けながら安定皌働しおいたす。 mruby でこういったアプリケヌションを曞くこずの是非は今埌の運甚を通しお刀断しおいきたいです。 *1 : RubyではC蚀語で実装されおいたメ゜ッドがmrubyだずmruby自身で実装されおいるケヌスがあり、その堎合はmrubyの方が実行速床が遅い
こんにちは新卒入瀟2幎目デザむナヌのカンバラずタカラベです。 2人ずも、HOME'Sのサむト改修やノベルティの制䜜などをしおおりたす。デザむンテクニックず合わせお、䞍動産業界の動向も日々勉匷の毎日です そんな䞭、DIYに詳しい先茩デザむナヌにお誘いいただいお、人気に火が぀いおいるず噂の『カスタマむズ賃貞』で最先端をいく賃貞マンション「 ロむダルアネックス 」にご蚪問させおいただきたした。 カスタマむズ賃貞ロむダルアネックス 「 ロむダルアネックス 」ずは、東京郜・豊島区にある13階建おの賃貞マンションです。 単玔に広さや蚭備の郚分を芋るず䞀般的なマンションずほが同じです。が実際は満宀状態が続いおおり、郚屋によっお入居埅ちが出おいるほど 「な、なぜ賃貞マンションに入居埅ちが」 人気の秘密のひず぀には、『カスタマむズ賃貞』のマンションだずいうこずでした カスタマむズ賃貞ずは、泚文䜏宅や新築だけでなく、賃貞でも居䜏者が郚屋の壁玙や床材などを自由にカスタマむズできるお郚屋のこずです。 そんなロむダルアネックスでカスタマむズ賃貞を仕掛けたのは、株匏䌚瀟メゟン青暹の青朚玔さん。 実は、以前匊瀟で䞭叀マンションの敏腕事業責任者ずしお名を銳せおいた方で、退職埌にご実家の賃貞マンションを匕き継がれたそうです。 賃貞マンションでも、もっず暮らしを楜しめる人を増やしたい。 そのために、壁玙を遞べるようにしよう。 青朚さんの想いが、今のロむダルアネックスの原点だったそうです。  これが賃貞カスタマむズ賃貞の玹介 青朚さんをはじめ、ロむダルアネックスの方々にたくさんの玠敵なお郚屋を芋孊させおいただきたした 今回は、私たちが特に興奮したカスタマむズ賃貞を2郚屋ピックアップしたす。 かっ可愛すぎるこれなら私もできるかもサラさんのお郚屋 1郚屋目は株匏䌚瀟メゟン青暹の新入瀟員である、サラさんのお郚屋をご玹介したす  サラさんのお郚屋は、ビビッドな黄色ず青の原色に圩られた壁ず、「額瞁柄」の壁が絶劙な調和をみせおおりたす。 ベッド正面に貌られたいろんな圢の「額瞁柄」の壁玙には、ずころどころスケッチや小物類が食られ、本物の「額」のような圹割を䞎えられおいたす。 冷蔵庫の扉や本棚の偎面に黒板塗料を吹きかけおおり、チョヌクで字や絵が描けるようになっおいるのも玠敵でした。 驚くべきこずに、壁玙や床材はサラさんご自身が貌ったそうですどこで材料を仕入れたのかも優しく教えおくださり、「なんだか私にもできそう」ず思わせおくれたお郚屋でした。 ちなみに、ご入瀟されたきっかけは䜕だったのでしょう同じ新卒入瀟の身ずしお気になり、こっそり䌺っおみたした。 倧孊時代にたちや地域に興味を持ち、 掻動しおいる䞭で青朚さんず出䌚いたした。 リノベヌションスクヌルぞの参加を通しお、青朚さんの取り組みに関わりを持ちはじめ、その埌、入瀟を誘っおもらいたした。 「ほしい暮らしを぀くるこず・人やたちず぀ながりのある暮らし方」がここでならできるのではず思っお、入瀟を決めたんです なんお玠敵なのでしょう... そんなサラさんは、䌚瀟ず自分の郚屋が同じ建物にあるため、通勀ぱレベヌタヌで30秒。Instagram「 30秒通勀女子の日垞 」で日々の暮らしを発信されおいたす。是非ご芧ください 党おオヌダヌメむドルヌム名は「KOJAK」 ロむダルアネックスには壁玙だけでなく、間取りも自由に倉えおしたう「オヌダヌメむド賃貞」のお郚屋もありたす なんず、隣り合ったワンルヌムが2郚屋空いたのがきっかけで、仕切っおいた壁を壊しお、1郚屋に繋げおみたそうです そのため、こちらのお郚屋は玄関が2぀あり、お邪魔する前から驚きでした写真が残っおいなくおごめんなさい  内装も入居者の方のセンスが光る玠敵さ。鮮やかなタむルの敷き詰められたキッチンや、ステンドグラスの぀いた抌入れ収玍が、倧人のオシャレな空間を䜜り出しおいたした。  カスタマむズ賃貞の魅力 皆さん、ロむダルアネックスのカスタマむズ賃貞はいかがでしたでしょうか 芋孊した私たちは、1぀1぀の郚屋がアトラクションのように芋えお、それはもう、わくわくしっぱなしでした なんずいっおも、 どこにでもあるごく普通の小さくお真っ癜な郚屋が、 少し手を入れるだけでその人オリゞナルの空間になるこず 。 賃貞マンションに持っおいた固定抂念が、厩れおいくような衝撃でした。 意倖ずカスタマむズは簡単にできる カスタマむズ賃貞に興味を持った人の最初のハヌドルは、「やっおみたいけど、手間がかかる」ではないでしょうか。 賃貞マンションを自分奜みのお郚屋にするには、お金も時間も、手間もかかるず思いがちです。 しかし、今回の蚪問でお話を䌺ったずころ、貌ったり剥がしたりできる壁玙や、床に乗せお組み合わせるだけでできる無垢の朚を䜿った床材なども増えおきたそうです こういった手軜な材料も増えおきたこずにより、カスタマむズぞのハヌドルが 䞀気に 䞋がっおいるそうですよ HOME'Sができるこず 今回、私たちはロむダルアネックスに蚪問しお、カスタマむズ賃貞の魅力、そこに䜏む人々の幞せそうな暮らしかた、倧家さんの熱い想いを肌で感じるこずができたした。 HOME'Sは䜏たい探しのポヌタルサむトであり、均䞀で粟床の高い物件情報を倚くのナヌザヌに届けるこずを目指しおいたす。 しかし、それだけではなく、ロむダルアネックスのような魅力的で新しい暮らし方も提案しおいきたいそう思わせおくれる堎所でした。  そのためには、たずカスタマむズ賃貞ずいうもの自䜓を倚くの人に知っおもらう必芁がありたす。少しず぀ではありたすが、䞋蚘のようなキャンペヌンを通しお、カスタマむズ賃貞ぞの取り組みを始めおおりたす。 www.homes.co.jp ※2016幎7月12日珟圚、キャンペヌンは行っおおりたせん。  HOME'Sは、今埌も䜏たいに぀いお様々な取り組みを行っおいきたすぜひご期埅ください  ロむダルアネックスの䞭にある飲食店「 郜電テヌブル 」にもお邪魔し、矎味しいご飯をお腹いっぱいいただきたした 最埌には青朚さん、サラさん、芋孊者で集合写真を撮りたした
こんにちは、リッテルラボラトリヌの枅田です。 来たる9月7日氎〜9日金に 富山倧孊 で開催される 第15回情報科孊技術フォヌラムFIT 2016 のむベント䌁画にお、リッテルラボラトリヌの石田・枅田が登壇するこずになりたした。 あわせお、ネクストずしおブヌス出展も行いたす。 倚くの方々のお越しをお埅ちしおおりたす むベント䌁画「ここから始める情報凊理 画像、音声、テキスト、怜玢、孊習、䞀気にたずめおチュヌトリアル」 9/7 13:00-15:00 このセッションでは、音声認識ツヌルキット Kaldi 、自然蚀語凊理の基本的ツヌル矀、 怜玢性胜評䟡ツヌルキット NTCIREVAL 、 Support Vector Machine など、さたざたな研究分野のツヌルのチュヌトリアルがたずめお行われたす。 ネクストからは、昚幎に倚方面で話題になった ディヌプラヌニングでおそ束さんの六぀子は芋分けられるのか を題材ずしお、 Chainer による画像識別のチュヌトリアルを石田が行いたす。 bohemia.hatenablog.com むベント䌁画「Real Estate Tech䞍動産×IT ITが拓く䞍動産の未来」 9/8 9:30-12:00 最近、金融分野の Fintech ず同様に、䞍動産分野でも Real Estate TechReTech ずいうキヌワヌドが䜿われるようになっおきたした。今回のFITでは、䞍動産分野で情報掻甚を進めおいる䌁業や、䞍動産にかかわる研究を進めおいる研究者が䞀堂に䌚したパネルセッションが䌁画されおいたす。 ネクストからは、昚幎11月より研究者向けに提䟛を開始した HOME'Sデヌタセット の掻甚状況や、䞍動産分野特有の研究課題に぀いお枅田がお話ししたす。 nextdeveloper.hatenablog.com たた、珟圚リッテルラボラトリヌずコラボレヌションを進めおいる 100ninmap project の䞭心メンバヌのお䞀人である和歌山倧孊の 宮郚真衣先生 からも、䜏たい遞び支揎を目的ずした街の雰囲気の可芖化の取り組みに぀いおお話しいただく予定です。 www.100ninmap.com
こんにちは。技術基盀郚の磯野です。 先日に匕き続きZipkinです。 今回は PHP + Symfony で動いおいる Webアプリケヌションぞのトレヌサヌの導入です。 前回の蚘事 → Zipkinを導入しおみたサヌバヌ線 構成 凊理の流れ 凊理の流れを远跡するためのリク゚ストヘッダ fluentdの蚭定 PHP(Symfony)偎の実装 クラむアントラむブラリ Hoopak Apache Thrift ゜ヌスコヌド DI甚蚭定ファむル(抜粋) むベントリスナクラス サヌビスコンテナクラスむベントリスナにDIする甚 足りない機胜を補充するためのラッパヌクラス WebAPI呌び出しのロギング远加 出力 構成 PHPは非同期に凊理ができないので盎接Zipkinサヌバヌにに投げるのではなくロヌカルのfluentdを利甚しおできるだけ短時間で凊理が終わるようにしおいたす。 画像のアプリケヌション・フレヌムワヌク → Zipkin Symfony2 Fluentd Sinatra 凊理の流れ トレヌスデヌタの初期化(trace_id, span_idにナニヌクな倀を蚭定する) Symfonyのむベントリスナのkernel.requestずkernel.responseをSubscribe kernel.requestむベントの通知時にリク゚ストの受付時刻(microtime)やURLなどを保存 WebAPI呌び出し時に凊理の流れを远跡するための情報をリク゚ストヘッダに付䞎 WebAPI呌び出し凊理の盎前に送信時刻(microtime)やリク゚スト先を保存 WebAPI呌び出し終了時に受信時刻(microtime)を保存し、API呌び出し開始時に保存した内容ず䞀緒にロヌカルのfluentdにscribeで送信 kernel.responseむベントの通知時にレスポンス送信時刻(microtime)を保存し、kernel.requestで保存した内容ず䞀緒にロヌカルのfluentdにscribeで送信 fluentdは順次Zipkinサヌバヌに転送 WebAPIが管理倖のサヌビスの堎合にはトレヌスデヌタの远跡情報をリク゚ストヘッダに付䞎せずに凊理を行いたす。 なお、アプリケヌションずWebAPIの呌び出しのトレヌスデヌタを別々にfluentdに流すようになっおいたすが、埌述のラむブラリの仕様です。 トレヌスするシステムが倚い堎合はたずめお送信するように改修した方がよさそうです。 凊理の流れを远跡するためのリク゚ストヘッダ WebAPIの呌び出しのトレヌスデヌタは取埗できたすが、WebAPIからさらに別のWebAPIを呌ぶ堎合には、䞀連の流れを認識するデヌタを持ちたわる必芁がありたす。 そこで、HTTPヘッダにその流れを認識するために必芁なデヌタを付䞎しおいたす。 以䞋はそのHTTPヘッダずその説明です。 HTTP Header Type 説明 X-B3-TraceId 64 encoded bits *1 リク゚ストごずに共通のID、これで远跡情報を玐付ける X-B3-SpanId 64 encoded bits *1 蚈枬ごずに䞀意に決たるID X-B3-ParentSpanId 64 encoded bits *1 盎前のSpanId X-B3-Sampled Boolean (either “1” or “0”) *2 サンプリング察象かどうか X-B3-Flags a Long - *1 内郚デヌタは数倀ですが、ヘッダに付䞎する際は16進数衚珟した文字列に倉換したす。 *2 rubygemsにあるzipkin-tracerが「X-B3-Sampled」を受け取る際に'true'(文字列)を芁求するので文字列に倉換したす。 詳しくは以䞋URLの「HTTP Tracing」を参照しおください。 http://zipkin.io/pages/instrumenting.html fluentdの蚭定 scribeで受け取りzipkinのscribe甚のポヌトに転送するためのfluentdの蚭定はこんな感じです。 ※ 事前に fluent-plugin-scribe を導入しおいたす。 <source> type scribe port 1463 </source> <match zipkin .**> type scribe host zipkinserver port 9410 field_ref message </match> PHP(Symfony)偎の実装 続いおPHP(Symfony)偎の実装です。 クラむアントラむブラリ たずはZipkinにトレヌスデヌタを送信するためのラむブラリの導入をしたす。 Hoopak PHP甚のラむブラリは 公匏 には存圚しなかったので。GitHubで探したした。 1぀しか芋぀からなかったのでこちらを利甚しおいたす。 https://github.com/Jimdo/hoopak This implementation might be incomplete and very naive ずのこずでちょっずドキドキですが、期埅通りに動かなければ盎せばいいだけなのでそのたた䜿いたす。 Apache Thrift HoopakはApache Thriftに䟝存しおいたす。 https://thrift.apache.org/ 䞊蚘URLのペヌゞからダりンロヌドしおきたファむルを展開するず各蚀語甚のラむブラリが入っおいるのでPHP甚を利甚したす。 ゜ヌスコヌド Symfonyをあたり理解せずに䜜っおいるので、䜿い方ずか甚語ずか説明ずか違ったらご指摘ください。 たた、以䞋の3ファむルのrequireが必芁なようなので事前にどこかでrequireしおおいた方がいいです。 hoopak/gen-php/Scribe/Types.php hoopak/gen-php/Scribe/scribe.php hoopak/gen-php/Zipkin/Types.php DI甚蚭定ファむル(抜粋) ExampleApp/Resources/config/services.yml parameters : zipkintracer.samplerate : 0.1 zipkintracer.service_name : webserver services : zipkin_tracer : scope : request class : ExampleApp\TracerService arguments : - @request - %zipkintracer.service_name% - %zipkintracer.samplerate% zipkin_event_listener : scope : request class : ExampleApp\TraceEventListener tags : - { name : kernel.event_subscriber } arguments : - @zipkin_tracer - @kernel - @request むベントリスナクラス <?php namespace ExampleApp; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; /** * Zipkinでのトレヌス甚のむベントリスナ * リク゚スト開始〜レスポンス盎前の時間の蚈枬を登録する。 **/ class TraceEventListener implements EventSubscriberInterface { /** * コンストラクタ * * @param ExampleApp\TraceService $trace * @param AppKernel $kernel * @param Request $request */ public function __construct ( $ tracer , $ kernel , $ request ) { $ this -> tracer = $ tracer ; $ this -> kernel = $ kernel ; $ this -> request = $ request ; } public static function getSubscribedEvents () { return array ( ' kernel.request ' => ' onKernelRequest ', ' kernel.response ' => ' onKernelResponse ', ) ; } public function onKernelRequest ( GetResponseEvent $ event ) { $ trace = $ this -> tracer -> getTrace () ; $ trace -> record ( \Hoopak\Annotation :: serverReceive ()) ; $ trace -> record ( \Hoopak\Annotation :: string ( ' server.env ', $ this -> kernel -> getEnvironment ())) ; $ trace -> record ( \Hoopak\Annotation :: string ( ' http.uri ', $ this -> request -> server -> get ( ' SCRIPT_URL ' ))) ; $ trace -> record ( \Hoopak\Annotation :: string ( ' http.query ', json_encode ( $ this -> request -> query -> all ()))) ; } public function onKernelResponse ( FilterResponseEvent $ event ) { $ trace = $ this -> tracer -> getTrace () ; $ trace -> record ( \Hoopak\Annotation :: serverSend ()) ; } } サヌビスコンテナクラスむベントリスナにDIする甚 <?php namespace ExampleApp; require_once ' hoopak/gen-php/Scribe/Types.php '; require_once ' hoopak/gen-php/Scribe/scribe.php '; require_once ' hoopak/gen-php/Zipkin/Types.php '; /** * Zipkinによるトレヌス甚クラスの初期化凊理保持する * **/ class TracerService { private $ _tracer ; /** * コンストラクタ * * @param Request $request * @param float $samplerate Zipkinによるトレヌスをサンプリングするレヌトの指定 */ public function __construct ( $ request , $ service_name , $ samplerate = 1.0 ) { $ method = strtolower ( $ request -> server -> get ( ' REQUEST_METHOD ', ' GET ' )) ; $ tracer = new \Hoopak\ZipkinTracer ( new \Hoopak\ScribeClient ( ' localhost ', 1463 )) ; $ this -> _trace = new TraceWrapper ( $ method , null , null , null , $ samplerate , array ( $ tracer )) ; $ ipaddress = $ request -> server -> get ( ' SERVER_ADDR ' ) ; $ port = $ request -> server -> get ( ' SERVER_PORT ' ) ; $ this -> _trace -> setEndpoint ( new \Hoopak\Endpoint ( $ ipaddress , $ port , $ service_name )) ; } public function getTrace () { return $ this -> _trace; } } 足りない機胜を補充するためのラッパヌクラス あずで敎理しおhoopak偎に取り蟌んでプルリク出したいず思いたす。 <?php namespace ExampleApp; /** * Hoopak\TraceのWrapクラス * **/ class TraceWrapper { /** * @var Hoopak\Trace **/ private $ _trace ; /** * @var boolean * Hoopak\Trace゚ラヌ時に次回以降凊理を転送しないためのフラグ * **/ private $ _error = false ; /** * @var array * \Hoopak\ScribeClientなどのむンスタンスを持぀配列 **/ private $ _tracer = array () ; /** * @var \Hoopak\Endpoint **/ private $ _endpoint = null ; /** * トレヌスデヌタを取埗するかどうか **/ public $ sampled = true ; /** * @var array APIサヌバヌに送信するZipkinヘッダの察応衚 **/ private $ _headers = array ( ' traceId ' => ' X-B3-TraceId ', ' parentSpanId ' => ' X-B3-ParentSpanId ', ' spanId ' => ' X-B3-SpanId ', ' sampled ' => ' X-B3-Sampled ', #'flags' => 'X-B3-Flags' ) ; /** * コンストラクタ * * @param Hoopak\Trace */ public function __construct ( $ method , $ traceId = null , $ spanId = null , $ parentSpanId = null , $ samplerate = 1.0 , $ tracers = array ()) { if ( !$ traceId ) { $ traceId = $ this -> _id () ; } if ( !$ spanId ) { $ spanId = $ this -> _id () ; } $ this -> _tracers = $ tracers ; $ this -> _trace = new \Hoopak\Trace ( $ method , $ traceId , $ spanId , $ parentSpanId , $ tracers ) ; if ( $ samplerate < 1.0 ) { $ this -> sampled = ( $ samplerate == 0 ) ? false : ( $ samplerate > ( mt_rand () / mt_getrandmax ())) ; } } /** * @see \Hoopak\Trace::record() * sampled=falseの時は䜕もしない **/ public function record ( $ annotation ) { if ( !$ this -> sampled ) { return ; } $ this -> __call ( ' record ', array ( $ annotation )) ; } /** * @see \Hoopak\Trace::child() * \Hoopak\Trace::_id()が同䞀IDを返华する確率が高すぎるので、䜿わないように凊理を䞊曞き **/ public function child ( $ name ) { $ samplerate = $ this -> sampled ? 1.0 : 0.0 ; $ trace = new self ( $ name , $ this -> traceId, $ this -> _id () , $ this -> spanId, $ samplerate , $ this -> _tracers ) ; $ trace -> setEndpoint ( $ this -> _endpoint ) ; return $ trace ; } /** * @see \Hoopak\Trace::setEndpoint() * このクラスでもendpointを倉数ずしお保持する **/ public function setEndpoint ( $ endpoint ) { $ this -> _endpoint = $ endpoint ; $ this -> __call ( ' setEndpoint ', array ( $ endpoint )) ; } /** * Hoopak\Traceに凊理を移譲するためのメ゜ッド * 移譲先で゚ラヌが発生した堎合は、握り぀ぶす * * 個別のメ゜ッドに関しおは移譲先を参照 * @see hoopak/src/Hoopak/Trace.php * **/ public function __call ( $ name , $ arguments ) { if ( $ this -> _error ) { return ; } try { return call_user_func_array ( array ( $ this -> _trace, $ name ) , $ arguments ) ; } catch ( \ Exception $ e ) { $ message = " exception ' " . get_class ( $ e ) . " ' with message ' " . $ e -> getMessage () . " ' in " . $ e -> getFile () . " : " . $ e -> getLine () ; error_log ( $ message ) ; $ this -> _error = true ; } } /** * \Hoopak\Traceのパブリックなむンスタンス倉数を取埗するためのメ゜ッド * * 個別の倉数に関しおは以䞊先を参照 * @see hoopak/src/Hoopak/Trace.php **/ public function __get ( $ name ) { return $ this -> _trace ->$ name ; } /** * Zend\Http\Clientでのリク゚ストデヌタ、レスポンスデヌタを元にZipkinぞのトレヌス登録ずを行う。 * たた、リク゚ストヘッダにZipkinのトレヌス情報転送甚のヘッダを付䞎する。 * * @param string $name リク゚スト送信先のサヌビス名称 * @param Zend\Http\Client $client * @param callable $block ( * @param ExampleApp\TracerWrapper * @return Zend\Http\Response * ) * @return Zend\Http\Response * **/ public function traceWithHTTPClient ( $ name , $ client , $ block ) { $ tracer = $ this -> _createChildHTTPTracer ( $ name , $ client ) ; $ tracer -> _prepareHTTPClient ( $ client ) ; $ tracer -> record ( \Hoopak\Annotation :: clientSend ()) ; $ httpResponse = $ block ( $ tracer ) ; $ tracer -> record ( \Hoopak\Annotation :: string ( ' http.status ', $ httpResponse -> getStatusCode ())) ; $ tracer -> record ( \Hoopak\Annotation :: clientReceive ()) ; return $ httpResponse ; } /** * Zend\Http\Clientのデヌタを元に子トレヌスむンスタンスを䜜成し返华する。 * * @param string $name リク゚スト先サヌビス名 * @param @param Zend\Http\Client $client * @return ExampleApp\TracerWrapper * **/ private function _createChildHTTPTracer ( $ name , $ client ) { $ uri = $ client -> getUri () ; $ query = $ client -> getRequest () -> getQuery () ; $ method = $ client -> getRequest () -> getMethod () ; $ trace = $ this -> child ( strtolower ( $ method )) ; $ serverAddress = \Hoopak\Annotation :: string ( ' sa ', ' 1 ' ) ; $ serverAddress -> endpoint = new \Hoopak\Endpoint ( $ uri -> getHost () , $ uri -> getPort () , $ name ) ; $ trace -> record ( $ serverAddress ) ; $ trace -> record ( \Hoopak\Annotation :: string ( ' http.uri ', $ uri -> getPath ())) ; $ trace -> record ( \Hoopak\Annotation :: string ( ' http.query ', json_encode ( $ query ))) ; return $ trace ; } /** * Zend\Http\Clientにトレヌスデヌタ転送に必芁なリク゚ストヘッダを付䞎する * @param Zend\Http\Client $client * **/ private function _prepareHTTPClient ( \Zend\Http\Client $ client ) { foreach ( $ this -> _headers as $ key => $ value ) { $ headers [ $ value ] = $ this -> _getStringData ( $ key ) ; } $ client -> setHeaders ( $ headers ) ; } /** * * @param $key string key of data * @return string- **/ private function _getStringData ( $ key ) { $ value = $ this ->$ key ; switch ( gettype ( $ value )) { case ' integer ' : $ ret = sprintf ( " %016s ", dechex ( $ value )) ; break ; case ' boolean ' : $ ret = $ value ? ' true ' : ' false '; break ; default: $ ret = ( string ) $ value ; break ; } return $ ret ; } private function _id () { return ( int ) round ( microtime ( true ) * 1000 * 1000 ) ; } } WebAPI呌び出しのロギング远加 このようにWebAPIを呌び出しおいる郚分(Zend\Http\Client)があったら $response = $client- > send(); こんな感じに曞き換える事でWebAPIぞのリク゚ストのトレヌスが有効になりたす。 $tracer = $this- > container- > get('zipkin_tracer')- > getTracer(); $response = $tracer- > traceWithHTTPClient("webapi", $client, function($childTracer) use ($client) { return $client- > send(); }); 出力 以䞋の赀で囲った郚分が今回の䜜業により蚘録されるようになりたす。 次回は、WebAPIサヌバヌぞの導入(Rubyç·š)の予定です。
こんにちは、リッテルラボラトリヌの枅田です。 このたび、 電気通信倧孊 に新蚭される 人工知胜先端研究センタヌ AIXに、 サポヌタヌ䌁業ずしおネクストが参画 するこずになりたした。 リッテルラボラトリヌでは、電気通信倧の 栗原研究宀 ず、゜ヌシャルメディアを通じお䜏たい探しナヌザヌを理解するこずを目指した共同研究を掚進しおきたした。その成果は、 人工知胜孊䌚党囜倧䌚 (JSAI 2015) や、2015幎12月にシンガポヌルで開催された囜際ワヌクショップ DOCMAS/WEIN 2015 などで発衚しおおりたす。 nextdeveloper.hatenablog.com JSAI2015 ツむヌトタむムラむンぞの階局的クラりド゜ヌシングの適甚による䜏たい探しナヌザの背景ニヌズ理解 from Yoji Kiyota www.slideshare.net Mining User Experience through Crowdsourcing: A Property Search Behavior Corpus Derived from Microblogging Timelines from Yoji Kiyota www.slideshare.net 今埌、共同研究を通じお䞀人ひずりの生掻に密着した䜏たいなどの領域でのナヌザヌ理解をさらに深めおいくずずもに、 HOME'Sデヌタセット の提䟛を通じお掻甚され぀぀ある䞍動産物件画像ぞのdeep learning適甚で埗られた知芋なども掻かし、人工知胜技術を身近にしおいくためにAIXの掻動に積極的に協力しおいきたす。 今埌の進展にご期埅ください
こんにちは。技術基盀郚の磯野です。 匊瀟ではここ数幎、HOME'Sのクラりド化やマむクロサヌビス化を掚進しおいたす。 アプリケヌションのクラりドサヌビスぞの移行に関しおはそろそろ終わりが芋えおきおいるのですが、 マむクロサヌビスに関しおはただただ道半ばずいうこずもあり、掚進しおいくにあたっお、 各サヌビス間の䟝存関係やトレヌス情報を可芖化する手段ずしおzipkinをAWS䞊に詊隓的に導入しおみたした。 今回はZipkinサヌバヌの導入たでの手順に぀いおたずめたいず思いたす。 Zipkin ずは デヌタストレヌゞの遞択 InMemory MySQL いいずころ 残念なずころ Cassandra いいずころ 残念なずころ Elasticsearch いいずころ 残念なずころ 基本構成 サヌビスのむンストヌル MySQLの蚭定 zipkinのむンストヌルず確認甚の起動 supervisordのむンストヌル おたけ zipkinのすぐに䜿いそうな環境倉数 Zipkin ずは 分散環境における各サヌビスの呌び出し状況を収集・可芖化できるシステムです。 文字だけだずよくわかりたせんが、サヌビス間の呌び出しをこんな感じで可芖化できるサヌビスです。 ※個人環境のデヌタです。 デヌタストレヌゞの遞択 Zipkinは暙準で぀のデヌタストレヌゞに察応しおいたす。(InMemory, MySQL, Cassandra, Elasticsearch) 今回は詊隓的な導入ずいうこずもあり、運甚面や金銭面も加味しお、ずりあえずMySQL(RDS-Aurora)で進めおいたす。 以䞋に各項目に぀いお軜くたずめたした。最終的にはElasticsearchもしくはCassandraに切り替えたいず考えおいたす。 InMemory 氞続化されないので確認的な利甚以倖では利甚しにくい MySQL いいずころ わかりやすい RDSを利甚すればほずんど管理コストがかからない 残念なずころ パフォヌマンスに問題がある 曞き蟌みは問題なかったが、読み蟌みは顕著に圱響が出た サンプリングレヌトをかなり䞋げおいるにもかかわらず、1日〜2日皋床数癟䞇レコヌド経過しただけで目に芋えお怜玢が遅くなる * r3.largeを利甚しおいるこずも急激な速床䜎䞋の原因の䞀぀だず思われる Cassandra いいずころ Expireを蚭定できるので明瀺的なデヌタ削陀が必芁ない 倧量のデヌタでも高速に凊理できる 残念なずころ マネヌゞドサヌビスがあるわけではないので自分でむンスタンスの管理をする必芁がある 瀟内でのCassandraの評刀が悪すぎる。誰も運甚したくないみたい Elasticsearch いいずころ 倧量のデヌタでも高速に凊理できる 残念なずころ Amazon Elasticsearch Serviceで利甚できない Amazon Elasticsearch Serviceはノヌド䞀芧をマスクした状態で返华するので、デフォルトのアダプタでは利甚できない様子 マネヌゞドサヌビスが利甚できないので自分でむンスタンスの管理をする必芁がある 基本構成 たずは基本構成ずしお、以䞋のようにする予定です。 今回は右偎の管理甚VPC内の構成を䜜る䜜業を行いたす。 サヌビスのむンストヌル MySQLの蚭定 MySQL5.6で利甚できるので、今回はMySQL5.6互換なAuroraを利甚したす。 ※Auroraの起動方法やセキュリティグルヌプの蚭定などに぀いおは割愛したす。 たず、新芏にパラメヌタグルヌプを䜜り、innodb_file_formatをBarracudaに蚭定を行いたす。 䜜成したパラメヌタグルヌプを指定しおAuroraむンスタンスを起動したす。 デヌタベヌス名は暙準でzipkinにしおおくずZipkinサヌバヌ起動時に指定しなくお枈みたす。 たたzipkinに必芁なテヌブルを䜜りたす。github䞊にsqlファむルがあるので、そちらを取埗しおsqlを流したす。 {}で囲っおある郚分は環境䟝存なので、必芁に応じお倉曎しおください。 $ sudo curl ' https://raw.githubusercontent.com/openzipkin/zipkin/master/zipkin-storage/mysql/src/main/resources/mysql.sql ' -o /tmp/mysql.sql $ mysql -h{ zipkin_aurora_host } -u{ zipkin_aurora_user } -p -Dzipkin < /tmp/mysql.sql 以䞋のファむルに泚意事項が曞いおあるので詳しくはこちらを参照しおください。 https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql/README.md zipkinのむンストヌルず確認甚の起動 EC2むンスタンスを起動したす。 セキュリティグルヌプを蚭定する堎合にはむンバりンドで9410(scribe),9411(http)の2぀のポヌトを解攟しおおく必芁がありたす。 mysqlの蚭定時ず同様{}で囲っおある郚分は環境䟝存なので、必芁に応じお倉曎しおください。 $ sudo yum install mysql java-1.8.0-openjdk java-1.8.0-openjdk-devel $ sudo alternatives --set java /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java $ sudo mkdir /opt/zipkin $ sudo curl -L ' https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec ' -o /opt/zipkin/zipkin.jar $ sudo STORAGE_TYPE = " mysql " MYSQL_HOST = " {zipkin_aurora_host} " MYSQL_USER = " {zipkin_aurora_user} " MYSQL_PASS = " {********} " java -jar /opt/zipkin/zipkin.jar ブラりザから http://zipkinserver:9411/ を開くこずでトップペヌゞにアクセスできたす。 たた、 http://zipkinserver:9411/mappings にはURLのマッピング蚭定がありたす。 その䞭でも http://zipkinserver:9411/env は蚭定環境倉数、デフォルト倀などを返华しおくれるので重宝したす。 ただし、環境倉数ずしお枡したパスワヌドをマスクせずに返华するようなのでパスワヌドを利甚する堎合はアクセス制限した方がよさそうです。 supervisordのむンストヌル daemon化するためにsupervisordを入れおupstartの蚭定を远加したした。 ※ pipをupgradeするずなぜか/usr/bin/pip → /usr/local/bin/pipになっおしたうのでちょっず困っおたす。 $ sudo pip install pip --upgrade $ sudo /usr/ local /bin/pip install supervisor $ cat <<EOF | sudo tee /etc/init/supervisord.conf description "supervisord" start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/local/bin/supervisord -n EOF $ mkdir /var/log/supervisor $ mkdir /etc/supervisor.d $ /usr/ local /bin/echo_supervisord_conf | sudo tee /etc/supervisord.conf $ cat <<EOF | sudo tee -a /etc/supervisord.conf [include] files = /etc/supervisor.d/*.ini EOF $ cat <<EOF | sudo tee /etc/supervisor.d/zipkin.ini [program:zipkin] command=java -jar zipkin.jar directory=/opt/zipkin autostart=true autorestart=true stopasgroup=true logfile=/var/log/supervisor/zipkin.log environment=STORAGE_TYPE="mysql",MYSQL_HOST="{zipkin_aurora_host}",MYSQL_USER="{zipkin_aurora_user}",MYSQL_PASS="{********}",SELF_TRACING_ENABLED="false" EOF $ sudo initctl start supervisord これで䞇が䞀萜ちおも、supervisordが起動しおくれたす。 以䞊で基本的な蚭定は終了です。 おたけ zipkinのすぐに䜿いそうな環境倉数 環境倉数 デフォルト倀 説明 SELF_TRACING_ENABLED true falseにするこずでzipkin自身のトレヌスを停止できる COLLECTOR_SAMPLE_RATE 1.0 サンプリングレヌト 0.0〜1.0の範囲を指定。0にすればロギングを停止できる COLLECTOR_PORT 9410 scribe甚ポヌト STORAGE_TYPE mem mem,cassandra,elasticsearch,mysqlから遞択可胜 MYSQL_HOST localhost 接続先MySQLホスト名 MYSQL_TCP_PORT 3306 接続先MySQLポヌト MYSQL_USER - 接続先MySQLナヌザヌ名 MYSQL_PASS - 接続先MySQLパスワヌド MYSQL_DB zipkin 接続先MySQLデヌタベヌス QUERY_PORT 9411 Webサヌバヌポヌト すべおの環境倉数はこちらを参照しおください。 https://github.com/openzipkin/zipkin/blob/master/zipkin-server/src/main/resources/zipkin-server.yml 次回は、アプリケヌションサヌバヌぞの導入(PHPç·š)の予定です。
Apple原理䞻矩者の倧坪です。人は思いがけない出来事に盎面するず、その理由を探さずにはいられない。お財垃を萜ずしおしたったなぜだろうきっず今朝黒猫印を぀けた車が私の前を暪切ったのがいけなかったのだ、ずかなんずか。 いきなり䜕を曞いおいるかずいえばあれですよ。幎に䞀床行われるAppleの開発者向け䌚議WWDCのチケットが圓たったんですよ。いや、倧䞈倫。ちゃんず理解しおたす。これは奇跡でもなんでもなくarc4random_uniform関数 *1 がたたたた「参加」の倀を返しただけ、ず。しかしこれは私の垞軌を逞したAppleぞの愛がなせる技ではなかろうか、ず頭の片隅で考えおいるのも事実。 などず のんきなこずを蚀っおいる堎合ではありたせん。わヌいわヌいず喜んでいいのは30秒ほど。早く正気に垰りあれこれの手配をしなくおはなりたせん。 たずはホテルず航空刞の手配。毎幎驚かされるのはSan Fransisco゚リアでの宿泊代の高隰ぶり。おたけに少しでも宿泊堎所確保に出遅れるずあっずいうたに満宀の嵐になる。 「予算内の堎所はないか」ず血県になっおあちこちのサむトを探し「あったヌ」ず思ったら予玄ボタンを抌す前に こちらの情報 などを確認したしょう。安くおしかも空宀があるホテルがこうした゚リアに存圚しおいる確率は悲しくなるほど高い。 そうした壁を乗り越え、宿ず足を確保するず、今床は情報収集を始める。去幎は珟地で前倜に、今幎は日本で䞀週間前に参加者同士の飲み䌚が行われたした。䞻催者の方には感謝の他ありたせん。そこで必ず話題になるのが   「初日のキヌノヌト䜕時から䞊ぶ」   2013幎に参加した時は、迂闊にも寝過ごしおしたい䞊び始めたのは時過ぎ。それでも特に䞍満のない堎所に座れた。話のネタ的に真倜䞭から䞊ぶずいう遞択肢もありたすが、そんなに無理しなくおいいのではないか。そもそも列のものすごく前に䞊べたずころでどうせ䌚堎内最前列の゚リアは党お「予玄枈み」だから座れないし。あたり遅く行くず"Overflow Room"なるビデオ䞭継でしかキヌノヌトを芋られない郚屋に回されるらしいけど、それさえ回避できれば。   しかし   そこに立ちはだかるのが時差ボケ。長旅で疲れよれよれずベッドにはいったはずなのに、真倜䞭にパッチリ目が芚める。ただ数時間は眠れるず毛垃をかぶっおも目は冎える䞀方。諊めおMacBookなど叩いおいるず 「䞊ばなくおいいのか」 ずいう匷迫芳念が迫っおくる。San Fransiscoくんだりたで来お、2chなんか芋おいる堎合か。いや、ただ倜明けたでは時間がある。ずはいっお眠くはないし、やるこずもない。そうしおいるうち「ええい、行っおしたえ」ずホテルを飛び出す。そしお氷のような寒さ *2 の䞭長い長い行列に立ち尜くし、己の刀断の愚かさに呪いの蚀葉を吐く。 これは去幎の写真。ちなみに時間は午前時半     ずいうのが去幎私に起こったこず。今幎はもうそんなこずはしないもんね、ず固く決意するわけでした。これにはもう䞀぀理由があり、今幎は初日の堎所が䟋幎ずは倉わっおいたす。去幎たではむベント党日Moscone Westで行われたのですが、今幎は初日のみBill Graham Civic Auditorium。いいニュヌスはおそらく収容人数がMoscone Westより倚いこず。悪いニュヌスは蟺りの治安があたりよろしくないこず。以前別の出匵で来た時、明るい時間垯なのにいろいろな人が呚りにたむろしおいたこずを思い出す。あそこに暗いうちから数時間立っおいるのが良い遞択肢だろうかいや違う。ずいうわけでWWDC及び呚蟺むベントに参加する人たちの間でも「明るくなっおから移動が良いよね」ずいうこずで意芋が䞀臎する。 そのようにちゃんずあれこれ考えおいたので 「あヌよく寝た」ずパッチリ目が芚め、ふず芋た枕元の時蚈がこんな衚瀺をしおいおも驚かない。ここでやるべきこずは静かに目を閉じ垃団をかぶっお心から雑念を远い払うこず。 今日のKeynoteではどんな発衚があるかずか考えおはいけない。 どんなサプラむズがあるだろうかずか考えおはいけない。 あたり可胜性はないずはいえ、MacBookが発衚されないだろうかずか考えおはいけない。 䜿っおいるMacBookAirもう六幎目。そろそろ買い換えないず、ずか考えおはいけない。 .... 目芚たしの音で飛び起きれば午前時。なんずすばらしい。時差がけに打ち勝ち眠れたではないか、 ず勝利の喜びにひたりながらFacebookを芋る。するずもう䞊んでいる人がいるのに気が぀く。そうか。䞊んでいる堎所はセキュリティがちゃんずしおいるのか、、、ずか考えながらふず気が぀けば猛然ず出かける支床をしおいる。ちょっずたお。俺は昚日ホテルを時に出るず決めたのだ、ず自分に蚀い聞かせおいるうち準備䞇端になっおしたう。いいや、もう出ちゃおう。 WWDC参加者にはRegistration時ゞャケットが配られたす。ここ数幎ゞャケットのデザむンにはパタヌンがあり、黒䞀色で背䞭にその幎の䞋二桁が曞かれおいる。朝の街を䌚堎に向かっお歩いお行くず、背䞭に「」ず曞かれたゞャケットを着た人をちらほら芋かける。䌚堎が近づくに぀れ、目に入る「」の数が増えおいく。 こんだけ参加者がいれば、きっず怪しい人に絡たれる危険性は少ないだろう、ず根拠のないこずを考えながら歩き続ける。そのうち䌚堎が芋えおきたした。 列に䞊ぶ時点でSecurityの人にバッゞを芋せたす。列の近くにはあたヌいマフィンの類ずコヌヒヌも甚意されおいる。ぱくぱく食べたいずころですが、調子にのっお飲みすぎトむレに行きたくなっおも困る。ぐっずこらえお少しだけずりたす。 それから䌚堎に入るこずができた午前時たで延々この光景を目にするこずになる。しかしそうした時間にも芋るべきもの、考えるべきこずは存圚しおいる。私にずっおは寒いずしか思えない状況。しかしなぜ前に立っおいるお兄さんはTシャツ短パンでぞらぞら笑っおいるのだ。呚りからは様々な蚀葉が聞こえたす。日本語、英語、䞭囜語、フランス語、ドむツ語、スペむン語、そしお私が知らない蚀葉。皆これから始たるキヌノヌト、そしおWWDCを心から楜しみにしおいる。 そんなこずを考えんながらがんやり建物を芋る。そしおあるこずに気が぀く。䞊の写真をみお「」ず思いたせんかその理由がわかったのはキヌノヌトを聞き、そしおこの日の倕方にある光景を目にしおから。     7月日に匊瀟でWWDC2016共有䌚を開催いたしたす。 connpass.com ゲストスピヌカヌの岞川さんも含めラむトニングトヌクでどんなお話が聞けるのか。懇芪䌚で皆さんずどんなお話ができるのか今からワクワクしおおりたす。私も登壇させおいただきたすので、皆さんの貎重な時間を無駄にしないよう、今から頭を悩たせおおりたす。 もしご興味をお持ちでしたら、ぜひご登録ください。 *1 : iOSで乱数を返しおくれる関数です。 *2 : ”私が経隓したもっずも寒い冬はサンフランシスコの倏だった。” ずいはマヌク・トゥ゚むンの蚀葉
こんにちは。おうちハッカヌ@リッテルラボラトリヌの石田です。 2016幎6月6日~9日に開催された第30回人工知胜孊䌚党囜倧䌚に行っおきたした。私は画像系及び深局孊習に興味があるので、特に画像系ず深局孊習系セッションを芋お回りたした。 そこで䞻に自分が芋たセッションを元に、今幎の人工知胜孊䌚の画像に関わる深局孊習の発衚をたずめおみたした。 私が芋た・読んだ範囲で、「 各分野にCNNを適甚した研究 」「 画像系深局孊習の理論的な研究 」「 画像ではないが気になった深局孊習の研究 」に分けお玹介したす。 自分で実際に芋た発衚に぀いおは、おすすめ床を぀けおいたす。個人の䞻芳によるものですので、匊瀟の芋解ずは関係がありたせん。 ではどうぞ。 各分野にCNNを適甚した研究 ここでは、画像系で倧きな成果を䞊げおいるCNN(畳み蟌みニュヌラルネットワヌク)を、各分野の画像解析に適甚しおみた研究を玹介したす。 画像特城量を利甚したナヌザプロファむルの拡匵ずロヌカルショップ掚薊ぞの応甚 https://kaigi.org/jsai/webprogram/2016/pdf/156.pdf おすすめ床★☆☆ 基本はSIFT特城量をBoVWに倉換しお、ナヌザヌの蚪問堎所の画像から、特城量の近しいレストラン等を掚薊する研究。論文䞭では述べられおたせんが、発衚ではCNNを甚いお、ランチ、ディナヌ、ナむトラむフなどを分類しお利甚しおいたした。 深局孊習を甚いたファッションコヌディネヌト因子の抜出 https://kaigi.org/jsai/webprogram/2016/pdf/101.pdf おすすめ床★★☆ 服の皮類を刀定、ナヌザヌぞの掚薊を目的ずする研究。 埓来はトップス、スカヌトなどのの䞊䜍カテゎリず、カヌディガン、ニットなどのサブカテゎリを同時にCNNで掚定しおいたしたが、提案手法のLayered CNNではトップカテゎリの刀定噚→サブカテゎリの刀定噚の順に局構造の刀定噚で構成されおおり、埓来より粟床が向䞊したずのこずです。 その他の知芋ずしおは、暡様などのスペクトラムは、別の特城量を䜿った方法が有効なこず、画像の前凊理が重芁なこずが述べられおいたした。 Deep Learning技術をベヌスずした異垞画像怜出 https://kaigi.org/jsai/webprogram/2016/pdf/664.pdf おすすめ床★★★ SUUMOの戞建の物件画像に぀いお、皮類の異垞怜知を行った研究。人が写り蟌んでいるような画像を省くため、物䜓怜知ず分類を同時に行う手法であるFaster R-CNNで人を怜出しおいたした。もう䞀぀は、CNNの䞭間局の特城量をX-meansでクラスタリングしお、建築䞭や土地のみの異垞画像のクラスタの生成に成功しおいたす。 同業の䞍動産情報サむト関連研究ずしお、興味深く聞かせおもらいたした。 地球芳枬衛星画像䞊の地物自動認識 https://kaigi.org/jsai/webprogram/2016/pdf/1019.pdf おすすめ床★★☆ LANDSAT衛星写真からCNNで゜ヌラヌパネル蚭眮領域を刀別する研究。教垫デヌタが少ないが、RGBに加え赀倖線などのバンドを入力に入れるこずで、粟床向䞊に倧いに寄䞎しおいるこずを瀺しおいたした。パラメヌタ調敎にはガりス過皋を甚いたベむズ最適化を甚いおいるそうです。 ディヌプラヌニングを適甚した衛星画像からの土地被芆分類手法の評䟡 https://kaigi.org/jsai/webprogram/2016/pdf/881.pdf おすすめ床★★☆ 前の研究ず同じく衛星画像を甚いお、郜垂、森、氎源などに分類する研究。 ベむス掚定を利甚した自動パラメヌタ調敎を利甚。粟床は7割皋床。既にある分類基準を元に、CNNのモデルのラベルをどう定矩するかが粟床に倧きく圱響するようでした。 深局孊習を甚いた SNS プロフィヌル画像から䛟投皿者属性掚定 https://kaigi.org/jsai/webprogram/2016/pdf/778.pdf おすすめ床芋おたせん CNNでFacebookのプロフィヌル画像から、性別、幎霢、性栌を掚定する研究。顔画像をHaar-like怜出噚+adaBoostによる顔領域怜出で切り抜いた画像の粟床が向䞊しおいるようです。 実環境におけるロボットの物䜓認識 https://kaigi.org/jsai/webprogram/2016/pdf/363.pdf おすすめ床★☆☆ Pepperなどのロボットのためのリアルタむム呚蟺環境認識のために、BINGで物䜓候補領域を怜出、CNNのCaffeのリファレンスモデルで物䜓皮別を分類する研究。Intel RealSenseのデプスカメラを利甚しお、怜出したものの距離を蚈枬できるようにしおいたした。 珟状ではGPUにTitan X䜿甚で、凊理に䞀枚あたり1秒かかるそうです。 畳み蟌みニュヌラルネットワヌクを甚いた埮小県球運動の怜出 https://kaigi.org/jsai/webprogram/2016/pdf/988.pdf おすすめ床★★☆ 人の泚意状態を衚す県球のマむクロサッカヌド(MSC)をロバストに怜出するために、県球の䜍眮を入力ずしおFaster R-CNNを参考した手法を䜿った研究。特城抜出郚ず識別郚の2段構成で、特城抜出郚は局畳み蟌みで特城波圢を抜出、識別郚はConvMLPを結合したモデルを利甚しおMSCの確率を掚定しおいたす。 Convolutional Neural Networkによる写真ず手描きスケッチの認識 https://kaigi.org/jsai/webprogram/2016/pdf/1056.pdf おすすめ床★★☆ 手曞きスケッチを描いお類䌌画像を怜玢するためにCNN孊習させたいが、倧量のデヌタセットの䜜成が困難なため、画像やむラストを加工した画像を甚い孊習を行わせる研究。画像ずスケッチが混ざったテストデヌタでも高粟床に20皮類の動物を分類できおいたす。 畳み蟌みニュヌラルネットワヌクを甚いた衚情衚珟の獲埗 https://kaigi.org/jsai/webprogram/2016/pdf/873.pdf おすすめ床★☆☆ 顔の衚情デヌタセットをCNNで分類する研究。衚情の専門知識を甚いお特城量を蚭蚈しお䜜られた既存研究に近い粟床が出おいたす。 画像系深局孊習の理論的な研究 畳蟌みニュヌラルネットワヌクのための新しい半教垫あり孊習法 https://kaigi.org/jsai/webprogram/2016/pdf/893.pdf おすすめ床★★★ CNNには倧量の正解ラベル付きの正解デヌタが必芁だが、最初にラベルなしの画像デヌタで教垫なし孊習をし、その埌教垫あり孊習に切り替えるずいう半教垫あり孊習を行うず、孊習速床が向䞊するずいう研究。 教垫なし孊習時は、教垫ありの10倍ほどの画像を甚意し、正解を最もスコアの高かったナニットのラベルずし、正解を確床の䜎いものずしお扱っお孊習させおいたす。 逆畳み蟌みニュヌラルネットワヌクを甚いた茪郭怜出 https://kaigi.org/jsai/webprogram/2016/pdf/763.pdf おすすめ床★★☆ 茪郭抜出を行うHEDずいう手法に぀いお、䞀郚に逆畳み蟌みネットワヌクを䜿うこずでよりきれいな茪郭抜出を詊みる研究。 HEDはCNNの党結合局が存圚しないFully Convolutional Network(FCN)を甚い、プヌリングで小さくした特城量を画像サむズたで拡倧するずきに線圢補完を䜿っおいたが、代わりに逆畳み蟌みを導入しおみたずころ、埓来手法より若干きれいな茪郭の抜出ができおいたした。 深局孊習における敵察的ネットワヌクず泚芖を甚いた画像生成の詊み https://kaigi.org/jsai/webprogram/2016/pdf/811.pdf おすすめ床★★☆ 深局孊習による画像生成の珟状の問題点ずしお、倧きな画像が生成できず、现郚が曖昧になっおしたう点がありたす。 そこで泚芖メカニズムを䜿い、郚分画像を耇数回に枡っお孊習・生成し、たた敵察的ネットワヌクを導入し画玠単䜍での誀差の修正を詊みる研究。 MNISTずいう手曞き文字デヌタセットで実隓を行っおいたす。 【補足】敵察性ネットワヌクに぀いおは、昚幎末話題になった、敵察性ネットワヌクによる画像生成の蚘事を芋るず、敵察性ネットワヌクの抂念に぀いお理解できるず思いたす。 Chainerで顔イラストの自動生成 - Qiita 深局孊習における敵察的ネットワヌクによるラベル掚定ず半教垫あり孊習 https://kaigi.org/jsai/webprogram/2016/pdf/829.pdf おすすめ床★★★★ 半教垫あり孊習で高粟床な分類機を䜜るため、敵察的自己笊号化噚を甚いた研究。笊号化噚が獲埗する朜圚倉数ずしお、埓来のzに加え、yを導入し、䞀方にコンテンツ識別に必芁な情報、もう䞀方にその他のスタむル情報を敵察性ネットを甚いお孊習させるこずで、コンテンツずスタむルを分離するこずができ、粟床向䞊を図っおいたす。 スタむルずコンテンツが分離できたこずで、それぞれを別に指定しお画像生成が可胜になりたした。䟋えば、ポップ颚の「3」の画像ずいった指定で生成できそうです。 ぀たりこの研究では、半教垫あり孊習の粟床向䞊ず、画像生成技術における生成画像のコントロヌルの2぀をもたらしおいるず蚀えたす。 画像以倖の深局孊習の研究 マルチ゚ヌゞェントによるDeep Learningの提案 https://kaigi.org/jsai/webprogram/2016/pdf/953.pdf おすすめ床★★★ 珟状の深局孊習では、䜕局にするか、各局のナニットの数をいく぀にするか決めお実隓しおうたくいったものを䜿っおいたすが、将来的に膚倧な䜜業になりそうです。 そこで各ナニットを゚ヌゞェントにしおしたい、各ナニットが局所的な情報のみを持っお独立しお行動するこずで、ネットワヌクを孊習䞭に自動で倉わっおいく手法を提案しおいる研究。SDAずいうデヌタの䞀郚を隠しお再構成させる手法がありたすが、この手法ずほが同等の性胜を持぀マルチ゚ヌゞェントによる深局孊習を実珟しおいたす。 Deep Neural Network を甚いた株匏売買戊略の構築 https://kaigi.org/jsai/webprogram/2016/pdf/975.pdf おすすめ床★★★ 既存研究では、株䟡の予枬がされおいたすが、どのタむミングでどの量を売買するかたで議論されおいたせん。そこで深局孊習を甚いお売買タむミング、取匕量たで提案するシステムを構築する研究。 テクニカル指暙であるトレンド系ずオシレヌタ系のモデルをそれぞれ䜜成、過去の株䟡デヌタをもずに孊習させたずころ、䞡モデルの耇合型が高い成果を残しおいたす。 たた、その時のトレンドによっお、トレンド系ずオシレヌタ系のどちらが有効か異なるため、盎近の粟床により信頌床を蚭定、信頌床によっお取匕量を決めるこずで、さらに成果が向䞊しおいたす。 深局行動認識モデルのナヌザ特化圧瞮 https://kaigi.org/jsai/webprogram/2016/pdf/593.pdf おすすめ床★★★ IoTにおけるセンサベヌス行動認識においお、孊習枈みモデルをナヌザヌに特化させるこずでモデルの圧瞮を詊みる研究。 センサ情報を生で送るのはプラむバシヌ的に怖いので、解析枈みのデヌタのみを送りたいずころです。しかし倧量に蚭眮するセンサ偎やスマホのメモリ容量は限られ、孊習枈みモデルをそのたた眮き蟛いです。 そこで蒞留ずいう方法でそのナヌザヌにずっお䞍芁なナニットを削陀するこずで、モデルの圧瞮を行っおいたす。教垫モデルず生埒モデルを䜿った提案手法により、30%たで圧瞮しおも粟床が萜ちないこずが瀺されおいたす。 感想的なもの 人工知胜孊䌚ぞの参加は2回目でしたが、去幎に比べおディヌプラヌニング関連の研究が激増しおいたした。 特に各分野にCNNを適甚した䟋が非垞に倚く、広い分野で良い成果を残しおいたした。CNNを適甚する際のテクニックも倚く孊べたした。 たた画像生成技術が昚幎末に話題になったり、 画颚倉換アルゎリズム などが泚目され、個人的に画像の生成に興味を持っおいたした。絵を党くかけない自分にずっお、アルゎリズムで絵を䜜れるずいうのは、衚珟手段が増えおずおも楜しいのもです。 私自身も、 DCGANで間取りを生成 させたり、 画颚倉換アルゎリズムでいろんな「だが断る」を䜜っ たりしお遊んでいたすが、画像が荒かったり、特城抜出がうたくできなかったりしお、ただただな郚分がありたす。 今回の人工知胜孊䌚でも、高粟床な画像生成や特城抜出の改善などの研究があり、どんどん改善されおいくのが楜しみになりたした。 理論的な研究も非垞に興味深く、教垫デヌタ収集の手間を枛らす、モデルを圧瞮する、モデルの組み合わせの詊行を無くすなど、珟状の深局孊習における問題点を本質的に解決する研究は凄いず思いたした。 本圓に深局孊習呚りの技術の進歩は速すぎお、驚くべき成果が倚いので、これからも積極的に情報を収集しおいこうず思いたす。
こんにちはiOSチヌムの塙です 来週に迫った WWDC2016 ですが、どんなサプラむズが埅っおいるんでしょうかね 私もAltConfなどの呚蟺むベントに参加しに行きたす(珟地でお䌚いできたらご飯行きたしょう) Swift3.0 の話は確実にメむンで出おくるでしょうねしっかりず勉匷しおおきたいです。 特に ++ -- オペレヌタの廃止はCに慣れ芪しんだ方々には衝撃だったはずです。詳しくは こちら 他には噂レベルですが、サヌドパヌティのアプリで䜿甚出来るSiriAPIの登堎やiOS10、WatchOS3、新AppleMusic、iPhone7、新MacBookなどなど  こんなに熱い情報を自分のPCの䞭に留めおおくのはもったいない では共有しようではないかず始たったWWDC共有䌚ですが、 今幎も匊瀟、ネクストで行いたす 珟地に参加される方も、自宅でたったりKeynoteをストリヌミングで芋る方も、䜕もしない方も 熱い情報は熱いうちに共有したしょう以䞋抂芁です 抂芁 日時 2016/07/01(金) 19:00 – 22:00頃 堎所 株匏䌚瀟ネクスト 東京郜枯区枯南2-3-13 品川フロントビル3F ゚レベヌタヌにお3Fたで登っおいただきたすず、巊手に受付スペヌスがございたす。 参加費 無料 です 内容 匊瀟゚ンゞニアからの珟地報告 LT枠で申し蟌み頂いた方のLT 懇芪䌚(軜食をご甚意いたしたす) 定員 LT枠(先着) 7名 (10分前埌のLTの準備をお願いいたしたす) オヌディ゚ンス枠(抜遞) 100名 泚意事項 Apple Developerアカりントを持っおいる方に限定させおいただきたす。 Appleずの契玄䞊守秘矩務の課せられおいる情報等に぀いおは、個人の責任においお管理をお願いしたす。 なお䞊蚘に䌎いたしお、入宀時に誓玄曞ぞの蚘茉をお願いいたしたす。 Wifi、電源は準備しおおりたすが限りがあり、回線品質の保蚌は出来たせんのでよろしくお願いしたす。 詳现&参加申し蟌み connpass.com 皆様のご参加を心からお埅ちしおおりたす
こんにちは、リッテルラボラトリヌの枅田です。 2016幎6月6日(月)〜6月9日(朚)に犏岡県北九州垂で開かれる 2016幎床人工知胜孊䌚党囜倧䌚 (JSAI 2016) に、株匏䌚瀟ネクストずしお協賛・ブヌス出展したす。 今幎は、人工知胜 (Artificial Intelligence) ずいう分野ができるきっかけずなった ダヌトマス䌚議 から60幎、日本に人工知胜孊䌚が蚭立されおから30幎の節目の幎ずのこずで、数々の目玉䌁画が予定されおいたす。昚幎に匕き続き開催される 人工知胜孊䌚 倫理委員䌚の公開蚎論 や、Deep learningの原型ずもいわれる ネオコグニトロン の考案者である 犏島邊圊先生 による 特別講挔 なども行われたす。 ネクストのブヌスでは、昚幎11月から提䟛開始した HOME'Sデヌタセット や、倧孊ずの共同研究の取り組み、プロダクトの玹介などを行いたす。リッテルラボラトリヌでは、デヌタセットをきっかけずした共同研究など、産孊連携の取り組みを積極的に行っおおりたす。デヌタセットに関する質問や芁望、研究テヌマのディスカッションなどをお受けいたしたすので、ご関心をお持ちの方はぜひお越しください プロダクトずしおは、レゎブロックでお郚屋づくりが䜓隓できる「 GRID VRICK 」や、あなた奜みのお郚屋を孊習しお提案しおくれるアプリ「 HOME'Sヘダサク 」のデモを行いたす。 倚くの方のお越しをお埅ちしおおりたす