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

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..

Spring Data JPA @Query 활용법(JPQL, DTO)

이 글에서는 SpringBoot 환경에서 JpaRepository를 인터페이스에서 활용하는 방식과 일반 JPA 방식을 비교하는 내용을 다룬다. @Query 메서드에 JPQL 작성하는 방식 public interface MemberRepository extends JpaRepository { @Query("select m from Member m where m.username= :username and m.age = :age") List findUser(@Param("username") String username, @Param("age") int age); } @Query, 값, DTO 조회하는법 1. 단순 엔티티 호출은 아래와 같다. public interface MemberRepository exte..

Java로 배우는 디자인패턴

디자인패턴 별로 사용하는 이유에 대해서 알아보았다. 1. 반복패턴(Iterator) : for문이 아니라 Iterator를 사용하는 이유는 구현에 의존하지 않기 때문! ex) class Book{List list 선언} => class Book{Vector 선언} 으로 바꾸는 경우 for문의 구현부분도 다시 변경해야하는데, Iterator를 사용하면 이러한 구현의 변경점에 의존하지 않고 반복문을 실행 할 수 있다. 2. 어댑터패턴(Adapter) - 바꿔서 재이용하기 : 기존의 클래스를 개조해서 필요한 클래스를 만든다. 이 패턴으로 필요한 메소드를 발빠르게 만들 수 있다. 만약 버그가 발생해도 기존의 클래스에는 버그가 없으므로 Adapter역할의 클래스를 중점적으로 조사하면 되고, 프로그램 검사도 상당히..