-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path11_text.txt
175 lines (175 loc) · 80.1 KB
/
11_text.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
@PharaohKJ ã倧å第11åç©ãã©ããªãã©ãžãªå§ããŸããããããé¡ãããŸãçŸåšã¯2019幎9æ4æ¥22æ32åã§ãäœã22æéããæã§ã30åã¯ããããã»ããã¢ãããã²ã¹ãã¯æž¡èŸºãããã®äžåŠãã¬ãã®æž¡èŸºãããšæ°ããçå·ããã§ããããããé¡ããããã
@wtnabe ãã¯ãä»äºããŸãã¯ãã
@yu_kgr ãããŸãããã§ããã¯ãã
@PharaohKJ ããã®ããããã£ã¹ãã¯ã¢ã³ãç©èªã§æ¬ãèªãã§ãã®å
容ãã²ã¹ãã§èª¬æãããšãã Podcast ã§ãç°¡åãªèªå·±çŽ¹ä»åãšæž¡èŸºããã®èªå·±çŽ¹ä»ã¯ç¬¬1åãåç
§ããŠãã ããæ¶ãã玹ä»ä»æ¥ã®ã²ã¹ãã¯çå·ããã§ããããããŸãã§çå·ããã¯åç»å Žãªãã§è»œãèªå·±çŽ¹ä»ããé¡ãããŸãã
@wtnabe ããããããé¡ãããŸãã
@yu_kgr ããé¡ãããŸãã¯ãã¯ãããã§ããèªå㯠DMM GAMES ãšãããšããã§ããã³ããšã³ãžãã¢ããã£ãŠãããã®ã§ãæã§æã€ãšèšã£ãŠãèªåã²ãŒã äœã£ãŠããããããªããŠãŸã²ãŒã ãä¹ããŠãããã©ãããã©ãŒã ã®éçºãè¡ã£ãŠããæãã§ãã瀌ãŸã§ã¯éçºãã€ã¬ãã¡ãã£ãšããŒã ã®çµæã ã£ãããããããŒãžã¡ã³ãã©ã£ã¡ã蟺ã®ãããžã¡ã³ãããã®åœ¹å²ãå€ãã£ããã§ããšã³ãžãã¢ãªã³ã°ã«é¢ããŠããŸãèªä¿¡æãªãæããªãã§ä»æ¥ã¯ã¡ãã£ãšå匷ãã«æ¥ãã
@PharaohKJ ããããããé¡ãããŸãããåããã¯æè¡ç³»ã®æ¬ãæ¬ãèªãã§ãŠæžããŠããã©äžå¿æè¡ç³»ã®æ¬ãèªãã§ã£ãŠãã°èŠãããã ãã©äŸãã°ä»æºã®äžã«ç©ãã§ããæ¬ã§ãããšããŒãšããã¶ã€ã³ã®éªšæ ŒãšãåãªããäœãŠèšãã®æè¡ã¯æè¡ãã¡ãã£ãšãã€ã³ããšããã£ã¡ã«å
¥ã£ãŠãããªãšãããããæ¬ããã£ãæ¹ãããã®ããªãšæã£ããã¯ããªãã£ããããªãã£ãããããã§ããããæã¯çå·ãããã²ãä»ãåããã ãããããããé¡ãããŸããŸãå¥ã«æž¡èŸºããããå«ãªããšãããªãã§ããã¯ãååã®åçäŒãšãããäžãæéãã¡ãã£ããã§ããã
@wtnabe ãã§ãåã§ãã€ã§ãã
@yu_kgr ãæãã§ããã©ãããããããé¡ãããŸãã¯ãèªåãªããã§ãããããã°ãšèšãã
@PharaohKJ ãã«ããŒã®æ³åããããããšæã£ãŠãŠãã®ããã«æž¡èŸºãããšåã§ãã£ãŠããã«çå·ããåã³æå®æ ¡çŽ 人çãªç«å Žã§ä»äºã ãšèšããªãèªåçãªç«å Žã§ã¡ãã£ãšçªã£èŸŒãã§ããã ããããªãšæã£ãŠãã®3人ã§ãããããªãšæã£ãŠããŸãããŠè¡ã£ãŠãŸãã¯ããã®ããã®ééãã¡ãã£ããã§3人ãã£ããéãŸãã£ãŠã®ããã£ã¡ãé£ãããšã¯ããããããŸãããã£ããè²ã
ãšã4æãããã«ãªããšè²ã
ã€ãã³ãããã£ãŠãã¿ããããã倧éçãšæããã©ãŸããŸãããããæãããªãšæããŸããããããã£ãŠãéã«ç¬¬10åãåé²ãããã§ããã©ã¡ãã£ãšããããããããšã«å€§ç©ã²ã¹ãã ã£ããã§ãã£ã¡ãã¢ã¯ã»ã¹æ°ã䌞ã³ãŠããåãšæž¡èŸºããã®ã¡ã³ãã䞞朰ãå€ã®è¶ã
ã¢ã¯ã»ã¹ã§ã
@yu_kgr ãããããã
@PharaohKJ ãã§ããã°ããã§ã¯æ¬åœã§ãããªãã§ãã£ãšãã©ã®å€¢éã§è¡ããããªãšæã£ãŠãŸãããã£ãšãååãš16幎ãã£ã±è²ã
ãã¹ã£ãŠã¹ã«ã€ãåé² Skype ã®é²é³ããã®ãŸãŸæåèµ·ããããã£ã埡æå°ã ãæãåºãããã€ã«ãªã£ããã§ããã©ãŸãã¢ã¬ã§ãååããªã£ãŠããæ°æã¡ãªãããã®é³è³ªã§ãããŸãæªããªãããªãšæããŸããã ã¡ãã£ãšãä»åã®ããããã£ã¹ãã§èšãçå·ããçç«å Žã®äººãããªãã£ããã§åãšã²ã¹ãã®åœ¢ã§ãã®ãŸãŸãœã¬ãœã¬ãœã¬ãœã¬ã¿ãããªæãã§é²ãããã£ãŠçŽ°ããçšèªãšããã1å説æããã»ãããããªã£ãŠãšãããã ãã¶ãã£é£ãã ããããã¯ã¡ãã£ãšãã£ãããªãããšãããªãšãããŠé³ Google Speech to text API ã䜿ã£ãŠæåèµ·ããããŠã¿ããã§ããããªãã§ãã£ãŠèšããšãã®ã
@wtnabe ãé¡ã
@yu_kgr ããããããã§ããã
@PharaohKJ ãåé²ã®ç¬¬3åã®æã«æšå枡蟺ãã㧠activerecord ã£ãŠäœæãã¿ãŒã³ã£ãŠèšã£ãŠãæ¬åœ ACTIVE RECORD ãã¿ãŒã³ãšãªããã ãã£ãŠæ¹ããããã ããšãã話ãããæã«ãããããŠããªã£ãŠããèŠãã¯ãããã ãã©ã©ããåãããªããªã£ã¡ãã£ãŠã©ããã£ãŠæ€çŽ¢ãããããªãšæã£ãæã«å®¶æåèµ·ãããªãšæã£ãŠãã ã㧠Google ãã Google ããã® API ã䜿ã£ãŠãã£ãŠã¿ãŸããã«ããŒã®ãžã ãã¡ãããš Google ããå
¬åŒã®ãã€ã®ããŒã¿çãšã¯ãããã£ãŠãã ãããã15ç§ãããã§èª²éäœç³»ã§ãã¹ãã¯1æé100åãããã§ããããŸè²ã
è©ŠããŠãªãã ãããã ãããŠè«æ±æžãå
ææ8æã®åã£ãŠãããã§ããã©ãŸã ããã800åãããããã§é¢çœãããšã«ã
@wtnabe ãããããªããã
@PharaohKJ ãæ±æ¿ã«ååããã¿ããããã¯ç§å¯ãããªã㊠Google ããã«ã API ã䜿ã£ãçµæãªããçµ±èšæ
å ±ãšã£ãŠããããã£ãŠãããšã ãã¶å²åŒã«ãªãã£ãŠããä»çµã¿ããã£ãŠããã§ã ãã¶å®ãã§ããŠãã¿ããã§ããããã«ããŒã¿çããã£ãŠããŒã¿ç API 䜿ããšã©ã£ã¡ãåã£ãŠããããããã£ãŠããããšããããŠã€ãŸãäžã€ã®é³å£°ããŒã¿ããå è€ãåã£ãŠããšã枡蟺ãããåã£ãŠãã®ã A ãã B ããã©ã£ã¡ã®çºèšã ã£ãŠããã®ãé©ããåºãŠããã£ãŠãããã®ããã£ãŠããžãããšæã£ãŠãã£ããã ãã©å
šç¶ã€ããŠãªããäºãã€ã±ãã ãããããããªããã©ããã©ã£ã¡ãåãšãã§ã©ã£ã¡ã鳎ãåå ã§å
šç¶ä¹
ç±³ã€ããªãé³ã¯ã€ãã€ãã ãã ãããããå€åå å·¥æžã¿ããŒã¿ã£ãŠã«ãªã£ãã®ã§æ³å®ãããŠãªããããªãšã¯æããŸããã
@yu_kgr ãã©ã£ã¡ãåã£ãŠãåœã
@PharaohKJ ãããŒãªãã»ã©ãããããããã£ãšãå倧å Logic Pro X ã§é 匵ã£ãŠãã声ã®éã¯ã»ãŒåãã«ããããã«å å·¥ããŠããè¡ã次ã®ç¬éãšã R 4äŒè©±ãéããå
容ãšãé£ã£ãŠè©°ãããããŠããã§ã ããè¿ãããèŠããšããã€ããã£ãšåãããŒã¹ã§åã£ãŠããåãããããããã¯ãªã£ãŠãŠå€ååºå¥ã§ããªããã ããªããšã¯æããŸãããã ä»åã¯ã3人å¥ã
ã§é³å£°ã§äœã£ãŠããã§ãŸãå€æ®µã¯3åããããã§ããã©ããããå¥ã
ã§ãã® Text to Speech to text ããã°äžå¿äœæäœåã«åã£ããšãäœã
@wtnabe ãäœã ã£ãäŒè°ã®é³å£°ãããã«ããããšåé¢ã§ããã¿ãããªãªããã¡ãã£ãšèããããšããã£ãŠå€åãã®å Žãã®è·é¢æãšããã€ã¯ããã®è·é¢è·é¢ãšãããããã®ãå€å䜿ããã ãšæããŸããã
@yu_kgr ããããã
@PharaohKJ ãã¹ããªãŒã ãå§ãŸã£ãŠããäœç§åŸã«ãããããã¹ã£ããåãããã§é åºãããã¡ãããšã§ããã°å€åæ£ãããŠåºç€ãã§ããããªãšæããŸããã ãããããã»ãšãã©åã£ãŠãªãæã®ãã€ã15ç§ãããããããã§æ¬åœã«å€æ®µ3åã£ãŠã¡ãã£ãšãã£ãããªããªãšæããŸãããšããããã§ååã®åçããããã ããæ¬ç·šå
¥ããŸãããšããã¹ãåãããã®ã ããã°ãªããããŠé 匵ã£ãŠæ€çŽ¢ããçµæ fxloop ã®ç¬¬3åã®26å44ç§ããããã以äžã®ãããªè°è«ããããŸãã3åç®ãªè°è«ã£ãŠããã®ã¯ activerecord ã«ã€ããŠè©±ããŠãæã«èžåŒµããŒããŒãšãããšä¿åããæã«ããã¯ããŠäžèº«ãéœåã®ããã
@yu_kgr ããªãã»ã©ã
@PharaohKJ ãã«å€ããŠä¿åããŸããããšããããã話ããããã§ããããŒã¿ããŒã¹ã«æžã蟌ããšãã«æ¯ããŒã¿ããŒã¹ã«ã¬ã³ãŒããè²·ã£ãããé£ãã㪠ruby on rails ã®ã¢ãã«ãšãªããšãããªããããŒã¿ãä¿åãããšãã«ããã«ããã¯ããŠããšãã°ãŠãŒã¶ãŒããŒã¿ã®é»è©±çªå·ãä¿åããããšããããã€ãã³ãæãåŠçãšãåè§å
šè§çµ±äžåãããšãããããããšã¿ããªãã£ã¡ãããŸãããã£ãŠè©±ãããæã«ãŸ activerecord èªäœããã®ããããªäœ¿ãåããŠãŠã¢ã³ããã¿ãŒã³ãšèšã£ãŠãæ¬ããããŸããã¿ãããªè©±é¡ã«ãªã£ãŠãã³ããã¿ãŒã³ã£ãŠå£²ã£ãŠãæ¬ãããã°ãããããã¿ãŒã³ããããã£ãŠããæ¬ã«ãåãäžããŠãããšäŒã£ãŠãã®äºã€ã«ã€ããŠã¡ãã£ãšè°è«ããŠãããããªãšæããŸãããã³ãšããããã®ããããã®æ¬èœã
@PharaohKJ ãactiverecord ç·ã ãæãåºããŠã²ãããããããªãšæããŸãè°è«éãã§ãããããã£ãåãéžãã§ããã説æããçªçµãªãã§ããããããã§ã©ã£ã¡ãããããããªãšæã£ããã§ããã©ãŸãã¯æ¬ã®è¥ãé ã«ãããããªãšæã£ãŠåã€ããæ¬ã幎é£ã£ãŠãé ã«ãããããªãšæã£ãŠãã®äžåç®ã¯ãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãã¿ãŒã³ã§èšã2005幎ã®æ¬ãªãããã©å€§äžå€«çããåŒãã§ãªãããããããŸããåã枡蟺ãããåŒãã§ããã§ããã説æãããšããæ¬ã ããšã2005幎ãŸã ãŸã åž°ããã§å²ãšãªã®ã§ãã鳎ã£ãŠããããªãããªç¿æ³³ç€ŸããããåºãŠãæ¬ã§èè
ã¯ã¿ããªå€§å¥œãããŒãã³ãã¡ãŠã©ãŒããã
@yu_kgr ãè¥ãåŒãã§ãªããããªãã»ã©ãããã§ãã
@PharaohKJ ããªããã£ãŠèšã£ããããžæŠåå±±èŠããšæããã§ããã©ããã®ã²ãšã€ã§ãããããã®æ¬è£è¡šçŽãªãã©ã£ãšããããšç®çå¥ãã¿ãŒã³äžèŠ§ãªããŠèŒã£ãŠãŠäœãããããããšããããããã ãã©ãšã aiko ãšãããããã ãã©ã¡ãã£ãšæ°ã«è³ã¿ããã«ãšãããããã¿ãŒã³ãæããšãããšæã£ãããããèŠããšãããã§ã¡ãã£ãšäŸ¿å©ãããèŠãŠãããããã ãèªããããªã£ãŠèšãç«ã® effective ã·ãªãŒãºçãªæžãæ¹ã«ãªã£ãŠãæ¬ãªãã§ãããããã¿ãŒã³ã§ããããããã¿ãŒã³ã§æŸãèªã¿ããªãã䜿ãã£ãŠããæ¬ã§ãããããªãšæããŸãã§ãã®ç¬¬10ç« ããŒã¿ãœãŒã¹ã®ã¢ãŒããã¯ãã£ã«é¢ãããã¿ãŒã³ã®3çªç®ã€ããäžã®3 activerecord ã§ãã®ãŸãŸã®é
ç®ããã£ãŠã
@yu_kgr ãé«æ ¡ã
@PharaohKJ ã第10ç« ããŒã¿ãœãŒã¹ã®ã¢ãŒããã¯ãã£ã«é¢ãããã¿ãŒã³ã ãã§50ããŒãžã§ãããã§ãããã®åã®10-3 activerecord ã¯5ããŒãžããã5ããŒãžåŒ·ãããã§ã©ããªãã¿ãŒã³ãã£ãŠèšããšããŒã¿ããŒã¹ããŒãã«ãŸãã¯ãã¥ãŒã®è¡ãã©ãããããŒã¿ããŒã¹ã¢ã¯ã»ã¹ãã«ãã»ã«åããŠããŒã¿ã«ãã¡ã€ã³ããžãã¯ãè¿œå ãããªããžã§ã¯ãã£ãŠäºã§ã€ãŸãããæžããéã person ã¯ã©ã¹äººéã¯ã©ã¹ããšããŠäººéã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ããã®ãŸãŸããŒã¿ããŒã¹ã®äžã«ããã¿ãããªã€ãªã person ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãããŒã¿ããŒã¹ã®äžã§ããŒãœã³ããŒãã«ã®äžã¬ã³ãŒããšããŠä¿åãããŠãã¿ãããªæãã®å³éä¹ã£ãŠãŠä»ãŸãã«ãã®éã㧠rails ã®ã¢ãã«ããããªæããªãããã
@PharaohKJ ããã¥ãŒãã³ãŠèšã£ãããã¥ãŒãã³ã£ãŠããããŒãã«ããã£ãŠãã®1ã¬ã³ãŒãããã¥ãŒãã³ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹äžã€ã§ãã9äžã¬ã³ãŒãããŒã±ãããã€ã«ããŒã®ã«ããŒæ¹åŒã§èšãã Java æ¹åŒã§èšããã§æ®ãããšãå°å·åæèšãæ¹ãããé£ãããã ãã©ãŸãä»ã®èšãæ¹ã§ã倧äœã¿ããªããã£ãŠãããããšãããããããã§ã¡ãã£ãšããããããåžèªããšãªããžã§ã¯ãã¯ããŒã¿ãšæ¯ãèãã®äž¡æ¹ãæã¡ãŸããæžç°ãããã®éšåã¯æ°žç¶ããŒã¿ã§ããããŒã¿ããŒã¹ã«ä¿åãããªããã°ãªããªããšãŠ activerecord ã¯ããã䜿ã£ãŠããŒã¿ã¢ã¯ã»ã¹ããžãã¯ããã¡ã€ã³ãªããžã§ã¯ãã«é
眮ãããšãã¹ãŠã®ãŠãŒã¶ãŒãããŒã¿ããŒã¹ããããŒã¿ãèªã¿åãç·æžã蟌ãæ¹æ³ãææ¡ã§ããããã«ãªã£ãã activerecord ã®ã¯ã©ã¹ã£ãŠã¯ä»¥äžã®æžé¡ãæã£ãŠãããšããã®ããã¿ãŒã³ã§ãã¿ãŒã«ããããã®æ¹æ³ã§ãŸãã
@PharaohKJ ãSQL ã®çµæè»ã®è¡ã㪠activerecord ã®ã€ã³ã¹ã¿ã³ã¹ãæ§ç¯ããèŠãªãã SQL ããããŸãããŒãªãã»ã©ã§ãã³ãã³ãåãããšæããã©ã»ã¬ã¯ãæåŠè
ã«å¥œããã»ã¬ã¯ãåž°ã£ãäŸãã° SELECT * from use ãŠè¡ã£ãããŠãŒã¶ãŒã®äžã«ã¯ããŒãã£ã¯ã«ãžã£ã³ã¹ã«ãã£ãã®1ã¬ã³ãŒããã¡ãããšãŠãŒã¶ãŒã®1ã€ã³ã¹ã¿ã³ã¹ã«ãªãã£ãŠèšãã®ã倧äºã§ãããšèŸãçµæè»ã®è¡ãã activerecord ã€ã³ã¹ã¿ã³ã¹ãæ§ç¯ãããšããã«åŸã§æ¿å
¥ãè¡ãããã«æ°ããã€ã³ã¹ã¿ã³ã¹ãæ§ç¯ã§ããã§ããã«æ§ç㪠Find ã¡ãœããã䜿çšã㊠SQL å
±éã®ã¹ã±ãŒã«èšéã«ã¢ããããŠããã³ãŒããªããžã§ã¯ãè¿ããããã«ããŒã¿ããŒã¹ãæŽæ°ãæŽæ°ããããŒã¿ããŒã¹ã« activerecord ã®ããŒã¿ãæ¿å
¥ãããšããã«ãã£ãŒã«ããååŸãèšå®ããã
@yu_kgr ãSQL ã³ãã³ããã¡ãã£ãšããããããã§ããå€ããããšãã
@PharaohKJ ãã§ããã«ããžãã¹ããžãã¯ã®äžéšãå®è£
ããããã£ãŠåºãŠã¯ãºã©ãºã©ãºã©ãšäžå件ã§ããã©ãã»ãšãã©ã®ã»ãšãã©ã®ã£ãŠèšã£ããåããã«ãªã£ã¡ããã㧠ruby on rails ã«éã£ãŠèšããš ruby on rails ã®ã¢ãã«ã£ãŠçå Mako 6ã§è¡ã£ãŠã¿ãŸãã§ããžãã¹ããžãã¯ã®äžéšãå®è£
ããã£ãŠããã®ããã®æ¬ãã¿ãŒã³ã®å³åã§ãšã«ããããŒã¿ããŒã¹ãæ±ã£ãŠããã®ãã¿ãŒã³ã¯ããŒã¿ããŒã¹ãæ±ã£ãŠãã£ãŠèšã£ãŠãããèšã£ã¡ãã£ãŠãããããšã«ãããããŒã¿ããŒã¹ã«ä¿åããæãšãèªã¿èŸŒããšãã«ããŒã¿ããŒã¹çŽæ¥æžãããããªããŠãã®ã¯ã©ã¹ã®ãªããžã§ã¯ãã«ãããã³ã°ãããŠãããªãªãã西æŠã£ãŠãã£ããããŒã¿ããŒã¹ã«ä¿åãããããããã ãšãæ€çŽ¢ã£ãŠãããšã¡ãããšããŒã¿ããŒã¹ããæ€çŽ¢ãããçµæããã®ã¯ã©ã¹ã«ãªã£ãŠåºãã®ã
@PharaohKJ ãã«ãªã£ãŠåž°ã£ãŠããã£ãŠèšãã®ã¯ãã®ãã¿ãŒã³ã®ã¿ãã®ãããããã©ãããæã«äœ¿ãã®ã£ãŠèšããšãã¡ã€ã³ã¢ãã«ã®åæèšå®ã§æåã«å€æããã¹ãéžæ㯠activerecord ãããŒã¿ããããŒæ¥ã®ããããã䜿çšããããšããå€æã§ãããš AR æ倧㮠activerecord æ倧ã®ã¡ãªããã¯ã·ã³ãã«ãªæ§é 㧠activerecord ã®æ§ç¯ã¯å®¹æã§ããç解ãããããæ倧ã®åé¡ã¯ activerecord ãæå¹ã§ããã®ã activerecord ãªããžã§ã¯ããããŒã¿ããŒã¹ããŒãã«ãšçŽæ¥å¯Ÿå¿ããŠããåäžæ§é ã®å Žåã ããšããç¹ã§ãããšäœããžãã¹ããžãã¯ãè€éãªå Žåã«ã¯ãªããžã§ã¯ããçŽæ¥çãªé¢ä¿ã³ã¬ã¯ã·ã§ã³ç¶æ¿ãªã©ã䜿çšããããšãŸãæãããããããããããã®éšåã¯ç°¡åã«ã¯ãã³ã°ã¬ã³ãŒãã«ãããã³ã°ã§ãããŸãæççã«è¿œå ãããšããã
@PharaohKJ ãè¶
匷åãªãšä»¥äžã®çç±ãã DATA mapper ã®äœ¿çšãèããããã«ããã£ãŠæžããŠãããã©ããããããã§èšã domain Model domain Model åæèšå®ã§ã£ãŠãã1è¡ç®ã®ãããã§ã®ãã¡ã€ã³ã¢ãã«ã£ãŠããã®ã¯ã¿ããªç¥ã£ãŠããã®ããããã£ãŠãªããžã§ã¯ãããã£ãŠã¯ã©ã¹ããã£ãŠã§ããããããç¹ãã£ãŠãªããšãªã£ãŠãã ãã£ãŠããã¢ãã«ãœãããããããã¡ã€ã³ã¢ãã«å³ã§ã°ã°ã£ããããããã£ãŠãŸããã©ããããæãã§ã¯ã¢ãã«éã¬ã³ãºã«è¿ãæãã ãããªããããªããåºãã§ããã£ãŠã€ãŸããšããããã W ç¶ãã¬ã³ãžã§ç¡è £ã£ãŠèšããšéžæè¢ã鳎ããªããã§ããã»ãæœèšã
@yu_kgr ããããŸããã³ãšæ¥ããã§ããã¡ãã£ãšé£ããŸããªããåºãŸããã
@PharaohKJ ãä¹
ä¿æ¡çšããæç¹ã§ãã®æåã«å€æããã¹ãéžæã£ãŠããã®ã activerecord ã£ãŠãªã£ãŠããã§ããããŒã¿ããããŒãçã£èµ€ãªãã§ããããšæãã°ããããããŸããããŸãããã¯ãªãã§ãã£ãŠèšããš activerecord ã®äœããã·ã³ãã«ã ããè接äžåäžã«èªåã§äœãäœãã°ããŒã¿ããããŒæºã®äžã£ãŠãããããŸãã¡ãã³ãšããªããšæããã ãã©ãã¡ã€ã³ã¢ãã«ããã¡ã€ã³ã¢ãã«å³ãšèšãã¹ãããæžããšãã«äŸãã°ã²ãŒã ã®äžã§ã¯ãŠãŒã¶ãŒãããŸãã£ãŠãªã£ãããŸããŠãŒã¶ãŒãšèŠªç¶ã«åèªã§ããã§ããŠãŒã¶ãŒã£ãŠèšã£ããããããªæ
å ±ããããããªãã§ããäŸãã°ãŠãŒã¶ãŒã¯ããã°ãŠãŒã¶ãŒã®äœã£ããã£ã©ã¯ã¿ãŒãããã°ãªããšããããã°ãªããšããããã°äŒã£ãŠã§ããŠãŒã¶ãŒã£ãŠæ§å¥ãšã
@wtnabe ãææ
¢ã§ããªããªãã
@yu_kgr ãããŒããŸããã
@PharaohKJ ã幎霢ããããããªãã£ãŠè¡ã£ãããããã·ã³ãã«ã§ããããã ã£ããã§ãã activerecord ã§ãããã ãããã©ãŠãŒã¶ãŒãšäžèšã«èšã£ãã£ãŠå±æ§ããã100åã200åã300åããããããããã°ã«ãŒãã³ã°ãããéŠç°ããã§ããããæ
å ±ããããŸãã£ãŠããå Žåã«ã¯æãã㊠activerecord ã§äŸããŠè¡šçŸã§ããã®ãèŸããªãèŸãå Žåã¯å¯ºããããæ¡çšããŠãã®ããã§èšãããŒã¿ããããŒã£ãŠããã®ã¯ãªãããŠãŒã¶ãŒãä¿åãŠè¡ã£ããå
éšçã«ã¯ããããªããŒãã«ã«åæ£ããŠæžããããšãå€åããããã°ã©ãã ãš or mapper ã®ã ãšæããã©ããããã颚ã«ãã£ãã»ããããããšãããããæ€èšããŠããšããã®ãããã«æžããŠããããšå
ç·ãããã«ãã¡ã€ã³ã¢ãã«ããæ²ã£ãŠäœã
@PharaohKJ ããªãäœãã£ãŠãããšãã¡ã€ã³ã¢ãã«ã¯ä»ã°ã°ã£ãŠã¿ãŠãããç»åã¿ããã«ãªããç»åãªã£ãŠããã§ãããã®ã¢ãã«ãèšèšããŠãããããã«ããŒã¿ããŒã¹ãšãã«èœãšã蟌ãã§ããããšããã®äžçã®ã¯ã©ã¹ã«ã©ãèœãšã蟌ãã§ãããã£ãŠè°è«ãªãã ãã©äŸãã°æ€çŽ¢ããŠã¹ã³ã¢ã1äžç¹ä»¥äžã ã£ã人ã«ããŒãã¹ãéããããŒãã¹ãããããšãã£ãšãããçã«èšããšäŸãã°1äžç¹ä»¥äžåã£ããŠãŒã¶ãŒãéžæããŠãã®äººã«ãéããéã¬ã³ãŒãã1äžåæ¯ã£ãŠãããšãããšãããããã®ããã«ãã¡ã€ã³ã¢ãã«æžããŠäœãããã£ãŠèšããšå¥ã«ãããªããšãããªããŠã SQL ã§5è¡ãããã§äœ¿ã£ãŠã
@PharaohKJ ãäœã§ãã®å¯Ÿå±ã¯ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªãããªããã°äžããé çªã«éžæããŠãã®ãŠãŒã¶ãŒã«ããããåŠçããããšããäžã€ã®é¢æ°ã§çµããçãªããšãªã®ã§ããã§ã®ãã¡ã€ã³ã¢ãã«ã£ãŠããã®ã¯ãããéããã®ãŸã ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããã§æ¥ãããããŸãè€éã§ãã€ãã£ãã¿ããã«ä¿åããæã«ãã£ããšãããããã€ã³ãã0以äžã«ãªã£ããæ»ãã§ãããšã«ãããšãããããè€éãªããžãã¹ããžãã¯ãæã€å Žåã¯ãŸããã®äœ¿ããŸããããã£ãŠãããšãŸãããããããã§ãã¡ã€ã³ã¢ãã«ãšãåºã¡ãã£ã activerecordã
@yu_kgr ããã©ã³ã¶ã¯ã·ã§ã³ã
@PharaohKJ ãããŒã¿ããããŒã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ãããšã®è©±ããããã ãã©ããããããã§ããããäžçãããããã§ããäžã€ã®ãªããžã§ã¯ããäžã€ã®ããŒãã«ã®äžã€ã®ã¬ã³ãŒãã§ããã£ãŠããã®ã¯ããŸãã«ãåçŽã§ãããã ãã©ãã£ãããããŠåœŒãè€éã§ãããã£ãŠãããã¿ãŒã³ãäžã®äžã«ã¯ãããŸããšã§ã ruby on rails ãéžæããæç¹ã§ãŸãææ« activerecord ã®æ¡çšã£ãŠããã®ã¯ããéžæè¢ãšããŠã¯ããå
éžæããŠãŠåŸãã¡ã€ã³ã¢ãã«ãšããã ãã人ããèŠããšããã¡ãã£ãšæœè±¡åããã€ããªããšãªãããå®è³ªããŒã¿ããŒã¹ã¢ã¯ã»ã¹ãªã£ã¡ãã£ãŠããããã£ãŠããæ°æã¡ã«ãªãããé£ããããŸãããããæ°æã¡ã«ãªããã§ããã
@PharaohKJ ãããšãã°ãŠãŒã¶ãŒãšãŠãŒã¶ãŒè©³çŽ°ã£ãŠãããã®ãããšãããããã JOIN ããŠæã£ãŠæ¥ãªããšãªããšãã activerecord ã ãšãé²éªšã«æžãã¡ããããããããŠãŒã¶ãŒã¯ãŠãŒã¶ãŒè©³çŽ°ã£ãŠããã®ã¯æã£ãŠãŸãã¿ãããªã®ããã³ãŒãã«æžãã¡ãããã§ããã§ããŒã¿ããŒã¹ã®äžèº«ãã©ããªã£ãŠããç¥ããªããšæžããªãã·ã³ãã«ã§ãããã§ããã©ã ãã©ãŠãŒã¶ãŒããŒã¿ãä¿åã£ãŠãããšãã«ãŠãŒã¶ãŒããŒã¿ãä¿åããããã ã£ãŠå
éšçã«å®ã¯ãŠãŒã¶ãŒã®äžèº«ã¯ãŠãŒã¶ãŒè©³çŽ°ãšãŠãŒã¶ãŒã®è²¡åžãšãŠãŒã¶ãŒã®ã¢ã€ãã åã£ãŠãã颚ã«åãããŠãŸããã
@yu_kgr ããããªããšçŽæ¥æžãã¡ãã£ãããå®è³ªã¿ããã
@PharaohKJ ãç¥ããããªããã§ãä»ã«ä¿åã§ä¿åããŠæ¬²ããããªãã§éç床ãäœããªã£ã¡ããããããããããŒã¿ããŒã¹ã®äžèº«ç¥ã£ãŠãªããšå®è³ªãããªããã£ãŠããã®ããŸã activerecord ã®èŸããããã£ãŠèšãããŠç·ã®äººã€ãŸãã㧠rails activerecord ãé·ãããããã£ãšæœè±¡ãšé«ã䜿ããããã«ããããªæ©èœãæäŸãããŠãŠãã£ããŸããããããã£ããã£ãããã«ãããšæãã°ã§ãããšããããã£ãŠããã§æžããŠãããããªãªããžã§ã¯ããçŽæ¥ã¯é¢ä¿ãšãã³ã¬ã¯ã·ã§ã³ãšãæ€èšŒãªã©ãå©çšãããå Žåã«ã¯ activerecord ã«å®è³ªãããã³ã°ã§ããªããé£ãããã£ãŠããã®ã解æ¶ã§ããããã«è²ã
ã¡ãŒã«ã«ã¯ STI single TABLE ã€ã³ããªã¿ã³ã¹ã
@yu_kgr ãããã«ã髪ããŠãå
ç§ã
@PharaohKJ ãåäžç¶æ¿ããŒãã«ãšããäžå¿ããã°ã£ãŠã¯ãããã§ãã¡ãªã¿ã« STI ããã«ã ããã§ãããã®å¿ã¯ããŒãã«ãªãŸãŒãããã£ãŠã€ãšãçããŸãããã¡ãªã¿ã« STI 女åªãªã¹ããªã£ãŠããã£ãŠãããšãããåããã
@wtnabe ãè²·ã£ã¡ãã£ããã©ãããªãæ¹ããããªãšã¯æã£ãŠãŸãããŒãã£ã±ãããããã倧åã®åã«ãããããã¿ãããªã®ãã§ãã¡ãããã§ãã£ã±äžçŽãã¡ãããšããæ¹ãããããã£ãŠããæ°æã¡ã«ãªããŸããã³ãŒãã¯ã·ã³ãã«ã«ãªã£ãŠããã«çŽä»ããç»é¢ãã·ã³ãã«ã«äœãããã§å¬ãããã ãã©ããŒã¿çã«ã¯ãã£ã±ããªããŸãããã
@yu_kgr ãã«ã€ã³ãºå粧ããŒãã®ããŒãã
@PharaohKJ ãæ»ãããã£ãäŸããŠèšããšæç¹°ã£ããããªã¿ã°ã¿ã°äŸãã°åç»ãæçš¿ã§ãããµã€ãäœã£ããšããŠã¯ãŸãåç»ã£ãŠããããšãªãã§ããåç»ã£ãŠããŒãã«ããã£ãŠåç»ãäžèº«ãããã«ä¿åãããŠãããšããã®åç»ã«ã¿ã°ãä»ããããããã«ããããã£ãŠæã£ããã ãã©ã¿ã°ã«ã¯ããããèããŠçš®é¡ãããããšãäŸãã°å°åã¿ã°ã©ãã§åé²ãããã£ãŠããå°åã®ã¿ã°ãšãžã£ã³ã«ã®ã¿ã°ãèµ€åãšãã®åç»ã«å¯ŸããŠããã€ãããã¯ã©ãã©ãã«é¢ä¿ãããã®ã§ãã£ãŠããã¿ã°ã©ãã«ãä»ãã«ãããåãžã£ã³ã«ã«é¢ããŠã
@yu_kgr ãæ ªè¬åº§åç»ã«å¯Ÿãããªããã©ãã«çãªã
@PharaohKJ ãã§ãã©ãŒã§ãµã¹ãã³ã¹ã§ããšãããããåããã€ãä»ããããããã«ããããšããå Žåã«ç¢ºèªçš®é¡ããããåãã£ããšãã ãã©ããŸãããšãèšèšãããšåç»ã«ã¿ã°ãä»ããããŸããšç
§ãé ãã§ãŸããã©ããããšåç»ã¯ãç®ã«ã¿ã°åç»ã¯ããããã®ã¿ã°ãæã£ãŠãããšã«ãããšããããããšããŒã¿ããŒã¹ã®äžã«ã¯å®¶å
·ã£ãŠããããŒãã«ãã§ãããã£ã³ã¹ã ãã©ãã£ãèšã£ãéãå®
ã«ã¯çš®é¡ããããã§ãããçš®é¡ãã©ãå®è£
ãããã£ãŠããå Žåãªãããã©ãã㧠STI ã䜿ããšããšãã°ãžã£ã³ã«ã¿ã°ã£ãŠããã¯ã©ã¹ãäœã£ãŠå°åãªãŒãžã§ã³ã¿ã°ã£ãŠããã®äœã£ãŠããã°ã¯ã©ã¹ãç¶æ¿ãããã§ããã
@PharaohKJ ããããããšãã®åç»ã«å¯ŸããŠã¿ã°ãšèšã£ãã家è¡ããããåãããžã£ã³ã«ã¿ã°ãåãããã ãã©ã¡ãããšå
éšçã«ã¯ã¿ã°ã2çš®é¡ããããšãä¿åãããŠã T ã¯ã©ã¹ã¯äžã€ããã¿ã°ã£ãŠããæ°ãæ¢åã¯ã©ã¹ãšãããç¶æ¿ããå°åã¿ã¯ããžã£ã³ã«ã¿ã°ããã£ãŠããã©ããã颚ã«å®è£
ãããŠããã£ãŠèšããšããŒã¿ããŒã¹ãèŠããšæãã£ããæžããŠãããã§ãããã®ã¬ã³ãŒãã¯å®¶å
·ããŒãã«ã®äžã«ä¿ºã¯äœãšãã£ãŠããã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ S åã€ããŒã ã§ããã£ãã¿ã€ãã§ããã£ãææ¥ã¿ã€ãã ãã瀌ã§ããã¿ã€ãã¯äºçŽåãããªã®ã§ãŸãåç»ã«ã¿ã°ä»ãããããã£ãŠèšã£ãŠã
@wtnabe ãæµ·ã¿ã€ãã
@yu_kgr ããœãœãœãœãŒãã
@PharaohKJ ãèšèšãããšãã«å³ãåç»ã«ã¿ã°ä»ãããã«ããšããŸãã¯éªã£ãŠããããšããŠã¿ã°ã¯ã¿ã°ã§ããžã£ã³ã«ããã£ãŠãªããšãåæã§ããæ¥çªç¶ããç£ç£èª°ã§ã欲ãããšèšãããæã«ããåçŽã«ã¿ã°ãç¶æ¿ããŠç£ç£ãããŠäœãã°ããã ããªãã§æ¥œã§ãããã£ãŠè©±ããŸã颚åã¯å
ã®èšèšãå€ããã«ã¿ã°ã®ããŒãã«ã®äžèº«ãå€ããã«ã䜿ãããããã£ãŠããã®ããã® STI ã®ãããšãããªãã ãã©ä»ã¡ãã£ãšããã«äžèº«èŠããšããã ã£ãããžã£ã³ã«ã¿ã°ã£ãŠèšããåŸãããšããã°ã£ãŠäœã£ãšããŠããã«æ£èŠåããŠå£°ã®çš®é¡ãšãããããã®ã¯çé¢ç®ã«å®è£
ããæ¹ãããããããã£ãŠããã®ãç§ã®èŠè§£ã§çµããåã®èŠè§£ã§ããããã®ç³é¹žã®éæ©ãŸãããšãããªãããããšãŸãäœãèšããããã£ãŠèšããšããã§ã¯ãã®2005幎ã§ãæ¬ã§ã¯ã
@PharaohKJ ãããããã®ã¯é£ããã§ããã£ãŠèšã£ãŠããã ãã©èœã¡ã¶ãçãšé 匵ã£ãŠéã®å¯Ÿå¿ããããšããŠã人ã£ãŠããã®ãåããè²·ã£ãããšãªãããšããããããããšã§ä»ã®ãšãããã®æ¬ã§èšã activerecord ã£ãŠããç«ã¡äœçœ®ã匷ãã£ãŠãããªãšæããŸãããã¡ã€ã³ã¢ãã«ã§ã«ãã«ãèãã¡ãããããªäººã«ãšã£ãŠã¯ç©è¶³ããªããšãããããã°ååãªãšããããããã£ãŠããã®ãä»ããã£ããšããããããããŠããããããã§æ¬¡ã¯2013幎ãã SQL ã¢ã³ããã¿ãŒã³ã£ãŠããæ¬ããã¯èªãã§æåå®å¿ããŸããèªãã§ããšçªçµãªã倧äœãã®æ¬ã®24ç« ããžãã¯ããŒã³ãºãã£ãéæ³ã®è±ã£ãŠèšããã
@yu_kgr ãã¯ãŒã«ãåŒãã§ãªãã£ããè¯ãã£ãŠèšããã ãã©èª°ã
@PharaohKJ ãååããäŸãã°23ç« ãã£ããããã£ãã¯ã€ãã¥ããã£ãšã25åç ã®åãšãå
ç±åšäºç
å¿ãããããã®ã¿ã€ãã«ã倧奜ããªåŒ·ãããã·ã£ã¯ãŒæµŽã³ãã«ãŒãã³3ãã«ä»®ç ããã¯åãšæ¯ããŠãããŸãããããæ¥æ¬èª Wikipedia ã«èšã£ãŠãååããèŠåœãããªãæš¡æ§ã§éŠèš³çã¯2013幎1æ25 Amazon ãš1æ¥åºãŠããã©äžã§å¯ãŠãŠãªã©ã€ãªãŒããããæææææãæ
£ç¿ç¿»èš³ã®æŒ¢åã§ããã¿ããªå€§å¥œã T wanna ãããããã£ããããšããããšã§ãã®æ¬ã¯ãžã£ãããŒãºã ãªã¿ããªèªãã§ãæ¬ã£ãŠããšã«ãªã£ãŠãããã§ããããã®æ¬ãç§ã¿ããã«ãªããæ°ã«ãªããšããã ãèªãã£ãŠã®ããã¡ããããã æãã§ãã®24åç®ã
@yu_kgr ã競走銬ã ããèŠãããšãã£ãããã£ãããšã
@PharaohKJ ããžãŒã³ãºãã£ãéæ³ã®è±ã£ãŠããã®ã¯15ããŒãžãããã®å
容ã§ãã®æ¬ã¯ãã®ã¿ã€ãã«éãã¢ã³ããã¿ãŒã³ã説æãããŠããã§ããã©ãŸããŸãç®çã¢ã³ããã¿ãŒã³ã®ãªè§£èª¬5ã¢ã³ããã¿ãŒã³ã®èŠã€ãæ¹ã§ãã®ã¢ã³ããã¿ãŒã³ãçšããŠãè¯ãå Žåã®äºå°å»ºã§æããŠãããã®åã§æžãããŠãŸããã®24ç« ã®æåã¯äœã§ãããªå°ããªæ©èœãè¿œå ããã®ã«ãããªæéãããã®ã£ãŠèª¿åãæ¿ããã§ãéšäžã«å¯ŸããŠè©°ãããã ãã©éšäžãé 匵ã£ãŠèšãèš³ããã£ãŠãã寞åããå§ãŸãããã§ã㧠effective Ruby ã®äŒã«åºããã§ããã©ãã®æ¬ã®ã¿ã€ãã«ã¯ SQL ã¢ã³ããã¿ãŒã³ãŠã¿ã€ããªã®ã«ãã®24ç« ããžãã¯ããŒã³ãºã¯ã
@PharaohKJ ããã åæ¥ãç SQL ãåºãŠããªãããããããã颚㫠SQL ãæ±ãã®ã¢ã³ããã¿ãŒã³ã ãã£ãŠèšã£ãŠããŠãããããŸã24-1ç®çãã£ãšãã»ãšãã©ã®ãã¬ãŒã ã¯ãŒã¯ããŸã NBC ãæ¡çšããŠãŸããããšãŠ MVC ã®çŽ 人ã§ãåããã俺ãã¯ãã¯ãå
¥ã£ãŠããåãã£ãã®ã¯ã³ã³ãããŒã©ãšãªãã§ãã£ãŠèšããšã³ã³ãããŒã©ãŒã¯ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹ãæäœã«ã€ããŠåŠçããŠããŒã«ã¯èŠãç®ã«å¯ŸããŠå¯Ÿå¿ããŸããã ãã©ãã¢ãã«ã£ãŠäœã£ãŠããè±ãããããã§ãåºãã£ãŠãããšææ§ã§ææ§ã£ãŠããšã¯ãªãã§ãã£ãŠèšããšããã«ãªãã§ãå
¥ããã
@yu_kgr ããªãã ã£ãŠã
@PharaohKJ ãäœã§ãå
¥ãããããææ§ãªãŠãŒã¶ãŒãæäœããã¯ãªãã¯ãããã ãã¢ã¯ã·ã§ã³ãããããçç±ã«è¿ãã£ãŠèšããŸã§ã®éã«ãããªãããããªãããšãå
šéšã¢ãã«ã£ãŠåŒãã§ãåãæè¡ã¯ã¿ããªããã°ã©ããŒã ãäžè¬åãšãäžå°ãã¯å€§å¥œãã§ããã€ãŸãããããããšã§ããã£ãŠããã«è¡ã£ãŠãããã§ããã©ããã®ã€ã¶ããããããã«äœãããã§ãããã®å Žåã¯ããå Žåã¯ã£ãŠããã®ããããã§ãŠã¿ããã¿ããªäžè¬åãããã£ãŠã®ãåæã§ãã®é£ãããšããçªãè©°ãã«çªãè©°ããŠæ±çšæ§ãäžããŠãããšããå
šç¶äŸ¿å©ãããªããŠåãªãäœãŠèšãã®ã¬ã³ãŒããéžãã§ä¿åããŠãŠãŒã¶ãŒã«èŠããã¿ãããªã¢ããããããäœèšãã¬ã³ãŒãã
@PharaohKJ ãããŒã¿ããŒã¹ãèªãã§ããã衚瀺ããã ãã®ãã®ã«ãªããã¡ãªãã§ãããããäœãŠèšãã°ãããããªããš rails activerecord ããããŸããšèšã£ãŠ rails activerecord ã®ã¢ãã«ã«ãããšãªãããã£ã¡ã䟿å©ãªãããç¹ã«å®è£
ããªããŠãæ€çŽ¢ã¯åºæ¥ãåä¿åã¯åºæ¥ãåããŒã¿ã®å å·¥ã¯ã§ããããããã§ãããããšããŒã¿ããŒã¹ã¢ã¯ã»ã¹ãããããšäœãèµ·ãããã£ãŠèšããšã¢ãã«ã¯ãã®ãŸãŸã§ GO ã³ã³ãããŒã©ãŒã®ãšããã«ãŠãŒã¶ãŒã奜ã¢ã¯ã»ã¹ããã£ãããã®ã¢ãã«ãéžãã§ãã®ã¢ãã«ãéžãã§ãã®ã¢ãã«ãéžãã§ããããããããããŠãšãã€ã³ããäœå以åŸãåæ§ã ã£ããããããŠã¯ãªãã£ã«ã«çã7%ã ã£ããããªãã ãã²ã§äœãšãã£ãŠäœãšãããŠèšã£ãŠã
@yu_kgr ãäŒæžé³©çãªã
@PharaohKJ ãå
šéšã³ã³ãããŒã©ãŒã«æžãã¡ãããšãªãã§ãã£ãŠèšããšã¢ãã«ãæ±çšæ§é«ããã®ã«ããŠãããšã€ã¶ãããããããããããšå
šäœçã«èŠãŠ rails MVC ã£ãŠããããã®ã«ã³ã³ãããŒã©ãŒãæžãã¡ãããšåãªãããŒãã«ããŒã¿ããŒã¹ Access ãªããžã§ã¯ãã«ãªã£ã¡ãããã£ãŠè©±ãéžãããããç¶æ³ã«ãããŠ24.28ãã¿ãŒã³ã¢ãã«ã activerecord ãã®ãã®ã§ã¯ãŸã2005幎 Martin Fowler ã¯ãã®ãããªãããã³ã°ããµããŒããããã¶ã€ã³ãã¿ãŒã³ã activerecord ãšåä»ããŸããã ã£ãŠããã«ãã®å幎ã«ãããããã®æ¬ã
@PharaohKJ ãæ¥æ¬èªèš³ãåºãã®ã2005幎ã ããå€åãã®ã»ãŒåææãããã«åºããã§ãããã rails ã2004幎ã«ç»å ŽããŠã¿ããªäœ¿ãããã«ãªã£ãŠãã¢ä»ã® Web éçºãããžã§ã¯ãä»ã® Web ãµã€ããã¬ãŒã ã¯ãŒã¯ã§ãããŒã¿ã¢ã¯ã»ã¹ãªããžã§ã¯ãèšèšãšããŠã¯çããã«æãããšå€§äœåãã Web ã®ãã¬ãŒã ã¯ãŒã¯æ¡çšããããã£ãŠèšã£ãããã ACTIVE RECORD ãã¿ãŒã³ã®ãã®ã1幎䜿ãããšãå€ããšããåæããã®æ¬æ°ã activerecord èªäœã«åé¡ãããããã§ã¯ãããŸãããš activerecord ã¯åäžããŒãã«ã®åè¡ã«å¯Ÿããã·ã³ãã«ãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŠãããåªãããã¿ãŒã³ã§ããšã¢ã³ããã¿ãŒã³ã«ãªã£ãŠããŸãã®ã¯ MVC ã¢ããªã±ãŒã·ã§ã³ããã¹ãŠã®ã¢ãã«ã¯ã©ã¹ã® activerecord ã®åºåºã¯ã©ã¹ãç¶æ¿ãããšããèŠçŽã§ãããã¯é»éã®ãã³ããŒã¢ã³ããã¿ãŒã³ã®äŸã ãšèšããŸãã
@yu_kgr ãé»éã®è±ã
@PharaohKJ ãã€ãŸãäœã§ãåºæ¥ãæãšãããèªã㧠rails ACTIVE Model ãããªãã£ãã¢ããªã±ãŒã·ã§ã³ã¢ãã«åã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã£ãŠãã¡ã€ã«ãéããŠããã«ãããã掟çããã¢ãã«ãéããšæ°ä»ããã ãã© rails ã£ãŠå
šéšåãã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã£ãŠã©ãç¶æ¿ããŠåã¢ãã«ã¯ã©ã¹äœã£ãŠããã§ãã NG ããããšããããšãªãã ãã©ããããèªããšé»éã®ãã³ããŒã¢ã³ããã¿ãŒã³ã£ãŠããšã¯ãŸãå
šéšãã®åºåºã¯ã©ã¹ã«æžãã¡ãã£ãŠäœã§ããã®ã¯ã©ã¹ã§ãã®åºåºã¯ã©ã¹ã§è§£æ±ºãããããšãã¡ããããªå€ãªããšã«ãªã£ã¡ããã£ãŠèšãããã®ããªã
@yu_kgr ãããã«ãã
@PharaohKJ ãã£ãŠã®ããŸãããã§æã£ãããšã俺ã®ã§24ç¹2ç¹ç°ãªãã©ãããããšãã£ãŠãã話説æã«å
¥ããã§ããã©ã·ã³ãã«ã«1ã¯ã©ã¹1ã¬ã³ãŒã1ã¯ã©ã¹ã€ã³ã¹ã¿ã³ã¹åžã¬ã³ãŒããšèšãã¹ãããª1幎ç®æ°1ã¬ã³ãŒããšãããšããŒã¿ããŒã¹ããªãã¡ã¯ã¿ãªã³ã°ãããšäŸãã°ãªãããããè¿œå ããŠãããããšãä»ãŸã§ã¯ãŠãŒã¶ãŒã®ãããŒã£ãŠè¿ãããã©ã財åžã£ãŠããããªæ©èœãæããããããªãŠãŒã¶ãŒã財åžã£ãŠããããŒãã«ãäœã£ãŠãã®ææéã®ã§èª°ããå
šéšãã£ã¡ã§åŒã£è¶ããããã£ãŠãã颚ã«ãªãã¡ã¯ã¿ãªã³ã°ãããšãéã«çµ¡ããå¢ããããšãããããããšããããšããžã§ãããªããŸãããšããªãã¡ã¯ã¿ãªã³ã°ããŠããŒãã®ããŒã¿æ§é ãè¡šãå Žåã¢ãã«ã¯ã©ã¹ã ããããªãã
@PharaohKJ ããã®ã¢ãã«ã¯ã©ã¹ã䜿ãã¢ããªå
šäœã¢ããªã®ã³ãŒãå
šäœãå€æŽãã人ããããŸãããšé§ãç¶ãèªããšãŸãã¢ããªã®æ°ããªç»é¢ãåŠçããã³ã³ãããŒã©å ããå Žåã¢ãã«ãšã®ããåããè¡ãããã«æ¢åã®ã³ãŒãã«ãããªè¡åã³ã³ãããŒã©ãŒæžãå¿
èŠãåºãŠããŸããšãªããã§ããã©äœãã®ãã®ããŒã¿ããŒã¹ãéãããªã³ã°ããŠè¡åãå€æŽããªããŠããããšãªããŠãŸå®éãªããšç³ããç³ãã¯å€§ããå€ããå Žåã£ãŠã®ã¯ãŸãå¿
èŠããããªããã ãããšæããŸãã§ããã«èšããšåæ Java JSON æ°å€ãã¬ãŒã ã¯ãŒã¯ç©ããæã«æšªããã®è§Šãããã³ã«ã¯ã©ã¹ã®å®çŸ©å€ãããããŠããã§ãã
@yu_kgr ãååäŒã
@PharaohKJ ãä»æ¥ã¯ãã®ç©ºã®å¢ããã£ãŠããšã¯ãã®ã¯ãœã®ã«ã©ã ãè¡šãå€æ°ãã¯ã©ã¹ã«è¿œå ãããããã ããããŒã¿ããŒã¹ãäœãå€ããããã«ã¯ã©ã¹ãã¡ã€ã«ããã£ã¡ãå
šéšåäœæãããŠãããããªããã¡ãããšããŒã«äœ¿ã£ãŠãŠãŸããã®çµæãšããŠã³ã³ãã€ã«ãšã©ãŒã«ãªã£ãããããã楜ã£ã¡ã楜ã ã£ããã§ãããã ã§ãããªãªãã¡ã¯ã¿ãªã³ã°ãããã空㫠DB ãç·šéãšãä¿®æ£ããããã«è¡åã¯ã©ã¹ãå€ããªãããããªãã£ãŠããã®ã¯çµæ§éãã ã£ããªãŒã£ãŠããã®ã¯ä»ã§ãèŠããŠãŸããä»ã¯ãã®æ²äœãã〠rails ãšããã£ãããããªåœŒå¥³ãå¢ããããäœãã£ãŠãããšãªããã§ãªãã䜿ãèšèªã«ããã®ããªã£ãŠããæ°æã¡ã¯ãããã ãã©ã
@PharaohKJ ãåŸã¯ãã¿ãã®ããã®æžé¡ãã³ã³ãããŒã©ãŒã§æžããŠå°çã®ãããªã³ã³ãããŒã©ãŒãã§ããã£ãŠèšãã®ã¯ãŸãã¢ã¬ãªã®ã§ãªããç¥ãããã©ã³ã³ãããŒã©ãŒã«ãã£ã¡ããªããç¥ãããã©ã£ãŠèšã£ã¡ãããããšããªã¢ãããšããŠã¯æ¥œã ãããªãããªãšã«ããããã¯ããã®ã³ã³ãããŒã©ãŒã«ãæžããŠãã£ããããŒãšãã£ãŠããã³ãŒããã³ã³ãããŒã©ãŒã«ãã£ã¡ãå
¥ããšæãåãšã·ãã¢ãªãããããªãšæããŸããã ããã€ãããŠããã¢ã³ããã¿ãŒã³ã ãã£ãŠããã®ãã activerecord ãæ¡çšãããã°ã£ããã«çºçããããšã ãã£ãŠããã®ããã®24ç¹ã«å
æ°ã«æžããŠããããšããããã«24.2ã§ã«ã¯ activerecord ã¯ã¯ã©ããæ©èœãå
¬éããŠããŸããšã¯ã©ãŠãæ©èœ is create read read ãæ ç» Update delete æ©èœãå
¬éããŠããŸãã®ã§ã
@PharaohKJ ããŸããã£ãèšã£ãåºåºã¯ã©ã¹ã«ã¯ã©ããæšæ¥ã¯ã ãããå®è£
ããããã§ãããã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã«å®è£
ãããŠããã§æ¬åœã¯ãã£ãšäžã®ã¯ã©ã¹ã§ãã¹ãããããã ãã©ããšãªããšãããç¶æ¿ããã¯ã©ã¹ã¯å
šéš public notary ãæã¡ãŸããšãããå
¬éããŠããŸãåé¡ããããŸããã ãããã£ãã®ãŠãŒã¶ãŒãŠãŒã¶ãŒãæã€ã財åžã®ãŠãŒã¶ãŒè²¡åžãã¬ãã®å®¶ã®äœããŸããããã£ãŠããçŽæããããšããŠãŠãŒã¶ãŒè²¡åžã®ã¯ãªãšã€ãã誰ã§ã䜿ããç¶æ³ã£ãŠã®å€ã§ããã£ãŠèããã§ã¯ãŸããŠãŒã¶ãŒããã£ãŠããã«åŸå±ããŠãããšè²¡åžããããŸãããšãããããä»çµã¿ãªãã
@yu_kgr ããªããªã匷ãã
@PharaohKJ ãã¯ã©ããã硬åãæ®éã«äœã£ãããã®ãŠãŒã¶ãŒè²¡åžã¯ãããªãäœãã£ãŠããã¡ãœããã¯ã©ãããªããŠãããå
¬éãããŠã¡ããããªãåãã ãã©æ€èšŒããããšããšã«æžããŠããããä»å
¬éãã¡ãããããšããã§çŸè¡ã®è»žã«æ²¿ã£ãŠã¬ã³ãŒããäœæããªããšãããªãåã®çŽæå®ã£ãŠãã£ãŠããã®ãå£çŽæã«ãªã£ãŠã³ãŒãäžã§ã¯ãããªãã¯ã®ã¡ãã£ãŠããã§ããŸãã¡ã ãã£ãŠããã®ããã®ä»ã«æžããŠããããšã§ããã®ãµã³ãã«ã ãšãã°ã¯ã©ã¹ãã£ãä»èª¬æããããŠãŒã¶ãŒã®ãŠãŒã¶ãŒè²¡åžã ã£ããã©ãããããªããŠããã¯ãã°ã¯ã©ã¹ã«é¢æ±ãã€ããŠã§æ
åœãã€ãããæ
åœçãããã£ãŠã¡ãŒã«ãéãã£ãŠããžãã¯ãããããã ãã©ãã°ã¯ã©ã¹ãã
@yu_kgr ããããªãã¯ã ããã¡ãã£ãšãã
@PharaohKJ ãã¿ã³ããã€ããŠçãããã£ãŠã¡ãŒã«ãéãã£ãŠããžãã¯ããã°ã¯ã©ã¹ã®äŸãã°å°çšã®ã¡ãœãããäœã£ãŠæžããšããšããããããªãã¯ã«ããŠä»ããã©ã€ããŒãã ã£ãããªãã»ã©ãšãã°ã¯ã©ã¹ãã°ãªããžã§ã¯ããäœãæã«ã¯ãã®é¢æ°ã䜿ã£ãŠäœæããã°ãããã ã£ãŠã¿ããªåãããã ãã©æ¥ãŠã¯ã©ã¹ã«ã¯ã©ããããããã§ãããã¬ã³ç¡èŠããŠãããªãäœæã§ãã¡ããã£ãŠããã®ã¯ãã®ããžãã¹ããžãã¯ã¹ããããã¡ãã£ãŠãã§ããã£ãŠããã®ãããã§æžããŠãã£ãé§ç®ã ããšèšããããŸãã¡æ
£ããããããªãµã³ãã«ãªã¯ã«ãŒããåºãªãããããªããããã
@yu_kgr ããªãã»ã©ã ããå£é
žã£ã±ãéçšã§ã«ããŒãšèšãã確èªããªããšãããªãã¿ãããªæãã«ãªã£ã¡ãã£ããã
@PharaohKJ ãä»ã«24.2é£3 activerecord ã¯ãã¡ã€ã³ã¢ãã«è²§è¡çããããããšã¢ãã«ã¯ã·ã³ãã«ãª dao ãšãããšããŒã¿ã¢ã¯ã»ã¹ãªããžã§ã¯ãå¯ãªãåºåºã¯ã©ã¹ãåãã§ããããç¶æ³ã«ãããŠã¯ã©ããä»¥å€ create read Update delete 以å€ã®ããžãã¹ããžãã¯ã¯ã©ãã«æžããã£ãŠèšããšãããã£ãèšã£ã¡ãã£ãã®ãšåãã§ã¢ãã«ã£ãŠããã®ã¯ã¢ãã«ãäœæããŠéžãã§ã¢ããããŒãããŠããªãŒãããã®ãä»äºãªãã ã£ãŠæã£ãŠãã£ã¡ãããšã³ã³ãããŒã©ãŒã«å
šéšè§£é€ããã»ã©æ¬åœã¯ããžãã¹ããžãã¯ã£ãŠããã®ã¯5ã¢ãã«ã®äžã«å
¥ã£ãŠæ¬²ãããã§ããã¢ãã«ã«ç§»ä¹ããŠäŸãã°ã
@yu_kgr ããã«ãã
@PharaohKJ ãçŸéãå¢ããŸãããã£ãŠããã®ã¯ãŠãŒã¶ãŒã®çŸéå¢ãããã£ãŠã¡ãœãããåŒã³ãããã§ãã£ãŠééã£ãŠããã³ã³ãããŒã«äžã§ãŠãŒã¶ãŒãã»ã¬ã¯ãããŠãŠãŒã¶ãŒã®è²¡åžãã»ã¬ã¯ãããŠãŠãŒã¶ãŒã®è²¡åžã«ææéã1äžåå¢ããããã«ããŠãããŒã¿ããŒã¹ä¿åçµäºããã£ãŠèšãã®ã³ã³ãããŒã©ãŒã«å±¥ãã£ãŠã®ã¯ã€ãã€ãåã£ãŠãªãééã£ãŠããªãããçµæãšããŠå瞮床ãäžãããšãŠãŒã¶ãŒã®åŠç㯠use ã¯ã©ã¹ã«ãšã£ãŠããã¹ããªã®ã«ãããããªãé»è©±ããã¹ãã®ç»å ŽããŸããããŒãã³ãã¡ãŠã©ãŒå
çãã颚åã®äžã§ãã¡ã€ã³ã¢ãã«è²§è¡çãšå§ã¿ã£ããã¡ã€ã³ã¢ãã«ãšåŒãã§ãããšã¢ãã«ã®äžã«éããŠãã¹ããã®ãã³ã³ãããŒã©ãŒã«ãã©ãã©åºãŠããããéãå¢ããåŠçãçºçããã
@yu_kgr ããã¡ã€ã³ã¢ãã«è²§è¡çã
@PharaohKJ ãå
šéšã³ã³ãããŒã©ãŒããæžãã®ããããããããšãçºçããã®ãããªãã§ããå€ãããªãã§ããã©äžãã£ãŠãªãã£ãŠäœãŠèšãã®ã§ãã¡ã€ã³ã¢ãã«è²§è¡çãšã¢ã¯ãã£ãã¬ã³ãŒããæ±ãã³ã³ãããŒã©ãŒã¯ã©ãäŒå¡æ§ã§ã activerecord æ±ãã³ã³ãããŒã«ãã©ã¹ã®è¡åã¯åå粧ã®å®æ³ãæç¶ãåã¢ãããŒãã§æžãããšãªããã¡ã§ããšä»ã®ã€ããŠããã£ãèšã£ãéãéãå¢ããŠå Žåã«ã¯ãŠãŒã¶ãŒãã»ã¬ã¯ãããŠè²¡åžãã»ã¬ã¯ãããŠãã®äžã«ã®1äžåãã£ãŠã»ãŒãããŠçµãããšãããããªè¡æ¶²åãã©ã¹ãªã£ã¡ãã£ãŠãŠããŒã¿ããŒã¹ã¹ããŒãã®å€æŽã¢ããªã±ãŒã·ã§ã³ã®ä»æ§ã®å€æŽãããå Žåãããå
šéšå€æŽãã¡ããããªããšãã£ãèšã£ãéããŠãŒã¶ãŒãéžãã§1äžåå¢ãããã£ãŠæžãã ãã§ããã¯ããªã®ã«ãããŸããã財åžã®äžã«ããã«ãªããšãã£ãŠããã¯ã©ã¹ãå¢ããŠãã£ã¡ã®æ¹ã«ææéã¯ç§»åãã
@PharaohKJ ãåœãã£ãŠããã³ã³ãããŒã©ãŒå
šéšã«ãŠãŒã¶ãŒãéžæããŠãŠãŒã¶ãŒè²¡åžãéžæããŠãŠãŒã¶ãŒãããŒãéžæãããšãã颚ã«å
šéšã¯ããããªãããããªããªã£ã¡ãã£ãããã§éšã§ããããšããã®ãããã«æžããŠããããšãšããããã§äœã§ããžãã¯ããŒã³ãºã£ãŠèšã£ãŠèšããã£ãŠèšããšã¢ãã«ãåçŽãªããŒã¿ã¢ã¯ã»ã¹ãªããžã§ã¯ãåæãŠã¯ã©ãããå
¬éãããŠãŠãããã¿ããªéœåã®ããããã«åŒã³åºãããããè€æ°ã®ã³ã³ãããŒã©ãŒãšè€æ°ã®ã¢ãã«ãããããããã«ããã«ãã«ã€ãªãã£ãŠã¿ãããšããããã§æŠè³ããå²ãéæ³ã®è±ãšããããšã§ããžãã¯ããŒã¹ããããã®æãæ¹ãèªãã§ããããã§ããããã«ãã¡ãªçç±ãæžããŠãã£ãŠãŠããããã¹ããé£ããã§ãããã£ãŠããè±ããããã§å®è³ªãã®ãéãå¢ããã£ãŠããã®ã¯ãŠãŒã¶ãŒã«ã
@yu_kgr ããªãã»ã©ã
@PharaohKJ ãèœãšããªãã£ãå Žåã«ã¢ãã«ã®ãã¹ãã£ãŠããŒã¿ããŒã¹ãã¹ãã«ãªã£ã¡ãããã§ããã ã£ãŠèµäººããã¡ãœãããªããã ãããäœæã§ããŸããå
¥ããŸãåæã«ãã£ãŠãŠãã®ããŒã¿ããŒã¹ãå¿
èŠã«ãªã£ã¡ããããã®ããžãã¹ã®æéã§ãããã£ã¡ãé£ãããªããšæéãã¥ãŒã¢å®¶ã«å
¥ã£ã眮ããšããŠã³ã³ãããŒã©ãŒã®ãã¹ãã»ãšãã©ã®å Žåã® Web ãã¬ãŒã ã¯ãŒã¯ã®ã³ã³ãããŒã©ãŒã£ãŠ http ã®ãªã¯ãšã¹ããåŠçãããšããã¯äœã§èª°ãã誰ãäŸãã°ãéãå¢ãããŠãã¹ããããã ããªã®ã« activist ãæ¬äŒŒçã«çºçããªãããããªããšããã£ãŠã©ãäœãŠèšãã®ã倧å€ã ãã〠hgtv ã«ãã¹ããããšãªã¯ãšã¹ãããåž°ã£ãŠãããããªé«ªãããŒã¹ãããšãããŒã¿ããŒã¹ã®äžèº«ãã¡ãããšå€ãã£ããã©ããã§ãã¹ãããªãããããªããªã£ã¡ãããã§ãŸããã¹ã倧å€ã ããã£ãŠã®ãããã«æžããŠããããšã
@PharaohKJ ããšããããã§ããã§ãããã£ãŠèšã£ãŠãã®ã¯ãŸãããŒã¿ããŒã¹ã¢ã¯ã»ã¹ããããžãã¹ããžãã¯ãããŒã¿ããŒã¹ã¢ã¯ã»ã¹ããããžãã¹ããžãã¯ãã¬ãŒã³ããŒã·ã§ã³ããããžãã¹ããžãã¯ããžãã¹ããžãã¯ãã¡ãããšåé¢ã§ããã°æ£ãã MVC ã®ç®çã®éæã«åœ¹ç«ã£ãŠã¡ãããšãã¹ãã§ãããªããããã¹ãæ¹è¡ã§ããŸããããšããã®ãããã®ãã¹ãã¯ãããªãã§ããã£ãŠã©ãã«æžããŠããããšé¢çœããŠæ¬¡ã«ã¯ã¢ã³ããã¿ãŒã³ã®èŠã€ãæ¹ããã¯ã¢ã³ããã¿ãŒã³ã®èŠã€ãæ¹ã£ãŠããé¢çœããŠæã
ãœãŒã¹ã³ãŒããèªãã§ããã¢ã³ããã¿ãŒã³ããããããªããŠåŸä»äºã®äžã§ãã£ãŠãäžã§ããããçºèšãçºçããã£ãŠããã®ã¯ãããã®ã¢ã³ããã¿ãŒã³ã«é¥ã£ãŠããã¿ãŒã³ã§ããã£ãŠããçºèšã声è²ã«ä¹ã£ãŠãŠäŸãã°æã£ãŠãã°ã¢ãã«ã«ã«ã¹ã¿ã SQL ã¯ãšãªãæž¡ãã«ã¯ã©ãããã
@yu_kgr ãèŠã€ãããšã
@PharaohKJ ãããã§ããã£ãŠãã質åãäžãã£ãããããã¢ãã«ãšããŒã¿ããŒã¹ã£ãŠããã®ãã¡ãããšåé¢ã§ããªãããããããžãã ãããšèšããšã9æã®ã¢ãã«æäœãå
šãŠã®ã³ã³ãããŒã©ãŒã«ã³ããŒããã°ãããã ããããããšã芪ã®æœè±¡ã³ã³ãããŒã©ã¯ã©ã¹ã«äžåã ãã³ãŒãã£ã³ã°ããã°ãããã ããããããã§æžããŠããã®ã¯ããããã£ãèšã£ãéãããããŠãŒã¶ãŒã®ã財åžãæãéé¡ã ãå¢ããã£ãŠããããžãã¯ãäœã£ããšããŠãããã³ã³ãããŒã«æ±ã«æžããŠãã£ãããããã³ã³ãããŒã©ãŒã®ã¡ãœããã§ãããå
±éã¡ãœãããšããŠã³ã³ãããŒã©ã¯ã©ã¹ã®èŠªã¯ã©ã¹ã«ãéãå¢ããå Žåã¯ãã®åã®ã³ã³ãããŒã©ãŒã®ãã®ã¯ã©ã¹ã§ã¯ãã®ã¡ãœãã䟿å©ãªã§äœ¿ã£ãŠãã ãããšãã颚ã«ãªããšã
@PharaohKJ ãããããããããè§åºŠãééã£ãŠããã£ãŠãªã£ã¡ãã£ããã ããè€éãªã¢ãã«æäœãã©ãã®ã³ã³ãããŒã©ãŒã«æžãã°ãããã ã£ãŠæšæ¥ãåºãã£ãŠäºã¯ãç¶ãããšéã£ã¡ãã£ãŠããããããã ãšããã«ããã¯ããåã®åŸæãªãã€ãªãããã©ã¢ãã«ã«ãã°ããªãããŠããããã¹ãããããã«ããŒã¿ããŒã¹ãã£ã¯ã¹ãã£ãŒããã£ãšæžããªãããããªããã ããšãããªãã®ãã£ã¡ãã£ãŠããšããŒã¿ããŒã¹ãã£ã¯ã¹ãã£ã£ãŠããã®ã¯ãã¹ãçšã®ããŒã¿ããŒã¹ãäœã2ã ãšæã£ãŠãã ãã rails 6ã¡ãã£ãŠä»æšæºãŸãšãã®æšæºä»ã
@wtnabe ãæšæºã ãšæããŸããã®æžãæ¹ãæ CSV 䜿ãããã©ä»äœ¿ããªããšãã¯å€ãã£ããã© PIXTA èªäœã¯è¡šã
@PharaohKJ ããŸã ããã䜿ããšç°¡åã«ã§ããè¡ã£ãŠãã£ã¡ãç°¡åã§ãã¶ããããã§ã¯ãã®æ¬ããã®æ¬ã¯ã¢ã³ããã¿ãŒã³ãšèšã£ãŠããã©åã®åãã®èªèã§ã¯ãããã¢ã³ããã¿ãŒã³ã«ããã«ãããç°¡åãªããããªããããã£ãŠãã解決ã¢ãããŒããªãããªããã©ããè²·ã£ãŠæã£ãŠãã ãã©ãã¹ãçšã®ããŒã¿ããŒã¹ããã£ã¡ãäœããªãããããªããã ãã©ãŠãã£ãŠäºã¯ããããŒã¿ããŒã¹ã®ã¬ã³ãŒãã§å
šéšè¡šçŸããããšããŠãããã£ãŠèšããªã®ã§ããŒã¿ããŒã¹ã¯ãã£ãšæžããªããšãããªããã ãã©èšãããããããåããããç®ã«ããŒã¿ããŒã¹ã®ã¬ã€ã€ãŒããŸã泚å°ãã§ããŠãªããªãã£ãŠããã®ããã¿ã³ãšããŠèŠã€ãããšãã話éžããªãã§24.41ãã¿ãŒã³ãçšããŠãè¯ãå Žåã
@yu_kgr ããã³ãããã
@PharaohKJ ãé·ã
ãšæžããŠãããã©ã»ãšãã©ã®å Žå家ãåºã人ãšæãšååã ããããã¿ã€ãäœæã«ãååããããšããã®ãããã«æžãããããã¿ã€ã䜿ãããããã ã£ãŠããã§ããããã£ãŠè€éãããªãã®ã§ããã§ãããããšããã®ããã³ã³ã«å
¥ã£ãããšã§ã¯ã©ããŸã§ãè€éã©ããŸã§ãç°¡åããšæããã©ãŸããããã ãã©åããèšãããã°ãŸãè²·ãç©ãããããäŸãã° EC ãµã€ããããã ã£ãããã£ãœã©ã®ããšããªãéãã«ã ãã¶ãã®8ãã¿ãŒã³ã§åºåãã§ååãããªãããªãšã¯æãããã ããã°ãµã€ããšããã®ãããã ã£ãã ãã¶ããã®ã§èªåã ããªããé販ãµã€ãã«ããŠãä»ã«è²·ã£ãŠå£²ã£ãŠãŠè²·ã£ããããªãšæããã©ãŸãäŸãã°ã§ãæ¶è²»çšãçµãŠã°ä»åºŠã¯0.8%10%ãã¯ã¡ã±ãŒãããšã
@PharaohKJ ã10%ãæ··åšããŸããšããªãšã ãã¶ã ãã¶éã£ãŠãããã§ãã dao ãã足ããªããããããªããã©ãããã颚ã«ã·ã³ãã«ã ã£ããããã§ãããã俺ã¯ãããããã§åŸ
ã£ç°¡åãªããã°ãµã€ããšãé販ãµã€ããããã ã£ããã·ã³ãã«ã ãåååºãªãããªãšæã£ãŠãŸããã©ã»ãšãã©ã°ååã ããŠæ¬¡24.5解決çãéæã¯ã¢ãã«ã activerecord ãä¿ã€ããã«ããŸããããšãªãã®ãã£ã¡ããã£ãŠèšããšãŸãã³ã³ãããŒã©ãŒã¯å
¥åãåŠçããŠãã¥ãŒã¯åºåãããã¢ãã«ã¯äžèœãªè§£æ±ºçãæäŸããããšã¯é£ãããšããã®åãå
¥ããŠãªãã§ãã£ãŠèšããšãã¢ããªã®æ®ãã®éšåã
@yu_kgr ãã ãã¶ã
@PharaohKJ ãããããæ¥ããã ããã³ã³ãããŒã©ãŒäžç·ã«ãããããã颚ã«èŠããæ°ŽåŠçããæ®ãã®éšåã£ãŠããã®ã¯ãããªããžã§ã¯ãæåèšèšã¢ããªã³ã°ãšã domain DRIVEN èšèšãšãããããäžçãªè©±ã ããäžèœãªè§£æ±ºçã£ãŠããã®ãã¢ãã«ã«æãããã£ãŠäœé£ãããšããããšã§ã¢ãã«ã activerecord æã€ããã«ãã au ã®ã¯ã€ãŸãããããããšã§ããã§ããã¢ãã«ã¯ MVC ã§èšã M ã ruby on rails ã®å€¢ãããªããŠãªãã§ãããŸã§ã MVC ã® M ã¢ãã«ã®æã«ã®è»žããã£ãŠãããã«ãã®ããžãã¯ãå®çŸããããã«å
å
ããŠããã®ã activerecord ããŒã¿ããŒã¹ã«ä¿åããããªãã ãããã£ãŠã
@PharaohKJ ããããŸããããã£ãŠããã®ãããã§æžããŠãã解決çã¢ãã«ãçŽæ¥ activerecord ãããªããŠãåºã activerecord 䜿ãèšèãã䜿ãããšãå€ããããžãã¯ã®å®çŸãšããŠããã䜿ããšããã®ãæ¬ ããŠããŸã£ãããã«24.5æ¥ã¢ãã«ãç解ããã¢ãã«ãããŒã¿ããŒã¹ãªããžã§ã¯ããåé¢ããéã®èšèšå€æã®åèãšããã®ã§ããããèãæ¹ããããŸããã£ãŠéãéãã®ã£ãŠãã§ããããã®åèæ
å ±ãšããŠããããåèªããããŸããã®ã£ãŠãŠãŠãã°æ
å ±ãšãã¹ããŒãã£ãŠãããã¿ãŒã³ããã£ãŠã€ã³ãã©ã¡ãŒã·ã§ã³ãšãã¹ããŒãæäœã®è²¬ä»»ã
@yu_kgr ããªããªãã©ã¢ãã«ãæã€ããããªãã»ãããŠããŠäœ¿ãããšããããã¿ãããªæ
å ±ãšãã¹ããŒãã
@PharaohKJ ããªããžã§ã¯ãã¯ãã®æäœãæããããã®å¿
èŠãªãã¹ãŠã®ããŒãã«ãæã€ã¹ãã§ãããšã å
ã§ã®ãŠãŒã¶ãŒã«é¢ããããšãåŠçããã£ãŠãã責åããŠãŒã¶ãŒãæã£ãŠããšãã®ãŠãŒã¶ãŒãé¢ä¿ããã¢ãã«ãŠãŒã¶ãŒã®ã財åžã ãšãèšããã®çµéšè
ãšãã¯ãŠãŒã¶ãŒã®ãã£ã©ã¯ã¿ãŒã ãšãèµ€ãã²ãŒã ã²ãŒã ãåã§èµ°ã£ãŠãŠãŒã¶ãŒã®æã€ãšãããã£ã©ã¯ã¿ãŒã ããŠãŒã¶ãŒã®æã€ã«ãŒããšããããããã®ã¯å
šéšãŠãŒã¶ãŒãå
šéš Access è¡ã«æã£ãŠãããšã£ãŠèšãã㧠activerecord ããŒã¿ã¢ã¯ã»ã¹ãªããžã§ã¯ããšå
æ¹ã®ã·ã³ãã«ãªã¯ã©ãŠããšã¢ãã«ã®é¢ä¿ã£ãŠã®ã¯äœã§ã¯ãªããšããã£ãŠããã®ã¯ä»ã® rails ã¿ããã«ãŠãŒã¶ãŒãšèšã£ãã use Table play the use ã¯ã©ã¹ã£ãŠããã®ã¯ãŠãŒã¶ãŒãŠããªããŠãŒã¶ãŒããŒãã«ã¯äœ¿ããŸããã£ãŠå
éšçã«å®è£
ãããŠãŠãã use OBJECT is use CLASSã
@PharaohKJ ãwith you the table è²ã«ãªã£ãŠãã®ã¯ããã€ããªãã ãã©ãããããªããŠãŠãŒã¶ãŒã¯ãŠãŒã¶ãŒã£ãŠããããŒãã«ãšããã®ä»ããããã£ãŠããã®ããã£ãŠãæã«è¡ã£ãŠãããã°æ
å ±ãšãã¹ããŒãã§ãããšä¹³ããã«é¢ããæ
å ±ãšãã¹ããŒãã¯ãŠãŒã¶ãŒã§ãããšããã¶ã¯ã©ã¹ã䜿ããªãããã£ãŠããã®ãåãããšã¡ãªã¿ã« rails ã® activerecord ã¯å®å
šã«ããã§ãããã ãŸãå€ã2äœãšãã¯ã1ãšãã¯ããªããšãã§ããã£ãœãã¯èŠããããšã§ããŸããã©ã§ãå®è³ªã¯ãŸãããªãã§ããã©æ»ãã§æ¬¡éè瀟ã¯ãªãšã€ã¿ãŒã¢ãã«ãããŒã¿ããŒã¹ãæ±ãæ¹æ³ã¯å€éšã«å
¬éãããªãå
éšå®è£
ã®è©³çŽ°ãããã¹ãã§ãããšèª¬ã create use ã£ãŠãã£ããæ®éã¯åªé
ãã§ãããã§ããã©ãã®ãŠãŒã¶ãŒãã§ãã
@yu_kgr ãæ²»ããã€ã
@PharaohKJ ãã€ãŸãã©ãããããšãã£ãŠããã®ã¯ã³ã³ãããŒã©ãŒãšãæäœèæžã«ã¯åããããããã§ããå
éšçã«ã¯åããŠãã£ãŠèšãã»ã©ãªã¹ã¯ãé«ãããã«ã³ã³ãããŒã©ãã¥ãŒã¯ãã¡ã€ã³ã¢ãã«ã®ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããã¹ãã§ãããšé£ã¯ã©ãŠããçŽæ¥éããŸãããšãããŸã§ç¹°ãè¿ããŠãŠã§ãããã§ã rails ãããã«ããŒãšããã®ã¢ãã«ã®ã¹ã³ãŒããšãè²ã
é§äœ¿ããŠãŸãã ãã¶èŠããªãããã«ã¯é 匵ã£ãŠããã§ããã©ã§ããå®éã¯ãã¢ãã«ã®å
éšå®è£
ãç¥ããªããšé«ããã©ãŒãã³ã¹ã®ããã«ç«¹ã¯ããããããã JOIN ããŠããããšããããããäœãšãããŠããããšããããããèšçœ®ããŠæã£ãŠããã®ããªããªãã§ãã«ãããªãŒãšã¯ã
@PharaohKJ ãæããŸãçŽæ¥ããçŽæ¥ãã åãããã§èšãããã£ãã®ã¯çµå±å
éšå®è£
ãç¥ããªããšäœ¿ããªãã¢ãã«ã£ãŠããã®ã¯å€ãããç¹ã«ããã©ãŒãã³ã¹åšãã¯ããããããã£ãŠããããšãå€ãçã¯ãããäŸãã°ããããã JOIN ããšããããšããããããã§ããäŸãã°ãŠãŒã¶äžèŠ§ãšãŠãŒã¶ãŒã®ææéäžèŠ§è±åºãããšãŠãŒã¶ãŒãšãŠãŒã¶ãŒè²¡åžããŒãã«ã JOIN ããŠãã®çµæãã衚瀺ããã§ãããäžå³¶æ·³äžç€ŸäŒãšäœããããã£ãŠèšããšãŠãŒã¶ãŒåžããŒã¿ã衚瀺ããŸããŠãŒã¶ãŒåžã財åžã®ããŒã¿ã SELECT ããŸã Part 2ãŠãŒã¶ãŒã«ã¯è¡šã
@yu_kgr ãæ¯åçŽæ¥å©ãã¡ããããšã«ãªããããªããšæãã
@PharaohKJ ããŠãŒã¶ãŒã«ã®ã財åžã衚瀺ããŸãã£ãŠããäžèŠ§åºãæã«100ã¬ã³ãŒã衚瀺ãããçå£ã»ã¬ã¯ããèµ°ããšããã£æ€æ»è¬ãšããŠããã«ãŠãŒã¶ãŒããŒã¿ã®ä»äžèŠ§ã¯åžã»ã¬ã¯ãã¯ããåžã»ã¬ã¯ããã©ã¹ãã®ãŠãŒã¶ãŒããšã®è©³çŽ°ã£ãŠå®¢åžã§å§ãŸã£ãã§ããžã§ã€ã³ãã¡ãã£ãŠããŒã¿ã²ããããšãã°1äžçŽã®æµã§ããã ãã©äžèŠ§ãããã£ãŠããåŽãšããŠã¯ãŠãŒã¶ãŒã®äžèŠãŠç¥ããããªãã§ããã§ã¯ use ã¯ã©ã¹ãå®è£
ãã人ã«ãšã£ãŠã¯ã財åžã®ãéãã©ã£ããæã£ãŠããããªã㊠use ã¯ã©ã¹ãåŒã³åºããšã¯ç¥ããªããŠãããããã«äœãããã®ã«ããã©ãŒãã³ã¹åé¡åºããšãã¯å²ãšäžèº«ããŠãªããšäœ¿ããªãå®è£
ã§ããªãã£ãŠããšãããããããªãããªã£ãŠããã®ãçŸç¶ãªã®ããªã£ãŠããã®ãã³ã³ãåäŸã£ãŠããšãã
@yu_kgr ããªãã»ã©ãªãã¡ãã£ãšãªããé ã®äžã§ã°ã©ã QL ã«ããããã®åãããŸãã
@PharaohKJ ãããŒãªãã»ã©ãã§ãã銬鹿ããåã¯ããå®å
šã«ã€ããããåºãŠããªãããåºå²¡è害ã®1ã§ãã§ããããšèšã£ãŠç¹ã«ã¡ãœããåäœããã£ã¡ãæ©ããã§ãããã ä»èšã£ãéããŠãŒã¶ãŒäžèŠ§ãåºãã£ãŠããã¡ãœããã¯ã¿ããªã¹ãã£ãŠããã®ãŠãŒã¶ãŒã¯ã©ã¹ã«çãããŠçå·3 use äžèŠ§ãåºããšãã¯ãã®ã¡ãœãããšå ªããŠãã ããèšãããããããããããŠè²¡åžææéäžèŠ§ãåºãããå è€ãã100åãããšããŠãŠé
ããŠäœ¿ãç©ãªããªãã§ããã©äŒã£ãŠãªãããããããããšåãã£ããããã財åžã®äžèº«ãã€ãã§ã«ãã
@wtnabe ãæ°ããããå
ã«ã°ã©ã9ãšã«ãåºãŠãããã ãªã£ãŠããã
@yu_kgr ãåããã³ãããå©ãæã倧äœãããšãã£ãŠèª°ã
@PharaohKJ ããã£ãŠããã¡ãœããããã¯çµæãŠãŒã¶ãŒã¯ã©ã¹ã«ãŠãŒã¶ãŒãªã¹ããªã¹ãã¢ã³ã¹ã³ã財åžãšãäœã£ã¡ããããããããšçå·ãããã®ã財åžã®äžèº«è¡šç€ºã®æã¯ãã䜿ã£ãŠå¯ãŠãããš USE WITH THE List with ã財åžã£ãŠãã£ãŠè¡ãåºãŠæãããªããŸããã¯ãã ã£ããã§ããã©ã¢ãã¿ãŒç»åã衚瀺ãããšãããšãŸãçŸéã»ã³ã¿ãŒãã§ããã£ãŠããšã¡ãã£ãšåŸ
ã£ãŠãããããããªã¹ããèŠã財åžæ°Žã¢ãã¿ãŒãšãã«ãªã£ãŠãªããã©ãã©ãèŠããèŠããèŠããã£ãŠèšã£ãŠèŠãããªãæ¹æ³ãšããŠã¢ã³ããã¿ãŒã³ã«æ»ã£ãŠããŸãããã®çš²ç°ãããžã§ã€ã³ããããŒãã«äžèŠ§ã§ç§ãšèäžã§ããŸãããšèšã£ãšãããã¢ãã«ãç°èããããã®ããŒãã«ã«ç¥ããããŠããã ãã©æœ°ããããã£ãŠããåå è€ããã®ã¢ã³ããã¿ãŒã³ã«ã¯ãŸã£ãŠãããåŸã¯ããŒã¿ããŒã¹ã
@yu_kgr ãæ¯åãªãããŠãã
@PharaohKJ ãè³æŒ¿ãã ãããšããèŠãŠå¥³ãšé§åºããªã£ã¡ãã£ãŠããã³ã³ãããŒã©ãŒãéããªã£ã¡ãã£ãŠããããã話ã«ãªã£ã¡ãã£ãŠå©ãå®ãšããããã§æž¡èŸºããã©ããã£ãŠé 匵ã£ãŠããããäŒç€Ÿã¯æ€èšŒããªããšäœ¿ããªããšèšããã
@wtnabe ãããŒãªãã»ã©ããã«æ¥ããã§ããããã§ããäŒè²»äœåã話ããããã§ããã©2 activerecord ãç¶æ¿ããªããšã¢ãã«ãäœããªãã®ãã¢ã³ããã¿ãŒã³ã ã£ãŠãã颚ã«èšã£ãŠããšæããã§ããã©ãã rails ä»ã®å
šãŠå
šãŠã ACTIVE RECORD ãã¿ãŒã³ã§è¡šçŸãããå Žåã¯ã¢ã³ããã¿ãŒã³ã§ããã£ãŠæžããŠãããŸããã¢ã³ããã¿ãŒã³ã«ãªã£ãŠããŸãã®ã¯ Mã
@yu_kgr ã07ã
@PharaohKJ ãããããåºãªããããŒãªãã»ã©ãçŸå®ãããããå®éã®ããŒãã«ã¯ãã¹æ¶ããããããªããããããã£ãœããªã£ã¡ãã£ãã§ããã
@wtnabe ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ã¢ãã«ã¯ã©ã¹ã activerecord ã®åºåºã¯ã©ã¹ãç¶æ¿ãããšããèŠçŽã§ãã£ãŠæžããŠãããã§ããã© rails ã®èŠçŽã« model activerecord ãç¶æ¿ããªããã°ãããªãã£ãŠå¥ã«ãªããã§ãããéããããã£ãŠããæ°æã¡ã¯å²ãšåŒ·ããã£ããããŸã activerecord ç¶æ¿ããªãã¢ãã«äœã£ãŠããã§ããžãã¯æžããŠãã®äžã§ activerecord åŒã¹ã°ãããããã§ãåãããšèšããã§ããã©ãæ¬ã§æžããŠããã®ãšããºãã©ã«ããã°ãããããã£ãŠãã話ãªãã§ããã©ããããæ¡å€ã¿ããªå¿ãã¡ãã£ãŠããšèšããæ¶ããªãããé ã ããã®ã¯ã©ãããå
¬éãã
@PharaohKJ ãJava ãŠãŒã¶ãŒãæ¿ã®ã¬ãããšãããšãããããã©ãã£ãèšã£ãéã玳士åå®çµã°ã§ããªãã§ããã
@wtnabe ãããã«ã®ãã£ãããéãããã¯çŽ³å£«åå®ã«ãªããŸãããªãã ãã©ãã®æåããèšèšãå
šéšåºæ¥ãŠããããããªããã§ãŸãããã¯æè¡·æ¡ã§è¡ã£ããããããããªãã£ãŠããã®ã¯çµæ§åŒ·ãæã£ããã¯ããŸããã©ããŠããã®ãšããã£ãšãå
¬éãããŠãããå¿
ããã¡ã€ã³ã¢ãã«è²§è¡çã«ãªãã£ãŠæžãããŠãã®ã¯éåžžã«åŒã£ããã£ãŠãŠããããªããšããŒãã£ãŠãããªããšããŒãã£ãŠã®ãã®åŒ·ãçãããããã¯åãã©ããã£ãŠé¿ããŠããã£ãŠãããšããããã¢ãã«ãã³ã³ãããŒã©ãŒã®äºæ
ç¥ã£ãŠããŠã¯ãããªãã£ãŠããã®ã¯ãããšæåã«èšãããèšãããŠãã®ã§ã
@yu_kgr ã玳士åå®ã
@PharaohKJ ãããããããããããä»å®ã¯æž¡èŸºããããã°ã¢ãŠãããŠãªãã®ã«ããŠã話ã¯ã¯ãªãšã€ã¿ãŒã®è©±ã§24ç¹5.1éè瀟ã¢ãã«æãè¿ãã
@wtnabe ãã³ã³ãããŒã©ã®äºæ
ã¯å
šãèããã«ã¢ãã«ã§å®çµãããã¹ãã£ãŠããã®ã¯ãã® rails ããå§ãããšãã«äžçªæåã«ã¯ãããªãã ã£ãŠæã£ãŠé 匵ãããšæã£ããšããã ã£ãŠããã®ãšãã tdd ã§ããã®ã§åºæ¬çã«ã¯å
šéšç«ã£ãæã«ã³ã³ãããŒã©ãŒã«æžããšã¢ãã»ã©ãã¹ããã«ããã®ã¯ããã£ãŠãã®ã§æžãã«ããã£ãŠããšã¯ééã£ãŠããã ãªãšæã£ãŠããã§ãããŸãã³ã³ãããŒã©ãŒã«æžããšãããã¯ããããªã£ãŠãããåãããã§ããã§åŒãè¿ããããäžçªå€ãã§ãããªãã§ãšã«ããã¢ãã«ã«å
šéšããã³ãã£ãŠãããã
@PharaohKJ ãã¯ãªãšã€ã¿ãŒè©±ã§ãŸããšã«ããä»ã¯ç°éšããããã£ããã£ãããã«ã¢ãã«ã«å
šéšæããã芪ã£ãŠããããšã§ã¢ãã«ãé 匵ã£ãŠå€éšã«å
¬éãããªããããªå
éšå®è£
ã®è©³çŽ°ã«ãããšãã颚ãªãã£ã±ãããã ãã©ãã©ã¯ã«ãã£ãšã§ããŸããæšæ¥ã¯ããšãã°ãŠãŒã¶ãŒã®ã財åžãå¥ã§ãã³ããŠæã£ãŠãããæ®ã£ãŠã¢ãã¿ãŒãåºãã§ã西æŠé³Žéã§ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ããæã«ã¯ãããããããã JOIN ããããŒã¿ã¯å
éšã§æã£ãŠãããšãããããã©ãããšãã®åãçšæããã¡ãœãã㯠use . List with ã財åžæ°Žã¢ãã¿ãŒã£ãŠè¬ã®ã¡ãœãããå¢ããŠãã€ã©ãã©ãã©ãã©ãå¢ããŠããžã£ã³ã¹ã«ãªããšããªã¹ã4ãªããšãã³ã
ãŒãšããªã¡ããã
@PharaohKJ ããã俺ãã¡æ¥ãŠãŠãããšæããã§ããã©æž¡èŸºãããããããã¡ãœããããã€ã¹ã®å¥œããªã®ããªãšæã£ãŠå¿å¹ŽäŒã ããã§ãããäŸãã°ã·ã³ãã«ã«ãªã¹ãã欲ããã£ãŠèšã£ãŠãªã¹ããè¿ãã¡ãœãããã¡ãããšèšããããäŸãã°ã¡ãããšã¯ãã ã®ãŠãŒã¶ãŒãäœã£ããšããŠãçµå±ããã©ãŒãã³ã¹ã欲ããæã¯å
éšå®è£
ã¡ãã£ãšç¥ã£ãŠããªããšã§ããªãã£ãŠèšããã§ãŸãå
éšå®è£
ãç¥ããªããŠãã§ããããªã¡ãœãããæäŸããŠããã§é 匵ããšãã£ã¡ãããã§ããã©ããã£ãŠãŸãã¿ããªãã£ãŠããã
@wtnabe ãããã§ããç©ã«ãããã©å²ãšãããŸãã倧æ€çŽ¢ã¡ãœããã¿ãããªã®ã欲ããæããããã§ããæ㯠parameter åãåã£ãŠ activerecord ã®ãªã¬ãŒã·ã§ã³ã§ãŽãªãŽãªãŽãªã£ãŠçµã¿ç«ãŠãã®ãããŸãããã£ã±ãããªã£ã¡ããããã§ããã
@PharaohKJ ãåããŸãããµãšãããã ããããããããæ¹ãä»åã¯äžäœãã ã£ããã©ãŸããŸãå
æ¥ç»åã«ããŒã§å匷äŒã§ãã£ããããŽãªã©ã£ãŠãšããã§ããå匷ããå
容ã®ãã®ãæŒãä»ããŠè¿ããšããå Žåã«ã¯æ·»ããã®è¿èŸºã§ããŸããå
éšçã«ã¯å®ã¯å€éšãµãŒãã¹è²»ã£ãŠæ€çŽ¢ããçµæãè¿ããŸãã£ãŠããã®ãã¯ã©ããã®ãªã¹ãçŽæ¥éãããããªãéãã¯ã°ã©ã³ã Find ãšèšãã¹ããããã調æŽããªãããããªãããã§ããã§ããã£ãŠãã話ãªãã ãã©çµå±ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãããšãªããšäžèº«ã®å®è£
ãç¥ã£ããããªã¡ãœããåã«ãªã£ã¡ãããªãŒã£ãŠããã®ãåã®å°è±¡ã
@wtnabe ãããããã®ããçšåºŠä»¥äžè€éã«ãªããã ã£ãããã®è€éããåãæã€äººã activerecord ããã²ã£ãºããã£ãŠããã®ããã®æ¬ã§èšã£ãŠãããšãªãã ãããªãšã¯æã£ãŠãŸããã©ããã£ã¡ãããã§ããã
@PharaohKJ ãã¢ãã«ãã¹ãæ©ã§ããããã
@wtnabe ãããšäœã ããæœè±¡çãªè€éãªããžãã¯ãå®çŸã§ããããã©ããã¯åããŠããã®ããªããšããããªãã¿ãããªãã®ãã¯ããªåµã®è©±ã¯å¿
ãã€ããŠåãæ°ãããŸããã©ããããããããã®ãŸããããã颚ã«ãªã£ãŠããšãããã颚ã«æœè±¡åºŠäžããŠããã°è接ãªããžãã¯ãæžããŠã倧äžå€«ã ããã£ãŠããã®ã¯æºäœæ³ãšããŠããããã ãã©ã§ããã®è€éãã£ãŠå®éã«åããããŒã¿ããããšãããšãããšããã§ããã¯ããåããŠãã¿ãããªã®ããªããšå®éã«åããªããã®çµµã«æããé€
ãªãããããªããããã£ã±ãããå
ã«äœã£ãŠè©³çŽ°ã¯åŸããäœãã¿ãããªã®ãæåããæ°æã¡ããã§ãããã£ãŠèšããšããã«ã¯ãããéã«äžå®ããã£ããããã®ã§ã©ã£ã¡ãããããã£ãŠããã®ãæ£çŽãªãšããªããããã
@PharaohKJ ãææ¥ããäœããŸãããã°çµå±äœããããããšãŸããããªæããšè¯ããã° Creator æ¬¡çŽ çµåãŸãä»æŽèšãããšãããªããšæããã©ä»ãããã®æ¬ SQL ã®æ¬ã ã£ããã§ãã®ããããçµåã£ãŠãªã£ã¡ãã£ã解説ããã人ãèŠãã®ããã£ãŠæã£ãã£ãŠè©±ã§ãããã®æ¬¡ãå·¥æ¥ç²æž
èæ¯ã·ã§ã³ã³ããŒãžã§ã³æããªæã³ããŒãžã§ã³ã¢ãã«ã¯ã©ã¹ã TAO ããåé¢ããã°ããžãã¯ãŠã§ã¢ã®æ¡èª¬ææžããã¡ããã®å§¿èŠãŠãåºæ¥ãŠè¯ãã女æ§ãåŸãããšãã§ããŸããã£ãŠèšãã
@wtnabe ãçã®ããŒã¿ããã¿ãã£ã±èŠããŠæ¬²ããããŠæœè±¡åºŠãäžããŠããããåã£ãŠããçæ³ããããããªããã§ãªãããããäžæãã¢ã¯ãã£ãä»å€æ¥ãªããŠã rails activerecord ãããã®èŠçŽã ãšãŸããŸãããããšãªãããªãŒã£ãŠããæ°æã¡ã§ã¯ããŸããã©ãã
@yu_kgr ããããžã§ã³ã
@PharaohKJ ãããããã®ããã³ãã«ã¢ãã«ãããŒã¿ã¢ã¯ã»ã¹ãªããžã§ã¯ãåé¢ããŸããããã£ãŠèšããŠããã«24.5ç¹ã«ãã¡ã€ã³ã¢ãã«ã®äœ¿çšãããŠ8ãã¿ãŒã³ã解決ããããšããããšã§ããã§ãŠããŸããšãªãã¯ãšãŽã¡ã³ã¹ã®ãã¡ã€ã³é§åèšèšæ¬äœãŠãåºãŠããŠãã¡ã€ã³ã¢ãã«ãšåŒã°ããåªãã解決çãæå±ããŠããŸããšãã€ã³ãèªããšäžéšãšãœãããŠã§ã¢ã®åã£ãæå³åãã§ã¯ãªã MVC æ¬æ¥ã®æå³åãã«ãããã¢ãã«ãšã¯ãªããžã§ã¯ãæåã«ãã£ãŠå¯Ÿè±¡ãã¡ã€ã³ãã¢ããªã±ãŒã·ã§ã³äžã«è¡šçŸããããšã§ãããã¯ããªãã¡ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ã«ãŒã«ãšçŸå°»ã®ããã®ããŒã¿ã§ãä»çå£ãããç Žç£ãã¡ãã£ãã§ãããããã«ãç¶ããŠã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯ãã¢ãã«ãšã¯ã
@PharaohKJ ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯ãå®è£
ããå Žæã§ãããšããŒã¹ã®ããåãã¯ã¢ãã«ã®å
éšçãªå®è£
ã®è©³çŽ°ãªã®ã§ããšããŒã¿ããŒã¹ã®æ§é ã§ã¯ãªãã¢ããªã±ãŒã·ã§ã³ã®æŠå¿µã«åºã¥ããŠã¢ãã«ãèšèšããŸãããŠããŒã¿ããŒã¹ãã¢ãã«ã¯ã©ã¹ã«å®å
šã«é èœãããããããã«ãªããŸããããšããã®ã¯åãæåã«å
¥ã£ãäŒç€Ÿã® OCR ã®çµæãæŒããšã¯ãããšãããšãã¯å®å
šã«æ¥ããã£ãŠã俺ããŒã¿ããŒã¹ãªãã§ç¥ããæžãããã£ããã©ãªããç¥ãããã©ãã£ã¡ãããŸãããšããã€ã¯ããœããã® Access ã®ããŒã¿ããŒã¹ã«ãªã£ãŠãçµµã Java ã®ã®ã³ãŒããç¶ããŠãŸãåä»é«èã®ã³ãŒãããã€ã¬ã§ãçµåãã§ããŸãããã³ã³ãããŒã©ãŒããè¡åãå
¥ããŸããããšã³ã³ãããŒã©ãŒãã©ã®çšåºŠã§ã¢ã¯ã»ã¹ãç¥ããªããŠãã¡ãããšåãã®ã«åºãããŠãããšã
@PharaohKJ ãã§ãåºããããŒã¿ããŒã¹ã®ã¯ãšãªã®ã«ãã»ã«åããŠäŒéšã§æ¥ãŠãã£ãŠããã®ãåããããšã¯ããã«æžããŠãããŸããšããã«è§£æ±ºçãšããŠãã¬ã€ã®ãªããžã§ã¯ãã®ãã¹ãçæ³çãªã®ã¯ DB ã«æ¥ç¶ããããšãªããã¹ãã§ããããšã§ããšåé¢ã§ããã°ã¹ã¿ãŒãã¬ã¢ãã¯ã¹æ°ã«ãªããŸããšããããšã§å
ã«åºãŠãããŠãŒã¶ãŒã®ããŒã¿ãã財åžãä¿åãããã£ãŠããã®äžãå©ãã ãã§ãã£ãŠå¥ã«äœãããã§ããã§åºãŠãããã ãã©ãŠããã®ããªãã®ãçæ³çãªãã¬ã€ãªãªããžã§ã¯ãããã®ãŸãŸäœ¿ãããšãèšãåºããšããã«çŸå®çã«èããæ¡æ°çºç°çŸå®çã«èã㊠dao ã¯é£çµ¡ãããªããžã§ã¯ãã¯ã©ã®ãããªãã¬ãŒã ã¯ãŒã¯ã«ãããŠãããšããããããžãã¯ããŒã³ãºã¢ã³ããã¿ãŒã³ãæãããšããŠã䜿ãããšå¹æçã«äœ¿ãããšãã 枡蟺ããã®ãããªãšãã¹ããŒãå±çŽ³å£«åå®ããªã人ãã
@PharaohKJ ããªããžã§ã¯ãæåèšèšååãããç解ããŠãªãäŒç€Ÿã«ä»»ããšå é³¥åã³ã³ãããŒã©ãŒã«ãã¡ããã¡ãæžããŠãã£ããæ³£ãããç
é¢ãªãã ããã ã§æžãã¡ãã£ããããŠããã£ãŠãããããšã«ãªããŸãããšéæ³ã®è±ã®ã€ããªã®ãã¹ãã²ããã£ãªã®ããŸããããªã®ãã¯ããåŸ
ã£ãŠèªããªããã®ãã§ãã¡ãããšãããã®æ¬ã® SQL ã¢ã³ããã¿ãŒã³ã®èª¬æããã¢ã³ããã¿ãŒã³ã¯ãšã¡ã¢ãã®åºæ¬ã¯ããŒã¿ããŒã¹ã¯ãããæã£ãŠã®ã¯ããŸãé èœããŠãã®æ¹ãçç£æ§ã倧ãã«é«ããããŠãŸãããšæåŸã«ã«ãã³æžãã§ã¢ãã«ã¯ããŒãã«ããåé¢ãããŸããããšå€§å£ããŠããã§ããåã§äœãšãè¡ããããšããããã§äžæéåã
@yu_kgr ãå®
建åºæ¬æžã
@PharaohKJ ãããã¹ããŸãããããããã§ããå€ãªã³ã³ãããŒã©ãŒãæžããªããšãå
ããçŽæãŠãããããªãŸããããªæãã§ãããšãããã㧠activerecord ãªãã ãªãã ã€ã£ãŠãããæžããŠè¡ããã©äžçªèšãããã£ãããšã¯ä»èšã£ãéã詳现ãé èœããªãæè©®ã¯è©³çŽ°ãé èœãããã£ãŠããã®ãšåºããªããŠãè¯ãã¡ãœãããåºãããã¿ããªã³ã³ãããŒã©ãŒã«æžãã¡ãããã ãã£ãŠããã®ãã¢ã³ããã¿ãŒã³çŽæ¥ã¯ã©ããã§ãã¡ããããæžãã¡ãããã ããŠãã¢ã³ããã¿ãŒã³ã ãã©ãŸã玳士åå®ãçµã¹ãªãéã䟿å©ã«äœ¿ãããããŸã䜿ã£ãŠããããã£ãŠããã®ã¯ãã®æ¬ã«æžããŠããããšã§ããšã¯ã ããããããªãšããããªãåããŸãããã©ãã§ãã
@yu_kgr ãæ°ãã€ãããã§ããã
@PharaohKJ ãã¡ãã£ãšææ³ãèããŠçµãããŸãããŸã§ã§ããããšã¯ãããããåºæ¬çã«ã¯ãã§ããããšããã£ãŠãããã¬ãã§åŒŸãã£ãŠããã®ã¯ããããäºãã
@wtnabe ããŸã飲ãã§ãã® LL ã®äžçã§ã¯ã JavaScript ãä»ã¯ã§ãããã ã£ããã©ã€ããŒãã§ããŸããã£ãã©ããªãã®ãªããžã§ã¯ãã ãšãªããå¥ã«äœãã§ããªããã§ãŸããçŽæãããã¯åºæ¬äœ¿ããªãããã£ãŠããã®ã浞éããŠãã°ãŸããã®éšåã«çœ®ããšãã°ãšãããããã£ãŠããæ°æã¡ã¯ãããã©æ°æã¡ã ãã§ã¯äŒãããªãããã£ãŠããçãã¡ãããããŸããã
@yu_kgr ã玳士åå®ãããœãŒã¹ãã¿ã€ãã¹ã¯ãªãããšãã ãšã§ããŸãããã³ããŒã ãšãªãããã§ããããããããããã®ããããã§ããã©ããã«ãã
@PharaohKJ ãããå¿ãç
ããããããããåçŽæ¥åŒã¶ãããããŒãã ã£ãŠåŒã¹ãããŠã¿ãããªã£ã¡ãããããããã£ããã¡ãããšã³ãŒãã®æ¹ã§ãã©ã€ããŒãã§ããŠãããšãé èœããšããšãããŠãã®äººãããããšããŠããããçŽæ¥å©ããªãã§ãã£ã¡äœ¿ã£ãŠãã ãããšãããããã§æžãããäºãæ©ãŸãªããŠæžããããããªãšæããŸããã ãããåºæ¥ãããšã¯ã§ããããã§ããªãããã«ããã£ãŠãããšåºæ¬äœã§æãšãããã㧠effective Ruby çªå€ç·šæçµåãšãªããŸããã©ãã§ããæºè¶³ããããè»åºãŸããã§ããä»ã®ç©ºçœãè¡šçŸããã®ãã¡ããã¡ãé£ãããªãã Facebook äžã§ãã ããã« FB ãå®èµ°ããã
@yu_kgr ããœãŒãã
@wtnabe ã8°誰ã
ãåãåã effective Ruby ãèããŠãäœã§ããã£ãã
@PharaohKJ ãå®å
šã«èµ°ããã£ã也ç¥ä¹Ÿç¥ã®ä¹Ÿç¥ã§1æé延é·æŠãããããããã§ãããªãåããããšæããŸããã»ã©ããŸã決ããŠé ã«ã§ããããšã¯ã§ãã¡ããã£ãŠããåé¡ãã©ãããŠãé³ãèããŸãããè±èŠè±èŠãã¬ãŒã ã¯ãŒã¯ã
@wtnabe ãããŒã¯ãã¯ãããã£ãããåãã activerecord ãªã£ãŠèšã£ãŠã¿ããããããªããªã£ãŠããæ°æã¡ããããã activerecord ãããšæããŸãããªãã ããäžçãå€ãã£ããã®ãªãã§ãã®ã€ã³ãã¯ãã匷ãããŠæã¡äžããããŠãéšåããã¡ãããããšã¯æããŸããã©ããŸãä»ãšãªã£ã¡ããå¯ãªãäžçãã¡ãããšäžç·ã«è¡ã£ãŠã¿ãã£ãŠã®ãããªã®ãããããªãããªããä»ã ãšè±èŠãšãè±èŠã¯ activerecord ãããªãä»ãªããžããªãã¿ãŒã³ã«ãªããã§ããã©ãããªããæ¬åœã¯ããã¡ãã£ãšãã£ãŠã¿ãã»ãããããããªãã¿ãããªæ°æã¡ã¯ãããŸãããã
@yu_kgr ãè±èŠã
@PharaohKJ ã調æ»æžé·æãç«ãã¬ãŒã ã¯ãŒã¯ãæäŸããŠãå€ã®å€ãšèšããããããšæãã°ã§ãããã©ããã¯äžæŠèããªãç³»ã§ããããã¡ã¯ããèããªããŠããããäœã§ããã£ãŠãã rails ãã£ãŠãŠãŸã SQL ã¢ã³ããã¿ãŒã³ã«è¡ãã£ãŠã ãã¶ãããããªãã§ãããªãã§ãã£ãŠèšããšä¿ºããã ãã¶çŽæ¥ SQL ãæžãããè² ãã ãšæã£ãŠããã§ããã¢ã¯ãã£ãéçšã¯ããŒã¿ããŒã¹ or ããããŒãããªããã©ãã
@wtnabe ããŸãã ãã®ä»åã®ã¢ã³ããã¿ãŒã³ã®ãã€ãã activerecord ãããªããã¡ã€ã³ã¢ãã«ã倧åãããã©ã©ãããååã§ã©ãã«çœ®ãã¹ãã¿ãããªã®ã£ãŠãã£ã±ãããããªãã§ããããããããããã®éšåã®ãã³ãã¯ãããã©ãã«æ¢ãã«è¡ãã°ããã®ãã£ãŠèšããšãŸãããã玹ä»ãããŠããã©ãã£ãŠããã
@yu_kgr ããã ãã³ã¯ã¹ãã
@PharaohKJ ãããŒã¿ããŒã¹ãé èœããŠããããã®ããããã ã£ãããã®ã¡ãœãã絶察å©ãã¹ãã§ãã£ãŠ SQL ãçŽæžããããè² ãã ãšæã£ãŠããŠãŸãå€åããæã£ãŠã人ã£ãŠçµæ§ãããšæãããããã人ã SQL ã¢ã³ããã¿ãŒã³ãè²·ããã£ãŠè©±ããŸã SQL ã¢ã³ããã¿ãŒã³ãè²·ãæãŸã§è¡ã£ããããã«çŽ¹ä»ããããã¿ãŒã³ãšããªãªã®æ¬ãšãã«è¡ãã€ãããã§ããããã©ãªããªãé£ããã§ãã
@wtnabe ããªãã»ã©ãããã§ãããŸã ACTIVE record ãåŠãã«ãããããããèãã®ã¯ã£ãŠãèªåãããæãã®ã¯ç»é¢ããå
¥ã£ã¡ãããšããããªãèåãªæ§é ã®ããŒã¿äœã£ãŠãèåãªããžãã¯ãããããåããŠã¿ãããªããšã¯åããããæ°ã¯ããŸããã®åŸã®ããŒãã«ã®ã¬ã³ãŒããäœãèšã£ãŠã
@yu_kgr ãåããæ¢ãŸãããã§ããã
@PharaohKJ ããããããããããèšèšã§ããªããã ã£ããããããããã£ããå
¥ããšæ ¹æ²ããã§ããããåãä»èªåã§ããããªãšæã£ãŠãã®ã¯éã«åºãããå
¥ã£ã¡ãããã§ããã客ããããããªç»é¢ããã£ãŠãããªç»é¢ããã£ãŠãã³ãã³ãã³ãš3åæŠããããããã颚ã«ãããããã§ããããã«ããã客ããã®èŠæã¯æ±ºãŸã£ãŠãªãã®ã«ãªããã§ãã®ã客ããã«èŠããã¹ãã¯ãã®ããã«äœã£ãŠããããªæãã§ããããã§ãããã£ãŠããæããŸãèŠããªãããããªãã®ã«ãªãããã£ã±ããŸãæ£èŠåãšããã§ãããã ãšççŸããããããªã£ãŠããããŒã¿ããã£ããããŠããããžãã¯ãã¶ã€ã³ã
@wtnabe ããã®ç»é¢ã«ãªã£ãŠããã®ãããªåéããããŠã§é
ç®åã20åãã£ããã«20ã«ã©ã ãå¢ããã¿ãããªèã¿ãããªã®å¹³æ°ã§äœã£ããããã®ã§ã
@PharaohKJ ãããžãã¯ãå
ã«åž°ã£ã¡ãã£ãŠãã View ã«å
¥ã£ã¡ãããã§äœãã客ããã«ãªããªããã¡ãŒã¹ãããŒãžã§ã³èŠããŠãé
ãã£ãŠããã®ã¯èªåã®äžã§åŒ±ããªãšæã£ãŠåºãã ããç»é¢ã¹ã¿ãŒãã£ãŠããã®ããããªãããªãšæã£ãããšããªãã«ãããããã§ããã£ãšèšããšäœã ã£ãããèãã®ã rds ãé
ãã£ãŠäœãé
ããã£ãèšèšãé
ãã£ãŠè²ã
ã¹ããŒã決ããªãããããªãããããããããã ã£ãŠèšãã®ãèããããšãå¯èœ SQL ã§é©åœã«ãã§ã€ã¹ãä¿åãããŠèªãã ãã§ãŸã ããã£ãŠèšãã®ãèããããšãããŸããã©ããã§ãããšèšã£ãŠãéããªãç»é¢è¿ãå®ãšã¯å¯¿åœãšãã®åé¡ã§ãããããæšãŠããã ã£ãããããã©ãããããŒãžã§ã³1ã«ããŠããŒãžã§ã³2ããŒãžã§ã³3ãš5幎ããããããŠãããŠé£ã£ãŠãã¡ãã£ãšããŸãå¥ãªåã§ãããã
@wtnabe ãfirebase ã§ããªããã§ãããããç®çãªããŸãããã¯ããã§ã¢ãªãªæ°ã¯ããŸããã©ãã
@PharaohKJ ãåçãªããããªããã£ãŠèšããšã¯ãããªããŒã¿ã®æ¿æ²»å®¶ãªããŠã©ãã§ããããããŸãã¯äŸ¿å©ãªããŒã«äœ¿ãããã£ãŠããã¢ããã¯ãŸãããããªãã¯ãªããªã£ãŠèãã®æããŸããã©ããããªåãã°ããèãã¡ãã£ãŠãæç¹ã§ã¢ã¬ãªãã§ãããã®äœãèããŠããããŠããŠãã®ã¯ã ãã¶ããã£ã¡ããæãã¯ãããŸããã©ãã®ãšããã°ãã
@wtnabe ãåŠæ³ã ãäŸãã°ã¢ã¯ã»ã¹ã§æžããã®ãªãã ãã©ã¢ã¯ã»ã¹ãèªåãã§è²·ã£ãŠãªããããããããããªãããããããäžžæããããã¿ãããªæã«ã¯ãŸãããããã®ã§çããã£ãŠã®ããããããããªãã§ãããããããããããã¯ããã§èŸãã£ããã©ãŸãããã§ããããã¹ãããã©ã³ãã³ã°ã®è©±ã«ãªããŸãããäŸãã°ã¡ã€ããããããŒã¿ã«ã§ããŒã¿äœçªæ°ã«ãªããã§ããã¿ãããªã
@PharaohKJ ãå·»ã蟌ãŸããçå·ããã¯ã©ãã§ããè¯ãã£ãã§ãããŒãªãã»ã©ããããããããããŸååãããã ããã activerecord ãããŸãŸäœ¿ããªå®è£
ã®ããšãèšã£ãŠãã®ããåºããªããã¿ãŒã³ã®ããšãèšã£ãŠãã®ãããåããã«ããããšããããªãšæã£ãŠããããããããã§çå·ãã森ã
@wtnabe ããŸããŸã§ããããã
@yu_kgr ãããå匷ã«ãªããŸãããã¬ãŒã«èªäœãããªåãªãã£ããã§çµæ§ activerecord èªäœã®èªèããªãã rails ã«ã€ããŠãã or ããããŒãããã§èªèããªãã£ããã§è©±ãèããŠãéäžã§ã¢ããã¶ã€ã³ãã¿ãŒã³é«ãã®ã¯ãããŠãã¢ãã«ãšãã®éŠã¬ã³ãŒããåãããšããã¢ãã«ã®äžã§ã¢ã¯ãã£ãã¬ã³ãŒããæ±ãã¿ãããªãšããã§çµæ§ããŒãªãã»ã©ãšããåãããŠãªãã£ããå
¥ã£ã¡ãã£ãã
@PharaohKJ ããªãã¹ã¿ãŒã§ã¯ãã§ã¯ä»æ¥ã¯ãã®ãšãã§ããã次ããé°æ§ã§æºåãçµãã£ããã§æ¬¡ã¯ã§ãããã® effective Java åããŠãã£ãŠèšããšããäžã€ã¯äºå®å
¥ããŸããä»ãã£ãšå±ãããšãã§ãæ¬ãåºãªãšããš clean architecture ãã£ãŠããã£ãŠèšãããŠããç¶ãããããããããããããããªããšéªéé Œãã§ãªããšçšæããªãããããªããšããããã§ã¡ãã£ãšåããã«ãªã£ãŠããçžæ§ãæã£ãŠããã人åãšãããããã枡蟺ããããããã ã
@wtnabe ãæãšæãã®äºå®ã¯å
¥ã£ããã§ãããšç€Œæãããããã©ããã£ãŠèšããåã¯ãªã¢ããããããã§ãŸããã©ã
@yu_kgr ãããã°ããµãã©ã€ãããã¡ãã°ã
@PharaohKJ ãã§çžæ§ãæã£ãŠããã人ãåéããŠãŸããã§æ¯éãé£çµ¡ãã ããã¯ããããä»æ¥ã¯ãã®ãšããã§ãã€äžæéå以äžãã©ããããããšãããããŸããããããŸãæ¥ãŠãã ããç²ãæ§ã§ãã
@wtnabe ãã¯ãããããšãããããŸãç§ãã§ãã
@yu_kgr ãã¯ãããããšãããããŸãã K æ§ã§ãã