[DEV] 기록 170

[MySQL + MariaDB] 날짜를 기준으로 파티셔닝

개요 분 단위로 쌓이는 통계 정보를 저장하는 테이블을 생성했고 데이터가 엄청 많이 쌓일 것이기 때문에 월별로 테이블 파티셔닝을 진행했습니다. 기존에 작성한 PostgreSQL 테이블 파티셔닝과 살짝 다른 점이 있어 별도로 정리해봤습니다. https://jaimemin.tistory.com/1913 [PostgreSQL] 월별로 DB 파티셔닝 예제 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을 진행했고 진행 jaimemin.tistory.com 1. 파티셔닝 지원 확인 우선, 현재 MySQL 버전이 파티셔닝을 지원하는지 확인을 해야 합니다. 제가 알기로는 MySQL 5.7 ..

[DEV] 기록 2022.07.21

[MySQL] 서버 timezone 한국으로 변경하기

개요 로컬 데이터베이스 테이블 내 datetime 타입 칼럼에 NOW()를 넣으면 한국 시간 기준이 아닌 UTC+0 기준으로 들어갔습니다. (우리나라는 UTC+9) 다행히 jwkim96님 게시글에 서버 타임존을 변경하는 방법이 자세히 설명되어있었고 해당 내용을 간단하게 정리해보겠습니다. https://jwkim96.tistory.com/23 [MySQL] mysql server timezone 한국으로 설정하기. timezone이란? 한국은 표준시(대한민국 표준시 - KST)를 하나의 시간대(timezone)만 사용하지만 미국처럼 영토가 넓은 국가들은 timezone이 여러개 있습니다. 또한 각 타임존 역시 2종류로 나누어 집니다. jwkim96.tistory.com Timezone 변경 방법 1. 아래..

[DEV] 기록 2022.07.21

[Git] 브랜치명 변경하는 방법

개요 feature 브랜치명을 변경해야 해서 방법을 찾아봤더니 stackoverflow에 잘 정리된 게시글이 있었습니다. 브랜치명 변경하는 방법 1. 현재 로컬 브랜치명 변경 git branch -m 2. 변경된 로컬 브랜치를 push 하여 upstream 브랜치를 재설정 git push origin -u 3. 기존 원격 브랜치를 삭제 git push origin --delete 출처 https://stackoverflow.com/questions/6591213/how-do-i-rename-a-local-git-branch How do I rename a local Git branch? How do I rename a local branch which hasn't been pushed to a remot..

[DEV] 기록 2022.07.18

SQLite DB 사용기

개요 현업에서는 주로 MariaDB나 PostgreSQL을 사용했는데 이번에 개인적으로 간단한 프로젝트를 하고 싶어 로컬 파일로 데이터베이스를 관리하는 SQLite DB를 사용해봤습니다. Dokon Jang님 포스팅을 많이 참고했고 자세한 설명은 아래 블로그를 방문하시면 확인하실 수 있습니다. https://docko.tistory.com/entry/Java-SQLite-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 Java - SQLite 데이터베이스 사용하기 안드로이드 개발 시 SQLite 데이터베이스를 자주 활용하고 했습니다. Java Application에도 SQLite 데이터베이..

[DEV] 기록 2022.07.10

[Java] "No suitable driver found for jdbc:sqlite"

개요 Maven 저장소에서 org.xerial:sqlite-jdbc jar를 다운로드했음에도 불구하고 DB에 연결 시도할 때 아래와 같은 메시지가 발생했습니다. "java.sql.SQLException: No suitable driver found for jdbc:sqlite" 해결 방법 우선, Maven 저장소에서 jar 파일을 정상적으로 다운받았는지 확인해야 합니다. Intellij 기준 프로젝트 구조 내 External Libraries에 pom.xml에 등록한 jar 파일이 있는지 확인합니다. External Libraries에 있는데도 불구하고 계속 동일한 에러가 발생한다면 DB에 연결하기 전에 Class.forName("org.sqlite.JDBC"); 구문을 추가해줍니다. 참고 https:/..

[DEV] 기록 2022.07.10

[Java] 위도, 경도 간 실제 거리 구하는 방법

개요 현재 위치 기준 가까운 순서대로 나열하기 위해 위도, 경도 간 실제 거리를 구해야 했습니다. 저는 clean_h님 블로그 글을 참고하여 아래 코드를 작성하였고 자세한 설명은 아래 블로그를 방문해서 봐주시면 될 것 같습니다. https://se-jung-h.tistory.com/entry/%EC%9E%90%EB%B0%94intelij-%EC%A2%8C%ED%91%9C%EC%9C%84%EB%8F%84%EA%B2%BD%EB%8F%84%EB%A1%9C-%EC%8B%A4%EC%A0%9C-%EA%B1%B0%EB%A6%AC-%EA%B5%AC%ED%95%98%EA%B8%B0?category=839321 자바(intelij) / 좌표(위도,경도)로 실제 거리 구하기 위도, 경도 지구는 위도와 경도로 나타낼 수 있다..

[DEV] 기록 2022.07.10

[Maven + Tomcat] 메이븐 빌드 후 톰캣에 war 배포하는 방법

개요 개발한 프로젝트를 dev 환경에서 테스트해보기 위해 EPC에 배포를 진행해야 했습니다. 이에 따라 Maven 빌드를 진행하여 war 파일을 생성하고 EPC 톰캣 내 ROOT.war 파일과 바꿔치기하여 배포를 진행하였고 해당 과정을 간단하게 공유해보겠습니다. Maven Wrapper를 통해 war 파일 생성 A. Maven과 Maven Wrapper란? Maven은 Gradle과 같이 build tool 중 하나입니다. Maven Wrapper는 개발자들이 Maven을 별도의 환경에서 개발할 때 local machine에 별도로 설치를 원하지 않거나 Maven의 특정 버전을 통해 빌드하길 원할 때 사용됩니다ㅣ. 즉, Maven Wrapper를 사용할 경우 특정 버전 혹은 개발 환경에 의존하지 않고 독..

[DEV] 기록 2022.06.02

[linux] linux 명령어 정리

명령어 효과 ls 현재 디렉토리 내 파일/디렉토리 나열 ls -al 현재 디렉토리 내 파일/디렉토리 나열 및 권한 체크 alias 임시 별칭을 정의 ex) alias ls="ls --color=auto" -> ls 명령어만 입력해도 자동으로 색깔이 입혀짐 unalias 임시 별칭 해제 ex) unalias ls pwd 현재 위치한 디렉토리 위치 표시 cd 디렉토리 이동 cp 파일/디렉토리 복사 ex) cp [복사할 파일] [붙여넣기할 파일] -> 파일 내용 복사 ex) cp -r [복사할 디렉토리] [붙여넣기할 디렉토리] -> 디렉토리 복사 rm 파일/디렉토리 삭제 ex) rm [삭제할 파일] -> 파일 삭제 ex) rm -rf [삭제할 디렉토리] -> 비어있지 않은 디렉토리 삭제 mv 파일/디렉토리 이..

[DEV] 기록 2022.06.01