-
[JAVA] 정수, 문자열 중복 제거 (Set 컬렉션)업무 중 배움 2022. 1. 4. 17:41
[상황] 입력 받은 정수, 문자열 데이터 중복 제거 후 반환 [해결] Set 컬렉션 클래스 사용 * 정수는 Set 컬렉션 클래스 / 문자열은 contain 함수 이용 - JDK 1.2부터 제공된 HashSet 클래스는 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠름 - HashSet 클래스는 Set 인터페이스를 구현하므로, 요소를 순서에 상관없이 저장하고 중복된 값은 저장하지 않음 - 요소의 저장 순서를 유지해야 한다면 JDK 1.4부터 제공하는 LinkedHashSet 클래스를 사용 * 해시 알고리즘(hash algorithm) 자바에서 해시 알고리즘을 이용한 자료 구조는 위의 그림과 같이 배열과 연결 리스트로 구현 저장할 데이터의 키값을 해시 함수에 넣어 반환되는 값으로 ..
-
[웹3.0] 웹3.0 뭐임? 뭐임?메모장 2021. 12. 30. 12:17
비트코인 커뮤니티 글을 보다 발견한 단어 웹3.0 뭐임? 웹 개발을 하고 있으니 한번 찾아봄 웹1.0 - 인터넷 사업자가 올린 콘텐츠를 사용자가 주로 검색만 하는 일방향 생태계 - 속도가 느려 글자, 이미지 등 단순 정보가 주 - 최초의 인터넷 브라우저 넷스케이프, MSN 메신저가 대표 웹2.0 - 사용자도 콘텐츠를 올리고 상호 소비할 수 있는 쌍방향 생태계 - 빠른 인터넷 속도로 고용량 파일, 동영상 실시간 재생 가능 - 페이스북, 트위터, 넷플릭스, 유튜브가 대표 웹1.0과 웹2.0의 문제점 - 모든 데이터를 중앙 서버에 집중하고 이를 광고, 마케팅에 활용 - 사용자가 생산한 콘텐츠 및 데이터가 기업 소유가 되며 플랫폼 발전에 대한 보상 없음 웹3.0 - 위의 문제 해결을 위해 등장 - 중앙 서버에 ..
-
[JAVA] 로그에서 아이피 추출하기 (정규식)업무 중 배움 2021. 12. 28. 17:28
[상황] logback 을 이용하여 로그를 찍고 있는데 아이피 현황을 위해 아이피 수집이 필요한 상황 [로그 텍스트] "2021-12-16,11:01:57.773,INFO ,front,[com.controllers.test.TestController-testMethod:101],192.168.0.120,[Keyword:강아지인형]|[searchType:korean]|[orderbyType:default]|[date:202112161101]" [해결] public static void main(String[] args) { // 로그 String txt = "2021-12-16,11:01:57.773,INFO ,front,[com.controllers.test.TestController-testMethod..
-
[mysql] 없는 날짜에 데이터 0 처리 하는 방법업무 중 배움 2021. 12. 20. 12:35
[상황] 2주 정도 데이터 통계를 그래프로 표현해야하는 상황 2021-12-06 ~ 2021-12-20 날짜별 데이터를 mysql 쿼리를 통해 가져왔지만 중간 중간 데이터가 없는 문제 데이터 없을 시, 아래와 같이 데이터 가져옴 날짜 데이터 2021-12-06 2 2021-12-08 5 2021-12-19 20 아래와 같이 빈 날짜와 빈 데이터에 날짜 추가하고 없는 데이터에는 0을 표현하고 싶음 날짜 데이터 2021-12-06 2 2021-12-07 0 2021-12-08 5 2021-12-09 0 ... ... 2021-12-18 0 2021-12-19 20 [문제] 2중 for문으로 처리 할려고 했으나 코드가 너무 길어지고 보기 싫어짐 날짜 배열과 데이터 배열의 길이가 맞지 않으면 처리하기 굉장히 복..
-
서버에서 한글 깨질 때 (Tomcat 8.5, CentOS 7)Error 2021. 12. 15. 12:12
[환경] CentOS 7 - Tomcat 8.5 - Java 1.8 [상황] 로컬(이클립스) 에서는 한글이 잘 나오는데 서버에 올리면 ??? 또는 �t� 요딴식으로 나오는 상황 네이버 데이터랩 쇼핑인사이트 API 테스트 중 한글 깨짐으로 데이터 받기 실패 그래서 아래의 방법으로 테스트 테스트 전에 서버 locale 확인 [root@localhost sysconfig]# locale LANG=ko_KR.UTF-8 LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UT..
-
카페24 서버호스팅 SSL 인증서 설치 관련 오류 [SECTIGO]Error/SSL 2021. 12. 10. 18:22
홈페이지 SSL 인증서 설치 관련 [환경] [ CentOS 7 - Tomcat 8.5 - Java 1.8 ] [ Cafe24 서버 호스팅 ] 가비아에서 구매한 경우 메뉴얼 제공 [겁나 상세하게 잘 나옴] https://customer.gabia.com/manual/hosting/433/1260 가비아: 국내 1위 customer.gabia.com 하지만 카페24는 규모에 비해 메뉴얼이 상당히 부족 [대신 조금 더 저렴] 순서 1. 인증서 파일 다운로드 (인증서 신청 시 비밀번호 생성하는데 꼭 메모해줘야함) 2. PEM 형식으로 파일 압축 3. pem -> pkcs12 포맷으로 변경 4. pkcs12 -> jks 포맷으로 변환 5. 톰캣 server.xml 등록 -> 카페24 서버호스팅 로그인 - 인증서 ..
-
Javascript ES6 Tagged Template literalsJavascript (ES6) 2020. 8. 3. 21:38
// Template 처리 const data = [ { name : 'Coffe-Bean', order : true, items : ['americano', 'milk', 'green-tea'] }, { name : 'Starbucks', order : false }, { name : 'TwoSome', order : true, items : ['Ice-americano', 'Cake', 'Moka'] } ] // JSON 응답 받고, javascript object로 변환 후 데이터 처리 // dom에 추가 function fn(tags, name, items){ console.log(tags); //0: " Welcome " 1: " !! ↵주문가능항목" 2: "" console.log(name);..
-
Javascript ES6 Map,WeakMap key/value 구조Javascript (ES6) 2020. 7. 30. 22:18
// Map & WeakMap //map은 key/value 구조 let wm = new WeakMap(); let myfun = function(){}; // 이 함수가 얼마나 실행됐는지 알려고 할때. wm.set(myfun,0); //key, value console.log(wm); //WeakMap {ƒ => 0} let count = 0; for (let i=0; i 10} myfun = null; console.log(wm.get(myfun)); //undefined (가비지 컬렉션으로 이동) //WeakMap 활용 (클래스 인스턴스 변수 보호(private)) const wm1 = new WeakMap(); function Area(height, width){ wm1.set(this, {hei..