๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

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.