본문 바로가기

전체 글308

1.5 함수 활용 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! 함수 function : 복잡한 식을 내장시켜 여러번 찍어쓰기에 유용 리턴값 return values : 함수의 출력값, 반환값 매개변수 parameters : 함수의 매개변수 인자 arguments : 매개변수에 input되는 인자 # 함수만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include using namespace std; int addTwoNumbers(int num_a, int num_b) { int sum = num_a + num_b; ret.. 2021. 5. 2.
1.4 iostream : cin(console-in) cout(console-out) 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! cin : console in cout : console out endl : end line : '줄이 끝났다 & 다음줄로 옮기자' 두가지 의미를 내포 # cout 1 2 3 4 5 6 7 8 9 10 11 12 #include // cin, cout, endl 등이 정의된 라이브러리 int main() { int x = 1024; double pi = 3.141592; std::cout 2021. 5. 2.
1.3 int x = 123; 의 작동원리 : 변수, 초기화, 할당 #객체 objects 컴퓨터는 메모리와 CPU로 일을 한다. 물체가 실재함은 어떤 공간을 차지함을 보고 인식할 수 있다면 컴퓨터상에서 무언가 실재함은 메모리상에 존재하느냐로 인식할 수 있다. 메모리상에 존재하는 것이 객체이다. 객체는 메모리에 담겨있다. #변수 variables 메모리상에 존재하는 객체에 이름을 붙인 것. 예를 들어 메모리를 아파트, 객체를 그 안에 사는 가구라고 하면 특정 가구의 위치는 ***동***호이다. 이렇게 숫자로 이루어진 ***동***호는 컴퓨터에게는 익숙하지만 사람에게는 '누구누구네집'이 더 와닿는다. 그래서 객체에 이름을 짓고 이름을 가져와 코드 작성을 하는 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main() { // x라.. 2021. 5. 1.
1.2 주석만 잘달아놨어도 하루를 아낄 수 있었을텐데 # 주석을 다는 이유 1. 출처표시 2. 명령문 설명 3. 오류구문 무시 # 단축기 범위 드래그 후 ctrl + k, 그리고 난 뒤 ctrl + c는 주석, ctrl + u는 주석해제 1 2 3 4 5 6 7 8 9 int main() { int n_item = 180; /*아이템 하나당 1천원, 1+1event*/ n_item / 2 * 1000; return 0; } cs 이처럼 코드를 해석한 내용이 아닌 코드 내용이 왜 이렇게 이루어져 있는지를 설명해줘야 함. 출처) 홍정모의 따배씨++ www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz 좋은 강의에 너무나 감사하다. 이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 .. 2021. 5. 1.
1.1 프로그램 구조 (feat. 가장 빨리 프로그래밍 실력 늘리는 방법) 제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은 목차번호를 사용하고 있으니 참고하세요! #배울 용어 (표현)식 Expressions 명령문 Statements : 하나의 문장. 마무리는 ;로 해야함. 여러 표현식이 모여 하나의 명령문이 됨 함수 Functions : 하나의 기능을 수행하는 프로그램 최소 단위. 라이브러리, 표준라이브러리 : 하나의 목적 수행을 위해 필요한 여러 함수들을 모아놓은 zip? #코드 실행원리 프로그램을 실행시킨다는 것은 윈도우나 MAC, 리눅스와 같은 OS(Operating system)에 ~해주세요라고 요청하는 것. 우리가 바로 뭔가를 실행시키는 것이 아니라 O.. 2021. 5. 1.
적응력을 가진 프로그래머가 자유를 누린다.(c++ vs. java) 얼마전 친구와 치열히 이야기했던 주제였다. 나는 c++을 하면 어떤언어든 접근할 수 있다 나는 c++하고 싶다@!라고 했던 나와 그 언어로 하고싶은게 뭔데?! 자바가 훨씬 많이 쓰이고 개발자는 웹개발은 자바가 필수야@!!!라고 했던 친구. 결국에는 나는 그냥 c++이 하고싶어라며 그럼 서로 다른 걸 배우면서 알려주기로 했다. 프로그래머는 특정 언어에 국한되면 안된다. 어떤 것이든 만들 수 있고, 어떤 것이든 손에 익힐 수 있다는 적응력에 자신감이 있어야 한다. 그런 실력이 있을 때, 엔지니어의 최대 장점인 자유로움을 누릴 수 있다. 로봇을 접점으로 c++을 많이 만났고 그때마다 벽을 느꼈다. 자료구조 수업을 들으면서도 c++을 해야겠다는 생각이 강해졌고 c++을 언젠가는 한번 제대로 파보고자하는 마음을 .. 2021. 5. 1.
따배씨++ 시작 공부이유) ROS를 다루면서도 C++이 소스코드로 필요했다. C++을 익힌 뒤 어떠한 언어에도 쉽게 접근이 가능하다. Python도 내부적으로 c++로 돌아간다. 데이터가 사람을 대신해 일하게 하기 위해서 공부방법) 좋은 예술가는 따라하고 위대한 예술가는 훔친다 처음은 따라하는 것부터 시작하자. 첫 시작에서 틀을 이해하는 것이 중요하다. 이번 글 이후로는 기록하기 보다는 빠르게 수업을 듣고 예제를 하는 것에 집중할 계획이다. 이번 글에서는 IDE환경에서 코드를 WRITE하고 COMPILE했을 때 어디에 어떻게 파일들이 만들어지고 어떻게 실행되는지 정리하였다. 자료출처 www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz 강의0.1 컴파일러와 .. 2021. 4. 30.
나는 자영업자다 어디에도 구속되지 않고 나의 지식과 경험을 무기삼아 세계를 누비자. 시험이 끝나고 짜잘하게 해야할 과제들과 졸업논문을 잠시 미뤄두고 휴식 중이다. 유튜브로 해리포터도 보고 자연스럽게 개발에 대한 영상도 보게 된다. 여러 영상들을 정리하며 머릿속도 정리해본다. 1. 비전공자 구글 ML엔지니어로 컴퓨터를 접하지 못했지만 최상위 개발자가 되는 이야기가 종종 들린다. 도메인분야에서 SW개발로. 도전하지 않고 기계과가 몰락한다며 아쉬운 소리를 하는 사람이 있는 반면 누군가는 미지의 세계로 첨벙 뛰어든다. 몇십년의 긴 인생 속에서 대학 4년의 공부는 생각보다 미미하다. 장기적으로 봤을 때, 설레임에 일을 하고 공학자의 장점을 살릴 수 있는 일을 한다면, 도메인이든, 데이터든, 어떤 도구든지 무슨 상관인가. www... 2021. 4. 29.
마음을 편안히 먹으니 더 재밌어 요즘 졸업논문과 중간곡사로 참 바쁘다. 골프수업을 들으러 가서 공에 집중했다. 2주전엔 좀 잘맞았는데..하며 땅볼을 열심히 날렸다. 모니터를 하루종일 들여다보느라 눈이 피곤했다. 그전에는 너무 공을 잘 맞추고 싶고 잘 못맞으면 속상하고 그랬는데 오늘은 피곤해서 그랬는지 어떻게 공이 날아가든지 아무래도 상관이 없었다. 몸이 피곤했지만 공에 욕심이 없어서 공이 잘못맞아도 스트레스가 없었고 그러다가 잘맞으면 재밌었다. 오늘은 한 단계 더 발전했다. 지금까지는 팔만 이용해서 휘둘렀는데 교수님이 뻣뻣하게 있지말고 팔을 더 높이, 채가 가벼워지는 지점에 두고 허리를 틀어보라고 하셨는데, 와 이거야하며 공이 잘맞기 시작했다. 뭐든지 욕심을 내려놓고 즐기면 좋은 결과가 따라오지 않을까하는 생각을 해본다. 2021. 4. 22.
지금까지 한 것 목차정리 너무 정신없이 링크만 정리해 놓으면서 글이 혼잡해졌다. 지금까지의 상황과 방향을 정리해본다. 로봇에 관심을 갖다보니 ROS를 알게되었고 Modern robotic를 공부하며 로봇에서 configuration을 위해서 tf가 중요함을 알게되었다. ROS를 직접해보고자 했는데 개발환경세팅에만 많은 시간을 써버린 느낌적인 느낌이다. 바로 인공지능을 활용하겠다는 생각이었는데..ㅎㅎ 되겠지~가 아니라 하나하나 파고들어 되게 만들어야 했다. PC 환경(노트북) OS : 우분투 18.04 ROS : Melodic CPU : i5 Hardware Openmanipulator-X (ROBOTIS) OpenCR 1. Moveit으로 Openmanipulator-X 동작시키기도(완료) 1.1 다이나믹셀-OpenCR-remo.. 2021. 4. 22.
라즈베리파이 노드에서 영상처리하기 [기본적 라즈베리파이카메라 사용법] kocoafab.cc/tutorial/view/334 라즈베리 파이-PI Camera 사용하기 kocoafab.cc 전반적인 라즈베리파이 영상데이터를 전송하는 방법 m.blog.naver.com/sigsaly/221001033002 #5 카메라 구동을 위해 라즈베리파이에 OpenCV 3.2 설치 HR에 카메라를 달아서 PC에서 모니터하는 테스트를 해보기로 했다. 그전에 ROS에서 카메라 구동은 ... blog.naver.com 라즈베리파이 Opencv설치방법 deepdeepit.tistory.com/19 라즈베리파이에 openCV 설치하기 안녕하세요. 캔위성 대회에서 사용하기 위해 openCV를 라즈베리파이에 설치했습 deepdeepit.tistory.com 로보티즈 .. 2021. 4. 22.
저장된 경로 읽어 움직이기/영상송수신 지난 글의 작업을 통해 open_manipulator_recording_trajectory.launch를 통해 경로를 저장하는 역할을 수행할 노드를 실행시킬 수 있게 됐다. 이제 다음은 저장된 경로를 읽어와 그 경로를 따라 로봇팔을 움직이게 하는 것이다. 참조링크 suho0515.blogspot.com/2019/11/pick-and-place-using-inceptionv3-in-ros_13.html [Pick and Place using Inception_v3 in ROS] #03. Making open_manipulator_play_recorded_trajectory node #02까지는 Manipulator의 trajectory를 recording 하는 소스코드를 구현하였다. #03에서는 인식된 O.. 2021. 4. 21.