본문 바로가기
반응형

직장이 아닌 직업을 가지자!749

python 2.7 한글처리 문제 위의 코드는 print unicode(line) 으로 출력시 오류가 발생 함. print unicode(line, 'cp949')한글 처리를 위해 위의 코드처럼 cp949를 유니코드로 변환 해주면 한글이 잘 출력이 된다. Simple 테스트 코드 #-*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') f = open("/Users/terrypark/pythonPrj/target.txt", 'r') line = f.readline() print unicode(line, 'cp949') 읽어볼만한 글!이글은 파이썬 초보의 글입니다. 그리고 새로 들어오는 파이썬 초보를 위한 글입니다. johnsonj의 개인적인 생각에 불과하므.. 2016. 10. 7.
BATCH, OLTP,OLAP,DW 정의 OLTP,OLAP,DW 정의Batch Processing작업을 몰아두었다가 한번에 처리하는 시스템. 예: 쇼핑몰로 예를 들면 하루가 지난 뒤에 전체 매장의 재고를 체크하고 현재의 상품에 대해 가격과 재고 등을 맞추는 작업을주기적으로 수행하는 작업을 말한다! 간단히 말해 데이터를 실시간이 아닌 전체적으로 맞추는 작업을 하거나 주기적으로 발생하는 것들에 대한 처리를 하는 것! 예시는 넘나어려운것.. OLTP: OnLine Transaction ProcessingBatch 와 반대되는 개념으로 실시간으로 db의 데이터를 트랜잭션 단위로 갱신/조회하는 처리방식. 은행, 증권사 등에서 씀. 기존과 달리 다수의 client가 거의 동시에 이용할수 있도록 송수신자료를 트랜잭션단위로 압축한것이 특징. DW: Data .. 2016. 9. 28.
자바 예외처리를 생각해보자. 예외의 종류는 2가지로 보면 된다.checked exception과 unchecked exception말그대로 체크가 되는 예외와 예기치 못하게 발생하는 예외를 뜻한다. 또한 unchecked exception은 runtime exception 이라고 많이 불리운다.여기서 생각해보아야 할 것이 있다. 어떤 처리를 해주어야 예외처리를 잘하는 걸까?보통은 Exception가 발생하면 잡아서 에러로그를 찍어주거나 상위로 올려주어서 처리를 하기도 한다.try { ... 블라블라 ...} catch(Excetpion e) { logger.error(e.getMessage);}토비책에서도 제대로된 예외처리를 하라고 살짝 나오기도 한다. 과연..어떤 예외처리가 제대로된 예외처리일까? 사람마다 다를수 있을것 같기도 하.. 2016. 9. 26.
스카우터(scouter)를 통해 톰캣 성능 모니터링을 해보자! 스카우터를 사용하기 위해서는 우선 아래의 링크를 통하여 아키텍처와 어떻게 셋팅하는지 살펴보자! https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Quick-Start_kr.md5번까지 따라하시고 돌아오시면 됩니다. 꼭 돌아오세요..ㅋㅋ참고 : 스카우터의 구성 start-scouter-server.sh / start-scouter-host.sh위의 두개의 쉘을 통해 agent를 띄우면 아래와 같이 클라이언트에서 보이게 됩니다.톰캣까지 붙여진다면 아래와 같이 보여지게 됩니다. 이제! 톰캣을 붙여봅시다! 1) 복사우선은 demo-env1 디렉토리의 scouter > agent.java > scouter.agent.jar를 .. 2016. 9. 8.
SSH 유용정보! SSH 이자식!! 맨날 헷깔리게 해서 정리를 초스피드로 해본다. 중요한 것만 정리! SSH key 생성 - rsa라는 암호화 방식으로 생성하겠다는 이야기!ssh-keygen -t rsa id_rsa : private keyid_rsa.pub : public keyauthorized_keys : id_rsa.pub의 값을 저장.(remote) ex) A서버 / B서버가 있다면B에서 A를 ssh로 접근하고 싶다면 B의 id_rsa.pub를 A의 authorized_keys에 등록하면 된다. 접속이 안된다면?ssh -v 옵션으로 디버깅해본다./etc/hosts 등록도 해본다. 그리고 혹시나 공통으로 사용되어지는 ssh 공용키가 있다면 아래처럼 권한을 제대로 줘야한다..엄청 깐깐한 녀석이다!!chmod 700 .. 2016. 8. 29.
ace-t의 Spring Boot 따라잡기(기본 - freeMarker 연동) 오랜만에 강좌를 쓰네요^0^ 오늘은 freeMarker라는 템플릿을 이용하여 view를 만들어보겠습니다. ㅎㅎ왜 freemarker냐?! 라고 하시면..회사에서 현재 사용하고 있어서라고..후훗 우선 지난번의 강좌를 통해 새롭게 검토하는 겸 따라서 해보겠습니다. 2016/03/22 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(셋팅편)2016/03/22 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - 헬로우월드찍어보기!)2016/03/23 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - SourceTree에 연결 및 Repository에 올리기)20.. 2016. 8. 28.
톰캣 튜닝 톰캣 튜닝에는 여러가지 방법이 있을 것이다.그중에 힙과 메소드를 늘리는 방법을 알아보자! bin/catalina.sh eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ -Djava.security.manager \ -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_.. 2016. 7. 29.
spring boot 환경 나누기(profiles) TEST Code @RunWith(SpringJUnit4ClassRunner.class)@SpringApplicationConfiguration(classes = LineupFantaApplication.class) public class ServerHolderTest { public static final Logger logger = LoggerFactory.getLogger(ServerHolderTest.class); @Autowired ServerHolder serverHolder; // @Before // public void setUp(){} @Test public void testServerProfiles() throws Exception { Map servers = serverHolder.g.. 2016. 7. 18.
spark log4j 사용해보기! 구조는 아래와 같습니다.assembly.jar // assembly한 소스! jarspark-submit.sh // spark-submit의 내용이 있는 shellscriptlog4j-acet.properties // 우리가 사용하는 log4j.properties 아래의 spark-submit 에서 아래의 옵션을 2가지 추가 해줍니다.(즉, spark-submit.sh안에서!)예시)LOG_PATH=file:/full path를 적어줍니다./log4j-acet.properties$SPARK_HOME/bin/spark-submit --class "Main" \ --conf spark.executor.extraJavaOptions="-Dlog4j.configuration=$LOG_PATH" \ --driver.. 2016. 7. 4.
spark logback 설정? spark에서 돌아가는 app에서 logback.xml을 설정하여 사용하고 싶었습니다. 환경은! spark 1.5.2scala 2.10.6 그리고 아래와 같이 build.sbt에 설정! "ch.qos.logback" % "logback-classic" % "1.1.6" 그러나 spark conf쪽의 log4j.properties를 조정하면 영향을 받음. 배제 시켜야할 듯 어디에서? 스파크에서!그러므로 그냥 logback 말고 log4j를 사용하는게 좋을듯! Keep log4j: Add a bootstrap action to modify /home/hadoop/spark/conf/log4j.properties to add an appender? However, this file already contain.. 2016. 6. 29.
아직도 nohup으로 돌리세요?? - daemon ( daemon-0.6.4.tar.gz) 지금까지 백그라운드로 실행을 하기 위해 nohup을 사용했다면 아래의 daemon을 사용하여 보자!http://www.libslack.org/daemon/ daemon으로 수행할 때 pid도 생성할 수 있고 프로세스 관리에 도움을 많이 준다.물론 다른 여러가지가 있지만 일단은 daemon을 써봐야겠다. What is daemon?Daemon turns other process into daemons. There are many tasks that need to be performed to correctly set up a daemon process. This can be tedious. Daemon performs these tasks for other processes. This is useful fo.. 2016. 6. 21.
log 모니터링을 위한 아키텍처 log 모니터링을 위한 아키텍처 목표는 ansible + elk END 2016. 6. 15.
특정 PORT Check 모니터링 관련해서 작업을 하는데 음..잘만들어져있는듯..굿굿 정말 손쉽게 작업을할 수 있었음! 아래는 파이썬 특정 포트 체크!0이면 정상, 1이면 오류~ 오랜만에 포스팅 하는듯..ㅠㅠ 화이팅 해야지! 아자아자~ #!/usr/bin/python import socket; sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) check_server = '127.0.0.1'check_port = 8080result = sock.connect_ex((check_server, check_port))if result == 0: print "0"else: print "1" sock.close() 2016. 6. 14.
Integer.valueOf / Integer.parseInt 왜 자꾸 오류가 나나..싶었는데... Integer.valueOf(queryTimeStr); // queryTimeStr은 스트링형태가 확실했다... 원인은..int 범위를 넘어서였다..-_-;; 삽질 하다니 ㅋㅋㅋㅋ 2016. 5. 19.
spark-submit 옵션 관련 Spark Submit의 옵션들에 대해서 알아보자.$SPARK_HOME/bin/spark-submit --class "Main" \ --master spark://acet.pe.kr:7077 \ --executor-memory 4G \ --total-executor-cores 25 \ --conf spark.driver.memory=2G \ --properties-file $CONF_NAME \ --conf spark.driver.extraJavaOptions='-Xms1024m -Xmx2048m' \ /home/acet/service/hahaha/good-dev-assembly-1.0.jar --master // 스파크 마스터의 URL을 적어준다.The cluster manager to connect .. 2016. 5. 16.
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread 아래와 같은 오류가 발생하였다.원인은 스파크 버전이 달라서였다! ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main]java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4ce379d4 rejected from java.util.concurrent.ThreadPoolExecutor@60e14377[Running, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 1]at jav.. 2016. 5. 11.
[삽질 스토리] ssh에 연결하면서 바로 shell 수행하기!! 상황)쉘스크립트를 하나 받았다.이 쉘을 수행 후에 내가 개발한 것을 돌려야 한다. 이것은 다른 서버에 있다. ssh 공개키도 설정 된 상태! 방법)ssh를 통해 서버에 접근하여 내가 개발한 것을 돌릴수 있는 쉘 스크립트를 돌리려고 한다. 시도1)ex) ssh acet(user name)@search-acet-good(hostname):/home/acet/dev/hello.sh a b 아래의 오류가 계속 났다..ㅠ_ㅠ..ssh could not resolve hostname name or service not known /etc/hosts도 확인하여 등록하였지만 계속하여 났다..OTL=3=3 아래처럼 했더니..잘되었다..ex) ssh acet(user name)@search-acet-good(hostnam.. 2016. 5. 10.
tomcat performance problem! tomcat을 올리고나서 바로 api가 조회가 되어지지 않았다.. 그래서 tomcat의 catalina.sh에서 아래를 추가하여주었다. JAVA_OPTION 부분쪽에! -Djava.security.egd=file:/dev/urandom참조 사이트 : http://stackoverflow.com/questions/137212/how-to-solve-performance-problem-with-java-securerandom 2016. 4. 25.
문제해결) 로딩만 하다가 타임아웃 나는 현상.. couchbase + spring boot api 를 사용하였다.그런데..200만건 정도가 들어있는 상태에서 api로 조회를 하니..loading..만 하다가 timeout이 되면서 죽는 현상이 발생!! 1. spark(scala)로 데이터를 적재하는데 있어서 warning이 발생. 혹..이것 때문에? 라는 생각이 들었다. 왜냐하면 spark로 대량의 데이터를 적재한 뒤에 발생을 하였고 Flush를 한 뒤 1건을 넣고 조회를 하려고 해도 같은 현상이 발생 하였기 때문이다. 하지만 warning 때문은 아니고 추측하기에 Flush를 하여도 완전한 delete를 하는 것은 아니고 marking했다가 이녀석은 del 상태군..pass~! 하면서 전체를 풀 스캔을 하는것 같다. couchbase를 재부팅하고 다.. 2016. 4. 19.
couchbase와 같은 키/벨류의 key design?? 오픈소스로 키/벨류의 형태의 스토리지들이 많이 있다. Redis나 couchbase등이 그 예이다. 이러한 스토리지들에 저장을할 때 고려사항으로 key를 어떤식으로 만들어야할 지 고민이 되어진다.왜냐하면 이러한 key들은 한정되어진 범위를 가지고 있다. couchbase의 경우는 250byte로 제한을 둔다. 또한 이러한 key들의 무결성을 보장되어야 한다. 그렇지 않으면 데이터의 유실이 발생할 수가 있다.그래서 생각했던 것이 Hash였다. 그러나 자바진형의 String에서 제공되어지는 Hash는 중복의 염려가 있다고 한다.그래서 SHA-1 + Base64 Encoding(urlSafe)를 선택 하였다.아래는 스칼라 코드이며 해당 키는 아래의 소스를 통해 "IbDNShu-PGxJtnsUVuDJLv-aJo.. 2016. 4. 15.
uses unchecked or unsafe operations. uses unchecked or unsafe operations. 와 같은 워닝이 뜨면 확인해보아야할 것이있다. 아래와 같이 ArrayList 를 하나 선언했다. ArrayList keyArr = new ArrayList(); 위처럼 선언을 하면 uses unchecked or unsafe operations. 라고 warning이 뜬다. ArrayList keyArr = new ArrayList(); 이렇게 해야 경고는 뜨지 않는다. 관련해서 이펙티브 자바책을 한번 보면 좋을것 같다. - 끝 - 2016. 4. 1.
반응형