분류 전체보기 63

[ERROR] variable name not initialized in the default constructor

SpringBoot 사용 시 이런 에러를 마주할 때가 있다. 나같은 경우는 @RequiredArgsConstructor 어노테이션을 사용하면서 발생한 에러인데, 이 에러는 lombok 의존성과 관련된 에러였다.  프로젝트 내 build.gradle > Lombok의 의존성이 올바르게 추가되었는지 확인( Lombok은 Gradle의 버전별로 의존성을 추가하는 방법이 다르다. ) // lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' implementation 'org.projectlombok:lombok:1.18.26' 처음엔 implementation만 추가했더니 발생했던 오류. compi..

error 2024.09.03

[DP (Dynamic Programming)] 백준 11726 - 2xN 타일링

다이나믹 프로그래밍은 한 문제를 풀 때 반복적으로 계산되는 불필요한 과정을 방지하기 위해 한문제당 한번만 계산하여 문제를 푸는 방식을 말한다. 방식은 "메모이제이션"이라는 값을 저장하는 방법을 사용하는데, 다이나믹 프로그래밍의 대표적인 예는 '피보나치 수열'이 있다.public class DynamicProgramming { public static int dp(int x){ if(x == 1) return 1; if(x == 2) return 1; return dp(x-1) + dp(x-2); } public static void main(String[] args) { System.out.println(dp(10)); }}10을 넣..

algorithm 2024.09.03

[Programmers] [코딩테스트 입문] 배열의 유사도, 제곱수 구하기, 모음 제거

배열의 유사도 (120903)class Solution { public int solution(String[] s1, String[] s2) { int answer = 0; for(int i =0; i 초기 코드는 문자열인데 if( s1[i] == s2[j] ) 와 같이 적어서 통과하지 못했다   제곱수 구하기 (120909)class Solution { public int solution(int n) { int answer = 0; for(int i =0; i   모음 제거 (120849)public class Main { public static void main(String[] args) { String answer = ..

algorithm 2024.09.03

[Programmers] [코딩테스트 입문] 최댓값 만들기, 삼각형의 완성조건, 문자열 안에 문자열

최댓값 만들기(1) (120847)class Solution { public int solution(int[] numbers) { int answer = 0; for (int i = 0; i 나는 위 사진과 같은 방법으로 이중 for문을 사용하여 i * j 값이 가장 큰 값을 answer 변수에 저장하는 방식으로 풀이했다.그렇게 되면 모든 수가 한번씩 곱해질 수 있다.   삼각형의 완성조건(1) (120889)// sides 배열 오름차순으로 정렬// sides.length - 1번째를 가장 큰 값으로 지정// 나머지 값들은 sum+= 을 이용하여 더해준다.// 그렇다면 배열의 순서와 값의 크기 상관없이 문제를 풀 수 있다.import java.util.*;class Sol..

algorithm 2024.09.03

[Programmers] [코딩테스트 입문] 두 수의 나눗셈, 특정 문자 제거하기

두 수의 나눗셈 (120806)class Solution { public int solution(int num1, int num2) { int answer = (int) ((double)num1/num2 * 1000); return answer; }}자료형 중 실수에 대하여 기본적인 지식이 있어야 풀 수 있었던 문제이다.괄호 위치도 중요했던 문제인데, 처음엔 (double)num1/num2*1000 와 같이 작성해서 답으로 1000이 계속 나왔다. 다시 짚어보는 float과 double의 차이점float - 4byte (32bit)double - 8byte(64bit) double이 좀 더 큰 숫자를 표현할 수 있다.    특정문자 제거하기 (120826)class S..

algorithm 2024.09.03

[AWS RDS] RDS 생성 및 연결 ( +보안그룹 변경 )

프리티어로 진행, t2.micro 사용, 퍼블릭 액세스 가능으로 진행RDS 생성 후 파라미터 그룹 설정아래 블로그에 정말 자세하게 나와있어서 참고하여 생성하였다.https://velog.io/@shawnhansh/AWS-RDSmySql-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0 AWS RDS(mySql) 프리티어 생성하기AWS 프리티어 뽕 뽑으려면 DB까지,,,💫velog.io RDS 생성 후 보안 그룹 default 변경하기데이터베이스 생성 후 엔드포인트를 host에 입력하여 연결하려 했지만 Timeout 에러가 떴다.나같은 경우는 생성하고 난 뒤 보안그룹을 변경해주는 작업을 따로 진행해주었다. 보안그룹 탭으로 ..

study 2024.09.03

[ERROR] No database selected

편하게 테스트하려는 목적으로 intellij 에서 mysql을 연결하여 프로젝트를 진행하려던 도중,docker를 이용해 mysql server를 설치하고 플젝을 실행하려니 오류가 났다,, 그래서 아래 링크를 참고하여 한단계 한단계 해결하는데https://medium.com/tech-learn-share/docker-mysql-access-denied-for-user-172-17-0-1-using-password-yes-c5eadad582d3 [Docker][MySQL]Access denied for user ‘’@’172.17.0.1'(using password: YES)Problem: Using $ mysql or mysql-workbench or navicat15 or SQLPro for Mysql ..

error 2024.09.03

[Docker] MySQL설치 및 intellij에서 접속하기

docker 설치 ( 난 M1 이기 때문에 Apple chip 사용 )https://www.docker.com/products/docker-desktop/ Download Docker Desktop | DockerDocker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!www.docker.com 도커를 실행하면 위에 도커 아이콘이 뜨게 되는데 , 그러면 이제 터미널에서 버전을 확인해보자버전도 잘 뜨는 것을 확인할 수 있다. 이제 mysql server를 설치해보자참고 블로그https://poiemaweb.com/docker-mysql  Doc..

study 2024.09.03

WebSocket

Websocket- 주로 채팅- 연결 종료시 까지 양방향 통신- 클라이언트와 서버간의 TCP 연결을 길게 유지하고, 서로 양방향으로 데이터를 전달하게 해주는 통신 규약의 일종- 연결이 끊어졌을 때 다시 붙이는 작업이 필요함 sse- 주로 알람- upgrade 하자 (웹소켓) 라고 하는 요청을 handshake 요청이라고 한다.  Spring TextWebSocketHandler 상속받아서 사용- 데이터형태는 byte 형태 @Slf4j@Componentpublic class SimpleChatHandler extends TextWebSocketHandler { // 현재 연결되어 있는 클라이언트를 관리하기 위한 리스트 private final List sessions = new ArrayList..

study 2024.09.03

(230627) AOP

관점 지향 프로그램 ( Aspect Oriented Programming )여러 비즈니스 로직에 동일하게 작동되는 기능을 만들어 본다면?- 메소드 실행의 걸린 시간- 메소드의 반환값 등서로 다른 비즈니스 로직이 공통적으로 가졌으면 하는 기능 → 횡단 관심   spring-boot-starter-aop 의존성은 start.spring.io에서 찾을 수 없고 수동으로 추가하면 잘 작동한다build.gradle - dependencies - 의존성 추가// aop 추가implementation 'org.springframework.boot:spring-boot-starter-aop' Aspect : 횡단 관점을 모은 모듈로, 공유 기능들을 가졌으면 하는 관점Join Points : 합류 가능한 지점, 특정 적..

study 2024.09.03