웹(Web)/백엔드(Backend) 44

대규모 시스템 설계

가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 시스템관리/서버 | 쿠팡쿠팡에서 4.8 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 37 제품도 바로 쿠팡에서 확인할 수 있습니다.www.coupang.com   가상 면접 사례로 배우는 대규모 시스템 설계 기초 2:2024 우수학술도서 - 시스템관리/서버 | 쿠팡쿠팡에서 4.8 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 4 제품도 바로 쿠팡에서 확인할 수 있습니다.www.coupang.com

NAS 영역 배포시 서버 행현상 해결법

문제상황- SpringBoot + Vue.js를 tar로 압축해서 gitlab ci/cd를 통해 배포하는 상황 - NAS영역에서 tar파일을 배포하는 경우 여러 프로세스/서버가 해당 tar파일이 압축해제 되는 위치를 바라보고 있는경우 파일 LOCK현상이 발생할 수 있다. 그로인해 소스를 배포하기만 해도, 기존 실행중인 서버/프로세스에서 행 현상 발생 파일접근충돌여러 서버가 동시에 파일을 읽거나 쓰려고 하면 접근 충돌이 발생할 수 있다. 해결방안TMP 디렉토리에 tar파일을 압축해제TMP디렉토리를 Copy하여 프로세스 소스 영역에 배포한다. 컨테이너 방식으로 해결하는 것이 가장 안전한 방법이지만, 이미 설계가 완료 된 프로젝트의 경우 위와 같은 방법으로 해결을 할 수 있었다.

Redis refuse관련 에러 처리

본 글은 EC2환경에서 Redis서버를 설치하여 Sentinel을 구성하던 중 발생한 에러 처리 과정을 담음. Master-Slave 'refused' 관련 에러 AWS환경에서 보안그룹은 이러한 상태로 구성했다. *Master쪽 Redis서버에서는 다음과 같이 IP주소를 열어준다. $ vi /etc/redis/redis.conf # 기존 주소 bind 127.0.0.1 ::1 # 변경 주소 bind 0.0.0.0 ::1 단, 이렇게 모든 IP에 대해 열어주어서 해킹을 당한적이 있으므로 패스워드를 설정했다. 1. Master쪽 패스워드 설정 $ vi /etc/redis/redis.conf # 설정파일 수정(패스워드설정) requirepass 2. Slave쪽 패스워드 설정 $ vi /etc/redis/re..

리눅스 터미널 명령어 모음

1. 디렉토리 이동종류 1-1) 현재 디렉토리: cd . 1-2) 한단계 상위: cd .. 1-3) 최상위 디렉토리: cd / 1-4) 사용자 홈 디렉토리 : cd ~ 혹은 cd ~/ 1-5 이전경로 : cd - 2. 디렉토리 모든목록 상세조회 : ls -al 혹은 ll 3. 복사 : cp [파일] [뉴파일] 4. 파일제거 : rm [파일] 5. 터미널창초기화: clear 6. 파일내용 출력: cat [파일] 7. 파일편집기 오픈: vi [파일] - 에디터옵션 7-1) 현재커서 위치부터 입력, 탈출 : i , ESC키 7-2) 에디터 닫기 : :q! 7-3) 변경내용저장후 닫기 : :wq 8. 파일권한변경 : chmod [옵션] [파일명] 8-1) [옵션 7구성] : rwx(읽기쓰기실행) 4+2+1 8-..

"JAVA" 백엔드 개발자 로드맵

2024.03.02 - [코딩테스트/취업&코테 정보] - 2024 개발자 부트캠프 무엇을 해야하나? 2024.02.25 - [코딩테스트/취업&코테 정보] - (2024.02)개발자 '연봉 5000만원'을 목표로 잡지 말자 이것이 자바다 | 신용권 - 교보문고 이것이 자바다 | JAVA 17 버전으로 업그레이드해서 돌아왔다! 7년 동안 꾸준히 사랑받은 자바 베스트셀러 1위, 『이것이 자바다』 개정판!『이것이 자바다』는 기본 개념에 충실한 설명으로 2015년 product.kyobobook.co.kr JDBC를 도와주는 라이브러리는 1. ORM 중 대표적인 hibernate 2. Mybatis 사용한다. JSP는 Tiles를 공부하면 화면에 중복되는 부분을 처리하는데 도움 준다. 2021 자바 개발자 로드맵..

Nexus 3.xx 설치/실행 오류 해결(Windows 환경)

-설치법- 준비작업 Java JDK 사전 설치(8버전 권장) 다운로드 : https://www.sonatype.com/download-oss-sonatype Windows 설치하기 압축해제 다운로드 받은 설치 파일을 적당한 폴더에 압축을 해제한다. 해당 위치의 CMD창에서 관리자 권한으로들어간다. (관리자 권한으로 접속하지 않을 시 뜨는 에러: Could not start service. Error code: 5) cd를 통해서 nexus-(설치한버전)\bin 위치로 들어가서 nexus.exe /install nexus.exe /run -오류 해결방법- 1. nexus.exe /start 오류 nexus is starting... Windows11 환경에서 시도했는데 위와 같은 오류로, 넥서스가 계속 실..

[SpringBoot] java record와 DTO에 관하여...

SpringBoot에서 Input, Output처리에 대해 정의하는 글이다. VO(Value Object) : 불변값 -> 따라서 return값으로 사용(수정X) DTO(Data Transfer Object): Getter/Setter 자유롭게 사용(수정O) (암기는 DTO가 T가 들어있으니 geTTer/seTTer 를 사용한다고 생각하면 된다.) Client한테 받을때(수신정보) : BO(Business Object) Server에서 보낼때(송신정보) : VO(Value Object) 흔히 위 객체를 InputVO, OutputVO로 혼동해서 쓰는데, 사실 여기서는 Ouput일때는 BO로 쓰는것이 조금 더 명확한 표현이라 할 수 있다. *BO(Business Object) : 비즈니스 로직을 포함하는 ..

Spring Data JPA 페이징

Spring Data JPA 에서 페이징 및 슬라이스에 대해 알아보겠다. Paging(페이징) 페이징을 하기 위한 메소드는 아래와 같이 구성한다. public interface MemberRepository extends Repository { Page findByAge(int age, Pageable pageable); } data : 5, offset : 3 으로 나누는것을 아래처럼 보여준다. @Test public void page() throws Exception { //5개의 데이터 given memberRepository.save(new Member("member1", 10)); memberRepository.save(new Member("member2", 10)); memberReposito..