일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 터치디자이너 에이블톤
- 터치디자이너 강의
- touchdesigner displace
- displace
- 터치디자이너 오퍼레이터
- 터치디자이너 interface
- 터치디자이너 Instancing
- 터치디자이너 python
- 터치디자이너 if
- 터치디자이너 timeline
- 터치디자이너 list
- 터치디자이너 replicator
- 터치디자이너 파이썬
- 터치디자이너 튜토리얼
- TouchDesigner
- 파이썬 if
- ableton live 10
- touchdesigner particle
- 터치디자이너 클론
- 파이썬
- particleGPU
- 터치디자이너
- touchdesinger
- touchdesigner GPU
- TDableton
- 터치디자이너 함수
- 터치디자이너 인터페이스
- 터치디자이너 reference
- 터치디자이너 참조
- 파이썬reference
- Today
- Total
목록개발 공부/컴퓨터 과학 (29)
caLAB
SOLID 1. Single Responsibility 2. Open - Closed 3. Liskov Substitution 4. Interface Segregation 5. Dependency Inversion 1. Single Responsibility 단일 책임 원칙 : 모든 함수나 클래스는 하나의 part에 대한 책임만 가짐. 2. Open Closed 개방 폐쇄 원칙 : 소프트웨어 개체는 확장에 대해 열려 있어야 하고, 수정에 대해 닫혀 있어야 한다. 3. Liskov Substitution 리스코프 치환 원칙 : 하위 클래스는 수퍼 클래스로 대체 가능해야 합니다. 4. Interface Segregation 인터페이스 분리 원칙 : 클라이언트 입장에서 사용하는 기능만 제공하도록 인터페이스를 ..
Builder Pattern 오브젝트의 생성과정이 복잡할 때 이를 간단하게 만듦. 오브젝트의 생성 과정에 여러 인자가 필요할 때 이를 단순화 시킬 수 있음. 오브젝트의 생성과정이 복잡할 때 빌더 패턴으로 구현하는 것을 생각해볼 것. 값을 지정하고 설정하는 것을 함수로 따로 빼주어서 argument를 set해 줌. 함수 끝에 return 값을 붙여서 체인 형태로 함수를 연속적으로 호출 마지막에 build함수로 cat 객체 생성 WhiteCatBuilder에서는 하얀색 고양이만 생성. BlackCatBuilder에서는 검은색 고양이만 생성. constructor에서 base 클래스의 constructor 호출 Builder 인터페이스 : 고양이 Builder ConcreteBuilder 인터페이스 : 하얀색..
팩토리 메서드 패턴 팩토리 패턴에 추가 기능을 구현하는데 팩토리 메서드 패턴을 사용할 수 있다. 각 각의 다른 기능이 있는 팩토리에서 객체를 만듦. 그리고 각 각 다른 팩토리를 관리하는 인터페이스로써의 팩토리가 존재한다. 객체 생성 파트가 상속되어 있으면 팩토리 메서드 패턴을 사용했다고 생각하면 됨. 구조화를 통해 선언부와 실현 구현부를 분리. 팩토리 메서드는 프레임 워크와 같은 응용 프로그램에서 많이 이용하는 패턴 중 하나. 팩토리 메서드 패턴을 이용하면 응용 프로그램에 클래스가 종속되지 않도록 관리할 수 있음. 그 이유는 객체의 생성 과정을 캡슐화 하고 이를 분리하여 관리할 수 있기 때문. 추상화 팩토리 패턴 Matrix 관계(표)를 가진 class 오브젝트를 생성할 때 유리함. 각 각의 테마를 가진..
https://dev.to/pb/10-github-repositories-every-developer-should-know-ngm 10 GitHub Repositories every Developer should know Other than being the home for some of the most interesting Open Source Projects on the internet, GitH... dev.to 볼 만한 링크 체크 흔치 않는 C# 강좌가 많이 있당 https://github.com/danistefanovic/build-your-own-x GitHub - danistefanovic/build-your-own-x: 🤓 Build your own (insert technology her..
디스크 스케쥴링 하드디스크가 원리적으로 동심원을 이루는 헤더를 움직여서 트랙을 읽는다. 헤더를 움직이는게 시간이 오래걸린다. 어떻게 하면 헤더를 적게 움직일 것인가에 대한 것을 다루는 것이 디스크 스케쥴링에 관련된 것이다. FCFS Scheduling : 먼저 넣은 것 먼저 처리. 가장 간단하고 공평. SSTF Scheduling : 헤더를 가장 적게 움직여도 되는 것 먼저 처리. Scan Scheduling : 디스크 헤더를 안쪽으로 끝까지 넣었다 빼는 방식. Scan Variants : C-Scan, Look, C-Look Elevator Algorithm
가상메모리 지금 당장 필요로 하는 것만 올리는 것이 가상메모리이다. 원래 프로세스가 500mb일 때 지금 당장 사용하는게 100mb라면 100mb만 main memory에 올려서 사용하도록 cpu가 명령하여 마치 cpu가 전체적으로 봤을 때 500mb를 사용하는 것처럼 보이게 하는 것을 가상메모리라고 한다. 올릴 때는 일반적으로 페이지 단위로 올린다. main memory를 프레임 단위로 나눠서 페이지를 올린다. 페이지 단위로 올리기 때문에 메모리 공간이 연속적일 필요는 없다. 모든 프로세스를 올리는 것이 아니라 페이지 중 필요한 것만 올리는 것을 demand page라고 한다. 페이지 테이블 안에는 일반적으로 들어가는 내용이 페이지가 main memory 몇 번째에 있는가에 대한 index가 존재한다...
주기억장치 관리(Main Memory Management) : 메모리 메모리의 역사는 1970년대부터 시작한다. 초기의 메모리는 64kb였다. 최근에는 수 GB의 메모리를 사용하는 것에 비교해보자면 메모리의 발전 역사는 눈부시다. 하지만, 메모리는 오늘날 과거에 비해서 혁신적으로 증가했음에도 불구하고 여전히 부족 현상을 겪는다. 그 이유는 프로그램이 변화했기 때문이다. 과거 우리는 기계어나 어셈블리어로 일명 외계어로 프로그래밍을 작성하였다. 하지만, 오늘날에 와서는 고수준 언어를 사용하게 되면서 이에 따라서 프로그램의 크기도 증가하게 되었다. 그렇기 때문에 우리는 메모리를 어떻게 하면 효율적으로 사용할 수 있을지에 대해서 고민해야 된다. 우선, 메모리는 무엇일까? 메모리의 구조는 주소(address)와 ..
전통적 동기화의 예제 이번에는 전통적 동기화의 예제 세 가지에 대해서 볼 것이다. 1. 생산자-소비자 문제(Producer and Consumer Problem) 2. 공유 데이터 베이스 접근(Readers-Writers Problem) 3. 식사하는 철학자 문제(Dining Philosopher Problem) 첫 번째로 볼 것은 생산자-소비자 문제이다. 생산자가 데이터를 생산하면 소비자는 그것을 소비할 수 있다. 생산자와 소비자의 생산과 소비 속도가 항상 일정하지 않기 때문에 중간에 bounded buffer가 존재하며, 생산자는 생산한 데이터를 버퍼에 저장하고, 소비자는 버퍼에서 데이터를 꺼내서 소비한다. 현실 시스템에서 이 버퍼의 사이즈는 유한하다. 이 유한성 때문에 문제가 생기게 된다. 생산자는..