전체 글 89

술을 꼭 먹어야 하는가

알만한 사람들은 알겠지만, 난 술을 잘 먹지 않는다. 거창한 이유가 있어서는 아니고 어느 새부터인가 술을 먹으면 먹을 당시에는 기분이 좋지만 당장 다음 날만 돼도 몸이 안 좋으니까 안 먹어야겠다는 생각이 커졌다. 혹은 반발심 때문일 수도 있겠다는 생각을 했다. 남들 다 술을 먹을 때 안 먹으면 멋있겠다던가 사회생활을 하면서 술을 어쩔 수 없이 먹는다고 할 때 센스있게 거절하면 될 텐데 왜 못할까에 대한 생각을 하다보니 자연스럽게 안 먹게 되었다. 다음에 넌 왜 술 안 먹냐고 물어볼 때 대답할 수 있도록 한 번 정리하고 가야겠다는 생각을 하게 되었다. 1. 피부가 뒤집어진다평소에 물 2L 마시기, 간헐적 단식을 지킨다. 나이를 먹어서인지 옛날보다는 피부 트러블이 확연히 줄어들었지만, 술을 먹고 다음 날에는..

카테고리 없음 2025.07.13

내면소통 - 삶의 변화를 가져오는 마음근력 훈련

읽게 된 이유내가 하고싶은 일을 하더라도 미래에 이게 헛수고가된다면 어떡하지? 친구들이 날 안 좋아하면 어떡하지? 기분이 마냥 좋은 날도 있지만, 안 좋은 고민으로 버거운 하루도 있기 마련이다. 하루를 살아갈 때 스트레스를 덜 받고 행복하게 살기 위한 고민을 해결해줄 책 > 을 소개하겠다.종교나 신비주의와는 상관없이, 최신 뇌과학 이론을 바탕으로 내면소통을 통해 명상으로 마음근력을 키우는 법을 알려준다. 현대인의 필수 교양인 근력운동과 같이 마음 또한 마음근력을 키워 강한 의지보다 꺾이지 않는 마음을 배우는 것이 이 책의 목표이다. 내 마음의 소음을 줄여주는 명상마음근력을 강화한다는 말은 내가 나를 변화시키는 것이다. 사람은 바뀌지 않는다는 말이 있는데 나를 바꾼다는 것이 가능한 일일까? 이는 가능하다..

독서 2025.07.10

Binary Tree

Non-linear data structureData structure의 유형은 linear 구조와 non-linear 구조로 나뉜다. 두 구조의 차이는 데이터 간의 연결 방식과 접근 방식에 있다.linear 구조: 데이터가 일렬로 나열되어 있으며, 앞에서부터 차례대로 inedx를 통해 순서대로 접근한다. (배열, 스택, 큐)non-linear 구조: 구조가 나무처럼 가지가 뻗어나가거나, 도로처럼 서로 연결된 구조이다. 순차적인 접근이 아닌 연결 관계를 따라 탐색한다. (트리, 그래프)접근 방식이 복잡하더라도 non-linear 구조를 사용하는 이유는 현실 세계의 데이터와 관계가 비선형적이기 때문이다. 예를 들어, 도시와 도시 간의 도로망, 사람들 간의 친구 관계처럼 계층적인 관계를 표현할 때 non-l..

Queue

Queue란?Queue는 먼저 들어온 데이터가 먼저 나가는 선입선출(FIFO) 구조이다.Queue의 구조데이터를 넣으면 rear 쪽으로 들어가고, 데이터를 꺼낼 때는 front 쪽에서 나온다. 하나가 들어가면 꼬리가 길어진다.Queue의 UsageQueue는 FIFO 특성 덕분에 요청을 순서대로 공정하게 처리해야 하는 상황에서 유용하게 사용된다.Task scheduling: 요청이 들어온 순서대로 처리해야 공정하고 예측 가능한 시스템이 된다.Networking: 라우터나 스위치 등은 패킷이 들어오는 순서대로 전송해야 하므로 순서 보장이 중요하다.Customer service: 고객의 요청을 접수한 순서대로 처리하는 것이 공정하다. Queue 구현: array 기반전역 변수 선언#define MAX_SIZ..

Stack

Stacks이란?Stack은 자료를 차곡차곡 쌓는 구조로 LIFO(Last In, First Out) 구조를 가진다. Linked list도 있는데 stack을 쓰는 이유는 함수 호출 순서를 저장할 때와 같이 LIFO 구조가 유리한 경우가 존재하기 때문이다.Stack의 usage(활용)Stack이 LIFO 구조를 따르기 때문에 가장 나중에 넣은 것을 먼저 꺼내야 하는 상황에서 유용하다.Undo operation (되돌리기 기능): 텍스트 편집기에서 Ctrl+Z와 같이 사용자가 수행한 작업을 stack에 저장해두고 되돌릴 때는 가장 최근 작업부터 순서대로 복원한다.Expression evaluation (수식 계산): 계산 중간값이나 연산자를 stack에 쌓아두고 적절한 시점에 pop하여 계산을 수행한다...

Variation of linked lists

Signly linked listsBackgroundTypedeftypedef는 C/C++에서 사용자가 정의한 자료형에 새로운 이름을 부여하여 복잡한 자료형 이름을 선언할 때 간단하게 만드는 데 사용된다.struct Person { char name[50]; int age;};struct Person p1;struct를 직접 사용할 때는 struct Person이라고 매변 명시한 뒤 변수명 p1을 선언해야 한다.typedef struct { char name[50]; int age;} Person;Person p1;typedef를 통해 사용자 지정 struct 변수를 선언할 때 struct 키워드 없이 간단하게 사용할 수 있다. Dynamic memory allocationRAM에서..

Complexity

Time complexity알고리즘의 연산량이 얼마나 걸리는지에 대한 척도를 나타낸다.Complexity 계산 방법Complexity를 계산할 때는 input size(입력 크기)가 매우 큰 경우을 가정한다.차수가 가장 큰 것만 중요하며 나머지 항들은 무시한다.Condfficient(계수)나 더해지는 상수는 무시한다.Notation 종류Big-O natation: Upper bound(worst case)최악의 경우의 알고리즘 성능을 나타낸다. time complexity의 상한을 보장한다.Big-Ω notation: Lower bound(best case)최선의 경우의 알고리즘 성능을 나타낸다. time complexity의 하한을 보장한다.Big-θ notation: Tight bound(best&w..

Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction (VAR)

VAR이 무엇이냐?기존 AR 모델이 픽셀을 한 줄씩 순차적으로 생성하는 "Next-Token Prediction" 방식이 가진 한계를 극복하기 위해 "Next-Scale Prediction"방식으로 다중 해상도에서 점진적으로 이미지를 생성하는 새로운 AR 모델이다. 이를 위해 Multi-Scale VQVAE를 활용하며 저해상도부터 점진적으로 고해상도를 생성하는 Coarse-to-Fine 방식을 따른다.  즉, VAR은 기존의 AR 모델이 한 줄씩 혹은, 한 patch씩 생성하며 발생하는 연산량 증가 및 이미지의 구조적 연관선의 문제를 multi-scale 방식을 적용하여 해결한 모델이라고 할 수 있다.기존의 AR (Autoregressive) model의 문제점Autoregressive Token Pre..

논문 리뷰 2025.03.19

Linked lists

ListsArray와 List의 차이Array: RAM에서 연속적인 address에 저장된다. 크기가 고정적이며 프로그램 실행 전에 미리 할당해야 하는 경우가 많다.List: 각 요소(Node)가 다른 memory에 위치하며 각 요소는 pointer로 연결된다. 크기를 유동적으로 조절 가능하며 삽입 및 삭제 작업이 자유롭다.List의 node 구성Node는 Linked List와 같은 자료 구조에서 사용되는 각 element를 의미한다.Node는 value와 pointer로 구성된다.Structers (구조체)user가 정의한 data type이다.sizeof(Structure)는 구조체 내 멤버들의 크기의 합이 아니다그 이유는structure를 선언할 때 compiler에 의해 Alignment Rul..

Pyaudio, 오디오 신호의 녹음과 재생

Pyaudio Pyaudio는 오디오를 다루는 작업을 쉽게 만들어주는 대표적인 라이브러리이다. Python에서 기본으로 제공하는 pakage가 아니므로 먼저 설치해야 한다.pip install pyaudioimport pyaudioPyaudio 의 특징오디오 재생 및 녹음을 지원한다Open Source Library이다Cross-Platform을 지원하며, 운영 체제나 장치가 달라져도 사용할 수 있다.Pyaudio의 Classespyaudio.PyAudioAudio를 어떤 format으로 처리할지 설정open() method를 통해 stream 객체 생성pyaudio.Streampyaudio.PyAudio의 open() method를 통해 생성실제 audio가 processing되는 부분Basic Pya..