.. Cover Letter

전체 글 211

로보월드 2023에 다녀왔습니다.

저번주에 2023 로보월드를 다녀왔습니다. 부트캠프를 같이 했던 분들 중에서 절반이나 로봇관련 업체에 취업하시고, 그 중에 몇 분께서는 올해 로보월드에 참여하셨다는 소식에 올해도 로보월드에 다녀왔습니다. 저는 작년과 비교해서는 그렇게 유심히 둘러보지는 않았습니다. 1~2시간정도 시간이 있었고, 부트캠프 동기분들과 인사하고 이야기를 나누다보니 시간이 금방 가버리더군요.. 이 로봇은 에이로봇이라는 회사에서 만든 반려로봇으로 저와 부트캠프를 함께했던 동기분이 만드신 로봇입니다. 머리를 쓰다듬으면 표정이 변하고, 강화학습을 통해서 MBTI가 변화한다고합니다. 또 신기했던 로봇은 핸드드립 커피를 내려주는 로봇팔이였습니다. 지금의 로봇커피는 종이컵을 자판기에 넣고, 빼고 손님에게 주는 일만 하는게 전부였는데, 이렇..

PinkLab에서 6개월의 인턴을 진행하면서

PinkLab에서 6개월간 인턴 생활을 하면서 취업에 성공했습니다. 그렇게 첫출근을 하고, 일을 하면서 제가 취업을 위해 걸어왔던 과정들을 블로그에 작성하고 싶다는 생각이 들었습니다. 이 글은 어떻게 PinkLab에 들어갔는지, 그리고 무엇을 했고, 어떤 경험이 취업에 도움이 되었는지를 중점으로 글을 작성하려고합니다. 로봇에대한 관심에서 시작했다전기전자공학과에 재학중일 때, 로봇공학을 배우면서 로봇을 만드는 사람이 되고 싶다는 꿈을 가지게 되었습니다. 저는 이 꿈을 위해 졸업작품으로 로봇팔을 활용하는 프로젝트를 진행했습니다. 이 프로젝트는 영상처리, 머신러닝의 기술을 적용해서 별도의 컨트롤러 없이 로봇팔을 동작시키는 프로젝트로 동작과정은 다음과 같습니다. 그러나..당시에는 로봇을 배우고 싶다고 이야기하면..

6. 프로세스 동기화(2/2)

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net Semaphore (세마포어) 세마포어는 동기화를 위한 도구로 일반화한 Locks이라고 볼 수 있습니다. 여기서 Semaphore는 S로 표기하며, Integer형 변수입니다. 세마포어는 두 종류가 있습니다 1. Counting 세마포어 : integer value로 정수로 표현하는 것입니다. 2. Binary 세마포어 : integer value이지..

카테고리 없음 2023.09.12

5. 프로세스 동기화(1/2)

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 멀티 프로세스가 돌아가는 경우에 다음처럼 두 개의 스레드가 있다고 합시다. 두 개의 스레드는 서로 영향을 주지 않습니다. 이를 no dependency (의존성이 없다) 라고 부릅니다. 그래서 스레드가 돌면서 context switching 이 발생해도 서로 문제가 발생하지 않습니다. 그러나 다음의 경우를 보시겠습니다. y의 초기값은 8인 경우에 두 ..

4. 프로세스와 스레드의 차이

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 프로세스 프로세스란 연속적으로 실행되고 있는 컴퓨터 프로그램을 의미한다 (코드의 조각) 1. 프로세스는 자신만의 스택을 가진다. 2. 프로세스는 자신만의 메모리를 가진다. 3. 프로세스는 자신만의 파일입출력 테이블 4. 프로세스는 고유의 아이디를 가진다 (PID) 프로세스를 생성하는 것은 fork()라는 system call에 의해서 부모의 프로세스에..

3. 메모리 관점에서 C언어 이해하기

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net VS 에서 C언어 파일을 하나 만들어주세요. 참조, 주소 연산자 & 해당 연산자는 Reference operator 라고 부릅니다. 한국어로는 참조연산자 혹은 주소연산자라고 합니다. 간단하게 변수를 선언하고, 변수의 주소를 확인하자면 다음처럼 할 수 있습니다. 초기화는 안되었지만, 정적으로 메모리를 할당받은 상태이기 때문에 주소값은 나오는 상태입니다...

(실무리눅스)Vi 사용법

이번 시간에는 Vi 에디터 사용법에 대해서 알아봅니다. 사실 저는 윈도우의 메모장과 비슷한 gedit을 즐겨쓰는데, 리눅스를 사용하는 사람들은 주로 VIm editor를 사용한다고 합니다. Vi Eidtor는 두 가지의 모드가 존재합니다. 1. Command mode - 커서를 움직일 수 있습니다. - 단어를 찾을 수 있습니다. - editing mode로 전환할 수 있습니다 2. Editing mode - 수정하거나 단어를 삽입합니다. Vi를 실행해봅시다. 우선 작업공간을 하나 만들어줍시다. 폴더이름은 vi로 하겠습니다. 여기서 다음의 명령어를 입력하면 실행이 가능합니다. vi test 다음과 같은 화면이 나오는데, 어떻게 나가야할지 막막합니다. 처음에 들어가면 Command mode 로 동작합니다. ..

2. C언어의 컴파일 과정 이해하기

이 글은 다음의 강의를 정리 및 복습하는 글임을 밝힙니다. 또한 면저 준비시에 활용합니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net C언어의 개발과정을 이해해보자. 주요한 키워드는 다음과 같다. - Edit - Preprocess - Complie - Link - Load - Execute 1. Edit 코드를 직접 수정하는 단계이다. 예를 들자면 VScode로 코드를 수정하는 과정이다. 2. Preprocess 선처리라고 하며, 코드를 분리하고 컴파일러에게..

1. 시스템 프로그래밍 개요

이 글은 다음의 강의를 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 임베디드 SW의 커리큘럼 Programming Language : C언어, C++ 을 공부해야한다고 합니다. -> System Programming : 코드가 컴퓨터 시스템에서 어떻게 동작되는가를 배운다고 합니다. -> Data Structures : 자료구조 -> Operating Systems : 운영체제 -> Microprocessor : (하드웨어) 마..

들어야할 강의랑 뭐하고 먹고살지

1. 시스템 프로그래밍 기초 (진행 중) 시스템 프로그래밍 기초 - 한양대학교 | KOCW 공개 강의 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 2. 운영체제 운영체제론 - 강서대학교 | KOCW 공개 강의 운영체제론 운영체제라는 주제에서는 CPU, Memory, I/O 등의 컴퓨터 자원을 효율적으로 관리하는 방법들과 사용자에게 인터페이스를 제공하는 기능들에 대해 공부한다. www.kocw.net 3. 그리고 교양의 형태로 다음의 과목을 수강한다. 소프트웨어공학 - 동국대학교 | KOCW 공개 강의 소프트웨어공학 사용자 요구를 찾아내고 정리하여 적합한 소프트웨어 설계안을 구성하고..

(C)string을 swap하는 함수를 만들어주세요.

간단하게 a와 b를 서로 바꿔주는 swap 함수를 만들어주세요. main 함수는 주어집니다. int main() { const char* a = "abcd"; const char* b = "12345"; printf(a); //"abcd" printf(b); //"12345" str_swap(); printf(a); //"12345" printf(b); //"abcd" } str_swap()에 들어갈 매개변수는 자유롭게 설정하시길 바랍니다. 아마 가장 유명한 문제가 아닐까 싶습니다. 이 문제를 푸는 방법을 설명드리겠습니다. 우선 다음의 문자열 선언에 대해 이해할 필요가 있습니다. const char* a = "abcd"; abcd 라는 문자열 리터럴을 가리키는 포인터 변수 a입니다. 보통 우리가 stri..

(C++) 초급 2장. 연산자 오버로딩(연산자 중복) 복습하기(1/2)

주의 : 이 글은 C++의 기초문법에 대해 상세하게 다루지 않습니다. ※ 뇌를 자극하는 C++ STL 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (한빛 미디어) - 지음: 공동환 ※ 이 블로그는 포토폴리오 목적으로 별도의 수익을 창출하지 않습니다. 뇌를 자극하는 C++ STL - YES24 뇌를 자극하는 C++ STL - YES24 코드 중심으로 설명했다. 코드를 실습하면서 한 단계씩 실력을 쌓을 수 있게 했다. 단계별로 난이도를 조금씩 ..

(C++) 초급 1장. 연산자 오버로딩(연산자 중복) 복습하기

주의 : 이 글은 C++의 기초문법에 대해 상세하게 다루지 않습니다. ※ 뇌를 자극하는 C++ STL 의 책을 참고하여 개인적으로 정리한 글입니다. 이 글의 목적은 해당 책의 내용을 인용하여 더 쉽게 이해하고자 정리하고, 더 쉬운 예제를 통해 이해하는 것을 목표로 하고 있습니다. 깊게 공부하고 싶다면 책을 구매하는 것을 추천드립니다. 책의 저작권 등등 각종 권한은 출판사와 지은이/옮긴이에 있습니다. - 출판사: (한빛 미디어) - 지음: 공동환 ※ 이 블로그는 포토폴리오 목적으로 별도의 수익을 창출하지 않습니다. 뇌를 자극하는 C++ STL - YES24 뇌를 자극하는 C++ STL - YES24 코드 중심으로 설명했다. 코드를 실습하면서 한 단계씩 실력을 쌓을 수 있게 했다. 단계별로 난이도를 조금씩 ..

배송로봇 모니터링 프로그램 만들기 2장 설계의 구체화

대충 컨셉은 모두 설계가 되었습니다. Git 생성 brainKimDu/Making-a-serving-robot (github.com) GitHub - brainKimDu/Making-a-serving-robot Contribute to brainKimDu/Making-a-serving-robot development by creating an account on GitHub. github.com 일단 깃부터 만들고 시작하도록 합시다. 프로젝트 세부 설계 큰 그림으로 보자면 다음의 그림과 같습니다. 이제 설계를 해야할 것은 각각의 모듈을 어떻게 구현할 것이고, 각 모듈이 어떻게 통신을 해야하고, 어떻게 구현을 해낼건지 조사를 진행해야겠습니다. 들어가기 전 UML과 아키텍처 설계를 조금 진지하게 공부해보고자..