
ç§ã¯åŠæ ¡ã§ãããã¯ãŒãã³ã°ãå§ãã16幎以äžãéã®ããã«åããŠããŸããå€§äŒæ¥ããå°äŒæ¥ãŸã§ãããããã®ä»äºã«å°±ããèªåã§äºæ¥ãå§ãã宿çã«èªåã§äººãéã£ãŠããŸãããé·å¹Žã®çµéšãšçµéšã®äžã§ãç§ãä»ã®å€ãã®äººã ã¯ãã€ã³ã¿ãã¥ãŒã®çŽæãçºéãããŠããŸãã
ããã¯æç¢ºãªã¢ã«ãŽãªãºã ããªãå Žåã§ããããªãã¯ãã 人ãšè©±ããããªãèªèº«ã®ããã«äœããçè§£ããŸããããªãã¯åè£è ãåã®ä»äºã§äœãããããå°ããããªãã¯ãã®ãããã¯ã«ããã¿ã€ããŠããŸã-ãããŠä»ããªãã¯ååãšã»ãŒåãã¬ãã«ã§ãšã³ãžãã¢ãªã³ã°ã®ãããã¯ã«ã€ããŠè©±ãåã£ãŠããã ãã§ããäŒè©±ãããŸãããããã®äººããããæ°ã«å ¥ã£ããããã¹ãŠãããŸããããŸãã
ãã®ãããªçŽæã¯ãæ¬ãããã¹ãããã¯ã»ãšãã©åŠã¶ããšãã§ãããããèªäœãçµéšã䌎ã£ãŠããŸãã圌女ãšäžç·ã«ããç§ã¯äžè¬çãªèŠéãã»ã©ç¹å®ã®ç¥èãæ°ã«ããªããæ å ±ãæ¢ãèœåãçè§£ãç§ãã¡ã¯äžç·ã«åãã ããããªã©ã®ãã¬ãŒãºã
ããããæã«ã¯ãã°ãªããã倱ããªãããã«ããšã³ãžãã¢ãæã€ã¹ãç¥èãšã人çã§åããŠèŠã人ãæã客芳çã«è©äŸ¡ã§ãã質åãæãåºãå¿ èŠããããŸãã
ãŸãããã¹ãŠã®å±¥æŽæžããã°ãã確èªããŸã
åçãèªã¿ãªãããããŒã¯ãŒããè·å Žã«æ°ãé ã£ãŠããŸããç§ã¯ãã€ãã«ããŒã¬ã¿ãŒãèªãã§ããŸã-ãã®æ®µéã§å€ãã®å¿åè ãæé€ãããŠããŸãã DevOpsãšã³ãžãã¢ãèŠã€ããããšã«ã€ããŠã®æ±äººæ å ±ãæçš¿ãããšãpythonéçºè ãgolangéçºè ããŸãã¯ãéåžžã«èå³ãããã詊ããŠã¿ãããçŸåšã®å® é 䟿æ¥è ããå¿çããããŸãã
æ¿åºæ©é¢ã§ã®ä»äºã®çµéšã瀺ããããã·ã¢é£éŠäžå€®éè¡ã®æåã®ã«ããŽãªãŒã®ç®¡çè ãã®ç²Ÿç¥ã«åºã¥ãåéãééããŸãã ãæ å ±ã·ã¹ãã ã®ç®¡çãã«ã€ããŠã®ããããã¹ãŠã®åé·ãªè©±ã¯ãç§ãããããããšãªãããã«æã¡åããŸãããéå»ã®ä»äºã®èª¬æãããå·§åŠã§å®åçã§ããã»ã©ããã®ãããªç³è«è ã¯ãWindowsãšã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããããã¯ã¢ãããé€ããŠã圌ã®äººçã§äœãèŠãããšããªãå¯èœæ§ãé«ããªããŸãã
å±¥æŽæžããã°ããéžæãããšãã«ãŒã«ã圹ç«ã¡ãŸããåºäŒããã¯ãããžãŒãå€ããã°å€ãã»ã©ããã®ã§ãã人ã®å±¥æŽæžã«MySQLãLinuxãPostgresãApacheãªã©ãšæžãããŠããå Žåã¯ããã£ã³ã¹ããããŸãããã®äººã¯å°ãªããšããã¯ãããžãŒã«ã€ããŠèããããšããããç¥ã£ãŠãã人ã¯ããããèªåã§äžç·ã«ä»äºãããããšãããããŸããããããæ£çŽã«èšããšãå±¥æŽæžã«ã¯äœã§ãæžãããšãã§ããŸãã
ã€ã³ã¿ãã¥ãŒã§ç§ãæåã«ããããšã¯ããŒã¿ããŒã¹ããã§ãã¯ããããšã§ã
è匱ãªè人ã«ãªã£ãŠããŒããããšæ®Žãããããããããç¥ããªã人ã®èäžã«æ£ã§ãããããå§ããŸãïŒããã¯ã©ããªãšã³ãžãã¢ã«ãšã£ãŠãå¿ éåã§ããç§ãã¡ã¯ãã¹ãŠããããã¯ãŒã¯ã§èµ·ããäžçã«äœãã§ããŸããééãããå ¬å ±éšéã§ãããå°æ¹ã®èŒªéããããŸãããããŠãããçš®ã®ãããã·ãµãŒãã¹ãäœæããããAPIã§åäœãããµãŒãã¹ãæ§æãããããŠãAPIã«ã€ããŠäœãçè§£ããŠããªãéçºè ãããŸãã
ç¹å¥ãªç¥èã¯å¿ èŠãããŸãããMPLSãæ§æããããã«äŸé Œããããšã¯ãããŸããããããããµãããããã¹ã¯ãšã¯äœã§ãããIPã¢ãã¬ã¹ãšã¯äœã§ãã-21äžçŽã«ã¯ããã¹ãŠã®ITã¹ãã·ã£ãªã¹ããç¥ã£ãŠããå¿ èŠããããŸãã圌ã127.0.0.1ãäœã§ããããçè§£ããŠããªããšããç§ã¯äººã®é ã®äžã§äœãèµ·ãã£ãŠããã®ãåãããŸããã圌ã¯ããŒã«ã«ãã·ã³ã«åº§ã£ãŠãããä»®æ³ãã·ã³ã§ãµãŒãã¹ãå®è¡ããŠããŸãããã®ãµãŒãã¹ã«ã¯ãããŒã¿ããŒã¹ãžã®æ¥ç¶ã§ãããšã³ããã€ã³ã127.0.0.1ããããŸããç¡ç¥ãããç§ãã¡ã®ããŒããŒã¯åãããšãæšé²ããŸãããã®çµæããããŒã¹ã«æ¥ç¶ã§ããŸãããããã¡ããããããŒãããã¯æ¥ç¶ããŸããïŒ
ãã人ãCCNAèšŒææžãæã£ãŠããå Žåããããæž¡ããªããŠããç©ççã«ã¯åãåã£ãŠããŸããããæºåãã§ããŠããŸãããã®äºå®ã§ååã§ãã
ããšãã°ããããã¯ãŒã¯ãã©ã®ããã«æ©èœããããçè§£ããããã®æšæºçãªCCNAããºã«ã次ã«ç€ºããŸãã
ç°ãªããããã¯ãŒã¯ããã®2ã€ã®ã¹ã€ãããããããããã®éã«ã«ãŒã¿ãŒããããŸããã³ã³ãã¥ãŒã¿ãŒAãã³ã³ãã¥ãŒã¿ãŒBã«ããŒã¿ãéä¿¡ããããšããŠããŸãã
ãã®ç¬éã«äœãèµ·ãããŸããïŒ: «, , , . , , MAC- , . , , . , ».
次ã«ãOSIã¢ãã«ã®ãã¹ãŠã®ã¬ã€ã€ãŒã«ããã£ãŠè³ªåããŸã
Spanning Tree Protocolã«ã€ããŠèããããšããããŸããïŒã«ãŒããããã³ã«ã«ã€ããŠãIPå±€ã«ã€ããŠïŒããããŸãããããã¯ãã¹ãŠã©ã®ããã«æ©èœããŸããïŒåœŒã¯ã«ãŒãã£ã³ã°ãã©ã®ããã«è¡ãããããçè§£ããŠããŸããïŒãŸãšãããšãã«ãŒãã£ã³ã°ããŒãã«ãåçã«ãŒãã£ã³ã°ãããã³ã«ãTCPãã©ã³ã¹ããŒãã¬ã€ã€ãŒã§ãããªã©ãªã©ã
TCPãšUDPã®éããèããããåªããã¹ãã·ã£ãªã¹ãããéèŠãªã·ã¹ãã ïŒããšãã°ããã¡ã€ã³åã·ã¹ãã ïŒãä¿èšŒãããã¡ãã»ãŒãžé ä¿¡ïŒUDPïŒãªãã§ãããã³ã«ã䜿çšããçç±ãæããŠãããŸãã
çãã¯ç°¡åã§ã-ãã®æ¹æ³ã®æ¹ãé«éã§ããTCPã»ãã·ã§ã³ãã¢ã¬ã³ãžããŠãããšãã«ãUDPãã±ããã3åéä¿¡ããŠãåä¿¡ããããšãã§ããŸãããããŠããªãŒããŒãããã¯ãããŸããã
DNSã«ã€ããŠè³ªåããŸã
é²é³ã®çš®é¡ã¯äœã§ããïŒç§ã®å¯Ÿè©±è ã¯ãMXã¬ã³ãŒããšã¯äœããspfãã©ã®ããã«æ©èœãããããŸãã¯DKIMãã©ã®ããã«æ©èœããããç¥ã£ãŠããŸããã
ã¯ãããã®ç¥èã¯ä»äºã«åœ¹ç«ããªããããããŸããããããã人ããã¯ãããžãŒã®æ¬è³ªãçè§£ããŠãããã©ãããããã«ã€ããŠèªãããšã«èå³ããã£ããã©ãããç¥ãããšã¯ç§ã«ãšã£ãŠéèŠã§ãã圌ã¯DNSã«ããã€ãã®ã¬ã³ãŒãã远å ããspfã¬ã³ãŒããšã¯äœããã°ãŒã°ã«ã§æ€çŽ¢ããŸãããããããšãããŸããã§ãããïŒ
HTTPãããã³ã«ã¯ä»ã§ã¯çµ¶å¯Ÿã«ã©ãã§ã䜿çšãããŠããŸãããããŠç§ã¯ããã«ã€ããŠå°ããŠããŸã
ãŸããhttpããŒãžã§ã³1.0ã1.1ãšããŒãžã§ã³2ã®éãã«ã€ããŠæšæºçãªè³ªåãããŸããããããŒãšã¯äœãããªãããããŒãå¿ èŠãªã®ãèå³ããããŸããWebãµãŒããŒã¯ãç¹å®ã®ä»®æ³ãã¹ãã«å¯ŸããèŠæ±ãåä¿¡ããããšãã©ã®ããã«èªèããŸãããä»ã®ä»®æ³ãã¹ãã«å¯ŸããèŠæ±ã¯åä¿¡ããŸããããããŠç§ã¯ãã€ãNginxã«ã€ããŠããã€ã質åãããŸãã
次ã«ãTLSãããã³ã«ã«ã¹ã ãŒãºã«æ³šæãåãæ¿ããŸã
SSL \ TLSã¯ã©ã®ããã«æ©èœããŸããïŒãšã³ãžãã¢ã¯ãå°ãªããšãåºæ¬çãªã¬ãã«ã§ãããçè§£ããå¿ èŠããããŸããã«ãŒãèªèšŒæ©é¢ããããèšŒææžã«çœ²åããèšŒææžã¯ã©ããã§äœ¿çšãããŸãã
TLSã§ã¯ãç§ã¯éåžžãæ¥ç¶ã確ç«ããããã»ã¹ã«èå³ããããŸãããªãç§å¯éµãšå ¬ééµãå¿ èŠãªã®ã§ããïŒãŸãããããã¯ã©ã®ããã«çžäºäœçšããŸããïŒäººã倱æããå Žåãç§ã¯ããªãã¯ã®è³ªåãããŸãïŒ1ã€ã®IP-shnikã«è€æ°ã®ç°ãªãèšŒææžãæã€ããšã¯å¯èœã§ããïŒ
ã¹ãã€ã©ãŒã®äžã§çãã, TLS-, HTTP-, - , HTTP-, . Nginx , , . TLS-, , TLS-. . , IP- SSL.
LinuxãšBASHã«ç§»è¡ãã
ãã¹ãŠã®Unixããã¹ãŠã®Unixã®ãããªã·ã¹ãã ãç¥ãå¿ èŠããããŸããåºæ¬çãªã³ãã³ããç¥ã£ãŠãããShellãšBashãæäœã§ããå¿ èŠããããŸããlsãmkdirãªã©ã
ããŠãåè£è ãBASHã§å°ãã¹ã¯ãªãããæžãããšãã§ããã°ãããã¯åœŒãã©ãããããããã®è©±ãèªååããããšããããšãæå³ããŸãã
Linuxã§ã¯ããã¡ã€ã«å ã®è¡ãä»ã®è¡ã«çœ®ãæããæ¹æ³ãå°ããŸãããŸãã¯ãBASHã䜿çšããŠNginxã®access.logãè§£æããæ¹æ³ã人ãawkã«ã€ããŠãç«ã«ã€ããŠãäžŠã¹æ¿ãã«ã€ããŠãéãä»äºãå©ãããã¹ãŠã«ã€ããŠè©±ãããã«ã
ããããšããã«ããã¹ããã¡ã€ã«ããããæ£ããæäœããå¿ èŠããããŸããç³è«è ãããããExcelã«ã³ããŒããŠããã§äœããããããšãç³ãåºãå Žåãç§ã¯æ¥ããããæããããŸãã
次ã«ãä»®æ³åã®ç¶æ³ãææ¡ããå¿ èŠããããŸãã
åŸæ¥ã®ä»®æ³åããã€ããŒãã€ã¶ãŒã«ããä»®æ³åãåè£è ãæºä»®æ³åã«ã€ããŠè©±ãå§ããå Žåãããã¯åœŒãäœããç¥ã£ãŠããããšãæå³ããŸãã
ç§ã®äž»ãªè³ªåã¯ãã³ã³ããä»®æ³åãšéåžžã®ãã€ããŒãã€ã¶ãŒä»®æ³åã®éãã¯äœã§ããïŒäººãããã䜿çšããã®ãé©åãªå Žæã§ãäœãè¯ãããäœãæªãããæ¯èŒããã®ã¯è¯ãããšã§ãã
ã³ã³ããã«ç§»ã
ããªãã話ããŠãã人ãDockerã§åããããšããããã©ãã調ã¹ãŠãã ããã圌ã¯ã€ã¡ãŒãžãã³ã³ãã€ã«ããDockerãã¡ã€ã«ãäœæããDockercomposeã䜿çšããŠãããã€ããŸãããããªããããã®ã³ã³ãããå¿ èŠãªã®ã§ããããŸãã©ã®ããã«æ©èœããã®ã§ããïŒç³è«è ã¯ãSwarmãŸãã¯Kubernetesã³ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã·ã¹ãã ãç«ã¡äžããŸãããïŒããããã®è³ªåãããããšãã§ããŸãããéèŠãªããšã¯ããã®äººãã³ã³ããã䜿ã£ãŠèªåã®æã§äœæ¥ãè¡ã£ããã©ãããçè§£ããããšã§ãã
CI / CDã®å±éã«ã€ããŠè³ªåãã
ç§ã¯ç©äºã®èšå€§ãªãªã¹ãã«èå³ããããŸãïŒåœŒã¯ã©ã®ããã«èªåå±éãèšå®ããã©ã®ããã«ç¶ç¶çãªçµ±åãèšå®ããŸããïŒåœŒã®ã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«çµã¿ç«ãŠãããŠãããã圌ã¯ã³ãŒãåæã·ã¹ãã ïŒPVS-StudioãSonarQubeïŒã䜿çšããŠããŸããã圌ããã¹ããäœæããæ¹æ³ããŸãã¯éçºè ãäœæãããã¹ããçµ±åããæ¹æ³ã
ãããã®ã¢ã»ã³ããªã«å¯ŸããŠäœããã®çµ±åãã¹ããå®è¡ããŸããïŒåœŒãéãããã®ã§æ¬¡ã«äœãèµ·ãããŸããïŒããã¯ã©ããããããartfectsã«ãªããŸããããããšãããã«ãŒã³ã³ããã«ããã¯ãããã¬ãžã¹ããªã«ããã·ã¥ãããŸããïŒ CI / CDããã»ã¹ã®ã»ããã¢ããã«äœ¿çšããã·ã¹ãã ãæããŠãã ããã GitLab CIãCircle CIãããã³äžéšã®ã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ã®å ŽåããããŸãããã¶ãããžã§ã³ãã³ã¹ããŸããPowerShellã§èªåã§æžããã¹ã¯ãªãããå¿ããŠã¯ãããŸããã
人ãã©ã®ããã«å±éãããæããŠãã ãããç§ã¯ãã¹ãŠãçè§£ããŸããããã¯ãKubernetesãAnsibleãã¹ã¯ãªããããŸãã¯ãã®ä»ã®èªäœã®Helmã䜿çšããŠå±éã§ããŸãã
æ§æç®¡çã·ã¹ãã ã«ã€ããŠ
ç§ãã¡ã¯Ansibleãæãé »ç¹ã«è©±ããŸããã»ãšãã©ã®äººã圌ãç¥ã£ãŠããããã§ããã§ã¯ããªã圹å²ãç§å¯ããŒã¿ãæå·åããŠä¿åããæ¹æ³ãGitãªããžããªã«ãã¹ã¯ãŒããã¢ããããŒãããæ¹æ³ãå¿ èŠãªã®ã§ããïŒãããŠããã®ãããªãã®ã
ã³ãŒããæžãèœåã«ã€ããŠåŠã¶
ãµãŒãã¹ãã©ã®ããã«çžäºäœçšããããAPIãèªèšŒãããã³ã«ãæ¿èªãå¿ èŠãªçç±ãçè§£ããã«ã¯ãéçºãçè§£ããããšãéèŠã§ããåè£è ãèªåã§äœããæžãããšãããããã§ãããPythonãShellã®åºæ¬çãªã¹ã¯ãªããã§ããç§ã«ã¯ååã§ããéèŠãªã®ã¯ã³ãŒãã§ã¯ãªãããã®äººã解決ãããã¿ã¹ã¯ãéæãããããšã§ãã
ã€ã³ãã©ã¹ãã©ã¯ãã£ããµããŒãããããã¯ã¢ããçšã®ããŒã«ã«ã¹ã¯ãªãããèšè¿°ããã«ã¹ã¿ã ã¢ãã¿ãªã³ã°ãè¡ããã¡ããªãã¯ãèœã¡çããŠåŒãåºãã«ã¯ãã³ãŒãã£ã³ã°ãå¿ èŠã§ããä»äºã§ã¯ãããã¿ã¹ã¯ã®æšæºçãªè§£æ±ºçããªãããšããããããŸãã
æåŸã®ã€ã³ã¿ãã¥ãŒã®è³ªåã¯ãããŒã¿ããŒã¹ã¹ãã¬ãŒãžã«é¢ãããã®ã§ã
SQLãNoSQL-éãã¯äœã§ãããäœã䜿çšããŸãããïŒç§ã¯PostgreSQLã®çµéšãæã€äººã ã«äŒãããšãå€ããããã»ã©é »ç¹ã§ã¯ãããŸãã-MySQLãã€ã³ããã¯ã¹ã«ã€ããŠè³ªåããŸããç³è«è ã¯ã¬ããªã«ãèšå®ã§ããŸãããããŒãã«éãŸãã¯ããŒã¿ã®ã¿ã®è«çã¬ããªã±ãŒã·ã§ã³ãèšå®ã§ããŸããããããŠããã®å Žåã圌ã¯äœãç£èŠããŸããïŒããŒã¹ãã¹ããŒãã¢ããããæ¹æ³ã¯ïŒ
ã¡ãªã¿ã«ãããã¯è¯ã質åã§ããããŒã¹ããã£ã¹ã¯äžã«åº§ã£ãŠäŒãã§ãããšããŸãããããããŠãããã§ã¯äœãã§ããŸãã-ä»ã®èª°ããµãŒããŒãè³Œå ¥ããŸãããã©ãããã°ä»ããéãåäœãããããšãã§ããŸããïŒ
ãã ...: fsync, , . Linux , , . , , . , . . . , .
ç·æ¬ãã -
- ãããã¯ãŒã¯
- APIã¬ãã«
- ãã©ã³ã¹ããŒãã¬ã€ã€ãŒTCP \ UDP
- DNSããã³HTTPãããã³ã«
- Linux
- ã³ã³ãããšãã€ããŒãã€ã¶ãŒã®ä»®æ³å
- CI / CD
- æ§æç®¡çã·ã¹ãã
- ã³ã³ãã
- ããŒã¿ããŒã¹
ããã«ããã人ã®å šäœåãæãããšãã§ããŸãã
ç§ã®ãªã¹ãã§æãéèŠãªããšã¯åºæ¬çãªç¥èã§ããåºç€ãããããªãå Žåã¯ã瀟äŒä¿éãçµäºããæãæ¥ãŸããã
ãµãããããã¹ã¯ãäœã§ãããã誰ããç§ã«çããããªãå ŽåããŸãã¯HTTPã§ããããŒãå¿ èŠãªçç±ãçè§£ããŠããªãå Žåãã»ãšãã©ã®å Žåããã®ãããªç³è«è ã¯ç§ã®ããŒãããã¯ã§æã倪ããã€ãã¹ãååŸããŸããããããã¹ãŠã®ããŠã¹ããŒã¯ãã©ã®ããã«æ©èœãããç¥ããããšæããŸããã§ãããïŒ
ãã¹ãŠãã©ã®ããã«æ©èœããããçè§£ããã®ã§ã¯ãªããåŠãã ããšãæ©æ¢°çã«ç¹°ãè¿ãã ãã®äººã ãšååããããšã¯éåžžã«å°é£ã§ããDockerãç¥ããªãåå¿è ã¯ãHTTPãTLSãããã³ãããã¯ãŒã¯ãäœã§ããããçè§£ããŠããã°ãç°¡åã«çè§£ã§ããŸãã
ãããæåŸã«ãæãéèŠãªç¹-å®éã®ã€ã³ã¿ãã¥ãŒã§ããã«åŸãããã«ãã®ãªã¹ãå šäœã¯å¿ èŠãããŸããã人ãéãåã«ãèªåã§ãã®ãªã¹ãã確èªããå¿ èŠããããŸãã
ãããŠããã¹ãŠãããŸããã£ããã颿¥ã®åè£è ã«é»è©±ããŠã1ã€ã ã質åããŸããä»äºã§æå€§ã®å€±æã¯äœã§ãããããããã©ã®ããã«ä¿®æ£ããééãããã©ã®ãããªçµè«ãå°ãåºããŸãããã
人ãäœãèšãããšããããšãããã®ãããªç€ŸäŒçå®å šä¿éã»ãã·ã§ã³ã¯ãããŒã«ãæã£ã2人ã®ãšã³ãžãã¢éã®å奜çãªäŒè©±ã®ããã«ééããŸãã
ããŠãäŒçµ±çã«ãç§ã¯ããªããã«ãŒãã§ç§ãã¡ã®ã³ãã¥ããã£ã«åå ããããšãå§ããŸã-ããã§ç§ãã¡ã¯å®æçã«ããããã¹ãŠã®ãããã¯ãšã€ã³ã¿ãã¥ãŒãšä»äºã®äž¡æ¹ã§åœ¹ç«ã€ä»ã®å€ãã®ãããã¯ã«ã€ããŠè©±ãåããŸãã