Docker ăŽç´šäťă¨ćŚčŚ
DockerăŤăŻă¸ăŠăćĽăŚăă ăă! ăăŽĺ Ľéăťăăˇă§ăłă§ăŻăăăłăłăăă¨ăŻä˝ăăă¨ăăĺşćŹăăĺ§ăăžăă ăăăăăăăźăŤăŤéçşăŤăăăăłăłăăăŽĺă¨ăDocker ăŽä¸éŁăŽăľăźăăšăăŠăŽăăăŤăăšăŚăăžă¨ăăăăĺŚăłăčŚăăă¨ăă§ăăžăă ä¸č˛Ťć§ăŽăăéçşç°ĺ˘ăç°ĄĺăŞçľąĺăăšăăă¤ăĄăźă¸ăŽăťăăĽăŞăăŁäżčˇă¨ăăŤăăŽčż éĺăŤĺ˝šçŤă¤ăăźăŤă襨示ăăăžăă
ăăŽăťăăˇă§ăłăŻăDockerăćäžăăăăšăŚăŽăăŽăŽĺşçŻăŞćŚčŚăćäžăăăă¨ăçŽçă¨ăăŚăăăćčĄçăŞăăŚăăźăŤăŻč§ŚăăŚăăŞăăă¨ăŤćł¨ćăăŚăă ăăă Docker ăĺăăŚä˝żç¨ăăăŚăźăśăźă§ăăçľé¨čąĺŻăŞăŚăźăśăźă§ăă誰ăŤă¨ăŁăŚăć°ăăăăŽăăăăžăă
Â
ĺă
ăăăŤăĄăŻăç§ăŽĺĺăŻăă¤ăąăŤăťă˘ăźăŚăŁăłă§ăăăDockerăŽăăăăăăźăŞăŹăźăˇă§ăłăşăăźă ăŽăĄăłăăźă§ăă ăăŽăťăăˇă§ăłă§ăŻăDockerăŽç´šäťă¨ćŚčŚăŤă¤ăăŚčŞŹćăăžăă DockerăŤă¤ăăŚăŽăăžăăžăŞăă¨ăDockerăăłăłăăă使ç¨ăăéçşč ăŽă¨ăŻăšăăŞă¨ăłăšăŽĺšçĺăŤăŠăŽăăăŤĺ˝šçŤă¤ăăăžăăćŹçŞç°ĺ˘ă¨ăłăłăăĺăăăç°ĺ˘ĺăăŤă˘ăăŞăąăźăˇă§ăłăćşĺăăćšćłăŤă¤ăăŚă芹ăăăžăă ăăŚăĺ ăŤé˛ăă§ăĺ¤ăăŽç°ăŞăăă¨ăŤă¤ăăŚčŠąăăă¨ăŤăŞăă¨ăăčŚĺăĺăăŁăŚčż°ăšăŚăăăžăă ăăăŚăĺ¤ăăŽăă˘ăäžăăăăŚç§ăăĄăŽăăžăăžăŞčŁ˝ĺăăľăźăăšăăăšăŚçľăżĺăăăŁăŚăăăŽăčŚăăă¨ăă§ăăžăă ăăăŻăăăăăăă§ăăăă ăăžă桹ăćăä¸ăăă¤ăăăŻăăăžăăă ă§ăăăăăăăŻé常ăŤĺš ăŽĺşăäźčŠąă¨ćˇąăäźčŠąăŤăŞăă§ăăăă ă§ăăăăĺŽéăŤăŠăŽăăăŤĺŽčŁ ăăĺŽčĄăŤç§ťăăăĺŚăśăăăŤăŻăäťăŽăťăăˇă§ăłăăă§ăăŻăăĺż čŚăăăăžăă
ăăăăăăă§ăŻăäťćĽăŻä˝ă芹ăăă? ăžăăăłăłăă 101ăčĄăăžăă DockerăčĄăăăšăŚăŽăă¨ăŻăăłăłăăăŤçŚçšăĺ˝ăŚăŚăăžăă ă§ăăăăç§ăăĄĺ ¨ĺĄăĺăăăźă¸ăŤăăăă¨ă確čŞăăžăăăă ăžăăăăŽăă¨ăăĺ§ăăžăăăă 揥ăŤăDockeră使ç¨ăăăăžăăžăŞćšćłăŤéŁăłčžźăżăžăă ăăă§ăŻă2ă¤ăŽĺ°ĺ ĽăăŠăăŻăçšăŤăłăłăăăľăăźăéçşăŤă¤ăăŚă芹ăăăžă - ĺşćŹçăŤăŻăă˘ăăŞăąăźăˇă§ăłăŽéçşăă˘ăăŞăąăźăˇă§ăłăŽăăšăăăăźă ĺ ¨ä˝ă§ä¸č˛Ťăăç°ĺ˘ăŽćäžăŞăŠăŤăłăłăăăăŠăŽăăăŤä˝żç¨ă§ăăăă¨ăăăă¨ă§ăă- 揥ăŤăăłăłăăĺăăăç°ĺ˘ă§ăŽćŹçŞç°ĺ˘ç¨ăŤă˘ăăŞăąăźăˇă§ăłăăŠăŽăăăŤćşĺă§ăăžăă? ă§ăŻăă˘ăăŞăąăźăˇă§ăłăăłăłăăĺăăăŤăŻăŠăăăă°ăăă§ăăăăă ĺšççăŤć§çŻăăăŤăŻăŠăăăă°ăăă§ăă? ăăŽçťĺăŞăŠăăŠăŽăăăŤäżčˇăăžăă? ăăă§ăăăŽéç¨ă§ăăžăăžăŞăăźăŤăăľăźăăšăŤă¤ăăŚă芹ăăăžăă
Â
çŽćŹĄ
- ăłăłăă 101 (1:34)
- çťĺăŽć¤ç´˘ (6:22)
- ĺťşçŠă¤ăĄăźă¸ (7:40)
- DockerăŽä˝żăćš (8:40)
- DockerăăšăŻăăă (10:20)
- ăłăłăăăľăăźăéçş (12:30)
- ă㢠(16:18)
- çľąĺăăšăăŽčŞ˛éĄ (23:05)
- TestcontainersăŽç´šäť (24:15)
- ăă˘: Testcontainers (25:40)
- ă˘ăăŞăŽăłăłăăĺ (29:57)
- Docker Init(31:41)
- GitHub ă˘ăŻăˇă§ăł (32:18)
- ăŻă¤ăăŻăăłă/ăăšăăăŠăŻăăŁăš (32:59)
- ă㢠(35:58)
- ćŚčŚ (41:16)
- ăăăŤčŠłăă
Â
ăłăłăă 101 (1:34)
ăăă§ăŻăăłăłăă 101ăŤéŁăłčžźăżăžăăăă ăăăŚăç§ăăĄăçăăćĺăŽčłŞĺăŻăăłăłăăă¨ăŻä˝ă§ăă? ăăăŤçăăćĺăŽćšćłăŻăĺŽéăŤäžăă使ăăă¨ă§ăă ă§ăăăăç§ăăĄăŻçăăšăăźăăăŠăłăćăŁăŚăăžăăăžăăŻç§ăăĄăŽăťă¨ăăŠăă¨ăŤăăćăŁăŚăăžăă ç§ăăĄăŽăšăăźăăăŠăłăŤăŻăăăžăăžăŞă˘ăăŞăąăźăˇă§ăłăă¤ăłăšăăźăŤăăăŚăăžăă ăăŽĺ ´ĺăçˇăéăéťč˛ăéçˇč˛ăŽ4ă¤ăŽç°ăŞăă˘ăăŞăăăăžăă ăăăŚăčăăŚăăă ăăăăŽăŻăăăăăŽă˘ăăŞăŽ1ă¤ăĺŽéăŤă¤ăłăšăăźăŤăăćšćłăă¤ăžăéťčŠąăŽč¨ĺŽăéŠĺăŞäžĺé˘äżă¨č¨ĺŽăŞăŠăăăšăŚăŤă¤ăăŚĺżé ăăŞăăă°ăŞăăŞăăŁăăŽăŻăă¤ă ăŁăăă¨ăăăă¨ă§ăă ăžăăçăăŻăăăăćąşăăŚăăăžăăă ăăăŞĺżé ăŻä¸ĺşŚăăăăžăăă§ăăă ăŞăăŞăăç§ăăĄăŻä˝ăăăŚăăăŽă? ă˘ăăŞăšăă˘ăéăăă¤ăłăšăăźăŤăăżăłăăŻăŞăăŻăăă¨ăăăŚăłăăźăăăăă¤ăłăšăăźăŤăăăć°ç§äťĽĺ ăŤćşĺ¸ŻéťčŠąăŤă˘ăăŞă襨示ăăăžăă ăăăŚăăăăăăăăă§čľ¤ăă˘ăăŞăąăźăˇă§ăłăăŻăŞăăŻăăă¨ăăăŽă˘ăăŞăç§ăŽéťčŠąă§ĺŽčĄăăăžăă ăăăŚăžăăćşĺ¸ŻéťčŠąăŽäťăŽă˘ăăŞăŤă¤ăăŚĺżé ăăĺż čŚăŻăăăžăăă éăă˘ăăŞă辡ĺăăă¨ăăŤă辤ăă˘ăăŞăŤăŠăŽăăăŤĺ˝ąéżăăăăĺżé ăăĺż čŚăŻăăăžăăă ăăăăŻăăšăŚăăăăăŽĺé˘ăăăç°ĺ˘ăĺŽčĄăăŚăăžăă ăžăăăłăłăăăŻĺăăăŽă¨ăăäźźăŚăăžăă 確ăăŤăăăăăŻĺ°ăç°ăŞăćšćłă§ĺŽčŁ ăăăŚăăžăăăăăšăŚăŽăłăłăăĺăăăăăăťăšăĺé˘ăăăç°ĺ˘ă§ĺŽčĄă§ăăäťăŽăłăłăăăăĺŽĺ ¨ăŤçŹçŤăăŚăăă ăă§ăŞăăăăšăăăăçŹçŤăăŚăăĺć§ăŽĺé˘ăťăăăćäžăăžăă
ă§ăŻăăăă§äžăčŚăŚăżăžăăăă PostgreSQLăĺŽčĄăăăă¨ćłĺăăŚăżăŚăă ăăă ăłăłăăĺăăăç°ĺ˘ă§ăŻăDocker HubăŤă˘ăŻăťăšăăŚăăPostgreSQLăć˘ăăă¨č¨ăăă¨ăă§ăăžăă ĺŽéăDocker Hubă¨ăăă§ăăŠăŚăśăŤĺăćżăăă¨ăPostgreSQLă¤ăĄăźă¸ă襨示ăăăĺĺ¨ăăăăšăŚăŽç°ăŞăăăźă¸ă§ăłăŞăŠăăăŽă¤ăĄăźă¸ăŤé˘ăăĺ¤ăăŽčŠłç´°ă確čŞă§ăăžăă ćć°ăŽ 17ă使ăăžăă1ă ăžăăŻăĺ¤ăăăźă¸ă§ăłăĺż čŚăŞĺ ´ĺăŻă 12ăĺŽčĄă§ăăžăă21ă ăżă°ăżăăŤç§ťĺăăŚăäťăŽĺ¤ăăŽăżă°ă襨示ăăăă¨ăă§ăăžăă PostgresăĺŽčĄăăćšćłăŤé˘ăăčż˝ĺ ăŽăăăĽăĄăłăăăăăžăăăăăăŤăăç§ăă§ăăăă¨ăŻăăăă§ăżăźăăăŤăŤă¸ăŁăłăăăŚădockerrunăăłăăłăăĺŽčĄăăăă¨ă§ăă ăăăŚăăăăŻăăšăăźăăăŠăłăŽäžăă§čŠąăăŚăăă˘ăăŞăŽă¤ăłăšăăźăŤă¨ĺŽčĄă¨é常ăŤăăäźźăŚăăžăă ăăăăăăăä˝ăăăăă¨ăăŚăăăă¨ăăă¨ăăłăłăăăĺŽčĄăăç°ĺ˘ĺ¤ć°ăćĺŽă(ăăă§ăŻăăźăăăăăłă°ăŤă¤ăăŚăăăŤčŞŹćăăžă)ăăăŽçšĺŽăŽăăźă¸ă§ăłăŽă¤ăĄăźă¸ 17ă§Postgresă¤ăĄăźă¸ăĺŽčĄăăăă¨ăăžăă1ă
ăăăŚăEnterăăźăćźăă¨ăPostgresă辡ĺăăžăă ăă§ăŤă¤ăĄăźă¸ăăăŚăłăăźăăăžăăă ăăăăŞăă¨ăăăŚăłăăźăăćĺăŤčĄăăăăŽă襨示ăăăžăă ăăăăăăšăŚăŽăă°ĺşĺăĺşĺăăăăŽă§ăPostgresăŻĺŽčĄăăăŚăăžăă ăăŚăčŚăăŚăăćšăăăăŁăăăă¨ćăăžăăăăăăăŽĺăłăłăăăŻĺé˘ăăăç°ĺ˘ă§ĺŽčĄăăăŚăăă¨čż°ăšăžăăă ăăăăŁăŚăăăŽăăźăăăăăłă°ăčĄăŁăŚăăăă¨ăŻăĺşćŹçăŤăăăăŻăźăŻĺé˘ăŤçŠ´ăçŞăăăăŞăăŽă§ăă ăăăăă°ăăăźăŤăŤăăˇăłăăă˘ăŻăťăšă§ăăžăă ăăăăŞăă¨ăăăźăżăăźăšăŤă˘ăŻăťăšă§ăăžăăă ă¤ăžăăăăăč¨ăŁăŚăăăŽăŻăăăšăăŽăăźă 5432 ăăłăłăăăŽăăźă 5432 ăŤćĽçśăăăă¨ă§ăă ăăă§ăăăă§ç§ăă§ăăăă¨ăŻăăăă§ĺĽăŽăżăăéăăă¨ăă§ăăă¨ăăăă¨ă§ăă ăăăŚăăă¤ăăŁăăŤă¤ăłăšăăźăŤăăăPSQLăłăăłăăŠă¤ăłăăźăŤă使ç¨ăăŚăăăźăŤăŤăăšăăŤćĽçśăăăă¨ă ăč¨ăăžăă č¨ĺŽăăăăšăŻăźă(dev)ă使ç¨ăăžăă ăăăŚäťăç§ăŻăăźăżăăźăšăŤćĽçśăăŚăăžăă çš°ăčżăăŤăŞăăžăăăä˝ăă¤ăłăšăăźăŤăăĺż čŚăŻăăăžăăă§ăăă ä˝ăč¨ĺŽăăĺż čŚăŻăăăžăăă§ăăă ăăăŚăăăăŻăăžăăăăžăă ç§ăŻĺăĺăăă¨ăă§ăăžăă ăăĄăăăăăăŤăŻăăźăăŤăŻăăăžăăă 犺ăŽăăźăżăăźăšă§ăă ăăăăĺŽäşăăăăCtrl-Căćźăă ăă§ăăźăżăăźăšăĺŽćăăžăă ć˘ăžăŁăă ăłăłăăăŻăăĺŽčĄăăăŚăăžăăă ăăăŚăçťĺăĺé¤ăăăă¨ćăŁăăăĺşćŹçăŤăăšăŚăĺŤăžăăŚăăăăăąăźă¸ăŻăŞăăŞăŁăŚăăžăăžăă ç§ăŽăăˇăłăŤăŻä˝ăă¤ăłăšăăźăŤăăăŚăăžăăă çš°ăčżăăŤăŞăăžăăăăšăăźăăăŠăłăŽă˘ăăŞăŽăăăŤăăăăăŽăăźăżăăŤă§ĺé˘ăăăăăăťăšăćăŚăă¨ăăčăćšă§ăă ăăăă大ăăŞéă㎠1 ă¤ăŻăăăăăŽăłăłăăăč¤ć°ćĽçśăăŚéçşç°ĺ˘ăä˝ćă§ăăăă¨ă§ăă ăăăŚăăăăŻăăă§ăăăŤăăăăžăă
ăăŚăăăă§ăŽăšăŠă¤ăăŤćťăă¨ăăăăŤă¤ăăŚéŠĺăŞĺŽçžŠăăăăăăŤăä¸ćĽăŽçľăăăŽăłăłăăăŻăăšăăźăăăŠăłăŽă˘ăăŞă¨ĺăăăăŤăăăˇăłä¸ăŽĺ¤çŤăăăăăťăšăŤăăăžăăă ĺŽĺ ¨ăŞäťŽćłăăˇăłă§ăŻăăăžăăă ă¤ăžăăăŤăźăăŤăăă¤ăăźăă¤ăśăźăŞăŠăŻé˘äżăăăžăăăăăăŻăăăˇăłä¸ă§ĺé˘ăăăăăăťăšăŤăăăžăăă ă¤ăĄăźă¸ăŻăăłăłăăĺăăăç°ĺ˘ăĺŽčĄăăăăăŤĺż čŚăŞăăšăŚăćäžăăă¤ăłăšăăźăŤăăăąăźă¸ă¨čăăŚăă ăăă ăăăăŁăŚăăăšăŚăŽăă¤ăăŞăăăšăŚăŽăăĄă¤ăŤăăăšăŚăŽć§ćäžĺé˘äżăŞăŠăćäžăăžăă ăăăăŁăŚăPythonă˘ăăŞăăăĺ ´ĺăPythonăŠăłăżă¤ă ăăăăăăăăçśăăžăă
Â
çťĺăŽć¤ç´˘ (6:22)
ă§ăŻăăăĺ°ăćăä¸ăăă¨ăăăăăŽçťĺăŻăŠăăŤăăăŽă§ăăăă? ăăŚăDocker HubăăćĽăPostgresăŽä¸äžăčŚăžăăă ăžăăDocker HubăŻä¸çć大ăŽăăźăąăăăăŹă¤ăšă§ăă ăăăŻç§ăăĄăéĺśăăćäžăăăľăźăăšă§ăă ăăăŚăĺŠç¨ĺŻč˝ăŞăăžăăžăŞçťĺăăăăăăăăžăă ĺŽéăDocker HubăŽăăŠăŚăśăŤćťăă¨ăăăăŤăăĺ¤ăăŽçťĺă調ăšăăă¨ăă§ăăžăă ăžăăDockerăŽĺ Źĺźă¤ăĄăźă¸ăŽăťăăăčŚăă¨ăăăăŤăŻăăžăăžăŞç¨ŽéĄăŽă¤ăĄăźă¸ăăăăă¨ăăăăăžăă ĺŽčĄăăă°ăăăŽPostgresăłăłăăă¨ăăäźźăŚăăžăă ăăăăŽăăă¤ăăŻăRedisăPostgresăăăă§ănginxăŞăŠăăăăŤĺŽčĄă§ăăă˝ăăăŚă§ă˘ăćäžăăă¤ăĄăźă¸ă§ăă ăăăăăăăăŽäťăŽăăă¤ăăŻăĺăŤăăăĺŽčĄăăă¨ăŻăŠăăăćĺłă§ăă? äžăă°ăPythonăŽăăăŤă Pythonă¤ăĄăźă¸ăŻăćĄĺźľăăŚçŹčŞăŽă˘ăăŞăąăźăˇă§ăłăć§çŻăăăăăŽĺŞăăĺşç¤ăćäžăăžăă çš°ăčżăăŤăŞăăžăăăPythonăĺŽčĄăăă ăă§ăŞăăPythonăŠăłăżă¤ă ăpipăăăăłPythonç°ĺ˘ăŤćĺž ăăăăăŽäťăŽăăźăŤăĺăăPythonă¤ăĄăźă¸ăĺż čŚă§ăă ăăăŚăăăăčŞĺăŽă¤ăĄăźă¸ăŽăăźăšă¨ăăŚä˝żăăăăăăćĄĺźľăăăă¨ăă§ăăžăă ăăăŚăžăăăăăŤăŻăăăăăŽçťĺăăăăžăă DockerăŽĺ Źĺźă¤ăĄăźă¸ăăăăžăă ăăăăŻăç§ăăĄăä˝ćăăçśćăăäżčˇăăă¤ăĄăźă¸ă§ăăăĺ¤ăăŽçľçšăć´ťç¨ăăăăăŽĺŞăăĺşç¤ăćäžăăžăă
Â
ĺťşçŠă¤ăĄăźă¸ (7:40)
çŹčŞăŽă¤ăĄăźă¸ăć§çŻăăćşĺăă§ăăăăă¤ăĄăźă¸ăŽć§çŻă¨ăăăŤé˘ăăăăšăăăŠăŻăăŁăšăŤçŚçšăĺ˝ăŚăĺĽăŽăťăăˇă§ăłăăăăžăă ăă ăăé常㯠Dockerfile ă使ç¨ăăžăă ăžăăDockerfile ăŻăăăŽă¤ăĄăźă¸ăŽăăŤăćšćłăŤé˘ăăä¸éŁăŽĺ˝äť¤ăćäžăăžăă ăăŽäžă§ăŻăPythonăăéĺ§ăăăăă¤ăăŽăăĄă¤ăŤăăłăăźăăăăăăŽäžĺé˘äżăă¤ăłăšăăźăŤăăăăăŽăăă¤ăăŽăłăăłăăĺŽčĄăăžăă ăžăăĺŽčĄăŤĺż čŚăŞăăšăŚăŽă㎠(ăăŽĺ ´ĺ㯠Python ă˘ăăŞăąăźăˇă§ăł) ăĺŤăă¤ăłăšăăźăŤ ăăăąăźă¸ăä˝ćăăžăă CLIă使ç¨ăăŚăăŤăă§ăăžăă ç§ăŻDockerăăŤăăčĄăăžăă ăăŽçťĺăŤĺĺăäťăăăă¨ăă§ăăžăă ăăŽĺ ´ĺăŻămoby/my-app ă§ăă ăăăŚăăăăăŹă¸ăšăăŞăŤăăăˇăĽă§ăăžăă ăžăăăăŽăŹă¸ăšăăŞăŻDocker HubăAWS ECRăĺ é¨ăŽJFrog ArtifactoryăŞăŠă§ăă ăăžăăžăŞăŹă¸ăšăăŞăăăăžăă ăăăŚăăăăŤăŻăăăăăŽăăŁăłăšăăăăžăă
Â
DockerăŽä˝żăćš (8:40)
çš°ăčżăăŤăŞăăžăăăăłăłăăăĺé˘ăăăăăăťăšăă¤ăĄăźă¸ăŤăŻăă˘ăăŞăąăźăˇă§ăłăĺŽčĄăăăăăŤĺż čŚăŞăăšăŚăŽăăŽăĺŤăžăăŚăăžăă DockerăŻăăăŤăŠăŽăăăŤéŠĺăăžăă? DockerăćäžăăăăžăăžăŞăľăźăăšă¨ăăźăŤăŻä˝ă§ăă? ăăŚăćĺăŤč¨ĺăăăŽăŻăăťă¨ăăŠăŽäşşăăă§ăŤăăçĽăŁăŚăăăăŽă§ăă
- Docker ăăšăŻăăă: éçşč ă¨ăăŚăŽç§ăŤă¨ăŁăŚăŽĺä¸ăŽăŻăłă¤ăłăšăăźăŤă˝ăŞăĽăźăˇă§ăłă ç§ăŻăăăčŞĺăŽăăˇăłăŤă¤ăłăšăăźăŤăăžăăăăăŻç§ăăłăłăăă§ăăšăŚăéçşăăăšăăć§çŻăăăăăŤĺż čŚăŞăăšăŚăŽăăźăŤăç§ăŤä¸ăăžăă ăăăŚăăăŽäžăăăĺ°ăĺžă§čŚăŚăăăžăăÂ
- Docker ăă: çťĺăčŚă¤ăăăăçťĺăĺ ąćăăăăăăă§çťĺăŞăă¸ăăŞăä˝ćăăăă§ăăăăźăąăăăăŹă¤ăšă§ăăÂ
- Docker Scout: ç§ăăĄăćäžăă製ĺăŻăĺşćŹçăŤćŹĄăŽčłŞĺăŤçăăžă:ç§ăŻă¤ăĄăźă¸ăć§çŻăăžăăăăčŻăă¤ăĄăźă¸ăć§çŻăăăăŠăăăŻăŠăăăă°ăăăăžăă? ăăŽçťĺăŻăçľçšăŽăłăłăăŠă¤ă˘ăłăš ăăŞăˇăźăćşăăăŚăăžăăă? ă§ăăăăScoută使ăă°ăăăžăăžăŞăăŞăˇăźăŤç §ăăăŚčŞĺăŽă¤ăĄăźă¸ăĺćăăăă¨ăă§ăăžăă ăăă§ăŻăăăŽäžăĺ°ăă ăčŚăŚăăăžăă ăăăŚăĺéĄăçşçăăĺ ´ĺăŻăScoutăăăăă俎ćŁăăćšćłăŤă¤ăăŚć¨ĺĽ¨äşé ăćäžă§ăăžăă ăăŽăăăéçşč ă¨ăăŚăăăšăăčĄăăă¤ăĄăźă¸ăăăŤăăăă¤ăĄăźă¸ăăăšăăăĺćăăăłăźăăăăăˇăĽăăŚCI/CDăăăťăšăé˛ăăăŁă¨ĺăŤăăăăăćşć ăăŚăăăă¨ă確čŞă§ăăžăă ăăă§ăăăăŁăźăăăăŻăŤăźăăçăăăăă¨ăăŚăăžăăÂ
- Docker ăăŤă ăŻăŠăŚă: ă¤ăĄăźă¸ăăăčż éăŤä˝ćăăăŽăŤĺ˝šçŤăĄăžăă ăăŽăăăăŻăŠăŚăăŽăăăźă¸ă ăăŤăăźă使ç¨ăăă¨ăăăčż éăŤăăŤăăă䝼ĺăŽăăŤăăŽăăŁăăˇăĽăć´ťç¨ă§ăăžăă ăăăŚăăăŽäžăĺžă§ăăă¤ăčŚăŚăăăžăăÂ
- TestcontainersăŻăŠăŚă: ăłăłăăăŽĺŽčĄăăŻăŠăŚăăăźăšăŽç°ĺ˘ăŤĺ§äťťăăăŽăŤĺ˝šçŤăĄăçšăŤCIç°ĺ˘ă§ăŽçľąĺăăšăăĺŽčĄăăăŽăŤé常ăŤĺ˝šçŤăĄăžăă ăăăŚăžăăăăŽäžăăăăŤčŚăŚăăăžăăÂ
Â
DockerăăšăŻăăă (10:20)
Docker DesktopăŤă¤ăăŚăăĺ°ă芳ăă誏ćăăă¨ăĺ¤ăăŽćˇˇäšąăăăăăăDocker DesktopăŻĺłä¸ăŽGUI䝼ä¸ăŽăăŽă§ăăăă¨ăć確ăŤăăăă¨ćăăžăă ăăăŻăç§ăŽăăźăŤăŤ ăăˇăłă§ăłăłăăăźăćä˝ăăăăăŤĺż čŚăŞăăšăŚăćäžăăžăă ă¤ăĄăźă¸ăŽć§çŻăăłăłăăăŽĺŽčĄăKubernetesăŻăŠăšăżăŽăšăăłă˘ăăăHelmăăŁăźăăŽăăšăăăŻăăšăăŠăăăăŠăźă ăŽăľăăźăăäťăŽăăšăŚăŽčŁ˝ĺăăľăźăăšă¨ăŽçľąĺăĺŻč˝ă§ăă CLIăŽGUIăćäžăăžăăăćăéčŚăŞăă¨ăŻăçšăŤă¨ăłăżăźăăŠă¤ăşăšăăźăšăŽäşşă ăŤă¨ăŁăŚăă¨ăłăżăźăăŠă¤ăşĺśĺžĄăćäžăăŚăäźćĽăéçşç°ĺ˘ăĺŽĺ ¨ă§ăťăăĽă˘ăŤäżă¤ăă¨ăă§ăăăăăŤăăăă¨ă§ăă ăăăŤăŻăăŚăźăśăźăĺĺžă§ăăăŹă¸ăšăăŞăŤé˘ăăč¨ĺŽăĺśĺžĄăăăăłéçşč ăŻăźăŻăšăăźăˇă§ăłăĺŽĺ ¨ăŤäżă¤ăăăŽăăŽäťăŽč¨ĺŽăĺŤăăăă¨ăă§ăăžăă
ăăŚăĺŽéăŤăłăłăăăćĄç¨ăăŚä˝żç¨ăăă¨ăăăăăă漽ăăżăŽĺ§ăžăă§ăĺ¤ăăŽăă˘ăŤăŻă2ă¤ăŽç°ăŞăăăŠăăŻăăăăžăă 1ă¤çŽăŻăăłăłăăăľăăźăéçşă¨ĺźă°ăăăăŽă§ăă ăăăŻĺşćŹçăŤăéçşă¨ăăšăă§ăłăłăăă使ç¨ăăćšćłă§ăăăĺşćŹçăŤăŻăłăźăăăăăˇăĽăăŚCIăă¤ăăŠă¤ăłăéĺ§ăăĺăŽăăšăŚă§ăă éçşç°ĺ˘ăŽč¨ĺŽćšćłăćăăŚăă ăăă ăăźă ăŽä¸č˛Ťć§ăäżă¤ăăăŤăăŠăăăă°ăăă§ăăăă? ăłăłăăă§ăăšăăăăŤăŻăŠăăăă°ăăă§ăă? çă ăăăŤăăä¸č˛Ťć§ăäżăăăăŞă˘ăźăç°ĺ˘ăŽăăăŤčŞĺčŞčşŤăĺăé˘ăăă¨ăă§ăăăăă§ăŻăăŽäžăăăăŤčŚăŚăăăžăă ç§ăććăăăă¨ăŽ 1 ă¤ăŻăéçşăŽăĄă¤ăł ă˘ăăŞăĺŽéăŤăłăłăăăźĺăăăŚăăăăŠăăăŤé˘äżăŞăăăăźăŤăŤéçşă§ăłăłăăăźă使ç¨ă§ăăă¨ăăăă¨ă§ăă ăăăŚăăăă§ăăăŽäžăăăă¤ăčŚăŚăăăžăă
ăă1ă¤ăŽăăŠăăŻăŻăĺŽéăŤă˘ăăŞăąăźăˇă§ăłăăłăłăăă§ăŠăŽăăăŤăăŤăăăćŹçŞç°ĺ˘ăŤăŠăŽăăăŤćşĺăăăă¨ăăăă¨ă§ăă ăŠăăăŁăŚä˝ăă°ăăăŽ? ăăšăăăŠăŻăăŁăšăŤĺžăăŤăŻăŠăăăă°ăăă§ăă? ăťăăĽăŞăăŁă確äżăăăŤăŻăŠăăăă°ăăă§ăă? ăăăŚăăăăŤăŻé常ăCIăăźă ăăăŠăăăăŠăźă ăăźă ăSREăŞăŠăăăĺ¤ăăŽăăźă ăé˘ä¸ăăăă¨ăŤăŞăăžăăăŞăăŞăăăăăŻç§ăăĄăĺŽéăŤă˘ăăŞăąăźăˇă§ăłăăăăă¤ăăćšćłăĺ¤ăăăăă§ăă
Â
ăłăłăăăľăăźăéçş (12:30)
ăžăăŻăăłăłăăćŻć´éçşăăĺ§ăăžăăăă ăăźăŤăŤéçşă§ăłăłăăă使ç¨ăăăŤăŻăŠăăăă°ăăă§ăă? ĺ ăťăŠăPostgresăłăłăăăĺŽčĄăăăă¨ăčŚăžăăăăăăŽăšăăźăŞăźăĺ°ă芳ăă誏ćăăžăăăă ç§ăăŤăżăă°ăľăźăăšă§ăăă˘ăăŞăąăźăˇă§ăłăćăŁăŚăăăăăŽă˘ăăŞăąăźăˇă§ăłăAPIăć示ăăă ăă ă¨ćłĺăăŚăă ăăă ăăŽă˘ăăŞăąăźăˇă§ăłăŻăĺăŤčŚăăŽă¨ĺăăăăŤăăăŽăăźăżăPostgresăăźăżăăźăšăŤäżĺăăžăă ç§ăŻăăăăłăłăăă§ĺŽčĄă§ăăžăă ăăăăç§ăŽă˘ăăŞăąăźăˇă§ăłăŻăăŤăżăă°ăçťĺăäżĺăăĺż čŚăăăăăăăăăăŽçťĺăAWS S3ăŤäżĺăăă¨ăăžăăăă ç§ăŽă˘ăăŞăąăźăˇă§ăłă§ăŻăă¤ăłăăłă㪠ăľăźăăšăŞăŠăŽĺ¤é¨ăăźăż ăľăźăăšăĺŠç¨ăăŚăăžăă ăŤăżăă°ăć¤ç´˘ăăă¨ăçšĺŽăŽĺ ´ćăŤçšĺŽăŽă˘ă¤ăă ăăăă¤ĺĺ¨ăăăăçĽăăă¨ăă§ăăžăă ăŤăżăă°ĺ ă§ĺ¤ć´ăçşçăăă¨ăă˘ăăŞăąăźăˇă§ăłăŻć´ć°ăKafkaăŻăŠăšăżăŤĺ ŹéăăäťăŽăăŚăłăšăăŞăźă ăľăźăăšăăăăăŽă¤ăăłăăŤĺżçăăăăéçĽăé俥ăăăă§ăăăăăŤăŞăăžăă
ă§ăăăăăăăŤă¤ăăŚčăăă¨ăăăăŤăŻĺ¤ăăŽĺăé¨ĺăăăăžăă ăăă§ĺéĄă¨ăŞăăŽăŻăăăă使ăŁăŚéçşç°ĺ˘ăăŠăŽăăăŤč¨ĺŽăăăă¨ăăăă¨ă§ăă ăăŚăăăčŚăăăăă¨ăŽ1ă¤ăŻăăăźăŤăŤéçşç°ĺ˘ă§APIăăšăăłă˘ăăăăă ăă§ăŞăăăăăă¤ăăăăľăźăăšăăăăăéçşç¨ăŽĺ ąćAWSă˘ăŤăŚăłăăŤćĽçśăăă¨č¨ăäşşăăăăă¨ă§ăă ç§ăŽă˘ăăŞăŤăŻ S3ăĺż čŚă§ăăăĺ¤é¨ă¤ăłăăłă㪠ăľăźăăšăĺż čŚă§ăă ă˘ăăŞăäťăŽĺ ´ćă§ĺŽčĄăăăŚăăăľăźăăšăŤćĽçśă§ăăăăăŤăăăŚăă ăăă ăăăŚăăťă¨ăăŠăŽĺ ´ĺăăăăŻăăŞăăăžăăăăžăă ăăăăă㎠1 äşşăŽéçşč ăéçşč ăŽăăźă ăŤĺąăăŚăăăă¨ăŤć°äťăă¨ăäťĺşŚăŻĺăăŞă˝ăźăšăăăăŁăŚäşăäťăŽĺ¤ăăŽéçşč ăăăžăă ăžăăS3 ăăąăăăŽIAMăăŞăˇăźăăăĄăăăĄăăŤăŞăă誰ăăăąăăăăăŞăă¸ă§ăŻăăăăăˇăĽăžăăŻăăŤă§ăăŞăăŞăŁăăă誰ăă誤ăŁăŚPostgresăăźăżăăźăšăăăăźăăŤăĺé¤ăăăăăĺ ´ĺăŤăŠăăŞăă§ăăăăă çš°ăčżăăŤăŞăăžăăăäşşă ăăäşăăŽă¤ăžĺ ăč¸ăżă¤ăĺăćŠäźăăăăăăăă訹ĺŻăĺ°çĄăăŤăŞăĺŻč˝ć§ăăăăžăă ăăăŚăéçşä¸ăŽä¸ćĽăŽçľăăăŤăŻăç§ăŻăăŽăăăŞăă¨ăŽăťă¨ăăŠăć°ăŤăăžăăă
éçşç°ĺ˘ăç°ĄçĽĺă§ăăžăă? ăžăăćăăăŤçăăŻă¤ă¨ăšă§ă - ă ăăăăăç§ăăĄăŻăăăŤă¤ăăŚčŠąăăŚăăăŽă§ăă ă§ăŻăĺĽăŽćšćłă¨ăăŚăéçşč ăŽăŻăźăŻăšăăźăˇă§ăłă§ăéçşç°ĺ˘ăŽAWSă˘ăŤăŚăłăăŤĺŽéăŤćĽçśăă䝣ăăăŤăS3äşćăŽăľăźăăšăăăźăŤăŤă§ĺŽčĄăăĺ ´ĺăŻăŠăă§ăăăăă çľĺąăŽă¨ăăăç§ăŽăłăźăăŻAPIă¨é俥ăăŚăăă ăă§ăă ăăăĺŽéăŤčĺžăŤS3 ă§ăăăăŠăăăŻăăžăć°ăŤăăžăăă ă§ăŻăăăŽS3 ăS3 APIäşćăľăźăăšăŤäş¤ćăăăăăăăźăŤăŤă§ĺŽčĄăăĺ ´ĺăŻăŠăăŞăă§ăăăăă ăăŚăăăăăăăăŞăăăŞăç§ăŽă¤ăłăăłăăŞăľăźăăšă§ăăăăă§ăăŞăăŽă§ăăăă? çľĺąăŽă¨ăăăă¤ăłăăłă㪠ăľăźăăšăŻĺăŞă API ă§ăă ă§ăŻăăăç§ăăăăăăšăŚăĺ˛çŹăăăăŠăăŞăă§ăăăă? ăăăŚăăăăŻăŠăŽăăăŞćŠäźăéăăŽă§ăăăă? ăăăŤă¤ăăŚăŻăăăăŤčŞŹćăăžăă KafkaăăăźăŤăŤă§ĺŽčĄăăăă¨ăă§ăăžăă PostgresăăăźăŤăŤă§ĺŽčĄă§ăăžăă ă§ăăăăăăă ăă§ăăăŞă˘ăźăéçşç°ĺ˘ă ăŁăăăŽăäťă§ăŻăăźăŤăŤăŤăŞăŁăŚăăă¨ăăčŞĺăŽéçşăăăă§ăŤć¨ĄćŹăĺ§ăăŚăăžăă ăăăăăăăŤćŠč˝ăčż˝ĺ ăăăă¨ăă§ăăžăă ç§ăŽéçşč ĺ ¨ĺĄăKafkaăăăžăĺžćă§ăŻăŞăăăăžăăžăŞCLI/ăłăăłăăŠă¤ăłĺźć°ăŞăŠăăăšăŚçč§ŁăăŚăăŞăĺ ´ĺăŻăŠăăŞăăžăă? ăžăăKafkaăŻăŠăšăżă¨ĺŻžčŠąăăŚăĄăăťăźă¸ăŽĺ ŹéăăăšăăăăăăĄăăťăźă¸ăćŁăăçćăăăŚăăăă¨ăć¤č¨źă§ăăĺĽăŽăľăźăăšăçŤăĄä¸ăăăă¨ăă§ăăă°ăăă¨ćăăžăăă? ăăăăŻăăăźăżăăźăšă§ä˝ă辡ăăŁăŚăăăăčŚčŚĺăăăăăŽăŞăźăăłă˝ăźăšăăźăŤăăăăăpgAdminăăšăăłă˘ăăăăăŚăă ăăă ăăăŚĺăłăäťăŽćšćłă§ăŻĺŽçžăéŁăăăŁăćŠč˝ă§éçşç°ĺ˘ă埡ĺăĺ§ăăăă¨ăă§ăăžăă
Â
ă㢠(16:18)
ăăăčŚăŚăżăžăăăă 大ä¸ĺ¤Ťă§ăă ăăăăVSCodeăŤĺăćżăăžăă ăăăŚăăăVSCodeă§ăŻăăăŽComposeăăĄă¤ăŤăăĺ§ăăžăă ăăŚăç§ăŻăžă ComposeăŤă¤ăăŚčŠąăăŚăăŞăăă¨ăçĽăŁăŚăăžăăăăăŚăăăŤă¤ăăŚăŻĺĽăŽăťăăˇă§ăłă§ăăŁă¨čŠąăăžăă ăă ăăComposeăŻă䝼ĺăŤPostgresăŤĺŻžăăŚčĄăŁădocker runăłăăłăăŤćťăă¨ăç°ĺ˘ĺ¤ć°ă¨ăăźăăćĺŽăăŚăăă¤ăĄăźă¸ăćĺŽăăĺ ´ĺăŽdocker runăłăăłăăŽăăăŤčăăŚăă ăăă ăžăăăăă§ăăťăźĺăăă¨ăăăŚăăžăăă形ĺźăéăă ăă§ăă ăăăçťĺăăăăăăźăăăăă¤ăăŽç°ĺ˘ĺ¤ć°ăäťăŽăăă¤ăăŽăăĄă¤ăŤăăŞăĽăźă ăăăăăăăŤă¤ăăŚăŻĺžă§čŞŹćăăžăă ăăăăçš°ăčżăăŤăŞăăžăăăăăăŤä¸ă¤ăŽăłăłăăăăăăăăăŤĺĽăŽăłăłăăăăăăĺĽăŽăłăłăăăăăă¨ăăă˘ăŚăăŠă¤ăłăćăăăŚăăăžăă ăăŽăăăăăă§ăŻç°ĺ˘ăč¨ĺŽăăăăăŤĺ¤ăăŽăłăłăăăĺŽçžŠăăăŚăăžăă ăăăŚăăăăŤăăç§ăă§ăăăă¨ăŻă 'docker compose up'ăĺŽčĄăăăă¨ăă§ăăă¨ăăăă¨ă§ăă ĺşćŹçăŤăăăăăăŻă°ăŠăŚăłăă§ĺŽčĄăăăă㍠'-d'ăčż˝ĺ ăăŚăăžăă ăăăŚăăăăŤăăăłăłăăăăšăăłă˘ăăăăžăă ăăă§ăăăăăăŽăłăłăăăŽä¸é¨ăăăźăżăăźăšăćäžăăŚăăžăă ç§ăŻLocalStackă¨ăăăŞăźăăłă˝ăźăšăŽăăźăŤă使ăŁăŚAWSăĺŽčĄăăŚăăžăă ăăăŤăăăĺşćŹç㍠S3 äşć㎠API ăăăźăŤăŤăŤćă¤ăă¨ăă§ăăžăă ăăŽAWSă˘ăŤăŚăłăăăăąăăă§č¨ĺŽăăžăă KafkaăŽč¨ĺŽăŞăŠă§ăă ăăăŚäťăć°ç§äťĽĺ ăŤă˘ăăŞăŽäžĺé˘äżă稟ĺăăŚăăžăă
ăăŽăă˘ă§ăŻăĺŽéăŤă˘ăăŞăčŞĺăŽăăˇăłă§ăă¤ăăŁăăŤĺŽčĄăăžăă ăyarn devăăŻNodeă˘ăăŞă§ăăăăăĺŽčĄăăžăă ăăăŚăä˝ă辡ăăăă¨ăăă¨ăăăźăżăăźăšăŻăăšăä¸ă§ĺ ŹéăăăŚăăăăăă˘ăăŞăŻăăŽĺ ŹéăăźăăäťăăŚăăŽăăźăżăăźăšăŤćĽçśăăă ăă§ăă ăăă§ĺĽăŽăżăăéăă製ĺăä˝ćă§ăăăăŤăăźăšăŻăŞăăăŤç§ťĺăăžăă ăăăăŁăŚăăăŽĺ ´ĺă3ă¤ăŽčŁ˝ĺăä˝ćăăžăăă ăăŚăăăŽă˘ăăŞăąăźăˇă§ăłăŤăăŁăŚĺ ŹéăăăŚăăAPIă¨ĺŻžčŠąăăă ăă§ăă ăăŚăăšăżăăŻăŽä¸é¨ă§ăăäťăŽăăă¤ăăŽăľăźăăšăăăăă¨ăčż°ăšăžăăă ăăŠăŚăśăŤćťăă¨ălocalhost:5050 (ăăăŻăăă§é¸ćăăăăźăă ăă§ă)ă§ăpgAdminăĺŽčĄăăăŚăăăă¨ăăăăăžăă pgAdminăŻăPostgresăăźăżăăźăšăčŚčŚĺăăăŽăŤĺ˝šçŤă¤ăŞăźăăłă˝ăźăšăăźăŤă§ăăăăľăźăăźăéăăă¨ăă§ăăăăŽăăšăŻăźăăŻä˝ćăăĄă¤ăŤă§ć§ćăăăžăă ăăăŚăăăăăăăăšăŚăŽăšăăźăă¨ăăźăăŤăăăă˛ăźăăçśăăăă¨ăă§ăăžăă ăăŽăăźăăŤăŽăăšăŚăŽăăźăżă襨示ăăŚăżăžăăăă ăăŁăä˝ăŁă3ă¤ăŽă˘ă¤ăă ăčŚăăžăă ăăăăŽăăĄăŽ1ă¤ăĺ¤ć´ăăžăăăă ăĺĽăŽčŁ˝ĺăăŤĺ¤ć´ăăŚăăăăăŠăłăśăŻăˇă§ăłăăłăăăăăă ăă§ăă ăăăŚäťăVS CodeăŤćťăă¨ăăăăă製ĺ 2ăăă ăăăă¨č¨ăăă¨ăă§ăăăăă§ăĺĺăĺ¤ć´ăăăŚăăăă¨ăăăăăžăă ăăŚăçš°ăčżăăŤăŞăăžăăăăăŽăăźăżăăźăš ăă¸ăĽă˘ăŠă¤ăśăźă§ăŻăăăŠăŽăăăŤč¨ĺŽăăă°ăăăăăçč§ŁăăăŽăŤćéă貝ăăĺż čŚăŻăăăžăăă§ăăă ă¤ăłăšăăźăŤćšćłăŻ? How to Configure It?ăă¨ăăăĄăăťăźă¸ă襨示ăăăăăăŤăŞăăžăăă ăăăŻăăăŽăăźăŤăŽä˝ćč ăăłăłăăă¤ăĄăźă¸ăĺ Źéăăäťă§ăŻăăăĺŽčĄăăăă¨ăă§ăăăŞăźăăłă˝ăźăšăŽăăźăŤă§ăă ă¨ăŚăç°Ąĺă§ăă
ăăă§ăăăăŤă¤ăłăăłăăŞăăźăżăăăăă¨ă確čŞă§ăăžăă ăăăŻăŠăăăćĽăŚăăăŽă§ăă? çš°ăčżăăŤăŞăăžăăăç§ăŻWireMockă¨ăăăăźăŤă使ç¨ăăă¤ăłăăłăăŞă˘ăăŻăĺŽčĄăăŚăăăăăŽăăźăŤă使ç¨ăăă¨ăăăă¤ăăŽăăĄă¤ăŤăăăăłă°ăĺ Ľĺă§ăăžăă ăăŽăăăç§ăŽ API ăĺ¨ĺşŤăľăźăăšăŤĺŻžăăŚčŁ˝ĺçŞĺˇăŽăŞăŻă¨ăšăăĺ庌čĄăă¨ă 2 (ăăăŻĺĽ˝ăăŞăăăŤć§ćă§ăăžă) ăăŽć¤ç´˘ăŽăăăŤăă㎠JSON ćŹćă§ 200 ăšăăźăżăšăčżăăžăă ăăăŚăăăăăăźă¸ăăăăă¨ăăăăăžăă ăăŚăă˘ăăŻă使ç¨ăă大ăăŞĺŠçšăŽ1ă¤ăŻăäťăŽă¨ăŠăźçść ăăăšăăĺ§ăăăă¨ăă§ăăăă¨ă§ăă ăă¨ăă°ăăăŽĺĽăŽă¨ăłăăă¤ăłăăŤç§ťĺăăă¨ăĺŽéăŤăŻă¤ăłăăłăăŞăľăźăăšăăăçşçăăă¨ăŠăźă示ăăĄăăťăźă¸ăĺŤăJSONćŹć㎠500 ăé俥ăăăăă¨ăŤăŞăăžăă ăăăŚăç§ăŽăłăźăăă㎠500 ă¨ăŠăźăąăźăšăĺŚçăăŚăăăă¨ăć¤č¨źă§ăăžă-ăăăŻççşăăžăăă ă¨ăŠăźăĄăăťăźă¸ăčżăăžăăăĺż čŚăŞćŽăăŽé˘éŁčŠłç´°ăćäžăăžăă ă§ăăăăĺăłăĺŽéăŽăľăźăăšă¨čŠąăăŚăăă¨éŁăăäťăŽćĄäťśăăăšăŚăăšăăĺ§ăăăă¨ăă§ăăžăă çš°ăčżăăŤăŞăăžăăăăłăłăăă使ç¨ăăă¨ăăăăăŽăăžăăžăŞăľăźăăšăç°ĄĺăŤăšăăłă˘ăăă§ăăžăă ăăŚăăăă§ă˘ăăŻăăăăăăăŤăăźăżăăźăšăă¸ăĽă˘ăŠă¤ăśăźă揲ăăăăŞăŠă
ĺŽăŻăăăä¸ă¤ăĄăăŁă¨ăăăă˘ăăăăžăă localhost:8080ăŤčĄăă¨ăkafbat ă¨ăăĺĽăŽăŞăźăăłă˝ăźăšăăźăŤăăăăžăă Kafka ăŻăŠăšăżăźă§ä˝ă辡ăăŁăŚăăăăčŚčŚĺă§ăăžăă ăăăŚăăăŽčŁ˝ĺăä˝ćăăăă¨ăăŤĺ ŹéăăăăĄăăťăźă¸ăčŚăăă¨ăă§ăăžăăă ăžăăăĄăăťăźă¸ăĺ Źéăăăăă¨ăăéŠĺăŞăšăăźăăćăŁăŚăăăă¨ăŞăŠăć¤č¨źă§ăăžăă çš°ăčżăăŤăŞăăžăăăăłăłăăă使ç¨ăăă¨ăă˘ăăŞăąăźăˇă§ăłăšăżăăŻăŤă¤ăăŚčăĺ§ăăăă¨ăă§ăăžăă VS CodeăŤćťăă¨ăăšăăźăăăŠăłă˘ăăŞăŽäťŁăăăŤăăťă¨ăăŠăŹă´ăăăăŻăŽćăăĺ§ăăăăăăăžăăă ăžăăăăžăăžăŞăľăźăăšăăççŁć§ăĺä¸ăăăăăăăŠăăŤăˇăĽăźăăŁăłă°ăăăăă°ă厚ćăŤăăăăăăăăŽéçşç°ĺ˘ăä˝ăăăăŤćĽçśă§ăăăăžăăžăŞăłăłăăźăăłăăŻä˝ă§ăăă
ăăă§ăăăă¤ăăŽăăłăăćăăă¨ăăăăŻç§ăăľăźăăšéăŽăăăăłăŤă¨ć˝čąĄĺăŤçŚçšăĺ˝ăŚăŚăăăăăăăžăăăăžăă ăăźăżăăźăšăăăźăŤăŤă§ĺŽčĄă§ăăăŽăŻăăăăźă¸ăăăźăżăăźăšăľăźăăšăăŻăŠăŚăç°ĺ˘ă§ćäžăăăăŽă¨ĺăăă¤ăăŞăăăăłăŤă ăăă§ăă ăăăăç§ăŽAPIăăăă§ăă APIăŻăăçč§ŁăăăĺĺăŤćć¸ĺăăăŚăăĺż čŚăăăăžăăăăăŚăăăăăăăźăŤăŤă§ă˘ăăŻă˘ăŚăăăăă¨ăă§ăăžăă ăăŽĺ ´ĺăăłăłăăăăźăăăăšăăŤăăăăăă˘ăăŞăąăźăˇă§ăłăŤćĽçśă§ăăăăăŤăăžăă ç§ăŽă˘ăăŞăŻăă¤ăăŁăăŤĺŽčĄăăăŚăăžăăăĺŽéăŤăŻăłăłăăă§ăĺŽčĄă§ăăžăă ăă¨ăă°ăăăăŤăŻĺĽăŽComposeăăĄă¤ăŤăăăăžăă ăăŽĺ ´ĺăă˘ăăŞčŞä˝ăŻăłăłăăĺ ă§ĺŽčĄăăăĺşćŹçăŤăŻNodeç°ĺ˘ăć§çŻăăŚăăžăă ăăăăŁăŚă 'yarn dev'ăç§ăŽăăšăăŽCLIă§ç´ćĽĺŽčĄăăăăŽă§ăŻăŞăăĺşćŹçăŤăłăłăăĺăăăç°ĺ˘ĺ ă§ĺŽčĄăăăŚăăžăă ăăŽĺ ´ĺăăăŽăŞăă¸ăăŞăăŻăăźăłă§ăăăăŽçšĺŽăŽComposeăăĄă¤ăŤă使ç¨ăăă¨ăăăšăŚăăłăłăăă§ĺŽčĄăăăăă¨ăŤăŞăăžăă DockerDesktop䝼ĺ¤ăŤăăˇăłăŤä˝ăă¤ăłăšăăźăŤăăĺż čŚăŻăăăžăăă çš°ăčżăăŤăŞăăžăăăăăăŻăăă§ĺ¤ăăŽčŻăćŠäźăéăăžăă
ăžăăéçşç°ĺ˘ăŤă¤ăăŚčăăă¨ăăŻăăăŽéçşç°ĺ˘ăŤćäžă§ăăčż˝ĺ ăŽăăźăŤăćŠč˝ăŤă¤ăăŚčăăŚăżăŚăă ăăăăăăŤăăăăăźăżăăźăšă Kafka ăŻăŠăšăżăźăŞăŠă使ç¨ăăŚăăăăŽăăšăŚă§ăăŠăăŤăˇăĽăźăăŁăłă°ăăăăă°ă厚ćăŤăăćç¨ć§ăéŤăăăă¨ăă§ăăžăă
çľąĺăăšăăŽčŞ˛éĄ (23:05)
ă§ăăăăĺéĄăŻăéçşăŽć ăčś ăăŚăăăšăăéĺ§ăăćşĺăă§ăăă¨ăă§ăă ăăăăăŠăăăžăă? çľąĺăăšăăŻĺ°éŁă§ăă ăăăŚăăăŽĺ¤ăăŻăăľăźăăšăŽăŠă¤ăăľă¤ăŻăŤă玥çăăŞăăă°ăŞăăŞăăăă§ăă ăŠăŽăăăŤéĺ§ăăžăă? ăŠăăăă°ĺ˝źăăć˘ăăăă¨ăă§ăăăŽă§ăăăă? ăăšăăŞăŠăčĄăăăăŤăŻăĺŽčĄä¸ăŽăăźăżăăźăšăĺż čŚă§ăă ăžăăăăšăăŠăł1ăăăšăăŠăł2ăŽĺ˝ąéżăĺăăăă¨ăăăăŁăŚăăăăăŞăéˇćé稟ĺăăă¤ăłăăŠăšăăŠăŻăăŁăŤă¨ăŠăžăăŞăăăăŤăăăŤăŻăŠăăăă°ăăă§ăăăăă ăžăăăŚăăăăĄăăăĄăă§ăă ăăăŚäźçľąçăŤăç§ăăĄăŻĺ¤ăăŽăŚăăăăăšăăăăăăăŽä¸ăŤăăă¤ăăŽçľąĺăăšăăăăăăăăŤĺ°ăŞăă¨ăłăăăźă¨ăłăăŽăăšăăăăăăšăăăŠăăăăŤĺžăăăăŤăăŚăăžăă ăăăăçľąĺăăšăăŻéŁăăăăăĺ¤ăăŽĺ ´ĺăäşşă ăŻăăšăăŽç ćč¨ăŤčĄăçăăăăŽé¨ĺăŻéŁăăă¨č¨ăăžăă ă§ăăăăăšăżăăŻĺ ă§ä¸ä˝ăŤćźăä¸ăăQAăăšăăă¨ăłăăăźă¨ăłăăŽăăšăăŞăŠăčĄăă ăă§ăă ăăăăă¨ăłăăăźă¨ăłăăŽăăšăăŻé常ăŤćéăăăăăžăă ăžăăé常ăŤăăăă§ăă ćŁăăčĄăăŽăŻéŁăăă§ăă ă§ăŻăĺéĄăŻăăłăłăăăŽĺăăŠăŽăăăŤć´ťç¨ăăŚçľąĺăăšăăŤĺ˝šçŤăŚăăă¨ăă§ăăăă¨ăăăă¨ă§ăă ăăă§ăTestcontainersăăŹăźă ăŻăźăŻăŽĺşçŞă§ăă
Â
TestcontainersăŽç´šäť (24:15)
ăăŚăĺ ăŤé˛ăă§ĺăăŁăŚć確ăŤăăžăăăTestcontainersăŻĺĽăŽăżă¤ăăŽăłăłăăă§ăŻăăăžăăă ăăŽĺ¤çŤăăç°ĺ˘ă¨ăăčăćšăŻĺ¤ăăăžăăăăăłăłăăăŽĺăăăšăăŽä¸çăŤćăĄčžźăă§ăăžăă ăăăăŁăŚăTestcontainersăćäžăăăŽăŻăăłăłăăăăăă°ăŠă ă§çŽĄçă§ăăăăăŤăăăŠă¤ăăŠăŞăŽăŞăźăăłă˝ăźăšăłăŹăŻăˇă§ăłă§ăă ăăă§ăŽäžă¨ăăŚăJavaăšăăăăăăăăăPostgresăłăłăăăĺż čŚă§ăă ăăăç§ă使ç¨ăăăçšĺŽăŽçťĺă§ăăăăăăŽĺ¤ć°ăŤäťŁĺ Ľăăžăă ăăăăăăăŻăăă°ăŠă ăŤăăă˘ăăăźăă§ăăăăăăăăăăšăăŽăšăżăźăă˘ăă ăšăŻăŞăăăŤĺ Ľăăă¨ăăšăżăźăă˘ăă ăšăŻăŞăăă§ĺż čŚăŞăăšăŚăŽăăžăăžăŞăľăźăăšăéĺ§ă§ăăžăă ăăšăăĺŽčĄăăĺăłĺŽéăŽăľăźăăšă¨é俥ăăĺŽäşăăăăTestcontainersăăŹăźă ăŻăźăŻăăăšăŚăăŻăŞăźăłă˘ăăăăăŽăŤĺ˝šçŤăĄăžăă ă¤ăžăăăăšăŚăŽăłăłăăăăăšăŚăŽăăŞăĽăźă ăăăăŻăźăŻăăăŽäťăăšăŚăŽăăŽă確ĺŽăŤĺé¤ăăăăŽă§ăă ăăăŚăă1ă¤ăŽĺŠçšăŻăăăă°ăŠă ăŤăăă˘ăăăźăă§ăăăăăăăŽĺ¨ăăŤçŹčŞăŽć˝čąĄĺăŹă¤ă¤ăźăä˝ćăĺ§ăăăă¨ăă§ăăăă¨ă§ăă ă ăăăăăŞăăŻăăăăč¨ăăăăŽă§ăăăăç§ăŻăăŽçšĺŽăŽăăźăżăšăăăăˇă§ăăăćă¤postgresăłăłăăă揲ăăă§ăă çš°ăčżăăŤăŞăăžăăăăăŞăăŻăăăĺ§ăăăă¨ăă§ăăžăă
TestcontainersăŤăŻăăăăŤä˝żăăă˘ă¸ăĽăźăŤăăăăăăăăžăă ă§ăăăăćŹĺ˝ăŤč¤éăŞăăŽăä˝ăăŽăŻćŹĺ˝ăŤç°Ąĺă§ăă ăăăŚăäťćĽă§ăŻăăăăŽĺš ĺşăăŠă¤ăăŠăŞăăăăăăă常ăŤćéˇăăŚăăžăă
Â
ăă˘: Testcontainers (25:40)
ă ăăăăăăĺ°ăă ăăčŚăăăžăă ăťăăŽĺ°ăĺăŤčŚăŚăăăŽă¨ĺăăăă¸ă§ăŻăăŤćťăăžăă ăăăŚăăăšăăăŁăŹăŻăăŞăéăă¨ăăăăŤçľąĺăăšăăăăăăăšăŚăŽăăšăăĺŽčĄăăăĺăŤăPostgresăłăłăăăä˝ćăăŚăăźăăšăăŠăăăăKafkaăłăłăăăä˝ćăăŚăăźăăšăăŠăăăăžăă ăăŽPostgresăłăłăăăčŚăă¨ăăăăNode SDKă使ç¨ăăŚăăžăă Postgresăłăłăăăä˝ćăăžăă ăšăăźăăč¨ĺŽăăăăźăżăăźăšĺćĺăšăŻăŞăăăăă¤ăłăăăŚăłăăăŚéĺ§ăăžăă ăăŽç´ćăč§Łćąşăăăăă芳細ăć˝ĺşăăŚăăă¤ăăŽç°ĺ˘ĺ¤ć°ăč¨ĺŽăăăłăźăăăźăšăĺĺžăăŚć´ťç¨ă§ăăžăă ăăă§ăăăšăăăźăă¨ăăźăżăăźăšăŽăŚăźăśăźĺă¨ăăšăŻăźăăć˝ĺşăăžăă ăăă§čŻăçšăŻăTestcontainersăăŹăźă ăŻăźăŻăăăăŠăŤăă§ăăźăăă¨ăă§ăĄăŠăŤăăźăăŤĺ Źéăăăă¨ă§ăă ăăăăŁăŚăăăšăă§ăăźă 5432 ăĺ Źéăăă¨č¨ăŁăŚăăžăăăăă㯠55017 ă§ăăĺŻč˝ć§ăăăăžăă ăăŽăăăĺ¤ăăŽăăšăă丌čĄăăŚĺŽčĄăăăă¨ăă§ăăžăă ăăăŚăKafkaăłăłăăă辡ĺăăKafkaăŻăŠăšăżăŤă¤ăăŚăĺć§ăŽăăŽăăăăžăă ăăăŚăćťăĺăŤăĺŽéăŤĺ ăŤé˛ăă§ăăłăźăăĺŽčĄăăăăăŤĺż čŚăŞăăăăŻăä˝ćăăžăă ăăăŚăăăăăăăăăăŽăăšăăŽ1ă¤ăčŚăŚăăă¨ăă°ăćśč˛ťč ăä˝ćăăžăă ăăăăĺŽéăŤčŁ˝ĺăä˝ăă¨ăăŻăčŞĺă揲ăăăĄăăťăźă¸ăĺŽéăŤĺ ŹéăăăŚăăăăŠăăăć¤č¨źăăžăă ăăăŚăžăăăăăŻăăšăŚăćŠč˝ăăŚăăăă¨ăć¤č¨źăăăă¨ăŤăŞăăžăă ĺ ăŤé˛ăă§ăăăĺŽčĄăăžăăăă
ăăŚăăăăCLIăăĺŽčĄăăăăŽéăŤĺŽéăŤăăŽć¨ŞăŤăăDocker Desktop GUIăĺźăĺşăăŚăăłăłăăăŽčľˇĺă確čŞă§ăăăăăŤăăžăă ĺŽéăç§ăŻĺ ăŤé˛ăă§ăăăă§ăăŽăšăżăăŻăćăăăăă¨ăăăĺ°ăç°ĄĺăŤčŚăăă¨ăă§ăăžăă ăăă§ăăšăăéĺ§ăăă¨ăăăăŽăă°ĺşĺă§ăłăłăăăéĺ§ăăăŚăăăă¨ăăăăăDocker DesktopăăăˇăĽăăźăăŤă襨示ăăăŚăăăă¨ăăăăăžăă ăăăăăăăăŤăŻăăăăăŽăă°ĺşĺăăăăžăă çžĺ¨ăăăăă°ăă°ăćĺšăŤăăŚăăžăă ăăăŚăžăăăłăłăăăĺ蝢ăăăŚăăžăă ăăšăăĺŽčĄăăŚăăžăă ăăăŚăĺŽäşăăă¨ăăăăăŽăłăłăăăĺé¤ăăăăă¨ăăăăăžăă ăăŽćĺžăŽTestcontainerăłăłăăăŻăçŠäşăăŻăŞăźăłă˘ăăăăăăăŤä˝żç¨ăăăăăăčŞĺçăŤćśăăăă¨ăăăăăžăă
çš°ăčżăăŤăŞăăžăăăTestcontainersăăŹăźă ăŻăźăŻă使ç¨ăăă¨ăăăšăç°ĺ˘ă§ăłăłăăăŽĺăć´ťç¨ă§ăăžăă ăžăăăăŠăŚăśăŤéŁăłčžźăă¨ăăăžăăžăŞč¨čŞă§ăľăăźăăăăŚăăžăă ăăŚăćăăăŤăTestcontainer ăłăźăăŽć¸ăćšăŻč¨čŞăŤăăŁăŚĺ°ăç°ăŞăăžăă ăăăŚăăăŽçšĺŽăŽč¨čŞăŽă¤ăăŁăŞă ăäżă¨ăă¨ăăžăă ăăă§ăăăă§ćĺžăŤčż°ăšăăă¨ăŻăĺ¤ăăŽăăźă ăŻăDockerăžăăŻçšć¨Šă˘ăźăă§DockerăĺŽčĄă§ăăŞăKubernetesăăăă使ç¨ăăŚăăĺŻč˝ć§ăăăăăăCIç°ĺ˘ă§ăłăłăăă辡ĺă§ăăŞăĺŻč˝ć§ăăăă¨ăăăă¨ă§ăă
ăăă§ăTestcontainers CloudăŽĺşçŞă§ăăăTestcontainers Cloudă使ç¨ăăă¨ăĺşćŹçăŤăăăăŽăłăłăăăŽĺŽčĄăăŻăŠăŚăăăźăšăŽăŞă˝ăźăšăŤĺ§äťťă§ăăžăă ăăŽăăăDocker ă§ Docker ă使ç¨ăăĺż čŚăăŞăăŞăăăă¤ăăŠă¤ăłăŽĺŽĺ ¨ć§ăĺä¸ăăžăă ĺŽéă䝼ĺăŤčĄăŁăăŽă¨ĺăăăšăăĺŽčĄă§ăăăă°ăŤăĺ蝢ăăŚTestcontainers Cloudă使ç¨ăăă ăă§ăă ăăăŚäťăç§ăŻĺăăăšăăĺŽčĄăăžăă ăăăŚăäťĺăŻĺŽéăŤăŻăŠăŚăăăźăšăŽç°ĺ˘ă使ç¨ăăăă¨ăăăăăžăă ăăŽăăăăăă§ăŻăăă¤ăăŽăăŤăé˛čĄăăŚăăăŽăăăăăžăăăăăăˇăĽăăźăă§ăă˘ăŻăˇă§ăłăŻčĄăăăŚăăžăăă çš°ăčżăăŤăŞăăžăăăTestcontainers Cloudă使ç¨ăăă¨ăăăăăŽĺŽčĄăăŻăŠăŚăăăźăšăŽăľăźăăšăŤĺ§äťťă§ăăăăăCIç°ĺ˘ăăAIćŠć˘°ĺŚçżăŻăźăŻăăźăăŞăŠăŽGPUăĺż čŚăŞĺ ´ĺăŤçšăŤĺ˝šçŤăĄăžăă
Â
ă˘ăăŞăŽăłăłăăĺ (29:57)
ăăă§ăŻăă˘ăăŞăąăźăˇă§ăłăăłăłăăĺăăćšćłăŤă¤ăăŚčŠąăăžăăăă ăăŚăéçşă¨ăăšăăŤă¤ăăŚčŠąăăžăăă ă§ăŻăĺŽéăŤă˘ăăŞăąăźăˇă§ăłăăăłăăŤăăŚăăŤăăăăăăă¤ăăćşĺăăăăŤăŻăŠăăăă°ăăă§ăăăăăăžăăDocker ăŻăăăăŠăŽăăăŤčĄăăŽăŤĺ˝šçŤăŁăŚăăăŽă§ăăăăă ăžăćĺăŤč§ŚăăăăŽăŻăĺ¤ăăŽăăźă ăăăŽć ăĺ§ăăă¨ăăćĺăŻăăšăŚăŽăăšăăăŠăŻăăŁăšăŤĺžăăŞăăă°ăŞăăŞăă¨ćăăŚăăă¨ăăăă¨ă§ăă ăăăŚăĺćéşťçşăŤéĽăăŽăŻćŹĺ˝ăŤç°Ąĺă§ăă ç§ăŻăĺ°ăăŞĺ°ăăŞä¸ćŠăč¸ăżĺşăăŚă大ä¸ĺ¤Ťă ă¨ăăăă¨ăăĺăăŁăŚăŻăŁăăăăăŚăăăăăŽă§ăă ă§ăăăăç§ăĺ¤ăăŽăăźă ăŤćĺăŤčĄăăăăŤĺ§ăăŚăăăŽăŻăă˘ăăŞăăłăłăăăŤĺ Ľăăăă¨ă§ăă ăăŚăăăăŻăăăă§ăăĺż čŚăŻăăăžăăă ćăćéŠĺăăĺż čŚăŻăăăžăăă ä¸çćĺ°ăŽçťĺă§ăăĺż čŚăŻăăăžăăă ä˝ăăćŠč˝ăăăă ăă§ăă ăăăăŁăŚăćĺăŽçŽć¨ăŻăă˘ăăŞăăłăłăăăŤĺ Ľăăăă¨ă§ăă
ăăŽĺžăăŠăŽăăăŤčŞĺĺăăžăă? ăăŽăăăăłăźăăăăăˇăĽăăăăłăŤăăłăźăăŽăăŤăăéĺ§ă§ăăžăă ăăăŚăăăăCIăă¤ăăŠă¤ăłăŤçľąĺăăăžăă ăžăăăăŽçťĺăŽć§çŻăčŞĺĺăăăă¨ă§ăćéăŽçľéă¨ă¨ăăŤĺ¤ĺăčŚăăŚăăăăăŤăŞăăžăă ăăŽĺžăăăăăćéŠĺăŤçŚçšăĺ˝ăŚăžăă çťĺăĺ°ăăăéăăăšăŞă ăŤăăăŤăŻăŠăăăă°ăăăŽăăăŞăŠăŞăŠă ăăăŚăăăŁăăˇăĽăć´ťç¨ăăăŞăŠăăăžăăžăŞăă¨ăčĄăŁăŚăăžăă ăžăăăťăăˇă§ăłĺ ¨ä˝ăŻăăăšăăăŠăŻăăŁăšăŽć§çŻăŞăŠăŤçŚçšăĺ˝ăŚăŚăăžăă ăăăŚăăăăăăšăŚă横ćăăăăăĺăăŁăŚčż°ăšăŚăăăšăă§ăăăçľçšăŽăłăłăăŠă¤ă˘ăłăšăŽăăźăşă¨ăăŞăˇăźăćşăăăŚăăăă¨ă確čŞăăăă¨čăăŚăăžăă ăăăăă°ăćĺăŽăăŤăă§ăăŁăŚăăĺ¤ăăŽčĺźąć§ăŞăŠăŤčşŤăăăăăăăăăžăăă ă§ăŻăăăăăŽăăžăăžăŞăšăăăăŽăăăăă§ç§ăăĄăĺŠăăăăźăŤăŻä˝ă§ăă?
Â
Docker Init(31:41)
Docker Init ăŻăăłăłăăĺăŽĺăçľăżăăăźăăšăăŠăăăăăăăŤč¨č¨ăăăăăźăŤă§ăă 7ă¤ăŽç°ăŞăč¨čŞăăľăăźăăăŚăăăăăŽçšĺŽăŽăăă¸ă§ăŻăăăŠăŽč¨čŞă§ăăăăć¤ĺşă§ăăéĺ§ăŤĺ˝šçŤă¤Dockerfileă¨ä˝ćăăĄă¤ăŤăćäžăăžăă ăăŚăĺ ăŤé˛ăă§ăăăăŻĺŽç§ă§ăŻăŞăăăăăăžăăăăĺ°ăŞăă¨ăăăŞăăŤčŻăä¸ćŠăč¸ăżĺşăăăăŞăăŽć ăĺ§ăăăăŁăăăä¸ăăă§ăăăă ăăăŚăăĄăăăăăăŻăăźăŤăŤăăĄă¤ăŤăˇăšăă ĺ ăŽăăĄă¤ăŤă ăăŞăŽă§ăăăăăĺ¤ć´ăĺ ăăăăăăźăšă¤ăĄăźă¸ăĺĽăŽă¤ăĄăźă¸ăŤäş¤ćăăăăăăă¨ăă§ăăžăăăăăDockerăŽăăšăăăŠăŻăăŁăšă§ăă ăăžăăăă°ăçľçšăŹăăŤăăăźă ăŹăăŤăăăăŚĺäşşăŹăăŤă§čăăăăăŽć°ăăé ĺăăăăăăăă¨ćăăžăă 確ăăŤăä¸ăŽä¸ăŤăŻĺ¸¸ăŤăăĺ¤ăăŽăăšăăăŠăŻăăŁăšăăăăžăă ăăŽăăŹăźăłăăźăˇă§ăłă漽ăăă§ăăă ăăă°ĺš¸ăă§ăă ăăăă¨ăăăăăžăă
Â
GitHub ă˘ăŻăˇă§ăł (32:18)
CIç°ĺ˘ă§éĺ§ăăćşĺăă§ăăăăăăăćŻć´ăăĺ¤ăăŽăăźăŤăç¨ćăăŚăăžăă ă¤ăĄăźă¸ăŽăăŤăă¨ăăăˇăĽăDocker Build Cloudă¨ăŽçľąĺăŤĺ˝šçŤă¤ĺ ŹĺźăŽGitHub ActionsăăăăăăăăžăăăăăăŤă¤ăăŚăŻĺžăťăŠčŠłăă誏ćăăžăăăDocker Scoutăăăă§ăă Testcontainers CloudăŤă¤ăăŚăŻăĺ ăťăŠă芹ăăăžăăă ăăŽăăăTestcontainers Cloudă使ç¨ăăŚĺ庌ăăšăăĺŽčĄăăăĺ ´ĺăŻăăăŽĺ¤ăăăľăăźăăăăăăŽĺ ŹĺźăŽă˘ăŻăˇă§ăłăăăăžăă ăžăăGitLab CIç°ĺ˘ă§ăăĺŽéăŤăăăăŽGitHub Actionsă使ç¨ăăŚăăäşşăčŚăăĺ§ăăŚăăăGitLab CIă§ăGitHub ActionsăŽä¸é¨ăć´ťç¨ă§ăăăăăŤăŞăăžăăă ăăăŚăăăăăăç§ăč¨ĺăăăăă¨ăŽ1ă¤ă§ăăăăăă¤ăăŽç°ĄĺăŞăăłăă¨ăăšăăăŠăŻăăŁăšă§ăă
Â
ăŻă¤ăăŻăăłă/ăăšăăăŠăŻăăŁăš (32:59)
ăăŚăăăă§ćăä¸ăăăă¨ăă§ăăăă¨ăŻăăŁă¨ăăăăăăăžăăăĺ°ăéŁćʞăăăăă ăă§ăă ăžăăăăŽć ăĺ§ăăă¨ăăăŠă¤ăăźăNPMăŹă¸ăšăăŞăăäžĺé˘äżăĺĺžăăĺż čŚăăăăŽăăSSHčłć źć ĺ ąăăäžĺé˘äżăĺĺžăăĺż čŚăăăăŽăăčłć źć ĺ ąăĺż čŚă ăăŞăŠă¨č¨ăăŽăä¸čŹçă§ăă ăăăăç§ăăăŞăăŤă˘ăăă¤ăšăăăăŽăŻăçťĺăŤç§ĺŻăĺŤăăŞăăă¨ă§ăă ăăŤă ăˇăźăŻăŹăăă使ç¨ăăŚăăŤăćăŤăˇăźăŻăŹăăăćäžăăćšćłăăăăžăă ăă ăă¤ăĄăźă¸ăŤçźăäťăăŞăă§ăă ăăă çťĺăŽăŹă¤ă¤ăźĺă¨ăăăăĺŽéăŤăŠăŽăăăŤć§ćăăăŚăăăăŤă¤ăăŚăŻăžă 芹ăăŚăăŞăăă¨ăŻćżçĽăăŚăăžăă ăˇăźăŻăŹăăă 1 ă¤ăŽăŹă¤ă¤ăźăŤé 罎ăă揥ăŽăŹă¤ă¤ăźă§ăăăŽăăĄă¤ăŤăĺé¤ăăăăă¨č¨ăă¨ăăăăăăŽăăĄă¤ăŤăĺé¤ăăăă¨ăŤăŞăăžăă çľĺąăŽă¨ăăăĺŽéăŤăŻăžă čłć źć ĺ ąăçşéăăŚăăžăă ă§ăăăăăăŽçšăŤăŻĺĺ注ćăăŚăă ăăă çťĺăŤăˇăźăŻăŹăăăĺŤăăŞăă§ăă ăăă
äżĄé źă§ăăăăźăš ă¤ăĄăźă¸ăăéĺ§ăăžă (ăăă Microsoft ăćäžăăăăŽă§ăăăă¨ăçľçšăćäžăăăăŽă§ăăăă¨ăéŠĺăŞäżĄé źăăźăšăăéĺ§ăăžă)ă
ăăŤăăšăăźă¸ ăăŤăă使ç¨ăăă¨ăăăŤăćăŽäžĺé˘äżă¨ăŠăłăżă¤ă ăŽäžĺé˘äżăĺé˘ăăćŹçŞç°ĺ˘ç¨ăŽăŻăăăŤĺ°ăăăçĄé§ăŽăŞăăăăĺŽĺ ¨ăŞă¤ăĄăźă¸ăä˝ćăăăŽăŤĺ˝šçŤăĄăžăă ăăăŚăžăăäťĺžăŽăťăăˇă§ăłă§ăăăŤă¤ăăŚăăăŤćˇąăćăä¸ăăăă¨ăă§ăăžăă
ăžăăĺŻč˝ăŞéăçťĺăľă¤ăşăĺ°ăăăăĺż čŚăăăăžăă çťĺăĺ°ăăăťăŠăćźăăăĺźăăăăăăŽăéăăŞăăĺ ăăăšăăŹăźă¸ăšăăźăšăĺ°ăŞăăŞăăžăă ăăăŚăăăăćŻć´ăă1ă¤ăŽćšćłăŻăăăŁăăˇăĽăŽä˝żç¨ăäżé˛ăăăăăŤăăŹă¤ă¤ăźăžăăŻĺşćŹçăŤDockerfileăŽĺ˝äť¤ăć§é ĺăăăă¨ă§ăă
ăăŚăăăăăŽĺă˘ă¤ăă ăŻăăăăă 5 ĺăžă㯠10 ĺăŽăťăŻăˇă§ăłă¨ăă˘ăăăăŚăăăŤäťéăăăăšăŚăŤĺ¤ăăă§ăăăă ăăăŤă¤ăăŚăŻăäťĺžčŠłăă誏ćăăžăă ăăăăăăă§ăčć Žăăšăçšăăăă¤ăăăăžăă ăăăŽĺ¤ăăĺŠăăăăăŽăăźăŤăŽăăă¤ăă
ĺ ăŤčż°ăšăăăăŤăăăŤăăćŻć´ăăăăźăŤăăăăăăăDocker Build Cloudă§ăă Build Cloud ăŽčăćšăŻăăăŤăăĺŽčĄăăăăłăŤăăźăŤăŤ ăăˇăłăŽăăŤăăźă使ç¨ăăăŽă§ăŻăŞăăĺşćŹçăŤăŻăŠăŚăă§ĺŽčĄăăăŚăăăăŤăăźăć´ťç¨ă§ăăă¨ăăăă¨ă§ăă ăăăăŁăŚă5 äşşăŽăăźă ăăăĺ ´ĺăăŻăŠăŚă ăăŤăăźă使ç¨ăăŚăăă¨äťŽĺŽăăă¨ă1 äşşăŽăăŤăăŤăăŁăŚăăăźă ăŽäťăŽĺ ¨ĺĄăć´ťç¨ă§ăăăăŁăăˇăĽăč¨ĺŽăăăžăă ăăăŻăäťäşăăăăăłăŤç˝ç´ăŽçść ăăĺ§ăăCIç°ĺ˘ă§çšăŤĺ˝šçŤăĄăžăă ă§ăŻăćŻĺç˝ç´ăŽçść ăăĺ§ăăĺ ´ĺă䝼ĺăŽăăŤăăŽăăŁăăˇăĽăăŠăŽăăăŤć´ťç¨ă§ăăžăă? ăŻăŠăŚăăăŤăăźă§ăŻăăăŽăŻăŠăŚăăăŤăăźă常ăŤĺŽčĄăăăŚăăăăăăăăăŽăăŁăăˇăĽăćă¤ăŽăŤĺ˝šçŤăĄăžăă
ăăăŚăăłăłăăŠă¤ă˘ăłăšăćŻć´ăă2ă¤çŽăŽăăźăŤăŻDocker Scoută§ăă Docker ScoutăŻăçľçšăŽăăŞăˇăźăč¨ĺŽăăćŠč˝ă ăă§ăŞăăăăźăŤăŤăŽéçşç°ĺ˘ă§ăăăăŽăăŞăˇăźăĺćă§ăăăăăŤăăăăăŽćŠč˝ăćäžăăžăă ăăă§ăŻăăăă§ĺ°ăăčŚăăăžăăăă
Â
ă㢠(35:58)
VSCodeăŤćťăăžăă ăăăŚăăăă§Dockerfileăéăăžăă ăăă§ĺ¤ăăŽćéă貝ăăă¤ăăăŻăăăžăăăăĺ°ăă ăčŚăăăăăŤăăăŤăăčĄăăžăă ăăăŚăăăŽăă˘ă˘ăăŞăĺźăłĺşăăV1ă¨ăăăżă°ăäťăăžăă ăăăŚćĺžăŽçšăŻăăăăăăŽĺ ´ćă§ăăă¨ăăăă¨ă§ăă ăăŚăăăŽăăŤăăŻăĺ ăťăŠăăŤăăăă°ăăăŞăŽă§ăăťăźçŹćăŤčĄăăăžăă ăăŽăăăăăăŤăŻăăŁăăˇăĽăăăĺşĺăĺ¤ć°čĄ¨ç¤şăăăžăă ăăăăăăăŤăăç§ăă§ăăăă¨ăŻăDocker ScoutăŽăŻă¤ăăŻăăĽăźăĺŽčĄăăŚăăăăăăŤă¤ăăŚăăăŤčŠłç´°ăĺĺžă§ăăăă¨ă§ăă ă§ăăăăScoutăăăăă¨ăăŚăăăă¨ăŻăĺşćŹçăŤç§ăŽçťĺăĺćăăSBOM(ă˝ăăăŚă§ă˘é¨ĺ襨)ăčŚăŚă玹ăŤä˝ăĺ ĽăŁăŚăăăăčŚăăă¨ă§ăă ăŠăŽăăăŞäžĺé˘äżăăăăžăă? ăŠăŽOSăăăąăźă¸ă§ăă? äťăŤăŠăŽăăăŞă˘ăăŞăąăźăˇă§ăłăŽäžĺé˘äżăăăăžăă? ăăăăŽăăăăăŤĺéĄăŻăăăžăă? ăăăăŤăŻăŠăŽăăăŞăŞăźăăłă˝ăźăšăŠă¤ăťăłăšă桝äťăăăŚăăžăă? ăžăăă˘ăăŞăąăźăˇă§ăłčŞä˝ăŻăŠăŽăăăŤć§ćăăăŚăăžăă? ăłăłăăăŻăăăŠăŤăă§éăŤăźăăŚăźăśăźă¨ăăŚĺŽčĄăăăăăŤć§ćăăăŚăăžăă? ăăăŤăŻăäťăŤăĺ¤ăăŽăăŞăˇăźăé˘äżăăŚăăĺŻč˝ć§ăăăăžăă ăăăăScoutăŽĺ¤§ăăŞĺŠçšăŽ1ă¤ăŻăç§ăŽă¤ăĄăźă¸é幤ăčŞčăăăă¨ă§ăă ăăăăŁăŚăăăŽĺ ´ĺănodeďź20 ăăăăŤăăăăă¨ăčŞčă§ăăăăŽăŹăăźăăçćăăă¨ăăŤăĺéĄăçśćżăăăŽăăăăă¨ăĺŽéăŤčŞĺă§ĺéĄăĺ°ĺ ĽăăăŽăăéçĽă§ăăžăă?
ăăăŻĺŽăŤčŻăăżă¤ăăłă°ă§ăă ăăăŚăăăă§ç§ăŽçťĺăŤĺéĄăăăăă¨ăăăăăžăă ăăŚăçžĺ¨ăčĺźąć§ăŻéŤ 7 ăčĺźąć§ 8 ä¸ă 108 ä˝ă§ăă ăăŚăăăŞăăăăžăă ăăăŚăăăăŻç§ăŤăăćăăŚăăăžăăăăźă:20ă¤ăĄăźă¸ăç§ăć´ťç¨ăăŚăăĺşćŹă¤ăĄăźă¸ăŻăéŤăä¸ă4ă107ä˝3ćăŁăŚăăžăăăç§ăŻĺ¤ăăŽĺéĄăĺăçśăă§ăăžăă ăăŽăăăăăźăšă¤ăĄăźă¸ăĺ¤ć´ăăă¨ăăăźăšă¤ăĄăźă¸ăĺ¤ć´ăăă ăă§çşçăăĺ¤ć´ăĺşćŹçăŤćăăŚăăăžăă ăžăăçşčŚăăăCVEăŤă¤ăăŚăŽčż˝ĺ ăŽčŠłç´°ăĺĺžă§ăăžăă ĺŽéăç§ăŻĺ ăŤé˛ăă§ăăăăćŹĺ˝ăŤéăĺŽčĄăăžăă ăăăŚăăăăŤăăăçşčŚăăăçšĺŽăŽčĺźąć§ăŤă¤ăăŚčŠłăă誏ćăăžăă ăăă§ăŻăăăăăŤé˘éŁäťăăăăŚăă俎ćŁăăźă¸ă§ăłă¨ăăăăăăăĺ°ă芳ăăçč§ŁăăăăăŽăŞăłăŻă示ăăžăă ăăŽä¸ćšă§ăGUIă§ăĺăăăŽăčŚăăă¨ăă§ăăĺćăčĄăăăăŽçšĺŽăŽçťĺă§ä˝ă辡ăăŁăŚăăăă確čŞă§ăăăă¨ă示ăăă¨ăă§ăăžăă ăăăŻăç§ăé˛éłăčĄăŁăŚăăăăăăăˇăłăçžĺ¨äťăŽĺ¤ăăŽĺŚçăčĄăŁăŚăăăăăé常ăăăĺ°ăéˇăăŞăă¨ćăăžăăăăăăŤăăăCLIă§čŚăŚăăĺ¤ăăŽăă¨ăŤĺŻžăăŚGUIăăźăšăŽă˘ăăăźăăĺŻč˝ăŤăŞăăžăă ăăŽăăăčĺźąć§ăăŻăŞăăŻăăŚăăăŽäżŽćŁć¸ăżăăźă¸ă§ăłă確čŞă§ăăžăă çťĺă俎ćŁăăçťĺăăăćşć ăăăćšćłăŤă¤ăăŚăŽć¨ĺĽ¨äşé ă襨示ăăăžăă
ăăŚăăăăŻăăă§ăăăŤçľăăăŻăă§ăă ăăăŚăç§ăă§ăăăă¨ăŽ 1 ă¤ăŻăăăŽçšĺŽăŽăăŤăă§ăŻčĄăăŞăăŁăăă¨ă§ăăăĺŽé㍠SBOM ăăăŤăăăŚă¤ăĄăźă¸ăŤă˘ăżăăă§ăăăă¨ă§ăă ăăăăŁăŚăăăăĺ°ăé ăăŞăççąăŻăăăŽăŞăăˇă§ăłăĺŤăăŞăăŁăăăă§ăă ăăăăŁăŚăĺşćŹçăŤăŻăăă§ĺćăčĄăăăłăŤSBOMăçćăăĺż čŚăăăăžăăăăăŤăćăŤä¸ĺşŚçćăăăă¨ăă§ăăžăă ăăăăçš°ăčżăăŤăŞăăžăăăĺşćŹçăŤăŻç§ăŽă¤ăĄăźă¸ăŽçĽĺ ăăăšăŚčŚăăă¨ăă§ăăă¨ăŻăšăăŹăšăŽ 4ăŤĺéĄăăăăă¨ăăăăăžăă17 ăăăăŤăŻ3ă¤ăŽç°ăŞăCVEăé˘éŁäťăăăăŚăăăă¨ăăăăăžăă ăăŽçšĺŽăŽăăŽăŻç§ăŤăăăŤă¤ăăŚăŽčŠłç´°ăä¸ăă大ä¸ĺ¤Ťăç§ăĺ°ăŞăă¨ăčĄăĺż čŚăăăĺşĺŽăăźă¸ă§ăłăćăăŚăăăžă 4ă20ă ăă㯠4ă¨č¨ăŁăŚăăžăă19ă2 ăăăŚăăăŽćĺžăŽăăŽăŻ 4ă¨č¨ăăžăă17ă3ă ăăăăŁăŚăăăŽçĽčăăăă°ăăłăźăăăźăšăŤćťăăă¨ăă§ăăžăă ăăăąăźă¸ăŽJSONăĺ¤ć´ăăŚăExpressă 4ăŤć´ć°ăăĺż čŚăăăă¨ă ăč¨ăăă¨ăă§ăăžăă20ă0ă ăăšăŚăŽăăšăăĺć§çŻăăŚĺĺćăăĺŽčĄăăăăăăšăŚăĺźăçśăćŠč˝ăăŚăăăă¨ă確čŞăăăă§ăăžăă ă§ăăăăScoutăŻăĺąéăăĺăŤăăšăŚă追补ăăăŽăŤĺ˝šçŤăĄăžăă
ăăŚăBuild CloudăŤă¤ăăŚčŠąăăžăăăăăăŽăłăźăăăăăˇăĽăăă¨ăĺŽéăŤăŻ2ă¤ăŽç°ăŞăăŻăźăŻăăăźăăăŞăŹăźăăăăłăăăăă¨ăŤăăă2ă¤ăŽç°ăŞăăŻăźăŻăăăźăăăăă¨ăăăăăžăă ăăŹăźăłăŞ GitHub ă˘ăŻăˇă§ăłă ăă§ć§çŻăăăăăŽă¨ăDocker Build Cloud ă使ç¨ăăŚăăăăŽă ăžăăDocker Build Cloud ă使ç¨ăăăăŤăă 30ç§ăŽćéć ă§ăăăŞăłă°ăăŚăăćéăŤăŻéăăăăăă¨ăăăăăžăă ăăŽćĺžăŽăăŽăŻäžĺé˘äżăĺ¤ć´ăăăăăĺ°ăćéăăăăăžăăăăDocker Build Cloudă使ç¨ăăŞăĺ ´ĺăŻăç´2ĺăăăăžăăă ăăŽăăăăăŞăćéăăăăăăăăŻăăŤăăĺŽčĄăăŚăăă ăăŽăŻăźăŻăăăźă§ăă çš°ăčżăăŤăŞăăžăăăTestcontainers Cloudă§ăĺăăă¨ăč¨ăăžăăăăłăłăăăŽčľˇĺăăłăłăăăŽĺŽčĄăŞăŠă§ăă
Â
ćŚčŚ (41:16)
çš°ăčżăăŤăŞăăžăăăăăăăăšăŚăŽç°ăŞăăľăźăăšăăç§ăŽéçşăăŠăŻăăŁăšăĺçĺăăăŽăŤĺ˝šçŤăŁăŚăăžăă Docker DesktopăDocker HubăDocker ScoutăDocker Build CloudăTestcontainers CloudăŞăŠăŽDockerăľăźăăšăšă¤ăźăăŻăăłăłăăă使ç¨ăăéçşăăłăłăăă使ç¨ăăăăšăăăăŤăă¨äżčˇăăăăŚćçľçăŤăŻăłăłăăă使ç¨ăăăăăă¤ăćŻć´ăăăăăŤč¨č¨ăăăŚăăžăă ăăăŚăăăăăăšăŚăDockerăľăźăăšăšă¤ăźăă§ăă çš°ăčżăăŤăŞăăžăăăăăŽć ăŤçăăăăčżăă§ăăăă¨ăĺŹăăćăăžăăŽă§ăäťĺžăŽăťăăˇă§ăłăŤă注çŽăă ăăăăžăăăăăăŽăă¨ăĺŽéăŤčĄăćšćłăăă桹ăćăä¸ăăĺŽčˇľăăŚĺŚăśăă¨ăă§ăăĺ ´ćăă茧ăă ăăă ăăă§ăŻăăăăăăéĄăăăăăžăă ăăăăăŞăăŤă¨ăŁăŚćçă§ăăăă¨ăéĄăŁăŚăăžăăăăăŚç§ăăĄăŻăăŞăăŽć ăăľăăźăăăăŽă漽ăăżăŤăăŚăăžăă
Â
ăăăŤčŠłăă
- ăăăŤăźăŻĺăăŚă§ăă? ĺ§ăăžăăăă
- 注çŽăŽăŹă¤ăă§Docker製ĺă桹ăćăä¸ăăžăă
- Docker Newsletter ăčłźčŞăăŚăă ăăă
- Docker ăăšăŻăăăăŽćć°ăŞăŞăźăšăĺ Ľćăăžăă
- 質ĺăăăăžăă? Docker ăłăăĽăăăŁăăćäźăăăžăă