Slide 1

Slide 1 text

:"1$'VLVPLB લ໷ࡇ-5 @harukasan / MICHII Shunsuke 2017-06-30

Slide 2

Slide 2 text

YAPC::Fukuoka։࠵

Slide 3

Slide 3 text

)BSVLBTBOಓҪढ़հ
 ϐΫγϒ ג ϦʔυΤϯδχΞ *NBHF'MVYࣄۀ੹೚ऀ
 ෱ԬΦϑΟεͰ͸ͳ͘౦ژຊࣾۈ຿ ೥෱Ԭݝٱཹถࢢੜ·Ε
 ٱཹถߴઐˠ۝޻େ ൧௩ ˠஜ೾େӃˠϐΫγϒೖࣾ
 ීஈ͸3VCZͱ(Pͱ͢͜͠4DBMBΛॻ͘ΠϯϑϥܥΤϯδχΞ
 ීஈ͸ࣇͷ෕

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Mastodon hosted by

Slide 6

Slide 6 text

ੈք࠷େڃͷϚετυϯΠϯελϯε ʘ 174,324ਓ͕ɺ4,491,047ճύ΢ͬͯ·͢ʗ

Slide 7

Slide 7 text

mstdn.jp ͨ͘͞ΜͷΠϯελϯε͕ϦϞʔτϑΥϩʔʹΑͬͯͭͳ͕Δ෼ࢄ4/4 .BTUPEPO mastodon.social mastodon.cloud friends.nico qiitadon.com DPOOFDUJPOT music.pawoo.net

Slide 8

Slide 8 text

tootsuite/mastodon pixiv/mastodon ಠࣗػೳΛೖΕͭͭ
 VQTUSFBNʹ΋ίϯτϦϏϡʔτ ओͳಠࣗػೳ QJYJW࿈ܞ ϝσΟΞλΠϜϥΠϯ ͓͢͢ΊϢʔβʔ J04"OESPJEΞϓϦ 1VTI௨஌

Slide 9

Slide 9 text

.BTUPEPO͕Α͘ͳΔ͜ͱͰ
 .BTUPEPOίϛϡχςΟ͕ൃల͠
 1BXPP΋ൃల͍ͯ͘͠

Slide 10

Slide 10 text

.BTUPEPO͕Α͘ͳΔ͜ͱͰ
 .BTUPEPOίϛϡχςΟ͕ൃల͠
 1BXPP΋ൃల͍ͯ͘͠ :"1$

Slide 11

Slide 11 text

:FU"OPUIFS1BXPP$PNNJUMPHT Pawoo͔ΒMastodon΁ͷߩݙʢݟ͚ͭͨ΍͚ͭͩʣ

Slide 12

Slide 12 text

2017-04-15 20:16 alpaca-tc ActiveRecord::Relation does not respond to `#id` (#1834) - ෆ۩߹मਖ਼

Slide 13

Slide 13 text

2017-04-15 20:17 Keiji, Yoshimi fixed privacy mistake of japanese translation of privacy.change (#1832) - ຋༁मਖ਼

Slide 14

Slide 14 text

2017-04-16 04:17 alpaca-tc ActiveRecord::NotFound is not defined (#1864) - ෆ۩߹मਖ਼

Slide 15

Slide 15 text

2017-04-16 21:05 Yuki Nakagawa Enlarge font size to avoid autozooming of iPhone. (#1911) - iPhoneͰΦʔτζʔϜ͕ޮ͔ͳ͍Α͏ʹϑΥϯταΠζΛେ͖͘͢Δ

Slide 16

Slide 16 text

2017-04-16 21:55 alpaca-tc Fixed NoMethodError in UnfollowService (#1918) - ෆ۩߹मਖ਼

Slide 17

Slide 17 text

2017-04-16 23:28 alpaca-tc Add presence validation to Import (#1928) - όϦσʔγϣϯ࿙Ε

Slide 18

Slide 18 text

2017-04-16 23:33 abcang fix regex filter (#1845) - ਖ਼نදݱϑΟϧλʔ͕HTMLλάʹ΋Ϛονͯ͠͠·ͬͯͨ໰୊ͷमਖ਼

Slide 19

Slide 19 text

2017-04-17 01:04 alpaca-tc Check @recipient.user at the first (#1939) - ෆ۩߹मਖ਼

Slide 20

Slide 20 text

2017-04-17 11:23 Keiji, Yoshimi reduce unneed query when post without attachements. (#1907) - ͍Βͳ͍ΫΤϦ͕ඈΜͰͨͷΛվળ

Slide 21

Slide 21 text

2017-04-17 11:32 geta6 Improve streaming server with cluster (#1970) - node.jsͷετϦʔϛϯάαʔόΛϚϧνϓϩηεͷΫϥελʹมߋ - ͦΕ·ͰγϯάϧϓϩηεͩͬͨͷͰετϦʔϛϯά͕
 ΊͬͪΌ͸΍͘ͳͬͨ https://speakerdeck.com/geta6/mastodonfalsenodefalsehanasi

Slide 22

Slide 22 text

2017-04-17 17:29 saturday06 Assign user locale on signup (#1982) - ϝʔϧ͕ӳޠͰૹΒΕͯ͠·͍ͬͯͨͷΛ
 Accept-LanguageΛΈΔΑ͏ʹमਖ਼

Slide 23

Slide 23 text

2017-04-17 17:37 Yuki Nakagawa Optimize user setting page for mobile browser (#1924) - ϞόΠϧσόΠεͰͷݟ͑ํ͕͓͔͔ͬͨ͠ͱ͜ΖΛमਖ਼

Slide 24

Slide 24 text

2017-04-17 22:54 alpaca-tc Required foreign keys (#2003) - ෆ۩߹मਖ਼

Slide 25

Slide 25 text

2017-04-15 23:59 Keiji Yoshimi cache blockings for reducing queries. - ϒϩοΫҰཡΛΩϟογϡ͢ΔΑ͏ʹͨ͠

Slide 26

Slide 26 text

2017-04-18 20:10 geta6 Add hasMore field to account timeline (#2066) - Ұ൪Լ·ͰεΫϩʔϧ͢Δͱແݶʹinfinite scroll͠Α͏ͱ
 XHR͠·͘Δ໰୊Λमਖ਼

Slide 27

Slide 27 text

2017-04-18 23:03 Keiji, Yoshimi Translate onboarding dialog to japanese (#2062) - ຋༁

Slide 28

Slide 28 text

2017-04-18 23:04 ik-fib Add "Mastodon" to user agent (#2073) - UAͰ൑ఆ͍ͯ͠ΔΠϥετίϛϡχέʔγϣϯαʔϏεͷͨΊʹ
 MastodonͷUAΛݟΔΑ͏ʹ͢Δ

Slide 29

Slide 29 text

2017-04-19 21:52 abcang Fix html escape characters in the URL (#2138) - ෆ۩߹मਖ਼

Slide 30

Slide 30 text

2017-04-19 21:58 alpaca-tc Replace User.count -> User.confirmed.count (#2127) - ϝʔϧೝূ͕͢ΜͰ͍ͳ͍Ϣʔβ΋Ϣʔβ਺ʹΧ΢ϯτ͍ͯͨ͠ͷΛमਖ਼

Slide 31

Slide 31 text

2017-04-19 22:39 geta6 Automatically change the size of textarea (#2128) - ೖྗϑΟʔϧυͷαΠζΛࣗಈతʹ৳͹ͨ͠ΓॖΊͨΓ͢Δ

Slide 32

Slide 32 text

2017-04-19 23:40 matsurai25 fix search text 'zero' (#2150) - ຋༁

Slide 33

Slide 33 text

2017-04-19 23:41 matsurai25 fix Japanese search result translation (#2149) - ຋༁

Slide 34

Slide 34 text

2017-04-20 02:20 fsubal fix broken style when follower has long description (#2159) - ελΠϧ่Εͷमਖ਼

Slide 35

Slide 35 text

2017-04-20 05:19 alpaca-tc Extract error messages to locale file (#2162) - όϦσʔγϣϯΤϥʔ͕຋༁͞Εͳ͍ͷΛͳ͓ͨ͠

Slide 36

Slide 36 text

2017-04-21 00:13 Keiji, Yoshimi it may be mentions_status_id_index is duplicated of index_mentions_on_status_id index. (#2224) - ΠϯσοΫε͕ॏෳ͍ͯͨ͠

Slide 37

Slide 37 text

2017-04-22 00:26 ik-fib Add Mastodon version to user agent (#2253) - UAʹϚετυϯͷόʔδϣϯ΋͍ΕΔΑ͏ʹ͢Δ

Slide 38

Slide 38 text

2017-04-23 00:28 Keiji, Yoshimi update emojione-picker for fixed warnings. (#2324) - warningΛফ͢

Slide 39

Slide 39 text

2017-04-24 22:10 alpaca-tc Add index to statuses_tags#status_id (#2394) - ΠϯσοΫε௥Ճ

Slide 40

Slide 40 text

2017-04-25 22:06 alpaca-tc Localize with i18n for Devise::FailureApp (#2309) - ຋༁͕͏·͋ͨͬͯ͘ͳ͍ͷΛमਖ਼

Slide 41

Slide 41 text

2017-04-26 10:47 Keiji, Yoshimi attach_media should be in transaction of creation status (#2426) - τϥϯβΫγϣϯʹͳ͍ͬͯͳͯ͘λΠϛϯάʹΑͬͯෆ੔߹Λ
 ىͨ͜͠Ωϟογϡ͕Ͱ͖͍ͯͨͷΛमਖ਼

Slide 42

Slide 42 text

2017-04-29 17:50 alpaca-tc Remove uneeded `ORDER BY` query (#2615) 
 - T/O

Slide 43

Slide 43 text

2017-04-29 21:29 alpaca-tc Expand uploaded thumbnail (#2611) - ελΠϧमਖ਼

Slide 44

Slide 44 text

2017-05-04 06:36 alpaca-tc localize 'throttled' (#2755) - ຋༁

Slide 45

Slide 45 text

2017-05-04 11:39 abcang changed to run foreman with vagrant (#2742) - Vagrantfileͷमਖ਼ - ͪͳΈʹMastodon͸DockerͰ΋VagrantͰ΋։ൃͰ͖Δ

Slide 46

Slide 46 text

2017-05-04 22:53 abcang fix DB_URL (#2778) - DATABASE_URLΛnode.jsͷετϦʔϛϯάαʔόͰ΋࢖͏Α͏ʹ͢Δ

Slide 47

Slide 47 text

2017-05-05 00:49 abcang Enable disableHostCheck option of webpack-dev-server (#2790) - webpack-dev-server͕͚͜ΔͷΛमਖ਼

Slide 48

Slide 48 text

2017-05-05 06:44 alpaca-tc Delete records in smaller transaction (#2802) - ڊେͳτϥϯβΫγϣϯΛ෼ׂ

Slide 49

Slide 49 text

2017-05-06 04:31 alpaca-tc Fixes propTypes warning introduced by #2774 (#2824) - ෆ۩߹मਖ਼

Slide 50

Slide 50 text

2017-05-06 04:32 alpaca-tc Fixes unknown mime type (#2822) - ෆ۩߹मਖ਼

Slide 51

Slide 51 text

2017-05-06 11:03 alpaca-tc Optimize follower_accounts and following_accounts (#2820) - ϑΥϩʔϢʔβ෼JOIN͍ͯͨ͠ͷΛIN۟ʹॻ͖׵͑ͯߴ଎Խ

Slide 52

Slide 52 text

2017-05-06 19:55 alpaca-tc Handling failed http response (#2823) - ෆ۩߹मਖ਼

Slide 53

Slide 53 text

2017-05-06 23:31 alpaca-tc Optimize MuteService and AfterBlockService (#2836) - Α͘Θ͔Βͳ͔͚ͬͨͲ࠷దԽͨ͠Β͍͠

Slide 54

Slide 54 text

2017-05-07 00:03 alpaca-tc Refactor domain_blocks_controller (#2843) - ϦϑΝΫλϦϯά

Slide 55

Slide 55 text

2017-05-07 04:55 alpaca-tc Fixes slow query in notifications api (#2851) - ࠷దԽ

Slide 56

Slide 56 text

2017-05-07 06:06 alpaca-tc Hotfix convert string from symbol (#2856) - ෆ۩߹मਖ਼

Slide 57

Slide 57 text

2017-05-07 23:40 alpaca-tc Refactor account.rb (#2881) - ϦϑΝΫλϦϯά

Slide 58

Slide 58 text

2017-05-08 02:00 alpaca-tc Add effective index to subscriptions (#2885) - ΠϯσοΫεͷॱ൪͕ҧͬͯͯ͏·͘࢖͑ͯͳ͔ͬͨ
 ΠϯσοΫεͷॱ൪Λม͑ͨ - [callback_url, account_id] -> [account_id, callback_url]

Slide 59

Slide 59 text

2017-05-08 10:52 alpaca-tc Render sidekiq scheduler (#2898) - SidekiqεέδϡʔϥʔͷWeb UIΛ֬ೝͰ͖ΔΑ͏ʹ͢Δ

Slide 60

Slide 60 text

2017-05-09 12:15 alpaca-tc Remove rails_12factor (#2901) - 12factor gemΛ࡟আ͢Δ - ͜ΕͰ੩తϑΝΠϧͷ഑৴ΛແޮʹͰ͖ΔΑ͏ʹͳͬͨ
 - rails_12factor͸12factor appsͰ͋Δ͜ͱΛڧ੍͠Α͏ͱ͢Δ΍ͭ

Slide 61

Slide 61 text

2017-05-10 01:17 abcang Fixed bug that timeline can not be displayed by InvalidURIError (#2947) - ෆ۩߹मਖ਼

Slide 62

Slide 62 text

2017-05-11 03:33 alpaca-tc Add `account_id DESC` to optimize PrecomputeFeedService (#2967) - ORDER BYʹΧϥϜΛ௥Ճͯ͠ɺ
 ͦͷΧϥϜͷΠϯσοΫεΛ͔ͭ͏Α͏ʹ͢Δ࠷దԽ - MySQLͩͬͨΒFORCE INDEX͔ͭ͑Δͷʹ……

Slide 63

Slide 63 text

2017-05-13 22:56 alpaca-tc Fixes NoMethodError: undefined method 'first' for nil:NilClass (#3036) - ෆ۩߹मਖ਼

Slide 64

Slide 64 text

2017-05-13 22:56 Shunsuke Michii Fix og:url. (#3031) - ෆ۩߹मਖ਼

Slide 65

Slide 65 text

2017-05-16 09:54 alpaca-tc Optimize Status#permitted_for 24x (#3069) - ΫΤϦ࠷దԽ - ͳΜ͔24ഒ͸΍͘ͳͬͨΒ͍͠

Slide 66

Slide 66 text

2017-05-16 10:35 alpaca-tc Order by symbol value (#3077) - order('id asc') -> order(id: :desc)

Slide 67

Slide 67 text

2017-05-16 19:06 alpaca-tc Improve Account#triadic_closures (#3079) - ΫΤϦ࠷దԽ

Slide 68

Slide 68 text

2017-05-16 19:12 Shunsuke Michii Make faster ProcessFeedService (#3080) - urlΧϥϜʹ͸ΠϯσοΫε͕͋ͬͨͷʹ
 uriΧϥϜʹΠϯσοΫε͕ͳ͔ͬͨ

Slide 69

Slide 69 text

2017-05-16 19:12 geta6 Enable to handle app immediately after closing modal (#3082) - ϞʔμϧΛΫϩʔζͨ͠ͱ͖ϑΣʔυΞ΢τ͢ΔͷΛ଴ͨͣʹ
 εΫϩʔϧͰ͖ΔΑ͏ʹ͢Δ

Slide 70

Slide 70 text

2017-05-17 10:00 alpaca-tc Add filter to AccountFilter (#2968) - ؅ཧը໘Ͱ͍ΖΜͳ΍ͭͰݕࡧͰ͖ΔΑ͏ʹ͢Δ

Slide 71

Slide 71 text

2017-05-17 22:36 alpaca-tc Render translated view (#3093) - ෆ۩߹मਖ਼

Slide 72

Slide 72 text

2017-05-17 22:38 alpaca-tc Refactor Status#ancestors/descendants (#3092) - ϦϑΝΫλϦϯά

Slide 73

Slide 73 text

2017-05-19 18:41 alpaca-tc Define instance method outside #included (#3128) - ϦϑΝΫλϦϯά

Slide 74

Slide 74 text

2017-05-20 03:19 abcang Unify the method of extracting tags (#3138) - "#ςετɾςετ"͕"#ςετ"ͰϚονͯ͠͠·͍ͬͯͨͷΛमਖ਼

Slide 75

Slide 75 text

2017-05-24 02:45 alpaca-tc Toggle sensitive from admin page (#3261) - admin͕NSFWΛηοτͰ͖ΔΑ͏ʹमਖ਼

Slide 76

Slide 76 text

2017-05-24 22:36 abcang Add test when hashtag and URL are concatenated (#3279) - ςετ௥Ճ

Slide 77

Slide 77 text

2017-05-25 21:14 alpaca-tc Refactor Setting (#3302) - ϦϑΝΫλϦϯά

Slide 78

Slide 78 text

2017-05-31 22:10 alpaca-tc Account.find_remote should be raise ActiveRecord::RecordNotFound (#3476) - ෆ۩߹मਖ਼

Slide 79

Slide 79 text

2017-06-06 00:02 Shunsuke Michii Add th.json. (#3588) - λΠޠͰϦΫΤετ͢Δͱམͪͯͨ

Slide 80

Slide 80 text

2017-06-17 05:38 abcang Fix ogp url (#3802) - ෆ۩߹मਖ਼

Slide 81

Slide 81 text

2017-06-19 17:28 alpaca-tc Fixes streaming callbacks of HashtagTimeline (#3849) - ෆ۩߹मਖ਼

Slide 82

Slide 82 text

2017-06-19 18:29 alpaca-tc Unobserve status on unmount (#3851)
 
 - ෆ۩߹मਖ਼

Slide 83

Slide 83 text

2017-06-29 20:04 abcang rescue HTTP::ConnectionError (#3992)
 
 - ෆ۩߹मਖ਼

Slide 84

Slide 84 text

͓ΘΓ

Slide 85

Slide 85 text

.BTUPEPOʮ1BXPPʯͰ
 Ұॹʹֵ໋Λى͜͢ΤϯδχΞืू https://www.wantedly.com/projects/96771