AWS 커맨드에서 신임장은 S3버켓의 위치region)과 키 설정, 파일 포맷 설정에 사용된다.매번 커맨드시에 입력하는 것이 번거롭기 때문에 신임장 파일에 저장해 놓고 사용하면된다. - AWS 커맨드를 이용해서 설정하는 것도 가능하고, 파일을 생성해서 사용하는 것도 가능하다. AWS 커맨드에서 사용하는 신임장(credential) 설정방법은 다음과 같다. $ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [Non..
HDFS에 파일 업로드시에 권한문제가 발생하여 파일 업로드가 안 될 경우가 있다. Permission denied: user=alice, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x 보통 하둡에 설정된 사용자명과 현재 사용자 명이 달라서 발생하는 오류이다. 이럴때는 아래와 같이 하둡 사용자 명을 설정하여 해결한다. System.setProperty("HADOOP_USER_NAME", "hduser") export HADOOP_USER_NAME= http://stackoverflow.com/questions/11041253/set-hadoop-system-user-for-client-embedded-in-java-webapphttp://stacko..
패리티 비트는 정보의 전달 과정에서 오류가 생겼는지 확인하기 위해 추가하는 비트이다. 8bit 데이터 구조에서 7bit는 전달하는 데이터(ascii는 7bit로 모두 표현가능)를 표현하고, 마지막 1bit로 데이터에 오류가 있는지 확인하는 것이다. 최종적으로 덧붙이는 비트에 따라, 짝수 패리티, 홀수 패리티로 구분된다. * 패리티는 오류의 발생여부를 알 수 있지만 수정할 수는 없다. https://ko.wikipedia.org/wiki/%ED%8C%A8%EB%A6%AC%ED%8B%B0_%EB%B9%84%ED%8A%B8
순열은 순서가 부여된 임의의 집합을 다른 순서로 뒤섞는 연산을 말한다. 1, 2, 3 이라는 숫자의 집합이 있을 때, 다음과 같이 뒤섞는 연산이다. 1,2,3 1,3,2 2,1,3 2,3,1 3,2,1 3,1,2 자바에서는 재귀연산을 이용해 해결할 수 있다. 기준점(pivot)이 되는 배열의 인덱스를 제공하면, 해당 인덱스의 뒤쪽에 있는 값들과 위치를 변경후 기준점을 다음의 위치로 옮겨 다시 호출하는 순서로 진행한다. 아래와 같이 배열을 이용하는 방법과 문자열을 이용하는 방법이 있다. * 순열은 문자열의 길이이 따라 n! 로 시간이 걸리게 된다. 문자열의 길이가 20, 30 개가 된다면 시간이 굉장히 오래 걸리게 된다. http://gorakgarak.tistory.com/522 http://stacko..
자료구조에서 큐는 FIFO(First In First Out) 구조의 자료이다. 처음 들어간 데이터를 출력한다. 구현방식에 따라 다양한 종류가 존재한다. 자바의 util 에는 기본적으로 큐를 제공하기 때문에 해당 부분을 이용하면 된다. ArrayDeque 를 이용하면 되는데 주의할 점이 하나 있다. * 데이터를 입력하는 방법에 offer(), push() 두가지 메소드가 있는데 push는 데이터를 앞으로 입력하고, offer는 데이터를 뒤로 입력한다. push 만을 이용하여 데이터를 입력하면 스택처럼 동작하고, offer 만을 이용하여 데이터를 입력하면 큐로 동작한다. 따라서 데이터를 입력할 때 메소드를 잘 선택하여 입력해야 한다. import java.util.ArrayDeque; public clas..
스택은 자료구조에서 LIFO(Last In First Out) 구조를 가지는 자료구조이다. 구현하는 방식에 따라 종류가 많이 있다. 자바의 util 에 기본적으로 스택을 제공해주기 때문에 따로 구현하지 않고 이 클래스를 사용하면 된다. import java.util.Stack; public class StackExample { public static void main(String[] args) { Stack stack = new Stack(); // 데이터 입력 stack.push(5); stack.push(4); stack.push(3); stack.push(2); stack.push(1); // 데이터 출력 System.out.println("마지막에 넣은 데이터부터 출력.."); System.ou..
버블정렬(거품정렬) 시간복잡도가 n의 제곱으로 늘어나기 때문에 시간이 굉장히 오래 걸린다. 정렬에 걸리는 시간은 오래 걸리지만 알고리즘이 단순하기 때문에 자주 사용된다. 알고리즘은 다음과 같다. 배열의 n번과 n+1번을 비교하여 n번이 더 크면 둘을 바꾼다. 즉 더 큰값을 뒤로 돌린다. 이를 반복하여 가장 큰값을 맨뒤로 보내고 이를 처음부터 마지막의 앞까지 반복하여 정렬을 진행한다. https://namu.wiki/w/%EC%A0%95%EB%A0%AC%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#s-2.1.1 https://ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC
네 Python은 느립니다. 하지만 저는 신경쓰지 않습니다. 파이썬이 느린가에 대한 좋은 내용이 있어서 읽어보고 스크랩합니다. ^^ 요약하자면... 파이썬은 인터프리터 언어이기 때문에 C, C++ 보다 느릴수 밖에 없다. 하지만 파이썬의 강점은 생산성에 있다. Java, C++ 대비 2배 이상의 생산성을 가질 수 있다. 파이썬의 동작이 느려서 문제가 생긴다면, 병목현상이 발생하는 부분을 확인하여 코드를 최적화하고,그래도 안된다면 다른 아키텍처를 찾는다. 가장 비싼 자원을 최적화 하세요. 그것은 컴퓨터가 아닌 당신입니다.
제가 중국에 살다보니, 부모님이 "너 있는 동안 중국 여행가겠다"고 자꾸 그럽니다. 볼 것도 갈 데도 없는데... 제 주관적인 관점이긴 하지만 부모님의 중국 관광을 말리는 이유 세 가지만 들어볼께요... 1. 입장료 바가지가 장난 아닙니다. 관광지 바가지야 전세계 공통이죠. 근데 중국은 정부까지 나서서 심각합니다. 무슨 수향 이런데(운하 있는 전통 마을을 말합니다)는 입장료가 기본 200위안- 약 4만원- 이고, 유명한 산들도 기본 200입니다. 제가 내본 최고의 입장료는 샹그릴라 보타춰 국립공원이었는데 진짜 아~~무 볼것도 없는 풀밭과 숲이었는데 1인당 538위안 내고 들어갔습니다. 인당 10만원이 넘죠? 부들부들... 이렇게 입장료 바가지가 엄청난 이유는 여러가지 있겠지만 대체로 현지인(소수민족)에게..
트리구조
마세라티 문제는 내가 마세라티를 살때 쯤 발생할 것 같은 문제를 고민한다는 것이다. 현재 일어나지 않은 언젠가 발생할 문제를 미리 걱정해서 동시접속자 만명이 가능한 서버를 구축하거나, 예외처리를 진행하는데 집중하여 시간을 보내는 문제이다. 내가 만든 서비스가 잘된다면 충분히 발생할 수 있는 문제이지만, 현재는 발생할 가능성이 낮다는 문제가 있겠다. 어떻게 보면 미리 걱정하는 것도 나쁘지 않을 것 같은데...처음 설계부터 이런것을 염두해 두고 진행하면 좋겠지만 잘 안되니까 문제겠다. https://www.quora.com/Whats-a-Maserati-Problem
Cleaner Master / Clean Master by Cheetah Mobile : Does NOTHING, manifests ads.QuickPic by Cheetah Mobile : Uploads data.ES App Locker and ES File Explorer Pro : Ads on lock screen.Xender : Ads on lock screen.Touchpal : Ads on lock screen.Amber Weather : Ads on lock screen.GO Weather Forecast & Widgets / (infact most Apps related to GO) : Ads everywhere.Z Camera : Ads on lock screen.Kitty Pla..
파이썬은 인터프리터를 구현한 종류에 따라 아래와 같이 구분될 수 있다. 보통 CPython을 Python 이라고 부른다. IronPython.Net 으로 구현CPythonJPythonPyPy [장점]읽고 사용하기가 쉽다. IOT 에 강점을 가진다. 비동기식 코딩자바보다 뛰어난 멀티패러다음 [단점]속도Java, C에 비하여 느리다. 속도 향상을 위한 방법으로 C Binding 방법이 존재한다. 자바의 JNI 처럼 원시 코드를 직접 호출하여 속도를 높인다. 모바일 컴퓨팅과 브라우저의 부재설계의 제약 JIT가 없는 동적 인터프리터 언어와, 컴파일언어의 성능을 비교하면 컴파일러가 압도적으로 유리하다. 파이썬의 강점은 속도에 있지 않다. 파이썬의 최대 강점은 생산성에 있다. http://www.itworld.co..
[컴파일러]고급언어로 쓰여진 프로그램이 컴퓨터에서 실행되기 위해서는 컴퓨터가 직접 이해할 수 있는 언어로 바꾸어 주어야 한다. 이런 역활을 하는 프로그램이 컴파일러 이다. 고급언어는 인간이 이해할 수 있는 표현으로 사용할 수 있는 언어이고, 저급언어는 컴퓨터가 이해할 수 있는 표현으로 사용하는 언어이다. 컴파일러는 소스코드를 컴파일하여 목적코드(Object Code)를 생성하고,목적코드는 링커가 라이브러리와 연결하여 실행가능한 코드를 생성하여 실행한다. * 자바 컴파일러와 JIT 컴파일러는 다른 것이다. 자바 컴파일러는 .java 파일을 해석해서 .class파일(자바 바이트 코드)로 변환한다. JIT 컴파일러는 .class파일을 해석해서 기계어로 번역하여 JVM이 실행할 수 있는 형태로 번역한다. [AR..
네이버 공채에 지원하여 면접을 보고 왔다. 질문들이 대체적으로 자세하게 물어본다. 모르는 문제에 대한 질문이 들어와서 한번 당황하니까 계속 말려 들어서 멘붕이 왔다. ㅠㅠ 여기 면접은 난이도가 높은 것 같다. 담당하는 프로젝트는 물론이고 기초 지식에 대해서 많은 준비가 필요할 것 같다. 전반적으로 나의 실력이 아직 많이 부족함을 많이 느꼈다. -- 면접 질문 -- - 파이썬의 Gil- 파이썬은 성능이 느린 이유는?- 전략 패턴- 담당하는 프로젝트의 아키텍처에 대한 설명- 스프링빈과 포조빈의 차이- 담당하는 프로젝트의 성능에 대한 고민- 데브 옵스- 더불어 손코딩 질문도 나온다.
아마존 AWS 에서 사용하는 파일 시스템에는 S3 블록파일 시스템과 S3 네이티브 파일 시스템이 존재한다. 하둡을 지원하기 위해 처음 등장한 블록파일 시스템은 "s3://" 스키마를 사용한다. HDFS와 유사하게 동작하며, 파일을 블록형태로 저장한다. 이 블록파일 시스템은 다른 파일 관리도구로 읽을 수 없고, 블록 형태로 저장되어 일반적인 파일 시스템과 달라서네이티브 파일 시스템이 등장하였다. 네이티브 파일 시스템은 's3n://' 스키마를 사용한다. 이 네이티브 파일 시스템은 다른 파일 관리 도구로도 읽을 수 있다. 처음 등장하였을 때는 5GB의 파일당 제한이 있었지만, 나중에 5TB로 수정되었다. * 블록과 네이티브 파일 시스템의 차이는 우선 URI 스키마의 차이, 저장 방식의 차이, 접근 도구의 차..
extendNodeEncodings() doesn't work with Node v4+. You'll need to update your code to use encode anddecode functions directly. nodejs 버전에 따라 iconv-lite 를 이용하여 한글을 인코딩 할때 extendNodeEncodings() 를 사용하는 방법이 위와 같은 오류 메시지와 함께 동작하지 않을 때가 있다. 이는 노드의 버전에 따라 기존에 사용하는 방법이 동작하지 않기 때문이다. 이럴 때는 아래와 같이 하면 된다. https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility
안드로이드에서 레이아웃을 구성할 때 사용하는 fill_parent, match_parent, wrap_content 의 차이는 아래와 같다. fill_parent = match_parent 이다. api8에서 부터 match_parent가 fill_parent로 이름이 변경되었다. fill_parent는 현재 객체의 크기를 부모 객체의 크기와 동일하게 설정한다. 즉 부모의 width, height가 상속된다. wrap_content는 자식 컴포넌트의 사이즈에 우선하여 길이가 설정된다 http://griper.tistory.com/entry/fillparent-%EC%99%80-wrapcontent-%EC%9D%98-%EC%B0%A8%EC%9D%B4http://stackoverflow.com/questio..
웹상의 이미지를 다운로드 하기 위해서는 request 모듈을 이용한다. 예제는 아래와 같다. var fs = require('fs'); // 네이버에 있는 신문의 이미지를 다운로드 // 헤더를 지정하지 않고 바로 사용해도 됨 var requestOptions = { method: "GET" ,uri: "http://imgnews.naver.net/image/003/2016/04/11/NISI20160411_0011572229_web_99_20160411103315.jpg" ,headers: { "User-Agent": "Mozilla/5.0" } ,encoding: null }; // 파일명을 지정한다. request(requestOptions).pipe(fs.createWriteStream('sampl..
nodejs 에서 zip 파일을 만들때 사용한 모듈은 node-zip 이다. * 어느게 좋은지 몰라서 구글검색에서 첫번째에 나오고, 다운로드 수를 보니 괜찮은 것 같아서 사용함 zip 파일을 생성하는 예제는 다음과 같다. file 메소드를 이용하여 압축할 파일을 지정하고,generate 메소드로 zip 파일의 byte string 을 생성하여,fs의 writeFileSync 로 파일을 생성한다. 자세한 옵션은 아래의 링크를 참조하면된다. var fs = require("fs"); var zip = new require('node-zip')(); // 파일을 생성하여 zip 파일 생성 // 1.txt의 내용이 a, 2.txt의 내용이 b 로 파일 생성 zip.file('1.txt', 'a'); zip.fi..
nodejs 의 cheerio 모듈을 이용하여 네이버의 IT 뉴스 홈페이지를 파싱하는 소스이다. 한글파싱을 위하여 iconv-list 모듈을 이용하였다. var request = require("request"); var cheerio = require('cheerio'); var iconv = require('iconv-lite'); var requestOptions = { method: "GET" ,uri: "http://news.naver.com/main/list.nhn?mode=LS2D&mid=shm&sid1=105&sid2=731" ,headers: { "User-Agent": "Mozilla/5.0" } ,encoding: null }; request(requestOptions, functio..
마이크로소프트가 Build2016컨퍼런스를 통해 윈도우10 1607업데이트로 Bash Shell을 제공할 예정이라고 밝혔습니다. Bash Shell은 리눅스와 OS X에 사용중인 것으로 지금까지 MS는 자체 PowerShell을 사용하고 있었습니다. 또한 가상화가 아닌 네이티브로 우분투의 모든 환경을 사용할수 있다고 하였습니다. 오 이제 윈도우에서 리눅스용 명령어를 바로 사용할 수 있게 된다.hadoop, spark 테스트시에 더 편해지겠다. http://techcrunch.com/2016/03/30/be-very-afraid-hell-has-frozen-over-bash-is-coming-to-windows-10/http://www.clien.net/cs2/bbs/board.php?bo_table=ne..
- Total
- Today
- Yesterday
- HDFS
- Python
- SPARK
- bash
- airflow
- Hadoop
- 백준
- Linux
- SQL
- 알고리즘
- ubuntu
- emr
- yarn
- build
- S3
- HIVE
- mysql
- 하이브
- 하둡
- 정올
- AWS
- 파이썬
- oozie
- java
- nodejs
- hbase
- 오류
- Tez
- error
- 다이나믹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |