도커 시작하기
도커 시작하기 도커를 컴퓨터에서 설치하는 방법에는 3가지가 있다. 운영체제가 리눅스인 컴퓨터에 설치 VMWare, VirtualBox 등 가상머신에 리눅스를 설치 후 도커 설치 윈도우, 맥 전용 Docker Desktop 설치 나는 3번 방법을 선택…
2023.01.05
devops
도커(Docker)
도커(Docker) 리눅스 컨테이너 기반의 가상화 플랫폼 화물 수송용 선박의 컨테이너에 화물을 싣듯 각 컨테이너에 애플리케이션과 그 애플리케이션을 실행하기 위한 환경을 세팅하여 각각 독립적으로 실행 가능 컨테이너(Container) 격리된 공간에서 …
2023.01.04
devops
DevOps란?
DevOps란? Development(개발) + Operatio(운영) 개발과 운영을 결합하여 탄생한 개발 방법론 애자일 소프트웨어(Agile Software) 개발과 지속적인 통합(Continuous Integration) 등의 개념과 관련 있음 …
2023.01.03
devops
MSA(Micro Software Architecture)
MSA(Micro Software Architecture) 하나의 큰 Application을 여러 개의 작은 Application으로 쪼개어 변경과 조합이 가능하도록 만든 Architecture 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로…
2023.01.02
se
3 way handshake, 4 way handshake
3 way handshake TCP 연결은 정확한 전송을 보잔해야하기 때문에 통신 전에 3 way handshake 작업을 통하여 논리적인 접속을 성립한다. 3 way handshake의 절차는 다음과 같다. (3번의 통신이기 때문에 3way) Cl…
2023.01.01
network
소프트웨어 개발 생명 주기
소프트웨어 개발 생명 주기 (Software Development Life Cycle, SDLC) 소프트웨어 생성에서 소멸까지의 과정을 단계별로 나눈 것 각 단계별 주요 활동과 산출물을 통해 프로젝트의 진행 방향을 명확하게 파악하고, 관리를 용이하게…
2022.12.09
se
SOLID 5원칙
객체 지향 프로그래밍을 하면서 지켜야 할 5대 설계 원칙 SRP, Single Responsibility Principle, 단일 책임 원칙 하나의 모듈에 한 가지 책임을 가져야 한다는 것 모듈이 변경되는 이유가 한가지여야 함 해당 모듈이 여러 대상…
2022.11.15
java
스프링 부트 vs 스프링 프레임워크
스프링 프레임워크 vs 스프링 부트 스프링 프레임워크는 기존 개발 방식의 문제와 한계를 극복하기 위해 다양한 기능 제공 하지만 기능이 많은 만큼 설정이 복잡 이러한 문제를 해결하기 위해 등장한 스프링 부트 스프링 프레임워크는 각 모듈의 의존성과 버전…
2022.10.27
daily
A* 알고리즘, IDA* 알고리즘
학교에서 인터넷 프로그래밍 및 실습 강의에서 과제로 슬라이딩 퍼즐을 푸는 알고리즘을 구현해본 적이 있다. 당시 코드 이번에 모 기업의 지원서를 쓰면서 그때의 경험을 썼는데 이번 기회에 당시 과제를 해결하면서 사용했던 알고리즘인 A , IDA 알고리…
2022.10.20
algorithm
AOP(Aspect Oriented Programming)
AOP(Aspect Oriented Programming) 객체지향 프로그래밍을 보완하는 개념으로, 애플리케이션을 객체지향적으로 모듈화하여 작성하더라도 다수의 객체들에 분산되어 중복적으로 존재하는 공통 관심사가 여전히 존재한다. AOP는 이를 횡단 …
2022.10.19
daily