2019/069 [Java] ์๋ฃ๊ตฌ์กฐ,์๊ณ ๋ฆฌ์ฆ ์ฉ์ด/๊ฐ๋ ์ ๋ฆฌ ์๋ฃ๊ตฌ์กฐ,์๊ณ ๋ฆฌ์ฆ ์ฉ์ด/๊ฐ๋ ์ ๋ฆฌ ์๋ฃ๊ตฌ์กฐ ์ฝ๋์์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ ํ ๊ฒ ์๊ณ ๋ฆฌ์ฆ ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ์ฐจ ๋๋ ๋ฐฉ๋ฒ ๋ฐฐ์ด(Array) ๋ฐ์ดํฐ๋ฅผ ๋์ดํ๊ณ , ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ค์ ๋์ํ๋๋ก ๊ตฌ์ฑํ ๋ฐ์ดํฐ ๊ตฌ์กฐ ํ(Queue) ๋จผ์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๊บผ๋ผ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ (FIFO, LILO) ์คํ(Stack) ๋์ค์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๊บผ๋ผ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ (FILO, LIFO) ๋งํฌ๋๋ฆฌ์คํธ(LinkedList) ๋จ์ด์ ธ ์๋ ๋ฐ์ดํฐ๋ฅผ ํฌ์ธํฐ๋ก ์ฐ๊ฒฐํด์ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ LinkedList LinkedList๋ ๋ฐ์ดํฐ์ ๋ค์ ๋ ธ๋์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋(ํฌ์ธํฐ) ๊ตฌ์กฐ ArrayList์ ๊ฐ์ด ๋ฐ์ดํฐ์ ์ถ๊ฐ,์ญ์ ์ ๋ถํ์ํ ๋ฐ์ดํฐ์ ๋ณต์ฌ๊ฐ ์์ด ๋ฐ์ดํฐ.. 2019. 6. 20. [Apache Hadoop] ๋ฐ์ดํฐ ๋ ธ๋ ์ถ๊ฐ/์ ๊ฑฐ ๋ฐฉ๋ฒ โพ DataNode ์ถ๊ฐ 1. NameNode์ hosts ํ์ผ์ ์ถ๊ฐํ DataNode ์ ๋ณด (ip, host) ์ถ๊ฐ vi /etc/hosts 2. NameNode์ includes ํ์ผ์ ์์ฑ ๋๋ ํธ์งํ์ฌ ์ถ๊ฐํ node์ hostname์ ์ถ๊ฐ vi /hadoop์ค์น๊ฒฝ๋ก/etc/hadoop/dfs.hosts 3. ์ถ๊ฐํ ์๋ฒ ์ ์ ํ ๋ ธ๋ ์คํ hadoop-daemon.sh start datanode yarn-daemon.sh start nodemanager 4. Namonde ์๋ฒ์์ node refresh ๋ช ๋ น ์ํ hdfs dfsadmin -refreshNodes โพ DataNode ์ ๊ฑฐ 1. $HADOOP_HOME/etc/hadoop/hdfs.site.xml ํ์ผ์ ์๋ ๋ด์ฉ ์ถ๊ฐ dfs... 2019. 6. 17. [Python] REST API ํธ์ถ ์ํ ์ฝ๋ Python REST API ํธ์ถ ์ํ ์ฝ๋์ ๋๋ค. ์ง์ ์๊ฐ ์ดํ๋ก ์ํ๋๋ api killํ๋ ์ฝ๋ import httplib, json, datetime print datetime.datetime.now() #๋ ์ง ์ถ๋ ฅ INGEST_LIST="/druid/indexer/v1/tasks" #API ์ฃผ์ HOST="aaa-bb-001" #API ํธ์คํธ PORT="8090" #API ํฌํธ hour = (datetime.datetime.now() + datetime.timedelta(hours=-9)).hour conn = httplib.HTTPConnection(HOST, PORT) #connection ์ค์ conn.request("GET", INGEST_LIST) #request res = conn.g.. 2019. 6. 13. [Java] ๋ฌธ์์ด ๊ณต๋ฐฑ ์ฒดํฌ ์ฝ๋ private static boolean isBlank(String str) { int strLen; if (str == null || (strLen = str.length()) == 0) { return true; } for (int i = 0; i < strLen; i++) { if ((!Character.isWhitespace(str.charAt(i)))) { return false; } } return true; } 2019. 6. 13. [Java] ํด๋ํฐ ๋ฒํธ ๋ง์คํน ์ฝ๋ ํด๋ํฐ ๋ฒํธ๋ฅผ asterisk(*)๋ก ์ํธํํ๋ ์ฝ๋์ ๋๋ค. /** * encrypt number in text * * maskingCallNumber * * @param str * @return String */ public static String maskingCallNumber(String str){ String replaceString = str; String matchedStr =""; String pattern ="(\\d{2,3})-?(\\d{3,4})-?(\\d{3,4})"; Matcher matcher = Pattern.compile(pattern).matcher(str); if(matcher.find()){ StringBuffer br = new StringBuffer(); for(in.. 2019. 6. 12. [Java] ์ด๋ฆ ๋ง์คํน ์ฝ๋ ์ด๋ฆ์ asterisk(*)๋ก ์ํธํํ๋ ์ฝ๋์ ๋๋ค. /** * maskingName * * @param str * @return String */ public static String maskingName(String str) { String replaceString = str; String pattern = ""; if(str.length() == 2) { pattern = "^(.)(.+)$"; } else { pattern = "^(.)(.+)(.)$"; } Matcher matcher = Pattern.compile(pattern).matcher(str); if(matcher.matches()) { replaceString = ""; for(int i=1;i 2019. 6. 12. [Java] ๋ ์ง ๋ํ๊ธฐ, ๋นผ๊ธฐ ์ฝ๋ /** * ๋ ์ง ๋ํ๊ธฐ * * @param dataeFormat yyyyMMdd .. * @param strDate 20190612 .. * @param dateUnit DATE or HOUR * @param addDate 1, -1 ... * @return */ public static String dateAdd(String dataeFormat, String strDate, String dateUnit, int addDate) { DateFormat dateFormat = null; Date date = new Date(); try { dateFormat = new SimpleDateFormat(dataeFormat); date = dateFormat.parse(strDate); } catch (Pa.. 2019. 6. 12. [Java] ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ์คํ ์ฝ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋๋ค. โพ ProcessBuilder ๋ฐฉ์ ProcessBuilder๋ ๋ช ๋ น์ด์ ์ธ์๋ฅผ ์ง์ ์ง์ ํ๋ฏ๋ก ์ ๋ช ๋ น์ด๋ ํน์ ๋ฌธ์(ex: |, >, < ) ์ฌ์ฉ์ด ๋ถ๊ฐ String command = "ls"; new ProcessBuilder("/bin/bash", "-c", command).start(); โพ Runtime.exec() ๋ฐฉ์ /** * cmd ๋ช ๋ น์ด ์คํ * * @param cmd */ public static boolean executeCmd(String cmd) { Process process = null; Runtime runtime = Runtime.getRuntime(); StringBuffer successOutput = new StringBuffer(); Stri.. 2019. 6. 11. ์ด์ 1 2 ๋ค์