본문 바로가기
WebGL 요약 WebGL 1은 OpenGL ES 2.0 기반 WebGL 2는 OpenGL ES 3.0 기반, 이는 WebGL 1에 새로운 기능이 추가된 것. WebGL은 GPU에서 동작한다. Vertex shader와 fragment shader 두 개의 함수가 한 쌍으로 하나의 프로그램이 된다. vertext shader는 vertex의 위치를 계산, 이 결과로 나온 출력들을 바탕으로 point, line, triangle을 raterize한다. rasterizing할 때 WebGL은 fragment shader을 호출한다. fragment shader는 현재 그리려고 하는 primitive(point, line, triangle, ...)의 각 픽셀에 대한 색을 계산한다. buffer -> attribute -> .. 2021. 6. 14.
C++ 변수 초기화 방법 C++에서 변수를 초기화하는 방법은 세 가지가 존재한다. int width = 5; 2021. 6. 10.
C++ enum class와 enum C++의 enumeration에는 크게 enum class와 enum이 있다. enum class는 scoped enum이라 하며, C와의 호환을 위해 unscoped enum인 enum이 있다. user-defined type이다. enum class는 ::을 이용해 값을 가져온다. enum class가 더 안전하다. enum class Vehicle { Car, Bike, Truck }; Fruit suv_vehicle = Vehicle::Car; #include enum class Race { Dinan, Teklan, Ivyn, Moiran, Camite, Julian, Aidan }; int main() { Race race = Race::Teklan; switch (race) { case Ra.. 2021. 6. 10.
C++ range-based for loop C++ range-based for loop에 대해 알아본다. #include int main() { unsigned long maximum = 0; unsigned long values[] = { 10, 50, 20, 40, 0}; for (unsigned long value : values) { if (value > maximum) maximum = value; } printf("The maximu value is %lu", maximum); return 0; } for loop을 이용한 코드는 아래와 같다. #include #include int main() { unsigned long maximum = 0; unsigned long values[] = { 10, 50, 20, 40, 0}; for.. 2021. 6. 10.
고성능 파이썬 이 글은 한빛미디어 도서 서평단 나는 리뷰어다 2021을 통해 책을 제공받아 작성하였습니다. 이 책은 번역서 '고성능 파이썬(미샤 고렐릭, 이안 오스발트 지음, 오현석 옮김, 한빛미디어)' 입니다. 이 책은 처리할 데이터 용량이 큰 프로그램들을 효율적으로 작성해 성능을 높이는 방법들을 알려준다. 성능이 좋은 파이썬 프로그램을 작성하는 방법 뿐만 아니라, 프로그램의 확장성이 좋은 구조에 대해 설명해 준다. 구체적으로 멀티 코어 아키텍처, 클러스터, GPU를 활용하는 방법을 파이썬 코드로 알려 준다.하지만 책에서는 직접적으로 SQL 등을 활용해 데이터를 다루는 방법에 대해서는 알려주지 않는다. 파이썬을 이용해 직접 프로그램을 프로파일링해 성능이 어느 정도 인지 측정하고, 파이썬 인터프리터를 설정해 성능을 끌.. 2021. 5. 23.
확률 요약 어떤 사건(event)이 일어날 확률(probability)는 사건이 일어날 가능성을 나타내며, 0과 1사이의 숫자이다. 확률 변수(random variable)는 확률 공간에 있는 각 결과에 대해 실숫값을 할당하는 함수이다. 예를 들어, 동전 던지기에서 동전의 앞면(head)을 1로, 뒷면(tail)을 0으로 할당할 수 있다. 확률 변수의 기댓값(expectation)은 확률 변수 분포의 중심(center)을 잡기 위한 값이다. 주어진 분포에서 뽑은 샘플의 평균으로 해석할 수 있다. 조금 더 정확히 말하면, 가능한 확률 변수의 값을 확률로 가중합을 구한 것이다. $$E[X] = \sum_{x\in\chi} xP(x)$$ 공정한 주사위의 기댓값은 3.5에 수렴한다. 확률 변수의 분산(variance)은 .. 2021. 5. 5.
웹 요약 1999년 이전, server-side application이 표준(server-side application을 server-side rendering, SSR이라고도 함) 1999년과 2012년 사이, web 2.0, client-side application이 개발(client-side application은 single-page applications, SPAs, 예를 들어 React, Angular, Vue; 유저 입장에서는 단일 페이지가 아니라 많은 페이지로 보인다; SSR과의 차이점은 페이지가 서버에서 오느냐 아니면 client쪽에서 동적으로 렌더링되냐) 2012년 부터, 스마트폰이 보급되면서 네트워크를 통해 가능한 적은 정보를 보내는 것이 관습 SSR과 SPA의 경계가 모호하기도 하다. SP.. 2021. 4. 26.