본문 바로가기
반응형

PROGRAM81

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.
Maven 프로젝트 : offline 연결을 위한 설정 Spring Framework를 사용하면서 Maven을 쓰는 경우가 많다. pom.xml에 설정만 하면 원하는 library를 다운로드 받아주고 관리도 쉬운 편이다. 다만 외부 인터넷 연결이 원활해야 사용이 편리하다. 그럼 외부망 연결이 불가능한 망분리 환경에서는 Maven을 쓸 수 없는걸까? 그건 아니다. offline으로도 Maven 프로젝트를 사용할 수 있다. 단, 최초 1회는 해당 프로젝트에서 사용될 library를 세팅해줘야 할 필요는 있다. 이 방법은 기존에 Maven 구조의 library가 있는 경우 다시 세팅할 필요없이 해당 폴더를 연결하는 방법이며 또는 Maven에서 설정파일을 읽어올 때마다 library를 재차 찾아오는 과정을 생략시켜주는 것이므로 library가 애초부터 설정되어 있지.. 2017. 10. 12.
eclipse에서 폴더가 패키지 구조로 표시될 때 eclipse에서 새롭게 Maven 프로젝트를 생성해서 환경설정을 진행하다가 이상한 현상을 발견하여 해당 내용에 대해 해결하는 방법을 포스팅하고자 한다. eclipse에서 폴더가 패키지 구조로 표시될 때 환경설정이 완료된 내역을 넘겨받았을 때야 당연히 없었던 일이지만 일반 Dynamic Web Project를 만들 때에도 겪은적이 없었던 일인데 신규로 Maven Project를 생성하면서 이상한 현상을 발견했다. 분명히 폴더구조로 표시되어야 하는 내용이 패키지 (package) 형태로 표시되는 문제이다. I was create folder, but eclipse show folder as package. resource 폴더를 만들었으나, 패키지 형태로 보여주고 하위 폴더 역시 패키지처럼 표시되는 문제가.. 2017. 9. 25.
HTML으로 메일 발송 시 CSS 깨짐현상 프로그램을 개발하다보면 담당자에게 알림 차원에서 메일을 발송하거나 주기적인 배치프로그램 결과 전송 또는 글 등록 내역에 대한 회신을 요청하는 등 다양한 내용을 담아서 메일 발송 기능을 만들 일이 생긴다. HTML으로 원하는 내용을 담을 형태를 만드는 거야 큰 문제가 아니다. 심지어 별도의 Mailing Form 파일을 만들어서 해당 페이지를 미리 보기해서 봤을 때는 완벽하게 딱 떨어지는 형태와 디자인이 나와서 업무 끝났다! 하고 기분 좋았는데 실제로 메일을 발송해서 수신결과를 봤을 때 좌절하는 경우가 생긴다. 바로 CSS가 깨지는 현상 때문이다. 알다시피 HTML로는 실제적인 데이터 형태만 구성해놓고 클라이언트에게 예쁘게 보여지도록 CSS를 적용하는데 CSS가 없으면 이건 뭐 왠 개발자가 내용만 덩그러니.. 2017. 9. 1.
자동실행을 위한 Runnable JAR file 생성 방법 어느새 9월이 다 되어가는 8월에 블로그 글을 쓰다니... 정리하고 싶은 글은 많은데 정리가 안되므로 간단하게 작성할 수 있는 내용을 쓴다. 자동실행을 위한 Runnable JAR file 생성 방법 매일 혹은 매월 정기적으로 수행되어야 하는 프로그램 묶음을 만들어야 할 때 사용하는 방법이다. 이런 프로그램 묶음을 일괄적으로 처리한다고 배치프로그램이라고들 한다. 배치프로그램은 일반적으로 Java Application 으로 구동이 가능한 형태로 프로그램을 구성한다. 프로그램 구성은 각자의 방식이 있을 것으로 생각되니 알아서 잘 만들어주시고. 본인의 프로젝트를 구성해서 원하는 프로그램을 만들어 둔 뒤에, 해당 프로그램이 잘 실행되는 걸 확인하면 이제 서버에서 해당 프로그램이 구동될 수 있도록 파일을 생성해주.. 2017. 8. 23.
Google Chart API 이용하여 QR코드 생성하기 어쩌다보니 QR코드와 인연이 많다. QR코드 관련한 글을 쓰려고 과연 어디에 쓸모가 있을까 생각해보니 나 혼자 처음 구축한 프로젝트도 QR코드와 연계되어 있던 기억이 난다. 물론 그 때는 QR코드는 이미 만들어져있었고 이를 통해 연결되는 모바일 웹페이지를 구축하는 형태였고 지금은 QR코드 자체를 생성하는 API에 대한 소개니까 좀 다른가.. QR코드라 하면 주로 특정 웹페이지에 접속하는 행위를 간단하게 제공하는 방식으로 많이들 사용한다. 단순히 도메인에 연결시키거나 App Store에 연결해서 APP 다운로드 링크로 연결하는 형태를 많이 봤고, 나의 경우는 특정 URL로 연결시켜서 원하는 파라미터들을 전달받아서 기능을 수행하게 하고 있으며 이러한 이용방식은 구현하기 나름이다. 그럼 Google Chart.. 2017. 6. 12.
eclipse 구동 오류 : 특정 workspace에서 문제 생길 때 작업환경에 따라 workspace를 여러개로 분리해두는 분들이 많을 듯 하다. 다른 사이트이거나 관리포인트가 다르거나 그저 eclipse를 여러 개 구동시키고 작업하기 위해서인 경우도 있을테고. 그런데 가끔 eclipse를 구동시키고 workspace를 선택한 뒤에 프로그램이 뜨지 않고 소리 소문 없이 그냥 사라져버릴 때가 있다. 한 두 어번 해봤는데도 동일한 현상이 발생하고, 다른 workspace는 괜찮은데 특정한 workspace에서만 문제가 발생한다면 .log 파일을 통해 원인을 파악한 뒤 해결하면 된다. eclipse 구동 오류 : 특정 workspace에서 문제 생길 때 .log 파일은 구동 시에 문제가 발생했던 workspace 경로\.metadata 폴더 하위에 있다. 파일을 열어보면 ja.. 2017. 6. 5.
KISA 권고 암/복호화 방식 : SEED 128, SEED 256 오늘은 아침부터 랜섬웨어 감염 방지를 위해 다들 보안정책에 따른 조치하느라 정신이 없었다. 대부분의 회사가 컴퓨터를 쓰지 않고는 일 하기 힘든 환경이다보니 어제 저녁부터 뉴스에 랜섬웨어 조치방법 등이 나왔고 개인들도 랜섬웨어에 걸리지 않는 방법을 확인하면서 검색어에 오르내린 사이트가 '보호나라' 이다. 이는 KISA에서 운영하는 사이트로 해킹/바이러스 등에 대응하기 위해 보안공지, 가이드와 매뉴얼 배포, 최신 동향 등을 제공하고 있다. 랜섬웨어는 다들 이미 조치했을테고 보호나라 역시 많이들 알고있을 사이트일테니 오늘의 이슈에서 조금 벗어나 KISA에서 제공하고 있는 또 다른 서비스 중 암호이용활성화 차원에서 제공하는 SEED 알고리즘에 대해 알아보자. KISA 권고 암/복호화 방식 : SEED http:.. 2017. 5. 15.
반응형