본문 바로가기

전체 글

(13)
QNX 에서 Google Test 돌리기 문제상황 QNX 를 통해 remote debugging 으로 GoogleTest를 실행하던 중 오류 발생 실행환경 host : windows target : QNX SDP 7.0 gtest version : 0.14.0 [build] [ 88%] [32m[1mLinking CXX executable MyTest[0m [build] C:/Users/yg0585/src/qnx700/host/win64/x86_64/usr/bin/x86_64-pc-nto-qnx7.0.0-ld.exe: cannot find -lregex [build] collect2.exe: error: ld returned 1 exit status [build] make[2]: *** [test/MyTest] Error 1 [build] ma..
C++ 에서 Google Test 사용 요구사항 CMake 설치 C++ 14 이상 프로젝트 세팅 CMake 는 CMakeLists.txt 를 통해 프로젝트의 빌드 시스템을 설정 합니다. 그렇기 때문에 해당 파일에 GoogleTest와의 의존성을 선언해줘야 합니다. 튜토리얼은 Windows 10, VS Code에서 진행 합니다. 먼저, 튜토리얼을 위한 폴더를 만들고, VS Code에서 열어줍니다. 다음으로, CMakeLists.txt 파일을 생성하고 GoogleTest 의존성을 추가해줍니다. GoogleTest의 의존성을 추가하는 방법은 여러가지지만, 해당 예제에서는 CMake 모듈인 FetchContent를 통해 추가하도록 하겠습니다. FetchContent란 ? 외부 프로젝트 모듈을 통해 content를 구성할 수 있게 해주는 CMake 모..
Design Pattern Creational Design Patterns Creational design patterns는 코드의 재사용성과 유연성을 높이는 다양한 객체 생성 방법을 의미한다. Factory Method 슈퍼클래스에서 객체를 생성하기 위한 인터페이스 제공. 서브클래스가 생성될 객체의 유형 변경 가능. Abstract Factory 구체적인 클래스의 명시 없이 관계 된 families를 생산할 수 있도록 만드는 생성 패턴. Builder 빌더 패턴은 복잡한 객체를 단계별로 construct할 수 있는 패턴이다. Prototype 객체를 복사할 때 인스턴스를 만드는 절차를 추상화 하는 패턴. Singleton Singleton은 이름에서 알 수 있듯이, 객체의 생성을 단 한 번으로 제한하는 것을 보증하는 패턴. St..
OSI 7계층 OSI 7계층이란 ? OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 OSI 7 계층이라고 한다. 물리계층(Physical Layer) 7계층 중 최하위 계층. 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송. 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태로 이루어져 해당 계층은 단지 데이터를 전달. 단지 데이터 전달의 역할을 할 뿐이라 알고리즘, 오류제어 기능이 없음 장비로는 케이블, 리피터, 허브가 있음 데이터링크 계층(Data-Link Layer) 물리적인 연결을 통하여 인접한 두 장치 간의 신..
C++ RAII new, delete 와 스마트 포인터 간 어떤 차이가 있을까 ? 메모리 누수 확인 CRT 라이브러리를 통해 메모리 누수를 확인해 볼 수 있다. #include #include int main() { int *a = new int[5]; std::cout
삼성전자 DX 2023 상반기 대학생 인턴 지원 후기 안녕하세요. 오늘은 삼성전자 인턴 지원 및 합격 후기를 가지고 왔습니다. 대기업인 만큼 상당히 오랜 기간 동안 채용 과정이 진행되었고, 기다리는 동안도 매우 힘든 시간이었습니다. 각 채용 단계를 진행하면서 어떻게 준비했는지와 실제로 겪었을 때 느낀점을 글에 담아보려고 합니다. 또한 이 글에 담긴 내용은 상당히 주관적이며, 저에게만 해당되는 내용일 수 있음을 필히!! 인지하고 글을 읽어주시길 바랍니다. 마지막으로, 각 채용 단계들에 대한 상세한 내용들은(ex. 면접 질문) 엠바고가 걸려 있어 대외적으로 알려져 있는 정보들만 작성하도록 하겠습니다 :) 목차 1. 자기소개서 2. SW 역량테스트 3. 면접 자기소개서 자기소개서에는 총 4가지 질문이 있었습니다. 1. 삼성전자 지원동기 2. 성장과정 3. 사회이..
스프링 시큐리티로 회원가입 로그인 구현하기 안녕하세요. 오늘은 스프링 시큐리티를 사용해서 기본적인 회원가입과 로그인 기능을 구현해보도록 하겠습니다. JWT 객체 우선 가장 기본적인 클라이언트에게 반환할 JWT 객체를 먼저 구현하도록 하겠습니다. public class JwtToken { private String accessToken; private String refreshToken; } 기본적인 엑세스 토큰과 더불어 엑세스 토큰 만료시 재발급 받을 수 있도록 리프레쉬 토큰도 넣어서 로그인 시 클라이언트에게 반환해 주기 위해 해당 객체를 만들었습니다. JwtTokenProvider 이번에는 스프링 내에서 Jwt 토큰 생성, 증명 등 관련 작업을 수행하는 객체를 만들도록 하겠습니다. public class JwtTokenProvider { pri..
LogBack과 슬랙, 텔레그램 봇 사용하기 with Springboot 안녕하세요. 저번 시간에 이어서 오늘은 슬랙, 텔레그램 봇도 마저 만들어보려고 합니다. 슬랙 앱 생성 먼저 슬랙에서 앱 생성을 해보도록 하겠습니다. 슬랙 워크스페이스에서 Slack 찾아보기 > 앱 으로 이동합니다. 그리고 Incoming Webhooks 앱을 찾아서 추가해줍니다. 그리고 메세지를 보낼 채널을 선택해 줍니다. 그러면 디스코드 때와 마찬가지로 슬랙에 메세지를 보낼 수 있는 웹훅 URL을 받을 수 있습니다. 슬랙 메세지 생성하기 저는 디스코드 때 처럼 메세지 객체를 직접 구현해서 슬랙 메세지를 생성했는데요. 위와 같은 형식으로 메세지를 생성했습니다. 생성하고 보니 Slack에서 자체적으로 지원하는 라이브러리가 있는 것을 확인했는데요. 사용하실 분들은 뛰어난 검색을 해보시길 바랍니다. 저는 다 ..