분류 전체보기
ES6 문법 + 활용 패턴 살펴보기
ES6 문법 + 활용 패턴 살펴보기
2021.02.13목표: ES6 문법을 살펴보고 이를 이용한 실무의 활용 패턴을 알아봅니다. 자바스크립트는 ECMAScript 사양을 준수하는 언어입니다. 이는 마치 우리가 쓰는 일상 언어와 국립국어원에서 제정하는 표준어 규칙 간의 관계와 비슷하다고 볼 수 있습니다. 표준어 규칙도 필요에 따라 개정하듯이, ECMAScript도 필요에 따라 개정됩니다. ES6는 ECMAScript의 제 6판 표준 사양으로, 2015년도에 재정되어서 ES2015라고 불리기도 합니다. (ES6 이후부터 새로운 언어 사양이 매년 발표되고 있습니다. 2020년 기준으로 ES11까지 재정되었습니다.) ES6를 알아야 하는 이유는, ES6에서 추가된 내용이 현대적인 자바스크립트 개발자라면 꼭 알아야 할 내용이기 때문입니다. 해당 내용을 나열하자면 아..
자바스크립트 개요
자바스크립트 개요
2021.02.13목표: 자바스크립트의 개념, 문법 등을 간단히 살펴보고 브라우저 핸들링, 서버 통신, 프레임워크에 대해 간략히 살펴봅니다. 자바스크립트는 사용자와 웹 페이지 간의 상호작용을 구현하기 위해 만들어진 프로그래밍 언어입니다. 1995년도에 브렌던 아이크에 의해 최초로 개발 되었으며, 인터넷과 브라우저의 발전 역사와 함께 다양한 변화를 겪었습니다. 자바스크립트를 사용해서 아래와 같은 일들을 할 수 있습니다. 웹 페이지 내 인터렉티브 동작 서버 프로그래밍 (Nodejs) 모바일 어플리케이션 (React Native) 데스크탑 어플리케이션 (Electron) 터미널 명령어 도구 작성 코드 실행해보기 각 코드는 크롬 브라우저 개발자 도구 > Console에서 연습해볼 수 있습니다. 윈도우: ctrl + shift +..
클라이언트 설치 없이 카프카 브로커와 통신하기 - Kafkacat
클라이언트 설치 없이 카프카 브로커와 통신하기 - Kafkacat
2020.11.29카프카를 사용하는 개발자라면 로컬 혹은 서버에서 브로커와 직접 통신을 해야 하는 경우가 있습니다. 이 때 별도 설치 없이 명령어 한 줄로 편리하게 쓸 수 있는 도구인 Kafkacat을 소개해드리겠습니다. 사용법 자세한 문법은 해당 링크를 참조하시기 바랍니다. 토픽 목록 출력 docker run --tty --interactive \ confluentinc/cp-kafkacat \ kafkacat -b kafka:9092 \ -L 토픽 메세지 컨슈밍 docker run --tty --interactive \ confluentinc/cp-kafkacat \ kafkacat -b kafka:9092 \ -t topic_name \ -C 토픽 메세지 포맷 지정 및 컨슈밍 docker run --tty --int..
[번역] 지루한 기술을 선택해라 (Choose Boring Technology, Dan McKinley)
[번역] 지루한 기술을 선택해라 (Choose Boring Technology, Dan McKinley)
2020.11.16해당 글의 원문은 아래에서 확인하실 수 있습니다. (저자의 확인을 받고 작성한 번역 글입니다.) https://mcfunley.com/choose-boring-technology Choose Boring Technology Probably the single best thing to happen to me in my career was having had Kellan placed in charge of me. I stuck around long enough to see Kellan’s technical decisionmaking start to bear fruit. I learned a great deal from this, but I also learned a grea mcfunley.com 지루함을 ..
비개발자도 개발을 배워야 할까요?? - 현업 개발자의 생각
비개발자도 개발을 배워야 할까요?? - 현업 개발자의 생각
2020.11.05안녕하세요. "비개발자도 개발을 배워야 할까요??" 라는 질문에 대한 저의 생각을 적어볼까 합니다. 결론은 동작 원리 정도는 적어도 교양으로 알아야 하고, 목적이 명확하다면 프로그래밍도 배우면 좋다고 생각합니다. 교양으로써의 IT 알쓸신잡에 출연하셨던 김상욱 교수님을 아시나요? 다양한 강연을 통해 물리학이나 과학에 대해 일반인들이 이해하기 쉽도록 말씀해주시는 물리학자이자 교수님입니다. 과거 김상욱 교수님이 아래와 비슷한 말씀을 한 기억이 있습니다. 보통 과학을 너무 어려운 것으로만 생각한다. 과학을 어렵고 이해하기 싫은 것이 아니라, 인문학과 같이 일반 상식이나 교양으로써 알아야 하는 것이라고 생각했으면 좋겠다. 과학이 왜 교양 상식일까요? 아마 여러 가지 이유가 있을 겁니다. 하지만 저는 현재 우리가 ..
비개발자도 이해할 수 있는 개발 이야기를 앞으로 써보자
비개발자도 이해할 수 있는 개발 이야기를 앞으로 써보자
2020.11.05안녕하세요. 제목 그대로 비개발자도 이해할 수 있는 개발 이야기를 가끔 써볼까 합니다. 나는 블로그를 왜 운영하고 있나? 처음 블로그를 시작했을 때, '개발자라면 기술 블로그 하나쯤은 운영해야 하는 거 아니야?'라는 막연한 생각과 함께 블로그를 시작했습니다. 하지만 명확한 목표가 없었기 때문에 글을 쓰는 빈도는 점점 줄어들었고 블로그는 방치되었습니다. 어떤 일을 지속하기 위해서는 명확한 목표 설정이 중요하다고 생각합니다. 이는 단기적인 일에 국한되지 않고 길게 봤을 때 인생에 대해서도 적용되겠죠. 일의 지속 기간에 상관없이 본인이 뭔가에 시간을 할애하고 있는데, 그 일의 목표가 뭔지도 모르는 것은 바보 같은 일입니다. 그래서 저는 막연하게 시작한 블로그 활동에 명확한 목표를 부여하기로 했습니다. 그리고 ..
Filebeat-Kafka-Nifi로 데이터 스트림 5분 안에 구성해보기
Filebeat-Kafka-Nifi로 데이터 스트림 5분 안에 구성해보기
2019.12.22이번 포스트에서는 Filebeat, Kafka, Nifi를 docker-compose로 구성하고, 데이터 스트림을 생성하는 과정을 진행해보겠습니다. 튜토리얼 방식으로, 개인 로컬 맥에서 간단하게 따라서 진행해주시면 됩니다. 데이터는 Filebeat -> Kafka -> Nifi -> Kafka 순서로 흘러가는 구조입니다. 데이터 소스로 Apache 웹 로그를 사용해 실제 환경과 같이 일정 속도로 흘러가도록 구성하고, 실시간으로 데이터 스트림이 동작하는 모습을 확인해보겠습니다. Tested on: MacOS v10.14.6 docker v19.03 docker-compose v1.24 구성하기 적당한 workspace로 이동한 뒤, Filebeat에 제공하기 위한 데이터 소스로 weblogs.log 파일을..
데이터 엔지니어란?
데이터 엔지니어란?
2019.09.18tldr; 데이터 엔지니어는 빅데이터를 분석에 활용할 수 있게끔 전처리/가공을 수행하는 사람입니다. 머신러닝과 빅데이터 분야가 발전하기 시작하면서 다양한 용어가 정립되었으며 그 중 하나가 데이터 엔지니어입니다. 현재 대부분의 회사에서 기대하는 데이터 엔지니어의 일반적인 역할을 간단하게 소개합니다. 빅데이터 플랫폼 환경 구축 데이터 엔지니어는 말 그대로 데이터를 다룹니다. 그런데 여기서 말하는 데이터는 그냥 데이터가 아니라 빅데이터입니다. 빅데이터의 특징은 규모가 기하급수적으로 증가한다는 점인데요, 이를 전통적인 데이터베이스 저장 방식으로 처리하는것은 매우 어렵습니다. 그래서 이를 유연하고 안정적이며 값싼 비용으로 처리하기 위한 분산 처리 기술들이 출현하게 됩니다. 빅데이터 플랫폼은 이러한 분산 처리 개념..
Strimzi를 활용한 kafka 클러스터 구성하기 - 설치
Strimzi를 활용한 kafka 클러스터 구성하기 - 설치
2019.08.04Strimzi - Apache Kafka on Kubernetes Strimzi provides a way to run an Apache Kafka cluster on Kubernetes in various deployment configurations. strimzi.io What is Strimzi? Strimzi는 Apache Kafka on Kubernetes and OpenShift를 목표로 운영되는 오픈소스 프로젝트입니다. 이 글은 strimzi on minikube 가이드 문서를 참고하여 맥에서 로컬 개발용 Kafka 구성 방법을 정리합니다. Local setup minikube를 실행합니다. minikube 설치는 kubernetes 공식 문서를 참고합니다. minikube start ku..
지식에도 유통기한이 있다
지식에도 유통기한이 있다
2019.05.12최근에 들은 내용 중에 기억에 남는 생각이 있어서 글로 적어봅니다. 지식의 유통기한 한 번 축적된 지식은 영원히 유효할까? 이에 대한 저의 생각은 "아니다" 입니다. 예를들어, 정자역에서 강남역 빨리 가는 방법을 검색했다고 칩시다. 10년 전에 작성된 정보가 현재도 맞을까요? 아마도 아닐 것입니다. 그 사이에 지하철 노선이 개발되고, 지하철이 아닌 또 다른 루트가 생길 지도 모릅니다. 이러한 이유로 과거에 작성된 정보는 점점 가치가 사라지고 아무도 찾지 않는 정보로 남게 됩니다. 소프트웨어 기술도 마찬가지입니다. 엔지니어나 개발자들이 공부해야 할 기술적인 발전은 날이 갈수록 빨라지고 복잡해집니다. 어제 공부한 내용이 내일은 구식이 되고, 몇 년이 채 지나지 않아 아무도 쓰지 않는 기술이 되기도 합니다. ..
2019 구글 머신러닝 스터디잼 후기 - 초급반
2019 구글 머신러닝 스터디잼 후기 - 초급반
2019.03.01얼마 전 구글에서 구글 머신러닝 스터디잼이라는 스터디 프로그램을 연다는 사실을 알게 됐습니다. 내용은 아래와 같습니다. 참가비 없음 팀 구성 시 등록 가능 기간: 2주 코스: 4개 온라인 강좌 수강 (퀵랩 플랫폼 사용) 수료 마치면 티셔츠 수령 참가를 마음먹고 구인 및 등록까지 1~2주가 지나서야 스터디가 시작됐습니다. 등록 시 한 달 무료 크레딧을 주는데, 이걸 활성화하고 듣고 싶은 강의를 듣는 식이었습니다. 그래서 해봤더니? 첫 코스를 열었습니다. 그런데... 데모용 구글 콘솔을 발급받고 API 몇 개 써보니 끝나는 아주 짧은 내용이었습니다. 이름만 보고 많은 사람들이 머신러닝이나 딥러닝에 대한 지식 전달을 원하고 참여 했을텐데, 막상 내용은 구글의 플랫폼을 활용해보는 튜토리얼 정도의 강의였습니다. ..
MS Azure로 갈아타기 - 5. Circle CI로 CI/CD 구성하기
MS Azure로 갈아타기 - 5. Circle CI로 CI/CD 구성하기
2019.02.06이번 포스트에서는 CI/CD 구성에 대해서 다루겠습니다. 저는 Circle CI를 이용해 구성해보겠습니다. 진행은 다음과 같습니다. CircleCI 빌드하기 API로 Artifact 가져오기 CircleCI에 가상머신 SSH 키 등록하기 Azure 배포하기 시작에 앞서 CircleCI를 이용한 것은 저의 기존 프로젝트를 활용하기 위해서인데, 꼭 이와 동일하게 구성할 필요는 없습니다. 만약 선호하는 솔루션이 있거나 기존 사용하던 것이 있다면 다른 것을 사용하는 것도 무방합니다. CI 구성이 처음인 분들을 위해 다른 옵션을 소개드리면 Travis CI, Jenkins 등이 있습니다. 장단점이 있는데, 복잡한 것이 싫고 간단하게 해결하고싶은 분들은 Travis CI 또는 CircleCI를 사용하시고 본인이 C..