| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 인텔리제이 한글 깨짐 해결법
- break문
- 메서드
- 집합관계
- this예약어
- 인텔리제이 기초 설정
- multi-threading
- 자바 멀티스레딩
- 생성자
- java변수
- 반복문
- OPP개념
- 시스템 환경 변수 편집
- 연관관계
- Java데이터 타입
- Thread
- 형 변환
- function
- continue문
- 메서드 오버로딩
- IntelliJ IDEA
- JAVA객체지향
- for문
- 상수
- Java
- JAVA기초
- 접근제어지시자
- 컴파일
- While
- 포함관계
- Today
- Total
목록Java (85)
최원종의 개발 블로그
만드는 기능기능 목록: 도서 관리 : 추가, 목록 조회, 제목 검색, 학생 관리 : 등록, 목록 조회, 로그인 대출/반납 : 대출 처리, 반납 처리, 대출 중인 도서 조회규칙규칙: - main 브랜치에 직접 push 금지 - 기능 완성 후 PR 생성 → github -> self-review(팀원리뷰) → main 에 merge - 커밋 메시지는 영문 소문자 + 한글 설명 병행 - 하나의 커밋 = 하나의 논리적 변경자주 하는 실수 및 해결법커밋 메시지 오타 (push 전)git commit --amend -m "feat: add BookDAO - addBook method"커밋을 되돌리고 싶을 때 (단 PUSH 전)git reset HEAD~1 ..
배운 개념 확인Connection → DB 와의 연결 통로PreparedStatement → SQL 을 DB 에 전달 (파라미터 바인딩, SQL 인젝션 방지)ResultSet → SELECT 결과를 담는 그릇CRUDCreate → INSERT : 새 데이터 추가Read → SELECT : 데이터 조회Update → UPDATE : 기존 데이터 수정Delete → DELETE : 데이터 삭제모든 데이터 관련 작업은 이 네 가지 중 하나입니다.쇼핑몰에서: 회원가입 → INSERT 상품 목록 조회 → SELECT 회원 정보 수정 → UPDATE 회원 탈퇴 → DELETE실습 준비-- 테이블이 없다면 아래를 실행하세요create database..
실습 코드package ch02;import java.sql.*;public class Step1Statement { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/shop?serverTimezone=Asia/Seoul"; String user = System.getenv("DB_USER"); // 환경변수에 저장되어있음 String password = System.getenv("DB_PASSWORD"); // 환경변수에 저장되어있음 try (Connection connection = DriverManager.getConnection(url, use..
JDBC는 자바 프로그램이 데이터베이스(DB)와 연결되어 데이터를 주고받을 수 있게 해주는자바 표준 인터페이스(API)를 말한다. JDBC의 필요성MySQL, Oracle, PostgreSQL 등 수많은 데이터베이스가 있는데 JDBC가 없다면,개발자는 각 데이터베이스마다 서로 다른 접속 방식과 쿼리 전송 방법을 따로 공부해서 구현해야 한다JDBC는 이를 하나로 통합하여, 어떤 DB를 쓰든 동일한 자바 코드(메서드)로 조작할 수 있게 해 준다JDBC의 주요 구성 요소 JDBC API: 자바 애플리케이션에서 DB에 접근하기 위해 사용하는 인터페이스 집합 (java.sql, javax.sql 패키지)JDBC Driver: 각 DB 제조사(Oracle, MySQL 등)에서 JDBC 인터페이스를 자기들의 DB에 ..
메서드">역할 (Action)">바디(Body)e">멱등성*QZF">주요 응답 코드비유GET">조회 (Read)">Xe">YesQZF">200 (OK)도서관에서 책 찾아보기POST">생성 (Create)">Oe">NoQZF">201 (Created)게시판에 새 글 쓰기PUT">수정 (Update)">Oe">YesQZF">200 (OK)헌 가구를 새 가구로 교체DELETE">삭제 (Delete)">Xe">YesQZF">200 (OK) / 204휴지통에 버리기 HTTP 구조 DTO 설계package http_client.dtos;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;@NoArgsConstructor@Datapubl..
APIAPI(Application Programming Interface)는 는 외부에서 데이터를 요청할 수 있도록 열어둔 창구우리 프로그램 ── HTTP 요청 ──► 공공데이터 서버 ◄── JSON 응답── (미세먼지, 날씨, 버스 등 실제 데이터)API 키공공 API는 무제한으로 사용하면 서버에 부하가 생김.그래서 사용자를 식별하는 API 키(Key) 를 발급받아서 요청에 포함함.요청 URL:http://apis.data.go.kr/서비스주소?serviceKey=내API키&파라미터=값 ↑ 여기에 포함실습 API 키 발급받기공공데이터 포털 사이트 (https://www...
파싱처리 HTTP 응답으로 받은 JSON 은 결국 문자열(String){"userId":1,"id":1,"title":"Java 공부","completed":false}//위 문자열에서 title 값만 꺼내려면방법 1: split(), indexOf() 로 직접 잘라내기 → 복잡하고 오류 나기 쉬움방법 2: GSON 라이브러리 사용 → 간단하고 안전 파싱(Parsing)파싱이란 문자열을 분석해서 원하는 구조로 변환하는 과정자바 객체 JSON 문자열 (toJson) 실습 준비 - GSON + Lombok JAR 추가https://chl6698.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F# 티스토리좀 아는 블로거들의 유용..
JSON 이란? JSON(JavaScript Object Notation) 은 데이터를 저장하고 전송하기 위한 텍스트 형식핵심: JSON 은 "이렇게 생긴 문자열" 입니다. 통신 방법도, 프로그래밍 언어도 아닙니다. 서버와 클라이언트가 데이터를 주고받을 때 가장 많이 쓰는 형식입니다. 자바의 MAP 구조와 비교// 자바 MapMap data = new HashMap();data.put("name", "철수");data.put("age", 25);// 같은 데이터를 JSON 으로 표현{ "name": "철수", "age": 25} JSON 기본 구조Object - 중괄호 {}키-값 쌍으로 이루어짐{ "name": "철수", "age": 25, "email": "chulsu@email.com"..
웹 동작 방식소켓 통신 (직접 연결): 프로그램 A ──────────────────► 프로그램 B (규칙을 우리가 직접 정해야 함)웹(HTTP) 통신 (약속된 규칙): 브라우저 ── HTTP 규칙 ──► 웹 서버 (전 세계가 공통으로 쓰는 규칙을 따름) HTTP는 소켓 위에서 동작함.실제 데이터 전송은 소켓이 담당하고, HTTP는 그 위에서 "어떤 형식으로 요청하고 응답할지"를 약속한 것[ 브라우저 / 우리 프로그램 ] | HTTP (규칙/약속) | TCP 소켓 (실제 통신) | 인터넷 HTTP 란?HTTP(HyperText Transfer Protocol) 는 웹에서 데이터를 주고받기 위한 통신 규칙.// 예시손님(클라이..
회원 관리 시스템 기능기능: 1. 회원 가입 (Create) 2. 회원 조회 (Read) 3. 회원 수정 (Update) 4. 회원 삭제 (Delete) 5. 전체 목록 (Read All) 세 클래스로 나눈 이유Member — "무엇을 저장하는가"데이터의 모양만 정의. id, name, email, age가 한 묶음이라는 사실을 코드로 표현한다.이 클래스는 저장 방법도, 화면 출력 방법도 모름. 데이터 구조만 담당한다.MemberRepository — "어떻게 저장하고 꺼내는가"실제 데이터 관리를 전담. save(), findById(), delete() 같은 기능이 모두 여기 있다. 사용자 입력이 어떻게 들어오는지는 관심 없고, 그냥 데이터를 받아서 보관하고 꺼내주기만 한다...