DB 73

[Programmers] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr CONCAT문을 이용하면 쉽게 풀 수 있는 문제였습니다. MySQL을 이용하여 풀었습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 조건에 부합하는 중고거래 상태 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr CASE 문법을 이용하면 쉽게 풀 수 있는 문제였습니다. MySQL을 이용하여 풀었습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[DB] 트랜잭션과 DB Lock 정리

데이터를 DB에 저장하는 이유: 트랜잭션 서비스를 개발하면 자연스럽게 데이터를 데이터베이스에 저장하게 되는데 한 번쯤은 아래와 같은 의문이 들 때가 있습니다. 데이터를 파일에 저장할 수도 있지 않을까? DB를 사용하는 여러 가지 이유가 있겠지만 그중 대표적인 이유는 데이터베이스가 트랜잭션이라는 기능을 지원하기 때문입니다. 트랜잭션은 직독직해하자면 거래라는 뜻이고 해당 기능은 아래에 열거할 ACID 원칙을 따르기 때문에 데이터 정합성 및 안전성을 보장해줘야 합니다. 원자성(Atomicity): 트랜잭션 내에서 실행할 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나 모두 실패하도록 처리 일관성(Consistency): 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지하며 DB에서 정한 무결성 제약 조..

DB/개념 정리 2023.03.20

[DB] Connection Pool 정리

기존에 작성한 JDBC 정리글을 먼저 읽고 오시면 내용을 이해하는데 도움이 될 것 같습니다. https://jaimemin.tistory.com/2266 JDBC 정리 JDBC란? JDBC(Java Database Connectivity)는 Java에서 DB에 접속할 수 있도록 하는 자바 API입니다. 시중에 다양한 DB가 존재하는데 각각의 데이터베이스마다 연결하는 방법, SQL을 전달하는 방법, 그리고 응답 jaimemin.tistory.com Connection Pool 데이터베이스에 연결을 할 때는 아래와 같이 복잡한 과정을 거쳐야 합니다. 비즈니스 로직이 JDBC 드라이버를 통해 커넥션을 조회 JDBC 드라이버는 DB와 TCP/IP 연결을 진행 (3 way handshake) TCP/IP 연결되면..

DB/개념 정리 2023.03.20

[DB] JDBC 정리

JDBC란? JDBC(Java Database Connectivity)는 Java에서 DB에 접속할 수 있도록 하는 자바 API입니다. 시중에 다양한 DB가 존재하는데 각각의 데이터베이스마다 연결하는 방법, SQL을 전달하는 방법, 그리고 응답을 받는 방법이 모두 상이하므로 기존에는 개발자들이 새로운 DB를 사용할 때마다 위 과정을 새로 학습하며 코드를 수정해야 했습니다. 이러한 애로사항 때문에 JDBC라는 자바 표준이 생겼고 이를 통해 개발자들은 아래의 장점을 얻을 수 있었습니다. DB 변경할 때마다 DB 접근하는 코드를 수정하는 대신 추상화된 JDBC 인터페이스 의존하여 개발 JDBC 표준 인터페이스만 학습하면 학습한 내용을 수십 개의 데이터베이스에 동일하게 적용 가능 JDBC는 대표적으로 아래와 같..

DB/개념 정리 2023.03.17

[Programmers] 조건에 맞는 사용자와 총 거래금액 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/164670 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL로 작성하였으며 서브 쿼리를 이용했습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 조건에 맞는 사용자 정보 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL로 작성하였으며 거래 상태가 판매 완료여야 합니다! 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 즐겨찾기가 가장 많은 식당 정보 출력하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL로 작성하였고 서브쿼리를 통해 푼 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 3월에 태어난 여성 회원 목록 출력하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131120 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 쿼리 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~