전체 글 93

"혹시.." - happen to / by any chance

※ 이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다. 대화에서 정보나 질문을 부드럽게 전달하거나, 무언가를 확인할 때 "혹시"라는 단어를 사용하는 것은 매우 일반적입니다. 영어로 "혹시"를 표현할 때 주로 두 가지 표현을 사용하는데, 바로 "happen to"와 "by any chance"입니다. 이 두 표현은 비슷한 상황에서 사용되며 미묘한 차이점이 있습니다.1. Happen to"Happen to"는 주로 어떤 일이 우연히 또는 뜻하지 않게 발생했을 때 사용됩니다. 이 표현은 다른 사람에게 어떤 정보를 물어보거나 확인할 때 사용할 수 있으며, 주로 자연스럽게 대화에 녹아들기 쉽습니다. "Do you happen to know where the nearest gas..

[Design Patterns.] 디자인 패턴이란?

디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 solution이다. 이는 재사용할 수 있는 코드 조각같은 것들이 아니고, 특정 문제를 해결하는 방식을 알려주는 일반적인 개념이다.패턴은 알고리즘과 혼동되곤 하는데, 둘 다 어떤 문제를 해결하기 위해 따라야 할 일련의 절차를 정의하지만, 패턴은 알고리즘보다 더 상위 수준의 설명을 의미한다. 즉, 알고리즘을 요리에 대한 레시피에 비유한다면, 패턴은 다이닝 코스 구성으로 비유할 수 있다. 디자인 패턴은 Creational Pattern(생성 패턴), Structural Pattern(구조 패턴), Behavioral Pattern(행동 패턴) 3가지로 구분 되며 종류는 다음과 같다.Creational PatternStructur..

[DEV] CRT 라이브러리 사용하여 메모리누수 찾기

1) 개요메모리 누수 문제는 C++앱에서 가장 감지하기 어려운 이슈 중 하나로, 이전에 할당했던 메모리를 해제하지 않으면 메모리 누수가 발생한다.이러한 문제를 감지하기 위해 CRT 라이브러리에 대해 알아보았다.메모리 누수 감지 기능을 사용하기 위해서 다음과 같이 선언되어야 한다.메모리 누수 문제는 C++앱에서 가장 감지하기 어려운 이슈 중 하나로, 이전에 할당했던 메모리를 해제하지 않으면 메모리 누수가 발생한다.이러한 문제를 감지하기 위해 CRT 라이브러리에 대해 알아보았다.메모리 누수 감지 기능을 사용하기 위해서 다음과 같이 선언되어야 한다.#define _CRTDBG_MAP_ALLOC#include 을 포함하면 malloc과 free가 디버그 버전 _malloc_dbg, _free_dbg에 매핑된다...

Development. 2023.08.29

[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번 확인 시 자바스크립트 코드를 읽어 실행하는 ..