Coding 26

[Make] Notion 및 Make를 활용한 일기 작성(노션다움 타일러 다이어리)

대부분의 큰틀은 노션다움님의 타일러 다이어리 컨텐츠에서 비롯되었다. https://www.youtube.com/watch?v=KLiPE_idqnE 간단히 요약하면은1. Tally Form(설문지사이트)로 일기 내용을 입력받는다2. AI API(google, chatgpt 등)을 활용하여 글을 분석한다.3. 설문지에 대한 응답을 정리해서 노션에 DB화 해놓는다.즉, 일기를 좀 더 분석적으로 볼 수 있다. 해당 유튜브를 따라하면서 개인적으로 몇가지 수정을 해서 활용을 하고 있는데 이는 아래와 같다.1. AI API를 Google Gemini로 바꿨다.이유 : chatgpt api가 토큰대비 가격이 google보다 비쌌음, 좀더 output이 개인적으론 구글이 좋았음(글관점에서) 2. 글쓰기 평가 및 식단에..

Coding/Automation 2025.12.08

[n8n] 자동화 구축을 위한 기나긴 세팅 과정

window PC로 서버 마냥 n8n을 세팅하고자 했다. 정말 삽질을 정말 오래하고 있다사실상 노션에 있는 데이터들을 가져와서 자동화작업을 하고싶었던것인데 찾아보니 굉장히 많은 일들을 할 수 있었고 make보다는 과금 안되고 좀 더 활용도가 높을거 같아 시작했다. n8n은 보통 docker에서 다운받아서 실행한다docker설치후 localhost를 통해서 가볍게 실행이 가능하다.여기서 localhost로 진행하는 과정에서도 port 5678(보통 기본적으로 되는값)이 안되길래 당황했다.https://www.docker.com/products/docker-desktop/ Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker D..

Coding/Automation 2025.10.13

[C++] Pointer 포인터

포인터의 기본 개념포인터는 변수를 가리키는 변수이며, 메모리 주소를 저장하고 있는 변수이다.int num = 147;int* pointer = #cout 역참조를 통해 포인터가 가리키는 변수의 값을 변경할 수 있다.*pointer = 100;cout 여러 포인터 변수와 주소 확인같은 주소를 가리키는 여러 포인터를 선언할 수 있다.int num = 123;int* pNum0 = #int* pNum1 = #int* pNum2 = pNum0;cout 포인터 선언 시 해석포인터 선언은 "해당 주소값을 어떤 타입으로 해석할 것인가"를 의미한다.int num = 1;int* pNum = # // int형 데이터를 가리키는 포인터const 키워드와 포인터const의 위치에 따라 의미가 달..

Coding/C++ 2025.05.31

[C++] Array range-based for

기본 for 루프를 통한 배열 순회일반적인 배열을 순회할 때는 전통적인 for 루프를 사용한다.int arr[5] = {1, 2, 3, 4, 5};for (int i = 0; i 범위 기반 for 루프 (range-based for)C++11부터 지원되는 범위 기반 for 루프를 사용하면 코드가 간결해진다.for (int num : arr){ cout 구조체 배열 초기화 및 순회구조체 배열은 일반 배열처럼 초기화할 수 있다.struct Person{ float weight; float height;};Person persons[] = { Person{70.f, 181.f}, Person{56.2f, 167.3f}};주소 비교를 통한 구조체 순회 방식 차이일반적인 인덱스 기반 순..

Coding/C++ 2025.05.31

[C++] Array

array 선언과 초기화std::array는 고정된 크기의 배열을 선언할 때 사용되며, 크기는 템플릿 인자로 고정된다.#include array arr{1, 2, 3};명시적으로 값을 지정하지 않은 요소들은 0으로 초기화되지 않고 쓰레기값이 들어갈 수 있다.요소 접근과 경계 검사일반적인 배열처럼 인덱스를 통해 요소에 접근할 수 있으며, at()을 이용하면 범위 검사까지 수행된다.cout at()은 배열의 경계를 벗어나는 접근을 할 경우 런타임 에러를 발생시켜 디버깅에 도움이 된다.배열의 크기 확인std::array는 size() 멤버 함수를 통해 배열의 크기를 반환한다.cout 기존 배열은 sizeof 연산으로 크기를 계산해야 한다.int arr0[5] = {1, 2, 3};cout 앞/뒤 요소 접근fr..

Coding/C++ 2025.05.29

[C++] enum class & enum struct

enum을 자주쓰다보면은 문제가 발생하는데 바로 다른 변수이름하에 같은 이름이 할당되었을때, 즉 중복정의시 문제가 생긴다. 예시 코드를 보자enum CircleAttribute{ Bold = 1};enum RectAttribute{ Bold = 1, Underline = 2};기존 enum은 범위가 없기 때문에 같은 이름을 다른 enum에 중복 정의하면 컴파일 에러가 발생한다. enum CircleAttribute{ cBold = 1};충돌 방지를 위해 접두사(prefix)를 사용하여 관리하는 경우가 많다. 하지만 변수 이름이 너무 다양해지고 관리하기가 힘들기 때문에애초에 enum 뒤에 class 혹은 struct을 넣어서 직접 지정하는 형태를 쓰는 형태로 쓰면된다. 범위가 있는 열..

Coding/C++ 2025.05.28

[C++] enum

enum을 이용한 색상 상수 정의enum을 사용하면 각 항목에 정수 값을 명시적으로 지정할 수 있다. 명시하지 않으면 0부터 자동으로 증가한다.위 예시에서 Red는 0, Green은 1, Blue는 2, Alpha는 3, SIZE는 4가 된다.#include using namespace std;enum Color{ Red = 0, Green, Blue, Alpha, SIZE};배열을 이용한 색상 데이터 저장int colors[SIZE] = { 255, 128, 128 };cout enum 값을 배열의 인덱스로 사용하면 가독성도 좋고 유지보수도 편리하다. SIZE는 배열의 크기로도 사용될 수 있다. 배열을 이용한 평균 계산기본적으로 평균을 계산할땐 밑에 있는 코드처럼 그냥 더해서..

Coding/C++ 2025.05.27

[C++] Union 유니온

Struct이랑 Union이랑 비슷한 개념이면서도 다른게 Union의 경우 배열의 크기를 상대적으로 Struct보다 작게 사용할 수 있다.#include using namespace std;int main(){ struct Product0 { int idType; // 4 bytes int idInteger; // 4 bytes int idChars[10]; // 10 x 4 = 40 bytes (int 배열) }; cout 구조체 Product0은 고정된 형식으로 데이터를 저장합니다. int 타입 기준으로 정렬이 되며, 배열 크기만큼의 메모리를 항상 차지한다. union을 활용한 메모리 절약union은 여러 타입을 ..

Coding/C++ 2025.05.26

[C++] Struct alignas

C++에서 struct는 멤버 변수들의 메모리 배치를 최적화하기 위해 패딩(padding)을 추가할 수 있다. 기본 구조체의 메모리 크기 확인기준은 구조체에서 가장 자료형이 큰것을 선정한다.여기서는 float인데 char의 경우 사실상 1 byte이기 때문에 float 4byte를 선정한다.int main(){ struct Person { float height; // 4 bytes float weight; // 4 bytes char name[10]; // 10 bytes short grade; // 2 bytes }; std::cout // height, grade, weight, name 순..

Coding/C++ 2025.05.24

[C++] Struct 구조체

C++에서 구조체(struct)는 여러 데이터들을 하나로 묶어 관리할 수 있다. 구조체 예시를 들땐 보통 신체검사할때 쓰는 요소들을 예시로 많이 든다. struct 묶어서 쓰고싶을땐 맨위에 먼저 안에 들어가는 struct을 먼저 선언해야한다.밑에 있는 코드의 경우 눈시력관련 변수를 먼저 선언후 struct을 제작한 예시struct EyeSight{ float left; float right;};struct Person{ float height; float weight; char name[10]; EyeSight eyeSight;}; 구조체 초기화 선언 - 전체 순서대로 초기화 Person person0 = {174.2f, 60.1f, "David", {1.1f, 1.0..

Coding/C++ 2025.05.23
반응형