×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Goで絵文字メーカーを作ってみた Gopher道場 #2 LT大会 @takamii228
Slide 2
Slide 2 text
● @takamii228 (takami228) ○ エンタープライズな会社の Agile専門組織に所属 ○ アジャイル開発における開発基盤整備やプロジェクト支援 ○ 認定スクラムマスター ● AWS, CI/CD, アーキ, アプリ開発等なんでもやる雑食系 ○ 開発基盤(GitLab, Jenkins, Mattermost, JIRA, Conflu等)をk8sで運用中 ○ 主にJava(Spring)、PHP 自己紹介
Slide 3
Slide 3 text
絵文字使ってますよね
Slide 4
Slide 4 text
絵文字はコミュニケーションを活性化する ● コミュニケーションの心理的ハードルが低い ● 絵文字リアクションで盛り上がる(?) ● 楽しい
Slide 5
Slide 5 text
Custom Emojiを追加する ● Slack、Mattermost等では自作の画像を絵文字として登録できる ○ デフォルトの絵文字だけじゃ物足りない! ● 以下の仕様を満たす画像ファイルを作成して追加すればOK ○ 128 ✕ 128px以下 ○ 64KB未満 ○ 拡張子はjpg、png、gif
Slide 6
Slide 6 text
イラレ・フォトショできないので 画像の作成はめんどくさい
Slide 7
Slide 7 text
emojigenコマンドを作ってみた
Slide 8
Slide 8 text
emojigenコマンドでできること 1. 既存画像を絵文字サイズにリサイズする 2. 入力のテキストから絵文字を作成する 3. 絵文字画像をgifでアニメーションさせる
Slide 9
Slide 9 text
1. 既存画像を絵文字サイズにリサイズする ● 課題1でやった画像変換を応用 ● 画像を読み込んで、サイズを変換して出力する ● nfnt/resize を利用 $ emojigen -type=resize -image=gopher.png
Slide 10
Slide 10 text
2. 入力のテキストから絵文字を作成する ● 正方形の中に二行に分割にして文字を描画 ○ ※4文字以外の描画箇所調整は未実装 ● -fontオプションでttfファイルを指定可能 ● freetype を利用 $ emojigen -type=text -string=”半端ない” -font=sample.ttf $ emojigen -type=text -string=”忖 度” -font=sample.ttf
Slide 11
Slide 11 text
3. 絵文字用画像をgifでアニメーションさせる ● 元画像の編集結果からgif画像を作成 ● BurntSushi/graphics-go/graphics を利用 ● 回転のみ実装 ○ 同じ原理で上下、左右に動くものもきっと可能 $ emojigen -type=animation -image=gopher.png -out=gopher.gif $ emojigen -type=animation -image=sontaku.png -out=sontaku.gif
Slide 12
Slide 12 text
ハマったところ ● 文字は4文字縛りなしで出せるようにしたかったけど挫折した ● gifを悠長に回転させていると画像サイズが64KBを越えてしまった ● 背景透過画像だと背景が黒抜きになってしまった(結局加工した)
Slide 13
Slide 13 text
Happy Emoji Life
Slide 14
Slide 14 text
Gopher道場の振り返り ● Keep ○ 体系的にGo言語を学べた ○ 毎週の課題をPRで提出する ● Problem ○ 業務と並行して課題を 1週間でやるのは大変だった ○ 最初に自己紹介LTがあってもいいかも ● Try ○ 課題を全部やりきる & 他の受講者のコードを読む ○ Gopher道場が終わっても継続的に Goを書き続ける
Slide 15
Slide 15 text
Happy Gopher Life
Slide 16
Slide 16 text
参考資料 ● OGP画像をテキストから自動生成するツールをGoで作った ○ https://qiita.com/Iwark/items/d3ce30a52ae8e15e2a66 ● Golang : Print UTF-8 fonts on image example ○ https://socketloop.com/tutorials/golang-print-utf-8-fonts-on-image-example ● Golangで画像からアニメGifを生成する ○ https://qiita.com/from_Unknown/items/30b5b7d7ae9d39ec3200 ● 簡単に回転画像が生成出来るコマンド「nekokak」をgolangで書いた。 ○ https://mattn.kaoriya.net/software/lang/go/20150901144726.htm