쓰레기 개발자

20231211 본문

데브코스 자율주행 planning & control 2기

20231211

공덕동 불닭주먹 2023. 12. 11. 23:22

2024 데브코스 planning & control

20231211 월

  • ROS simulator 강의(Gazebo) → SLAM 강의 → Planning & Control(중요함) → Prediction순으로 6개월간 진행
  • 이론 30% 실습 20% 프로젝트 50%
    • 이론 : LMS 컨텐츠를 통한 이론 학습 온라인 강의 - 자유롭게 수강
    • 실습 : 온, 오프라인 혼합 환경(주제에 따라 다름)
    • 프로젝트 : 온, 오프라인 혼합 환경 내 포트폴리오의 주 내용
  • 소스는 git으로 관리 - 월간 프로젝트가 끝날 때 마다 포폴로 기록 → 이게 포트폴리오가 되는거임
    • 1차 : 서빙로봇 프로젝트
    • 2차 : 차선인식 자율주행 프로젝트
    • 3차 : 경로예측 프로젝트
    • 최종 : 최종 프로젝트
  • notion 적극적으로 활용 :
    • 소프트 스킬 향상
    • 가시적인 안내는 항상 노션
  • 응용에 대한 질문 많이 하기

운영

  • 수업 방법 :
    • 온라인 강의 : 프로그래머스 스쿨에서 온라인 강의
    • 기기를 여러대로 강의 수강하면 안됨. 하나의 기기 하나의 네트워크 같은거로 해야됨. 다른 네트워크 쓸때 로그아웃 하고 다시 로그인 하면됨. → 한마디로 로그인해서 수업 듣고 다른곳으로 이동할 계획이면 로그아웃 꼭 하고 다른 네트워크 써야함. (시간텀을 가져야함)
    • 실시간 강의 : 줌을 통한 라이브 강의 / 프로젝트 진행
    • 오프라인 강의 : 오프라인 강의장에서 프로젝트(또는 강의) 진행
  • 단위기간 : 훈련 시작일부터 한달 단위의 기간(1차 단위기간 : 2023 12월 11일 ~ 2024년 1월 10일)
  • 출석체크 : 입실 & 퇴실 모두 해야됨. 그래야 하루 출석이 인정.
    • 온라인 강의 : 휴대폰 본인인증 하고 강의 들으면 됨. 단위기간 내에만 출석하면되는데 만약 어떤 날 못들을거 같다 하면 일정에 따라(코어타임 아니더라도 00시부터 23시59분까지) 휴대폰 본인인증 그 날짜 그 시간에 하고 다음번에 들으면 됨. 하루 최대 10시간 들을 수 있음.
    • 실시간 강의 : 출석 입실 체크 하고 끝날때 퇴실 체크도 꼭 해야함.
    • 기기 변경 할때 개인이 고용노동부 어플 들어가서 변경
    • LMS 출석 체크 : 최초 1회 본인 인증 후 데일리 출석 체크(그 날짜에만 출석체크 하면됨.)
    • 실시간 강의 출석체크 범위 : 수업 시작 시간 10분까지 유예시간 & 퇴실은 수업 끝나는 시간 9분전부터 가능
    • 지각, 조퇴 3회 = 1일 결석, 하루 수업시간 50% 미만 참여했을 경우, 과제 안했을때 결석
  • 행정질문 : 워크플로 사용
    • 문서발급 : 당일 말고 필요일 전에 미리 신청해야됨.
    • 출결정정 : 결석 전에 “출결정정 신청”으로 미리 신청, 결석일 이후 “출결증빙 제출” 링크를 통해 서류 제출 - 파일명 : 과정명_기수_이름, 정정 신청 먼저 하고 그다음 증빙 서류 신청
  • 출석율
    • 제적 : 단위기간 출석률 50% 미만 또는 대리출석, 부정출석출석체크만 하고 수업 듣는거 안됨, qr미리 찍어놓고 출첵 하는거 안됨
    • 부정출석으로 제적시 계좌 전액 차감
  • 수료 - 전체 훈련의 80% 이상 출석
  • 취업 : 취업처 증빙자료 제출
  • 장려금 안내
    • 단위 기간 출석률 80% 이상인 경우만 지급(최대 116000원)
    • 일 훈련 시간이 5시간인 경우 특별수당 1만원 별도 지급(최대 월 20만원)
    • 총 316000원 최대 수령 가능 - 고정 아님, 출석률에 따라

C++ 특강 (20231211)

Chapter 1. 기본 자료형과 리터럴

  • 인터프리터 언어 vs 컴파일 언어
    • 컴파일 언어 : 기계어 → 고급어로 변환
    • 인터프리터 언어 : 실행마다 변환
  • C++ 특징
    • 성능 좋음 : 성능에 문제가 생길수도 있는 오버헤드를 유연하게 대처할수 있음.
    • 변수의 타입이 엄격함. → 모든 변수는 선언시 자료형이 결정되며 소멸될때까지 변하지 않음.
    • ‘ ‘는 문자 하나를 의미, “ “는 문자열을 의미
  • 변수 타입
    • char : 1byte 크기의 정수를 나타냄. 수의 범위는 -2^7 ~ 2^7-1 까지(8 bits 이기 때문). 아스키 코드 범주에 속하는 하나의 문자를 표현하는데 쓰임. 1byte지만 멀티바이트 문자(2byte 이상)의 개별 바이트를 저장하는데 사용 가능.
    • int : 정수 타입. 4byte 크기. -2^31~ 2^31-1(1억정도)까지 범위.
    • long long : int보다 크거나 같은 크기의 정수.(8byte) -2^63 ~ 2^63-1. int 범위라도 정수 뒤에 ll 또는 LL을 붙여서 long long 타입을 표현 가능.
    • ex) long long ll1 = 123LL;
    • float : 실수의 범위를 나타내기 위한 변수 타입. 4byte. 부동 소수점수를 나타내며 소수점을 포함하는 수 뒤에 f를 붙여 리터럴을 표현할 수 있음.
    • ex) float f = 1.2f;
    • double : 8byte. 소수점을 포함하는 수는 기본적으로 double.
      • 실수 타입을 다루는 경우엔 어느 정도 오차를 감안해야함. 상수 값으로는 오차가 커지는 것에 대응 할 수 없으므로 안정적 비교 불가. → 주어질 입력 범위 알고 계산 중 발생할 수 있는 오차의 최대값 미리 계산 가능하면 절대오차와 상대 오차를 모두 고려하여 비교해야함. → 하나하나 고려하기 귀찮으니 실수 연산을 우회할 수 있다면 베스트. 예를들어 2차원 평면의 두 점 사이의 거리를 다룰때 거리 대신 거리의 제곱을 사용하면 실수 연산 우회 가능.
    • wchar_t : 문자 하나하나가 최소 2byte 이상. 앞에 접두사 L을 붙여 wchar_t 타입의 리터럴을 나타낼 수 있음.
    • ex) wchar_t wc = L’가’;
    • bool : true 또는 false 값을 가지는 논리 타입. 컴퓨터 구조상 1byte 단위로 메모리를 관리하기 때문에 bool 타입은 1byte의 크기를 갖는다.
    • ex) long long result = 1987654321 + 1987654321; // 오류, 1987~~ 두개 모두 int 타입(21억보다 작으므로)이므로 숫자 둘중 앞에꺼에 LL을 붙여 int 타입에서 long long타입으로 승격 시켜줘야함.
    • auto : 타입 알아서 추론해줌. 자주 사용하면 좋음. 컴파일 시점에서 추론이 되기 때문에 런타임 성능면에선 영향이 없음.

Chapter 2. 값과 참조

  • 참조 : 주소값을 의미. 큰 값을 값으로 전달하는거보다 주소로 전달하는게 나은 상황을 위해 알아둬야함. 쉽게 말해서 변수의 별명 지어주는거. 어떤 타입명 뒤에 &가 붙으면 해당 타입에 대한 참조 타입을 의미.
    • 왼 값 : &(참조연산)을 통해 메모리 주소를 얻어올 수 있는 값. 좌변과 우변 모두에 올 수 있음.
    • 오른 값 : 왼 값과 달리 주소를 얻을 수 없는 값. 우변에만 올 수 있고 수정할 수 없음.
    • 지역변수는 참조자로 리턴할 수 없다. 함수가 끝나는 순간 소멸하기 때문.
    • const는 오른값과 왼값 동시 바인딩 가능.
    • 모든 리터럴은 오른 값이지만 C스타일의 문자열(따옴표로 감싼 문자열) 리터럴.

STL Chapter 1. 순차 컨테이너

  • assign : 현재 저장된 항목 모두 삭제하고 새로 추가
  • intvector.end()는 실제 벡터의 길이보다 +1인 위치를 가르키기 때문에 *it = 10이 에러가 날 수 밖에 없음.
  • list ↔ vector, list는 삽입 삭제 성능 영향 x, but random access가 안됨.
  • deque : 양방향 큐, 양방향에서 삽입&삭제가 가능함.
  • vector와 유사하지만 앞에서의 삽입&삭제의 성능이 더 빠름.

C++ 코어 개발환경 설정

  • 가상 OS 많이 사용함. virtual OS → language → compiler or interpreter / build system / version control system 얘네 셋이 개발 환경 구축에서 제일 중요함. ⇒ 얘네를 싹 다 엮어서 하나의 프로그램 안에서 진행할 수 있게 만들어주는 프로그램이 IDE(Integrated Development Environment)
반응형