Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フリルの商品を色で検索できるようにした話
Search
shoby
March 22, 2016
Technology
5
4.1k
フリルの商品を色で検索できるようにした話
Fashion Tech meetup #2 の発表資料です。
http://fashion-tech.connpass.com/event/28335
shoby
March 22, 2016
Tweet
Share
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
400
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.4k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
13k
ReactiveCocoaで作る快適な登録フォーム
shoby
0
300
Search fashion items by colors
shoby
0
130
iOS 7をサポート対象外にして開発を健全化する
shoby
3
3.8k
Apple Watch Tips
shoby
0
3.8k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.3k
アプリにおける人力ぽちぽちテストの効率化
shoby
3
3.1k
Other Decks in Technology
See All in Technology
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
230
不動産売買取引におけるAIの可能性とプロダクトでのAI活用
zabio3
0
270
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
230
とあるOSSを継続可能にするための取り組みについて / OSS Refactoring Process
bun913
1
210
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
230
再考 アクターモデル/ reconsider actor model
ytake
0
360
Mocking in Rust Applications
taiki45
2
410
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
390
JEP 480: Structured Concurrency
aya_ebata
0
130
DevRelの始め方
moongift
PRO
1
390
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
260
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
110
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
Rails Girls Zürich Keynote
gr2m
93
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Designing with Data
zakiwarfel
98
5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
Teambox: Starting and Learning
jrom
131
8.7k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Transcript
ϑϦϧͷΛ ৭ͰݕࡧͰ͖ΔΑ͏ʹͨ͠ גࣜձࣾ'BCMJD Ҫࡔজଠ ⛄
ࣗݾհ
Ҫࡔজଠ w 'BCMJD JOD w ϢʔβʔϑΝʔετνʔϜ w J043VCZPO3BJMTը૾ॲཧ w ৭ݕࡧ"QQMF8BUDIରԠ4XJGUҠߦ
!TIPCZTIPCZ
֓ཁ
֓ཁ w ৭ݕࡧͱʁ w ͳ࣮ͥͨ͠ͷ͔ w ࣮ w ΧϥʔύϨοτͷ࡞ w
ը૾ॲཧʹΑΔ৭ݕग़ w ݁Ռ
৭ݕࡧͱʁ
৭ݕࡧͱʁ w ৭ͰΛߜΓࠐΊΔ w ྫɿϫϯϐʔεʷϗϫΠτ w ྫɿίʔτʷϒϥϯ w ৭ࣗಈͰݕग़ w
ग़ऀใೖྗͷඞཁͳ͠ w ը૾͔Βը૾ॲཧͰݕग़
ͳ࣮ͥͨ͠ͷ͔
ͳ࣮ͥͨ͠ͷ͔ w ৭Λج४ʹΛങ͏ͱ͍͏Ϣʔβʔ͕ଟ͍͘Δ w Ξϯέʔτ w ΠϯλϏϡʔ w ݕࡧΩʔϫʔυ w
ϑϦϧΛϑΝογϣϯʹಛԽ͍ͤͨ͞ w ঁੑ͚ϑϦϚΞϓϦˠϑΝογϣϯϑϦϚΞϓϦ w ϑΝογϣϯʹಛԽͨ͠ݕࡧػೳ
࣮ ΧϥʔύϨοτͷ࡞
3(#Λͦͷ··͏ͱ ৭
ΧϥʔύϨοτΛ࡞Δͱ ৭ ☺
ͳͥ৭ʁ
ͳͥ৭ʁ w ਓؒͷ৭ೝࣝʹؔ͢Δݚڀ<> w جຊͱͳΔ৭͋ΒΏΔݴޠʹଘࡏ͠ɺීวత w ϨουɺΠΤϩʔɺάϦʔϯɺϒϧʔɺΦϨϯδɺύʔ ϓϧɺϐϯΫɺϒϥϯɺάϨʔɺϒϥοΫɺϗϫΠ τ w
ϢʔβʔͷݕࡧΫΤϦ w ৭໊ΛؚΉݕࡧΫΤϦΛଟ͍ॱʹྻڍ w جຊͷ৭ʹ౷߹ʢྫɿΩϟϝϧˠϒϥϯʣ w ౷߹͢Δͱҧײͷ͋Δϕʔδϡͨ͠ <>#FSMJO#BOE,BZ1 l#BTJD$PMPS5FSNT5IFJS6OJWFSTBMJUZBOE&WPMVUJPOz
࣮ ը૾ॲཧʹΑΔ৭ݕग़
ը૾ॲཧʹΑΔ৭ݕग़ w ϗϫΠτόϥϯεͷௐ w എܠͷআ w ࠷ස৭ͷݕग़ w 3(#ͱΧϥʔύϨοτͷϚονϯά
ϗϫΠτόϥϯεͷௐ
ϗϫΠτόϥϯεͷௐ w ܬޫ౮ͰࡱӨ͞Εͨը૾ͷ৭Λิਖ਼ w ܬޫ౮ͷ͕ଟ͘ɺը૾͕͕͔Δ w ϑϦϧͷࣨࡱӨ͕ଟ͍ w 3FUJOFY<> w
ਓؒͷࢹ֮ಛੑΛϞσϧԽͨ͠ख๏ w Ճ͞Εͨը૾৭ຯ͕มԽ͠ͳ͍ <>&-BOEBOE+.D$BOO l-JHIUOFTTBOE3FUJOFYUIFPSZ z
require 'RMagick' image = ImageList.new('image.jpg') red_extrema = image.channel_extrema(Magick::RedChannel) green_extrema =
image.channel_extrema(Magick::GreenChannel) blue_extrema = image.channel_extrema(Magick::BlueChannel) red_max = red_extrema.last.to_f green_max = green_extrema.last.to_f blue_max = blue_extrema.last.to_f white_balanced_image = image white_balanced_image = white_balanced_image.convolve_channel(1, [green_max / red_max], Magick::RedChannel) white_balanced_image = white_balanced_image.convolve_channel(1, [green_max / blue_max], Magick::BlueChannel) 3.BHJDLʹΑΔ3FUJOFY
#FGPSF "GUFS άϦʔϯ ϗϫΠτ
എܠͷআ
എܠͷআ w എܠ͕ͷ৭ͱͯ͠ఆ͞ΕΔͷΛࢭ w എܠ෦ΛϚθϯλʹͨ͠ϚεΫը૾Λ࡞͢Δ w എܠϚεΫͷ࡞ॲཧ w Τοδݕग़ w
࢛۱͔ΒϚθϯλΛྲྀ͠ࠐΉ w Ϛθϯλ෦ΛഎܠϚεΫͱ͢Δ
ݩը૾ Τοδݕग़ Ϛθϯλͷྲྀ͠ࠐΈ എܠϚεΫ
࠷ස৭ͷݕग़
࠷ස৭ͷݕग़ w ը૾ͷதԝ෦͔Β࠷ස৭Λݕग़ w ϑϦϧͰը૾தԝʹ͕͍ࣸͬͯΔ͜ͱ͕ଟ͍ w தԝ෦എܠͷӨڹΛड͚ͮΒ͍ w ࠷ස৭ͷݕग़ॲཧ w
தԝΛΓൈ͘ w ৭ʹݮ৭ w എܠϚεΫΛ߹ w ώετάϥϜΛऔͬͯ࠷ස৭Λग़͢
ݩը૾ தԝΛΓൈ͘ ˍ৭ʹݮ৭ എܠϚεΫΛ߹ ώετάϥϜ ͔Β࠷ස৭ "#
3(#ͱ ΧϥʔύϨοτͷϚονϯά
3(#ͱΧϥʔύϨοτͷϚονϯά w ݕग़ͨ͠ΧϥʔίʔυΛ৭ʹׂΓͯΔ w ʢ ʣˠ w
3(#ͱ৭໊ͷରԠ͚ௐࠪ<>Λར༻ w 3(#ͷ ৭ͷ৭໊͕͔Δ w )4-ʹมޙɺ֤৭໊ͷ)4-ͷൣғΛར༻ͨ͠ w Ϛονϯάॲཧ w 3(#Λ)4-ʹม w )4-͔Β࠷͍ۙΧϥʔύϨοτΛબͿ IUUQCMPHYLDEDPNDPMPSTVSWFZSFTVMUT
ʮ͏·͍ͬͨͧ͘ʂʯ
ࣾͷϢʔβʔʮ͓͔͍͠ʯ
Ұൠతͳ৭ϑΝογϣϯͷ৭
৭ͷೝࣝ ϑΝογϣϯࣝͷ༗ແͰ มԽ͢Δ
Կ৭ʹݟ͑Δʁ άϦʔϯʁ %$#
ςΟϑΝχʔzϒϧʔz
ϑΝογϣϯʹৄ͍͠ਓʹ Կݟͤͯௐ
݁Ռ
৭ͷݕग़ਫ਼
ݕग़ਫ਼ w ϝδϟʔͳΧςΰϦͰΛࢹνΣοΫ w ฏۉͰͱΊ w ग़͕ଟ͍৭·ͣ·ͣ w ϒϥοΫɿ w
Ϩουɿ w ϐϯΫɿ w ϗϫΠτɿ w ग़͕গͳ͍৭ϊΠζͷׂ߹͕ଟ͘ͳΔ
తͷʹ ͨͲΓண͖͘͢ͳ͔ͬͨ
ݕࡧͷ w ৭ͰݕࡧΛͨ͠ϢʔβʔΩʔϫʔυ͚ͩͰ ݕࡧͨ͠Ϣʔβʔʹൺɺݕࡧ݁ՌͰΛ ։ׂ͘߹͕΄Ͳߴ͍ w ˠ w తͷʹͨͲΓண͖͘͢ͳ͍ͬͯΔ
·ͱΊ
·ͱΊ w ৭ͰΛߜΓࠐΊΔ৭ݕࡧΛ࣮ͨ͠ w ϢʔβʔͷߪೖߦಈΛௐࠪ͠ɺ৽͍͠ϑϦϧ ͷϑΝογϣϯಛԽػೳͱ࣮ͯ͠ w ΧϥʔύϨοτ৭ೝͷݚڀΛϕʔεʹϢʔ βʔͷݕࡧΫΤϦΛ౷߹ͯ͠৭ʹͨ͠ w
৭ิਖ਼ɺഎܠը૾ͷআΛߦ͍ɺը૾ͷதԝ ෦͔Β3(#৭Λݕग़͠ɺ৭ʹϚοϐϯά w ৭ݕࡧʹΑΓɺΩʔϫʔυΑΓతͷ ʹͨͲΓண͖͘͢ͳͬͨ
͓ΘΓ ⛄