-
[면접을 위한 CS 전공지식 노트] 네트워크 - 처리량과 지연시간책 공부/면접을 위한 CS 전공지식 노트 2023. 12. 10. 00:01
🐙 책 정보 📖 네트워크 ? 노드 와 링크 가 서로 연결되어 있거나, 연결 되어 있으면서 리소스를 공유하는 집합. * 노드 : 서버 , 라우터 , 스위치 등 네트워크 장치 * 링크 : 유선 , 무선 좋은 네트워크란 ? 많은 처리량을 처리할 수 있는 네트워크 지연 시간이 짧은 네트워크 장애 빈도가 적은 네트워크 좋은 보안을 갖춘 네트워크 처리량 Throughput 링크를 통해 전달되는 단위 시간당 데이터량. 단위 : bps - Bits Per Second - 초당 전송 (or 수신)되는 비트 수를 의미 처리량에 영향을 주는 요소들 - 트래픽 : 사용자들이 많이 접속할 때마다 커짐 - 네트워크 장치간의 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 - 네트워크 중간에 발생할 ..
-
Spring Boot: RetrySpring Boot 🍃 2023. 12. 9. 00:01
보고 배운 블로그: wonyong-jang.github API 서비스의 재처리에 대한 고민 API 사용시 시스템 안정성을 높이기 위해 재처리를 어떻게 처리할까에 대한 고민을 해야한다. 재처리를 할 때는 보통 다음 사항들에 대해 고려해보게 된다. 재시도를 몇 번 실행할 것인가? 재시도 하기 전에 지연 시간을 얼마나 줄 것인가? 재시도를 모두 실패했을 경우 어떻게 처리할 것인가? Spring Retry 를 사용하는 방법으로는 Annotation을 사용하는 방법과 RetryTemplate을 사용하는 방법이 있다. 자세히 알려주는 블로그: wonyong-jang.github Retry 실습 어노테이션을 사용하는 방법에 대해서만 실습 ! 의존성 추가 // Spring Retry implementation 'org..
-
ubuntu 22 : 🐳 + MySQL 8 + MariaDB 11 설치 시도 기록OS/Ubuntu 2023. 12. 9. 00:01
보고 배운 블로그 : @_nine 1. image 다운로드 버전을 명시하지 않으면 가장 최신 버전으로 다운로드 된다고 한다! docker pull mysql docker pull mariadb 다운로드 확인 docker images 2. Container 생성 명령어 docker run --name {container 이름} --restart=always -e MYSQL_ROOT_PASSWORD={루트 비밀번호} -d -p {외부 접속 port}:3306 {image 이름} docker image의 정보가 궁금하다면 docker hub 홈페이지에서 찾아볼 수 있다. mysql container 생성 docker run --name mysql-8.0-container --restart=always -e M..
-
Spring Boot: TestContainers 🍃🐳🧑🔧Spring Boot 🍃 2023. 12. 9. 00:01
보고 배운 인강 CRUD 테스트 코드를 작성할 때 어떤 DB 환경이 좋을지에 대한 고민 다양한 선택지들 운영환경과 유사한 스펙의 DB ( 개발 환경 DB ) 사용 👉 버전 이슈, 초기 설정 등등 초기 세팅이 복잡하다는 단점이 있다. 인메모리 DB (ex. h2) 사용 👉 운영환경과 다르기 때문에 통합테스트 환경에선 docker 또는 TestContainers 를 사용하게 된다. Docker 사용 👉 container 관리를 별도로 해주어야하기 때문에 관리포인트가 늘어나는 단점이 있고, docker를 실행하기 위해 docker-compose 와 같은 스크립트를 별도로 작성해주어야하는 단점이 있다. TestContainers 이용 👉 TestContainers 는 운영 환경과 유사한 DB 스펙으로 독립적인 ..
-
Spring Boot: profile 환경 나누기Spring Boot 🍃 2023. 12. 9. 00:01
보고 배운 인강 정리 잘 되어있는 블로그 어플리케이션 설정을 local , develop , production 환경 등으로 구분할 때 사용한다. application.yml 또는 application.properties 파일에서 내용을 작성해주면 된다. 이번 글에서는 profile을 common , local , prod 의 3가지로 구분하여 작성하고자 한다. common : 모든 환경에서 공통으로 적용 local : 테스트 환경에서 적용 prod : 운영 환경에서 적용 실습에 사용한 파일 : application.yml yml 파일에서 --- 문자열을 사용하면 문자열 위에 작성된 내용과 아래에 작성된 내용이 별도의 파일에서 작성된 것 처럼 해석된다. # 실행 할 환경 정보 작성 spring: prof..
-
도커 Docker 🐳OS/Ubuntu 2023. 12. 9. 00:01
보고 배운 인강 1. 도커란 ? 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고, 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈 소스 가상화 플랫폼이다. 일반 컨테이너 개념에서 물건을 손쉽게 운송해주는 것처럼 어플리케이션 환경에 구애받지 않고 손쉽게 배포 관리를 할 수 있게 해준다. 컨테이너 기반 배포 방식은 구글을 비롯해 대부분의 서비스 회사가 컨테이너로 서비스 운영 중이다. 2. 도커를 사용해야 하는 이유 2대의 서버가 있을 때, 2대의 서버 세팅 시기가 다르다면 , 운영체제 버전부터 컴파일러, 설치된 패키지까지 완벽하게 같게 하기가 쉽지 않다. 이러한 차이로 인해 문제가 발생하기 쉬운데, 도커는 서버마다 동일한 환경을 구성해주기 때문에 이러한 문제를 해결할 수 있다. 또한, do..
-
-
-
ubuntu 22 : MySQL 8 + MariaDB 10 설치 시도 기록OS/Ubuntu 2023. 12. 9. 00:01
이 기록은 우분투에 mysql과 mariadb를 각각의 독립적인 인스턴스로 실행되도록 설치하고 실행한 기록이다. 도커를 사용하여 두 인스턴스를 실행해보는 것에 대해서도 다른 게시글로 기록을 남겨볼 계획이다! 🐳 두 가지를 모두 설치 시도해보다가 둘다 에러가 난 상태이기때문에 둘 다 삭제하고 처음부터 다시 시도해보면서 기록 🐵 1. mysql , mariaDB 삭제 참고한 곳 1. mysql , mariaDB 완전 삭제 apt remove --purge mysql* apt remove --purge maria* 2. 관련 파일이 남아있는지 확인 dpkg -l | grep maria dpkg -l | grep mysql 여기서 아무것도 안나와서 깨끗히 지워진줄 알았는데 디렉토리가 검색이 많이 되었다. 3. ..