분류 전체보기(313)
-
git reset
main 리모트 브랜치가 yuhyeon 브랜치 시점으로 변경되어야 할 때 checkout main 브랜치로 한다음 yuhyeon 브랜치로 reset commit을 하여 force push하면 같은 커밋상태가 됩니다. reset main to this commit에서 hard를 택하면 local이 main으로 변경된 상태에서 커밋이 가장 앞선 곳으로 변경됩니다. 이후 푸시를 할 것이냐는 창이 떴을 때 force push하여 remote main을 local main의 상태와 동등한 시점을 만들어주면 됩니다. Git Doc git reset 사용법에는 총 3가지 형식이 있습니다. 로부터 엔트리를 복사해 인덱스에 반영하는 것이 있고, 마지막 방식은 현재 브랜치 HEAD를 으로 옮기고 인덱스와 워킹 트리를 일치..
2021.07.01 -
(3) JSONArray & JSONObject
JSON은 언어간의 변환이 자유로운 자료구조 입니다. 이러한 장점 덕분에 서버 - 클라이언트 HTTP 전송 시 JSON 형식으로 돼있는 경우가 많습니다. Java 기준으로 라이브러리 종류도 크게 3가지가 있는데 참고로 알아두면 좋을 것 같습니다. JSON (참고링크) 용량이 큰 파일들을 처리해야 할 때가 있을 수 있는데, 이는 하둡이나 스파크 클러스터(분산 저장소로 빅데이터를 처리하는 프로그래밍 모델)로 어플리케이션을 처리할 때 사용합니다. 벤치마킹 : 대용량 파일의 경우 Jackson과 simple이 우세하지만 다수의 작은 용량을 처리할 경우 GSON과 simple이 우세하단 것을 알 수 있습니다. JSON String을 Java에서 파싱할 때 JSONObject, JSONArray 중 선택해 사용할 ..
2021.06.23 -
(2) JPA 시작
2.2 H2 DB설치 already port in use Exception : C:/Users/[username] > h2.properties 파일에서 port 설정 변경할 수 있습니다. H2 콘솔 server 실행할 때 Database "C:/Users/klyhy/test" not found, either pre-creat : JDBC URL : jdbc:h2:~/test 로 먼저 연결한다음 (DB가 설치됨) localhost를 연결합니다. 2.5 JPA 설정 교재에선 hibernate 의존을 사용했지만 스터디 프로젝트는 hiberante core, jpa가 내장된 spring-boot-starter-data-jpa를 사용합니다. spring.datasource로 시작하는 속성을 사용합니다. DB 방언..
2021.06.21 -
(1) JPA 소개
회사에서 Mybatis를 사용해 빚어지는 SQL 휴먼에러와 유지보수에 대한 어려움 때문에 JPA를 공부해 도입시키고자 스터디를 시작했습니다. 현재 5명인 스터디는 정해진 순서대로 맡은 챕터를 스터디 시간에 발표하는 방식으로 진행되고 있습니다. 요약본은 마크다운 파일로 Github 레포지토리에 커밋하기 때문에 같은 양식을 유지합니다. JPA 장점 CRUD SQL 작성할 필요가 없습니다. 성능에 대한 문제는 SQL을 직접 작성하는 것으로 보완할 수 있습니다. 네이티브 SQL로 직접 작성할 수도 있고 쿼리 힌트도 작성할 수 있습니다. 객체 중심으로 생산성과 유지보수가 확연히 좋아집니다. e.g. MySQL 데이터베이스에서 오라클 데이터베이스로 변경할 때 어렵지 않습니다. SQL을 직접 작성할 때 발생하는 문제..
2021.06.21 -
(1) MariaDB 로컬 사용자 추가
회사 DB를 로컬로 다뤄보려고 코드 내 사용자/패스워드와 로컬 DB(localhost) 연동, DB파일 로컬 export 두 가지 과정을 진행했습니다. DB는 MariaDB 기준입니다. 1. localhost 사용자 추가 혼자서 프로젝트를 만들 땐 root 사용자만 있어도 충분했기 때문에 사용자를 추가해본 적이 없었지만, 회사에 들어오니 필수가 되었습니다. 사용 툴은 DB 툴, 윈도우 기준 cmd(커맨드 프롬프트) 입니다. 저는 MariaDB를 사용했는데 MySQL Workbench와 HeidiSQL 두 가지 툴을 사용했습니다. 제가 볼 땐 큰 차이는 없습니다. DB 툴을 사용하면서 cmd까지 사용하는 이유는 root 권한 때문입니다. 새로운 사용자를 추가할 때 root 권한이 필요한 경우 (grant ..
2021.06.08 -
000. git upstream으로 다 쳐놓은 코드를 리셋시키다.
프로그래머스 실력 체크 문제 주문관리 API를 IDE로 옮겨 풀려고 코드를 클래스별로 복사했습니다. 프로젝트 환경은 spring boot initalize로 새로 생성하기가 귀찮아 기존있던 연습용 프로젝트 디렉토리를 복사해 로컬에 붙여넣었습니다. 모두 마치고 IDE 터미널을 이용해 git repo와 연동시켰습니다. 하지만 로컬 디렉토리 전체를 복사했기 때문에 .git/config 파일도 완전히 동일하단 것을 크게 주의하지 않아 git upstream을 잘못 사용해 결국 기존 프로젝트 repo가 clone되어 작성했던 코드가 모두 날라갔습니다. 근본 원인은 복붙한 .git/config 파일을 완전히 리셋해주지 않았던 것이었고 다른 원인은 git branch가 비었다는 오류가 뜨면서 push가 되지 않자 g..
2021.06.06