일반적으로 쓸일이 없긴 한데, 이번에 어쩌다보니 쓰게되었다. 구조는 List를 Map에 넣고, 해당 Map을 List에 넣는다. List list = new ArrayList(); list.add("A");list.add("B");list.add("C"); Map map = new HashMap(); map.put("list", list); List allList = new ArrayList(); allList.add(map);allList.add(map);... 과 같은 형태로 파라미터를 설정하게 될 경우가 있다.(최근 생겼다.) 그런데 이 allList를 파라미터로 던질 경우, iterate의 property 속성에 명칭이 없어서 인식이 안되는 듯 하다.고로, allList를 Map에 넣어주면 가독성..
이번에 좀 황당한 일을 하게 되었는데...약 2만개의 파일에, 해당 파일 내부 정보를 파싱해서 데이터 구조를 만들어 DB에 때려박는 일이었다.각 파일의 45만개 정도의 값을 가지고 있고, 그 중에 유효한 값은 10만개 정도. 총 값의 갯수는 18억개... rows가 18억이 좀 넘는다. 흔히들 하는 JDBC 2.0 범용 batch로 작성했더니, 대충 일주일 (6.3일)정도의 예상 시간이 나왔다.iBatis로 돌려도 비슷한 예상시간 도출. 어차피 이쪽 업무 특성상 DB가 바뀔 일은 거의 없기도 하고, 애초에 데이터 생성이 목적이지 그 기능을 범용으로 쓰는것도 아니기에,어찌어찌 검색하다보니 Oracle-specific 라는게 걸렸고, '퍼포먼스 향상'이라는 말에 열심히 검색해봤다. https://docs.o..
기본적으로 parameterClass를 HashMap으로 넘기다보니 놓쳤었던 부분이다. 통상적으로, SELECT A, B, C FROM TEST_TABLEWHERE A = #str# 과 같이 사용하다보니, parameterClass를 String로 줄 경우에 대해 com.ibatis.common.beans.ProbeException: There is no READABLE property named 'str' in class 'java.lang.String' 이 발생하였다. 그래서 검색을 해보니, SELECT A, B, C FROM TEST_TABLEWHERE A = #str# 위와 같이 써주면 된다.iBatis에서 파라미터가 단일일 경우. 즉, String이라거나 Int라거나 할 경우에는 isNotEmp..
JsonView(net.sf.json.spring.web.servlet.view.JsonView)1. 동일 클래스의 객체명은 알파벳 순서로 정렬.2. Null 값은 "", "" 값도 ""로 처리.3. 데이터 구조 예제"resultList": {"aList": [ { "anumber": "123456", "name": "abcde", "value": "2222",}, { "anumber": "123457", "name": "abc", "value": "1111",}],"cnt": "2"} pageJsonReport(org.springframework.web.servlet.view.json.MappingJacksonJsonView)1. 설정된 DO(Data Object)의 순서대로 정렬2. Null값은 nu..
프레임워크 (Framework)란 일하기 위한 틀 웹 프레임워크를 예로 들어 설명하자면, 웹에서 어떤 일을 하기 위해 정해놓은 틀이라는 겁니다. 웹에서 MVC 패턴에 따라 프로젝트를 진행하고자 할 때, 뷰 페이지를 생성하거나 요청을 컨트롤 하거나 비즈니스 로직을 수행하는데 도움이 되는 클래스들을 만들어 하나의 라이브러리로 제공하는 것이 바로 웹 프레임워크이지요. 사용자는 프레임워크가 제공하는 라이브러리를 이용해서 도움을 받으며 가이드라인에 따라 프로젝트를 진행하면 되기 때문에 쉽고 빠르게 작업이 가능합니다. 웹 프레임워크의 대표적인 예 : 오픈 프로젝트인 Struts1 & 2, Spring framework 1. Spring Framework 개요 엔터프라이즈 급의 웹 어플리케이션 개발에서 필요로 하는 ..
public class stringArraySort { public static void main(String[] args) { String attrib; //문자열을 막 저장하는 배열, 지금은 정리되어있지만 바꿔서 테스트해보길 바람. String[] attribArray = { "book", "business", "communication", "education", "game", "image", "lifeStyle", "map", "productivity", "schedule", "sound", "stock", "utiity", "video" }; for (int i = 0; i < attribArray.length; i++) { for (int j = 0; j < i; j++) { int vs = a..
파스칼 표기법변수명이 대문자로 시작하며, 복합어일 경우에는 중간에 시작하는 새로운 단어의 첫글자는 대문자. ex) PopWindow, InterfaceParamater, etc... 카멜 표기법변수명이 소문자로 시작하며, 복합어일 경우 중간에 시작하는 새로운 단어의 첫글자는 대문자. ex) newWindow, randomAccess, etc... 헝가리안 표기법오브젝트와 컴포넌트 등의 이름을 사용하여 만든 접두사로 복합어 사용. ex) wnd_connect, vi_window
리눅스 상에서, 서버 프로그램이 작동하다가 제목의 오류 메세지를 기록할 때가 있다. 내 경우를 예로 들자면, 서버와 클라이언트간의 세션이 살아있는데도 불구하고 클라이언트의 request를 서버가 처리하질 않더라. 이는 리눅스 상의 File Descriptor의 제한 문제로, 다음의 명령어로 확인할 수 있다. [root@localhost ~ ] ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 32761 max locked memory (kbytes, -l) 32 max mem..
- Total
- Today
- Yesterday
- isine20
- Oracle
- 이어폰
- Too many open files
- 아이패드 프로 9.7
- 아이패드 프로 12.9
- 비교
- my.cnf
- password
- mysql
- root
- audeze
- OSX
- ioexception
- UTF-8
- UID
- xcopy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |