본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

전체 글467

REST API 규칙, API란 무엇인가요? API란 무엇인가요? 애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성합니다. 예를 들어, 근무 시간 기록 애플리케이션은 직원의 전체 이름과 날짜 범위를 요청하는 API를 표시합니다. 이 정보가 수신되면 내부적으로 직원의 근무 시간 기록을 처리하고 해당 날짜 범위에서 근무한 시간을 반환합니다. 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있습니다. 클라이언트 클라이언트는 웹에서 정보에 액세스하려는 사용자입니다. 클라이언트는 API를 사용하는 사람이거나 소프트웨어 시스템일 수 있습니다. 리소스 리소스는 다양한 애플.. 2024. 2. 9.
[JAVA] 객체지향 설계 5원칙 SOLID 원칙 객체지향을 기반으로 개발하는데 있어 좋은 객체지향을 설계하기 위한 원칙이 있습니다. 개발자들이 좋은 객체지향 방식으로 설계되었다고 판단할 수 있는 원칙인데, 이 원칙 없이도 설계할 수 는 있으나, 객체 지향 원칙을 벗어나다보니 이후 유지보수나 리펙토링을 할 때 의견의 차이가 생길 수 있을 것 같습니다. 그러므로 설계할 때 약속된 원칙을 참고해서 설계하면 좋을 것 같아 정의 된 원칙 5개를 정리해보려 합니다. - 좋은 객체지향 설계5원칙(SOLID) • SRP: 단일 책임 원칙(Single Responsibility Principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP: 리스코프 치환 원칙 (Liskov substitution principle) • ISP:.. 2024. 2. 8.
웹 서버와 WAS(Web Application Server)의 차이점이 뭘까? 웹 서버와 WAS(Web Application Server)를 같이 연동해서 사용한 적이 있습니다. 성능의 향상을 위해 라는 이유로 둘을 동시에 연동해서 사용했는데 이번에 이 관련해서 정리해보려 합니다. 웹 서버(web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말합니다. 주로 정적 컨텐츠를 클라이언트로 전달하고, 클라이언트로부터 콘텐츠를 전달받거나 처리합니다. 동적 컨테츠가 필요할 때, WAS에 요청을 전달하여 처리한 결과를 클라이언트에게 전달합니다. 웹 애플리케이션 서버(Web Application Server, WAS)는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공합니다. 주로 동.. 2024. 2. 8.
[docker] docker-compose docker compose 차이, 버전의 차이 도커를 공부하다 보니 docker compose 라는게 있고 docker-compose 라는게 있는데, 이게 비슷하면서도 완전히 같다고는 생각지 않게되어 한번 포스팅을 하게 되었습니다. 구분하고 사용하는 것이 꼭 필요할까 생각은 되지만, 결과적으로는 구분하는게 나아보입니다. 1. docker compose 확인 2. docker-compose 확인 docker-compose는 설치할때 포함되지 않았었는데, 추가로 설치는 가능하나, 버전을 보면 1.25.0-1 로 확인됩니다. stackoverflow의 글에서도 이 내용이 혼용되어 사용되는 듯 하여 구분을 해보려 하는데 docker-compose가 V1 버전, docker compose가 docker의 plugin개념으로 compose를 지원하는 V2 버전.. 2024. 2. 5.
yaml 과 yml 확장자는 사실 같다. yaml과 yml파일 확장자는 모두 해석 및 구문이 동일합니다. 3글자인가 4글자인가 확장자의 차이가 있긴 하여 다른파일이 아닌가? 생각할 수 도 있지만, 실은 동일한 파일입니다. 이렇게 분리된 이유는 옛날 Windows에서 Extensions는 파일확장자가 3자로 제한되는 특성이 있었기 때문이라고 합니다. 그래서 예전에는 .html 대신 .htm 으로도 쓰였는데 이와 같은 원리입니다. 요즘은 확장자에 3글자를 넣어야 하는 OS 시스템 수준의 시행이 없으니, 4글자인 .yaml로 사용해도 문제없습니다. 2024. 2. 5.
[Linux] brctl 브릿지 네트워크 관리 brctl 이란? Linux 커널에서 이더넷 브리지 구성을 설정, 유지 관리 및 검사하는 데 사용됩니다. 이더넷 브리지는 일반적으로 서로 다른 이더넷 네트워크를 함께 연결하는 데 사용되는 장치로, ifconfig를 보면 별도의 이더넷으로 표시됩니다. brctl을 통해 별도의 이더넷 브릿지를 추가하고 조회도 가능합니다. 도커를 설치하면 도커용 bridge인 docker0 이 만들어지는데, brctl로도 조회가 가능합니다. 설치 sudo apt-get install bridge-utils -y brctl show 2024. 2. 5.
[Docker] 도커 이미지 빌드 문제풀이 따배도 4.2 도커 컨테이너 만들어보기 실습을 직접 풀어본 소스입니다. 2024. 2. 3.
[java] assert 개발 테스트 에서 조건 걸기 Java에서 버그 또는 예상치 못한 상황을 검출하고 적절히 대응하기 위해 사용하는 방법이 있습니다. 주로 exception을 사용할 수 있으며, 특정한 경우 예외를 던져 경우에 대비하고 프로그램이 멈추지 않게 합니다. 다만 특정한 경우에 대비하기 위해 exception을 여러개 배치하기도 합니다. - 주로 Exception은 try catch로 묶어서 사용하거나 throws로 에러를 던지기도 합니다. 또다른 방법으로는 switch나 if else 에 조건을 여러개 넣어가며 검증하는 방법도 있겠습니다. 실제로 들어오는 데이터의 검증이 필요하다면 이를 통해 필터링 할 수도 있습니다. - 유용한 방법이긴 하나, 코드가 상당히 길어져 가독성이 떨어질 수 있습니다. 그러다가 assert 라는 것을 알았는데, jd.. 2024. 2. 3.
[Docker]도커 로그인 에러 확인하기 repository does not exist or may require 'docker login': denied: requested access to the resource is denied 명령어를 잘못쳣을 경우 이런에러가 발생할 수도 있습니다. 다만, docker hub 로그인을 실패해서 이런경우가 생기는 경우도 있다고 한다고 합니다. 그럴 경우 docker hub 의 계정이 필요하다고 합니다. $ docker login 위 사진처럼 docker login을 실행하신 다음 docker hub 의 계정을 입력해주면 로그인 됩니다. 로그인 정보는 계정의 .docker/config.json 에 저장된다고 합니다. 그 뒤에 다시 pull 을 실행하면 잘됩니다. 2024. 2. 2.