전체 글

🔥
오늘 한 일 스탠다드반 JPA, querydsl 세션 / spring 심화 querydsl 강의 개선 과제 querydsl 검색조건 / validation 문제 1 애플리케이션을 실행할 때마다 DB의 모든 데이터가 삭제된다. 재실행할 때 날아가던 쿼리문 더보기 alter table if exists comment drop constraint if exists FKs1slvnkuemjsq2kj4h3vhx7i1 Hibernate: alter table if exists comment drop constraint if exists FKs1slvnkuemjsq2kj4h3vhx7i1 2024-02-06T15:24:06.020+09:00 DEBUG 11196 --- [ main] org.hibernate.SQL :..
🚩Validation 읽고 다시 해보기 : https://mangkyu.tistory.com/174 🚩Spring AOP 부가기능 모듈화. spring aop 는 runtime 에 프록시를 통해 객체에 접근한다. dependency implementation("org.springframework.boot:spring-boot-starter-aop") // aop @EnableAspectJAutoProxy @EnableAspectJAutoProxy @SpringBootApplication class ToDoListApplication 어노테이션 설정 @Target(AnnotationTarget.FUNCTION) // 적용될 대상 @Retention(AnnotationRetention.RUNTIME) // ..
💬 1/30 - 회원 가입 API [ ] 닉네임, 비밀번호, 비밀번호 확인을 request에서 전달받기 [ ] 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기 [ ] 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기 => Validation 적용이 안 된다....다른거 해보고 와서 다시 해보기... [ ] 비밀번호 확인은 비밀번호와 정확하게 일치하기 [ ] 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 response에 포함하기 [ ] 회원 가입 버튼을 누르기 전, 같은 닉네임이 존재하는지 "확인" 버튼을 눌러 먼저 유효성 검증부터 할 수 있도록 해보기 [ ] ..
문제 | 배열 원소의 길이 https://school.programmers.co.kr/learn/courses/30/lessons/120854 내 풀이 class Solution { fun solution(strlist: Array): IntArray = strlist.map { it.length }.toIntArray() } map 으로 각 원소를 바로 길이로 바꿨다. 문제 | 피자 나눠 먹기 (1) https://school.programmers.co.kr/learn/courses/30/lessons/120814 다른 사람 풀이 import kotlin.math.* class Solution { fun solution(n: Int) = ceil(n/7.0).toInt() } ceil(Double) 올..
Docker 설치&실행 docker에 대한 이해 필요...... https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html docker : 컨테이너 기반의 오픈소스 가상화 플랫폼 다양한 프로그램, 실행환경을 컨테이너로 추상화하여 프로그램의 배포 및 관리를 단순하게 해준다. 컨테이너: 격리된 공간에서 프로세스가 동작하는 기술 이미지: 컨테이너 실행에 필요한 파일과 설정값 등 immutable하다!! 🚩wsl ubuntu 설치 -Hyper-V / Linux용 Windows 하위 시스템(wsl) 기능 켜기 설정하고 재부팅 해야 함!! -재부팅 후 Windows Terminal 을 관리자 권한으로 실행 강의 예시랑 다른데?! 그냥 진행해봤다. wsl -..
레벨 2 넘어가니까 푸는게 힘들어져서 레벨 0,1 다시 쌓고 올라가기 🚩 코틀린스럽게 풀어보기... 0레벨 매일 최소 3문제 문제 | 머쓱이보다 키 큰 사람 https://school.programmers.co.kr/learn/courses/30/lessons/120585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 class Solution { fun solution(array: IntArray, height: Int): Int { var answer = array.filter{it > height}.count() return answer }..
브라우저로 웹사이트에 접속할 때 도메인을 입력하면 일어나는 일들 내용 출처 : https://preamtree.tistory.com/35 , https://hello-judy-world.tistory.com/189 [IT 기술면접 준비자료] 당신이 브라우저로 웹사이트에 접속할 때 일어나는 일들 (부제: DNS 이야 당신이 인터넷으로 웹 페이지에 접속 할 때 어떤 네트워크 작용이 일어나는지 설명하는 것. "어느정도로 자세히 설명해야하는가?" 에 대한 명확한 기준은 없지만, 대학 시절 배운 지식만으로도 preamtree.tistory.com 숫자로 되어있는 긴 ip 주소는 사람이 외우기 어렵다는 단점을 가지고 있다. 그래서 ip주소를 특정 별명을 매핑 해준 것이 도메인 주소이다. DNS는 도메인 이름과 ip..
기본 파일 다시 만들어서 https://gamzzang.tistory.com/98 aws ec2 + putty 배포 시도 전제: aws ec2 인스턴스 생성하고 putty 로 접속(ppk 키는 생성완료) 1 2G 용량의 스왑 파일 생성 => 왜 2G 냐 하면 프리티어 기본 제공량 1G 관련 => 통상 스왑메모리는 기존 크기의 2배만큼 설정해준다고 한다. => 디스크 공간을 메모리처럼 활용하여 처리 속도는 떨어지나 프리티어 용량 대비 설정해주는게 훨씬 빠르다. => 나는 테스트하는 과정이라 안했지만 시스템 재부팅이 되어도 만들어진 스왑이 적용될 수있게 할 수 있다. sudo fallocate -l 2G /swapfile 2 생성한 파일에 루트 사용자만이 읽고 쓸 수 있도록 변경 sudo chmod 600 ..
· 회고
프로젝트명 : A4블라인드 프로젝트 소개 : 익명 커뮤니티 주요 기능 게시물 / 댓글 CRUD 사용자 인증 / 인가 프로필 수정 와이어프레임과 api 명세 ERD 와 Error Code 정의 ErrorCode 를 정의하고 Error 객체를 만들어 관리 => 에러 코드의 일관성 유지 => 유지보수 용이 => 프론트와의 협업 용이 패키지 구조 도메인 주도 설계 DDD 를 기반으로 한 패키지 구조 domain 하위의 post/comment service 에서 각각의 repository 만 주입받아 사용 => 각자 맡은 기능을 충돌없이 코드 작성 api 하위의 service 에서 위의 service 를 주입받고 추가로 비밀번호 로직 관리 => 낮은 결합도로 유지보수성 ↑ 트러블 슈팅 1 데이터베이스 Postgr..
ec2 로 똑같이 배포하는데 참조 블로그 빌드 속도 향상을 위해 스왑메모리 사용 참조 블로그1 참조블로그2 - 내 메모리로 할당 스왑 영역 활성화 스왑 메모리 2기가 생성 java 를 설치하려고 하는데 Unable to locate package openjdk17-jdk 라고 뜬다. sudo apt update 한 후에 다시 sudo apt install openjdk-17-jdk 하니 다운로드가 되었다. git clone 해오고 프로젝트 이름 디렉토리로 이동해서 빌드 명령을 했는데 다음과 같이 거부되었다. Permission denied 권한이 없기 때문에 권한을 주면 실행이 가능하다고 한다. chmod +x ./gradlew 기다림이 또 시작됐다. 다른 방법도 있지만 이왕 이 방식으로 시작해본거, 성..
다시은
재은로그