본문 바로가기

분류 전체보기

(87)
[java] java 코딩 컨벤션, 적절한 코딩 스타일 패키지 이름은 소문자로 구성 [package-lowercase] 패키지 이름은 소문자를 사용하여 작성한다. 단어별 구문을 위해 언더스코어(_)나 대문자를 섞지 않는다. 나쁜 예 package com.navercorp.apiGateway package com.navercorp.api_gateway 좋은 예 package com.navercorp.apigateway 자바에서 상수인 것들 자바 상수는 private static final DB 관련 상수 파스칼 케이스에서, 중간에 _ 붙여서 하기 예시) DB_URL SQL 예약어는 상수로 - select,where 이런 건 대문자로 쓰기 - 테이블 명 바꿀 때, as 붙이지 않기 코딩 스타일 인터페이스는 public 자체를 안붙인다(인터페이스라는 것 자체가 다..
[git/github] 로컬의 기존 프로젝트를 새로운 원격 github repository와 연결하기 1. 일반적인 git, github 연결 // 1. git 초기화 git init // 2. 원격 repository 연결 git remote add origin [github 주소] // 3. 원격 repository의 내용 받기 git pull origin main // 4. git add & commit git add . git commit -m "commit" // 5. push git push -u origin main "로컬의 기존 프로젝트를 유지하면서", 원격 repo와 연결하는 것이 핵심이다. 그러기 위해선, 3번 과정이 들어가면 안되는 것은 명백하다. 원격 repo의 내용이 로컬의 코드를 덮어쓸 것이기 때문이다. 2. 로컬의 프로젝트를 유지하면서, 원격 저장소 연결하기 따라서, 3번 과정..
[mysql] [JDBC] [에러] JDBC 이용하여 mysql 접속 시, "java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone ..." 문제 - timezone 관련 문제 Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. JDBC를 이용하여 mysql 접속 시 , timezone 관련 문제가 발생하였다. 현재 내 ..
[mysql] [java] java.util.Date & java.sql.Date // 자바 Date 타입 <-> 데이터베이스 timestamp 타입 간 변환 java.util.Date 년,월,일 시,분,초 를 가지고 있다. 자바가 직접적으로 사용하는 타입이다. java.sql.Date java.util.date를 상속받는다. 하지만, 값을 가져올 때 년,월,일 까지만 가져온다. 자바에서, sql로 데이터베이스에 값을 넣을 때 사용하는 타입이다. 데이터베이스 타입과 비교 자바 1. Date : 날짜와 시간(년월일 시분초) 데이터베이스 1. date : 날짜 2. time : 시간 3. timestamp(mysql은 datetime) : 날짜와 시간 데이터베이스의 timestamp -> 자바 java.util.Date - getTimestamp() 사용 - 자바의 Date 타입으로 자동으로 upper casting 된다 Date create_date = rs.g..
[mysql] DATETIME TIMESTAMP DATETIME timezone에 의존하지 않는다 즉, database의 time_zone을 변경해도 시간이 변하지 않는다. 1000-01-01 00:00:00부터 9999-12-31 23:59:59까지 지원 TIMESTAMP timezone에 의존한다 즉, database의 time_zone을 변경하면 자동으로 시간이 바뀐다! 글로벌 서비스를 위해 사용하기 좋음 1970-01-01 00:00:01부터 2038-01-19 03:14:07까지 지원
[Java] try-with-resource 리소스란? 리소스는, 프로그램이 끝난 후 닫아야 하는 개체이다. 예를 들어, JDBC를 사용하여 데이터베이스에 접근하는 경우를 생각해보자. Connection 객체를 얻고, Statement 객체를 얻고, ResultSet 객체를 얻어 작업을 완료한 후, 해당 개체들을 close()하지 않으면 안되는데, 이런 개체들을 리소스라고 한다. 아래의 코드는 JDBC를 사용하여 데이터베이스에서 role 객체를 얻어오는 부분이다. 코드 상의 finally 부분을 보면, 리소스를 닫는 코드를 작성한 것을 볼 수 있다. package com.example.jdbcpractice.dao; import com.example.jdbcpractice.dto.Role; import java.sql.*; import java.u..
[Web] WAS (1) - 미들웨어와 WAS 1. DBMS와 클라이언트 가장 초기에는, 클라이언트가 데이터를 조작하기 위해 직접 DBMS에 접근해 데이터를 조작하는 로직을 작성해야 했다. 하지만, 클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리로 인해 비용이 많이 발생하는 문제가 생겼다. 따라서, 미들웨어라는 것이 등장했다. 2. 미들웨어 미들웨어는 클라이언트와 DBMS 사이에 존재하는 서버로서, 비즈니스 로직을 담당하는 곳이라고 생각하면 된다. 즉, 미들웨어가 DBMS를 사용하는 비즈니스 로직을 담당하게 된 것이다. 이로써, 클라이언트는 입력, 출력만을 담당하게 되었다. 즉, 클라이언트는 사용자부터 입력을 받아 미들웨어에게 요청하고, 화면에 해당 결과만을 보여주면 되는 것이다. => 프로그램의 로직이 변경되더라도 미들웨어의 코드만 변..
[Java] .bin 파일에 들어있는 것 src 파일이 컴파일 되면, 클래스파일이 만들어지는데, 그것이 다 .bin으로 들어가게 된다.
자바 프로그램 컴파일 및 실행 1. 원하는 폴더에 Hello.java 파일을 만든다(텍스트 파일 새로 만들어서 .java로 저장하면 된다!) 2. 터미널 창에서, Hello.java 소스파일을 컴파일한다 javac Hello.java 아래와 같이 Hello.class 파일이 만들어진다. 3. 컴파일된 파일, 즉 클래스 파일을 실행해본다. 정리 1. java 파일 만들기 (소스파일) 2. (컴파일 하여) class 파일 만들기 3. 실행하기
Java complier, JVM, JRE, JDK Java compiler 컴파일이란? 프로그램의 소스코드를, 기계어로 바꿔주는 과정 Java compiler .java 파일인 소스코드를 .class 이라는 바이트코드(Java bytecode)로 변환한다 JDK를 설치하면 bin 에 존재하는 javac.exe를 말한다. (즉, JDK에 Java compiler가 포함되어 있다는 소리임) 실제로 test.java 파일을 javac test.java 명령어를 통해 실행하면, test.class 파일이 생성된다. JVM(Java Virtual Machine) Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 앞단에서 Java 를 실행시킬 무언가가 필요하다. 그게 바로 JVM이다. 바이트 코드(.class)를..