SOLID 원칙은 무엇이며, 왜 지켜야 하는가? SOLID 원칙 --SOLID는객체 지향 프로그래밍에서 유지보수성과 확장성이 좋은 소프트웨어를 설계하기 위한 5가지 원칙의 약자다. SOLID 종류SRP : 단일 책임 원칙OCP : 개방 폐쇄 원칙LSP : 리스코프 치환 원칙ISP : 인터페이스 분리 원칙DIP : 의존 역전 원칙 SOLID의 목적소프트웨어의 품질을 높임코드의 유연성과 재사용성을 증가 시킴복잡성을 제거하여 리팩토링에 소요되는 시간 줄임개발의 생산성 증가 SOLID 개념은OOP의 특징인 "캡슐화", "추상화", "다형성", "상속" 등의 개념들을 다시 재정의한 원칙으로 생각하면 된다.그래서 프로젝트에 SOLID의 원칙을 모두 적용해야 할 필요가 없으며, 상황에 따라..
OOP는 무엇일까? 객체지향 프로그래밍 (OOP) --OOP는말 그대로 "객체" 지향적인 프로그래밍을 의미하는데이는 프로그램을 "객체(Object)"의 집합으로 보는 방식이다.즉, 각 객체들이 서로 상호작용하는 구조로 동작을 수행하게 된다. 간단하게 설명하자면전체적으로 수행할 동작들 중에서 각 역할에 알맞게 "객체(클래스)"를 여러 공간에 분리하고프로그램을 동작할 때는 특정 동작에 필요한 객체들을 원하는 순서대로 불러다가 동작시켜 프로그램의 동작을 완수하는 것이다. 즉, 각 역할(동작)을 수행할 모듈들을 먼저 설계한 다음 해당 모듈들을 가지고 실행할 흐름을 짜서 동작시키는 방식이다. 비유를 하자면각각의 도구와 재료(인스턴스 변수)를 가지고 자신이 맡은 역할(메서드)만 수행하는 여러 요리사(객체)..
CI / CD 파이프라인은 무엇인가? CI / CD 파이프라인 -- 파이프에 물이 흐르는 것처럼IT 운영 환경에는 물 대신 소스코드가 물처럼 흐르는 것을 의미하고물처럼 흐르면서 자동으로 빌드 및 배포 등이 동작하는 것을 말한다. 즉, 개발자가 소스 코드를 업로드했을 때 최종적으로 배포까지 자동화가 이루어지는 것을CI / CD 파이프라인이라고 부른다. CI / CD 파이프라인은CI 파이프라인과 CD 파이프라인으로 나눌 수 있다. CI 파이프라인은지속적인 통합을 의미하여배포 환경에 배포할 수 있는 아티팩트를 만드는 것을 자동화하는 것으로소스코드를 빌드하는 것이 목표이다. CD 파이프라인은지속적인 배포를 의미하여CD 파이프라인에서 생성된 아티팩트를 실제 환경에 배포하는 것을 자동화한다.--
데브옵스란 무엇인가? DevOps (Development Operations) --DevOps는개발(Development)과 운영(Operations)의 합성어다. 개발자는 애플리케이션을 개발하고 새로운 기능을 추가하는 작업을 수행하고운영자는 안정적으로 애플리케이션 서비스를 운영하는 것을 수행한다. 애플리케이션에 새로운 기능을 추가하여 기존 내용에서 변경이 된다면다시 서버에 새로운 버전으로 배포를 해야 한다.이때 배포하는 과정에서 예상치 못한 서비스 장애가 발생하는 경우가 많이 존재한다. 그래서 운영자 입장에서는 기존 애플리케이션이 변경되는 것을 선호하지 않게 되는 것이고이 것이 개발자와 운영자 사이에서 마찰이 일어날 수 있다. 이를 해결하기 위해 DevOps가 탄생했다. DevOps는소프트웨..
네트워크란 무엇이고네트워크에서 사용하는 용어들은 무엇일까? 네트워크(Network)란? -- 네트워크는 여러 개의 장치들이 서로 연결되어서 정보를 주고받을 수 있는 시스템이다. 위 그림처럼네트워크는 렌선 케이블로 물리적으로 연결되어 있으며이 물리적인 케이블을 가지고 전기 신호를 통해서 정보를 주고받을 수 있게 되는 것이다. 즉, 네트워크는 여러 장치(컴퓨터)들이 서로 데이터를 주고 받을 수 있도록 연결된 시스템이다.-- IP 주소 (Internet Protocol Address)란? --택배나 편지를 보낼 때 상대방의 주소가 필요하듯이네트워크에서도 정보를 보내기 위해서는 IP 주소가 필요하다. 즉, IP 주소는 네트워크 상에서 장치(컴퓨터)들을 식별하기 위한 고유한 주소다.(컴퓨터가 인터넷..
동기 (Synchronous),비동기 (Asynchronous) 란 무엇인가? 동기 (Synchronous) --동기식은어떠한 행동을 하고 해당 행동에 대한 응답(결과)를 확인한 후 그 다음 행동을 진행하는 것이다.그리고 여러개의 요청을 순차적으로 진행하게 된다. -- 비동기 (Asychronous) --비동기식은 동기식과 다르게어떠한 행동을 하고 해당 해동에 대한 응답(결과)를 확인하지 않고 바로 다음 행동을 진행하는 것이다.그리고 여러개의 요청을 순차적으로 진행하지 않는다. -- 동기식과 비동기식의 장단점 --동기식은어떠한 행동에 대해 응답이 올 때까지 기다리다가 응답을 확인하고 그 다음 동작을 수행하기 때문에응답이 올 때까지는 아무것도 하지 않고 가만히 있는 단점이 있지만결과를 ..