본문 바로가기
반응형

전체 글193

[NoSQL] 기본 개념 정리 분산 데이터베이스가 가지는 속성 NoSQL은 일반적으로 서버를 여러대로 운영하는 분산시스템을 도입하므로 분산 데이터베이스에 속한다. 물론 단일 서버로 운영할 수도 있지만, NoSQL이 가지는 장점을 활용하기 위해서는 여러 대로 운영하는 것이 좋다고 한다. 가용성과 확장성 측면에서도 분산시스템 구성이 바람직하다. NoSQL에서는 응답시간, 일관성, 지속성의 균형을 위해 결과적 일관성(Eventual consistency)을 구현한다. * 지속성 (Durability) : 긴 시간 동안 올바른 데이터 복사본을 유지하는 속성 결과적 일관성이란, 서버가 여러 대인 분산시스템에서 데이터를 조회했을 때 특정 서버는 변경 된 데이터가 조회되고 일부는 변경되지 않은 상태로 조회될 수 있다. 그 때 데이터의 일관성을 위.. 2018. 11. 28.
Spring 배치, 스케쥴러 사용하기 : Quartz, @Scheduled Spring 배치, 스케쥴러 사용하기 : Quartz, @Scheduled 이놈들 설정하느라고 황금같은 월요일과 화요일을 썼다. 둘을 사용하는 방법을 아주 잘 알게 된 시간이었으니, 각각을 정리하면서 보람차게 마무리하도록 하자. Quartz 처음에는 Quartz를 쓰려고 했다. 설정하다보니 알게 된 내용들을 정리하기도 했더랬다. 결론적으로는 프로젝트 환경과 맞지않는 단점을 하나 발견해서 세팅만 열심히 해놓고 쓰지않았다. 2018/10/29 - [PROGRAM/JAVA / JSP] - Spring 3.x + Quartz 연동 시 주의사항 1) Quartz 사용을 위한 기본 설정 pom.xml org.quartz-scheduler quartz 1.8.6 Spring 3.x을 사용하는 경우는 1.8.6을 사용.. 2018. 10. 30.
Spring 3.x + Quartz 연동 시 주의사항 Spring 3.x + Quartz 연동 시 주의사항 프로젝트 설정이 개발의 반이라지만 기존 프로젝트 설정을 변경하는 건 그보다 더 큰 작업임을 종종 느낀다. ^_ㅠ 일하면서 중간중간 변경이 필요하므로 일정이 더 쫄리기 때문이지.. 오늘은 Spring 3.x + Quartz 연동 시 주의사항에 대해 알아보자. 1) Quartz version은 1.8.6을 사용해라. 최신 버전의 jar 파일을 다운 받아서 (그마저도 2017년 4월이다) 사용하려 했더니 다 맞게 쓰고 maven update를 하고 프로젝트를 몇 번을 clean을 해도 안된다고 나오더니 그 이유가 있었더랬다. Spring 3.x 버전에서는 Quartz 2.x 이상을 사용할 수 없다. 2.x 이전에 나온 버전 중 가장 최신의 jar 파일인 1.. 2018. 10. 29.
IP 확인 : ping, tracert, nslookup 일하다 보면 외부 사이트랑 연결할 일이 참 많다. 그 사이트들이 각각 어떤 IP로 신청하세요 하고 알려주면 더할 나위 없이 좋은 파트너겠지만, 그렇지 않은 이들도 너무 많고 인수인계하다 보면 기존에 담당하던 사람들이 바뀌어서 이래저래 여의치 못한 상황들이 발생한다. 그래서 IP 확인하는 방식들에 대해 비교해보도록 한다. IP 확인 : ping, tracert, nslookup 1) ping (Packet Internet Grouper) 가장 많이들 알고 사용하는 방식이 아닐까 싶다. 오죽하면 '핑 때려봐' (ping 테스트가 올바른 표현으로 생각됨) 가 귀에 착착 감길까. ping은 현재 사용중인 네트워크에서 특정 호스트에 접근이 가능한지를 확인하기 위해서 사용한다. 현재 사용중인 네트워크 상태 체크 호.. 2018. 10. 4.
[Linux] 최근 변경 파일 탐색 검증서버에 작업내용을 올리고 검수가 완료될때까지 이것 저것 또 다른 작업을 하다보면 실제로 어떤 파일을 운영에 릴리즈해야 하는지 헷갈릴 때가 온다. 요청 > 검수 > 반영의 완벽한 하모니가 이루어지면 좋겠다만 계속적으로 요청이 오므로 시간 텀이 생기면 잘 기억이 안 날 수 있다 ^_ㅠ 물론 다들 요청 업무별 작업 내용을 형상관리 할 때 history로 남겨놨겠지만 한 번 더 체크해보고 싶은 자들을 위해 리눅스 서버에서 최근 변경 파일을 탐색하는 명령어를 정리해본다. [Linux] 최근 변경 파일 탐색 해당 명령어는 find 명령어를 잘 사용하는 사람이라면 이 포스팅은 볼 필요도 없이 이미 잘 다루고 있을 내용이라고 본다. 큰 골자는 아래와 같다. find 검색하고자 하는 폴더 -type f -mtime .. 2018. 9. 27.
JSON list 검색 : 특정 필드의 값이 일치하는 JSON Object 추출하기 오늘도 일하다가 유용한 함수를 정의해두고 미래의 나를 위해서 블로그에 옮겨봅니다. 검색결과를 javascript에서 처리하기 편리한 json 방식으로 전달받아두고 이 json list 목록에서 특정 내용을 검색하기 위한 function을 정의하였습니다. JSON list 검색 : 특정 필드의 값이 일치하는 JSON Object 추출하기 개발하는 사람마다 정의하는 내용이 일부 다르겠지만 제가 정의한 방식은 아래와 같았습니다. 조회 성공여부, 실패 시 실패사유, 검색결과 Object를 하나의 JSON Object로 선언하고 내부적으로 검색결과 Object는 List 형태로 구성되어 있습니다. KK { TYPE : "SUCCESS" MESSAGE : "성공" KK_LIST : [{SEQ : 1, NAME : .. 2018. 8. 24.
MVW (Model-View-Whatever) MVC는 Model-View-Controller 방식을 의미하는 것으로 가장 기본적인 디자인패턴이다. 이와 비슷한 느낌의 단어인 MVW도 디자인패턴을 말하는 걸까? MVW (Model-View-Whatever) MVW은 Model-View-Whatever를 의미하는 것으로 Whatever가 * (asterisk) 의 뜻을 가진다. Contoller, ViewModel, Apadter 등 다양한 방식의 디자인패턴을 지칭하는 의미로 사용된다. MVW가 등장하게 된 배경은 AngularJS가 이 개념을 선언하면서부터이다. 개발자들이 어떠한 디자인패턴을 선택해야 하는지를 두고 논쟁을 벌이며 시간을 버리는 것을 보고 AngularJS의 프레임워크를 MVW로 선언했다고 한다. 여기서 사용된 Whatever는 '무엇.. 2018. 8. 22.
List<Map> 정렬방법 목록 반환을 위해 자주 사용되는 List, Map 그리고 그 둘을 합친 List 많은 데이터를 화면에 한 번에 보여주기 위해서 List을 통해 데이터를 전달하고 싶은데 또 그 와중에 정렬해야 하는 기준이 생겼다면 어떻게 해야할까? Servlet에서 DB 또는 그 외의 데이터 통신방식을 통해 데이터를 넘겨받아서 화면에 던져줄 List 값을 만든다고 가정했을 때 정렬하는 방식이 여러가지 있을 수 있다. 첫 번째. 가장 좋은 방법인 DB에서 정렬한 상태로 받아온다. 우리에겐 쿼리가 있다. order by가 있는데 내가 정렬을 해 줄 필요가 없다. 하지만 내가 쿼리를 변경할 수 없는 경우 데이터를 가공되지 않은 상태로 받아와야 하는 경우 등 우리를 난감하게 하는 상황은 늘 있다. 두 번째. 화면에서 정렬하는 방.. 2018. 8. 7.
Commons DBCP 설정값 알아보기 SpringFramework에서 Mysql-connector를 사용하여 DB를 연결하고 있다. apache.commons.dbcp.BasicDataSource Bean을 만들어서 설정값을 지정하는 데 각각의 설정값의 의미를 알아두면 좋을 듯 하여 정리한다. 아.. 물론 문제가 있어서 공부하다보니 정리하게 되었다고 한다. ^_ㅠ Commons DBCP 설정값 알아보기 우선 현재 사용하고있는 Commons DBCP는, DB 연결을 위해 apache에서 제공하는 프로젝트의 한 종류다. DB 연결에 사용되는 Connection Pool을 만들어 관리 및 공유할 수 있게 해주는 역할을 한다. Common DBCP 1.x 관련 설정 값은 아래와 같다. Property Name Value 비고 (Default) dr.. 2018. 8. 6.
IP 주소 연결방식 : VIP, MIP, Policy-based 아웃바운드 정책 변경으로 인해 한동안 너무 고생했다 ㅠㅠ 고생한 김에 DMZ 내부에 있는 IP와 외부용 IP가 어떻게 구성되는 지 알게되었으니 정리하면서 다시금 공부하고자 한다. 일단 IP 주소 연결방식에 대해 정리하기 전에 계속 언급되는 NAT의 의미부터 알아보자. NAT (Network Address Translation) 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP 주소를 변환하는 방식. 내부에서 사용되는 Private IP (사설 IP) 는 내부에서는 사용가능하나 외부에서 사용하는데는 제한이 있다. 이러한 내부용 IP를 노출하지 않으며 외부와의 통신을 하기 위해서 별도의 Public IP (공인 IP) 를 사용하게 되는데, 이 때 외부에 노출된 공인 IP로 들어오.. 2017. 12. 5.
반응형