공부하면서 필요하다고 생각한 것을 정리하는 것이라 완벽하지는 않지만 참고하셔서 도움이 된다면 기쁠 것 같습니다. 내용에 의문이 드는 부분이 있다면 더 좋은 자료를 같이 보시기를 권장합니다. 틀린 내용이 있거나 내용에 대한 제안이 있다면 댓글로 남겨주시면 감사하겠습니다. 본 글은 개선을 위해서 수정될 수 있습니다. 파이썬으로 머신러닝을 공부중인데, 2차원행렬을 사용시, row col이 혼동되고 인덱싱, 슬라이싱이 나오면 코드가 바로바로 안 읽어지니 비효율적이고 자꾸 멍때리게 되어서, 정리할겸 이 글을 작성한다. 2차원행렬을 익숙하게 활용하는데 필요한 기본개념과 활용법에 초점을 두고 정리한 내용이다. 다차원 배열이 정의되는 방식은 라이브러리마다 조금씩 다르다. 파이썬에 기본 내장된 list를 중첩하여 다차원..
키보드에는 작은따옴표와 비슷한 문자가 하나 더 있다. ` 바로 이 문자이다. javascript에서는 템플릿 리터럴에 활용되고, 마크다운에서 코드를 강조(code, fenced code block)하는데 쓰이기도 하는 문자이다. 이 문자를 작은따옴표로 착각해서 헤메다가 한참 후에 작은따옴표와 다른 문자라는것을 깨달았다. 백틱(backtick)과 작은 따옴표의 비교 '작은 따옴표1' ‘작은따옴표2’ `백틱(backtick)` 작은 따옴표는 열고닫는게 구분된것과 구분이 없는것이 있다. 어느것과 비교해봐도, 백틱이 차지하는 자리가 더 크다는걸 눈으로 봐도 알 수 있다. 그리고 비스듬한게 더 강조되어있는 모양이다. 또 작은 따옴표는 열고 닫는게 있지만, 백틱은 구분이 없다. 명칭 Backquote, backti..
여러가지 개발환경을 번갈아 가면서 쓰다보니 (게다가 나는 맥, 윈도우를 번갈아 가면서 쓰는 상황이다) 단축키가 손에 익지 않고 계속 헷갈리는 상황이 반복된다. 그 중에서도 잘 모르면 가장 불편한 기능이 자동정렬인것 같다. 일단 메뉴 깊숙히 숨어 있는 경우가 많고 단축키도 저마다 다르다 보니... 단축키가 생각이 안나서 자동정렬 기능을 덜 쓰게 되는 경우가 종종 있다. 그러다 보면 코드 작성속도도 느려지고, 정리가 안된 코드를 보면서 하면 에러가 날 확률도 커진다. 까먹고 다시 찾아보고...를 반복하다가 이참에 IDE별로 자동정렬 기능의 단축키를 이곳에 정리 해둔다.. Visual Studio, VS Code(윈도우) (Win) ctrl + K, F (Win) ctrl + E, F (Win) Alt+F8 ..
CSS를 최근에 바짝 공부하고 있는데.margin과 padding의 차이가 헷갈려 간단히 정리해 둔다. Margin과 Padding 두 가지의 공통점은 박스 하나의 여백 혹은 크기로 생각할 수 있다는 것이다. 그런데 이 둘의 차이는 박스에 background-color혹은 border를 넣어보면 쉽게 알수 있다. padding 은 border안쪽의 영역을 결정한다. background-color를 포함하는 영역이다. margin은 border바깥의 영역을 결정한다. background-color 바깥의 영역이다. 아래 그림을 보고 좀더 이해해보자. 메뉴를 만들고 각 박스의 padding, margin 값을 조절한다. (실제로 값을 적용한것은 아니고 이해를 하기 위해서 만들었다) (1) margin, pa..
(이글은 본인이 보기 좋으려고 쓴 글로, 내용이 추가되거나 수정될 수 있음.) virtualenv는 프로그램마다 가상환경을 만들어 한 피씨에 여러 프로그램을 관리하다보면 패키지 버전이나 종류를 업데이트하거나 바뀌는 등의 상황에서 잘되던게 잘안되거나 충돌이 생길수 있기 때문이다. 때문에 단순하게 독립적인 패키지 설치 환경을 만드는것이다. virtualenv를 사용하는 경우, 글로벌로 설치하는것은 virtualenv와 pip 두개면 충분하다. 1. 가상환경 설치(virtualenv 설치) 2. 가상환경 생성. 3. activate로 타이핑 줄이기 4. 가상환경에 패키지 설치 1. virtualenv설치 $ pip install virtualenv 2. 가상환경 생성 해당 프로젝트에서 virtualenv 실행..
디버깅을 위해서 cout을 썼다가 나중에 cout을 모두 지우거나 주석처리해야하는 불편함이 있는데 이것을 해소하는 방법. 결론 부터 말하면 가장 추천 방법은 clog를 쓰고, clog를 비활성화(?) 시키는 방법을 쓴다. 1.printf()쓰기. 형식이 바뀌어서 매우 귀찮다. 2. cout을 다른 이름으로 바꿔쓰기 다른이름으로 바꿔서 썼다가, 나중에 얘네들만 한꺼번에 검색해서 주석처리하거나 없애는 식으로 할수있다. (2-1)#define dout cout (2-2)ostream &dout = cout; 두가지 모두 cout을 다른 이름으로 바꾸어 쓸수 있게 해주는 방법이다. dout
15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net /* 알고리즘을 한줄로 요약하면 이렇다. "1부터 N까지 고르기(이미 고른 것 제외하고)"를 길이 M이 될때까지 반복. M에 도달시 출력하고 리턴. 예를 들어 N..
[문제 상황] Cmake에서 에러: NO CMAKE_XXX_COMPILER could be found [해결] sudo xcode-select --reset Cmake로 opencv 소스코드 빌드 시도하려는데 NO CMAKE_XXX_COMPILER could be found 이라는 에러가 나와서 진행할수가 없었다. (참고로 Cmake를 step by step대로 따라하면 되는거 외에는 이전에 써본적이 없었다...) 구글링해보니, 윈도우에서 같은 오류 실행시, 시스템 변수로 C /C++ 컵파일러를 설정하여 해결한다고 많이 나와있는데 osx에서는 해본 사람이 훨씬 적은것같다. 아무튼 이문제는 C/C++컴파일러를 잘 설치하거나, 환경변수를 잘 설정하면 되는 문제인데 맥에서 환경변수는 어디서찾지??? 하다가 분..
Keycode.info라는 좋은 사이트가 있어서 소개할겸 올린다. 키보드로 직접 키를 누르면, 누른 키의 키코드와 실제 키 이름이 나온다. 이런 사이트가 있긴한데 여기가 가장 보기가 좋은것 같다. 키보드모양에 하이라이트만 되는 사이트도 있지만, 여기서는 키코드가 같이 나오기 때문에 좋다. 한/영키 한자키, 그리고 fn과 함께 눌러서 작동하는 볼륨 업 다운 키(미디어키) 같은것도 다 표시가 된다. (다만 아두이노에서 Keyboard.h에 포함된 키보드 함수로 미디어키를 입력하려니 되지 않는다. 137이 넘으면 안되도록 되어있어서 아두이노 core파일을 수정하면 된다는데, 나중에 시간나면 다시 해보려고 한다.) 아스키코드를 16진수로 많이 표현하지만, 여기서는 10진수로 나타나기 때문에 코딩시에 char문자..