* 개요스프링 프레임워크 이용시 @Service나 @Autowired 사용하여 종전에 서비스 객체 선언하고 연결하는 동작을 XML로 정의하던 것을 대체한다. 프레임워크, API 만들어 사용하려 하다보면 어노테이션을 직접 정의해서 사용할 필요성을 느낌. * 기초 / 사용자 정의 어노테이션http://hamait.tistory.com/314 1. 다음과 같이 클래스를 선언만 해주면public @interface MyAnno {String value() default "default";String name();} 2. 다음과 같이 응용 가능@MyAnno(name="abc")public class MyAnnoUser { } - 어노테이션 선언시 사용할 수 있는 메타 어노테이션 @Retentation 어노테이션 ..
* 분명 내가 초보 수준의 개발자는 아니지만 '중급 개발자' 또는 하수가 아닌 '개발 중수' 라고 말하고 다닐만 한지는 예전부터 의문이었음.그래서 정리해봄. * 경력 년수에 따른 구분 내 체감은 SI 업계에서 중급은 만 5년을 기준으로 하지만 회사에 따라 6~7년을 중급으로 보기도 하고 기준은 제각각 https://okky.kr/article/205940(2012) - 7~10년을 중급으로 한다는 말도 있다삼X 기준 7년차(만 6년) 부터 중급이라고 한다. (학사 기준) - 종전에는 KOSA 에서 SW기술자 등급을 관리했지만 폐지되고지금은 경력 년수만 관리하고 있다. KOSA 기준의 중급은 정보처리 기사 취득후 3년 경력이었다. (지금은 무의미) * '중급' 의 실력 http://sijinjoseph.c..
* 개요 의 객관적인 기준이 있는건 아니지만 내가 생각할 때 초보를 넘어서려면 알아야 하는 것들 정리해 봄. * 참고- '자바 중급' 이란 제목을 단 강의 목록(강의목록)https://www.welcomekakao.com/learn/courses/9 http://itlove.tistory.com/category/%EC%9E%90%EB%B0%94/%EC%A4%91%EA%B8%89%28%EB%AC%B8%EB%B2%95%29?page=1 * 정규표현식문자열의 특정 패턴을 인식하고 치환할 수 있는 방법.정규표현식의 문법을 완벽하지 알진 못 해도문자열 처리시 검색해서 쓸 수 있을 정도는 되야 한다. http://dogcowking.tistory.com/85 * 리플렉션런타임에 클래스 멤버에 대한 정보를 가져올 수..
* 개요 ex) 나는 바보입니다나는 개입니다나는 새입니다나는 코끼리입니다 나는 ???입니다 에서 ??? 를 가져오고 싶다 * 그룹 캡쳐 ()나는 (.*)입니다 표현하면 괄호친 부분을 캡쳐하여 가져올 수 있다. String[] as = {"나는 바보입니다", "나는 개입니다","나는 새입니다","나는 코끼리입니다","너는 개구리입니다",};for(String s : as ) { System.out.println(s); Pattern p = Pattern.compile("나는 (.*)입니다"); Matcher m = p.matcher(s); if(m.matches() ) { System.out.println("group 0 : " + m.group(0)); System.out.println("group 1 ..
* 개요정규표현식으로 A & B 표현하는 방법 ex)나는 바보입니다나는 천재입니다걔는 천재입니다 문장 있을때 나는&바보 를 검색 하고 싶다면... * 방법 1 - 단순하게 생각하면... 나.*바보|바보.*나 하면 될 것 같지만.. 이 방법은 단어 3개 이상 되면 모든 경우의 수 만들어주기가 복잡함 * 그래서 Lookahead 이용하여 표현- Lookahead(전방탐색) 패턴참고 : http://minsone.github.io/regex/regexp-lookaround - 나&바보&입니다 3가지 동시에 찾기 위해(?=.*나)(?=.*바보)(?=.*입니다) 표현하면 됨 - 나.*바보 는 '나' 를 찾고 나서 그 뒤이어 '.*바보' 를 찾음 전방탐색은 '.*나'를 찾고 이어서 '바보'를 찾는게 아니라,별도로 ..
* 개요 Project 의 폴더 위치를 변경하고자 하는 경우.. * 프로젝트가 열려있는 경우우클릭 -> Refactor -> Move * Workspace 에 Project 등록 되어 있으나, 지정된 위치에 데이터가 없어서 열리지 않는 경우(프로젝트 폴더 옮긴 등...)- Workspace에 (껍데기만) 존재하는 프로젝트 삭제 후 (상단메뉴)File -> Import -> Import Existing Project - 별도로 수정하는 방법은 없고 지우고 해당 위치로 프로젝트 다시 생성하는 것..
* 개요- 값을 집어 넣으면 정렬하여 상위 10개만 보관하는 코드를 만들고 싶었음.- 결론은 우선순위 큐는 그런 기능은 없음. 정렬은 하지만, 개수 제한하여 보관하는 코드는 따로 구현해야 ... (그냥 리스트 정렬해서...)- 기타 1 : PriorityDeque 로 구현하기 쉬울듯 하지만, Java util 엔 이런 자료구조는 없음.- 기타 2 : CircularFifoQueue (apache commons collections)https://stackoverflow.com/questions/5498865/size-limited-queue-that-holds-last-n-elements-in-java?utm_medium=organic&utm_source=google_rich_qa&utm_campaign..
* 기초 http://www.nextree.co.kr/p4327/ * 확인 사이트https://regexr.com/https://regex101.com/ 사이트마다 한글, 한자, 특수문자, 유니코드 표현 등이 가능/불가능 한것 차이가 있음. * 'and' 조건 표현Lookahead (?=) 활용하여 AND 연산자 표현 가능함. http://dogcowking.tistory.com/229 * 영어 대,소문자에 대한 표현http://dogcowking.tistory.com/84 [A-Za-z]+\w+[\p{Lu}\p{Ll}\p{Lt}]+ * 한글[ㄱ-ㅣ가-힣]+ https://blog.gaerae.com/2015/10/postgresql-hangul-regular-expression.html유니코드, 아스키..
* Java 기준 * 기초적인 대/소문자 포함 패턴[A-Za-z]+\w+ * 유니코드 카테고리 이용- 참고 : https://stackoverflow.com/questions/4097601/regular-expression-only-contain-lower-case-or-uppercase-characters-or-both-for?rq=1 [\p{Lu}\p{Ll}\p{Lt}]+ex) 자바 코드Pattern p = Pattern.compile("[\\p{Lu}\\p{Ll}\\p{Lt}]+"); Lu 는 대문자Ll 은 소문자Lt 는 라틴/그리스 문자 의미 - 참고 ; 유니코드 카테고리 목록https://www.compart.com/en/unicode/category * 유니코드 카테고리 #2\p{javaLow..
* indexOflst.indexOf(값); - int 나 String 등의 리스트 상 위치 반환- 객체는 주소값 으로 찾음- 없으면 -1 을 반환 * BinarySearch Collections.sort(lst2);Collections.binarySearch(lst2, 값)); https://gs.saro.me/#!m=elec&jn=125- 먼저 sort 가 필요 * CollectionUtils.selecthttp://flystone.tistory.com/196https://stackoverflow.com/questions/13138990/how-to-search-in-a-list-of-java-object - Apache commons-collection.jar 추가되어야 ...https://stac..
* 개행 안 되는 코드value = element.text(); [TV리포트 = 조성진 기자] 가수 혜이니와 걸그룹 피에스타의 멤버 혜미가 7일 오후 서울 종로구 동숭동 유니플렉스에서 열린 뮤지컬 '더 언더독' VIP데이에 참석해 포토타임을 갖고 있다. '더 언더독'은 진돗개 진과 군견인 세퍼트 중사를 비롯해 강아지 공장의 모견 마르티스 마티 등 각자의 사연을 가진 반려견들이 모여 있는 유기견 보호소에서 펼쳐지는 이야기를 그들의 시선으로 그려낸 창작 뮤지컬로 내년 2월 26일까지 공연한다. jinphoto@tvreport.co.kr ▶ TV리포트 만화 섹션 오픈! 무료 만화 보러 가기 * 개행 되는 코드 value = new HtmlToPlainText().getPlainText(element); 정상동..