본문 바로가기
반응형

전체 글713

golang - Package json import "encoding/json"json 패키지는 RFC 4627에 정의 된 JSON의 인코딩 및 디코딩을 구현합니다. JSON 및 Go 값 간의 매핑은 marshal 및 unmarshal 함수에 대한 설명서에 설명되어 있습니다.func Marshal(v interface{}) ([]byte, error)Marshal은 v의 JSON 인코딩을 반환합니다. Marshal은 값 v를 재귀적으로 호출한다. 발생한 값이 Marshal 인터페이스를 구현하고 nil 포인터가 아닌 경우 MarshalJSON 메서드를 호출하여 JSON을 생성합니다. MarshalJSON 메서드가 없지만 값이 encoding.TextMarshaler를 대신 구현하면 Marshal은 해당 MarshalText 메서드를 호출하고 결.. 2018. 2. 9.
valid 시 non zero value required 오류 func checkRequired(v reflect.Value, t reflect.StructField, options tagOptionsMap) (bool, error) { if requiredOption, isRequired := options["required"]; isRequired { if len(requiredOption) > 0 { return false, Error{t.Name, fmt.Errorf(requiredOption), true} } return false, Error{t.Name, fmt.Errorf("non zero value required"), false} } else if _, isOptional := options["optional"]; fieldsRequiredByDe.. 2018. 2. 2.
Review java 말고 golanginput / output은 동일하게 / export되지 않는 함수면 소문자로 SetValue (X) setValue(O)acet.EntityInfo = setValue(acet.EntityInfo)interface conversionswitch문을 사용할 수 있다. 해당 case의 타입이 들어오면 맞는 case 구문을 타게 된다.ex) Body가 인터페이스 형태 switch acet.Body.(type) {case *xxx.xxxx:case *aaa.xxxx:default : } 2017. 10. 24.
test code..반성! java나 go lang이나 테스트 코드가 있다.테스트 주도 개발이 좋다고 책에서 많이 보았다. 하지만 정작 그러한 책들을 보았음에도 불구하고..간만에 코드를 짜게 되었는데..(그동안 서버 발주부터 셋팅, ACL 신청 등등 이러한 일들을 했다.)테스트 코드를 짜야겠다는 생각을 하지 않은채 코드를 짰고, 테스트도 리퀘스트 부분만 잘들어가는지 대충 확인하고 다되었다고 PR을 날렸다.리뷰의 결과는 창피했다.왜 나는 꼼꼼하게 테스트 코드를 짜면서 테스트를 하지 않았을까?당연..테스트 코드를 짜기가 부담스러웠나보다..또는 단순하게만 테스트 코드를 짜왔을지도 모른다.막상 하려고보니..멍~하다. 자..그럼 이제 무엇을 해야할까?1) 앞으로 계속 두려워하며 쫄아서 피할것인가? OR2) 두려움을 극복하려고 노력할 것인가.. 2017. 10. 13.
mac os에서 kafka-console-consumer 사용하기 kafka installbrew로 인스톨 해준다. brew install kafka명령어를 날리려는데 셋팅 된 위치를 모르겠다..ㅋㅋ위치는 요기!! /usr/local/Cellar/kafka/0.11.0.0/bin 명령은!./kafka-console-consumer --zookeeper xxx.xxx.com:1111/acet-kafka --topic ace-taeha 끝~ 2017. 9. 13.
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.
kibana 잘 안띄워 진다면? 확인해보면 좋다! 로컬이 아닌 서버에 kibana를 다운 받고 run을 한 뒤!웹브라우저로 접근을 하려는데..접근이 fail...# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.# The default is 'localhost', which usually means remote machines will not be able to connect.# To allow connections from remote users, set this parameter to a non-loopback address.server.host: "0.0.0.0" 원인은 server.host가 주석처.. 2017. 8. 28.
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.
linux os 확인 $ grep . /etc/*-release /etc/centos-release:CentOS Linux release 7.2.1511 (Core) /etc/os-release:NAME="CentOS Linux" /etc/os-release:VERSION="7 (Core)" /etc/os-release:ID="centos" /etc/os-release:ID_LIKE="rhel fedora" /etc/os-release:VERSION_ID="7" /etc/os-release:PRETTY_NAME="CentOS Linux 7 (Core)" /etc/os-release:ANSI_COLOR="0;31" /etc/os-release:CPE_NAME="cpe:/o:centos:centos:7" /etc/os-relea.. 2017. 7. 3.
Docker ? Docker? 2013년 3월 Docker, Inc에서 출시한 오픈소스 컨테이너 프로젝트 복잡한 리눅스 어플리케이션을 컨테이너로 묶어서 실행할 수 있음. 리눅스 커널에서 제공하는 컨테이너 기술을 이용. 컨테이너(이미지)를 전 세계 사람들과 공유 Github와 비슷한 방식의 Docker Hub 제공. 이미지 생성과 배포에 특화. 이미지 버전관리 제공, 중앙저장소에서 이미지를 올리고 받을 수 있음. (push/pull) 컨테이너? 가상화보다 훨씬 가벼운 기술. 가상머신 : 컴퓨터 안에서 컴퓨터를 만들어내기 위한 시도(1960년 대에 가상화 개념이 처음 등장) 컴퓨터 통째로 만들어내다보니 각종 성능 손실이 발생. -> 리눅스 컨테이너 등장. 컨테이너 안에 가상공간을 만들지만 실행 파일을 호스트에서 직접 실행... 2017. 6. 27.
메시지큐에 대해 알아보자. 모델 종류 발행/구독(publish - and - subscribe) 모델 1: 다 - 모든 클라이언트에게 모든 메시지의 사본을 전달. publisher -> topic -> subscriber -> subscriber -> subscriber 지점간 연결(point - to - point) 모델 1:1 - 하나의 메시지는 하나의 클라이언트에만 전송(큐는 공유 가능) sender -> queue -> receiver 위의 모델 중에 publish - and - subscribe(pub - sub) 모델에 대해서 알아보자! pub/sub 구조 보통의 message queue들은 publisher - message broker(topic) - subscriber 구조를 사용한다. publisher(messa.. 2017. 6. 27.
pokemon skin 심심했던 검정 화면이! 아래와 같이 변화합니다 ㅋㅋㅋ 굿뜨! https://github.com/LazoCoder/Pokemon-Terminal 2017. 6. 22.
About Json 개 요 about Json 관련 개념 marshalling/unmarshalling encoding/decoding 예제 기본적인 코드 구현 확장 관련 된 확장 개념 등 개요 JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999의 일부에 토대를 두고 있다. 왜 Json을 사용하는가? 경량의 데이터 포맷(XML보다) 간단한 포맷(가독성이 좋음) 기존 XML보다 다양한 데이터 타입 제공(string, number, boolean), xml은 only .. 2017. 6. 9.
PlaybackController Interface 그림은 무관합니다. 최강두산 화이팅! ㅋㅋ Overview PlayCommandIssued Event PauseCommandIssued Event NextCommandIssued Event PreviousCommandIssued Event Additional Interfaces Resources Overview PlaybackController 인터페이스는 음성 요청이 아닌 클라이언트 측 버튼 누르기 또는 GUI 어바이어를 통해 재생 대기열을 탐색하기위한 일련의 이벤트를 제공합니다. PlayCommandIssued Event PlayCommandIssued 이벤트는 사용자가 클라이언트상의 버튼 누름 또는 GUI affordance를 사용하여 미디어 항목의 재생을 시작 / 재개 할 때 전송되어야합니다. S.. 2017. 5. 26.
Understanding Alerts Overview Scenario 1: Set a Timer with Voice Scenario 2: Cancel an Alarm Using the Amazon Alexa App Scenario 3: Set a Recurring Alarm Scenario 4: Snooze a Sounding Alarm Lifecycle Events Next Steps Resources Overview alerts에 관해서, 사용자는 일반적으로 타이머 설정, alert 설정 또는 타이머 또는 alert 삭제 / 취소의 세 가지 방법 중 하나로 Alexa 사용 가능 제품과 상호 작용합니다. 사용자가 타이머 또는 알람을 설정하려면 제품에 활성 인터넷 연결이 있어야합니다. 이 작업은 제품에 조치 (예 : SetAlert 및 De.. 2017. 5. 26.
Alerts Interface Overview State Diagram SetAlert Directive SetAlertSucceeded Event SetAlertFailed Event DeleteAlert Directive DeleteAlertSucceeded Event DeleteAlertFailed Event AlertStarted Event AlertStopped Event AlertEnteredForeground Event AlertEnteredBackground Event Additional Interfaces Resources Overview Alert 인터페이스는 타이머와 알람을 설정, 관리 및 취소하는 데 사용되는 directive와 event를 제공합니다. AVS는 타이머와 알람을 설정하고 관리하기 위해 고객에게 지.. 2017. 5. 25.
AudioPlayer Interface Overview State Diagram Play Directive PlaybackStarted Event PlaybackNearlyFinished Event ProgressReportDelayElapsed Event ProgressReportIntervalElapsed Event PlaybackStutterStarted Event PlaybackStutterFinished Event PlaybackFinished Event PlaybackFailed Event Stop Directive PlaybackStopped Event PlaybackPaused Event PlaybackResumed Event ClearQueue Directive PlaybackQueueCleared Event StreamMet.. 2017. 5. 24.
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.
yum에 대해 알아보자. 출처 : https://access.redhat.com/ko/node/82093 yum의 개념 Yum은 Yellow dog Update라고도 하고 Duke University에서 RPM 설치를 개선하기 위해 개발한 패키지 관리자입니다.1) 패키지 설치: yum install package ex) yum install httpd 2) 패키지 삭제: yum remove package ex) yum remove httpd 3) 패키지 업데이트: yum update package ex) yum update httpd 4) 패키지 검색: yum search package ex) yum search httpd 5) 패키지 정보: yum info package ex) yum info httpd 6) 특정단어가 포함 .. 2017. 5. 9.
RND 스터디 주저리 일을 하다보니..무심코 그냥 지나치거나 그냥 암기식으로 정확히 모르는 상태에서 개발을할 때가 너무도 많았던것 같다. 일정이 빠듯하고 빨리 빨리를 외치는 한국 개발 문화도 있겠지만.. 내가 지식에 대한 접근이 틀렸을지도 모르겠다. 생각을 해보면 내부, 외부 스터디를 통해 많은 도움을 받고 더 발전을 해왔던것 같다. 앞으로도 스터디를 통해 좀 더 나아가고자 한다. 스터디 모임 RND : 개인적으로 지인들과 만든 모임. Right Now Develop! 지금 당장 개발하자라는 뜻이다.ㅋㅋ 목 표 정확히 알고자 한다. 분 야 network, DB, Language, Framework, New Skill 등 전 분야! 방 식 1. 주제를 모집한다. 2. 주제를 선정한다. 3. 주제에 대해 공부한다. 4. .. 2017. 5. 1.
jenkins setting OS : CentOS 7.2 JDK : jdk8명령어 : sudo yum install -y java-1.8.0-openjdk Tomcat : 9http://tomcat.apache.org/ JenkinsWar file : curl -L -O http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.warTomcat 위치 : /apache-tomcat-9.0.0.M20/webapps 에 Jenkins.war를 배치! 그리고나서 톰캣을 기동 시킨다. go (build target : go lang)sudo yum install go tomcatJenkins가 풀리면http://localhost:8080/jenkins로 붙어서 좀 더 세부적인 셋팅을 하면 된다. 2017. 4. 28.
반응형