2017년 8월 23일 수요일

linux which, whereis, locate 명령어 확인

아래 블로그참조
http://webdir.tistory.com/158

2017년 8월 20일 일요일

ksh(aix) 명령어 관련

참조 블로그: http://egloos.zum.com/kunlaboranto/v/466836

command line 자동완성 기능

보통 bash 을 많이 사용하는 이유는 <TAB> 으로 수행하는 명령어나 대상 directory, file 들을 자동 완성해 주는
기능이 막강해서죠.
bash 은 아시다시피 <TAB> 으로 합니다.
csh 은 set filec 를 세팅하면 <ESC><ESC> 로 사용 가능합니다.
ksh 은 좀 일반화 되지 않은 듯 하여..
1.       set –o vi 로 command line을 vi 모드로 변경.
2.       ls a <ESC> + = 를 하면
a1
a2
같은 선택의 범위가 보이고..
3.       ls a <ESC> + \ 를 하면 해당되는 곳까지 자동 완성합니다.

기존명령어 반복
esc키 누르고 k 키를 누르면 된다. 그 다음 이전 명령을 사용하려면 다시 반복하면 된다.


2017년 8월 18일 금요일

javascript onclick 이벤트에서 referenceError 발생한 경우

page_html += "<a href='#' onclick='javascript:load_page("+first_page+","+keyword_data+")'>";
이부분을
page_html += "<a href='#' onclick='javascript:load_page(#{first_page},#{keyword_data})'>";
page_html = page_html.replace(/#{first_page}/gi, '"' + first_page + '"').replace(/#{keyword_data}/gi, '"' + key
이렇게 정규식을 사용해서 치환해야지 정상 호출된다 하지만 스크립트 버그로 함수 변수에 공백이 들어가는 경우도 있어서 잘 확인해야함

2017년 7월 19일 수요일

JAVA ObjectMapper 클래스 json<->String

1.1 Convert Java object to JSON, writeValue(...)
ObjectMapper mapper = new ObjectMapper();
Staff obj = new Staff();

//Object to JSON in file
mapper.writeValue(new File("c:\\file.json"), obj);

//Object to JSON in String
String jsonInString = mapper.writeValueAsString(obj);
1.2 Convert JSON to Java object, readValue(...)
ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{'name' : 'mkyong'}";

//JSON from file to Object
Staff obj = mapper.readValue(new File("c:\\file.json"), Staff.class);

//JSON from URL to Object
Staff obj = mapper.readValue(new URL("http://mkyong.com/api/staff.json"), Staff.class);

//JSON from String to Object
Staff obj = mapper.readValue(jsonInString, Staff.class);
실제사용예시
List<HashMap<String, Object>> resultList = new ArrayList<HashMap<String, Object>>();
resultList = testDAO.selectListDAO(SearchVO);
ObjectMapper om = new ObjectMapper();
String jsonStr = om.writeValueAsString(resultList);

   ->[{"value1":8.4, "value2":5.4}, {"value1":8.4, "value2":5.4} ]
      이와 같은 형태로 [ ] 안에 json {} 으로 묶이게 된다
      다시 꺼내서 사용할 때는 [] 로 묶여있기 때문에 list로 빼내야함
      var resultCondition = JSON.parse(results[i].resultCondition)[0];

      만약에 []로 묶인것이 아니라 {"value1":8.4, "value2":5.4} 로 묶였다면 아래와 같이만 하면된다
      var resultCondition = JSON.parse(results[i].resultCondition);




JAVA 객체 SERIALIZE와 DESERIALIZE

SERIALIZE
객체를 직렬화하여 전송 가능한 형태로 만드는것을 의미. 객체들의 데이터를 연속적인 데이터로 변형하여 stream을 통해 데이터를 읽도록 해준다.
주로 객체들을 통째로 파일로 저장하거나 전송하고 싶을 때 사용
(홍길동, null, 222@bac.com ,30)
(김길동, null, kkk@bac.com , 40)
DESERIALIZE
직렬화된 파일 등을 역으로 직렬화 하여 다시 객체로 만듬.
저장한 파일을 읽거나 전송된 스트렘 데이터를 읽어 원래 객체 형태로 복원함
[(홍길동, null, 222@bac.com ,30), (김길동, null, kkk@bac.com , 40)]

2017년 7월 13일 목요일

PC인지 mobile인지 구분


보통 jstl사용시 taglibs.jsp에 포함시킴
<c:set var="currentDevice" value="${currentDevice.mobile ? 'mobile' : 'pc'}" />


css와 같은 파일 Device로 분기할 경우
<!-- CDN static files -->
<c:if test="${mode eq 'local'}">
<script type="text/javascript" src="/iimg/messages/tmessage_${(empty currentLanguage) ? 'ko_KR' : currentLanguage }.js?v=${cdnVersion }"></script>
</c:if>