C++ LValue RValue 개념파악하기
2023. 6. 6. 21:31
DevLog/C & C++
기본개념 C++11 이전까지 LValue와 RValue는 이름과 마찬가지로 코드에서의 연산 중 왼쪽에 올 수 있는 값과 오른쪽에 존재하는 값으로 구분되어 있었습니다. 이 분류는 현재에서도 통용되는 부분이나 C++11 이후 약간의 좀 더 추가 설명이 필요하게 되었습니다. int main() { // Left Right Result는 모두 LValue로써 식별자(identifier)를 가지고 // 다른 데이터를 복사해서 자신의 상태를 변경 할 수 있다. // 3 7 0은 모두 RValue이다. int left = 3; int right = 7; int result = 0; // RValue는 여러곳에서 볼 수 있는데, RValue는 // 다른 데이터의 메모리를 복사할 공간이 없거나 // 식별자(identif..
일회용 이메일 생성
2022. 11. 20. 19:54
DevLog/Etc...
필요성 회원가입 및 회원정보와 관련된 플랫폼 서비스 기능 단위 테스트시 필요. 회원가입 및 이메일 인증 유저 별 결제 내역 테스팅 외부 플랫폼(Google, Apple, Facebook, Twitter 등...) 연동 테스트 및 연동 이력 확인 위 3가지 이외에도 매우 여러가지의 이유로 필요성을 느낄때가 있어, 해당 글을 작성. 사용방법 http://ruu.kr/ 웹사이트 접속 가입하고자하는 아이디와 메일 도메인 설정 (멀티 체크박스 체크시 한번에 여러개 생성가능.) 자신이 가입하고자하는 플랫폼 서비스에 세팅한 메일로 회원가입 시도 이메일 인증 테스팅 1시간짜리 단발성 이메일이라.. 테스팅 목적으로 사용하는게 적합
JNI : Java Native Interface
2022. 11. 6. 19:52
DevLog/JAVA
JNI ? Java Native Interface의 약자로 Java 코드가 다른 언어(일반적으로는 C 또는 C++)로 작성된 코드와 상호 작용할 수 있도록 하는 API입니다. 왜 사용하나요? 이미 Java로 소프트웨어 코어단을 작성했고, 이 이후 코드들은 Java 코드로 재작성하기를 원치 않고, Java로 작성된 코어 코드만 재사용하고 싶을때 JNI를 많이 사용합니다. 우리가 시스템 디바이스에 접근할 필요가 있거나 혹은 Java의 성능을 넘어선 플랫폼 특징적인 작업을 수행할 경우에 JNI를 사용할 수 있습니다. (사실 많은 Java 라이브러리 루틴들이 결과적으로 내부(private) 네이티브 메소드를 이러한 목적으로 호출하고 있다. 예를 들면, I/O, Threading, Networking 패키지들 전..
반복문 vs 재귀
2022. 10. 22. 23:37
EEddy's
반복문과 재귀함수 프로그램은 반복되는 작업을 수행하도록 설계된다. 따라서 반복을 구현하는 로직은 필수적이고 프로그래밍 언어마다 for, while 같은 기본적인 반복 제어문을 지원한다. 반복되는 작업은 기본 제어문을 통해서 뿐만 아니라 재귀함수로도 구현할 수 있다. 재귀함수는 복잡한 문제를 단순화해서 풀 수 있는 알고리즘으로 많이 알려져 있는데, 원래 정의는 하나의 함수가 자신을 다시 호출하여 반복되는 작업을 수행하는 함수를 말한다. 반복문과 재귀함수는 서로 반복을 수행하는 구조는 다르지만, 재귀 함수로 작성 할 수 있다면 반복문으로도 작성할 수 있고 그 역도 성립한다. 🤔 그렇다면 어떤 방식이 더 좋을까? 아래 코드는 자동차 경주게임을 구현한 일부 예시 코드다. 사용자로부터의 입력이 올바른지 검증하고 ..
스택(Stack)과 힙(Heap) 차이점
2021. 3. 1. 22:15
DevLog/C & C++
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지가 있습니다. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 코드 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부릅니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 ..