개발, 연습 30

[재미] 아두이노 레오나르도 스타크래프트 매크로

아버지가 스타크래프트를 즐겨하시는데, 컴퓨터와 사용자설정으로 돈치트를 사용해서 시간도 때울 겸 즐기신다. 이전부터 아두이노 레오나르도가 키보드 마우스 제어가 가능한 것은 알고 있었는데, 연습으로 이것저것 만져보다가 업로드를 잘못해서 usb를 꼽기만 해도 마우스가 무한정 올라갔다. 원래 아두이노 우노는 초기화 버튼을 누르면 초기화가 되는데, 레오나르도는 초기화 버튼이 초기화가 되지 않는 것 같다. 검색해보니 업로드 시 뭣땜시 usb를 뺐다 꼽는듯한 전기신호를 보낸다는데, 업로드 중에 끊어졌다 다시 붙으면 시리얼 포트가 달라질 수 있기 때문에 리셋 버튼을 누른 상태로 업로드하는게 업로드의 정석인것 같다. 리셋 버튼을 누른채로 업로드를 눌러 업로드..가 뜨면 떼라는데, 타이밍 맞추기 너무 어렵다. 아무튼 이전..

개발, 연습 2021.03.17

vscode extension installation from VSIX

vscode는 확장프로그램을 설치할 수 있는데, extensions 탭에서 설치하는게 아닌 확장 프로그램을 직접 다운받아서 설치가 가능하다. 유명한 확장 프로그램인 c/c++을 설치한다고 하면, https://marketplace.visualstudio.com/ 에 들어가서 원하는 확장 프로그램을 찾은 뒤에 오른쪽 아래에 Download Extension을 찾아서 VSIX파일을 직접 다운로드 받는다. 그 후에 vscode를 열어 Ctrl + Shift + P (Command Palette)를 열고 Extensions: install from VSIX를 눌러 VSIX 파일을 찾아서 눌러주면 된다. 그럼 자동설치가 된다. 사용하는 확장 프로그램 : C/C++ 더보기 C/C++ 여기서 vsix를 직접 다운로드..

개발, 연습 2020.12.20

[C++] 예외 처리

c++에서는 예외처리를 지원한다. 기본적으로 문법은 이렇다. try { //예외가 일어날 수 있는 코드 //예외가 일어나면 throw 예외객체; } catch (/* 예외 객체 매개변수 */) { //예외 처리 } 그리고 표준으로 예외 객체를 지원하는데, std::exception 객체이다. std::exception 객체를 상속받아 객체 클래스를 구현하고 사용하여도 되고, std::exception 객체를 상속받은 표준 예외 처리 객체를 사용하여도 된다. std::exception 객체의 가상 함수인 what() 함수를 사용하여 기본적인 예외 객체의 문자열을 출력하게 할 수 있다. 그리고 모든 예외를 받고 싶다고 하면 catch(...)을 이용하여 예외를 받으면 다른 모든 예외를 받을 수 있다. 그러나..

개발, 연습 2020.07.11

[C++] Functor (또는 함수 객체) 연습

c++ 보는 책에서 펑터 개념을 알려줬는데 처음에 이해가 안 가서 안 보고 있었다가오늘 다시 보고 이해하면서 책의 예제와 비슷한 코드를 짜 보았다. 클래스 구조는 이렇다. 순수 가상 함수를 담고 있는 추상 클래스인 RetRule 클래스를ToValue 클래스와 ToIndex 클래스가 상속받고 있다. 파일 구조는 다음과 같다. main.cppRetRule.cppRules.cppfunctions.cpp header/ RetRule.h Rules.h functions.h main.cpp RetRule.h / RetRule.cpp Rules.h / Rules.cpp functions.h / functions.cpp 실행 결과 max함수의 세 번째 인자로 펑터를 사용하여 배열에서의 가장 큰 값을 가져올지배열에서의 ..

개발, 연습 2020.07.01

[개발] Sublime Text 3 플러그인 개발

다음과 같은 플러그인을 만들게 되었다. proj-manager-plugin ---README.md--- proj-manager-plugin 플러그인 설명 C/C++ 개발 환경에서 개발 편의성을 위해 사용하는 플러그인. 프로젝트 폴더 자동생성, 생성하는 클래스에 따른 헤더파일 생성/분리 자동화, 프로젝트 폴더에 자동 작성된 배치 파일을 이용한 빌드 시 현재 폴더에 따른 빌드시스템 최신화 개발 목적 Sublime Text 3 + Mingw를 이용한 프로그래밍 연습, 개발 등 C/C++ 개발 시 개발 환경에 따른 빌드 시스템을 구축하기 번거롭고, 클래스 작성 시 IDE같은 통합 개발 환경의 개발 편의성을 따라가지 못해 불편함이 있다. 그 점을 개선하기 위해 다음과 같은 플러그인을 만들게 되었다. 적용법 파일들..

개발, 연습 2020.07.01

[c++] 열혈강의 c++ 문제 08-1 oop 프로젝트 6

https://drive.google.com/open?id=1y-rrFLRMO2obY5hjXznOE1MxWR1TZjZp 클래스 구조: Account NormalAccount : public Account HighCreditAccount : public Account AccountHandler using Account 현재 구현한 것 : 클래스 간의 구조 virtual 함수 구현 구현이 되지 않은 것 : 입 출금 함수 메인 함수 테스트용 데이터 일부 getter/setter number setter(실제 계좌번호처럼) 2020-04-22 11:43 timestamp;

개발, 연습 2020.07.01

[c++] CodeUp 구조체 연습문제 1805

https://codeup.kr/problem.php?id=1805 계정이 없어서 일단 블로그에 올림. 나중에 계정 생성해서 올릴지는 모르겠음. https://drive.google.com/open?id=14dHcQszhrS2Nu0wZz9hguCQw7S3aYeu_ 파일 구조 proj-1805 -bin -1805.exe -header -Maneuver_Unit.h -Factory.h -builder.bat -Factory.cpp -main.cpp -Maneuver_Unit.cpp -main.cpp -Maneuver_Unit.h -Maneuver_Unit.cpp -Factory.h -Factory.cpp -builder.bat -mingw-build.sublime-build

개발, 연습 2020.07.01