본문 바로가기

반응형

프로그래밍

(28)
Clickhouse Server Docker 설치 Clickhouse Server를 Docker를 통해 간단히 설치할 수 있다.물론, Docker를 사용하지 않아도 Clickhouse 자체의 설치는 매우 간단하다.윈도우 환경 같은 경우는 어렵기 때문에 docker를 통해 설치하는게 좋다.일단은 WSL 이 설치되어 있다는 것을 가정하고, WSL를 통해 명령어로 간단히 설치해보자. $ docker volume create clickhouse$ docker run --restart always -d -p 8123:8123 -p 9000:9000 -v clickhouse:/var/lib/clickhouse -e CLICKHOUSE_DB=test --name clickhouse --ulimit nofile=262144:262144 clickhouse/clickh..
Clickhouse - 다른 Clickhouse 서버의 table을 현재 서버로 복사하기 예를 들어, 운영서버에 있는 table을 개발 서버로 복사하고 싶을 경우가 있을 수 있습니다.Clickhouse의 경우 간단하게 할 수 있는데요.. 1. 테이블생성2. 데이터 insert 요 과정으로 진행됩니다. 먼저 복사하고자 하는 DB의 DDL문을 알아내야 합니다. SHOW CREATE TABLE databasename.tablename; 이 명령을 수행하면 결과값으로 CREATE 문을 return 해 줍니다. 이것을 그대로 새로 생성하고자 하는 곳에서 실행하면 됩니다. 이후  INSERT INTO 테이블명SELECT * FROM remote('IP주소', 'DB명', 'Table명', '계정', '비밀번호'); 이 명령어로 간단하게 복사해 올 수 있습니다.명령어 실행시 GRANT 관련 오류가 발생할..
JWT Token 생성 - Java and Javascript Java 로는 많이 만들어봤느데, javascript 로는 해보지 않아 정리해봅니다.라이브러리는 node에서 쉽게 받을 수 있습니다. const jwt = require('jsonwebtoken');const signKey = 'signkey로사용할조금긴문자열을입력합니다.';const expirationTimeInSec = 86400; // 24시간 (초 단위)function generateBasicToken(subject) { const createdDate = Math.floor(Date.now() / 1000); // 초 단위로 현재 시간 const claims = { iat: createdDate, // 발행 시간 (초 단위) exp: createdDate + ..
Spring AOP 의 JoinPoint 에서 class name, method name 얻는 방법 AOP 에서 classname 을 얻는 방법은 간단합니다.처음에 Proxy name 을 가져와서 조금 찾아보다가 다음에 잊어버리지 않기 위해 정리해봅니다. @Around("controllerPointcut()")public Object ctrlAround(ProceedingJoinPoint joinPoint) throws Throwable { String className = joinPoint.getSignature().getDeclaringTypeName(); String simpleClassName = className.substring(className.lastIndexOf(".") + 1); String methodName = joinPoint.getSignature().getNa..
Javascript Network visual 라이브러리 정리 javascript 로 네트워크 를 그리는 라이브러리에 대한 정리.계속 추가될 예정입니다. Sigma.js- https://www.sigmajs.org/- WebGL 을 사용해서 canvas 또는 svg 보다 대량의 데이터에 대한 퍼포먼스가 좋다.- 커스텀 하기가 어렵기 때문에 적은 데이터를 쓰거나 커스텀이 필요할 경우 d3.js 를 쓰는게 더 나을 수 있다.- MIT 라이선스
도커(docker) 로 Clickhouse db 설치하기 개발에 clickhouse를 사용하고 있는데 자주 설치하는 입장에서 환경 구성하기가 좀 번거로운데, docker 로 간단히 할 수 있습니다. 윈도우에서도 docker를 쓰면 가능하죠. docker hub 에 이미지가 등록되어 있기 때문에 간단히 가능합니다. 활용하는 범위에서 다시 보기 위해 정리해봅니다. 리눅스 기준 먼저 Docker가 설치되어 있지 않다면 Docker 먼저 설치 sudo curl -sSL get.docker.com | sh 그리고 사용자 계정에 docker 를 사용할 수 있는 권한 추가 sudo usermod -aG docker pduser sudo systemctl start docker 터미널을 빠져나갔다가 다시 들어가면 적용됩니다. docker ps 라고 실행했을때 정상 실행되면 ..
Java11 에서 JDBC Jar file을 동적 로딩하는 방법 개발을 진행하면서 Java11 에서 JDBC Jar file을 동적 로딩해야 하는 이슈가 생겼다. 모든 JDBC jar 를 빌드에 넣어둘 수 없기 때문에 서버 설치 환경에 따라 특정 Path 를 지정해두고 Path 내에 존재하는 모든 Jar(JDBC 라고 가정한다) 를 읽어서 Class.forName 해주는 일. Java8 에서 쓰던 코드가 있었는데 이번에 Java11 프로젝트에 같이 기능 구현하려니 동작이 안되어서... 다시 쓸지도 모르니 정리해본다. 결과적으로 정리하면 1. Jar 로드 2. JDBC driver name 탐색. (jar안에 META-INF/sources/java.sql.Driver 파일 안에 text로 classname 이 적혀있다. 3. Driver 등록 jdbc classname..
SpringBoot 웹서버 Jar 에서 resource 경로의 파일을 못 찾는 오류 SpringBoot로 개발을 진행중입니다. 예전이야 Tomcat을 썼지만, 지금은 MSA로서 jar 단독으로 서버를 실행시키고 있습니다. 예전 Tomcat을 사용했을때 문제가 없던 코드인데, gradle에서 bootJar 로 패키징했을 경우 리소스 경로를 찾는데 문제가 있습니다. File Not Found 오류가 발생하네요. 기존에는 대강 이런식으로 처리했었고요, URL res = getClass().getResource( UPDATE_SQL_PATH); URI uri = res.toURI(); FileSystem fileSystem = FileSystems.newFileSystem( uri, Collections.emptyMap()); Path path = fileSystem.getPath(UPDATE..

반응형