[SUBSTRING_INDEX] MYSQL 쿼리로 String 의 특정 위치의 단어만 가져오기

MariaDB, MySQL DB

무슨 말인고 하니…예를들어 주소 관련 테이블이 있고, 주소가 ‘서울시 강남구 역삼동’과 같이 저장되어있을 때, 마지막의 ‘역삼동’ 이라는 단어만 추출하고 싶을 때, 사용할 수 있는 방법이다. SELECT SUBSTRING_INDEX(TRIM(address), ‘ ‘, -1) FROM addresses; SUBSTRING_INDEX을 이용하면 string을 특정 문자로 split한 후 특정 index에 해당하는 문자를 반환할 수 있다.

Continue Reading

RUST Cargo란?

Rust DEVELOPMENT IT

러스트에서 Cargo는 Nodejs의 npm, yarn이나 Java의 maven, gradle, PHP의 composer등과 같은 패키지 관리자이며 빌드 시스템이기도 하다. Cargo를 이용하면 의존성 추가하기가 쉽다. (ㅋㅋㅋ) 카고 버전 확인 카고 프로젝트 생성 위와같이 프로젝트를 생성하면 프로젝트 디렉터리 내에 Cargo.toml, src 디렉터리가 있으며, src내에는 main.rs 가 기본적으로 생성되네? TOML : Tom’s Obvious Minimal Language Rust에서 코드의 패키지는 crate라고 부른다.카고 프로젝트는 …

Continue Reading

ssh tunneling을 이용해 local port로 원격 DB에 접속하기

LINUX OSX

여러가지 이유로 DB에 바로 접속하지 못하고 SSH tunneling을 이용해야 하는 경우가 발생하게 되는데, Datagrip등의 DB Handling Tool에서는 자체적으로 ssh tunneling을 지원하지만 로컬에서 테스트할 때 사용하는 개발 언어에서 공식적으로 지원하지 않는다면 별도의 라이브러리를 사용한다던가 하는 귀찮음이 발생한다. 라이브러리 사용 시 connection이나 query execution등의 구문들도 다 바꿔주어야하니 여간 귀찮은게 아니다. (물론 connection과 execution등을 wrapping 해두었다면 한두군데만 수정하면 …

Continue Reading

ajax로 받아온 CSV 데이터 파일로 저장하기

DEVELOPMENT JavaScript IT jQuery

바로 이전 포스팅에서는 Spring Boot에서 CSV 출력하는 방법을 포스팅 했는데, 이번에는 받아온 response데이터를 JS 를 이용하여 파일로 저장하는 방법을 간단히, 코드만, 작성해본다. ajax call은 jQuery를 이용했지만 파일 저장부분은 javascript 를 이용했기에 axios를 이용하든 뭘 이용하든 간에 CSV 데이터를 파일로 저장시에 활용 가능한 코드이다.

Continue Reading

Spring Boot에서 CSV 출력 기능 만들기

Kotlin Spring Boot DEVELOPMENT IT

테이블의 데이터를 CSV로 출력할 일이 생겨서 이리저리 검색하다 알게된 내용을 간단히 정리한다. 이 정리는 Kotlin + Gradle 기반으로 진행한다. Dependency CSV Generator Class 위와 같이 CSV Generator의 dataToCSV 메소드에서 전달받은 dataList의 내용을 루프를 돌면서 item에 매핑하여 csvPrinter.printRecord에 넘겨준다. Controller 컨트롤러에서는 위와같이 /csv로 들어온 request에 따라 testDataService의 데이터를 모두 읽어와서 dataList에 저장하고, 이녀석을 CSVGenerator.dataToCSV에 response.writer과 함께 …

Continue Reading

Spring Boot CharacterSet 설정

Spring Boot

데이터를 CSV로 출력할 일이 있어서 디펜던시 추가하고 기능 구현을 하고 정상적으로 작동하긴 하는데 한글이 다 깨져나와서 이리저리 알아보다가 작동하는 방법을 정리한다. bean으로 필터를 등록하는 방법도 있겠지만, application.properties에 설정 해주는 것만으로도 캐릭터셋 변경이 가능하다. 스프링부트에서는 기본적으로 CharacterEncodingFilter가 등록되어 있다고 한다. 예전에는 다음과 같이 사용했었는데, 위와같이 입력하니 IntelliJ IDEA가 Deprecated되었다고 알려주면서 다음과 같이 사용하란다. 위와같이 추가해주고, 다시 …

Continue Reading