OpenSource 를 보거나 동적 메모리 관련 교육을 살펴보면 아래와 같은 코드를 종종 볼 수 있다. 아래 코드는 사용한 메모리를 해제하는 구문이다.free(pointer); pointer = NULL; 사실 free 만으로 메모리는 해제되지만 문제가 되는 부분은 해제된 메모리 영역이 우연찮게 다른 곳에서 사용되는 경우 프로그램의 오동작을 피하기 어렵다는 것. 또한 디버깅에도 쉽지 않다. 아래 코드를 통해 극단적인 예시를 살펴본다.#include #include #include int main(void) { char *str = NULL; int *addr = 0; str = (char *)malloc(10); strncpy(str, "test", strlen("test")); printf("str(%..
Google Cloud Platform (GCP) 가 막강한 이유중에 하나가 이미 잘 만들어진 API 를 기반으로 제2, 제3의 서비스를 손쉽게 만들 수 있기 때문이겠다. 많은 전문가들의 이야기처럼 지금 세상은 유용한 API 에 대해 실제 내부 동작을 몰라도 그 서비스를 wrapping 하는 모듈을 만들어 장사를 하는 세상이다. 이렇듯 누구나 쉽게 사용할 수 있도록 소프트웨어를 API 형태로 배포해서 서비스하는 것을 보통 SaaS (Software as a Service) 형태라고 칭하는데, 이번에는 GCP 에서 제공하는 대표적인 SaaS 중 하나인 speech api 에 대해 살펴보고 사용해보도록 하겠다. - 앞서 이야기한 SaaS 에 대해 설명하는 재미있는 링크를 여기 첨부하도록 한다. 개념을 잡는데..
나는 태생이 임베디드 Low Level language 개발자로 웹 언어와는 친하지 않다. 하지만 요즘 패러다임이 웹에 엄청나게 집중되어 있고, 이제는 한 개 종목만 잘해서는 살아남기 힘든 시대가 되었기에 슬슬 관심을 갖고 공부하는 중이다. 그러던 중에 우연치 않게 한빛미디어 리뷰의 기회로 "러닝 자바스크립트" 를 만난 것은 행운일지 모른다. 자바스크립트 표준이라는 것 자체를 몰랐기 때문에 ECMAScript 6 (ES6) 표준이라는 것을 접근하는데 어려움이 없었다. (배경 지식이 없이 깨끗한 백지 상태였기 때문일지도 모른다) 책을 옮긴 한선용씨는 이 책의 대상을 이렇게 정의 한다. 이미 자바스크립트를 어느 정도 이해하고 있으며 새 기술에 관심이 있는 독자에게는 딱 알맞은 책이고, 자바스크립트는 잘 모르..
Container Engine 사용을 멈출 필요가 있을 때가 있다. 대부분이 테스트를 위해 사용하다가 바쁜 일정 등으로 잠시 서비스를 꺼둘 때 일 텐데 Google Cloud Platform (GCP) 콘솔에서는 어떤 이유에서인지 관련된 기능을 찾아보기 힘들다. 더 솔직히 이야기하면 설정은 있지만 설정을 할 수가 없다 (?) 이런 말장난을 하는 이유는 Container Engine 은 애초에 종료 ( Terminate 혹은 Stop ) 의 개념이 없기 때문이다. 단순하게 노드 풀의 사이즈를 주지 않으면 그게 곧 종료를 나타내는데 콘솔에서는 이 설정이 불가능하다. "크기는 양의 정수여야 합니다." - 구글님, 0 도 포함시켜 주시죠..?하지만 걱정할 필요 없다. 왜냐하면 GCP 는 이미 터미널 기반으로 모..
국내 최대 규모의 파이썬 콘퍼런스 (파이콘) 에 참여. 주말 양일간 진행되었는데 개인적인 사정으로 토요일은 건너가고 일요일에 나왔다. 일요일은 9시 50분 부터 등록인데 다소 빨리왔는지 한적한 광장의 모습. 하루에 약 천여명의 사람들이 다녀갈만큼 금방 혼잡해진다. 이번 파이콘은 back to the basic 이라는 컨셉으로 진행되었는데 그에 걸맞게 참여한 사람들의 이름으로 namewall 을 만들었다. 글자 하나하나에 이름이 빼곡히 적혀있다. 힘들게 내 이름도 찾음. S 를 담당하고 있다. 이름 찾기 놀이는 뒤로 하고 여러가지 재미있는 트랙이 많이 있었는데, 시대적인 흐름에 맞게 머신러닝에 대한 이야기가 특히 많았고 게으른 개발자를 위한 크롤링도 재미있게 들었다. 다소 비싼 등록비..
- Total
- Today
- Yesterday