반응형

전체 글 764

[C언어/C++] Namespace이란? 사용 목적, 예제로 이해하기

목차 [C언어/C++] Namespace이란? 사용 목적 C++에서 namespace(네임스페이스)는 코드의 모듈화와 이름 충돌을 방지하기 위한 기능을 제공하는 논리적인 컨테이너입니다. 네임스페이스는 식별자(클래스, 함수, 변수 등)들을 논리적으로 그룹화하여 다른 네임스페이스에 정의된 식별자와의 이름 충돌을 피할 수 있도록 도와줍니다. 이를 통해 코드의 가독성을 향상시키고 유지보수를 용이하게 만들어 줍니다. 그냥 간단하게 설명하면 A반과 B반에 각 각에 철수라는 학생이 있으면 우리는 A, B라는 namespace가 있기 때문에 각 반의 철수를 불러낼 수 있게 되는 것입니다. Namespace를 사용하는 이유는 다음과 같습니다. 이름 충돌 방지: 프로젝트에서 여러 라이브러리나 모듈을 사용할 때, 각각의 라..

[제품 리뷰]샤오미 비오미 S9 로봇 무선 청소기(Xiaomi Viomi, 물걸레)

목차 샤오미 비오미 S9 로봇 무선 청소기(Xiaomi Viomi) 장단점 샤오미 로봇 청소기는 새로운 버전이 나올때마다 기능이 타사에 비해 업그레이드 되어서 로봇 청소기에 한해서는 타사에 비해 장점이 많습니다. 비오미는 기본적으로 진공 청소를 제공하고 추가적으로 물걸레 작업까지 가능 합니다. 장점 1. 다기능: 이 무선청소기는 빨아들이고, 닦고, 소독하는 기능을 한 번에 수행할 수 있습니다. 또한 자동으로 먼지통을 비워줌으로써 사용자의 편의를 증대시켜 줍니다. 2. 디자인과 마감: 매트한 흰색 플라스틱으로 만들어진 이전 세대의 로봇청소기와는 달리, S9 UV는 탁월한 디자인과 마감으로 사용자들을 놀라게 합니다. 검정과 파란색의 조합이 시선을 사로잡으며, 프리미엄한 느낌을 줍니다. 3. 탁월한 네비게이션..

[C언어/C++]#pragma once 사용 목적, 예제로 쉽게 알아보기(이유,샾)

목차 [C언어/C++]#pragma once 사용 목적 #pragma once는 C++에서 헤더 파일의 중복 포함을 방지하는 데 사용되는 전처리기 지시문입니다. 결론적으로 헤더가 중복적으로 포함되었을 경우 C 프로그램이 Linking 작업 중에 오류를 일으키기 때문에 중복 되는 경우 알아서 중복을 제거해달라는 뜻입니다. 이를 사용하는 이유는 다음과 같이 설명할 수 있습니다: 1. 효율성: #pragma once를 사용하면 컴파일러가 헤더 파일을 한 번만 포함하도록 보장합니다. 따라서 이미 포함된 헤더 파일은 다시 처리하지 않아도 됩니다. 이는 빌드 시간을 단축시키고 컴파일 속도를 향상시킵니다. 2. 가독성: #pragma once는 전통적인 include guards보다 간단하고 가독성이 좋습니다. In..

[C++]헤더파일 사용 예제로 이해하기(Header file)

목차 [C++]헤더파일 사용 목적 C언어에서 header file을 사용하는 목적은 아래와 같습니다. 1. 함수 선언과 재사용성 헤더 파일에 함수의 선언을 작성하면, 다른 소스 파일들에서 해당 함수를 사용할 수 있습니다. 함수의 선언은 함수의 이름, 매개변수, 반환형 등을 정의하는데, 함수의 내용은 정의되지 않으며 해당 함수가 어떻게 동작하는지에 대한 정보를 포함하지 않습니다. 이렇게 선언과 정의를 분리함으로써 함수를 여러 곳에서 재사용할 수 있습니다. 2. 모듈화와 가독성 코드를 기능 단위로 나누어 헤더 파일과 소스 파일로 구분하면, 코드가 모듈화됩니다. 이렇게 하면 프로그램의 특정 부분을 더 쉽게 이해하고 수정할 수 있습니다. 또한, 소스 파일의 크기가 커지는 것을 방지하며 코드의 가독성을 향상시킵니..

[C언어]정수자료형, 실수 자료형 크기, 범위 출력방법, 예제 코드로 크기 출력(Byte, Size, Range, printf)

목차 [C Programming]정수자료형, 실수 자료형 크기, 범위 출력방법 C언어에서 메모리를 효율적으로 사용하기 위해서는 변수의 크기를 적절히 조절할 필요가 있습니다. 다음 표는 정수, 실수에 따른 자료형의 크기(Bytes)와 사이즈 정보 및 출력 방법을 테이블로 정리하였습니다. 아래 테이블은 64비트 CPU 기준 값으로 int 값은 CPU에 따라 2 또는 4바이트가 될수 있습니다. 자료형 크기 (Byte) 범위 출력방법 char 1 -128 ~ 127 또는 0 ~ 255 char c = 'A'; printf("%c\n", c); int 4 -2,147,483,648 ~ 2,147,483,647 int num = 42; printf("%d\n", num); unsigned int 4 0 ~ 4,29..

[제품리뷰]SK매직 제습기(13L, DEH-140LI10BG, Review)

목차 [제품리뷰]SK매직 스마트제습기(13L, DEH-140LI10BG) 장단점 SK매직 스마트 제습기는 다양한 기능과 편리한 사용성으로 사용자들의 제습 요구를 완벽하게 충족시켜주는 제품입니다. 아래는 이 제습기의 장단점을 소개해드리겠습니다. 장점 1. 360도 이동 가능한 바퀴: SK매직 스마트 제습기는 360도 회전 가능한 바퀴를 장착하여 이동이 용이합니다. 어떤 방향으로든 자유롭게 이동시킬 수 있어, 필요한 공간으로 손쉽게 옮길 수 있습니다. 2. 13리터 용량: 큰 제습 용량인 13리터를 갖춘 이 제습기는 습기가 많은 공간에서도 탁월한 성능을 발휘합니다. 작은 방부터 거실까지, 다양한 공간에서도 효과적으로 제습할 수 있습니다. 3. 저소음 고효율 모드: SK매직 스마트 제습기는 저소음 고효율 모드..

[C언어] Visual Studio 디버깅에서 메모리 확인 예제(Debugging, Memory)

목차 [C Program] Visual Studio 디버깅에서 메모리 확인 예제 이번에는 아래 예제를 통해 Visual Studio 2022에서 변수의 메모리 주소를 확인하는 방법에 대해 알아보겠습니다. 예제 코드>> #include int main() { int num = 10; int* ptr = # printf("num의 주소: %p\n", &num); printf("ptr이 가리키는 주소: %p\n", ptr); return 0; } 결과>> num의 주소: 0000008881F6F9F4 ptr이 가리키는 주소: 0000008881F6F9F4 이 예제에서는 num이라는 정수 변수를 선언하고, ptr이라는 포인터 변수를 선언하여 num의 주소를 가리키도록 합니다. 그리고 printf 함수를 ..

[C언어]Visual Studio 지역 변수의 스택 값 확인(Local Variable, Stack Memory)

목차 [C Programming] Visual Studio 지역 변수의 스택 값 확인 예제 제가 현재 사용하고있는 IDE는 Visual Studio 2022 Community 버전입니다. 우선 예제로 사용할 코드는 아래와 같습니다. 예제 코드>> #include void sum(int a, int b) { int result = a + b; // 지역 변수 선언 및 초기화 printf("The sum of %d and %d is %d\n", a, b, result); printf("The address of result variable: %p\n", (void*)&result); // result 변수의 주소값 출력 } int main() { int x = 5; // 지역 변수 선언 및 초기화 int y..

[C언어] 라이브러리 만들기, 읽기(dll, lib, 외부 코드, library import, 추가)

목차 [C언어] 라이브러리 dll, lib 이란? DLL과 LIB는 동적 링크 라이브러리와 정적 링크 라이브러리(Library)를 나타내는 파일 형식입니다. 아래 예제와 함께 각각의 역할과 사용법을 설명하겠습니다. DLL (Dynamic Link Library) DLL은 동적 링크 라이브러리(Dynamic Link Library)의 약자입니다. DLL은 여러 프로그램에서 공유할 수 있는 함수, 데이터, 리소스 등의 코드를 포함하는 파일입니다. 다른 프로그램에서 이러한 기능을 필요로 할 때 DLL을 로드하여 사용할 수 있습니다. DLL은 실행 파일이 로드될 때 메모리에 동적으로 링크되어 사용됩니다. LIB (Static Library) LIB는 정적 링크 라이브러리(Static Library)의 약자입니다..

[C언어] 텍스트 파일 읽기, 예제 풀이로 이해하기(Text file, Read)

목차 [C Programming] 텍스트 파일 읽기 이번 포스트는 텍스트 파일을 읽는 방법에 대해 알아보도록 하겠습니다. 다음 포스트는 쓰기에 대해 알아보겠습니다. 코드를 이해하기 위해 간단한 예제를 통해 설명을 드리겠습니다. 예제 코드>> #define _CRT_SECURE_NO_WARNINGS #include #include int main(int argc, char* argv[]) { // 파일 인자가 전달되지 않았을 경우 경고 메시지 출력 if (argc < 2) { printf("파일을 입력해주세요.\n"); exit(EXIT_FAILURE); } // 첫 번째 인자로 전달된 파일 이름으로 파일 열기 FILE* file = fopen(argv[1], "r"); // 파일 열기에 실패했을 경우 경..

[제품리뷰]샤오미 스마트 제습기(Xiaomi Smart Dehumidifier, 14L CSJ0114DM, Review)

목차 샤오미 스마트 제습기(14L CSJ0114DM) 장단점 장점 1. 크기가 크고 성능이 강력하여, 높은 습도를 효과적으로 제거할 수 있습니다. 2. 사용자 친화적인 디자인과 간단한 컨트롤 패널을 제공하여 사용이 편리합니다. 3. Mi Home 앱을 통해 스마트폰에서 제습기를 제어할 수 있으며, Siri Shortcuts와 호환되어 음성으로도 조작할 수 있습니다. 4. 자동 모드, 수면 모드 및 건조한 옷 건조 모드와 같은 다양한 작동 모드를 제공하여 다양한 상황에 맞게 사용할 수 있습니다. 제가 생각하는 가장 강력한 기능이 모드에 따라 35.8dB라는 소음을 최저로 만들었다는 점입니다. 5. 내장된 습도 및 온도 센서를 통해 현재 조건을 모니터링하고 제습기 작동을 최적화할 수 있습니다. 6. 적절한 ..

[C언어]지역변수와 스택메모리란? 예제로 이해하기(Local Variable, Stack)

목차 [C Programming]지역변수와 스택메모리 C 언어에서 "stack"은 프로그램 실행 중에 사용되는 메모리 영역 중 하나를 가리키는 용어입니다. Stack은 주로 함수 호출과 관련된 데이터를 저장하는 데 사용되며, 지역 변수, 함수의 매개변수, 반환 주소 등을 저장하는 데에도 활용됩니다. Stack은 RAM(Random Access Memory)에 속하는 메모리 영역입니다. RAM은 컴퓨터가 프로그램 및 데이터를 실시간으로 읽고 쓸 수 있는 주 메모리로, CPU가 직접 액세스할 수 있는 공간입니다. Stack은 RAM의 일부로, 주로 스택 포인터라고 불리는 특정 레지스터를 사용하여 메모리 상에서 스택의 현재 위치를 추적합니다. 반면, 캐시 메모리(cache memory)는 CPU와 주 메모리(..

CPU 레지스터와 캐시, 종류 및 동작 방법(Register, Cache)

목차 CPU 레지스터와 캐시, 종류 및 동작 방법 레지스터는 CPU 내부에 있는 빠른 기억장치로, 캐시 메모리와는 다른 개념입니다. 캐시 메모리는 주로 CPU와 주기억장치(RAM) 사이에서 데이터를 빠르게 전달하기 위한 임시 저장소입니다. 즉, 캐시 메모리는 주기억장치와 CPU 사이에 위치하여 데이터의 접근 속도를 향상시키는 역할을 합니다. 반면에 레지스터는 CPU 내부에 위치하여 가장 빠른 속도로 데이터를 처리합니다. 레지스터는 CPU 명령어의 실행, 데이터의 임시 저장 및 중간 계산 결과 등을 처리하는 데 사용됩니다. 레지스터는 CPU 내부에 직접 통합되어 있으며, CPU의 구조에 따라 개수와 크기가 다를 수 있습니다. 요약하면, 레지스터는 CPU 내부에 위치하고 매우 빠른 기억장치로 사용되며, 캐시..

[Bootstrap] col offset 과 nesting 예제 실습, 부트스트랩

목차 [Bootstrap] col offset col-*-offset 클래스는 그리드 시스템에서 열의 오프셋을 설정하는 데 사용됩니다. 이를 통해 열을 가운데 정렬하거나 여백을 추가할 수 있습니다. 아래 예제는 offset을 사용한 경우와 사용하지 않은 경우를 비교해서 사용한 경우 어떤 차이가 발생하는지를 쉽게 알려 줍니다. 예제 코드>> 예제 카드 1 카드 1은 기본 그리드 시스템을 따릅니다. 예제 카드 2 카드 2는 기본 그리드 시스템을 따릅니다. 예제 카드 3 카드 3은 offset 클래스를 사용합니다. 결과>> 주석>> 10, 18, 28번 줄의 내용만 살펴 보시면 됩니다. 28번째 라인에만 offset-md-6이 들어가 있습니다. md는 모니터 사이즈로 앞서 포스터에서 상세하게 설명하였으므로 넘..

[Bootstrap]리스트 태그, 리스트 표시 없애기, css와 비교 예제(ol, ul, li)

목차 [Bootstrap]리스트 태그, 리스트 표시 없애기, css와 비교 예제(ol, ul, li) 예제 코드를 통해 쉽게 설명하도록 하겠습니다. 예제 코드>> Default List Item 1 Item 2 Item 3 List with Bootstrap's list-unstyled Item 1 Item 2 Item 3 List with CSS list-style: none; Item 1 Item 2 Item 3 결과>> 주석>> 참고로 저는 visual studio에서 html을 작성합니다. 위와 같이 list 값이 여러개 일 경우 아래와 같이 작성하고 탭키를 누르면 자동으로 html 형식에 맞춰서 생성이 됩니다. ul>li*3>{리스트내용} 이 예제에서는 태그를 사용하여 순서 있는 리스트를 생성하..

[전기자전거] 접이식 배터리 분리형 자전거 리뷰 (ZSUN, 미니벨로)

목차 [ebike] ZSUN : 접은 사이즈, 배터리 탈부착 여름이 되어서 전기 자전거 구매를 고민 중에 전기자전거를 정리하고 있습니다. 이번에 소개할 전기 자전거는 ZSUN에서 나온 폴딩(Folding)이 가능한 배터리 탈부착 형 전기 자전거 입니다. 제가 제일 중요하게 보는 요소가 접는 것이 가능 한가 그리고 배터리를 분리가 가능 하여 따로 충전 및 외부에 주차했을 때 배터리만 빼서 가져갈 수 있는지 였습니다. 총 종류는 3가지가 있고 사이즈는 F8, F9, F10 모델에 따라 위와 같이 다릅니다. 모델에 따라 접히는 크기도 다릅니다. 위 그림을 참조하시길 바랍니다. 배터리는 위와 같이 탈부착 분리가 가능하고 부착된 상태 또는 배터리만으로도 충전이 가능 합니다. 이 전기자전거의 모터 성능에 대해 언급..

[Bootstrap]화면 사이즈에 따른 크기 동적 조절(Browser size, width=device-width, @media)

목차 [부트스트랩] 윈도우 크기에 따라 아이콘 크기 조절 간단한 예제와 함께 결과를 통해 쉽게 이해해 보도록 하겠습니다. 예제 코드>> Logo Home About Services Contact 결과>> [부트스트랩] 윈도우 크기에 따라 아이콘 크기 조절 코드 주석 은 HTML 문서에서 사용되는 메타 태그 중 하나입니다. 이 메타 태그는 웹 페이지의 뷰포트(viewport)를 설정하는 데 사용됩니다. 뷰포트는 웹 페이지가 어떻게 표시되는지를 결정하는 화면 영역을 의미합니다. 데스크탑 컴퓨터, 태블릿, 스마트폰과 같은 다양한 기기에서 웹 페이지를 볼 때, 각 기기마다 화면 크기가 다르기 때문에 뷰포트 설정은 중요합니다. 이 메타 태그는 뷰포트의 너비를 장치의 너비에 맞추고, 초기 확대/축소 비율을 1로 설..

[Neural Networks] NN의 Backpropagation이란? 예제와 함께 설명#1

목차 [Neural Networks] NN의 Backpropagation이란? 앞서 포스트에서 신경망의 구성과 Forward Propagation이 어떻게 동작하는지에 대해 알아보았습니다. 백프로파게이션(backpropagation)은 인공신경망(artificial neural network)에서 가중치(weight)와 편향(bias)을 조정하기 위한 알고리즘입니다. 이 알고리즘은 입력 데이터를 통해 예측을 수행한 후, 실제 출력과의 오차를 역전파하여 각 가중치와 편향의 영향력을 계산합니다. 그런 다음 이 오차에 따라 가중치와 편향을 조정하여 모델의 예측을 개선합니다. 그림1과 같은 형태가 NN입니다. 여러층이 모여있으면 Multi layer NN이라고 합니다. 앞서 Backpropagation이란 가중..

[MySQL]데이터베이스 업데이트하는 여러가지 예제(Update)

목차 테이블 생성 및 데이터베이스 생성 앞서 포스트에서 만든 테이블(Table)을 사용해서 업데이트를 실습해보겠습니다. 앞서 포스트를 확인하기 귀찮으신 분은 아래 예제 코드를 참조하시길 바랍니다. CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, password TEXT NOT NULL, birthdate DATE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); INSERT INTO users (username, email, password, birthdate, created_at) VALUES ('JohnD..

반응형