본문 바로가기
반응형

Java30

매번 찾기 귀찮은 LocalDate 적어놓기 LocalDate 비교 date1.compare(date2) //return type int date1 이 date2 보다 과거면 음수 date1 == date2 이면 0 date1 이 date2 보다 미래면 양수 LocalDate -> String("yyyy-MM-dd" 형식) LocalDate localDate = LocalDate.now();//For reference DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedString = localDate.format(formatter); // 2023-02-24 위 두개를 응용해 날짜(String) 리스트를 만든다면 LocalDate start.. 2023. 2. 24.
antMatcher? 가 머지 보통 남들이 만들어 놓은 것 중에 자주 쓰이는 것들은 이름부터 잘 지어놔서 함수나 클래스명을 보면 딱 알 수 있는데 그게 아닌 놈을 만났다. antMatcher… 이게 뭔지 궁금해져서 찾아본 결과를 적어놓는다. (대충… 대충…) tl;dr 사용자 요청에 대해 인증, 인가 설정 시 해당 설정에 대한 검사를 수행할 url 경로(regex)를 적는 부분 .antMatchers("/status","/resources/**","/join","/auth/**","/error").permitAll() .antMatchers("/admin**").hasAnyAuthority("ADMIN") ant 인 이유는 Apache Ant project에서 따왔다고 한다. url 매칭 시 Ant Pattern을 이용하기 때문. 아.. 2023. 2. 21.
한글 파일(.hwpx) 에서 내용만 추출하고 싶을때 java로 hwp는 hwplib를 통해서 읽는데, hwpx를 읽으려고 하니 오류가 난다. 단순히 안에 있는 텍스트 내용만 가져오면 되는데 안 되는 게 답답하던 차ㅡ 구글에서 찾아보니 [아주 쉬운 뉴스 Q&A] 아래아한글 새 기본문서 'hwpx'가 뭐죠? | 아주경제 [아주 쉬운 뉴스 Q&A] 아래아한글 새 기본문서 'hwpx'가 뭐죠? | 아주경제 얼마 전 국민 워드프로그램 아래아한글의 기본문서 형식이 바뀌었습니다. 최신 프로그램 업데이트를 적용하면, 한글 문서를 작성하고 저장할 때 기존 hwp가 아니라 hwpx라는 형식의 파일이 만들 www.ajunews.com 위 링크를 참고하면 hwpx는 zip format으로 확장자를 변경하면 폴더 내 계층구조로 내용이 적혀있다는 것이다. zip으로 변경한 뒤, .. 2023. 1. 13.
java HashMap source code 살펴보기 source code의 주석 살펴보기 더보기 (파파고로 번역을 돌렸다!) 1번째 주석 -> HashTable 구현체 고, key값으로 null 지원한댄다.(순서는 보장 x) Hash table based implementation of the " Map " interface. This implementation provides all of the optional map operations, and permits " null " values and the " null " key. (The " HashMap " class is roughly equivalent to " Hashtable " , except that it is unsynchronized and permits nulls.) This class .. 2022. 10. 11.
java ArrayList source code 살펴보기 궁금하기도 하고 평소에 자주 쓰는 자바의 자료구조 클래스인 ArrayList를 한번 살펴보고자 한다. (사실 할일이 없어서가 맞다. 월급 루팡~) 소스코드는 여기를 참고 했다. 자바의 구현 구조를 보면 이렇다고 한다. 평소에도 이런 식으로 초기화를 한 뒤, 사용하곤 했다. 이제 보니 List는 interface, ArrayList는 실제 구현체 class 인걸 확인할 수 있다. List string_list = new ArrayList(); 자주 사용하는 함수는 나 말고도 구글링 해보면 천지삐까리로 많이 나오니 검색된 기능들이 실제로 어떻게 구현되어 있는지 확인해보자. Constructor 위에 적은 예시처럼 구현 class를 생성하는 생성자 코드를 살펴보자 //오브젝트 타입의 배열 private sta.. 2022. 9. 20.
Garbage collection 이 무엇인가요? 왜 쓰나요? 어떤 문제가 있을까요? 누군가 인터넷에 올려놓은 면접 질문 리스트라고 해서 쭉 살펴봤는데 https://okky.kr/article/1255457 OKKY | 면접에서 들었던 & 했던 질문들 최근에 후배의 신입 개발자 면접을 도우면서 모의 면접관(?)으로서 던졌던 질문들을 공유합니다. 댓글로도 질문들 공유해주시면 많은 분들께 도움이 될 것 같습니다! 일반적인 질문들 1. 자기소 okky.kr 웬걸? 2번째 질문부터 막혔다. 나는... 컴공을... 졸업하고... 결국 코드 몽키가 되어버린 건가...? 그래서 나중에 이 지식이 필요할 미래의 나를 위해 한번 정리해보는 시간을 가진다. :) TL;DR Garbage collection 이 무엇인가요? → 접근 불가능한 객체들의 메모리 할당 해제 알고리즘 왜 쓰나요? → 필요 없는 객.. 2022. 8. 1.
CORS 에 대한 간략한 설명과 img 태그를 채우기 위한 삽질 오늘 회사에서 한 일에 대해 다시금 생각해본다. 저번에 올린 블로그 글 결과를 토대로 뉴스 군집화를 해냈다. (done이라는 뜻. complete가 아니라…) 점진적 뉴스 군집화 하기 (incremental news clustering) 요즘 관심 가지던게 하나 있는데 바로 점진적 문서 군집화 무슨 소리냐 뉴스의 경우, 계속 써지고 발간되고 사람들한테 제공된다. 지금까지 내가 해온건 어떤 시간대 (가령, 하루단위) 뉴스를 군 hoonzi-text.tistory.com 결과를 그럴듯하게 보여주기 위해 해당 뉴스가 가진 썸네일 데이터를 가져와야 했는데 다행히도 우리회사 데이터는 해당 뉴스에 등장 하는 이미지 데이터 역시 수집이 되어 있었다. 그냥 조회만 하면 됐다. (아래는 결과 예시) 문제는 방송사의 경우.. 2022. 6. 27.
로그인 로직 구현해보기 (jsp, java, tomcat) 정리 프로젝트중 로그인 부분을 구현해야 하는 것이 있었다. 당시 로그인 부분보다 더 급한 부분을 먼저 처리 하느라 로그인의 경우 보안적으로 무방비한 상태였다. 유저의 id, password를 받아 db 정보와 대조해본 뒤, 맞으면 넘어가고 틀리면 다시 로그인 페이지로 넘기는 단순한 로직인데 이때 id, password가 전혀 암호화가 이뤄지지 않은 상태로 네트워크 상을 돌아다니게 된다. 개발자 친구는 적어도 md5로 암호화 한뒤 보내는게 어떻겠냐고 제안할 정도였다. 그래서 마음 한켠으로 ‘아 언젠간 고쳐야지...’ 같이 생각만 하고 있다가 이번에 고치게 됐는데, 이거에 대해 간략히 정리한다. 지금 만들고 있는 웹은 java + jsp + tomcat으로 흔히들 사용하는 spring 이 아니라서 java,.. 2022. 1. 15.
log4j2 executable jar에 적용하기 회사에서 특정시간마다 동작하는 모듈을 만들어야 됐다. 해당 모듈의 특징은 한번 동작할때 멀티쓰레드(implements Runnable) 를 적용해 여러개의 작업이 동시에 이루어지고 완료된다는 점이다. 이전까지는 각 쓰레드 별로 작업이 정상적으로 완료되었는지를 지정된 폴더에 파일로 각자 적게끔 구현했다. (로그 파일을 직접생성하는 것이다. 게다가 Thread safe 하게끔 각자...) 그러다가 문득 "내가 왜 직접 파일에 하나씩 적게 만들지...?" 하는 생각이 들어서 좀더 괜찮게 기록하는 방법이 없을까 찾아봤다. 구글링 했을때 가장 먼저 나오는 로그 관련 라이브러리로 log4j가 있었다. (지금은 log4j2가 가장 최신버전이라고 한다.) 다른 라이브러리 사용시 나는 보통 프로젝트내 "lib" 폴더 생.. 2021. 10. 17.
반응형