분류 전체보기
-
예술가로 살아가기Bull-shit🐶 2023. 9. 22. 15:44
예술가라는 단어를 들으면 그림을 그리거나 음악을 만드는 등 세상에 없던 새로운 것들을 창조해 내는 신비한 사람들이 떠오른다. 그렇기에 대부분의 사람들에게 예술가라는 정체성은 아주 멀리 떨어진 이야기일 뿐이다. 하지만 예술가를 '이전에 존재하지 않았던 것을 새로이 만들어내는 사람'으로 정의한다면 모든 사람들은 세상에 나온 순간부터 예술가로서 살아가는 것이다. 우리를 둘러싸고 있는 세상, 지금 내가 존재한다고 생각하는 현재는 완전한 외부 세계의 투영이 아니기 때문이다. 전 우주로부터 쏟아져 들어오는 셀 수 없는 자극을 1차적으로는 감각기관들이 2차적으로는 내면의 필터가 선별한 것들을 바탕으로 매 순간 각자만의 새로운 세계를 창조하고 있다. 따라서 예술가의 정체성을 갖기 위해서 특별히 무언가를 새롭게 해야 되..
-
네트워크와 인터넷은 무엇인가?CS💻/Network🛰️ 2023. 9. 13. 14:29
네트워크 네트워크란 유선 또는 무선 방식을 이용하여 여러 장치들 간의 정보를 주고받을 수 있도록 구성한 통신망을 의미한다. 네트워크를 구성하는 요소는 크게 노드, 메시지, 간선으로 구분할 수 있다. 노드 노드는 통신 시 데이터가 연결된 망을 통해 이동할 때 거치는 각 지점을 말한다. 예를 들어 핸드폰, 컴퓨터 또는 공유기, 라우터 등이 있다. 호스트는 통신에 있어서 데이터가 출발하고 도착하는 노드를 의미한다. ex) 핸드폰, 컴퓨터 중간 노드는 최종 도착지인 호스트 간의 데이터가 이동할 때 거치는 노드를 의미한다. ex) 공유기, 라우터 간선(통신 링크) 간선은 노드들의 사이를 연결하는 선들을 의미한다. 간 간선들은 트위스티드 페어 케이블이나 광케이블을 이용한 유선 케이블과 와이파이와 같이 무선통신 장치..
-
DTO(Data Transfer Objects)를 왜 쓸까?Programming🧑💻/Spring 2023. 8. 21. 15:52
DTO를 사용하는 이유 DTO(Data Transfer Objects)는 개발할 소프트웨어의 아키텍처가 계층화되어 있어서 각 레이어 간의 데이터의 교환이 필요하거나 외부 시스템과의 상호작용이 있는 경우 데이터를 주고받는 것을 용이하게 만들기 위해 사용하는 데이터 전송용 객체이다. 엔티티를 직접 사용하여 정보를 전달할 수 있지만 추후 기술할 이점들 때문에 DTO를 사용한다. 일단 이해를 위해서 다음과 같은 상황을 가정해 보자. 당신은 장난감 가게를 운영하고 있으며 다양한 장난감을 보유하고 있으며 장난감이라는 각 객체는 상품명, 가격, 제조일자, 제조국, 보증기간 등 다양한 정보를 가지고 있다. 이때 장난감이라는 객체는 변하지 않지만 이 객체를 어디서(계층)에서 다루냐에 따라서 장난감이라는 객체에 대해 필요..
-
JPA에서 엔티티 식별자를 사용하는 이유Programming🧑💻/JPA 2023. 8. 19. 01:23
일반적으로 서비스 이용자와 서비스 제공자 간의 요청과 응답의 흐름은 다음과 같다. 이용자가 서비스에 글 보기, 댓글 조회하기와 같은 서비스를 이용하기 위하여 요청을 보내면 제공자는 이용자의 요청을 식별하고 이에 해당하는 응답을 제공하기 위해 필요한 데이터(글, 댓글)를 데이터베이스로부터 조회한다. 조회한 데이터를 서비스의 특성에 맞게 가공하여(몇 개까지 보여줄 건지, 어떻게 보여줄 건지) 사용자에게 전달한다. 또한 이용자가 글이나 댓글을 작성하기와 같은 요청을 보내면 제공자는 이용자에게 전달받은 데이터를 사전에 설계한 데이터베이스 설계에 맞게 저장하고 이에 대한 결과를 사용자에게 전달한다. 즉 서비스 이용자와 제공자 간의 요청, 응답 흐름에서 서비스와 데이터베이스 간의 통신이 필요하다. 서비스와 데이터베..
-
FFT가 빠른 이유Math♾️/Fourier Analysis 2023. 6. 22. 15:58
다항식 A(x)와 B(x)의 곱을 C(x)라고 하자. 이때 다항식 C(x)의 각 항의 계수들은 다음과 같이 각 항을 차례대로 곱하는 분배법칙을 통해서 구할 수 있다. 다항식 간의 곱 연산 시 계산되는 요소는 각 항의 계수이므로 다음과 같이 다항식의 각 항의 계수들만 배열의 형태로 나타내는 방법을 Coefficient Representation이라고 한다. Coefficient Representation을 이용해 각 항을 곱해나가며 계산을 할 경우 A(x)의 각 항은 B(x)의 모든 항과 한 번씩 곱연산을 수행해야 한다. 따라서 A(x), B(x)를 최고차항이 d라고 하면 A(x)의 하나의 항당 B(x)의 모든 d개의 항에 대해서 곱연산을 하며 이를 A(x)의 모든 d개 항에 실시하므로 기본적으로 총 d*..
-
푸리에 변환은 차원을 확장시켜 파형을 분해한다.Math♾️/Fourier Analysis 2023. 5. 30. 14:56
일반적으로 코사인 그래프는 다음과 같이 x(시간) 축에 대하여 y(진폭) 축 방향으로 위, 아래로 왔다 갔다 하면서 나타난다. 시간에 따른 점의 위치를 나타내는 코사인 함수를 각 시간 t에 대한 진폭 값들을 y축에 사영함으로써 시간의 경과를 나타내는 x축을 점의 움직임으로 전환하여 1차원 상에서 표현할 수 있다. 이와 같이 코사인 함수를 일차원상에서 나타내게 되면 시간이 무한이 증가해도 점은 수평면 상에서 좌우로 왔다 갔다 하며 반복적으로 움직일 뿐이다. 이렇게 주기성을 가지는 움직임의 형태를 'sinusodial'이라고 한다. 시간 요소를 점의 움직임으로 나타내면서 일차원 상에서 코사인 그래프를 나타낼 수 있게 되었다. 이 방법을 이용하여 점의 움직임을 2차원으로 확대해 보자. 하나의 좌표축으로 하나의..
-
컨볼루션(합성 곱) 에 대한 직관적 이해Math♾️/Fourier Analysis 2023. 5. 15. 15:04
합성곱이라고도 불리는 'Convolution'은 소리 신호 필터링, 영상 처리등과 같이 입력과 이에 대한 출력이 존재하는 경우 입력을 목적에 따라 가공해서 원하는 출력을 얻기 위해서 사용하는 연산이다. 다양한 분야에서 사용되는 만큼 자주 만나게 되는 연산이지만 수식의 전개로만 이해하기에는 너무 추상적이기 때문에 그 분야에서 적용되는 연산 방법을 외우고 이를 그냥 활용하기만 하는 경우가 있다. 이 합성곱이 일반적으로는 어떠한 의미를 갖고 있는지를 살펴보는 과정을 통해 합성곱이 입력과 출력사이에서 어떠한 역할을 하는지에 대한 직관을 얻을 수 있도록 해보았다. 추상적인 것을 이해하는 방법 중 하나는 알고자 하는 것에 대한 가장 단순한 예를 생각해 보고 이를 기초로 점점 다양한 상황에 적용될 수 있도록 일반화하..
-
화음과 불협화음의 차이를 통한 음계를 구성하는 법Sound & Music🔊 2023. 5. 10. 14:29
소리란? 왜 어떤 소리는 조화롭게 들리지만 다른 소리들은 그렇지 않을까? 이에 대해 이해하기 위해서는 일단 '소리'가 무엇인지에 대한 이해가 필요하다. 물체가 부딪히거나 스스로 진동하면서 발생한 에너지가 공기 중으로 발산하게 되면 에너지의 시작점으로부터 주위의 공기 분자들이 서로를 진동시키며 공기압의 변화가 생기게 되고 이로 인하여 에너지가 전파된다. 이러한 에너지의 전달 형태를 파동이라고 하며 이렇게 전달된 파동이 우리 귀에 있는 막을 진동시키면서 이를 소리로 인지한다. * 공기압의 변화 : 파동의 전달에 따라 특정 영역은 수축하면서 공기 분자들이 모이게 되고 또 다른 영역은 팽창하면서 공기 분자들이 퍼지게 된다. 즉 단위 부피 당 존재하는 공기분자 수의 차이가 생기고 이로 인한 밀도차가 생기면서 공기..