본문 바로가기
반응형

Language99

golang Context란? https://golang.org/pkg/context/ or https://godoc.org/golang.org/x/net/contextPackage context는 마감 시간, 취소 신호 및 기타 요청 범위 값을 API 경계와 프로세스간에 전달하는 컨텍스트 유형을 정의합니다.서버에 들어오는 요청은 컨텍스트를 만들어야하며 서버로 나가는 호출은 컨텍스트를 받아 들여야합니다. 이들 사이의 함수 호출 체인은 컨텍스트를 전파해야하며 선택적으로 WithCancel, WithDeadline, WithTimeout 또는 WithValue를 사용하여 생성 된 파생 된 컨텍스트로 대체해야합니다. 컨텍스트가 취소되면 그 컨텍스트도 파생됩니다. 작성 중~ 2017. 9. 7.
go lang - Map go는 변수명 다음에 자료형이 온다. ex) var acet string java는 반대이다. ex) String acet; Map go var 맵명 map[키 자료형]값 자료형 ex) var acet map[string]int 할당은 make 사용! 예제는 아래에 있음. java는 HashMap acet = new HashMap 코드를 보자! 아래의 사이트에서 바로 테스트 해보면 된다. https://tour.golang.org/moretypes/19 package main import "fmt" func main() { // 자바에서는 new가 있다면 go에서는 make로 map을 할당한다. var acet map[string]string = make(map[string]string) acet = m.. 2017. 7. 5.
golang 정리 https://golang.org/pkg/net/http/ func NewRequest(method, urlStr string, body io.Reader) (*Request, error) { NewRequest는 메소드, URL 및 선택적 본문에 대해 새 Request를 반환합니다. 제공된 본문이 io.Closer 인 경우 반환되는 Request.Body가 body로 설정되고 클라이언트에 의해 닫힙니다. 메소드 Do, Post, PostForm, Transport.RoundTrip.NewRequest는 Client.Do와 함께 사용하기에 적합한 Request를 반환하거나 Transport.RoundTrip. 테스트에 사용할 요청을 만들려면 Server Handler는 다음과 같이 NewRequest 함.. 2017. 5. 18.
GOROOT와 GOPATH https://github.com/golang/go/wiki/GOPATH GOPATH 환경 변수는 Go 프로젝트 및 해당 바이너리 소스를 포함하는 $ GOROOT 외부의 디렉토리를 지정하는 데 사용됩니다.GO Lang은 아래와 같은 구조로 강제성을 가진다.terrypark@MacBook-Pro:~/go$ ll -rw-r--r--@ 1 terrypark staff 6148 4 26 13:41 .DS_Store drwxr-xr-x 19 terrypark staff 646 4 4 17:21 bin drwxr-xr-x 3 terrypark staff 102 2 2 11:13 pkg drwxr-xr-x 9 terrypark staff 306 3 2 14:20 src /Users/terrypark/go/src/gi.. 2017. 4. 27.
go land에서 formatting 설정하기 go land에서 formatting 설정하기 1. Preferences.. > Plugins 에서 File Watchers를 install 합니다. 2. File Watchers > gofmt 설정. go bin에 gofmt가 없다면 goimports로 해도 된다.Arguments: -w $FilePath$ 2017. 4. 26.
go lang Tip. tip_1 ) Test를 하고 싶다면?아래와 같은 사이트가 있는데 이녀석은 테스트에서 사용 되어진다고 한다. 아직 사용해본적은 없지만 사용하게 되면 포스팅 하도록 하겠다.http://goconvey.co/ tip_2) Mac에서 짠 뒤에 리눅스에서 동작하게 하려면?build를 할 디렉토리에서 아래와 같이 env GOOS=linux라고 지정!ex) env GOOS=linux go build tip_3) go에서 패키지 관리는 어떻게 할까?Java에 Maven같은게 있다면 Go는 glide라는 것이 있습니다.https://github.com/Masterminds/glide활용은 https://glide.sh/ 를 참조 또는 아래를 참조!$ glide create # Start a new workspace -.. 2017. 2. 15.
go lang - fresh를 사용해 보자. 이번 내용은 go get 이라는 명령어를 통해 Fresh 라는 것을 사용해 보자.Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file.저장 하면 바로바로 적용이 된다.https://github.com/pilu/fresh 에서 README.md를 참조! Installationgo get github.com/pilu/fresh 실행은 어플리케이션이 있는 곳으로 이동한 뒤에 fresh 라는 명령어를 쳐주면 서버가 기동 되어진다.fresh의 프로세스를 kill을할 때 유의 점으로는 fresh 말고도 runner_build라는것을 kill 해주어야 한다. 2017. 2. 15.
go lang을 해보자. 링크를 통해 OS에 맞는 것을 다운 받는다. (https://golang.org/dl/)home에서 go dir를 하나 만들어준다.다운 받은 pkg를 클릭클릭 하여 셋팅해준다..bash_profile에 환경변수를 잡아준다. # GOPATH export GOPATH=$HOME/go PATH=${PATH}:/usr/local/go/bin:${GOPATH}/bin 5. go 라는 명령어를 통해 잘 깔렸는지 확인.Go is a tool for managing Go source code. Usage: go command [arguments] The commands are: build compile packages and dependenciesclean remove object filesdoc show docume.. 2017. 2. 3.
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory problemjava -version-bash: /acet/program/jdk/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory solution$ yum -y install glibc.i686Loaded plugins: fastestmirror, securityYou need to be root to perform this command.[deploy@lineup-data-krane program]$ sudo yum -y install glibc.i686Loaded plugins: fastestmirror, securitySetting up Install ProcessLoading mirror speeds from .. 2016. 10. 27.
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.
자바 예외처리를 생각해보자. 예외의 종류는 2가지로 보면 된다.checked exception과 unchecked exception말그대로 체크가 되는 예외와 예기치 못하게 발생하는 예외를 뜻한다. 또한 unchecked exception은 runtime exception 이라고 많이 불리운다.여기서 생각해보아야 할 것이 있다. 어떤 처리를 해주어야 예외처리를 잘하는 걸까?보통은 Exception가 발생하면 잡아서 에러로그를 찍어주거나 상위로 올려주어서 처리를 하기도 한다.try { ... 블라블라 ...} catch(Excetpion e) { logger.error(e.getMessage);}토비책에서도 제대로된 예외처리를 하라고 살짝 나오기도 한다. 과연..어떤 예외처리가 제대로된 예외처리일까? 사람마다 다를수 있을것 같기도 하.. 2016. 9. 26.
특정 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.
couchbase와 같은 키/벨류의 key design?? 오픈소스로 키/벨류의 형태의 스토리지들이 많이 있다. Redis나 couchbase등이 그 예이다. 이러한 스토리지들에 저장을할 때 고려사항으로 key를 어떤식으로 만들어야할 지 고민이 되어진다.왜냐하면 이러한 key들은 한정되어진 범위를 가지고 있다. couchbase의 경우는 250byte로 제한을 둔다. 또한 이러한 key들의 무결성을 보장되어야 한다. 그렇지 않으면 데이터의 유실이 발생할 수가 있다.그래서 생각했던 것이 Hash였다. 그러나 자바진형의 String에서 제공되어지는 Hash는 중복의 염려가 있다고 한다.그래서 SHA-1 + Base64 Encoding(urlSafe)를 선택 하였다.아래는 스칼라 코드이며 해당 키는 아래의 소스를 통해 "IbDNShu-PGxJtnsUVuDJLv-aJo.. 2016. 4. 15.
(기초) 스칼라 데이터 구조(컬렉션) 2016/03/25 - [Language/Scala] - (기초) 스칼라 문법참고 사이트 : https://twitter.github.io/scala_school/ko/collections.html scala> val numbers = List(1,2,3,4,5)numbers: List[Int] = List(1, 2, 3, 4, 5) scala> Set(1,2,2)res20: scala.collection.immutable.Set[Int] = Set(1, 2) scala> val hostPort = ("localhsot", 8080)hostPort: (String, Int) = (localhsot,8080) scala> hostPort._1res21: String = localhsot scala> hos.. 2016. 3. 25.
(기초) 스칼라 문법 참고 사이트 : https://twitter.github.io/scala_school/ko/basics.html terrypark@localhost:~/program/sbt/bin$ sbt console[info] Set current project to bin (in build file:/Users/terrypark/program/sbt/bin/)[info] Starting scala interpreter...[info]Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).Type in expressions to have them evaluated.Type :help for more information. s.. 2016. 3. 25.
input value escape 적용하기! 상황) 아래와 같이 input box의 value의 값에 특수문자가 들어가면 안녕하세요! "ace-t" 입니다가 아닌 안녕하세요! 만 나오게 된다.ㅠㅠ 처리) 처리는 자바단에서 하였고 guava lib를 사용하였다.maven기반!http://www.mvnrepository.com/artifact/com.google.guava/guava/18.0 com.google.guavaguava18.0 guava 사용법 - 아래와 같이 Escape하고자 하는것을 addEscpae로 추가하시면 됩니다. 단, html 특수문자를 처리해줘야 하는 상황 입니다. 즉, "는 쌍따옵표죵! \" 2015. 11. 30.
자바 전체공백 제거하기 1. trim()은 문자열 앞뒤 공백제거. 전체가 아니라서 부족해!~ 하실때는? replaceAll(" ","") 또는 replaceAll("\\p{Space}", "") 로 공백을 제거하면 됩니다. 위처럼 검색을 때리면 "카카오톡" 으로 붙어서 검색하게 되어집니다. 참 쉽죠잉?참고로 가독성이 첫번째것이 더 높을 것 같아서 replaceAll(" ","") 처리하려고 했는데 치환이 안되는 경우도 있는듯 하여두번째 방법을 택하였습니다.참고 사이트 : http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html 끝~ 2015. 10. 19.
이펙티브자바) 규칙 68, 69 규칙 68. Prefer executors and tasks to threads# Info 01) JDK 1.5 - add java.util.concurrent참고 사이트 : http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html # info_02) 이 패키지에는 실행자 프레임워크(Executor Framework)라는 것이 있음, 인터페이스 기반 Task 실행 프레임워크. ex_01) ExecutorService executor = Executors.newSingleThreadExcutor(); Runnable을 넘겨 실행 : excutor.excute(runnable); 자연스레 종료 : executor.sh.. 2015. 8. 5.
이펙티브 자바) 규칙 59, 60, 61, 62, 63, 64, 65 규칙 59. Avoid unnecessary use of checked exceptions checked exceptions Exception can recover IOException, IllegalArgumentExceptions uncheked exceptions RuntimeException can not recover transactionNullPointerException 핵심요약 : checked exceptions 은 너무 남발하면 프로그램을 복잡하게 만든다.그러므로 훌륭한 프로그래머가 되기위해서는 생각해보아야 한다. 무엇을?1) 예외적인 상황을 막을수 있는가? 2) 예외 상황에 대한 조치를 취할 수 있는가?막을수 없고, 조치를 취할 수 없다면(can't recover) runtimeExc.. 2015. 7. 30.
정규표현식을 사용해보자~ 표현식 설명 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자 (문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. []내에서 ^가 선행하여 존재하면 not 을 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 [0-9]와 동일 \D 숫자를 제외한 모든 문자 \ 정규표현식 역슬래시(\)는 확장 문자 역슬래시 다음에.. 2015. 7. 21.
반응형