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
emojoy
Search
kazuki19992
March 25, 2021
Programming
0
81
emojoy
kazuki19992
March 25, 2021
Tweet
Share
More Decks by kazuki19992
See All by kazuki19992
PiyoConf2021 オープニング
kazuki19992
0
68
動くNASを作ってコンテスト優勝して大学から一足早いサンタさんが訪れた話
kazuki19992
0
39
水城市について
kazuki19992
0
34
LT会に出ないか?
kazuki19992
0
340
お前観察日記 (Chromeちゃんはみとるぞ)
kazuki19992
0
140
LaLiMa
kazuki19992
0
61
1on1面談イベント完全版3月.pdf
kazuki19992
0
49
つくったもの一覧
kazuki19992
0
35
#stdout2020オープニング資料
kazuki19992
1
1.5k
Other Decks in Programming
See All in Programming
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.2k
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
110
Cloudflare Workersで進めるリモートMCP活用
syumai
13
1.9k
PT AI без купюр
v0lka
0
180
漸進。
ssssota
0
380
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.6k
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
140
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
510
型安全なDrag and Dropの設計を考える
yudppp
5
650
Agent Rules as Domain Parser
yodakeisuke
1
260
バリデーションライブラリ徹底比較
nayuta999999
1
360
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
550
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Optimizing for Happiness
mojombo
378
70k
Embracing the Ebb and Flow
colly
85
4.7k
Agile that works and the tools we love
rasmusluckow
329
21k
Writing Fast Ruby
sferik
628
61k
A designer walks into a library…
pauljervisheath
205
24k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Transcript
emojoy 安心やきそば: { “member”: “カズ之助(Nihon-Univ.)”, “member”: “ちよこ(Nihon-Univ.)” }
皆さんへ いつもの日常に慣れていませんか? たまには日常を投げ出して、ちょっとだけハッピーになりませんか? emojoyは、そんな『ハッピー』をおてつだいするChrome拡張機能です。 すこしだけテンションを上げて、機能を有効化してみてください。 きっと、今までとは少しだけ違った世界が見えることでしょう。
カズ之助 Nihon-Univ. B3 櫛田 一樹 Tw: @Tech_Kazu - Twitter担当大臣 -
情報見つける担当大臣 - ゆるふわ実装担当大臣 - 高速化担当大臣 - 幼女担当大臣(JSを書いたので) ちよこ Nihon-Univ. B3 - アイデア担当大臣 - JSON読み込み担当大臣 - 絵文字表示担当大臣 - ベンチマーク担当大臣 メンバー
emojoyのごあんない #サマーハッカソン Team:安心やきそば
縛りプレイ 我々はひとつだけ縛りプレイをしていました。 その縛りとは 「決して役に立たないムダ開発をすること」 です。 せっかくなので真面目にムダ開発をするのも楽しいだろうなと…
できたもの Webページ中に表示されている単語の後ろに適切な絵文字をくっつけ る(迷惑な)Chrome拡張機能 開会式で草原大草原さんの名前を見て思いつきました(ちよこ) ↑ 「草」を草の絵文字とかwに変換するやつ作ったら面白くね、 というところから
使用技術 - JavaScript - jQuery (文字列の置換に使用) - TinySegmenter (形態素解析) -
emoji-ja (日本語と絵文字の対応付けJSON)
導入時の問題 ページの読み込みが極端に遅くなった →ひらがな1文字の場合は処理をスキップ →キャッシュ空間を作成すれば良くなるんじゃね? キャッシュ用の配列を作成 →LRU(最後に参照してからの時間が長いものから追い出される方式 ) を実装 →体感そんなに変わらんかったわw
実際の動き 動作の詳細については後述 - いくつかの文字を置き換えます - 例: ”草”→”w”, “大草原”→”wwwwwwwww”, “研究室”→”🗡🌳🐮つ” -
形態素解析を用いて単語ごとに絵文字がヒットすれば追加します - 例: ”日本”→”日本🎋🏯”, “プライバシー”→”プライバシー🔐” - ページのロードをめちゃくちゃ遅くします - ロード中にコーヒーをいれることもできるかも☕やったね!
実際の動き Googleトップページ リロード時間 未導入時:0.65sec 導入時:8.54sec 約1214%の低速化に成功。忙しいあなたに休息の機会を与えます。
実際の動き Wikipedia 通常時 導入時 数多くの絵文字を挿入することで見た目に楽しさをプラス
つかいかた 1. リリースページからダウンロード 2. ダウンロードした.crxファイルをChromeで読み込もう 3. 有効化後に任意のページで再読み込みをしてみよう! 4. ロードに時間がかかって絵文字が出れば成功だ! 5.
うれしいね。
今後の課題と完走した感想 ・絵文字挿入のさらなる高速化 ・絵文字の選択精度の向上 感想 ・たのしかった!!!またやりたい!! ・アウトプット大事! ・作り終わったのでアンインストールします
ご清聴ありがとうございました #サマーハッカソン Team: 安心やきそば リリースページ →