본문 바로가기

Total220

HashMap, TreeMap 그리고 LinkedHashMap의 차이 최근 어떤 기회로 TreeMap과 HashMap은 어떤 차이가 있는지에 대한 질문을 받았다. 과거 Java 책에서 관련 내용을 본 적은 있으나 잘 기억이 나질 않았다. 특별한 경우를 제외하고는 HashMap을 주로 사용했기 때문에 크게 관심 두지 않았던 것 같다. (Java 개발자라 칭하면서도 기본적인 것을 놓치고 있었던 것에 반성해 본다.) 그래서 한 번 정리해 본다. Java에는 Collection이라는 이름하에 Map, List, Set이 있다. 그 중에서도 Map에 대해서 정리해 보고자 한다.(JDK 1.8 기준) Map이란?key-value 형식의 데이터를 저장할 수 있는 자료 구조이다. Java 개발자라면 HashMap을 자주 사용할 것이다. Map은 인터페이스로 아래와 같이 선언되어 있다. .. 2016. 12. 19.
document.getElementsByName() 삽질기 문제의 시작 기존 시스템에서 document.getElementsByName()을 통해서 Dom Elements를 찾는 script가 있었습니다.(보통 jquery를 사용하나 해당 시스템은 jquery 사용 않하네요 ㅠ) 문제는 Elements를 정상적으로 찾아오지 못하는 현상이 발견되었습니다. 원인을 확인하면서 id 속성을 잘못 지정하고 있는 것을 확인하였습니다. HTML 태그에서 id 속성은 document에서 유일하게 지정하는 것이 정상적인 사용법입니다.(아래 참고, name 속성은 중복 가능) 하지만 id 값을 동일하게 설정하면 어떻게 될까요? 3개의 input tag element를 찾으려면 document.getElementsByName(“id”)로 찾을 수 있습니다. 만약 document.g.. 2016. 11. 30.
Flamingo Seminar(2016/11/25) 후기 2016년 11월 25일 강남토즈점에서 진행된 Flamingo Seminar 참석 1. Flamingo Project 소개 Flamingo란 Hadoop Ecosystem과 연계하여 빅데이터를 처리할 수 있는 솔류션 시스템입니다. 2016년 12월에 Flamingo 3.0(FEM)을 공개할 예정이며, 특징으로는 프로젝트의 목적에 맞게 컴포넌트가 분리되어 제공됩니다.(아래 3가지 참고) Flamingo Analytics(FEA) Flamingo(FL) Flamingo Management(FEM) Flamingo 개발환경은 jdk 1.8에서 개발되고 있습니다.(그 외 버전 정보들을 소개하였으나 너무 많아서 생략합니다.) FEM에는 아래와 같은 특징이 있었습니다.(FEM 시연 영상을 보고 정리한 내용) 대시보.. 2016. 11. 26.
RSA 알고리즘 “누워서 읽는 알고리즘” 책에서 RSA 알고리즘을 소개하고 있어 정리하고자 합니다. 여기서 RSA 알고리즘을 증명하고자 하는 것이 아니며, 알고리즘 기본 정보만 소개합니다. RSA란? 공개키 암호시스템의 하나로 1978년 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)의 이름 앞글자를 따 RSA라고 명명하였습니다. 공개키와 개인키로 이뤄진 이 알고리즘은 큰 숫자에 대해 소인수 분해가 어렵다는 것에 기반을 두고 있습니다. 즉, 소인수 분해가 가능해지면 알고리즘이 무용지물이 될 수도 있습니다. 위키백과(https://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8)에서 아래와 같이 언급하기도 하였습니다... 2016. 11. 23.