코딩(6)
-
운영체제와 정보기술의 원리 - 책 정리 1일차
- 이 시리즈의 글은 "운영체제와 정보기술의 원리 - 반효경"이란 책을 읽으며 책 내용에 관련하여 필기한 내용입니다 - 본 내용은 운영체제를 간단하게 설명하는 위 책을 또한번 정리하는 것이므로 중요한 내용의 누락이 있을 수 있습니다. 다시 공부하는 경우 책을 다시 읽는 것을 추천합니다. 1일차 (1~3장) 서문 컴퓨터 분야의 지식은 매우 빠르게 생산되고 변해가지만, 컴퓨터 분야의 기본 원리 및 정보기술 분야가 추구하는 핵심 철학은 시대가 지나도 변하지 않는다 컴퓨터분야의 학문은 컴퓨터 자체를 효율적으로 운영하기 위한 학문, 그리고 복잡한 문제를 컴퓨터를 활용해서 효율적으로 풀 수 있는 방법을 제공하기 위한 학문으로 나뉜다. 1장 - 컴퓨터 및 정보기술의 역사 컴퓨터의 이론적 발견과 하드웨어의 역사를 다루..
2020.12.20 -
백준 코딩 테스트 1181 - 파이썬 프로그래밍
파이썬의 간결함을 느끼게 해준 첫 문제 사실 지금까지는 파이썬이 간결하다 하는데 남 얘기를 들은 느낌이었는데 이번 문제를 풀면서 체감을 한 것 같다. 사실 더 줄일 수 있는 부분이 있을 것 같은데 나는 C계열을 많이 써와서 그런지 쓸데없는 축약은 피하고싶다. 1181번 문제는 지문을 읽으면 3가지를 클리어해야한다고 생각했다. 1. 중복제거 2. 1번째 정렬조건 3. 2번째 정렬조건 1번은 귀찮게 중복처리할 필요없이 딕셔너리이나 set을 사용하면 쉽게 처리가능하다 여기서는 두개의 값이 있기 때문에 딕셔너리로 처리하였다. 2, 3번은 한번에 처리해주어야 한다 라이브러리를 쓰지 못하는 상황의 C++같았으면 끔찍하게 긴 코드가 되었겠지만 당연 파이썬에서는 여러 조건을 통한 정렬이 존재한다. 강력한 sorted(..
2020.12.09 -
백준 코딩 테스트 2438 - 파이썬 프로그래밍
백준 2438번 문제 풀이 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제입니다 예를들어 n = 5면 * ** *** **** ***** 이 되겠네요. 파이썬 코드 a = int(input()) for i in range(1, a+1): print('*'*i) c++같은 경우 2중 for문을 사용해야 했겠지만 파이썬에서는 간단하게 표현 가능합니다. 주의점 input을 int로 변환시키는점 range의 범위 주의
2020.12.04 -
Some [불투명한 반환 타입 : Opaque Type] - SwiftUI 튜토리얼
SwiftUI를 처음 시작하면서 첫 번째 부딪친 난관이 Some키워드이다.찾아봐도 어려운 설명밖에 없어서 정말 책부터 외국 블로그까지 다양하게 찾아보았다.그 경험을 바탕으로 가장 쉬운방식으로 설명하려고 노력하였다. SwiftUI의 단순하고 명료한 코드를 제공하는데 큰 역할을 하는 것이 이 Some이다.C++기반으로 코딩을 처음배운 필자에게는 상당히 생소하였는데 (혹은 내가 공부를 안했던가)찾아보니 void* 로 구성되는 핸들도 이와 비슷한 원리라고 한다.C++을 모르시는 분들은 더 난해한 설명일테니 Swift만 보고 생각해보자. Some은 불투명한 반환 타입(Opaque Type)을 표현하는 Swift의 키워드이다.불투명한 반환 타입. 즉 반환타입이 잘 안보인다는 뜻인데 이건 코드의 은닉하게 해주는 목적..
2020.10.21 -
DirectX - 마우스 픽킹 (Picking) : 3D게임 제작
목적 - 3D 공간의 물체를 2D 화면의 입력장치인 마우스로 선택한다. 개념 화면에서 3D공간으로 레이저를 쏴서 가장 먼저 맞는 오브젝트가 내가 고르고자 하는 오브젝트이다. 방법론 - 3D공간을 구성하기 위한 파이프라인을 떠올려보자. LocalMatrix -> WorldMatrix -> Veiw -> Projection -> Veiwport의 과정을 통해 2D 디스플레이에 3D 화면을 보여줄 수 있었다. 그럼 이제 2D에서 3D로 되돌아가는 과정이다. 조립은 분해의 역순이다. 즉 역순으로 역행렬을 곱해나가면 3D 공간으로 돌아갈 수 있다. 하지만 하나하나 되돌아가는건 매우 귀찮은 작업이기에 directX에서는 이 과정을 함수로 지원한다 D3DXVec3Unproject D3DXVec3Unproject fu..
2020.10.20 -
선언형 프로그래밍 vs 명령형 프로그래밍
명령형 프로그래밍은 "어떻게"를 설명하는 것이고, 선언형 프로그래밍은 "무엇을"을 설명하는 것이다. 이 설명을 보고 이해가 되었다면 더 이상의 설명은 필요없다 하산(뒤로가기)하자. 선언형 프로그래밍과 명령형 프로그래밍 선언형 프로그래밍이란 선언적 구문을 통해 프로그래밍하는 것이다. 선언적 구문이란 한글은 이해는 되지만 프로그래밍적으로 어떤 의미인지는 다소 어렵다. 선언형 프로그래밍(Declarative Programming)을 간단히 이해해보자. 프로그래밍을 배운 경험이 있다면 어떤 언어를 배우던 99%는 명령형 프로그래밍을 배우게 될 것이다. 또 모르는 용어가 나왔을 수도 있다. 명령형 프로그래밍? 먼저 명령형 프로그래밍과 선언형 프로그래밍을 구분해보자. 처음한 설명을 좀더 풀어서 설명하면 명령형 프로..
2020.10.17