본문 바로가기

전체 글

[OpenCV + WebApp] 환경 Setting 1. 파이썬 패키지 매니저 pip3 설치 $wget https://bootstrap.pypa.io/get-pip.py $sudo python3.6 get-pip.py or $sudo apt-get install python3-pip $sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3 2. 파이썬 '패키지 가상환경' 설치 및 경로 bash 등록 $sudo pip3 install virtualenvwrapper # ~/.bashrc 에 아래의 3라인을 bashrc에 기입 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6 #(본인의 파이썬 설치 장소) export WORK_HOME=$HOME/.virtualenvs sourc.. 더보기
[Book Review] 원리부터 실무까지 쉽고 명확한 ARM프로그래밍 www.yes24.com/Product/Goods/91303444 Arm 프로그래밍 『Arm 프로그래밍』은 Arm Cortex-A9 CPU를 중심으로 한 프로그래밍 이다. 어셈블리 프로그래밍에 필수적인 컴퓨터의 기본 원리에 대해 설명하였고, CPU 하드웨어 동작 원리를 기반으로 ‘Cortex-A 프로� www.yes24.com ※ 본 리뷰는 서평 이벤트에 당첨되어 작성하였습니다. (책 내용의 일부를 요약) 'CPU 내에 있는 임시저장소를 레지스터 파일(register file) 이라고 하며, 이는 CPU가 데이터를 처리하기 전 또는 후에 임시로 저장하는 곳이다. ... 레지스터 파일은 크기가 작기 때문에 고속으로 접근(읽기, 쓰기)가 가능하다.' 'ARM 명령어는 32bit로 이루어져 있다(RISC 특징.. 더보기
[c] return과 exit 함수의 차이 1. exit 함수 void exit(int status); // 프로세스 종료 - exit() 함수는 stdlib.h를 include 하여 사용한다. - 프로세스 종료하여 운영체제에 권한 넘긴다. - status 값을 운영체제에 반환 2. 사용방법 - exit(0) : 정상 종료 - exit(1) : 비정상 종료 반면, return은 해당 스택의 함수만 종료하는 것이다. [참조] https://ehclub.co.kr/810 blog.naver.com/mokdonjr/220813555163 더보기
[개발환경 조사] DeepLearning on Mobile 1. Pytorch 편 현재 파이토치 공식 홈페이지에는 추론하는 예제만 제공한다. gradle(CMake와 같은 빌드 자동화 도구이다) 명령을 통해 'org.pytorch:pytorch_android:1.4.0' 와 'org.pytorch:pytorch_android_torchvision:1.4.0'를 같이 빌드해주면, 안드로이드 에뮬레이터를 통해 추론 예시가 등장한다. 혹은, 어떤 분의 강의처럼 모바일을 연결하면 어플을 통해 직접 실행이 가능하다. (본인은 강의 구매 하지 않았다) 2. Tensorflow 편 텐서플로우의 경우도 개발 과정은 비슷하다(홈페이지 참조). 모델(.tflite)을 안드로이드 유틸과 같이 빌드한다. 다만, 코틀린을 사용한다는 점에서 java로만 작성한 파이토치 데모와는 차이를 .. 더보기
TroubleShooting [20.08.19] 안드로이드 SDK에서 Android Virtual Device(AVD)가 실행되지 않을 경우, BIOS -> Intel Virtual Technology Enable 시켜줘야 한다(Intel x86 기준) 참조 : m.blog.naver.com/sungjun0208/221123724771 [20.11.12] 안드로이드 스튜디오 waiting for target device to come online 무한로딩 [ADV Manager --> Wipe Data] 참조 : toytvstory.tistory.com/748 더보기
BOJ 2578 코드 설명 빙고 판에서 3번 이상 줄이 그어지는 경우 "빙고"이며, 숫자를 없앤 카운트 수를 반환한다. 총평 단순 배열 문제라고 생각하였지만, '선이 세 개 이상 그어지는 순간 "빙고"라고 외친다' 조건 때문에 생각을 조금 더 해야 한다. #include #include using namespace std; int bingo[5][5]; int bin_total = 0; int check_row(int y, int x) { int bin = 1; for (int i = 0; i < 5; i++) { if (bingo[y][i] != -1) { bin = 0; break; } } return bin; } int check_col(int y, int x) { int bin = 1; for (int i = 0.. 더보기
BOJ 3055 시뮬레이터 문제이다. 어디서 참고한 코드 같지만, 출처는 기억이 나지 않는다. 문제를 풀기 위하여 bfs()를 한번만 돌릴 수도 있지만, 시뮬레이터 재현을 위해 '물'과 '고슴도치'의 이동을 한번씩 하게 하였다. 여기서 핵심은 moveWater(), moveHedge() 함수의 while(qsize--) 이렇게 하면, 시간 순서상으로 한번씩 Stage 각각 넘어갈 수 있게 된다. bfs 혹은 큐를 이용한 문제에서 사용할 수 있는 좋은 테크닉이라 기록에 남긴다. #include #include using namespace std; int r, c; const int HEDGE = 0; const int WATER = 1; char Map[50][50]; bool visit[50][50][2]; // 상하좌.. 더보기
cstring vs string 1. 기본 사용법 cstring은 헤더 파일을 추가하여 사용할 수 있고, char* 형식을 따른다. - char 형식을 따르므로, cin.getline(s, 100)을 하면, s에는 99개의 문자와 '\0'이 저장된다. #include void main() { char str[11]; cin.getline(str, 11); cout 더보기