일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Unity Editor
- Unity IAP
- docker
- OverTheWire
- Git
- --watch
- screencapture
- spread 연산자
- nodejs
- Packet Network
- Camera Movement
- react
- Camera Zoom
- java
- critical rendering path
- css framework
- express
- MySQL
- Google Refund
- server
- mongoDB
- unity
- linux
- Google Developer API
- rpg server
- SDK upgrade
- Digital Ocean
- Spring Boot
- draganddrop
- springboot
- Today
- Total
목록java (7)
우당탕탕 개발일지
배포하기 위해서는, 로컬환경과 배포환경 시 서로다른 세팅을 적용해야한다. 이를 위해 profile 을 사용한다.개발 단계에서는 메모리에 가볍게 저장/휘발되는 H2DB 를 사용한다. 변경사항이 많기 때문에 테이블을 신경쓰지 않고 개발이 가능하다. ddl-auto 옵션을 활성화 하면 테이블이 자동으로 생성된다.릴리즈버전에서는 mysql 버전을 사용하도록 profile을 설정한다. build.gradle에 implements를 추가한다.implementation 'com.h2database:h2' application.yamlspring: config: activate: on-profile: dev datasource: url: "jdbc:h2:mem:library;MODE=MYSQL..
실습 library db에는 user테이블과 book테이블, 그리고 어떤 유저가 어떤 책을 빌렸는지 정보를 저장하는 user_loan_history 테이블이 있다. user_loan_history 테이블은 아래처럼 생겼다.create table user_loan_history( id bigint auto_increment, user_id bigint, book_id bigint, is_return tinyint(1),) SQL대신 ORM을 사용하게 된 이유 중 하나는, DB테이블과 객체의 패러다임이 다르기 떄문이었다. Java는 객체지향형 언어이고, 대규모 웹 어플리케이션을 다룰 때에도 객체지향적인 방법이 어울린다. 현재 코드를 조금 더 객체지향적으로 업그레이드 하는 방법을 알아보자..
지금까지는 아래처럼, 문자열에 SQL 구문을 직접 적었다. 이런 방식은 여러가지 문제가 있다. public boolean isUserNotExist(int uid){ String querySQL = "select * from user where id = ?"; return jdbcTemplate.query(querySQL, (res,rowNum)->0,uid).isEmpty(); } 실수할 가능성이 많고, 실수를 인지하기 힘들다 . 문자열에 오타가 날 경우, 컴파일 시점이 아니라 런타임 시점에 발견되기 때문이다.특정 데이터베이스에 종속되게 된다. 상황에 따라 DB가 변경될 수 있는데, 만약 db가 변경될 경우, 모든 코드를 재작성해야한다.반복작업이 많아진다. CRUD 쿼리는..
리팩토링하기이전에 UserController 에서 유저생성, 조회, 수정,삭제 API를 구현하였다. 이것을 리팩토링 해보고, 스프링컨테이너에 대해 알아보자. 컨트롤러에서 하던 작업들은 다음 3개로 분리될것이다.Controller : API의 진입지점으로써 HTTP Body를 객체로 변환한다Service : 현재 유저가 있는지등을 확인하여 예외처리 진행Repository : SQL을 사용해 실제 db와 통신을담당. 총 3개의 역할군으로 나누어서 작업을 하도록한다. 그럼 각 코드를 보도록 하자UserController.java@RestControllerpublic class UserController { private UserService userService; public UserControll..
Database 기본mysql 에 접속한다. 터미널을 열고,mysql -u root -p사용가능한 명령어들을 알아보자.아래 언어들은 DDL (Data Definition Language) 라고한다.create database [name]; ##데이터베이스 생성show databases; ##데이터베이스 목록보기drop database [name]; ##데이터베이스 삭제use [database-name]; ## 데이터베이스 접속## 데이터베이스 안으로 들어왔음.show tables; ##테이블 조회create table [테이블 이름]( [필드이름] [타입] [부가조건], ... primary key ([필드이름]));]drop table [테이블이름]; ##테이블 제거SQL 을 알아보자CRUD (Cre..
0. Java에 대한 이해C언어는 운영체제별로 컴파일러가 따로 있다. Java는 컴파일러가 한개고, 각 운영체제에 맞는 JVM이 각 운영체제가 이해할 수 있도록 재변환작업을 거친다. Java는 한번만 결과물을 만들어놓으면 운영체제에 상관없이 모두 동일한 결과를 만들 수 있다. 이 JVM은 인기가 많아서 다른 언어에서도 사용한다. java의 버전 = jdk 버전이다.JDK > JRE > JVM - java virtual machine : java 가상머신. 운영체제별로 각각 존재한다. 컴파일러가 만든 바이너리 코드를 읽고 검증하고 실행하는 역할을 한다-java runtime environment : jvm + java program . 실행에 필요한 라이브러리 파일을 포함하고있다.-Java Devel..