언어
-
[Golang] gin-gonic CORS 문제 해결방법언어/Golang 2017. 3. 17. 16:57
먼저 CORS에 대한 개념이 어느정도 존재한다는 가정하에 진행합니다.TEST 환경자바스크립트 -> Go Gin-gonic API를 요청하는 상황입니다.Request Headersvar req = new XMLHttpRequest(); req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); req.withCredentials = true; req.setRequestHeader("Authorization", "Bearer "+$.cookie("AUTH_A_TOKEN"));Response Headersc.Header("Access-Control-Allow-Headers", "Content-Type, Authorization, Ori..
-
[Javascript] 두 줄이상 말 줄임 (...) 처리언어/자바스크립트 2017. 2. 24. 10:42
두 줄 이상의 말줄임이 필요한 경우 CSS만으로는 처리가 불가능합니다. 따라서 자바스크립트에서 처리를 해줘야 합니다.HTML 1. Forcing one line regardless 2. Forcing two lines of text regardless of overflow 3. Trying to ellipsis any overflowed content. The quick brown fox jumped over the lazy dogs. The quick brown fox jumped over the lazy dogs. 4. 이건 테스트다. 글씨가 어떻게 나올지는 나도 모르겠다. 더이상 쓸 말이 없다. 복사 붙여넣기 복사 붙여넣기 복사 붙여넣기 복사 붙여넣기 복사 붙여넣기 복사 붙여넣기 복사 붙여넣기 복사..
-
[Golang] 고루틴언어/Golang 2017. 2. 22. 20:40
개요고루틴은 가벼운 스레드와 같은 것으로 현재 수행 흐름과 별개의 흐름을 만들어줍니다. "go" 키워드를 사용하여 함수를 호출하면, 런타임시 새로운 goroutine을 실행합니다. goroutine은 비동기적으로(asynchronously) 함수루틴을 실행하므로, 여러 코드를 동시에(Concurrently) 실행하는데 사용됩니다.goroutine은 OS 쓰레드보다 훨씬 가볍게 비동기 Concurrent 처리를 구현하기 위하여 만든 것으로, 기본적으로 Go 런타임이 자체 관리합니다. Go 런타임 상에서 관리되는 작업단위인 여러 goroutine들은 종종 하나의 OS 쓰레드 1개로도 실행되곤 합니다. 즉, Go루틴들은 OS 쓰레드와 1 대 1로 대응되지 않고, Multiplexing으로 훨씬 적은 OS 쓰레..
-
[Golang] 인터페이스 (Interface)언어/Golang 2017. 2. 20. 20:19
구조체(struct)가 필드들의 집합체라면, interface는 메서드들의 집합체입니다. interface는 타입(type)이 구현해야 하는 메서드 원형(prototype)들을 정의합니다. 하나의 사용자 정의 타입이 interface를 구현하기 위해서는 단순히 그 인터페이스가 갖는 모든 메서드들을 구현하면 됩니다. 인터페이스의 이름은 보통 변수에 ~er이 붙습니다. ex) printer interface {}인터페이스는 struct와 마찬가지로 type 문을 사용하여 정의합니다.type Shape interface { area() float64 perimeter() float64 }구현예제 1인터페이스를 구현하기 위해서는 해당 타입이 그 인터페이스의 메서드들을 모두 구현하면 되므로, 위의 Shape 인터..
-
[Python] pyximport언어/파이썬 & 장고 2017. 2. 18. 15:12
pyximport는 Cython의 한 부분입니다. import를 해서 사용할 수 있습니다. 만약 특별한 C 라이브러리를 요구하지 않거나 특별한 setup을 빌드하기를 원하지 않으면 pyximport 모듈을 사용하면 됩니다. pyximport을 import하면 setup.py을 작성하지 않고 .pyx파일을 직접 로드할 수 있습니다.import pyximport; pyximport.install() >>> import helloworld Hello World
-
[Golang] 파이썬 모듈 실행하기언어/Golang 2017. 2. 18. 13:14
파이썬 모듈을 go자체에서 import 하는 방법은 모르겠고.. exec 패키지를 사용해 리눅스에 파이썬 모듈을 command를 날리는 형식으로 실행합니다.// testpython 모듈 실행 코드 // testpython 모듈 내의 test_function()을 호출하여 반환 값을 print()하는 코드 command := "import testpython; print(testpython.test_function())" // 리눅스내 파이썬 명령어 실행 cmd := exec.Command("python3", "-c", command) out, err := cmd.CombinedOutput() if err != nil { fmt.Println(err) } // 결과출력 fmt.Println(string(o..
-
[Golang] AES ECB 모드 암호화 (PKCS5, PKCS7)언어/Golang 2017. 2. 17. 15:24
package main import ( "bytes" "crypto/aes" "crypto/cipher" "encoding/base64" "fmt" "strings" ) func main() { /* *src 암호화 대상 *key 암호 key, 16bit면 AES-128, 32bit면 AES-256 */ src := "테스트 평문" key := "0123456789abcdef" crypted := AesEncrypt(src, key) AesDecrypt(crypted, []byte(key)) Base64URLDecode("") } func Base64URLDecode(data string) ([]byte, error) { var missing = (4 - len(data)%4) % 4 data += st..
-
[Golang] JSON 사용하기언어/Golang 2017. 2. 16. 20:44
Go에서 JSON을 사용하려면 encoding/json패키지를 import해야 합니다. 아래는 해당 패키지에서 제공하는 JSON 함수입니다.func Marshal(v interface{}) ([]byte, error): Go 언어 자료형을 JSON 텍스트로 변환func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error): Go 언어 자료형을 JSON 텍스트로 변환하고 사람이 보기 편하도록 들여쓰기를 해줌func Unmarshal(data []byte, v interface{}) error: JSON 텍스트를 Go 언어 자료형으로 변환key-value 구조 JSONJSON 직렬화아래는 맵 형태의 데이터를 JSON 형태로 변환하는 방법입니..