티스토리

My Day
검색하기

블로그 홈

My Day

bbirong-cse.tistory.com/m

minha62 님의 블로그입니다.

구독자
1
방명록 방문하기

주요 글 목록

  • Ubuntu 18.04에 ROS melodic 설치 ROS melodic 설치 http://wiki.ros.org/melodic/Installation/Ubuntu 1) 우분투에 Software&Updates에서 위 사진처럼 전부 체크되어 있는지 확인하기 2) Setup your sources.list $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 3) Set up your keys $ sudo apt install curl $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-ke.. 공감수 0 댓글수 0 2022. 2. 18.
  • Ubuntu 18.04에 아나콘다 설치 앞으로 아나콘다 가상환경에 ROS melodic, nvidia driver 470, YOLOv4, CMake, CUDA 10.2, cuDNN 7.6.5, OpenCV 4.2를 설치하려고 한다. 먼저 아나콘다를 설치하자!! https://www.anaconda.com/products/individual 공식 홈페이지에서 다운받기 터미널에서 다운받은 파일이 있는 디렉터리로 이동한 후 $ sha256sum Anaconda3-2021.11-Linux-x86_64.sh를 입력해서 데이터 무결성을 체크한다. https://docs.anaconda.com/anaconda/install/hashes/all/ 터미널에서 출력된 해시값과 앞의 사이트의 해시값이 일치하는지 확인하면 된다. 출력된 해시값을 복사해서 사이트에서.. 공감수 0 댓글수 0 2022. 2. 18.
  • Ubuntu18.04에 OpenCV 4.0.0 설치 참고: https://sunkyoo.github.io/opencv4cvml/OpenCV4Linux.html 1. OpenCV 소스 코드 빌드에 필요한 패키지 설치 1-1) 리눅스 최신 버전 상태로 업데이트 $ sudo apt -y update $ sudo apt -y upgrade 1-2) OpenCV 소스 코드 빌드에 필요한 패키지 설치 $ sudo apt -y install build-essential cmake pkg-config 1-3) 정지 영상 파일을 불러오거나 저장하기 위해 필요한 패키지 설치 $ sudo apt -y install libjpeg-dev libtiff5-dev libpng-dev 1-4) 동영상 파일 or 카메라 활용을 위한 패키지 설치 $ sudo apt -y install.. 공감수 0 댓글수 0 2022. 2. 18.
  • 에러) 와이파이 아이콘, 듀얼부팅으로 우분투 설치 시 검은화면 우분투 맨날 에러 대환장파티... 와이파이 아이콘 없음 우분투를 설치 후 로그인까지 잘됐는데 와이파이 아이콘이 뜨지 않는다. 설정 열어보면 Adapter가 없다고 뜨는데 명령어로 찾아보면 있다. 많은 사이트를 참고해봤는데 terminal에서 명령어를 쳐서 연결하는 방법도 있는데 직접 해본 결과 시간이 너무 오래 걸려서 별로 추천하고 싶지는 않다..! (개인적인 의견..) 일단 확인해봐야 하는 건 윈도우에서 전원 및 절전 > 추가 전원 설정 > 전원 단추 작동 설정 > 현재 사용할 수 없는 설정 변경 > 빠른 시작 켜기 해제 BIOS에서 Secure Boot를 Disabled로 변경 (BIOS에서 Fast boot도 확인하라고 하는데 내가 쓰는 노트북엔 Fast boot가 없었다.) 위의 설정을 한 후 부.. 공감수 0 댓글수 0 2022. 2. 18.
  • Ubuntu 18.04 듀얼 부팅 설치 과정 Ubuntu iso 파일 다운로드 Rufus 다운로드 부팅 디스크 순서 변경 Ubuntu 설치 이때 USB는 넉넉하게 16GB 이상(최소 4GB)이면 좋다고 함. 1. Ubuntu iso 파일 다운로드 https://ubuntu.com/download/desktop 위의 사이트에서 Ubuntu desktop을 깔아주면 됩니다. 우분투 버전과 상관없이 진행 방법은 같습니다. 저는 18.04 버전이 필요해서 아래 사이트에서 다운받았습니다. desktop 버전과 server 버전이 있는데 desktop 버전을 다운받았습니다. https://old-releases.ubuntu.com/releases/18.04.5/ 64-bit PC (AMD64) desktop image를 누르면 iso 파일이 다운로드됩니.. 공감수 0 댓글수 0 2022. 2. 18.
  • [자바스크립트 중고급] 7. 논리적 정리 프로퍼티 연동 방지 Object에 Object를 할당하면 프로퍼티 값이 연동됨 var origin {member: 100}; var dup = origin; dup.member = 200; log(origin.member); // 200 배열도 마찬가지로 연동됨 var origin = [1, 2, 3]; var dup = origin; dup[1] = 200; log(origin); // [1, 200, 3] 연동 방지: 프로퍼티 단위로 할당 var origin = {member: 100}; var dup = {}; for (var name in origin){ dup[name] = origin[name]; }; dup.member = 200; log(origin.member); log(dup.membe.. 공감수 0 댓글수 0 2022. 2. 18.
  • [자바스크립트 중고급] 6. this this 개요 키워드 obj.name() 형태로 호출한 함수(메소드)에서 this로 인스턴스(오브젝트)를 참조 실행 콘텍스트의 this 바인딩 컴포넌트에 바인딩 this와 글로벌 오브젝트 글로벌 오브젝트에서 this는 글로벌 오브젝트 참조 this와 window 오브젝트 window는 JS에서 만든 것이 아니며 글로벌 오브젝트의 스코프도 아님 window와 글로벌 오브젝트를 같은 선상에서 사용 Hosw 오브젝트 개념 적용 글로벌 오브젝트에 코드 작성 window.onload = function(){ // 안이 아니라 밖에 코드 작성 }; this가 window 참조 log(this === window); // true this로 글로벌 변수 사용 var value = 100; log(this.value).. 공감수 0 댓글수 0 2022. 2. 18.
  • [자바스크립트 중고급] 5. function instance function 인스턴스 기준 function Book(point){ this.point = point; }; Book.prototype.getPoint = function(){ return this.point + 200; }; var obj = new Book(100); obj.getPoint(); function 구분 빌트인 Function 오브젝트 function 오브젝트: function 키워드로 생성 function 인스턴스: new 연산자로 생성 function 오브젝트도 인스턴스 빌트인 Function 오브젝트로 생성하기 때문 성격적으로는 인스턴스이지만 new 연산자로 생성한 인스턴스와 구분하기 위해 강좌에서는 function 오브젝트로 표기 new 연산자로 생성하는 인스턴스는 일반적으로 p.. 공감수 0 댓글수 0 2022. 2. 18.
  • [자바스크립트 중고급] 4. Execution Context 실행 콘텍스트 function music(title){ var musicTitle = title; }; music("음악"); Exeuction Context 함수가 실행되는 영역, 묶음 함수 코드를 실행하고 실행 결과를 저장 스펙상의 사양 music("음악")으로 함수를 호출하면 엔진은 실행 콘텍스트를 생성하고 실행 콘텍스트 안으로 이동 실행 콘텍스트 실행 단계 준비 단계 초기화 단계 코드 실행 단계 Execution Context 생성 시점 실행 가능한 코드를 만났을 때 실행 가능한 코드 유형 함수 코드 글로벌 코드 eval 코드 코드 유형을 본리한 이유 실행 콘텍스트에서 처리 방법과 실행 환경이 다르기 때문 함수 코드: 렉시컬 환경 글로벌 코드: 글로벌 환경 eval 코드: 동적 환경 실행 콘텍스트.. 공감수 0 댓글수 0 2022. 2. 18.
  • [자바스크립트 중고급] 3. 스코프(Scope) 스코프 목적 범위를 제한하여 식별자를 해결하려는 것 스코프에서 식별자를 해결 식별자 해결(Identifier Resolution) 변수 이름, 함수 이름을 찾는 것 이때 스코프를 사용 이름을 찾게 되면 값을 구할 수 있음 크게는 이름을 설정하는 것도 식별자 해결 스코프는 식별자 해결을 위한 것 스코프 설정 function book(){ var point = 123; function get(){ log(point); }; get(); }; book(); // 123 엔진이 funciton book(){}을 만나면 function 오브젝트를 생성하고 스코프를 설정 생성한 function 오브젝트의 [[Scope]]에 스코프를 설정 즉, 이때 스코프가 결정됨 JS의 스코프 설정 메커니즘 마지막 줄에서 book.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 중고급] 2. Argument Argument 처리 메커니즘 Argument 처리 구조 파라미터를 {key: value} 형태로 저장 파라미터 수만큼 0부터 인덱스 부여 key로 사용 파라미터로 받은 값을 value에 설정 {0: param1, 1: param2} function get(){ return arguments; }; log(get("A", "B")); // {0: A, 1: B} Array-like key 값이 0부터 1씩 증가 length 프로퍼티가 있어야 함 엔진의 파라미터 처리 var get = function(one){ return one; }; get(77, 100); get() 함수를 호출하면서 77과 100을 파라미터 값으로 넘겨줌 넘겨받은 값을 함수의 파라미터 이름에 설정 정적 환경의 선언적 환경 레코드에 .. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 중고급] 1.Function 오브젝트 function 형태 Built-in Function 오브젝트 Function.prototype.call() function 오브젝트 function book(){...} var book = function(){...} 인스턴스이지만, new 연산자로 생성한 인스턴스와 구분하기 위해 강좌에서는 function 오브젝트로 표기 function 인스턴스 new Book()처럼 new 연산자를 사용하여 Book.prototype에 연결된 메소드로 생성 function 오브젝트 생성 var book = function(){...} 엔진이 function 키워드를 만나면 빌트인 Function 오브젝트의 prototype에 연결된 메소드로 function 오브젝트 생성 생성한 오브젝트를 book 변수에 할당 bo.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 중고급] 0. 중고급 강좌 소개, 범위 강좌 방향 : 자바스크립트(ES5) 엔진 처리 중심 엔진 관점의 핵심 키워드: Execution Context, Identifier Resolution Execution Context 형태 book() 함수가 호출되면 show Function 오브젝트 생성 show의 [[Scope]]에 스코프 설정 show() 함수가 호출되면 EC 생성 함수 실행을 위한 Context 환경 구축 LEC, VEC, TBC 생성 첨부 LEC에 ER, OLER 첨부 ER에 DER, OER 첨부 DER에 show()의 변수, 함수 기록 OLER에 show의 [[Scope]]를 설정 this 바인딩 컴포넌트에 this 참조 설정 show 실행 컨텍스트(EC): { 렉시컬 환경 컴포넌트(LEC): { 환경 레코드(ER): } 선언.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 24. WeakSet 오브젝트 WeakSet 오브젝트 Set 오브젝트와 차이 오브젝트만 value 값으로 사용할 수 있음 number 등의 프리미티브 타입 사용 불가 개념은 WeakMap과 같음 value만 작성하는 것이 다름 value의 참조가 바뀌면 GC 대상 지원 메소드 has(), add(), delete() new WeakSet() WeakSet 인스턴스 생성, 반환 파라미터 대괄호[] 안에 오브젝트 작성 const empty = new WeakSet(); const sports = {}; const obj = new WeakSet([ sports ]); has() WeakSet 인스턴스에서 value의 존재 여부 반환 존재하면 true, 아니면 false 반환 const fn = () => {}; const obj = ne.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 23. Set 오브젝트 Set 오브젝트 Set 오브젝트는 value(값)의 컬렉션 [value1,,, valueN] 형태로 작성 Set은 대괄호[]가 하나 const obj = new Set([ 1, 2, "ABC" ]); log(`size: ${obj.size}`); for (let value of obj){ log(value); }; // size: 3 // 1 // 2 // ABC 작성한 순서로 전개 됨 new Set() Set 인스턴스 생성, 반환 파라미터에 값을 작성 프리미티브, 오브젝트 타입 사용 가능 const obj = new Set([ 1, 2, 1, [], {} ]); log(`size: ${obj.size}`); for (let size of obj){ log(value); }; // size: 4 // 1.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 22. WeakMap 오브젝트 WeakMap 오브젝트 WeakMap은 object만 key로 사용 가능 number 등의 프리미티브 타입 사용 불가 value는 제한 없음 Map에서 key로 참조한 object를 삭제하면 object를 사용할 수 없게 되지만 Map에 object가 남음 메모리 릭(memory leak) 발생 let sports = {like: "축구"}; const obj = new Map([ [sports, "like:축구"] ]); sports = {like: "농구"}; WeakMap의 object를 GC가 지움 GC: Garbage Collection 그래서 (약한, 부서지기 쉬운) WeakMap? WeakMap 오브젝트 메소드 set(), get(), has(), delete() CRUD와 관련된 메소드만 .. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 21. Map 오브젝트 Map 오브젝트 key와 value의 컬렉션 Map 오브젝트 형태 [key, value] 형태처럼 대괄호 안에 key와 value를 작성 다양한 타입을 key로 사용할 수 있음 const obj = new Map([ ["key", "value"], [{book: 200}, "오브젝트"], [100, "Number"] ]); for (let keyValue of obj) { log(keyValue); }; // [key, value] // [{book: 200}, 오브젝트] // [100, Number] Map의 key 처리 for-of 문에서 작성한 순서대로 읽혀짐 new Map() Map 인스턴스를 생성하여 반환 파라미터에 이터러블 오브젝트 작성 const obj = new Map([ ["key", ".. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 20. Symbol 함수, 메소드 Symbol 함수 for() 글로벌 Symbol 레지스트리(registry)에 {key: value} 형태로 Symbol에 저장 파라미터()의 문자열이 key가 되고 Symbol()로 생성한 값이 value가 됨 registry의 사전적 의미: 등록, 기록 const one = Symbol.for("sports"); log(one); // Symbol(sports) 글로벌 Symbol 레지스트리는 공유 영역 다른 오브젝트에서도 사용 가능 같은 key가 존재하면 등록된 값을 사용 const one = Symbol.for("sports"); const two = Symbol.for("sports"); log(one === two); log(Symbol.for(true)); // true // Symbol(t.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본]19. Symbol Property Well-Known Symbols ES2019 스펙에서 @@iterator 형태를 볼 수 있음 @@는 Well-Known Symbol을 나타내는 기호 @@match와 Symbol.match가 같음 스펙에서는 @@match 형태를 사용하고 개발자는 Symbol.match 형태를 사용 ES2019 기준: 12개 Well-Known Symbol Well-Known Symbol이란? 스펙에서 알고리즘에 이름을 부여하고 이름을 참조하기 위한 빌트인 Symbol 값 개발자 코드 우선 실행 match()를 실행하면 디폴트로 @@match를 실행 소스 코드에 Symbol.match를 작성하면 @@match가 실행되지 않고 Symbol.match가 실행됨 개발자 코드로 디폴트 기능을 오버라이딩할 수 있음 강좌에서 다루는.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 18. Symbol 오브젝트 primitive 값 자바스크립트에서 Primitive 값은 오브젝트가 아니라 값이며 함수를 갖고 있지 않음 const num = 100;을 할당하면 num 변수에 100만 할당되며 아무것도 첨부되지 않음 100이 primitive 값 ES5의 primitive 값 타입 string, number, boolean, null, undefined ES6에서 symbol 타입 추가 Wrapper 오브젝트 wrapper 오브젝트는? 프리미티브 값이 포함된 오브젝트 wrapper 오브젝트에는 메소드가 있음 wrapper 오브젝트가 있는 프리미티브 값 타입 string: String, number: Number 오브젝트 boolean: Boolean, symbol: Symbol 오브젝트 const obj = new.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 17. Generator 오브젝트 Generator 함수 function* Generator function function* 키워드를 사용한 함수 제너레이터 함수 형태 function 선언문, function 표현식, GeneratorFunction function* sports(one){ }; const book = function*(one){ }; const music = Object.getPrototypeOf( function* (){}).constructor; const gen = new music(); 작성 방법 function* 다음에 소괄호() 작성. 이어서 작성해도 되고 하나 이상 띄워도 됨 function* 선언문 function* 다음에 함수 이름 작성 제너레이터 함수를 호출하면 함수 블록{}을 실행하지 않고 Gene.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 16. RegExp 오브젝트 lastIndex 정규 표현식 사용 형태 const value = "ABC"; const obj = new RegExp("A", "g"); log(obj.test(value)); const reg = /A/g; log(reg.test(value)); // true // true 매치 시작 위치를 lastIndex 프로퍼티에 설정 디폴트 값: 0 g 플래그를 사용하면 lastIndex 프로퍼티 위치부터 매치 const value = "ABABA", obj = /B/g const value = "ABABA", obj = /B/g; log(obj.test(value) + ": " + obj.lastIndex); log(obj.test(value) + ": " + obj.lastIndex); log(obj.te.. 공감수 0 댓글수 0 2022. 2. 17.
  • [자바스크립트 ES6+ 기본] 15. Math 오브젝트 Math 오브젝트 ES5까지는 수학 계산 처리에 부족했으나 ES6에서 수학 계4산용 함수가 많이 추가됨 특히, 머신러닝/딥러닝에 대응할 수 있게 됨 일반적으로 수학 계산을 사용하지 않으므로 개요 중심으로 다룸 정수, 제곱근, 사인 Math.trunc() 소수를 제외한 정수 반환 log(Math.trunc(12.56), Math.floor(12.56)); log(Math.trunc(-12.56), Math.ceil(-12.56)); log(Math.trunc("45.67"), Math.trunc(true)); // Number 타입으로 변환하고 결과값으로 함수 실행 // 12, 12 // -12, -12 // 45, 1 Math.sign() 값의 부호에 해당하는 값 log(Math.sign(5), Math.. 공감수 0 댓글수 0 2022. 2. 17.
  • [Object Detection] YOLO YOLO 논문 발표 영상 https://www.youtube.com/watch?v=NM6lrxy0bxs YOLO 검출 방법 https://www.youtube.com/watch?v=9s_FpMpdYW8&ab_channel=DeepLearningAI YOLO v1 이해하는 데 도움된 영상 https://www.youtube.com/watch?v=ag3DLKsl2vk&ab_channel=codebasics anchor box 개념이 어려워서 찾아본 영상 https://www.youtube.com/watch?v=RTlwl2bv0Tg&ab_channel=DeepLearningAI https://mickael-k.tistory.com/27?category=798520 [출처]https://www.youtube.c.. 공감수 0 댓글수 0 2022. 2. 9.
  • [자바스크립트 ES6+ 기본] 14. Array 오브젝트 from() 첫 번째 파라미터의 오브젝트를 Array 오브젝트로 변환 const like = {0:"zero", 1:"one", length:2}; const list = Array.from(like); log(list); log(Array.from("ABC")); // [zero, one] // [A, B, C] function args(){ return Array.from(arguments); }; log(args(1, 2, 3)); // [1, 2, 3] // 축구 // 농구 const nodes = document.querySelectorAll(".sports"); const show = (node) => log(node.textContent); Array.from(nodes).forEach(sh.. 공감수 0 댓글수 0 2022. 2. 1.
  • [자바스크립트 ES6+ 기본] 13. Template Literal Template Literal Syntax: `문자열` `문자열 ${표현식} 문자열` tag `문자열 ${표현식} 문자열` Template Literal 문자열 처리를 위한 리터럴 표현식을 포함할 수 있음 강좌에서는 템플릿으로 표기 backtick 안에 표현식 작성 표현식을 ${표현식} 형태로 작성 log(`ABC`); const one = 1, two = 2; const result = `1 + 2는 ${one + two}이 된다`; log(result); // ABC // 1 + 2는 3이 된다 tagged Template 템플릿에 함수 이름을 작성한 형태 const one = 1, two = 2; const show = (text, value) => { log(`${text[0]}${value}`).. 공감수 0 댓글수 0 2022. 2. 1.
  • [자바스크립트 ES6+ 기본] 12. Object 오브젝트 is() 두 개의 파라미터 값과 값 타입을 비교 같으면 true, 아니면 false 반환 const result = Object.is(10, "10"); log(result); const one = {}, two = {}; log(Object.is(one, two)); // false // false 오브젝트 비교 목적이 아님 []와 [] 비교, {}와 {} 비교는 false JS 값 비교 방법 값과 타입까지 모두 비교: === 타입은 비교하지 않고 값만 비교: == log((undefined == null)); log((undefined === null)); log(Object.is(undefined, null)); // true // false // false Object.is()와 === 비교 차이.. 공감수 0 댓글수 0 2022. 2. 1.
  • [자바스크립트 ES6+ 기본] 11.String 오브젝트 Unicode 유니코드는 U+0031 형태 코드 포인트(code point) 0031이 코드 포인트 문자 코드라고도 부름 코드 포인트로 문자/이모지 등을 표현 4자리 이상의 UTF-16 진수 형태 110만개 정도 표현 U+0000 ~ U+10FFFF plane(평면) 코드 포인트 전체를 17개 plane으로 나눔 하나의 plane은 65535(U+FFFF)개 첫 번째 plane BMP(Basic Multillingual Plane)라고 부름 일반적인 문자(영문자, 숫자)가 여기에 속함 한글의 코드 포인트도 여기에 속함 첫 번째 plane을 제외한 plane Supplementary plane, Astral plane이라고도 부름 5자리 이상의 코드 포인트를 표현할 수 있음 ES6+에서 지원 Escape .. 공감수 0 댓글수 0 2022. 2. 1.
  • [자바스크립트 ES6+ 기본] 10. Number 오브젝트 IEEE 754 자바스크립트는 IEEE 754에 정의된 64비트 부동 소수점으로 수를 처리 double-precision floating-point format numbers 64비트로 최소값과 최대값을 처리 정수와 실수를 구분하지 않음 1을 1.0으로 처리 64비트 구성 1) 사인 비트 63: 1비트 값이 0이면 양수, 1이면 음수 2) 지수(exponent) 52~62 : 11비트 3) 가수(fraction) 0~51: 52비트 + 1(사인 비트): 53비트 Number 상수 safe integer란 지수(e)를 사용하지 않고 나타낼 수 있는 값 2의 64승이 아닌 2의 53승 Number.MAX_SAFE_INTEGER safe integer의 최대값 log(Number.MAX_SAFE_INTEGER.. 공감수 0 댓글수 0 2022. 2. 1.
  • [자바스크립트 ES6+ 기본] 9. getter/setter getter getter로 선언된 함수를 자동으로 호출 값을 반환하는 시맨틱을 갖고 있으므로 getter 함수에서 값을 반환해야 함 ES5 형태 /* 1. book.title을 실행하면 title 프로퍼티에서 get 속성의 존재를 체크 2. 있으면, get() 함수를 호출하며 "책"이 반환되어 출력됨 3. book.title.get()처럼 함수로 호출하면 에러 발생 4. ES5의 Descriptor를 참조 */ var book = {}; Object.defineProperty(book, "title", { get: function(){ return "책"; } }); log(book.title); // 책 ES6 형태 /* 1. get getPoint(){}처럼 getPoint() 앞에 get을 작성하면.. 공감수 0 댓글수 0 2022. 1. 2.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.