2020å¹´ã®å¦ç¿æ¯ãè¿ã
é«æ ¡æ°å¦ãè±èªã®è½åä¸è¶³ãçæãã¦ããã®ã§ãä»å¹´ã¯ããããå¦ç¿ãããã¨ã«ããã ä¸å ¨ã¨åå¼·ãã¦ãç¶ããªããã ã£ãã®ã¨ãèªåã®è½åå¤ãå¯è¦åãããã£ãã®ã§ãããã¤ã試é¨ãåé¨ãã
æ°å¦æ¤å®2ç´
- åé¨æ¥ï¼2020/8/30
- çµæï¼åæ ¼ï¼ååé¨ï¼
- æè¦æéï¼410æé
- æ°å¦æ¤å®2ç´ã®ç¯å²ã¯ã ãããé«æ ¡æ°å¦ã®â ,A,â ¡,Bç¸å½
- èªåã¯é«æ ¡æ°å¦ããµãã£ã¦ãã¾ã£ãï¼å¤§å¦åé¨ã«ã使ã£ã¦ãªãï¼ã®ã§ã復ç¿ã¨ããããã»ã¼åè¦å¦ç¿ã«ãªã£ã¦ãã¾ã£ãï¼ãµãã£ã¦ãããã¨ãæ¿ããå¾æãã¦ããï¼
- 使ã£ãææ
- æ°æ¤åºçã®é«æ ¡æ°å¦ã®æç§æ¸ï¼â ,A,â ¡,Bï¼
- æ°å¦ã®ããªã»ã â ¡ã»Bï¼åç»ãããããããã¦æé«ï¼
- æ°å¦é¢é£ã®youtubeåç»ï¼æ°å¦ç³»youtuberã®æ¹ã ã«æè¬ï¼
æ å ±å¦çå®å ¨ç¢ºä¿æ¯æ´å£«è©¦é¨
- åé¨æ¥ï¼2020/10/18
- çµæï¼åæ ¼ï¼ååé¨ï¼
- æè¦æé: 180æé
- ãã£ã¨é ã®ä¸ã«ã»ãã¥ãªãã£é¢é£ç¥èã®ã¤ã³ããã¯ã¹ä½ãã®ã«ã¨ã¦ãè¯ãã£ã
- é«åº¦å ±éã®åå1試é¨ç¯å²ã«ä¸éå端ãªãã¸ãã¹æ å ±ï¼ä¾ï¼PPMã®éã®ãªãæ¨ï¼ãå ¥ã£ã¦ããã®ã¯ä¸æ¯ã«æãã
- 使ã£ãææ
- æ å ±å¦çå®å ¨ç¢ºä¿æ¯æ´å£«è©¦é¨ã®éå»å
- å¿ç¨æ å ±æè¡è åæ ¼ææ¬
- ãã¹ã¿ãªã³ã°TCP/IPãå ¥éç·¨
- æ å ±å¦çå®å ¨ç¢ºä¿æ¯æ´å£«ãå°éç¥è+åå¾åé¡ãã®éç¹å¯¾ç
TOEIC L & R
- åé¨æ¥ï¼2020/12/6
- çµæï¼900ç¹ï¼åå 10年以ä¸å: 670ç¹ï¼
- æè¦æéï¼130æé
- 10å¹´ãããåã«åããçµæããããªãã£ãã®ã§è¦ææèãã£ãããããªãç¹æ°ããã£ãã®ã§å¬ãã
- éã®ãã¬ã¼ãºï¼é称éãã¬ï¼ã¨ããåèªå¸³ã¨ãabceedã¨ããã¢ããªãã¨ã¦ãããã£ã
- 使ã£ãææ
- TOEIC L & R TEST åºãåç¹æ¥ éã®ãã¬ã¼ãº
- å ¬å¼TOEIC Listening & Reading åé¡é 6
- TOEIC L&Rãã¹ã ææ³åé¡ ã§ã1000åï¼ååããããã£ãï¼
- abceedï¼ã¹ããã¢ããªï¼
- è±èªé¢é£ã®youtubeåç»
- youglishï¼åèªå ¥åããã¨ããã®åèªã使ã£ã¦ãyoutubeåç»ãæ¤ç´¢ãã¦ããããµã¤ãï¼
- Netflixï¼ä¸»ã«SUITSã¨ããæµ·å¤ãã©ãï¼
ãã®ä»
- çµ±è¨ã®åºç¤ãå°ãåå¼·ãã
- ãã¢ããã¯ããããå ¨ãã¼ã®ã¡ã¸ã£ã¼ã¹ã±ã¼ã«ã¨ãã¤ã¢ãããã¯ã³ã¼ãã¯ä¸éãè¦ãã
ææ³
- é«æ ¡æ°å¦ã1ããç¬å¦ããã®ã¯è¾ãã£ã
- è±èªã¯10å¹´åã¨æ¯ã¹ãã¨ãã¨ã¦ãå¦ç¿ç°å¢ããããªã£ã¦ãï¼youtube, netflixãªã©ã®åç»ã³ã³ãã³ãæé«ï¼
- ç¶ç¶çã«å¦ç¿ããã¨ãå¾ã ã«ã§ã¯ããã確å®ã«ãåãããªãã£ããã¨ãåããããã«ãªããã®ã§æ¥½ãã
æ¥å¹´
- ä¸æ¥2,3æéã®å¦ç¿ã¯ç¶ç¶ãã
- æ°â ¢ã¨å¤§å¦æé¤ã¬ãã«ã®æ°å¦ã»çµ±è¨ãåå¼·ãã
- è±èªã¯ã¹ãã¼ãã³ã°ã«éç¹ãç½®ãã¤ã¤å°éã«ç¶ãã
æ±å¤§æ¾å°¾ç ã®Deep Learningåºç¤è¬åº§ã§ãã¼ã ãåªç§è³ãåè³ãã¾ãã
æ±äº¬å¤§å¦ æ¾å°¾ç 究室主å¬ã®Deep Learningåºç¤è¬åº§ï¼2018ï¼ã§ãã¼ã ãå£é çºè¡¨ã®åªç§è³ãåè³ãã¾ãããï¼æåªç§è³ã¯å¥ãã¼ã ã®æ¹ã ï¼
çºè¡¨ã¿ã¤ãã«ã¯ ãDeep Learningã«ããä¸è¬ç©ä½èªèãæ´»ç¨ãã 硬貨ã«ã¦ã³ãã®è©¦ã¿ã
硬貨ãæ®å½±ããã¨ãã®ç·é¡ãã«ã¦ã³ããã¦ãããã¢ããªããã¼ã ï¼6åï¼ã§ä½ãã¾ãã
å©ç¨ã·ã¼ã³ã¯ã
- ç¥ããªãå½ã®ç¡¬è²¨ãææ©ãã«ã¦ã³ã
- ã¤ãã³ããæåç¥æã®éè¨
- 寺ãç¥ç¤¾ã®ãè³½éã«ã¦ã³ãï¼ã¡ã³ãã¼ã®å®å®¶ãã寺ã ã£ãï¼
ãªã©ãæ³å®ãã¾ãã
- 対象ã¯ãã£ããæ¥æ¬åã®ç¡¬è²¨(1åã5åã10åã50åã100åã500å)ã«éå®
- ãã¼ã¿ã»ãããç¡ãã£ãã®ã§èªåã§ç´1,000æåã®ç»åãæ®å½±ã»ã¢ããã¼ã·ã§ã³ï¼ã¢ããã¼ã·ã§ã³ãã¼ã«ã¯VoTTã使ç¨ï¼
- ãã¼ã¿ãªã¼ã®ã¥ã¡ã³ãã¼ã·ã§ã³ã§4,000æç¨åº¦ã«æ°´å¢ã
- ã¢ãã«ã¯YOLOv3ãå©ç¨ï¼darknetå®è£ ï¼
- google colabãã¡ã³ãã¼ã®GPUãã·ã³ãç¨ãã¦å¦ç¿
- precisionã¨recallã®Få¤ã§å¦ç¿çµæãè©ä¾¡
- å¦ç¿ããã¢ãã«ï¼yolov3ã®ã¢ãã«ï¼ãcoremlã®ã¢ãã«ã«å¤æãã¦iphoneã¢ããªã«çµã¿è¾¼ã¿ï¼Non-Maximum Suppressionã¯iphoneã¢ããªå´ã§è¡ãï¼
ã®ããã«ãã¦ä½ãã¾ãããæ®å½±ã®ç¶æ³ã«ã«ãã£ã¦å¤§ãã精度ãæªåãããã硬貨ãéãªã£ã¦ãæã©ãããã®ããä¸ç»é¢ã«åã¾ããããªãå ´åã«ã©ãããã®ããå ã®å¼·ãã«ã©ã対å¿ãããããªã©èª²é¡ã¯å¤ããããã®ã®ããã¢ã®å®æã¾ã§ãã£ã¦ããã¾ãã
æ¥æ¬åãã¢ããã¼ã·ã§ã³ããããªã¼ã®å¦ç¿ãã¼ã¿ã¯è¦ããããªãã£ãã®ã§ãå ¨å¡ã§æåããã¦ä½æãã¾ãããï¼ã²ãããç»åã«ãã¦ã³ãã£ã³ã°ããã¯ã¹ãã¢ããã¼ã·ã§ã³ãã¦ããä½æ¥ã¯å¿ãæãããã«ãªãã¾ããããä½æ¥æéã®æè¦ãæ´ããã®ã¯è¯ãåç©«ï¼
ãã®å¾ã®åãã§ã¼ãºï¼ãã¼ã¿æ°´å¢ããGPUç°å¢ã®èª¿éãã¢ãã«ãã¬ã¼ãã³ã°ãå¦ç¿çµæã®è©ä¾¡ãã¢ããªä½æãè³æä½æãªã©ï¼ã¯ã¡ã³ãã¼ã§åæ ããã¼ã 決å®ããçºè¡¨ã¾ã§ã¯ç´2ã¶æã§å¦ç1åã»ç¤¾ä¼äºº5åã¨ããã¡ã³ãã¼æ§æããªã³ã©ã¤ã³MTGãã¡ã¤ã³ã§ããããèªçºæ§ã®é«ãã¡ã³ãã¼ã«ããã¾ãããããã¼ã ã§ããã
ç§ã¯ä¸»ã«ãã¢ã¢ããªä½æãæ å½ãæåwebã«ã¡ã©ã§ä½ã£ã¦ãã®ã§ãããã¹ããã§ããã£ã¨åããã便å©ã ãªã¨æããiphoneã¢ããªã«ä½ãå¤ãã¾ãããï¼yolov2ã¨v3ã§åºåå½¢å¼ãç°ãªã£ãããã¦ããªãè¦æ¦ãã¾ããããï¼
Deep Learningåºç¤è¬åº§ ã¯è¬ç¾©ã¨ããã¸ã§ã¯ãåããã¦ç´åå¹´éãè¬ç¾©æéã¯æ¯é±ããã°ã©ãã³ã°ã®å®¿é¡ãåºããã¼ããªè¬ç¾©ã§ããããæ¾å°¾ç ã®æ¹ã ã®è²´éãªè¬ç¾©ãèããGPUç°å¢ã使ããåç£ç¢ç£¨ããåè¬çã®æ¹ã ã¨æ¯é±ã³ã³ãå½¢å¼ã®å®¿é¡ã«ææ¦ã§ããã¨ããç°å¢ã¯æ§ããã«ãã£ã¦æé«ã§ããã
ï¼ååã®æ¹ã®è¬ç¾©ã§è¬å¸«ã®æ¹ãããä»åãå±±å ´ã§ããé å¼µã£ã¦ãã ãããã¨å±ã¾ãã®è¨èãããä¸æ¦å®å µãããã®ã®ãnumpyã§ã·ã³ãã«ãªãããã¯ã¼ã¯ãã¹ã¯ã©ããã§å®è£ ãã宿é¡ãããCNNãRNNãVAEãGANãå¼·åå¦ç¿ã¨å±±ãé«ããªã£ã¦ããããã¤ã«ãªã£ããå±±å ´ãçµããã®ãï½ãã¨æã£ãã®ã¯ããæãåºï¼
大å¤è²´éãªæ©ä¼ãæä¾ãã¦ãã ãã£ãæ±äº¬å¤§å¦ æ¾å°¾ç 究室ã®ã¿ãªãã¾ã«ã¯æ¬å½ã«æè¬ã§ããããããããã£ã¼ãã©ã¼ãã³ã°ãã£ã¦ããã§ã
Vue Fes Japan 2018 Reject Conference (ãã¬ã¤ãã§éå¬ï¼)ã«ãã£ã¦ãã¾ãã #vuefes_reject
Vue.js æ¥æ¬ã¦ã¼ã¶ã¼ã°ã«ã¼ã主å¬ã®Vue Fes Japan 2018 Reject Conferenceã«ãã£ã¦ãã¾ãã
ã¹ãã³ãµã¼ã¯PLAIDãããforkwellãããä¼å ´ã¯PLAIDããã®ãªãã£ã¹ãã¾ããã®èãããã
Vue Fes Japan 2018ã«ã¯å¿åæ 5ã«å¯¾ãã¦40件è¿ãã®CFPãå±ãããããã§ããä»åã¯Vue Fesã«ã¯æãããæ¡æãããªãã£ãã»ãã·ã§ã³ã¨ãããã¨ã§ããããWeb componentsãWebGLãOpenID ConnectãBlockChainçãæ®æ®µãã¾ã触ããæ©ä¼ã®ãªããã¼ãã«é¢ããçºè¡¨ãå¤ããæ°ããåºæ¿ã«æºã¡ãä¼ã§ãããç§ã¯Vue Fesè¡ããªãã£ãã®ã§ãããReject Conããã¦ããã£ãã§ãã
å¿ããªããã¡ã«ã¡ã¢æ®ãã¦ããã¾ã
â» ä»ã®æ¹ã®åå ã¡ã¢ãããã£ã¦ãã¾ã https://scrapbox.io/yamanoku/Vue_Fes_Japan_2018_Reject_Conference
Vue.js with Web Components
- Takahiro Saekiãã
- Twitter: https://twitter.com/hirodeath
- GitHub: https://github.com/takahiro-saeki
- Front End Developer
Web Componentsã使ã£ããã¨ãªãã£ãã®ã§ã¤ãã³ãã®ãã¨ã¡ãã£ã¨èª¿ã¹ãã以ä¸ã®Google Developersã®åç»ãgoogle chartãä¾ã«èª¬æãã¦ãã¦ããããããã£ãã
https://www.youtube.com/watch?v=T5y_lmLngAk
ãjsãã¬ã¼ã ã¯ã¼ã¯ã«ãããhtmlã¿ã°ã¨ãã¦åå©ç¨å¯è½ããjsãcssãç¬èªã¿ã°ã«ã«ãã»ã«åãããï¼ã°ãã¼ãã«ã«å¹²æ¸ãããªãï¼ãã¨ãã£ããããããã¤ã³ãããWeb Componentsã¯ã¦ã¼ã¹ã±ã¼ã¹ããã¾ãæ³åã§ãã¦ããªãã£ãã®ã ãã©ã確ãã«google chartã¨ãgoogle mapsã¨ããjsãã¬ã¼ã ã¯ã¼ã¯ã«ãããhtmlã¿ã°ã®ããã«èªã¿è¾¼ãããæä¾å´ã使ãå´ãå¬ããããå人éçºã1ãã¼ã å ã§å®çµããéçºããã¦ããéãã¯ãã¾ã使ããªãããã ãï¼ä¼å ´ææã§ãWeb Components使ã£ã¦ãã人ãã¾ãããªãã£ãï¼ãã大ä¼æ¥å ã§ç°ãªãjsãã¬ã¼ã ã¯ã¼ã¯ã§ä½ãããUIãã¼ããåå©ç¨å¯è½ã«ããããã¨ãã£ãã±ã¼ã¹ã§æå¹ããã
Vue CLI 3ã¯Vue.jsã§ä½ã£ãã³ã³ãã¼ãã³ããWeb Componentsã¨ãã¦ãã«ããããã¨ãã§ãããVueãããã
Create & Publish Web Components With Vue CLI 3 - Vue.js Developers
Identiry Provider Keycloakã®ç´¹ä»ã¨ããããç¨ããNuxt.jsã§ã®OpenID Connectèªè¨¼æ©è½ã®å®è£
ãã¢ã¢ããªï¼
- onigraãã
- Twitter: https://twitter.com/onigra_
- GitHub: https://github.com/onigra
- æ ªå¼ä¼ç¤¾ã¨ã¹ã»ã¨ã ã»ã¨ã¹
Keycloakã¯ç¥ããªãã£ãããªãfirebase auth使ããã«ããããèªåã§Keycloakç«ã¦ãã®ããªï¼ã¨æã£ããã©ç¤¾å èªè¨¼ã·ã¹ãã ãã¤ããããã«ç¬èªè¦ä»¶ããããèªåãã¡ã§æãå ¥ãããããã®ãä½ãããã£ãã¨ã®ãã¨ãaxiosã§ã®èªè¨¼ã¯axiosã®interceptorsãã¤ãã£ã¦ãã£ã¦ãããããnuxtã§ä¸ç¬ãã°ã¤ã³å¾ã®ç»é¢ãã¡ãã¤ãåé¡ã«å¯¾ãã対çï¼ä»¥ä¸ï¼ãå ±æãã¦ããã¦ãããããã£ãã
https://www.yo1000.com/posts/2018-05-26-nuxt-spa-redirect.html#%E7%8F%BE%E8%B1%A1
å人çã«ã¯ãµã¼ãã¼ãµã¤ãKotlin使ã£ã¦ããã¨ãããã¨ã§è¦ªè¿æã
Vue.js/Nuxt.js 㧠å®ç¾ã§ãã PWA ã® ãªã¢ã«ã¿ã¤ã åç»ã©ããã»ããã«ã»ã¢ããª
- lulznekoãã
- Twitter: https://twitter.com/lulzneko
- GitHub: https://github.com/lulzneko
- Riotz
24æéã®ããã«ã½ã³ã§ããã¾ã§ä½ãã¨ããããã§ãã ã£ããNuxt.js使ãã®ããã«ã½ã³ãåãã¦ã ã£ãããããããï¼æåã¯çµé¨ã®ããriot.jsã§ãããã¨æã£ããããã«ã½ã³ä¸ã«PWA対å¿ã®åªãã¦ããããªNuxt.jsãçºè¦ãã¦ä½¿ããã¨ã«æ±ºãããããï¼ãNuxt.jsã¨ãµã¼ãã¼ã¬ã¹ã®åãããã ãããã©ãããã«ãã¦ãæ©ãã
Vue.jsÃTypeScriptÃBlockchain Ethereumã§ä½ãã¢ããªã±ã¼ã·ã§ã³ãã¯ããããã¦ãããã«
- å°å è¼ãã
- GitHub: https://github.com/anneau
- æ ªå¼ä¼ç¤¾ã¨ã¤ãã¼ã
Blockchainå ¨ãããã£ã¦ããªãã£ãã®ã ãã©ãã¿ã¤ãã«ã©ããBlockchainã«ã¤ãã¦ã¯ããããä¸å¯§ã«èª¬æããä¸ã§Vue.jsã®ãã¼ãã«å ¥ã£ã¦ããã¦ããããããã£ãããã¼ã¿ãå¾æ¥åã®ãµã¼ãã¼åã§ä¿åãããBlockchainä¸ã«ä¿åãããã®å¤æåºæºã¨ãã¦ã絶対ã«æ¹ãããããããªããã¼ã¿ãBlockchainä¸ã«ä¿åãããã¨èª¬æããã¦ããããæ¹ãããããããªãã®ã¯ãµã¼ãã¼å´ã«ä¿åãããã¼ã¿ãåããªã®ã§ãããã®Blockchainã«åå ãã¦ããã¦ã¼ã¶ã¼ã«å¯¾ãã¦ãã¼ã¿ãæ¹ããããã¦ããªããã¨ãä¿è¨¼ããããã¨ãããã¨ãªã®ããªï¼ã¨æã£ãã
Non-DOM components with WebGL in Vue.js
- å°å±±ç°æ浩ãã
- Twitter: https://twitter.com/yomotsu
- GitHub: https://github.com/yomotsu
- æ ªå¼ä¼ç¤¾ãã¯ã»ã«ã°ãªãã
3Dæç»ã®ãã¢ãè¦ã¦ããããï¼ã³ã¼ãã¿ããï¼ã¨æã£ããgithubã«ããã¦ããã¦ãããããããããVue.jsããWebGLæ±ãæ¹æ³ãããx,y,zã§3ã¤ã®å¤ãwatchããã¨ãåæã«å¤ããã¨3årenderãã¡ãããcomputedã«ã¾ã¨ãã¦ãããwatchãã¦ãããªã©å ·ä½çãªå®è£ Tipsçãã ãããã§å¤§å¤åèã«ãªã£ããYouTubeã§vue webglã§æ¤ç´¢ãããçºè¡¨è ã®æ¹ã®å¥ã®ã¤ãã³ãã§ã®åç»ããããããããã¡ããåèã«ãªã
https://www.youtube.com/watch?v=YJMePm4rJUY
ã¬ã¬ã·ã¼ã¢ããªã±ã¼ã·ã§ã³ã®ãªãã¥ã¼ã¢ã«ã«Nuxt.jsã§æ¦ã
- é´æ¨å¥å¤ªãã
- Twitter: https://twitter.com/suusan2go
- GitHub: https://github.com/suusan2go
- ã¨ã ã¹ãªã¼æ ªå¼ä¼ç¤¾
ç§ã®åè·ã¨ã ã¹ãªã¼ã§ä¸ç·ã«ãªãã¥ã¼ã¢ã«ãã£ãé´æ¨ããã«ããçºè¡¨ãä¸ç·ã«ã¤ã³ã¿ãã¥ã¼ãåãã仲ãªã®ã ãã©ãNuxt.jsã®æ¹ã®ããã¸ã§ã¯ãã¯ç§ã¯ãã¾ãé¢ãã£ã¦ããããé´æ¨ããããªã¼ããã¦ããããNuxt.js x TypeScriptã®ããæ¹ããcomponentsé ä¸ã®æ§æ管çã¯ä»ãä»ã®ããã¸ã§ã¯ãã§é´æ¨ããã®ããæ¹ãåèã«ããã¦ããã£ã¦ãããç¹ã«APIã¬ã¹ãã³ã¹ã®ç¨®é¡ãããããã£ãå¤ãããã¸ã§ã¯ãã«ããã¦ãAPIãµã¼ãã¼ããswagger-codegenãªãã§TypeScriptã®ã¯ã©ã¤ã¢ã³ãèªåçæããã®ã¯ã¨ã¦ããããVue.js x TypeScriptã®å¬ãã¿ããã£ã¨å¼·ã¾ãã
æ親ä¼
äºå®ãã£ã¦åºããªãã£ãã®ã§ãããVue Beerããããã¤ããã¦ã¾ããï¼ã¨ã ã¹ãªã¼ã¯Vue Fes 2018ã®ãã¼ã«ã¹ãã³ãµã¼ããã¦ããã ãã¾ããï¼
ã¹ã¿ããã®ã¿ãªãã¾ããç²ãæ§ã§ããï¼ã¹ãã³ãµã¼ã®æ¹ã ãããã¨ããããã¾ããï¼
Kotlin Fest 2018ã§ãµã¼ããµã¤ãKotlinã®ãã¹ãã«ã¤ãã¦çºè¡¨ãã¦ãã #kotlinfest
æ¨æ¥8/25ï¼åï¼ã«ãæ¥æ¬Kotlinã¦ã¼ã¶ã°ã«ã¼ããéå¶ããKotlin Fest 2018ãæ±äº¬ã³ã³ãã¡ã¬ã³ã¹ã»ã³ã¿ã¼åå·ã«ã¦éå¬ãããååã® @suusan2go ã¨äºäººã§ãHow to Test Server-side Kotlinãã¨ããã¿ã¤ãã«ã§çºè¡¨ãã¦ãã¾ãããã»ãã·ã§ã³ãèãã«ãã¦ãã ãã£ãã¿ãªãããéå¶ã®ã¿ãªããããããã¨ããããã¾ããã
沢山ã®æ¹ãåå ããã¤ãã³ãã¨ãã£ã¦ãçºè¡¨ç´åã¾ã§ã¨ã¦ãç·å¼µãã¦ããã®ã§ãããéæã«ã¹ãã¼ã«ã¼ã«å¯¾ããå¿é£ããæ£ãã°ãããã¦ããã大å¤éãããããã¤ãã³ãã§ãããããã§ã¯ã¹ãã¼ã«ã¼ã¨ãã¦æãããã¨ãæ¸ãã¦ãããã¨æãã¾ããï¼ç§ãæå±ããã¨ã ã¹ãªã¼ã¯ã¹ãã³ãµã¼ã¨ãã¦ãåå ããã®ã§ãããããã¯ã¾ãä¼ç¤¾ã®æ¹ã®ããã°ã§ï¼
çºè¡¨è³æã¯ãã¡ãã§ã
ãªã¼ããã³ã°ã»ãã·ã§ã³ã§ã®ãçãä¸ãããï¼ã
ã¤ãã³ãã®æåã«æ¥æ¬Kotlinã¦ã¼ã¶ã°ã«ã¼ã代表ã®é·æ¾¤å¤ªéããã¨è¤åèããã«ãããªã¼ããã³ã°ã»ãã·ã§ã³ããã£ãã®ã§ããããã®ä¸ã§ãã¹ãã¼ã«ã¼ã®æ¹ã ã¯åå è ã®ã¿ãªããããã®ãã£ã¼ãããã¯ã楽ãã¿ã«ãã¦ãã¾ãããã²çããã§çãä¸ãã¾ãããï¼ææããã¨ããã§ã¯ææãããã¼ã¨ããã¨ããã§ã¯ããã¼ã¨å£°ã«åºãã¦ãã£ã¼ãããã¯ãã¾ããããã¨ãã£ãæ¨ã®å¼ã³ãããããã¦ã¾ãã
ãã®ãªã¼ããã³ã°ã®å¼ã³ããããã£ã¦ããç§éã®çºè¡¨ã®éã«ãåå è ã®ã¿ãªãããã温ãããã£ã¼ãããã¯ãããã ããã¨ãã§ãã¾ããã
ã¡ãã£ã¨ããã¢ã¤ã¹ãã¬ã¤ã¯ã¨ãã¦ãæ¨æ¥çºè¡¨è³æãä½ã£ã¦ãæãé·æ¾¤å¤ªéããã®åçããã¦ã³ãã¼ããããããªããMacããã°ã£ã¦ãã¹ã¯ãããããæ¶ããªããªã£ã¦ãã¾ãã¾ããwãã¨ããã¨ãã½ã¼ããã話ããã®ã§ãããã¡ããã¨ç¬ã£ã¦ããã ãã¦ä¸å®å¿ã§ãã
ãªããmacããã°ã£ã¦å¤ªéããããã¹ã¯ãããããæ¶ããªããªã£ãï½ pic.twitter.com/pZ7CscUA7H
— ã¾ãã¯ãã (@maeharin) 2018å¹´8æ24æ¥
èªå·±ç´¹ä»ã§ãã¯ã¦ãªããã¯ãã¼ã¯1200è¶ ãããã¨ãèªæ ¢ã§ãï¼ãã¨ãã£ãã大ããªææããããããã¨ãå¬ããã£ãã§ãï¼ã¾ããããã§ææãã¦ããããã¨æã£ã¦ãªãã£ãwï¼
ããã¨ãã»ãã·ã§ã³ãã¯ãã¾ãåã«ããªã¼ã¹ãã¼ã¹ã§ã話ãããæ¹ã ãå®éã«ã»ãã·ã§ã³ãèãã«æ¥ã¦ãã ãã£ãã®ãã¨ã¦ãå¬ããã£ããæ親ä¼ã®æã«ã話ãããã¦ããã ãã¦ããããããã£ã¼ãããã¯ãããã ããã®ã¯æ¬å½ã«çºè¡¨è å¥å©ã«ã¤ãã¾ããã
çºè¡¨å¾ã®ãAsk The Speakerãã¹ãã¼ã¹
çºè¡¨å¾ã«ã¯ã¹ãã¼ã«ã¼ã«èªç±ã«è³ªåã§ãããAsk The Speakerãã¨ããã¹ãã¼ã¹ãç¨æããã¦ããã次ã®ã»ãã·ã§ã³ã¾ã§ã®ä¼æ©æéã«è³ªåã§ãããããªä»çµã¿ã«ãªã£ã¦ã¾ãããã¹ãã¼ã«ã¼ã¨ãã¦ã¯ã次ã®ã»ãã·ã§ã³ã®æ¹ã®éªéã«ãªããªãããã«æ©ãæããªãããªã¼ããªã©æ°ã«ããªãã¦ãããªãã¾ãããåå è ã®æ¹ããããã«è¡ãã°ã¹ãã¼ã«ã¼ã«è³ªåã§ãããã¨æ確ã«åããã®ã§ãããä»çµã¿ã ãªã¨æãã¾ããã質åã«æ¥ã¦ãã ãã£ãæ¹ã ããããã¨ããããã¾ãï¼
æ§å®¤ã¨ãTã·ã£ãã¨ã
ãã以å¤ã«ããã¹ãã¼ã«ã¼ç¨ã®æ§å®¤ããã»ãã·ã§ã³ã®ã©ã¤ããã¥ã¼ã¤ã³ã°ãè¦ããã®ãé©ãã§ãããèªåã®çºè¡¨ãã¯ãã¾ãã¾ã§è³æã®ä¿®æ£ããããããªãããä»ã®ã»ãã·ã§ã³ãè¦ããã¨ãã§ããã®ã¯ç´°ããé æ ®ã ãªãã¨æå¿ãã¾ããã
æ§å®¤ãã¨ã¦ãå¿«é©ãªã®ã§ãæå¾ã®ãããããã®ã»ãã·ã§ã³ãã©ã¤ããã¥ã¼ã¤ã³ã°ã§è¦ããã¨æã£ãã®ã§ãããä¼å ´ã§è¦ã¦ãã ããï¼ã¨ãæ¬äººãã声ãããã¦ããã ããä¼å ´ã§ã¿ããã¨ã«ãã¾ãããå½ç¶ãªããä¼å ´ã§è¦ãã»ããè¨å ´æããã£ã¦ããã£ãã§ãwï¼ãããããã®ããã°ã§ç¥å¯¾å¿ãªãã¦è¨ã£ã¦ããã ãã¦ã¾ãããéã«å£°ããããã¦ãã¾ã£ã¦ãã¿ã¾ããï¼ï¼
ãã¨ãKotlin Fest 2018ã®Tã·ã£ãããããã¾ããããã£ã¡ããããã
Kotlin Fest 2018ã楽ããã£ãï¼
ã»ãã·ã§ã³èãã«æ¥ã¦ãã ãã£ãã¿ãªããããããã¨ããããã¾ãï¼ããã¦éå¶ã®ã¿ãªãããæ¬å½ã«ãç²ãæ§ã§ããï¼
DBã¹ãã¼ãããKotlinã®ãã¹ããã£ã¯ã¹ãã£ãèªåçæããgradleãã©ã°ã¤ã³ãä½ã£ã
ãµã¼ãã¼ãµã¤ãKotlinã§DBæ¥ç¶ãã¹ãããéããã¹ããã¼ã¿ã®ã»ããã¢ããã«ã¯DbSetup ã便å©ã§ããDbSetupã¯ãxmlãªã©ã®å¤é¨ãã¡ã¤ã«ãã§ã¯ãªããã³ã¼ããã§ãã¹ããã£ã¯ã¹ãã£ãçæã§ããJavaã©ã¤ãã©ãªã§ã以ä¸ã®ãããªKotlinç¨ã®DSLãæä¾ãã¦ããã¦ããã®ã§éå®ãã¦ãã¾ãã
insertInto("users") { mappedValues( "id" to 1, "name" to "åå ç§å¾³", "job" to "engineer", "status" to "ACTIVE", ... ) }
ãã ãããã ã¨ã«ã©ã æ°ãæ°ååã«ãªã£ã¦ããã¨è¨è¿°ãé¢åã ãï¼ä»äºã ã¨100ã«ã©ã è¿ããã¼ãã«ããããã§ãããããï¼ãã¡ãã£ã¨ã ãå¤ãç°ãªããã¿ã¼ã³ãè²ã ä½ããããã¨ãã£ãéã«ããã©ããªæãã¦ã¾ããã
DBã¹ãã¼ãããã³ã¼ããèªåçæãã¦ããã¦ããã¤Rubyã®factory_botã®ãããªä½¿ãå¿å°ã ã£ãã楽ã ãªã¨æããfactlinã¨ããgradle pluginãä½ã£ãã®ã§ç´¹ä»ãã¾ãã
- æ¢åã®DBã¹ãã¼ããå ã«Kotlinã®ã³ã¼ããèªåçæããï¼èªåçæãããã³ã¼ãã¯DbSetupã«ä¾åï¼
- èªåçæãããã³ã¼ãã使ãã¨Rubyã®factory_botã®ãããªä½¿ãå¿å°ã§ãã¹ããã£ã¯ã¹ãã£ãã»ããã¢ããã§ãã
- èªåçæãããã³ã¼ãã®ãã³ãã¬ã¼ããããã©ã«ãå¤ã¯ã«ã¹ã¿ãã¤ãºå¯è½
ã¨ãã£ã代ç©ã§ããä¾ãã°ãpostgresã§ãããªãã¼ãã«å®ç¾©ããã£ãå ´å
CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(256) NOT NULL, job VARCHAR(256) NOT NULL DEFAULT 'engineer', status VARCHAR(256) NOT NULL DEFAULT 'ACTIVE', age INTEGER NOT NULL, score NUMERIC NOT NULL, is_admin BOOLEAN NOT NULL, birth_day DATE NOT NULL, nick_name VARCHAR(256), created_timestamp TIMESTAMP WITHOUT TIME ZONE NOT NULL, updated_timestamp TIMESTAMP WITHOUT TIME ZONE ); COMMENT ON TABLE users IS 'user table'; COMMENT ON COLUMN users.id IS 'primary key'; COMMENT ON COLUMN users.name IS 'user name'; COMMENT ON COLUMN users.job IS 'job name'; COMMENT ON COLUMN users.status IS 'activate status'; COMMENT ON COLUMN users.age IS 'user age'; COMMENT ON COLUMN users.score IS 'game score'; COMMENT ON COLUMN users.is_admin IS 'user is admin user or not'; COMMENT ON COLUMN users.birth_day IS 'user birth day'; COMMENT ON COLUMN users.nick_name IS 'nick name';
ãã®ãã©ã°ã¤ã³ãå®è¡ããã¨ã以ä¸ã®ãããªKotlinã®ã³ã¼ããèªåçæããã¾ãã
data class UsersFixture ( val id: Int = 0, // primary key val name: String = "", // user name val job: String = "", // job name val status: String = "", // activate status val age: Int = 0, // user age val score: BigDecimal = 0.toBigDecimal(), // game score val is_admin: Boolean = false, // user is admin user or not val birth_day: LocalDate = LocalDate.now(), // user birth day val nick_name: String? = null, // nick name val created_timestamp: LocalDateTime = LocalDateTime.now(), val updated_timestamp: LocalDateTime? = null ) fun DbSetupBuilder.insertUsersFixture(f: UsersFixture) { insertInto("users") { mappedValues( "id" to f.id, "name" to f.name, "job" to f.job, "status" to f.status, "age" to f.age, "score" to f.score, "is_admin" to f.is_admin, "birth_day" to f.birth_day, "nick_name" to f.nick_name, "created_timestamp" to f.created_timestamp, "updated_timestamp" to f.updated_timestamp ) } }
çæãããã³ã¼ãã¯ã
- ãã¹ããã£ã¯ã¹ãã£ã表ãData Class
- DbSetupã®insertIntoã¡ã½ãããã©ããããæ¡å¼µé¢æ°
ã§æ§æããã¦ã¾ãã1.Data Classã®åããããã£ã«ã¯ããã¼ã¿ãã¼ã¹ã®ã«ã©ã åã«å¿ããKotlinã®åã¨ããã©ã«ãå¤ãèªåçæããã¾ããããã©ã«ãå¤ã¯nullableãªã«ã©ã ãªãnullãnullableã§ãªãå ´åã¯ã«ã©ã ã®åã«å¿ããå¤ï¼æ°å¤ãªã0ãæååãªã空æåï¼ã¨ãã£ãå ·åã«è¨å®ããã¾ãããå¾è¿°ããã«ã¹ã¿ãã¤ãºè¨å®ã§ããç¨åº¦ã«ã¹ã¿ãã¤ãºå¯è½ã§ããã¾ããDBã«ã©ã ã«ã³ã¡ã³ããã¤ãã¦ããå ´åãã³ã¡ã³ããã¤ãããã«ãªã£ã¦ãã¾ãã
ä¸è¨ã®èªåçæãããã³ã¼ãã¯ããã¹ãã®ä¸ã§ä»¥ä¸ã®ããã«ä½¿ãã¾ããããã«ããDBã«ãã¹ããã¼ã¿ãinsertããããã®ãã¼ã¿ãç¨ãããã¹ããè¡ããã¨ãã§ãã¾ãã
dbSetup(dest) { deleteAllFrom(listOf("users")) // DBã«ãã¹ããã¼ã¿ãã»ããã¢ãããã insertUsersFixture(UsersFixture(id = 1, name = "foo")) insertUsersFixture(UsersFixture(id = 2, name = "bar")) }.launch() ...DBã®ãã¼ã¿ã使ã£ããã¹ã
èªåçæãããFixtureã¯ã©ã¹ã¯Data Classã«ãªã£ã¦ããããã¤ã«ã©ã ã®åã«æ²¿ã£ãããã©ã«ãå¤ãè¨å®ããã¦ããã®ã§ããã¡ãã£ã¨ã ãå¤ãç°ãªããã¹ããã£ã¯ã¹ãã£ããç°¡åã«çæãããã¨ãã§ãã¾ããIDEã§è£å®ãå¹ãã¦ããã¦ãå®ç¾©å ã«ã¸ã£ã³ãããã°ã«ã©ã ã®ã³ã¡ã³ãã確èªã§ãã¦ä¾¿å©ã§ãï¼100åè¿ãã«ã©ã ããããã¼ãã«ã ã¨ç¹ã«å¬ããï¼
ãã£ã¯ã¹ãã£ã®ãã¿ã¼ã³ãä½ã
èªåçæãããã¯ã©ã¹ãData Classã«ãªã£ã¦ããã¨ããç¹ããã¤ã³ãã§ãData Classã®copyã¡ã½ããã使ããã¨ã§ãRubyã®factory_botã®ããã«ããã£ã¯ã¹ãã£ã®ãã¿ã¼ã³ã«ååãã¤ãã¦åãåããããã«ãã¦ããããã¨ãå¯è½ã§ãã以ä¸ã®ããã«Kotlinã®æ¡å¼µé¢æ°ã¨copyã使ãã¾ããã¡ãªã¿ã«ãã¡ã³ããã³ã¹ããããããããï¼ã«ã©ã ãå¤æ´ããã³ã¼ããåçæããå ´åã«åãã¦ï¼ãèªåçæãããFixtureã¯ã©ã¹ã«ã¯æãå ãããå¥ã®ãã£ã¬ã¯ããªã¨ãã¡ã¤ã«ãä½ã£ã¦æ¡å¼µé¢æ°ãå®ç¾©ããã®ããªã¹ã¹ã¡ã§ãã
fun UsersFixture.default() = this.copy(job = "ã¨ã³ã¸ãã¢", age = 30) fun UsersFixture.active() = this.default().copy(status = "ACTIVE") fun UsersFixture.inActive() = this.default().copy(status = "IN_ACTIVE")
ãã¹ãã§ãããªé¢¨ã«ä½¿ãã¾ã
insertUsersFixture(UsersFixture().active().copy(id = 1, name = "ãã¹ã1")) insertUsersFixture(UsersFixture().inActive().copy(id = 2, name = "ãã¹ã2"))
ã«ã¹ã¿ãã¤ãº
èªåçæãããã³ã¼ãã¯ããç¨åº¦ã«ã¹ã¿ãã¤ãºå¯è½ã¨ãªã£ã¦ãã¾ãã
è¨å® | å 容 | ããã©ã«ã |
---|---|---|
fixtureOutputDir | èªåçæãããã³ã¼ãã®åºåå ãã£ã¬ã¯ã㪠| src/test/kotlin/com/maeharin/factlin/fixtures |
fixturePackageName | èªåçæãããã³ã¼ãã®ããã±ã¼ã¸å | com.maeharin.factlin.fixtures |
fixtureTemplatePath | èªåçæã«ä½¿ããã³ãã¬ã¼ã(FreeMarker) ã®ãã¹ã§ã | ããã©ã«ã |
exclude table names | èªåçæã®å¯¾è±¡å¤ã«ãããã¼ãã«ãªã¹ã | ãªã |
includeTables | èªåçæã®å¯¾è±¡ã«ãããã¼ãã«ãªã¹ã | ãã¹ã¦ |
cleanOutputDir | trueã«ããã¨èªåçæããã¾ãã«åºåå ãã£ã¬ã¯ããªãåé¤ãã¾ãï¼ã¡ã³ããã³ã¹æ§ã®ããã«trueã«ãããã¨ãæ¨å¥¨ï¼ | false |
customDefaultValues | ç¹å®ã®ãã¼ãã«ã®ç¹å®ã®ã«ã©ã ã®ããã©ã«ãå¤ãä¸æ¸ããå½¢å¼: [tableName, columnName, defaultValue] | ãªã |
customTypeMapper | ãã¼ã¿ãã¼ã¹ã®åãKotlinã®åã«å¤æããã«ã¼ã«ãä¸æ¸ããå½¢å¼: [databaseColumnType, KotlinType] | ããã©ã«ãã«ã¼ã« |
ãªãã¸ããªã®READMEã«è¨å®ä¾ãããã®ã§ãåç §ãã ããã
ãã²ä½¿ã£ã¦ã¿ã¦ãã ãã!
ãã®ä»çµã§ããã¾ã§1000ã±ã¼ã¹ä»¥ä¸ãã¹ãã±ã¼ã¹ãæ¸ãã¦ãã¾ããããã¨ãã«åé¡ãªãå¿«é©ã«ä½¿ãã¦ãã¾ãããããããã°ããã²ä½¿ã£ã¦ã¿ã¦ãã ããï¼
ï¼å®£ä¼ï¼Kotlin Fest 2018ã«ç»å£ãã¾ã
2018å¹´8æ25æ¥ï¼åï¼ã«æ±äº¬ã³ã³ãã¡ã¬ã³ã¹ã»ã³ã¿ã¼åå·ã«ã¦éå¬ãããKotlin Fest 2018ã«ç»å£ãã¾ãããµã¼ãã¼ãµã¤ãKotlinã®ãã¹ãã«é¢ãã¦è©±ãäºå®ã§ãã®ã§ããã²ãæ¥å ´ãã ããï¼
ãã©ãã§ãKotlin #1 ãKotlinå®è·µå°å ¥ä½é¨è«ãããéå¬ãã¾ãã #m3kt
8/24ï¼æ¨ï¼ã«ç§ãæå±ãã¦ããã¨ã ã¹ãªã¼ä¸»å¬ã§Kotlinã®ã¤ãã³ããã©ãã§ãKotlinããéå¬ãã¾ãããã¨ã ã¹ãªã¼ã§ã¯Androidéçºè¨èªã¨ãã¦ã¯ãã¡ããã®ãã¨ããµã¼ãã¼ãµã¤ãã§ãKotlinãå®è·µå°å ¥ãã¦ãã¾ãã第1åç®ã¨ãªãä»åã¯ãæ¥æ¬Kotlinã¦ã¼ã¶ã°ã«ã¼ã代表 é·æ¾¤å¤ªéãã¯ããã¨ããã¨ã ã¹ãªã¼ã®Kotlinã¨ã³ã¸ãã¢ãããµã¼ãã¼ãµã¤ããKotlin/NativeãAndroidã¢ããªã§Kotlinã使ã£ãä½é¨è«ãçºè¡¨ãã¾ããã
connpassã¤ãã³ããã¼ã¸ï¼どこでもKotlin #1 〜Kotlin実践導入体験談〜【増員!】 - connpass
ã©ãã§ãKotlinã«ã¤ãã¦
ãåç¥ã®ã¨ããKotlinã¯Androidéçºè¨èªã¨ãã¦æåã§ãããããããã®æ´»èºã®å ´ã¯Androidã«ããããããµã¼ãã¼ãµã¤ããNativeãªã©å¤å²ã«æ¸¡ãã¾ããç§ã¯ä»å¹´Kotlinã¨åºä¼ãããã®ç´ æ´ãããã«æããã·ã¹ãã ãªãã¥ã¼ã¢ã«ã«ãµã¼ãã¼ãµã¤ãKotlinãå°å ¥ãããã¨ã決ãã¾ãããAndroidã ããã¨ãµã¼ãã¼ãµã¤ãã ããã¨ãã¨ã ã¹ãªã¼ã ããã¨ããã§ãªãããã¨ãåå è ã®æ¹ã¨ä¸ç·ã«Kotlinãçãä¸ãã¦ããããã¨æãããã©ãã§ãKotlinãã¨ããã¿ã¤ãã«ã§ã¤ãã³ããéå¬ãããã¨ã«ãã¾ãã
ã©ãã§ãKotlinãªã¼ããã³ã°ã®ã¹ã©ã¤ããã©ãã§ãKotlin使ã£ã¦ããã¾ãã! #m3kt pic.twitter.com/ALjOr1NbGS
— maeharin (@maeharin) 2017å¹´8æ27æ¥
#m3kt
ããã·ã¥ã¿ã°ã¯ #m3ktãå½æ¥ã¯ã¿ãªããã«çãä¸ãã£ã¦ããã ãããã¬ã³ãå ¥ããã¾ãã
ã¨ã ã¹ãªã¼Ãé·æ¾¤å¤ªéã°ããºã®æ°ã
#m3kt ã¨ã ã¹ãªã¼âãããã°ããºãå¢ãã¦ãã pic.twitter.com/nuDsTW2ZMM
— ããã (@ngsw_taro) 2017å¹´8æ24æ¥
ç ½ãããåå è ã®æ¹ã
ç ½ããã¦ã¾ã #m3kt pic.twitter.com/BZFMapglIt
— monzou (@monzou) 2017å¹´8æ24æ¥
çºè¡¨å 容
ã·ã¹ãã ãªãã¥ã¼ã¢ã«ã¨ ãµã¼ãã¼ãµã¤ãKotlin
ã¾ãã¯ç§ã®çºè¡¨ãã·ã¹ãã ãªãã¥ã¼ã¢ã«ã«ãµã¼ãã¼ãµã¤ãKotlinãå°å ¥ããäºä¾ãã話ãã¾ãã
APIãµã¼ãã¼ãKotlin x Spring Bootã§ä½æãã¦ãã¾ãï¼ããã³ãã¯railsã¨vue.js使ã£ã¦ãã¾ããããã辺ã«ã¤ãã¦ãæ©ãæ¹ãã¦çºè¡¨ãããã¨æã£ã¦ã¾ãï¼
Kotlin âï¸ Spring Boot ãµã¼ãã¼ãµã¤ãkotlinã¯æããªã
ç§ã¨åããã¼ã ã§ãã¤ã人ã®ã«ã¼ã«ã¹ã«ããçºè¡¨
ãµã¼ãã¼ãµã¤ãKotlinã¯æããªãï¼
Starting Kotlin/Native ããªãã¨ãããã¡ããã¨ãã
å¾åæ¦ã¯ã¡ãã£ã¨æãï¼Kotlinã®è©±ãã¨ã ã¹ãªã¼æ°åã®ã¨ã³ã¸ãã¢æå·ããã«ããKotlin/Nativeã«é¢ãã話
ä¸æ©é²ãã æ¡å¼µé¢æ°ã®æ´»ç¨ã¨ãã®æ¿«ç¨ã§å¾æãã話
ããªã¯ã¨ã ã¹ãªã¼ã®ã¢ã¤ãã«ãé·æ¾¤å¤ªéã«ããæ¡å¼µé¢æ°ã®è©±ã
æ親ä¼
æå¾ã¯æ親ä¼ãã¿ãªããKotlinã®è©±é¡ã§çãä¸ããã¾ãã
次åãã©ãã§ãKotlin #2 ããµã¼ãã¼ãµã¤ãKotlinç¹éããã¯9/28éå¬ï¼
ã©ãã§ãKotlinã¯ã·ãªã¼ãºéå¬ãã¾ãã次åã¯9/28ããã¼ãã¯ããµã¼ãã¼ãµã¤ãKotlinãã§ãï¼ connpassãã¼ã¸ã§åéãã¾ãã®ã§ãæ¯ém3-engineerã°ã«ã¼ãã®ã¡ã³ãã¼ã«ç»é²ãã ããï¼twitterã®#m3ktã§ãåç¥ãã¾ãï¼
é·æ¾¤å¤ªéã®æ°åããµã¼ãã¼ãµã¤ãKoltinæ¬ã9/29çºå£²ï¼
ããã«ï¼9/29ã«é·æ¾¤å¤ªéã®æ°åãKotlin Webã¢ããªã±ã¼ã·ã§ã³ æ°ãããµã¼ããµã¤ãããã°ã©ãã³ã°ããçºå£²äºå®ã§ãï¼ï¼amazonã§äºç´åä»ä¸ã§ãï¼
ã¨ã ã¹ãªã¼ love Kotlinï¼ã¸ã§ã¤ãã¹ï¼
ã¨ã ã¹ãªã¼ã¯Kotlinãç©æ¥µçã«å°å ¥ãã¦ããã¾ãï¼ã«ã¸ã¥ã¢ã«é¢è«ãªãããéæãã¦ããã®ã§èå³ãããæ¹ã¯æ¯éä¸ã®ãªã³ã¯ãããå¿åãã ããï¼å ¨å½ã®Kotolinerï¼ãã¨ãã«ããï¼ã®ã¿ãªãããã¸ã§ã¤ãã¹ï¼
have fun Kotlin!
éçºå宿è¡ã£ã¦ãã
ãã¤ãä¸ç·ã«æ´»åãã¦ãã¡ã³ãã¼5人ã§ãä¹ ã ã«éçºå宿ãã¦ãã¾ããã¼
ä»åã¯ãåå¼·ãããæè¡ã使ã£ã¦ãä½ãä½ã£ã¦ã¿ããããã¼ãã¨ãã¦ã1æ³2æ¥ãå ´æã¯ä¼æ±ã®å±±åæ 館ã両æ¥ã¨ãä¼è°å®¤ã貸ãåããã¨ãã§ããã®ã§ãå¿«é©ãªãããç°å¢ã®å ãéä¸ãã¦éçºã§ãã¾ãã
äºåæºå
å ´æã¨æ¥æã決ãã
ã¾ãã¯ã¡ã³ãã¼ã®é½åãåãæ¥ç¨ãä¼å©ã¨ãã§èª¿æ´ãã¦ããã®å¾å宿ä¼å ´ãäºç´ãä»åã¯ä¼æ±ã®å±±åæ 館ã«ãã¾ãããéçºå宿ã§ã¯ããã§ãã¯ã¤ã³ããã§ãã¯ã¢ã¦ãã®æéããåé¡ã«ãªããããã®ã§ãããå±±åæ 館ã¯ä¼è°å®¤ããã£ã¦1æé1000åãããã§äºç´ã§ãã¾ããããã§ãã¯ã¤ã³ãã¦ãªãæéã¯ããã®ä¼è°å®¤ãäºç´ãããã¨ã§ãéçºã®æéãå¤ãã¨ãã¾ãã
æ 館ã®ãã¼ã ãã¼ã¸ãããæãã§ã
ãã¼ãã»ã¿ã¤ã ãã¼ãã«æ±ºãã
ä»åã¯ãåå¼·ãããæè¡ã使ã£ã¦ãä½ãä½ã£ã¦ã¿ããããã¼ãã«ãã¾ãããã¾ããã¿ã¤ã ãã¼ãã«ã¯äºåã«æ±ºãã¦å ±æãã¦ããã¨ãå½æ¥ã¯ãã©ããã¨ãããã¨ã§ä»åã¯ãããªæãã«ãã¾ããã
1æ¥ç®
æé | å 容 |
---|---|
10:00 - 12:00 | éçº |
12:00 - 13:00 | ã©ã³ã |
13:00 - 15:00 | éçº |
15:00 - 15:30 | é¨å±ã¸ç§»å |
15:30 - 19:00 | éçº |
19:00 - 20:30 | å¤é£¯ |
20:30 - | ããªã¼ã¿ã¤ã |
éçºæéï¼7.5h
2æ¥ç®
æé | å 容 |
---|---|
8:00 - 10:00 | èµ·åºãæé£ ããã§ãã¯ã¢ã¦ã |
10:00 - 12:00 | éçº |
12:00 - 13:00 | ã©ã³ã |
13:00 - 14:00 | éçº |
14:00 - 15:00 | ææçºè¡¨ï¼ |
15:00 - | 解æ£! |
éçºæéï¼3h
æè¡èª¿æ»ããã¦ãã
å½æ¥éçºã«éä¸ããããã«ãããç¨åº¦æè¡èª¿æ»ã¨ãããåå¼·ã¯ãã¦ãããèªåã¯swiftã§iosã¢ããªãä½ãããã£ãã®ã§ã以ä¸ã®ãããªãã¨ããã¦ããã¾ãã
- xcodeãªã©ã®éçºç°å¢ã¯ã¢ããã°ã¬ã¼ã
- xcodeã®playgroundã§swiftãããã£ã¦ã¿ã
- iosã®ãã¥ã¼ããªã¢ã«ããã£ã¦ãã
- githubã§å ¬éããã¦ããiosã®ããã¸ã§ã¯ããè¦ã¦ãã
å½æ¥ã®æ§å
æ¯ãè¿ã
- ããã£ãç¹
- wifiå®åã®ä¼è°å®¤ãé·ãæéäºç´ã§ããã®ã§ãéçºç°å¢ã¯åé¡ãªã
- ææç©çºè¡¨ãç®æ¨ã«ããã®ã§ãéä¸ã§ãã
- äºåã«ã¿ã¤ã ãã¼ãã«ä½ã£ã¦ãããã®ã§ãã¹ã ã¼ãº
- åçç¹
- æ 館ã®é¨å±ãééããã£ã¦å¯ãã£ã
- 帰ãã®é»è»èª¿ã¹ã¦ãªãã¦æ··ä¹±ãããï¼èªç±å¸ããªãç¹æ¥ãæ¥ã¦å¾ ã¡æéç¡é§ã«ãªã£ãï¼
- å人çã«ã¯ãããå°ãäºåã«iosã®ãã¥ã¼ããªã¢ã«ãã£ã¦ããã°ããã£ã