
blender를 포함한 많은 3D 에디터에서는 물체의 움직임, 애니메이션을 표현하기 위해 Armature라는 기법을 사용한다. 물체 안에 뼈대를 심고 그 뼈대의 움직임으로 물체가 움직이게 하는 기법인데 물체와 독립적으로 제작한 후 물체에 bind하기 때문에 물체를 구성하는 폴리곤의 수가 많아져도, 물체의 형태가 달라져도, 애니메이션은 동작하기 때문에 널리 사용되고있다. 기본 캐릭터의 Armature를 만들면서 기초적인 사용법을 알아보자. 먼저 사람 형태의 간단한 캐릭터를 준비한다. 캐릭터가 모두 좌우대칭인건 아니지만 이 포스팅에서는 좌우대칭인 캐릭터를 사용한다. object mode에서 Armature를 추가한다. 우측의 설정에서 On Front를 체크하면 원래 있던 캐릭터에 가려지지 않고 편하게 작업할..

머신러닝(Machine Learning)은 번역하면 기계학습으로 컴퓨터가 어떤 문제를 해결하는 방법을 스스로 생각하도록 학습시키는 것을 말한다. 머신러닝은 크게 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning)으로 나뉜다. 지도학습 (Supervised Learning) 컴퓨터에게 어떤 정답샘플을 주고 학습시킨 후 새로운 샘플이 주어졌을 때 답을 제시할 수 있도록 하는 방법을 말한다. 대표적으로 인공신경망(Neural Network)가 있으며, 인공신경망은 데이터를 네트워크에 맞는 입력형태로 변환시킨후 네트워크에 존재하는 수많은 노드들을 거치면서 최종 답을 출력한다. 신경망을 학습시킨다는 것은 샘플데이..

데이터베이스에 접근하기 위해서 사용자는 질의문 즉, 쿼리를 하용한다.DBMS는 사용자가 입력한 이 쿼리를 그대로 실행하는게 아니라 필요에 따라 최적화하고, 기계가 이해할 수 있는 방식으로 재해석해서 실행한다. 최적화 쿼리는 같은 논리적인 의미를 가지는 다양한 표현이 있을 수 있다. 때문에 같은 의미를 가지는 가장 간결한 쿼리로 쿼리를 최적화시키는 작업이 필요하다. 몇가지 공식을 통해 쿼리를 최적화할 수 있다. and로 묶여있는 select는 두번의 select로 나눈다. select 연산은 교환법칙이 성립한다. 다중 project 연산은 가장 바깥쪽에 있는 하나만 남기고 제거할 수 있다. cartesian product의 select는 theta join으로 최적화할 수 있다. natural join 두..

클라우드 컴퓨팅 특성 클라우드 컴퓨팅이란 인터넷 환경에서 하드웨어 자원과 컴퓨팅 능력을 제공하는 서비스를 말한다. 플랫폼은 감추고 간단한 그래픽 인터페이스와 API만을 제공하여 사용자로 하여금 서비스가 어떻게 이루어져있는지 캡슐화하며 서비스가 언제 어디에서든 인터넷에 연결되어있기만 하면 제공받을 수 있는 것을 목표로 한다. 서비스 모델 Cloud Software-as-a-Service (SaaS) 인터넷 환경을 통해 어플리케이션을 제공한다. 사용자는 웹 또는 서비스 API를 통해 어플리케이션을 사용할 수 있다. (Google’s Gmail) Cloud Platform-as-a-Service (PaaS) 어플리케이션을 개발할 수 있는 플랫폼을 제공한다. (Google’s App Engine) Cloud I..

데이터베이스를 활용하는 응용분야 중 방대한 텍스트에서 특정 키워드를 검색하는 시스템을 구축하는 방법에 대해 알아본다. 사실 데이터베이스 포스팅이라기 보다는 검색엔진에 관련된 주제이지만 뭐 데이터베이스 수업에서 나온 내용이므로 데이터베이스로 포함시켰다. 검색엔진은 원하는 키워드를 적합한 순서로 정렬해서 보여줘야하기 때문에 방대한 문서들을 정렬하는 알고리즘이 중요하다. 키워드를 사용하는 방법 특정 키워드를 검색할 때 문서에서 해당 단어의 가중치를 계산해서 정렬하는 방법이 있다. TF-IDF Term Frequency Invert Document Frequency의 약자로 여러 문서로 나타난 문서에서 특정 키워드가 얼마나 중요한지를 나타내는 가중치를 나타내는 수치이다. 문서의 핵심 단어를 추출하거나 검색엔진에..

데이터베이스는 구동 중 다양한 오류가 생길 수 있고, 좋은 데이터베이스는 이러한 오류를 문제없이 복구할 수 있어야한다. Transaction Failure 말 그대로 트랜젝션이 도중에 어떠한 작용으로 실패하는 경우이다. System Crash 하드웨어 전원이 나가는 등 시스템에 직접적인 타격을 받아서 오류가 발생하는 것을 말한다. Disk Failure 저장장치 하드웨어에 문제가 생겨서 발생하는 오류를 말한다. 이를 예방하기 위해 저장장치를 여러개의 물리적인 블록(block)으로 나누고 쓰기/읽기의 순서를 정해진 프로토콜을 따르도록 강제한다. 첫번째 블록에 쓰기를 수행한다. 1번이 끝나면 두번째 블록에 쓰기를 수행한다. 읽기는 2번까지 완전히 완료되면 수행한다. 물리적으로 나눈 블록이 서로 다른 값을 가..

무선 LAN의 종류 국제표준위원회(IEEE)의 무선LAN/MAN 표준위원회(802)의 11번째 워킹그룹에서 지정하는 규격으로 이름에 IEEE 802.11로 시작하는 것이 일반적이며, 버전에 따라 a, b, g, n 등 알파벳이 붙는다. 무선 LAN 표준기구는 IEEE 802.11이 유일하기 때문에 다른 모든 무선 LAN 표준의 이름은 802.11으로 시작한다. IEEE 802.11 IEEE 802에서 최초로 지정한 무선 LAN 규격이다. 2Mbps의 속도를 가지며, 2.4GHz 주파수를 사용하고, 여러 기기가 동시에 참여할 수 있도록 CSMA/CA 기술을 사용한다. 단, 초기버전이기 때문에 다양한 변수에 대응하지 못해서 호환성이 떨어졌고, 속도 또한 느려서 널리 사용되지는 못하고 다음 버전으로 넘어갔다...

Lock 여러개의 트랜젝션이 데이터베이스에 접근할 때 값에 대해 중복 쓰기, 중복 읽기를 막기 위해서 해당 값에 대한 접근을 막는것을 말한다. 기본적으로 어떤 값에 Lock을 건 트랜젝션만이 Lock을 해제할 수 있다. Lock-S (Shared Lock) - 읽기는 가능하지만 쓰기는 불가능하게 막는다. 다른 트랜젝션이 같은 값에 대해 Lock-S를 걸 수 있다. 단, Lock-S가 걸린 값에 Lock-X를 추가로 걸 수 없다. Lock-X (Exclusive Lock) - 읽기와 쓰기 모두 불가능하게 막는다. 다른 트랜젝션이 같은 값에 대해 어떠한 Lock도 추가로 걸 수 없다. 이러한 Lock을 활용해서 여러개의 트랜젝션이 동시에 수행될 때 서로 다른 값을 가지고 연산하지 않도록 만들어야한다. Two..
- Total
- Today
- Yesterday
- machine learing
- C
- 수학
- database
- 드라마
- JSP
- C/C++
- C++
- scala
- 자료구조
- SHADER
- Cocos2d-x
- 국내여행
- game
- mongoDB
- SOCKET
- SwiftUI
- Spring
- DesignPattern
- ios
- 알고리즘
- Git
- Java
- swift
- 데이터베이스
- 운영체제
- ue4
- winsock
- OS
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |