mhidakaã建ã¦ãAdvent Calendar 2ã®8æ¥ç®ã§ãããã¼ãæ§ãªãããã¦ã»ãã¨çã£ã¦ããªãã®ã«ã¬ã³ãã¼â¦â¦
ã¨ããããã§ä½æ¸ãã¦ããããããã®ã§ããµã¯ãã¨æ¸ããå²ã«ç¬èªæ§ã®åºããããèªåã®çµé¨ãæ¯ãè¿ãç³»è¨äºã«ãã¦ã¿ããã¨æãã¾ãã
ã³ã³ãã¥ã¼ã¿ãµã¤ã¨ã³ã¹ã®å¤§å¦ã«2005å¹´ã«å ¥å¦ãã人éã¨ãã¦ã¯ãæ¥ããããã¨ãããªã®ã§ãããã³ã¼ããæ¸ããã¨æã£ã¦ã³ã¼ããæ¸ãããã«ãªã£ãã®ã¯å¤§å¦5å¹´ç®ã®2009å¹´ã ã£ãã®ã§ãåã®ä¸»è¦³ã§ã¯2023å¹´ç¾å¨ãããããããã°ã©ãã¼15å¹´ç®ã¨ããæãã§ããç¯ç®ã£ã½ãæããããã®ã§ãããããã®å¹´ã§æãåºæ·±ããã¯ããã¸ã¼ãæãåºãã¦ãããã¨æãã¾ãã
ããè·åçµæ´æ¸ãããï¼ã¨æããªãããªãã§ãããããã¡ãã£ã¨ã©ã¤ããã¤ãã¼ãã¼ãªæãã§ãªãã¨ããããããã£ã¦ããã¾ãããã
- 2009å¹´ï¼22æ³ï¼
- 2010å¹´ï¼23æ³ï¼
- 2011å¹´ï¼24æ³ï¼
- 2012å¹´ï¼25æ³ï¼
- 2013å¹´ï¼26æ³ï¼
- 2014å¹´ï¼27æ³ï¼
- 2015å¹´ï¼28æ³ï¼
- 2016å¹´ï¼29æ³ï¼
- 2017å¹´ï¼30æ³ï¼
- 2018å¹´ï¼31æ³ï¼
- 2019å¹´ï¼32æ³ï¼
- 2020å¹´ï¼33æ³ï¼
- 2021å¹´ï¼34æ³ï¼
- 2022å¹´ï¼35æ³ï¼
- 2023å¹´ï¼36æ³ï¼
- ã¾ã¨ã
2009å¹´ï¼22æ³ï¼
ããã°ã©ãã¼ã¨ãã¦ã®èªæãæã¡å§ããã®ã¯ãã®å¹´ã§ããããªãã¨ãåè«ãæ¸ãã®ã«å¿ è¦ãªåä½ãæºã¾ã£ã¦ããã¦ä½ãæ¸ããããªã¨æã£ã¦ããã¨ããã«ãæ å½æå¡ããããªããAndroidã¨ãããã®ãæ¥æ¬ã«ãæ¥ãããããããï¼HT-03Aï¼ã¨ãããã®è²·ã£ã¦ããããããã£ã¦ã¿ãªãï¼ãã¨è¨ããã¦ãåæ¥ç 究ãAndroidã«ãªã£ãã®ã§ããã
ç 究室ã¯å»çç³»ãç¹ã«ãã¤ã¿ã«ãµã¤ã³ç³»ã«å¼·ã¿ããããããã«ã¢ãã¤ã«ããã¤ã¹ï¼å½æã¯ã¬ã©ã±ã¼ã主æµï¼ã¨ã®é£æºãå¾æãªãã¡ãã£ã¨ç¹æ®ãªã¨ããã§ãããããã§ä½ããããã¨ã«ãªã£ãã®ãã¨ããã¨ãNonin社ã®ãã«ã¹ãªãã·ã¡ã¼ã¿ã¼ã¨AndroidãBluetoothã§ç¹ãã§ãSPPã§éããã¦ãããã¤ããªã®ã¹ããªã¼ã ãããæãã«Androidã§å¦çã§ããå½¢ã«è½ã¨ãè¾¼ããã¤ã§ãã
ããã®ãã°ã話ã¨ãã¦ã¯ãå½æã®Android 1.6ã£ã¦ãBluetoothãéå ¬éAPIã ã£ããã§ããããããã°ã£ã¦ãªãã¬ã¯ã·ã§ã³ãã¦Bluetoothã®APIãå¼ã£å¼µãåºããªããç¡çãã使ã£ã¦ã¾ãããå½æããããã¡ãã£ãã¼ãã®esmasuiå çã«ã¯å¤§å¤ãä¸è©±ã«ãªãã¾ããâ¦â¦
ãããªããã§ã2009å¹´ã«ãã©ã¼ã«ã¹ãã¦ãããã¯ããã¸ã¼åéã¯ãããªæãã§ããã
- Android SDKï¼Android 1.6ï¼
- Bluetooth
- è¡ä¸é ¸ç´ 飽å度ï¼SpO2å¤ï¼è¨æ¸¬
2009å¹´å½æã ã¨ãSpO2å¤ã¯åæ¯æã¡ã®æ¹ã¯ç¥ã£ã¦ãããã¨ãå¤ããã®ã®ãä¸è¬çã«ã¯ãããã¤ãã¼ãªãã¤ã¿ã«ãµã¤ã³ã§ããããã®ãããåæ¥ç 究ãä»ã®äººã«èª¬æããã¨ãã«ããµã¼ãâ¦â¦ï¼ãã¨ãããã³ã¨æ¥ãªãæãã®åå¿ãããããã¨ãå¤ãã£ãã§ãã
ãããã2023å¹´ç¾å¨ã§ã¯ãããå°ãæåãªææ¨ã«ãªãã¾ãããCOVID-19ã«ç½¹æ£ããéã®ä½èª¿ã®ææ¨ã¨ãã¦ãSpO2å¤ãåç §ãããããã«ãªã£ããããè¨æ¸¬å¨ã§ãããã«ã¹ãªãã·ã¡ã¼ã¿ã¼ã¨ãã©ããåãç 究ãã¦ããåéãåºãä¸è¬ã«ç¥ãããããã«ãªã£ãã®ã§ããä½ãèµ·ãããããããããããã
2010å¹´ï¼23æ³ï¼
2010å¹´ã®æ¥ã«å¤§å¦ãåæ¥ãã¦ãå°å ã«Uã¿ã¼ã³ãã¦å°±è·ãã¾ããã就活ãã¦ãã2008å¹´ã®æç¹ã§ã¯ããã°ã©ãã³ã°è¦æãã³ã ã£ãã®ã§ã人æã§æ¡ã£ã¦ããããã¨ããã«æ¾ã£ã¦ãããã¾ããããµã¼ã¯ã«æ´»åã§æ¥æ¬ä¸åã£ã¦ããããµã¼ã¯ã«èªæ²»ä¼ã®ä¼è¨è·ãã£ãããåä»ã§æ°æ½çã縦æãã¦ãããç¡é§ã«ã¢ã¯ãã£ããªå¦ççæ´»ãéã£ã¦ããã®ã§ãé¢æ¥ã§ãããå¶æ¥è·ã§å ¥ãæ°ã¯ãªãï¼ãã¨è¨ããã¦ãã¾ã£ãã®ã¯è¯ãæãåºã§ãã
ãä»äºã¨ãã¦ã¯B2Bã®Webç³»åè¨ã¿ãããªãã¨ãããã¤ã¤ãå¦çæ代ã«ãç¸ãã§ããAndroidã³ãã¥ããã£ã¨é¢ãããæã¡ãªãããæ°æ½å¸ã§Androidã®åå¼·ä¼ãéå¬ããããã¦ãã¾ããã
2010å¹´ã®ãã¼ã¯ã¼ãã¯ãã£ãããããªæãã§ããããã
- Java 1.4
- JBoss
- ASP.NET + HTML + CSS
- VB.NET
- Android 2.x
- Android Maps
ããã¾ã§ã®äººçã§ãã¡ããã¨ãä»äºã§.NETã触ã£ãã®ã¯ãã®ææã ãã§ãã趣å³ã§C#ã触ã£ã¦ã¿ã¾ããããè¨èªã¨ãã¦ã¯å ¨ç¶éãã®ã«ãVB.NETã¨ã»ã¨ãã©åãæ¨æºã©ã¤ãã©ãªãã¡ããã¨è§¦ããã®ã¯ããããªãã¨æåããã®ãè¦ãã¦ãã¾ããå½æã¡ã¤ã³ã§ãã£ã¦ããJavaã§ã¯ãè¨èªã¨ã©ã³ã¿ã¤ã ã®è·é¢ãè¿ãã®ã§ãè¨èªã¨ã©ã³ã¿ã¤ã ãåãã¦èããçºæ³ããªãã£ããã§ããããä»èããã¨Android Javaã¨ããã©ã³ã¿ã¤ã ã¯æ®éã®JVMã¨ã¯ä¼¼ã¦ãä¼¼ã¤ããªãæãã ã£ãã®ã§ããããããåãåãã¦èãããããã£ããã«ãªã£ãã®ã¯ã.NETã®çµé¨ã§ããã
ããããã°ã大å¦ã®åæ¥åã«GClue社ã§ã¢ã«ãã¤ãããããã¨ã«ãªããAndroid 1.6ã®ãããä¸ã§Geofencingã®èªåå®è£ ã¿ãããªãã¨ãããã¢ããªãä½ã£ã¦ãã¾ãããå½æã®åå¼·ä¼ã§ãAndroid Mapsã«ã¤ãã¦åã£ã¦ããã®ãè¦ã¤ããã¾ããã
www.slideshare.net
åã®GISå å¹´ã¯2010å¹´ã ã£ãããã§ãã
2011å¹´ï¼24æ³ï¼
ãã®å¹´ã®9æã«è»¢è·ãã¦ãç´10å¹´ã»ã©è¾²æ¥ITããããã¨ã«ãªãã¾ãããããã¾ã§ã®æéã¯ãWebãµã¤ããä½ã£ã¦ãã¾ããããããä»äºã§WordPressã触ããããå ã«Concrete 5ã触ãã¨ããä¸æè°ãªçµé¨ããã¾ãããçµå±å¹´æ«ã«ã¯è»¢è·å ã§WordPress製ã®èªç¤¾ãµã¤ããã¡ã³ããã¦ããã®ãæãã¨ãCMSã¨è·é¢ãè¿ãå¹´ã ã£ãã®ãããããªãã
2011å¹´ã®ãã¼ã¯ã¼ãã¯ãããªæãã
- Android 2.xã3.x
- Android Maps
- ActionBarCompat
- Concrete 5
- WordPress
- Corona SDK / Luaè¨èª
- Git
åãæºãããã¨ã«ãªã£ãè¾²æ¥ITã·ã¹ãã ã¯ãç¾å¨ã®èªå½ã§ãã£ããè¨ãã°è¾²æ¥åãã®GISã ã£ãã®ã§ã主ã«æ¦ãç¸æã¯Android Mapsã«ãªãã¾ãããActionBarCompatã®ã³ã¼ããªã¼ãã£ã³ã°ããããããã¦ãããã§ããAndroid 2.xã4.0ã®é渡æã®ããããã«æ©ã¾ããã¦ãããããªæ°ããã¾ãã
ä»ã«ãå½æããã¢ãã¤ã«åãã¯ãã¹ãã©ãããã©ã¼ã éçºã¸ã®é¢å¿ããã£ãã®ããã£ã¦ãå人ãåãçµãã§ããCorona SDKï¼ç¾å¨ã®Solar2Dï¼ã¨ãããLuaè¨èªã§ã¢ããªãæ¸ãããã¬ã¼ã ã¯ã¼ã¯ã®å¸æããã¦ãã¾ãããé»åæ¸ç±ã§ã¯ããã¾ããã人çåã®æ¬ãåºãã¾ããã
ãã®æ¬ãæ¬åã§åºãã¦ãããã§ããããããã¾ã§ã¯å¿åã§ã¤ã³ã¿ã¼ãããããã£ã¦ãã¾ãããããããã£ãå績ã¯ã¡ããã¨ç¾å®ä¸çã®èªåã®ãã£ãªã¢ã«å¯ä¸ããã¹ãã ã¨ããæèããã£ãã®ã§ãè ¹ãæ¬ã£ã¦æ¬åã§æ´»åãããã¨ã«ãã¾ããããã®æ¹éã®ãããããã£ã¦ããä»ã®ã¨ãããä¸å·å¹¸åãã¨ããåå§ååã®ä¸ã§ã¯æ¥æ¬ä¸æåãªä¸å·å¹¸åã«ãªãã¦ããã®ã§ã¯ãªããã¨æãã¾ãã
ããããã°ãç¾å¨ãæè¡æ¸å ¸ã®éå¶ã§ãä¸ç·ãã¦ããtakahashimããã¨åãã¦ä¼ã£ãã®ã¯ãã®ã¨ãã§ããããGitãåãã¦è§¦ã£ãã®ããã®æ¬ãæ¸ãããã§ãããReVIEWã«ãä¸ç¬ã ã触ããæ°ããã¾ãããåºæ¬çã«ã¯Markdownã§å·çãã¦ãtakahashimãããReVIEWã«æ¸ãç´ãã¦ãããã¯ã¼ã¯ããã¼ã ã£ããããªæ°ããã¾ããã¡ããã¨ReVIEWãæ¸ãã®ã¯ããå°ãå¾ã®è©±ã
2023å¹´ããè¦ãã¨ããããååã®å¯å¹´ã ã£ãããã§ãããããã£ããã®å¹´ç·ãªã®ã§ã2011å¹´ã¯é£èºã®å¹´ã«ããããã¨ææ°è¾¼ãã§ããã®ãé£èºããããå¹´ã§ããã
2012å¹´ï¼25æ³ï¼
ã´ãªã´ãªã¨ã¢ããªãä½ã£ã¦ããææã§ãã
- Android 4.x
- JSON
- Google Maps Android API v2
- Git
ãã§ã«Webçããããµã¼ãã¹ã®ã¢ãã¤ã«ã¢ããªçãæ´åãã¦ããã®ã主ãªãä»äºã ã£ãã®ã§ãJSONè²ä»ãä¿ã¨ãã¦ç²ã ã¨ãã£ã¦ãã¾ãããå½æããæã£ã¦ããã©ãJSONã£ã¦JavaScript以å¤ã®è¨èªã§ä½¿ãã¨ä¸ä¾¿ãããªãã§ããï¼
大ããã®ãããã¯ã¨ãã¦ã¯ããªããªã使ãåæã®æªãã£ãAndroid Mapsãå·æ°ãããGoogle Mapsã®APIãã¡ããã¨æ´åãããã®ãããã¾ãããå½æããããä¸ã§åã³ãä¼ãã¦ãããããªè¨æ¶ãããã¾ãã
2011å¹´ã¨æ¯ã¹ã¦èå³ãããªããã£ã¦ï¼ãã®è¨äºãæ¸ãã®ã«é£½ãã¦ããã®ããããã©ã2011å¹´ãæ¿ããããã ãã
2013å¹´ï¼26æ³ï¼
ãä»äºçã«ã¯è¾²æ¥æ©æ¢°ã¡ã¼ã«ã¼ã¨ã®åæ¥ãå§ã¾ã£ãææã§ãããã¼ã¯ã¼ãçã«ã¯ãããªæãã
- Android
- Maven
- Google Maps Android API v2
- è¾²æ¥æ©æ¢°ï¼ãã©ã¯ã¿ã¼ã»ã³ã³ãã¤ã³ã»ç°æ¤ãæ©ï¼
- ãªãã©ã¤ã³æ©è½
- ReVIEW
ãããã¦ä¸¦ã¹ãã¨ã ãã¶æ¿ãã§ããâ¦â¦
æ¬æ¥ã§ã¯ä¸»ã«ãè¾²æ¥æ©æ¢°ã¨ã¢ãã¤ã«ã¢ããªã§éä¿¡ãã¦ãæ¬ä¼¼çã«è¾²æ¥æ©æ¢°ãã¤ã³ã¿ã¼ãããã¨ããã¨ãããããã¤ãä½ã£ãããã¦ãã¾ãããä»æ¯ãè¿ãã¨ã2010年代å¾åã«IoTã¨ããååã§æµè¡ã£ããã¤ã§ããããã¼ãå é²çãWebãµã¼ãã¹ãã¢ãã¤ã«ã¢ããªéçºã®é¢ã§ã¯ç§ãã¡ãè²¢ç®ãã¾ãããããã以å¤ã®é¨åã«ã¤ãã¦ã¯è¾²æ¥æ©æ¢°ã¡ã¼ã«ã¼ããã®ãããã¯ãéçºåããµã¼ãã¹æ§æåã«é©ããããã°ããã§ããã
AndroidãããAndroidãªåéã¨ãã¦ã¯ã2013å¹´å½æã ã¨ã¾ã çããã£ããªãã©ã¤ã³åä½ã«ãã£ã¬ã³ã¸ãå§ãã¦ãã¾ãããAlermManagerã§é å¼µã£ã¦å®æãã¼ã¿åæãå®ç¾ããèåããªæ¹å¼ãèæ¡ãã¦ããªãã¨ããã¦ãããããªæ°ããã¾ãããã¼ã¿ãã¼ã¹ãæ±ãæ©ä¼ãå¢ããã®ã§ãOrmLiteã使ã£ããããã¦ãã¾ãããããããã°ããã±ã¼ã¸ããã¼ã¸ã£ã¨ãã¦Mavenã使ãã®ãåãçµãã§ãæ°ããããéå ¬å¼ãªåéã ã£ãã®ã§è¦ãã¿ããã£ããã©ãjarãã¡ã¤ã«ãç´æ¥æ±ãä¸çãã解æ¾ãããã®ã¯å¬ããã£ãã
ä»ã«å¤§ããã¨ããã¨ãã¦ã¯ã2010ã2012å¹´ã«AndroidÃGoogleãããã®æ å ±çºä¿¡ããã¦ããã®ãmhidakaããðãè¦ã¦ããã¦ããããã§ãTechBoosterã®å·¨å¤§ååèªãEffective Androidã«èªã£ã¦ãããã¾ãããReVIEWãã¡ããã¨æ¸ããã®ã¯ãã®ã¨ããåãã¦ã ã£ãã¨æãã¾ãã
ã¡ãªã¿ã«ãç¾è·ã®CTOã§ããid:gabuchanãåå ãã¦ãã¾ãããç¸ã£ã¦æããªãã
2014å¹´ï¼27æ³ï¼
ãã®ã¸ãã¯ããã¾ãæ¬æ¥ã®è¨æ¶ããªãâ¦â¦èå³ãæã£ã¦åãçµãã§ãããããã®ã¯ãã®è¾ºã
- Android
- Android Studio
- Gradle
- Robolectric + JUnit
- ãªãã©ã¤ã³åä½ï¼Sync Adapterï¼
- ActiveAndroid
- Kotlinï¼not Androidï¼
ããã ã£ãããã ã£ããAndroid Studioã¨Gradleã§ã®éçºç°å¢ãããæãã«ãªã£ã¦ããã®ã§ãä¼ç¤¾ã®ã¢ããªã®ãã«ãç°å¢ãMavenããGradleã«ç§»è¡ããããã¦ãã¾ããã
Robolectricã§èªåãã¹ããæ¸ããããç°å¢ãã§ãã¦ãã¦ããã®ã§ãJUnitã¨ã仲è¯ããªãå§ãã¦ããé ã§ããJUnitå®è·µå ¥éã¯ä»ã§ãåèã ã¨æã£ã¦ããã
2013å¹´ã«å¼ãç¶ãããªãã©ã¤ã³åä½ã«ã¤ãã¦ã¯ç 究ãç¶ãã¦ãã¾ããã50 Android Hacksãåèã«ãSync Adapterãé å¼µã£ã¦å®è£ ããã°å²ã¨ããã£ã½ããªããã¨ãããã£ãããå½æã¯ããã¥ã¡ã³ãã¼ã·ã§ã³ãå ¨ããªãã¦ãã³ãã¥ããã£ãã¼ã¹ã®ææ¢ãã§å®è£ æ¹æ³ãæ¢ã£ã¦ãã¾ããã
SQLiteã®ç®¡çããã£ã¨æ¹åã§ããªããã¨æ©ãã§ãActiveAndroidã触ã£ã¦ã¿ãæ代ãããã¾ãããæçµçã«ã¯ããªãã¦ããO/Rãããã¼ã¯ãªããªãã¨ããçµè«ã«ãªã£ã¦ãã¾ããç´æ¥SQLãæ¸ãå½¢ã«ãªãã¾ããã
ã¡ãªã¿ã«ããªãããã®é ã«ä¸åº¦Kotlinã«è§¦ã£ã¦ãã¾ãã
www.slideshare.net
ãã¼ãå è¦ã®æã¯ãã£ãã¯ããªãã ãã©ãçµå±Kotlinã³ãã¥ããã£ã«ã¯å ¨ãçªçãæ®ãã¦ããªãã®ã§ãä»çã§ã¯å¼·ãç¸ããªãã®ã ãªã¨ããæãã
2015å¹´ï¼28æ³ï¼
ã¡ãã£ã¨ãã£ãªã¢ã®é¢¨åããå¤ãã£ã¦ããã®ããã®é ã
- Android Lint
- Ionic Framework + AngularJS
- React Native
æ¬æ¥ã¯ç¸å¤ãããAndroidã¢ããªéçºã ã£ãã®ã§ãããã ãã ãã¨iOSãã©ãããã©ã¼ã ã§ãåããã®ãä½ããªãã¨ãããªãå§åãé«ã¾ã£ã¦ãã¦ãã¾ãããç´ ç´ã«iOS SDKãå¦ã¶æ¹åã«è¡ãã°ããã£ãã®ã§ãããæããã¯ãã¹ãã©ãããã©ã¼ã ã«æ§ãããã£ãã®ããã£ã¦ãIonic Frameworkã試ããããå½æã¾ã åºãã°ããã§çå¾æã®ãã£ãReact Nativeã®ã½ã¼ã¹ãèªãã ããã¦ãã¾ããã
æ°äººæè²ã®æèã§Android Lintãçµæ§æ´»ç¨ã§ãããªããã¨æ°ã¥ããã®ã¯ãã®å¹´ã§ããã
DroidKaigiã®ç¬¬1åãè¡ãããã®ããã®å¹´ã§ãããã2013ã2014å¹´ã«åãçµãã§ãããAndroidã¢ããªã®ãªãã©ã¤ã³åä½ã«ã¤ãã¦ã®çºè¡¨ãè¡ãã¾ããããã®æç¹ã§ã®åã¯ãã2å¹´ããããã£ã¨ãªãã©ã¤ã³ã®ãã¨ãèãã¦ããã®ã§ãã¢ããªããªãã©ã¤ã³ã§åããã®ã¯ãããã話ãªãã ã¨æã£ã¦ãã¾ããããçºè¡¨ãã¦ã¿ããå ¨ç¶ãããªãã¨ãªãã£ãã®ã§ãã¤ã¢ã¹ã£ã¦æããªã¨æãã¾ããã
2016å¹´ï¼29æ³ï¼
ããããæãè¿ãã§ãããµã¯ãã¨æ¸ããã¨ãè¨ã£ãã®èª°ã ãï¼ï¼ï¼ï¼ï¼
ãã®å¹´ã¯ã ãã¶å°ã£ã¦ã¾ãã
- Cordova
- webpack
- React
- Material-UI
- Firebase
- React Native
- Clean Architecture
ãã®å¹´ã¯å¤§ããåãã¦3ã¤ã»ã©ãµã¼ãã¹ãä½ã£ã¦ãã¾ããã
- Cordova+React+Material-UIã®iOSã¢ããª
- ç¾å ´ç¨ã®Androidã¢ããªã¨äºåæç¨ã®Webã¢ããªã®ãã¼ã¿ä¿åå ã¨ãã¦Firebaseã使ããã¤
- React Native製ã®æ²ç¤ºæ¿ã¢ããªã®ãããã¿ã¤ãã³ã°
æåºãã¯ããã®ã§ãããå ¨ä½çã«è»¸è¶³ãWebã«å¯ã£ã¦ãããªã¨ããæããããã¾ããã
ããã¯ããã¨æ°è¦ã¢ããªãå¤ãã£ãã®ããã£ã¦ãã¢ã¼ããã¯ãã£å¨ãã®ãã©ã¤ã¢ã³ãã¨ã©ã¼çµé¨ã大éã«ç¨¼ããææã§ãããã¾ããã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ãã«ã¼ã´ã«ã«ãçã«å°å ¥ãã¦çæ»ããã±ã¼ã¹ããããããã£ãã£ã¦ãã¨ã ãè¨ããããªæ¥ããããï¼
ããããã®å¤±æãçµã¦ãè¨è¨ã«é¢ãã解å度ãå°ããã¤ä¸ããå§ããææã§ã¯ããã¾ãããç¹ã«å¤§ããã£ãã®ã¯ãâã®çºè¡¨ãè¦ã¦ãPDSï¼Presentation Domain Seperationï¼ã®æ¦å¿µãç²å¾ãããã¨ã§ãã
MVCã¨ãMVPã¨ãMVVMã¨ãä½ãéãã®ãæ··ä¹±ãã¦ããã¨ããã«ããã¾ãã¯Presentationã¨Domainãåé¢ããã®ãä¸çªå¤§äºã§ãPresentationã®ä¸èº«ãã©ãåãããã¯ãView-Controllerã§ãView-Presenterã§ãView-ViewModelã§ãããã©ãããã©ã¼ã ãã¨ã®ç¹æ§ã«åããã¦å¥½ãã«ããããããã¨ããæéãä¸ãããã¦ãé ã®ä¸ãã ãã¶æ´çãããè¦ããããã¾ãã
2017å¹´ï¼30æ³ï¼
ãã®å¹´ãæ°è¦ãµã¼ãã¹ã«æºãããã¨ãå¤ãã£ãã§ãã
- GPSãã©ããã³ã°
- Kotlin + GeoJSON
- React Native
- React Native for Web
- TypeScript
èªç¤¾ã®Androidã¢ããªã§GPSãã©ããã³ã°ãè¡ããç°çã¸ã®å ¥åºå ´å±¥æ´ãèªåã§çæããå´å管çã«å½¹ç«ã¦ããããªæ©è½ãä½ã£ã¦ãã¾ããããããã°ã®ããã«ãããä¸ãæ©ãåã£ãã®ã¯ããæãåºã§ããç°çã®ããªã´ã³æ å ±ã¨äººéã®ãã¤ã³ãæ å ±ãæ¯è¼ãã¦å ¥åºå ´ãæ¤åºããããã«ãåä½ç½®æ å ±ãGeoJSON表ç¾ã«å¤æãã¤ã¤ãKotlin製ã®èªä½ã©ã¤ãã©ãªã§GeoJSONãªãã¸ã§ã¯ãå士ã®ä½ç½®é¢ä¿ãæ¯è¼ã§ããããã«ãããããªãã¨ããã£ã¦ãã¾ãããGISã£ã½ã¼ãã
ã¾ããå°äººæ°ã§è¤æ°ãã©ãããã©ã¼ã ã«å¯¾å¿ããæ¡ä»¶ãç«ã¦ç¶ãã«æ¥ã¦ããã®ã§ãçã£ç«¯ããReact Nativeã§èãåãã¦ããã¾ãããã¡ãã£ã¨é¢ç½ãã£ãã®ã¯ããããã¿ã¤ãã³ã°æ®µéã§Android/iOS/Webã®3ãã©ãããã©ã¼ã åãã«ä½ã£ãã¨ãã¦ããéç¨ãæ¤è¨ãã¦ã¿ãã¨ãB2Båéã§ã¯æçµçã«ãWebã ãããã°ãããï¼ãã«åæãããã¨ãå¤ãã£ãã®ã§ãããã¡ãã£ã¨åçãæ®ãããããããªããã©ã¦ã¶ã§äºè¶³ãã¾ãããã
2018å¹´ï¼31æ³ï¼
ãã®å¹´ã¯React Nativeè·¯ç·ãå¼·ãã§ããã
- React Native
- Expo
- React Native for Web
- Create React App
- TypeScript
- Reactã¨ç¸æ§ã®è¯ããããªã¢ã¼ããã¯ãã£ã®ç 究
- Layered Architecture
- Atomic Design
- SOLIDåå
åç´ã«2017å¹´ã®ããã¸ã§ã¯ãã2018å¹´ãç¶ãã¦ããæãã§ãã
ã ãã ãã¨ãå®ã¯ç¡çã«Android/iOSã¢ããªãä½ããªãã¦ããWebã ãããã°ããåéã¯çµæ§ãããã¨ããèªç¥ãè²ã£ã¦ããã®ã¯ãã®å¹´ã§ãããReact Nativeã§Android/iOSã¢ããªãå°ãã ãä½ãã¾ããããæçµçã«ã¯Webã¢ããªã°ããä½ã£ã¦ãããããªæ°ããã¾ãã
ã¾ããçã®React Nativeã使ãã®ã¯å²ã¨ç²ãã¦ãã¦ãExpoçµç±ããåãããªâ¦â¦ã¿ãããªé¡ããå§ããã®ããã®é ã§ãããæè¡æ¸å ¸4ã§ä½ã£ãããããå¾æãã¢ããªãExpo製ã§ãã
è¨è¨åéã§ã¯ãAtomic Designãæµè¡ã£ã¦ããé ã§ãæ§æ²ããç¡ãã«ã¼ã´ã«ã«ããã¦çæ»ãã¦ãã¾ãããReact + Layered Architectureã®å®é¨ããã¦ããã®ããã®é ã§ããã
ãã®é ã«ã¯ãLayered ArchitectureãClean Architectureãå½¢ã ã模å£ãã¦ãå®ç¨çã«ã¯ãªããªããã¨ã¯ç解ãã¦ãããDependency Inversion Principleçã®å種ååãå ´é¢ã«åããã¦æå¹ã«çµã¿åããããã¨ãã§ããã°ãæç§æ¸éãã®å½¢ãå®ãå¿ è¦ã¯ãªããã¨ãå®æãå§ãã¦ãã¾ããã
ååã¨ã®ä»ãåãæ¹ãã¿ãããªã®ãæèããããã«ãªã£ã¦ãã¦ããããã«æãã¾ããDRYååãªããã¯ä¸è¦æ±ãã¥ããã®ã§ãããä½ã§ãããã§ãå ±éåããã¨ãä¼¼ã¦ããã©ã¡ãã£ã¨éãã¦ã¼ã¹ã±ã¼ã¹ããå ¥ã£ã¦ããã¨ãã«æ»ã¬ãã¨ãããã£ã¦ãã¾ããããYAGNIãæ¢ã«ç¢ºå®ãã¦ããå°æ¥ã®èª²é¡ã«å¯¾ãã¦ç¡çã§ãããã¨ã¸ã®å 罪符ã«ã¯ä½¿ãã¾ãããSOLIDã®åååã¯ç¥ã£ãææãå½±é¿ãã¦ããããããã¾ããããæ¿«ç¨ãã¥ããã¦æ±ãããããªããã¨ããå°è±¡ãããã¾ããã
2019å¹´ï¼32æ³ï¼
ãã®é ã¯ããã»ã¼ããã³ãã¨ã³ãå±ããã§ãã
- Create React App
- Babel
- webpack
- GraphQL
- WebDriverIO
- Appium
æ¬æ¥ã§ãã¢ãã¤ã«Webã®ãµã¼ãã¹ãä½ã£ã¦ãã¾ããããæè¡æ¸å ¸Webã®ãµã¤ãæ§ç¯ãæ å½ãå§ããã®ããã®é ã§ãã
Reactã¨ç¸æ§ã®è¯ãè¨è¨ã«ã¤ãã¦ã¯ãApollo Clientã®ãããã§å°ãé²å±ãããã¾ãããä¸å±¤ã®ã³ã³ãã¼ãã³ãã¨éä¿¡ãç´æ¥ç¹ãã¦ãã¾ãã®ãè¯ããããªãã¨ãããã£ã¦ãã¾ãããLayered Architectureã®ããã«éä¿¡ã®è©³ç´°ãé è½ããã®ã§ã¯ãªããFragment Colocationã«ãã£ã¦ãã³ã³ãã¼ãã³ãã²ã¨ã¤ã²ã¨ã¤ã®ããã«Fragment Colocationã«ãã£ã¦å°ç¨ã®ãã¼ã¿åãç¨æããã®ã§ããGraphQLã®ç¹æ§ã¨ãã¦ãInfrastructure層ç¸å½ã®è²¬åã®ä¸é¨ï¼è¤æ°ãªã½ã¼ã¹ã®åãã¾ã¨ãï¼ãAPIãµã¼ãã¼ã«ç§»ç®¡ã§ããç¹æ§ãããã®ã§ãããããã®ãããã§ãé層ãã°ãã¨æ¸ããã¦ãå®ç¨ä¸ã®åé¡ãã»ã¨ãã©èµ·ãããªããªã£ãã®ã§ããClean Architectureã®åªç¸ãã解ãæ¾ãããå®ç ´é¢ãæã£ãã¨ãã§ããã
ä¼ç¤¾ã§ã¢ãã¤ã«ã¢ããªã®E2Eãã¹ãã®æ©éãé«ã¾ã£ã¦ããã®ã§ãAppiumã«ãå°ãã ãæãåºãã¦ãã¾ãããCordova製ã®ã¢ããªãããã®ã§ãWebDriverIOãçµç±ãã¦WebViewã®æä½ãããæ¹æ³ã®ç 究ããã¦ããããã¾ããã
2020å¹´ï¼33æ³ï¼
COVID-19ãæ¥ã¦ããªã¢ã¼ãã¯ã¼ã¯ä¸å¿ã«ãªã£ãå¹´ã§ãã
- Wear OS
- Create React App
- Babel
- webpack
- GraphQL
ããã³ãã¨ã³ããªé¢å¿ã¯ç¶æãã¤ã¤ããä»äºã§Wear OSã¢ããªãä½ãæ©ä¼ããã£ãã®ã§ããããããã£ããã¢ãããã¦ãã¾ããã
2021å¹´ï¼34æ³ï¼
10å¹´ã¶ãã®è»¢è·ã§ããã¹ãã«ã»ãããã¬ã©ãã¨å¤ããã¾ããã
- Next.jsï¼Pages Routerï¼
- Ruby on Rails
ã¾ããã®å®å ¨æªçµé¨ã®ãã¬ã¼ã ã¯ã¼ã¯Ã2ã®ç°å¢ã«æ¾ãè¾¼ã¾ãã¾ãããäºæ¥ã¨ãã¼ã ã ãè¦ã¦ã使ç¨ãã¯ããã¸ã¯å ¨ãè¦ãªãã§å ¥ç¤¾ãããããï¼ä»æ¹ãªããï¼
ä¸å¿åè·ã§ãAPIãµã¼ãã¼ãRailsã ã£ãã®ã§ãèªãã ããªãèªããã®ã§ãããèªåã§æä½ãã¦ã¿ãã¨å ¨ç¶æè¦ãéãã¾ãããActiveAndroidã®åºæ¥ããããªã«ãããªãã£ãã®ããã£ã¦ãActiveRecordã¤ã³ã¹ãã¤ã¢ç³»ã©ã¤ãã©ãªã«ã¯å¿é¿æããã£ãã®ã§ãããæ¬å®¶æ¬å ã触ã£ã¦ã¿ãã¨ãããªã使ç¨æãè¯ãã¦ãé©ãã¾ãããè¦æ¨¡ã大ãããªã£ã¦ããã¨é£ãããåºã¦ããã®ã¯æ¿ç¥ãã¦ãã¾ããã0â1ãã§ã¼ãºãªãç¾ä»£ã§ãRailsã¯è¯ãé¸æè¢ã®ã²ã¨ã¤ãªã®ã ãããªã¨æãã¦ãã¾ãã
2022å¹´ï¼35æ³ï¼
æ¨å¹´ã§ããããã¾ã§æ¥ãã°è¨æ¶ãæ°ãããã¨æããããæå¤ã¨ä½ãæãåºãã¾ããã
- XState
- Remix
ä»äºã§è¨ºæã¢ããªã®ãããªãã®ãä½ã£ã¦ããã¨ãã«ãXStateã«ããã¹ãã¼ããã·ã³å®ç¾©ã試ããããã¦ãã¾ããããªããªãããã£ãã®ã§ãCodeZineããã§æã£ã¦ããé£è¼ã®ä¸ã§åãä¸ãããã¨ãããã¾ããã
ã¾ããçè ã®ä¸ã§ã¨ããã¯ã¡ã¤ãã³ã°ã ã£ãã®ãRemixã§ããããã®æªåé«ãReact Routerã®ãã¼ã ãä½ã£ã¦ããã¨ãããã¨ã§ãæ大éã®è¦æãããªãããã£ããã¢ããããã®ã§ãããæãã®ã»ãè¯ããã®ã§ãããReact Routerãæ¡å¼µããå½¢ã§ãé«åº¦ã«éä¿¡ã¨ã«ã¼ãã£ã³ã°ãçµ±åãããç°å¢ã¯å¿«é©ã§ããããWebæ¨æºã«åããã¨ããã¹ããã©ã¯ãã£ã¹ã«ãããã¨ã§æè²ã³ã¹ãã®å¹çãä¸ããæ¹éã«ã好æãæã¦ã¾ããããã©ã¦ã¶å´ã§éåæéä¿¡ãããæ©ä¼ãã»ã¨ãã©ãªããªã£ããã¨ã§ãè³ã«ãããè² è·ãæ ¼æ®µã«æ¸ã£ãã®ã¯ãæ¬å½ã«ç´ æ´ããããã¨ã§ãã
2023å¹´ï¼36æ³ï¼
ã¨ããããã§ãä»å¹´ã§ããã¾ãå¯å¹´ã«ãªãã¾ãããã24æ³ã®ã¨ãã¨ã¯éã£ã¦ããããã¨ãã£ã¦ãã¾ãã
- Remix
- Next.jsï¼App Routerï¼
- Terraform
App Routerã¯Remixã«ã¤ã³ã¹ãã¤ã¢ããã¦çã¾ãããã®ï¼è¦åºå ¸ï¼ãªã®ã§ã好ã¾ããç¹ãå¤ãã§ããéåæéä¿¡ã¯æ¸ãæ¹åã®æ代ãªãã ãªã¼ã¨ããæ°æã¡ãé«ã¾ã£ã¦ãâã®ãããªè¨äºãåºãã¾ããã
ãã¨ã¯ã社å ã§ãèªåã®ãã¼ã ã®ãã¨ã¯èªåã§ãããã¨ããæ©éãé«ã¾ã£ã¦ããã®ããã£ã¦ãéãè °ãä¸ãã¦Terraformã使ã£ãGCPã®æ§æã«ããã£ã¬ã³ã¸ãã¦ãã¾ããMemorystore for RedisãCloud Runã«ç¹ãè¾¼ãã ãé å¼µã£ã¦ãããããã
ã¾ã¨ã
ãµã¯ãã¨æ¸ããã¨ãè¨ã£ãã®èª°ã ãï¼ï¼ï¼ï¼ï¼ï¼2åç®ï¼
å¾åã¯ç²ãã¦ãã¦æããã«è§£å度ãä¸ãã£ã¦ãæ°ãããã®ã§ããã®ãã¡å æ°ãªæã«ä½ã追è¨ããããããã¾ããããã²ã¨ã¾ãä»ã¯ãããç²¾ä¸æ¯ï¼
ãã¼ãããªããããããããªãã¨ããã£ã¦ãããã ãªãã¨ããæãã§ãããå°ä¸¦æã§ãã
æè¿EMã«ãªã£ãã®ã§ãæè¡ã®æ¯éãããä¸ãã£ã¦ãããããªæ°ãããããããã§ããªããããªæ°ããããããããã®5å¹´éãããããªãã¨ããã£ã¦ãããããªãã
ããã§ã¯ï¼