본문 바로가기

반응형

분류 전체보기

(425)
[VBA] 객체(Object) 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'VBA Objects - The Ultimate Guide(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 객체 대해 다룹니다. Quick Guide Task Examples 객체의 선언과 생성 Dim coll As New Collection Dim o As New Class1 객체의 선언 Dim coll As Collection Dim o As Class1 생성과 실행 Set coll = New Collection Set o = New Class1 엑셀 객체에 할당 Dim wk As Workbook Set wk = Workbooks("book1.xlsx") CreateObject 를 이용해 생성 Di..
[C++] type traits 기초 들어가며 type traits는 C++ 템플릿 메타 프로그래밍에서 꽤나 유용하게 쓰이는 기술중에 하나다. 여러분은 type traits를 이용하여 '타입'의 다양한 속성들에 대해 조사하거나, 타입의 프로퍼티를 변경할 수 있다. 예를 들어 제네릭타입 T가 있다고 가정하자. T는 int도 될 수 있고, bool, std::vector 또는 다른 어떠한 타입도 가능하다. template class Widget { // ... }; 여러분은 type traits를 이용하여 제네릭 템플릿 인자로 넘어온 타입 T가 int형인지, 함수인지, 포인터인지 아니면 클래스인지, 클래스라면 소멸자를 가졌는지, 복사가 가능한지, 예외를 던지는지 아닌지 등등 다양한 것들을 조사 할 수 있다. 이런 타입에 대한 정보들은 조건부 컴..
[MySQL] 그룹별 최대 or 최소 select하기 들어가며 SQL에서 제공하는 그룹 함수인 max(), min()을 이용하면 테이블에서 가장 큰 값과 작은 값을 쉽게 구할 수 있다. 하지만 각 그룹당 최대값과 최소값은 어떻게 구할 수 있을까? 예를 들면, 각 플레이어의 최고 점수는 얼마인가? 각 장르별 가장 인기있는 영화는? 이번 포스트에서는 각 항목에서 상위 1개 행을 구하는 방법에서 시작하여 N개 행을 선택하는 방법 까지 다뤄 보도록 하겠다. 본격적인 내용으로 들어가기 전에 이번 포스트에서 사용할 예제 테이블은 아래와 같다. CREATE TABLE `fruits` ( `type` VARCHAR(50) NOT NULL COMMENT '과일 종류/그룹', `variety` VARCHAR(50) NOT NULL COMMENT '과일 품종', `price`..
[VBA] 엑셀 매크로 시작 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'How To Create a Macro From Scratch in Excel(by Paul Kelly)'의 내용을 다시 정리한 것입니다. Excel 매크로의 시작 부터 차근 차근 설명하고 있으므로 이전에 Excel 매크로에 대한 경험이 없더라도 쉽게 따라 오실수 있습니다. Excel 매크로란? Excel "매크로"와 "VBA"라는 용어를 들어 보셨을 겁니다. 간단히 말해서 둘은 같습니다. Excel 매크로는 Excel에 기본 제공되는 프로그래밍 언어 VBA를 나타냅니다. 일반적으로 VBA를 처음 접하는 사람은 매크로 라는 용어 를 사용하고 익숙해지면 VBA 라는 용어를 사용합니다. 결론은 하나를 가리키는 다른 이름일 뿐입니다. VBA는 무엇인가..
[VBA] '고급 필터' 완벽 가이드 들어가며 엑셀에는 특정 범위 대상으로 원하는 조건에 맞는 데이터를 추출할 수 있는 기능을 제공하고 있습니다. 이런 기능을 '필터'라고하며 간단하고 쉽게 적용할 수 있는 '자동 필터'와 복잡하지만 세부적이면서 여러 조건을 지정할 수 있는 '고급 필터'가 있습니다. 이번 포스트에서는 '고급 필터'가 무엇인지, 엑셀에서 고급 필터를 사용하기 위해서는 어떻게 해야하는지 살짝 살펴 본 후, VBA 스크립트를 이용해 고급 필터를 사용하는 법에 대해 중점적으로 알아 보도록하겠습니다. 고급 필터 퀵 가이드 Task Cell formula Examples where true 특정 단어 포함하는 문자열 선택 Pea ="Pea" ="*Pea*" Peach, Pea, Appear 특정 단어 포함 하지 않는 문자열 선택 ="*..
[VBA] 배열 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'Excel VBA Array – The Complete Guide(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 배열(array)에 대해 다룹니다. 들어가며 본 포스트는 Excel VBA 프로그래밍의 아주 중용한 부분인 '배열(Array)'에 대해 자세히 설명 합니다. 먼저 배열이 정확히 무엇인지, 왜 필요한지 부터 살펴 보고 VBA에서 배열을 사용하기 위해 알아야 할 지식들에 대해 설명합니다. 본 포스트는 VBA를 사용하기 위해 기본적인 VBA 프로젝트 정도는 띄울 수 있는 것을 가정하고 작성 되었습니다. 만일 제가 지금 무슨 말을하고 있는지 이해가 가지 않으신 분이라면 [여기]에서 VBA의 기본적..
[gcc] Ubuntu 20.04에서 최신 버전 gcc설치하기 들어가며 본 포스트는 포스트가 작성되는 시점의 최신 버전인 gcc 11을 대상으로 작성되었다. 추후 상위 버전의 gcc가 릴리즈 된다고 하더라도 버전 숫자만 바꾼다면 적용하는데 별다른 어려움이 없을것이다. 1초 완료 가이드 Ubuntu 20.04에는 기본적으로 gcc 9.3.0 버전이 설치 되어 있어 module과 같이 최근에 추가된 C++20 스펙을 사용하지 못한다. gcc를 이용해 C++20의 기능을 제대로 사용하기 위해 gcc-11 이상 버전으로 업그레이드가 필요하다. gcc의 C++20 지원 스펙을 확인하려면 [여기]를 확인하자. $ gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 이런 저런 설명 필요 없고 나는 그냥 Ubuntu에서 gcc-11 ..
[C++20] 당신이 모듈(module)을 써야만 하는 이유 들어가며 C++의 모듈(module)은 concepts, ranges, coroutine과 더불어 'Big Four'이라고 불려지며 C++20 스펙에 추가된 네 가지 주요 요소 중에 하나다. 모듈은 기존 헤더 파일을 대체할 수 있을 뿐만 아니라, 컴파일 시간 개선, 매크로 격리(macro isolation, 용어가 생소하지만 뒤에 설명이 나온다)등을 제공한다. 간단하게 정리하면 #include 전처리 방식을 대신할 수 있는 새로 도입된 개념으로써 java의 package나 C#의 namespace와 동일한 역할을 한다. 모듈의 도입으로 C++에 어떠한 변화가 생겼는지 알아 보기 위해 우리는 기존 C++은 어떤 모습이었는지 먼저 살펴 볼 필요가 있다. 기존 C++의 구조를 보기 위해 그 유명한 "Hello..
[Unity] 쉐이더(Shader) 기초 들어가며 스프라이트를 클릭하면 외곽선을 하이라이트 시켜 선택되었다고 인지할 수 있는 기능을 만들고 싶었는데, 유니티에서 이런 기능을 만들려면 쉐이더를 써야 한다고 한다. 필자는 프로그래머로 오래 일을 해오긴 했지만 쉐이더 사용에는 전혀 문외한인지라 쉐이더를 공부하면서..아니다 공부라는 단어를 사용하기에는 너무 깊게 들어가지는 않을거라 '공부'라는 단어 보다는 기존 쉐이더를 분석하고 사용하는 방법을 알아간 과정을 기록하도록 하겠다. 쉐이더란? 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수 쉐이더란 "화면에 출력할 픽셀의 위치와 색상을 계산하는 함수"라고 [여기]에서 쉽게 정의를 내리고 있다. 쉐이더는 크게 버텍스 쉐이더(vertex shader)와 픽셀 쉐이더(pixel shader)로 나뉘어진다. 버..
[Unity] Physics.Raycast 완벽 가이드 들어가며 Unity의 Physics.Raycast는 직선을 씬에 투영하여 대상에 적중되면 true를 리턴하는 물리 함수다. Raycast 함수는 캐스팅 성공 실패에 따른 결과만 리턴하는 간단한 형태에서 부터 대상과 Ray의 충돌에 관련된 자세한 정보를(직선과 객체의 교차 정보. 거리, 위치, 캐스팅에 검출 된 객체의 Transform에 대한 참조 등) 리턴하는 다양한 버전이 제공 되고 있다. 이번 포스트에서는 Raycast 함수를 사용하기 위해 알아야할 필수적인 요소들을 살펴 보는 시간을 갖도록 하겠다. Unity에서 Raycast를 사용하는 법 Unity 2020.3 버전 기준으로 Physics.Raycast는 아래와 같이 다양한 버전으로 오버로드 되어 제공되고 있다. bool Raycast(Vecto..

반응형