ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password'' at line 1 mysql 8 버전 미만에서는 유저 생성, 권한 설정이 한번에 되지만 8 버전 이상에서는 불가능하다. 8 버전 미만 GRANT ALL PRIVILEGES ON team_dev.* TO user_dev@localhost IDENTIFIED BY 'password'; flush privileges; 8 버전 이상 create user user_dev@'%' identifi..
IoC (Inversion of Control) IoC는 "제어의 역전"이라는 의미로, 애플리케이션의 흐름 제어를 개발자가 아닌 프레임워크나 컨테이너가 담당하게 되는 디자인 원칙이다. 전통적인 프로그래밍에서는 개발자가 직접 객체를 생성하고, 해당 객체의 생명 주기를 관리했지만, IoC를 적용하면, 제어와 관리의 책임이 프레임워크나 컨테이너로 이동하게 됩니다. Spring에서는 IoC 컨테이너가 객체의 생명 주기 및 의존성 관리한다. 이처럼 IoC 는 클래스 내부가 아니라, 클래스 외부에서 제어권을 갖도록 하는 것을 말한다. 클래스 내부에서 객체를 생성하기 때문에 변경이 자유롭지 못하던 객체가, IoC 를 적용함으로써 외부에서 인자를 받아 변경이 자유로워졌음을 알 수 있다. 객체지향적 관점에서 보자면, I..
Access denied for user 'root'@'localhost' (using password: YES)' 입력한 비밀번호가 틀렸다는 에러 비밀번호 초기화 과정에서 발생한 문제로 새롭게 비밀번호를 초기화하기로 했다. 1. 서버 중지 mysql.server stop 2. 권한 없이 서버 재시작 sudo mysqld_safe --skip-grant-tables --skip-grant-tables 옵션: root 인증 없이 MySQL 서버에 접근할 수 있다. 3. root 계정에 접근 후 비밀번호 변경 새로운 터미널 창을 열어 MySQL을 실행한다. mysql -u root update mysql.user set authentication_string=null where user='root'; flu..
Java annotationProcessor annotation processor는 Java에서 주석(annotation)을 처리하기 위한 툴이다. 자바 컴파일러 플러그인의 일종으로, 컴파일 타임에 어노테이션에 대한 코드베이스를 검사, 수정, 생성하는 역할을 한다. 즉, 어노테이션을 사용하기 위해서는 어노테이션 프로세서가 필요하다. Annotation Processor를 사용하는 과정 1. 사용자는 코드 내에서 주석(annotations)을 사용한다. 이후 사용자는 자바 컴파일러(javac)로 코드를 컴파일하게 된다. 2. 구현: 컴파일러는 소스 코드 내의 어노테이션과 그에 해당하는 어노테이션 프로세서를 찾아 매칭한다. 이를 통해 해당 어노테이션을 처리할 수 있는 어노테이션 프로세서를 실행하게 된다. 주..
유닉스 시그널 목록 확인 아래 명령어를 입력하면 유닉스에서 지원하는 시그널 목록을 확인할 수 있다. kill -l 유닉스 시그널 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH ..
딸기잼... 포도잼.. 그리고 Google Cloud Study잼... Google Cloud Study Jam은 Google Cloud 고객사의 개발자 및 엔지니어 여러분이 더욱 수월하게 GCP에 입문하실 수 있도록 돕기 위한 프로그램입니다. 참가자 여러분은 Google Cloud Study Jam이 제공하는 Qwiklabs(실습)쿠폰을 활용해 Google Cloud의 기술을 온라인 자가 학습하실 수 있습니다! Google Cloud Skills Boost (Qwiklabs)https://www.cloudskillsboost.google/journeys Google Cloud Skills BoostQwiklabs에서는 개발자와 IT 전문가가 클라우드 플랫폼 및 Firebase, Kubernetes와 같..
리팩토링 할 코드 POST /api/v1/comment 댓글을 작성한다. 댓글 작성 API의 비즈니스 로직을 위한 전제 조건은 다음과 같다. 1. Client에서 댓글 작성을 요청한다. 2. 댓글의 구조는 원댓글-대댓글을 구별하기 위해, Comment Entity는 원댓글에 대한 필드인 OriginalComment 라는 Comment 를 가진다. @Transactional public void create(CreateCommentRequest request) { Users user = getUser(request); Posts post = getPost(request); Comment originalComment = null; if (request.getOriginalCommentId() != null)..
기능 구현한 작업 브랜치에서 원격 브랜치에 rebase 후 push 하는 법git rebase 하고 push 하면 커밋 히스토리를 깔끔하게 관리할 수 있습니다. 진행 과정1. 변경사항을 커밋합니다.git add . git commit -m "feat:new feature" 2. 작업 중인 브랜치에서 나중에 최종으로 push할 원격 브랜치를 git rebase 합니다.git checkout git rebase release 3. git rebase 동안 충돌이 발생하면, 충돌을 해결하고 rebase를 계속 진행합니다.충돌이 발생한 파일을 편집하여 충돌을 해결합니다.git add . 또는 git add 을 사용하여 충돌이 해결된 파일을 스테이징합니다.git rebase --continue를 실행하여 reba..
Dependency Injection Inversion of Control 이라고도 하는 의존성 주입(Dependency Injection) 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 외부에서 주입 받아서 사용한다. 때문에 객체는 자신이 어떤 구체적인 클래스에 의존하는지 알 필요 없이, 주입 받은 인터페이스나 클래스를 사용할 수 있다. 의존성 주입에는 3가지 방법이 존재한다. 1. @Autowired 2. Setter 3. Constructor 생성자 주입 그 중 1. @Autowired 는 권장되지 않는 방법으로, 인텔리제이에서도 Field Injection is not Recommended 라고 경고를 띄워준다. Field Injection is not Recommended. 필드 ..
1. 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정을 알아보자. // 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스다. 스프링 컨테이너는 XML 을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. 직전에 AppConfig 를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 자바 설정 클래스를 기반으로 스프링 컨테이너(ApplicationContext)를 만들어보자. new A..
- Total
- Today
- Yesterday
- Java
- java.lang.NullPointerException: Parameter specified as non-null is null
- insertMany
- array
- dto 클래스 생성자
- ChatGPT
- MultipleBagFetchException
- 문자열계산기
- 장애 대응
- Git
- JPA
- Spring Security
- Cannot construct instance of
- 추상클래스
- 배열
- addFilterBefore
- MongoDB
- ?.let
- document insert
- port
- insertOne
- Kotlin
- QueryDSL
- 스프링오류
- FetchJoin
- n+1
- checkout
- Linux
- spring boot 3
- junit5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |