JDBC(2)
·
데이터베이스
JDBC API JDBC를 이용한 DB 연동JDBC Driver Class 로딩 (JDBC 4.0 이후 버전부터 생략 가능)Connection 생성Statement 생성SQL 실행결과 집합 처리자원 반납Step 1. JDBC Driver Class 로딩이 단계에서는 데이터베이스와 통신하기 위한 ‘드라이버’를 준비하는 작업을 합니다.자바 애플리케이션이 “MySQL 드라이버를 쓰겠다”라고 등록(로딩)하면,이후 DriverManager가 이 드라이버를 이용해 실제 DB와 연결을 맺을 수 있게 됩니다.즉, 운전사를 고용해서 “이제 이 운전사로 DB에 갈 거야”라고 말해두는 단계라고 생각하면 됩니다. 위와 같은 작업은 진행하면, DBMS와 연결을 수립해주는 역할의 JDBC Driver Class 메모리에 로딩 및..
JDBC(1)
·
데이터베이스
목차1. JDBC2. JDBC API3. DAO 디자인 패턴4. JDBC와 트랜잭션  Java DataBase Connectivity (JDBC)sun 회사에서 개발 유지 보수하기 쉽도록 자바 애플리케이션에서의 DB 접근 및 사용 방법에 대한 표준화 필요성 부각 자바 애플리케이션과 DB와의 의존성을 낮추고 독립성을 필요 표준화된 인터페이스 제공java.spl 패키지이 그림은 자바 애플리케이션이 JDBC라는 통로(라이브러리)를 통해 오라클, MySQL, DB2 같은 여러 데이터베이스에 연결하는 모습을 간단히 보여줍니다.자바 프로그램에서 JDBC를 사용하면, 각 데이터베이스마다 제공되는 JDBC 드라이버(구현체)를 통해 손쉽게 연결하고 데이터를 주고받을 수 있습니다.결국, 자바 애플리케이션은 JDBC만 알면..
Baekjoon - 피보나치 함수
·
코딩테스트 연습
https://www.acmicpc.net/problem/1003 문제의 조건은 N이 주어졌을 때, fibonacci(N)을 호출했을 때, 0과 1이 각각 몇 번 출력되는지 구하는 프로그램을 작성하는 것이다. 그리고 제한 시간이 0.25초 라는 것을 명심해야 한다. 문제에서 주어진 대로 재귀 함수로 구현한다면 시간초과가 뜬다.  찾아보니깐 방법이 두가지가 있었다. 1. 메모이제이션2. DP(동적프로그래밍) 이 글에서는 메모이제이션에 대해서 설명하겠다. 피보나치란?피보나치 수열은 F(n) = F(n-1) + F(n-2)의 형태로, 이전 두 수의 합이 현재 수가 되는 수열입니다. 기본 값: F(0) = 0, F(1) = 1예시: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...재귀로 구현했을 때 문..
Baekjoon - 어린왕자
·
코딩테스트 연습
https://www.acmicpc.net/problem/1004 GPT한테 물어보니 DFS/BFS로 어렵게 풀더라 그래서 나는 그냥 단순 구현으로 풀 수 있겠다 생각해서 그렇게 풀었다. 출발점과 도착점 사이에 몇 번의 행성계를 진입하고 이탈해야 하는지 구하는 문제다. 각 행성계는 원으로 주어지며, 두 점이 원의 내부에 있는지 여부를 확인하여 진입/이탈 횟수를 계산할 수 있따. Algorithm각 행성계에 대해 출발점과 도착점이 그 행성계를 포함하는지 여부를 확인합니다.출발점과 도착점이 같은 행성계에 대해 포함되거나 포함되지 않는지 여부를 체크합니다.출발점과 도착점의 상태가 다르면 진입/이탈이 발생한다고 판단하고, 그 횟수를 계산합니다. Code#include #includeusing namespace ..
SW Expert Academy - 22795. 일곱 부하의 평균 D3
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AZND_Dyq8SUDFAWB&categoryId=AZND_Dyq8SUDFAWB&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 잃어버린 난쟁이는 나머지 난쟁이 보다 무조건 크다는 조건을 예외 처리 해주는게 킥이거덩여 import java.util.*;class Solution { ..
세션과 JWT의 차이
·
SpringBoot
면접에서 웹 페이지를 구현할 때 인증 시스템을 어떻게 설계할 건가요? 라고 물어본다면 뭐라고 대답을 할 것인지 고민해 본다. 나는 세션은 다뤄본적이 없어서  JWT를 사용한다고 말할 것이다. 물론 이렇게 대답하면 무조건 면접에서 떨어진다.   이 질문은 초보자와 숙련된 개발자 모두에게 일반적으로 묻는 질문이다. 특히 이력서에 JWT를 언급한 경우 더욱 그렇다. 그러면 어떤 대답이 정답일까?기업들은 어떤 답변을 기대하고 있을까? 이 질문에 대한 완벽한 답변을 해주는 좋은 글을 발견해서 기록해본다. 세션과 JWT의 진정한 트레이드오프는 무엇이며, 어떤 상황에서 어떤 선택을 해야 하는지 알려주는 글이다. 세션 기반 인증세션 기반 인증은 서버 측에 세션 정보를 저장하고 사용자에게 세션 ID를 제공하여 요청을 인..
SpringBoot 잡동사니
·
SpringBoot
해당 카테고리는 내가 springboot를 공부하면서 기록하고 싶은 모든 것들을 남기는 공간이다. 내 생각을 적을 수도 있고, 인용해서 가져올 수도 있고, 직접 경험한 것을 공유 할 수도 있다. 매우 기대가 된다..
SW Expert Academy - 2001. 파리 퇴치 D2
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq&categoryId=AV5PzOCKAigDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com문제에 앞서서 누적합이 무엇인지 알아보았다. 누적합 알고리즘 간단 설명누적합은 배열에서 특정 구간의 합을 빠르게 구하려고 각 인덱스까지의 합을 미리 계산해 ..
SW Expert Academy - 1204. 최빈수 구하기 D2
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com Java 로 코드를 짜보니깐 next()랑 nextLine()을 하나만 골라서 사용하는게 편하다는 생각을 했다. 다음부터 통일 시켜서 구현해봐야지. 최빈수..
SW Expert Academy - 22979. 문자열 옮기기 D3
·
코딩테스트 연습
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AZPOBiaqNo8DFAWB SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com코딩에 앞서  java 초보인 만큼 코드를 작성하면서 고려한 사항과 적용한 함수에 대해서 작성합니다.java는 다른 언어들에 비해서 문자열과 정수를 입력받는데 개념을 확실히 해야된는 것 같다. 1. 문자열 입력next(): 공백을 기준으로 단어 하나만 입력받음.nextLine(): 한 줄을 통째로 입력받음. 공백 포함.주의사항next()와 nextLine()을 함께 사용할 때, 예상치 못한 동작을 할 수..