| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 리듬게임
- 코딩
- Docker
- OS
- C++ gui 라이브러리
- 공룡책
- 자료구조
- LOB
- JUCE library
- JUCE라이브러리
- 알고리즘
- 백준
- C++ library
- c++ heap
- C++ gui
- BOJ
- Nebula
- go
- JUCE
- a tour of go
- tour of go
- C++
- C언어
- JUCE 튜토리얼
- gui
- vim-go
- 연결리스트
- 운영체제
- go channel
- 프로그래밍
- Today
- Total
목록Programming (154)
CafeM0ca
원본 : https://developers.eos.io/eosio-home/docs/how-it-all-fits-togethereos tool을 사용하기 위해 각각의 도구가 어떻게 다른 도구들과 상호작용하는지 살펴보자. nodeos(node+eos) : EOSIO의 노드 데몬 코어로 노드를 실행시키기 위해 플러그인과 함께 구성될 수 있다. cleos(cli+eos) : CLI로 블록체인과 지갑을 관리기위해 상호작용한다. keosd(key+eos) : 지갑에서 EOSIO 키를 안전하게 저장하는 컴포넌트다. eosio-cpp : eosio.cdt의 일부면서 c++코드를 wasm으로 컴파일해주고 ABI를 만들어준다. 다음은 eos의 아키텍쳐다.
eosio.cdt을 빌드할때 의존성이 있다.바로 boost... eosio.cdt/build.sh SYS를 하기전에 boost 라이브러리부터 깔아주자.ubuntu에서 boost install > http://cafemocamoca.tistory.com/99
조건변수는 메시지를 통한 스레드의 동기화에 사용된다.에 정의되어 있다.한 스레드가 메시지 발신자 역할을 하면 다른 스레드는 수신자가 된다.수신자는 발신자의 알림을 기달리게 된다. 전형적으로 발신자-수신자 또는 생상자-소비자 흐름에 쓰인다. 출처: (cpp_reference) 조건변수 멤버함수들 #include #include #include #include std::mutex mutex_; std::condition_variable condVar; using namespace std; bool dataReady{ false }; void doTheWork() { std::cout
std::call_once는 callable을 등록할 수 있다.std::once_flag는 하나의 등록된 함수만이 호출될 수 있음을 보장한다.둘 다 에 있다. std::call_once- 오직 하나의 함수가 한 번만 수행됨. 어느 함수가 선택될지는 정의되지 않음. 선택된 함수는 std::call_once 호출과 동일한 스레드에서 실행- 성공적으로 완료되기 전까지 어떤 호출도 리턴되지 않음.- 예외로 종료시 caller에게 전파. 이에 따라 새로운 함수가 선택되고 실행됨. #include #include #include std::once_flag onceFlag; void do_once() { std::call_once(onceFlag, []() { std::cout
에라토스테네스의 체 구현하기 1234567891011121314151617181920212223242526272829303132333435363738#include #include using namespace std; bool is_prime(int n){ for(int i = 2;i n; if(n==1 && m == n); else Eratos(m,n); return 0;}Colored by Color Scriptercs
explicit은 명백한 이라는 뜻이다. C++에서는 파라미터의 형변환을 방지하는데 사용한다. explicit void func(int a) { std::cout
이 규칙들은 C++에서 지켜야하는 것들이다. https://en.cppreference.com/w/cpp/language/rule_of_three Rule of Three소멸자, 이동 생성자, 이동 복사 연산자를 정의해두자. Rule of Five소멸자, 이동 생성자, 복사 생성자, 이동 대입 연산자, 복사 대입 연산자 다섯 가지 특수 멤버 함수들을 구현해놓자. Rule of Zero소멸자, 이동 생성자, 복사 생성자, 이동 대입 연산자, 복사 대입 연산자 다섯 가지 특수 멤버 함수들을 필요로 하지 않도록 디자인 하는 것이다.기본적인 방법으로는 구식 스타일의 메모리 할당을 피하는 것이다.A클래스를 2차원 배열로 동적할당 하기 위해 A**으로 선언하지 말고 vector 이런식으로 사용하자. vector는 ..
hyu를 진행하던중 맵라인 위에 노트가 그려져야하는데 맵은 덮어져서 노트만 보이는 상황이 생겼다. (이전 게시글 참고)무엇이 문제인지 고민하다가 혹시(?)하고 짐승적인 감으로 생성순서를 바꿔주었다. before)Map map;NoteManager noteManager; after)NoteManager noteManager;Map map; 결과는 원하던 대로 잘 작동하였다.먼저 선언된 컴포넌트 순서대로 레이어가 깔리는 형식이라 그랬던 것이다.
기존에는 노트 생성과정을 30개마다 만들고 지우고를 update함수에서 반복하였는데 이번에는 Note클래스와 NoteManager클래스를 만들고 deque에 Note를 담아서 처리하는 방식을 채택하였다. 너무 비효율적이라 처음부터 끝까지 다 갈아엎었다. 남은건 딥러닝 생성 알고리즘을 구현하여 위치 선정과 일정 시간마다 노트를 생성하면 된다.