본문 바로가기

전체 글

(78)
[나는 리뷰어다] 소프트웨어 아키텍처 101 이 글은 2021년 11월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 소프트웨어 아키텍처란 무엇인가? 만약 이 글을 읽는 사람이 개발자라면, 소프트웨어 구조 혹은 소프트웨어 구성 조직이라고 말 할 수 있을 것이다. 그렇다면 소프트웨어 구조는 왜 필요하며 왜 중요할까? 흔히 아키텍처를 잘못 설계 하면, 속도 저하 및 무리한 리소스 사용등 다양한 이유가 될 수 있다. 오늘은 우리가 흔히 말하는 소프트웨어 즉, 프로그램 구조를 설계하는 방식에 대해 작성 되어 있는 책에 대해 서평을 작성학고자 한다. 책 소개 이 책은 아키텍처의 모듈성, 특성, 컴포넌트등 기초부터 여러가지 스타일에 대해 글과 그림으로 쉽게 설명하고 있다. 그 만큼 글만 있는 책에 비해 그림이 함께 나와 ..
Python3.6 지원 종료 한달 전 실무에서는 어떻게 대응할까? 안녕하세요. 스타트업에서 Backend 개발자로 일을 하고 있는 김성민입니다. 오늘은 Python3.6 버전이 지원 종료 한 달 정도 남은 상태에서 실무에서 어떻게 대응하고 했는지에 대한 경험을 공유하고자 합니다. (본 글은 회사 업무 중 진행했던 일이고 주니어 개발자로서 실무에서 처음으로 버전 업그레이드를 진행했던 경험이기 때문에 해당 방법이 정답은 아닐 수 있습니다.) 들어가며 Python3.6 버전은 2021년 12월 23일을 기점으로 지원 종료를 하여 현재로부터 약 한 달 정도 앞두고 있습니다. 현재 제가 재직중인 회사는 API 서버로 Node.js을 사용하고 있고, Node서버에서 Python으로 작성된 채점 및 산식 코드를 호출하여 사용자가 제출한 파일에 대해 채점을 처리하고 있습니다. 따라서..
[나는 리뷰어다] 클라우드, 네이티브를 위한 데이터 센터 네트워크 구축 이 글은 2021년 9월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 2021년, 우리는 인터넷 없이는 살 수 없을 정도로 일상의 많은 제품들이 인터넷망으로 연결되어있으며, 인터넷은 여러 개의 네트워크들이 연결되어 있을 것을 말한다. 시대가 변하면서 네트워크 관련 기술들은 발전 해왔으며, 최근에는 클라우드라는 말을 많이 들어 봤을 것이다. 클라우드는 '사용자의 관리 없이 인터넷을 통해 액세스 할 수 있는 서버와 이러한 서버에서 작동하는 SW 및 DB을 의미한다.' 클라우드 서버는 전 세계 데이터 센터에 위치하며 사용자와 기업은 클라우드 컴퓨팅 기술을 사용하여 서버를 관리 및 실행을 하지 않아도 된다는 장점이 있다. 오늘은 최근 많은 관심을 받고 있는 클라우드 컴퓨팅..
[나는 리뷰어다] 실리콘밸리 리더십 이 글은 2021년 8월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 누구나 어디서든 특정 집단 혹은 특정 모임에서 대표 혹은 리더가 될 수 있다. 사람들 마다 자신이 생각하는 참된 리더의 모습과 자신이 어떠한 리더 성향으로 목표를 향해 팀원과 함께 그 목표를 이루기 위해 노력을 하는지는 상황에 따라 다르며, 모두가 생각하는 방향으로 가기에는 많은 시행착오를 겪게 된다. 오늘은 실리콘밸리에서 엔지니어링 리더로서 근무 중인 저자의 책에 대해 작성하고자 한다. 책 소개 이 책의 저자인 마이클 톱은 슬랙, 블랜드, 애플, 넷스케이프등 미국에 있는 실리콘밸리에서 엔지니어링 리더로 일을 해왔으며 현재도 리더로서 커리어를 진행 중이다. 이 책에서는 책의 저자인 마이클 톱이 넷..
[Github] "Support for password authentication was removed on August 13 2021 Please use a personal access token instead" 해결 방법 2020년 Github는 새로운 보안정책을 발표하였다. 그러면서 2021년 8월 13일부터 Github Repository와 연결된 Local Repository에서 Pull/Push을 하게 되면 아래와 같은 오류 메시지(Support for password authentication was removed on August 13 2021 Please use a personal access token instead)가 뜨는 것을 확인할 수 있었다. 해당 문제는 기존 Git Auth방식을 비밀번호 방식을 사용한 방식으로 해당 문제를 해결하기 위해서는 Github에서 개인용 Access Token을 발급받아 설정을 해주어야 한다. 개인용 Access Token 발급 방법 Github에서 개인용 토큰을 발급받는..
[Javascript] Class란 무엇인가 Javascript(이하 JS)는 다른 객체지향 언어와는 차이점이 있지만 프로토타입 기반의 객체지향 언어이며, 강력한 객체지향 프로그래밍 능력을 갖고 있는 언어이다. 프로토타입 기반의 객체지형 언어란 클래스가 필요 없는 객체지향 프로그래밍 언어를 프로토타입 기반의 객체지향 언어라고 하며 JS는 ES5까지는 클래스 선언을 하지 않고 생성자 함수와 프로토타입 선언을 통해 객체지향의 상속을 구현할 수 있었다. 하지만 ES6이후 클래스 문법이 도입되면서 클래스를 선언하여 사용할 수 있게 되었고, 기존 Java나 C#과 같은 클래스 기반 객체지향 프로그래밍 언어에 익숙한 개발자들은 빠르게 학습 할 수 있게 되었다. JS에서 사용하는 클래스는 기존(ES5)의 프로토타입 기반 패턴을 클래스 기반 패턴 처럼 사용하는 ..
[나는 리뷰어다] 업무에 바로 쓰는 SQL 튜닝 이 글은 2021년 7월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 컴퓨터공학을 전공했거나 개발자를 꿈꾸는 사람이라면 한 번쯤은 SQL을 들어봤을 것이다. SQL은 RDBMS(관계형 데이터베이스 관리 시스템)의 데이터를 관리하기 위해 설계된 프로그래밍 언어로, DB에 저장된 자료를 검색하고 관리하며, Table을 생성 및 수정할 수 있다. 그 과정에서 개발자는 Table을 어떻게 설계하고, Query을 사용하면서 시스템 성능까지도 고민을 하게 된다. 실제로 사소한 설계에서부터 어떻게 설계하고 사용하냐에 따라 시스템 성능에 큰 영향이 끼치며 속도가 천차만별로 바뀌게 된다. 오늘은 다양한 RDBMS 중 오픈소스로 공개되어 있으며, 무료 RDMBS로 유명한 MySQL/..
[나는 리뷰어다] NGINX 쿡북 서평 이 글은 2021년 6월 한빛미디어에서 진행하는 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다. 서버 개발자라면 NGINX(혹은 엔진엑스)을 들어본 적이 있을 것이다. NGINX는 웹 서버 SW 중 하나로 아파치 다음으로 가장 많이 사용되는 웹 서버 SW 중 하나이다. 2004년 10월 발표되어 BSD허가서 라이선스를 따르며 요청에 응답하기 위해 비동기 구조를 가진다는 특징을 가진다. 이는 가장 많이 사용하는 아파치의 스레드/프로세스 기반의 구조와는 대조적인 구조이다. 오늘은 NGINX에 대한 책인 NGINX쿡북을 읽고 서평을 작성하고자 한다. 책 소개 2021년 6월 기준 교보문고에 NGINX로 검색한 경우 2권의 책(NGINX 쿡북, Nginx HTTP 서버)이 나오는 것을 확인할 수 있..