Home
Na's Collected Garbages
Cancel

리눅스 자주 사용하는 명령어 설치하기

최근에 Docker 에 Kafka컨테이너를 설치하여 카프카를 공부하고 있다. 도커 허브에서 이미지를 받아서 설치하는 것은 쉽고 편하지만, 도커는 경량 컨테이너 운용을 주 목표로 삼기 때문에 일상 생활에서 자주 사용하는 명령어 조차 설치되어 있지 않은 경우가 많다. 공부하는 사람 입장에서는 컨테이너 안에 들어가서 옵션이라든지, 로그라든지 이것저것 살펴...

신규 프로젝트에서 Db 스키마관리를 위한 권한분리

사업을 수주받아서 새로운 프로그램을 밑바닥 부터 만든다고 생각해보자. 문서상으로는 요구사항을 정리하고, 일정을 추산하고, 개발 인력을 확보한다. 그리고 기술적으로는 아키텍쳐나 데이터베이스의 구조를 설계한다. 마침내 모든 설계 과정을 마치고 본격적으로 개발을 시작할 수 있게 된다. 하지만, 이따금씩 설계 단계에서 놓친 부분이 발견되어 부족한 부분을...

Mybatis에서 Dynamic Query를 사용하는 방법

스프링 어플리케이션에서 mybatis를 사용하면 쉽게 DB에 쿼리를 실행시킬 수 있다. 일반적인 SELECT, INSERT, UPDATE, DELETE쿼리를 다루는 데에는 SELECT ITEM_NAME FROM ITEM WHERE PK = #{pk} 이런 식으로 #{value}에 값을 대입하도록 설정할 수 있다. 이 외에도 ${value}를 사용하...

Ssd성능과 Db성능의 연관성

서론 얼마 전 새로운 2TB SSD를 구매했다. 구매 계획은 없었으나 너무 싸게 나온 나머지 충동구매를 한 것이다. 국내 최저가로는 31만원짜리 제품이지만, 아마존에서 세일하는 것을 직구하면 15만원에 살 수 있기 때문에 컴퓨터 부품에 관심이 많은 사람이라면 그냥 지나칠 수 없는 상황이었다. 그래서 산 이후에 구매 목적을 찾는 자신을 발견할 수 있...

덤프파일 Import시 Tablespace의 여유공간이 미치는 영향

업무 특성상 오라클DB의 덤프파일을 import/export하는 일이 종종 있다. 다른 곳에서 덤프파일을 받아서 로컬에 설치된 오라클에다가 import하고, 해당 데이터를 처리하는 프로그램을 작성하여 처리한 후, 다시 덤프파일을 export해서 덤프파일을 가져온 곳으로 다시 돌려놓는게 일반적인 루틴이다. 이 때, 로컬에서 덤프파일을 import할 때...

Db User의 스키마를 쉽게 비교하는 방법

여러개의 지역에서 동일한 프로그램을 사용한다고 해도, 작업자의 부주의로 인해서 컬럼 사이즈나 not null등이 달라질 수 있다. 그런 경우에 프로그램의 무결성 유지를 위하여 기준이 되는 하나의 스키마를 세워서 통일시키는 일이 필요하다. 하지만 수백, 수천개의 컬럼들을 일일이 비교하는 데에는 상당한 무리가 따르기 때문에 아주 쉽고 간단하게 스키마를 비...

Bean이름이 충돌했을 때 발생하는 일

새로운 것을 배우는 데에 집중하면 가끔 아주 기본적인 것을 간과하는 멍청한 짓을 하기도 한다. 사직연산이 혼합된 계산식에서는 더하기, 빼기 연산은 우선순위가 낮고 곱하기, 나누기 연산은 우선순위가 더 높다는 것을 예를 들 수 있겠다. 그와 마찬가지로 코드를 작성할 때에는 변수 이름을 중복시키면 안된다는 것은 아주 자명한 상식이지만, 내가 Spring...

외국어가 깨지지 않는 폰트

PDFBox를 이용해서 PDF파일을 생성/다운로드 하는 기능이 있다. 이 때, 출력 내용에 외국어나 특수문자가 포함될 경우 오류가 발생하기도 한다. 단순히 텍스트 인코딩에서는 UTF-8정도면 해도 웬만해서는 잘 깨지지 않는다. 인코딩에서 지원하지 않는 문자라고 해도 그 문제가 있는 텍스트만 깨지고 나머지 유효한 텍스트는 정상적으로 출력이 된다. 그런...

프리랜서만 좋은일 시키는 회사

모름지기 회사에서 가장 중요한 사람은 회사의 임직원일 것이다. 하지만, 은근 알게 모르게 회사보다 프리랜서가 더 대우 받는 경우가 있다. 프로젝트를 수주하게 되어 새로운 프로그램을 처음부터 만든다고 하자. 그러면 프로젝트 시작 할 때에 프로젝트의 특성이나 개발 기간 등을 고려하여 인력 구성을 어떻게 할 것인지 생각 할 것이다. 이 때에 프로젝트가 ...

공백으로 구분된 데이터를 엑셀로 정리하는 방법

이런 모양의 데이터가 있다고 가정할 때, 각 라인의 첫 번째 공백(whitespace)을 탭(\t)로 치환해야 한다. 이 때 아래 정규표현식을 사용할 수 있다 ^([^\s]*)(\s) 바꿀 내용으로는 \1\t 로 기입하여 notepad++의 바꾸기 기능을 사용하면 된다. 그러면 이런 식으로 공백이 탭으로 치환되는데, 이 데이터를 그대로 ...