Dev
-
[알고리즘] DFS와 BFS 정리Dev/알고리즘 2020. 6. 12. 01:53
DFS: Depth First Search 깊이를 우선으로 하는 검색 방법이다. 재귀 함수, 스택으로 구현한다. BFS: Breadth First Search 너비를 우선으로 하는 검색 방법이다. 큐로 구현한다. 위의 그림은 7을 찾아가는 과정을 DFS, BFS로 표현한 그림이다. DFS는 빨간색으로, BFS는 파란색으로 그려봤다. DFS는 tree의 level과 관계 없이 최상단(1)부터 각각의 leaf node까지를 찾아본 후, 다음 leaf node까지를 계속해서 검색하다 7이 나오면 종료한다. BFS는 같은 level의 node들을 모두 검색하고, 검색한 node들의 하위 node들을 검색하는 방식으로 작업이 수행된다. 그래서 DFS의 경우 5번, BFS의 경우 6번만에 7을 찾아 작업을 종료했다.
-
2020.06.10 오늘의 일지Dev/개발일지 2020. 6. 10. 15:05
html table을 수정하다가 innerText를 썼는데도 td의 값이 찍히지 않았다. 0 td는 속성이 "visibility:hidden;position:absolute;"로 되어 있어 보이지 않는 상태이고, td 내부에는 값을 0으로 준 상태이다. 이 상태에서 rows.cells[0].innerText를 수행할 경우 ""라는 결과가 나오길래 이유를 확인해보니 visibility가 hidden인 경우 브라우저 화면 상에 나오는 출력이 없기 때문에 innerText가 존재하지 않았던 걸로 해석이 됐다. 그래서, innerHTML을 사용해보니 "0"이라는 값이 정상적으로 찍히기에 js 상에서 $("tbody")[0].rows[0].cells[0].innerHTML; 을 사용해 값 처리를 했다.
-
2020-06-07 오늘의 일지Dev/개발일지 2020. 6. 8. 00:48
Ubuntu 20.04로 듀얼 부팅 성공한 이후 zulu를 설치했다. 설치는 다음과 같다. 1. APT Repository에 Zulu 추가 1 2 3 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main' sudo apt-get update Colored by Color Scripter cs docs.azul.com/zulu/zuludocs/ZuluUserGuide/PrepareZuluPlatform/AttachAPTRepositoryUbuntuOrDebianSy..
-
Zulu Java 8 설치Dev 2020. 6. 5. 01:44
1. Download https://www.azul.com/downloads/zulu-community/ Download OpenJDK Java Linux Windows macOS Alpine Java 11 Java 8 Download Java 11 Zulu OpenJDK Linux Windows macOS Solaris Update Java Alpine Java SE free download Java 8 Java 7 Java 6 JDK www.azul.com 페이지 접속 Download Zulu 클릭 필터에서 Java 8 (LTS), Windows(이건 운영체제에 맞게) 설정하면 해당 JDK가 나옴 Windows에서 사용하므로 zip으로 다운로드 2. 적용 다운로드 받은 zip 파일의 압축을 풀어 적당..
-
2020.06.04 오늘의 일지Dev/개발일지 2020. 6. 4. 10:38
google의 json-simple을 사용해 Json 메시지를 만드는 테스트용 java 프로그램을 만들었다. 물론 메시지는 지금은 단 한개만 출력하고 종료하지만 주기적으로 내 하드웨어 자원들을 파일로 저장하거나, Kafka로 전송하는 프로그램으로 변형시킬 예정이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package com.tistory.povia.jsontest.msg; import java.time.LocalDateTime; import org.json.simple.JSONObject; public class JsonGenerator { public void execute(){ JSONObject object = new JSONObject(); object.put("N..
-
2020.06.02 오늘의 일지Dev/개발일지 2020. 6. 2. 17:52
Quartz Job을 생성할 때 Cron 식이 유효한지 확인하는 코드를 추가했다. 사용한 클래스는 "org.quartz.CronExpression"이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 boolean isValidExpression(String expression){ boolean result = false; if(CronExpression.isValidExpression(expression)){ try { CronExpression targetExpression = new CronExpression(expression); if(targetExpression.getNextValidTimeAfter(new Date(System.currentTimeMillis())) != null..
-
2020.05.08 오늘의 일지Dev/개발일지 2020. 6. 1. 02:57
SparkSession 실행 관련 1 2 3 4 5 6 7 8 9 10 11 12 13 public SparkSession setSpark(){ SparkSession spark = SparkSession.builder() .master("local[*]") // Cluster DeployMode일 경우 주석처리 .config("spark.submit.deployMode","cluster") // Local 마스터일 경우 주석처리 .config("spark.driver.host", "localhost") // Cluster DeployMode일 경우 주석처리 .config("spark.cleaner.referenceTracking.cleanCheckpoints", "true") .appName("MyAp..
-
2020.05.07 오늘의 일지Dev/개발일지 2020. 6. 1. 02:08
Kafka 연결 수정 이전에 작성해뒀던 것을 블로그로 옮김 오류 1) 1 2 3 4 5 6 5월 07, 2020 2:35:38 오후 org.apache.catalina.core.StandardWrapperValve invoke 심각: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.IllegalStateException: This consumer has already been closed.] with root cause java.lang.IllegalStateException: This consumer has already been closed. at org.apache.kafka.clients.c..