전체 글 90

[DEV] Google Test

Google Test의 개념과 활용방안에 대해 알아보고 테스트 문법을 알아보도록 하자. 1) Google Test란? Google Test는 C/C++ 테스트를 위한 구글에서 제공하는 프레임워크이다. SW를 개발하고 검증할 때 필요한 유닛 테스트를 구현하려면 실제 SW가 돌아가는 환경과 다른 환경에서 테스트 해야 할 필요가 있을 때가 있다. 예를 들면 HW가 준비되지 않았거나, 리소스가 충분히 준비되지 않았을 때 테스트 환경을 구성하는데 많은 시간과 비용이 든다. 따라서, 호스트 PC 또는 서버 환경에서 실제와 비슷하게 동작하도록 하는 테스트 환경이 필요하고, 이러한 테스트 수단을 제공하는 것이 Google Test이다. Google Test 프레임워크를 사용해서 SW 개발에 대한 검증을 쉽고 빠르게 진..

Development. 2023.08.28

[Insights.] 개발 공부 제대로 하는 법

다섯 가지의 "깨어있기" 이론 1. "이번만", "다음에" 라고 하지 말자. 다음은 오지 않는다. 당장의 프로젝트가 중요하고, 회사 업무가 바쁘다는 이유로 배움을 미루지 말자. 한번 미루게 되면 같은 이유로 몇 년 뒤에도 똑같은 핑계를 대며 공부하지 않게 될 것이고, 이는 업보가 되어 나에게 돌아온다. 따라서, 어떤 문제를 직면한 순간이 공부하기에 가장 최적기임을 잊지 말자. 물론, 당장 급한 프로젝트와 일정으로 매번 공부할 시간이 나지 않을 수 있다. 그럴 땐 리펙터링 책(http://www.yes24.com/Product/Goods/89649360)에서 거론한 3의 법칙을 따르자. 3의 법칙: 비슷한 일을 세번 째 하게 되면 리펙토링을 진행하라. 동일한 문제가 세번 발생 했을 때, 해당 문제가 나에게..

Daily./Insights. 2023.03.28

[Insights.] Imposter Syndrome

Imposter Syndrome(가면 증후군)이란? 가면 증후군(Imposter Syndrome)이란, 자신의 기술, 재능, 성취를 의심하고 사기꾼으로 드러날 것을 속으로 두려워하는 것이 지속될 때의 심리적 현상을 말한다. 즉, 자신의 성공을 노력이 아닌 운으로 돌리고 자신의 실력이 드러나는 것을 꺼리는 심리이다. 남들이 자신을 보기엔 똑똑하고 성실한 사람으로 생각함에도 불구하고, 가면 증후군을 겪는 사람들은 이러한 남들의 시선이나 성공을 누릴 자격이 없다고 생각한다. 혹은 자신이 외면적으로 자신을 드러내는 것 만큼 영리하지 않은 것처럼 느끼기 때문에 자기 자신을 실력있는 사람들 사이에 운으로 들어온 사기꾼이라고 생각하며, 자신의 '사기 행각'이 드러나 큰 해를 입을 것이라고 불안해 한다. 블라인드 설문..

Daily./Insights. 2023.01.03

[Books.] Clean Code - Robert O. Martin

회사에서 코드 리뷰를 하고 받을 수록, 현재 담당하는 업무를 진행할 수록 "좋은 코드"에 대한 생각을 점점 더 많이 하게된다. 한 줄을 수정 하더라도 '어떻게 수정해야 가독성이 좋아질까', '어떻게 해야 다른사람이 쉽게 코드를 이해할 수 있을까' 같은 고민이 들어 다시 클린 코드 책을 읽게 되었다. 두 번째 이 책을 읽으면서 처음 읽었을 때와 느껴지는 점이 조금 달라진 것 같다. 이전에 제대로 현업에 적용하지 못했던 부분이나 부족했던 부분을 정리해서 앞으로의 업무에 적용해 보려고 한다. 좋은 코드란 무엇일까? 좋은 코드란, 가독성이 뛰어나고 원활한 유지보수성을 가진 코드이다. 대표적으로 다음과 같은 조건을 충족하는 코드라고 생각한다. - 처음 코드를 보더라도 쉽게 읽을 수 있어야 한다 - 5년 뒤에 내가..

[Camping info] 캠핑 정보 서비스 개발

최근 회사 업무를 위한 툴 개발을 위해 folium을 공부 했었는데, 본격 업무에 들어가기에 앞서 토이 프로젝트를 진행 해보았다. 본인은 캠핑 가는 것을 좋아하는데, 이와 관련해서 지도에 캠핑장 위치를 보여주고, 캠핑장 정보를 보여주는 서비스를 개발하기로 결정했다. 회사에서 사용할 툴을 웹 서비스로 개발할 예정이기 때문에, 웹을 통해 캠핑장 정보를 제공하는 서비스를 개발하며 선행 학습을 진행 할 생각이다. 1. 화면 설계 캠핑 정보 서비스 제공을 위한 웹 화면 설계는 아래와 같이 진행 하였다. Navigation bar - 서비스 이름 및 search를 지원하는 text box 및 필터를 걸 수 있도록 한다. Map - 캠핑장 정보를 지도에 표시하는 지도를 표시한다. Camping information ..

[Camping info] Folium과 Leaflet.js의 차이점과 용도 파악

1. Folium https://python-visualization.github.io/folium/ Folium — Folium 0.12.1 documentation folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the leaflet.js library. Manipulate your data in Python, then visualize it in on a Leaflet map via folium. Concepts folium makes it easy to visualize data tha python-visualization.github.io Folium은 한마디로 lea..

[Camping Info] HTML 파일에서 자바스크립트 코드 위치 선정과 실행 순서

오늘은 웹 페이지에서 자바스크립트를 파싱하는 순서와 코드 위치에 대해 알아보았습니다. HTML 파일에서 자바스크립트 코드는 아무곳에 위치할 수 있습니다. ( 태그 바깥에도 위치할 수 있습니다.) 자바스크립트 코드 삽입 방법은 태그를 사용하며, 태그에 직접 자바스크립트 코드를 입력 하는 방법과 로 파일 링크를 입력하여 연결하는 방법이 있습니다. 보통 태그에 자바스크립트 코드 태그를 삽입하며, 이는 권장 사항이나 필수 사항은 아닙니다. 필요에 따라 문서 중간에 위치하거나, 맨 끝에 위치할 수 있습니다. 자바스크립트를 파싱하는 순서는 다음과 같습니다. HTML 파일 오픈 HTML 페이지 태그를 위에서부터 아래로 순차적으로 파싱 ) 이후 HTML 태그 파싱 재개 3번 확인 시 자바스크립트 코드를 읽어 실행하는 ..

[ETC] Github를 이용한 웹 호스팅 방법

깃허브를 이용해서 자신만의 홈페이지를 만드는 방법을 소개하겠습니다. 보통 웹 서비스를 하기 위해서는 서버에 홈페이지에 필요한 파일들이 있어야 하고, 클라이언트에 필요한 정보들을 전달 해야 합니다. 그리고 24시간 서비스를 위해서는 항상 서버가 켜져 있어야 합니다. 하지만, 현실적으로 24시간 켜두기 힘들기 때문에, 온라인상에서 제공하는 서버를 이용해서 구현하는 것이 효율적입니다. 이미 아마존이나 마이크로소프트에서 제공하는 온라인 서비스들이 있으나, 일정 사용 기간 이후에 돈을 지불해야 합니다. 또한 자신만의 서비스 규모가 커지게 되어 직접 서버를 구축해도 상관 없으나, 앞서 말한 방법들은 금전적 부담이 되기 때문에 깃허브를 이용해 보겠습니다. 우선, 깃허브 계정이 있어야 합니다. 웹 페이지 우측 상단의 ..

Development./ETC 2022.05.15

[Data Visualization] python 데이터 시각화 - Folium

Folium은 파이썬에서 leaflet.js를 이용해 지리 데이터를 효과적으로 시각화 할 수 있는 라이브러리입니다. 지도와 좌표값을 이용해서, 각 주제에 맞는 html 파일을 생성 또는 저장할 수 있도록 도와주는 역할을 합니다. API Reference: https://python-visualization.github.io/folium/ 라이브러리 설치 pip install folium 라이브러리 설치가 완료 되었다면, 지도에 데이터를 시각화 하기 위한 라이브러리를 import 해줍니다. 추후 지도상에 마커와 아이콘을 띄우기 위해, Marker, Icon을 함께 import 하였습니다. #지도 시각화에 필요한 라이브러리 import 하기 import folium from folium import Mark..

[Data Visualization] Python 데이터 시각화 - Seaborn

API reference : https://seaborn.pydata.org/api.html 설치 pip install seaborn 파이썬에서는 아래와 같이 import 해주면 사용할 준비가 완료됩니다. import seaborn as sns 참고로, Seaborn을 활용한 데이터 분석 실습 시 다음과 같이 기본적으로 제공하는 데이터셋을 활용 할 수 있습니다. Seaborn에서 제공하는 데이터셋은 아래 페이지에 정리되어 있습니다. 별도 데이터셋을 가지고 있지 않아도 기본적으로 제공하는 샘플 데이터를 가지고 데이터 시각화를 실습 해볼 수 있습니다. https://github.com/mwaskom/seaborn-data iris = sns.load_dataset("iris") # 붓꽃 데이터 titanic..