티스토리 친구하기

본문 바로가기

분류 전체보기

(140)
C++ 함수 오버로딩 (overloading) - 함수 이름은 같고 매개변수가 다름 - 매개변수가 다르기 때문에 다른 함수로 인식 - 하지만 반환형이 다르다고 해서 다른 함수로 인식하지 않음 void Person(int age);// 문제없음 void Person(char * name, int age);// 문제없음 void Person(float weight, int age);// 문제없음 int Person(int age);// void Person(int age)과 반환형이 다르지만 // 매개변수의 종류가 같음 -> 컴파일 에러 int Person(float weight);// 문제없음 1. 가장 적합한 함수 --> 좋음 2. 형변환 (하지만 컴파일 경고가 나올 수 있음 - 형변환해서 일치하는 함수 찾았는데, 진짜 네가 원하는게 맞니??) 2-..
대학교에서 학점 잘 받는 법 / 7.5회독을 빠르게 하는법 / 공부 잘하는 사람들과 나의 차이점 이전글: 대학교에서 학점 잘 받는 법 - 이렇게 하면 A+ 받을 수 있다 저번 시간에는 학점 잘 받는 법이라는 추상적인 목표를 교과서 7.5 회독하기라는 정량적인 목표로 바꿨습니다. 근데 시험 범위가 적게는 200페이지에서 500페이지가 넘는데 어떻게 그 많은 양을 7.5 회나 볼 수 있을까요? 이번 시간에는 1과목을 7.5 해독할 수 있는 방법에 대해 알아보도록 하겠습니다. 7.5 쉽게 하는 방법 말 그대로 1 회독 기준을 관대하게 적용하는 것입니다. 먼저 1회차는 수업 듣기입니다. 대신에 집중해서 들으셔야 됩니다. 수업이라고 말해서 그렇지 사실 수업이라는 것은 그냥 설명입니다. 책에 나와 있는 어려운 내용을 교수님이 설명해 주시는 거죠. 핸드폰 처음 샀을 때 설명서를 다 읽어 보는 사람이 있을까요?!..
C++ Reference (참조) Reference (참조) - 어떤 변수나 상수를 가리키고 싶을 때, 별명을 붙여서 부를 수 있음 - 별명을 붙여 다른 상수 또는 변수를 가리키는 방법 (Reference - 참조) Swap 함수 (변수를 복사하여 받는 경우) #include void Swap(double arg1, double arg2) { double temp = arg1; arg1 = arg2; arg2 = temp; } int main() { double num1 = 10; double num2 = 20; Swap(num1, num2); std::cout
ROS2 환경설정 *본 튜토리얼은 ROS2 공식 문서를 참조하여 제작하였습니다. 참고: https://docs.ros.org/en/dashing/Tutorials/Configuring-ROS2-Environment.html Goal: 어떻게 ROS2 환경을 준비하는지 알 수 있다. Background "Workspace"는 ROS용어로, ROS2로 개발하는 위치를 나타냅니다. ROS2는 shell(쉘) 환경을 사용해서 workspace들을 합치는(combining) 개념이라고 볼 수 있습니다. 여기서 core ROS2 workspace는 "underlay", 그리고 local workspace를 "overlay" 라고 합니다. 그리고 ROS2로 개발을 할 때에는, 일반적으로 여러 개의 workspace가 동시에 활성화됩니..
셸(shell)에서 커서 이동 커서 이동 단축키 내용 Ctrl + b forward로 이동 Ctrl + f back으로 이동 Ctrl + a 맨 앞으로 이동 Ctrl + e 맨 뒤로 이동 단어 단위로 커서 이동 단축키 내용 Art + b 한 단어 back Art + f 한 단어 forward 문자 삭제 단축키 내용 Backspace / Ctrl + h 커서 위치 기준으로 뒤에 있는 문자 삭제 Delete / Ctrl + d 커서 위치의 한 문자 삭제 Ctrl + w 커서 뒤에 공백이 나오기 전까지 있는 문자들 삭제 자르기와 붙여넣기 단축키 내용 Ctrl + k 커서의 위치에서 끝까지 삭제 Ctrl + u 커서의 위치에서 커맨드 라인의 첫 분자까지 삭제 Ctrl + y 마지막으로 지운 내용 삽입 Reference [1] (책) 모두의 ..
ROS2 Debian package 설치 *본 튜토리얼은 ROS2 공식 문서를 참조하여 제작하였습니다. 참고: https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html Ubuntu 18.04 (bionic)에 맞는 ROS2 버전은 ROS2 dashing입니다[1]. 그래서 여기서 설치할 Debian pacakage는 Ubuntu Bionic을 위한 것입니다. Debian계열의 packages (Debian package)는 maintaner[2]들에 의해서 관리되고 있습니다. 그래서 패키지를 다운받을 때, 의존성 패키지[3]가 있는지 검사하고 의존성 패키지가 자신의 환경(컴퓨터)에 설치되어 있지 않으면 자동으로 의존성 패키지까지 같이 설치할 수 있도록 지원합니다[4]. *..
보상기 (Compensator) - 극점과 영점의 영향 * 보상기(compensator): 시스템을 안정하게 만들거나 또는 제안된 사양(만족스러운 성능)을 충족할 수 있도록 시스템에 추가되는 장치 근궤적법(root locus)은 게인값의 변화에 따라, 특성방정식의 근이 어떻게 변하는지(근의 궤적) 알아보는 방법입니다. 그래서 근궤적법에서는 K를 0에서 무한대까지 변화시키면서 근의 궤적을 복소평면에 그렸었습니다. 복소평면의 근이 우측 반평면에 있을 때에는 시스템이 불안정하고, 좌측 반평면에 있을 때에는 안정하기 때문에, 근의 위치에 따라 시스템이 안정한지, 불안정한지를 판단할 수 있었습니다. 시스템이 불안정하다고 판단되면 그 시스템은 사용할 수 없는걸까요? 시스템이 안정하지만 과연 우리가 원하는 성능을 내는 시스템인가요? 이러한 문제를 해결하기 위해서 본 포스..
IndexError: arrays used as indices must be of integer (or boolean) type python으로 코딩을 할 때, index를 integer(정수형)으로 쓰지 않으면 위와 같은 Error가 발생한다. a[0.1] = 10 % 위와 같이 쓰면 에러발생 a[0] = 10 % 괄호안은 항상 integer 값을 넣어야함. % 실수로 float형이나 index를 계산할 경우 위와 같은 문제가 발생할 수 있음.