본문 바로가기

반응형

전체 글

(1080)
[2026 ROS 스터디] 김경모 #2주차 https://youtube.com/playlist?list=PL0xYz_4oqpvhj4JaPSTeGI2k5GQEE36oi&si=UHucSEgBPiTZaIVI1. Turtlesim 실행하기 (3-1)ROS 생태계에서 거북이는 상징적인 마스코트로 Turtlesim은 복잡한 하드웨어 없이 ROS2의 명령어와 패키지 동작 원리를 눈으로 보며 배울 수 있는 교육용 시뮬레이터이다.노드 실행: 터미널에서 ros2 run turtlesim turtlesim_node 를 입력하면 귀여운 거북이 한 마리가 나타나는 창이 실행된다.단위 개념: ROS2에서 노드(Node)란 실행 가능한 최소한의 작업 단위를 의미한다. 위 명령어를 통해 turtlesim_node라는 노드를 하나 실행한 2. 다시 강조하는 setup.bash..
[2026 ROS 스터디] 이정우 #2주차 3-1 Turtlesim 실행하기 node : 실행 가능한 최소의 단위ros2 run : node를 실행하는 명령 ros2 run 명령어로 turtlesim 패키지가 제공하는 turtlesim_node를 실행하겠다. turtlesim_node를 실행하면 빨간 거북이가 하나 나온다. alias | grep humble을 사용하여 alias 내의 humble만 볼 수 있다고 한다. 3-2. 다시 강조하는 set up.bash sudo apt install 명령으로 설치한 ros pkg들이 저장된 곳=> /opt/ros/humble source/opt/ros/humble/setup.bash=> source 명령을 통해 opt/ros/humble의 setup.bash를 읽음 3-3. ROS2 Node ro..
[2026 ROS 스터디] 김명원 #2주차 #1 Turtlesimros2 run turtlesim turtlesim_node - turtlesim 실행ros2 service list - 내가 사용할 수 있는 로스 서비스 확인.srv - service에서 어떤 노드가 request할 때 definition(type)을 정해둔 파일--- 위에 있는 건 request 타입, 아래에 있는 건 response 타입위와 같은 경우는 response 데이터는 없음아래와 같이 확인 가능radian - ros에서 사용하는 각도 단위 - 한 바퀴를 2π로 표현ros2 service call /turtle1/teleport_absolute turtlesim/srv/TeleportAbsolute "{x: 2, y: 2, theta: 1.57}"거북이를 x: 2, y..
[2026 ROS 스터디] 조하영 #2주차 # 3-1 turtlesim 실행하기node: ros에서 실행 가능한 최소 단위ros2 run 으로 실행 가능 # 3-3 ros2 nodenode list: 현재 실행중인 node의 리스트를 알려줌node info: 노드의 정보를 알려줌 # 3-4 ros2 service 기초(1) service: client의 요청에 응답하는 서버 (응답이 없으면 NULL)(2) ros service type서비스 데이터 타입은 두개가 존재할 수 있음 teleport absolute의 원본 소스:float32 x float32 y float32 theta ---(3) definition서비스는 두 노드 사이에 definition(type)이 있어야 함.srv: 노드의 요청과 응답을 기록해둔 파일definition..
[2026 ROS 스터디] 김지섭 #2주차 3-1 Turtlesim 실행하기node(노드): ros 환경에서 실행가능한 최소의 단위ros2 run : 노드를 실행하는 명령 ex) ros2 run 패키지 이름 : turtlesim , 노드 이름 : turtlesim_node 3-3 ROS2 Noderos2 node list: 현재 실행중인 노드의 리스트를 볼 수 있는 명령ros2 node info /turtlesim : turtlesim이라는 노드의 정보 조회 명령echo $ROS_DOMAIN_ID: 내가 설정한 ros 도메인 아이디 조회 명령 3-4 ROS2 Service 기초Service : 요청(request)을 보내면 응답(response)을 돌려주는 통신 방식 Service Type: Service에서 어떤 Request와 Respon..
[2026 ROS 스터디] 윤준현 #2주차 3-1 Turtlesim 실행하기 node -> 실행 가능한 최소의 단위 tab 더블 탭으로 뭐가 있는지 볼 수 있는 것 상기ros2 run turtlesim turtlesim_node 코드로turtlesim의 실행 가능한 최소 단위? 실 alias | grep humble 명령어로 험블만 어떻게 생겼나 볼 수 있다 3-2 다시 강조하는 setup.bash sudo apt install 명령으로 설치한 ros pkg들이 저장된 곳ㄴ> /opt/ros/humble 해당 경로의 setup.bash를 source 명령어로 읽으source /opt/ros/humble/setup.bash |---- 이 경로 -----|이 경로에 설치되어 있는 ros 명령어들을 사용할 수 있게 됨 3..
박동주 #1주차 우분투 설치 및 ROS2 소개 스터디 1주차 영상 중 빠지는 부분이 있는 줄 모르고, 1~2챕터 모두 진행하였습니다.Terminal & Terminator터미널 실행Ctrl + Alt + T : 새 터미널 실행터미널 기본 형태: user@pc-name:~$user : 사용자 이름pc-name : PC 이름~ : Home 디렉토리$ : 일반 사용자기본 명령어exit : 터미널 종료ls : 현재 위치의 파일/폴더 목록 확인clear : 터미널 화면 정리sudo apt update : Ubuntu 패키지 목록 업데이트sudo : 관리자 권한으로 실행Ubuntu Terminal 기본 명령어현재 위치 확인pwd : 현재 디렉토리의 전체 경로 확인예: /home/userpwd = Print Working Directory파일/폴더 목록ls : ..
[2026 ROS 스터디] 조하영 #1주차-설치/설정하기 1. Ubuntu 설치(1) Ubuntu 22.04 Desktop버전으로 설치 C드라이브 용량 문제로 WSL방법으로 Ubuntu 22.04를 설치함(2) 명령어 ls: 현재 경로의 파일이나 폴더 목록 pwd: 현재 경로 clear: 화면 정리 mkdir: 폴더 만들기 rm: 삭제 cd: 폴더 간 이동 2. ros2 Humble 설치공식 홈페이지 절차에 따라 설치 완료 3. bashrc 설정(1) bashrc: 터미널 실행할 때 먼저 실행되는 설정을 보관하고 있는 파일echo: python에서의 print와 같은 역할bashrc 창에서 환경설정 실습 (2) alias 설정alias를 통해 명령을 만들 수 있음*name과 value사이의 등호는 띄어쓰기 없이 붙여써야함
[2026 ROS 스터디] 김경모 ROS2 #1주차 - ROS 소개 및 설치 https://youtube.com/playlist?list=PL0xYz_4oqpvhj4JaPSTeGI2k5GQEE36oi&si=gFHcuFFw0vyedBun ROS2 스터디의 첫주차 학습으로 개발환경 세팅을 진행해 보았다 ROS2 프레임워크는 리눅스 기반의 Ubuntu에서 가장 안정적으로 작동하기 때문에 우선적으로 Ubuntu를 설치해주어야한다. UbuntuUbuntu는 리눅스 기반으로 만들어진 무료 오픈소스 운영체제로 과거 텍스트 명령어로만 다루던 리눅스와 달리 직관적인 그래픽 사용자 인터페이스를 제공하여, 리눅스 초보자도 마우스로 쉽게 조작할 수 있따는 장점이 있다. 또한 C언어 python 등 다양한 프로그래밍 언어어의 컴파일러와 라이브러리를 쉽게 설치하고 구축할 수 있기에 소프트웨어, 인공지능 ..
[2026 ROS 스터디] 김지섭 #1주차 - Ubuntu부터 ROS2 설치까지 sudo apt update - 우분투에서 패키지 목록을 최신 상태로 갱신하는 명령어sudo -> 관리자 권한으로 실행apt -> Ubuntu의 패키지 관리 도구update -> 설치 가능한 패키지들의 최신 목록을 서버에서 받아옴 ls - 현재 폴더에 있는 파일과 폴더 목록을 확인하는 명령어pwd - 현재 내가 어느 폴더(디렉터리)에 있는지 확인하는 명령어clear - 현재 화면을 정리하는 명령어mkdir - 폴더를 만드는 명령어rm - 파일이나 폴더를 삭제하는 명령어cd - 폴더 간 이동 명령어 .bashrc - 터미널(Bash)을 실행할 때 적용할 개인 설정을 저장하는 파일echo는 print()와 비슷한 역할 alias - 긴 명령어에 짧은 별명을 만들어주는 기능ROS 2에서 도메인 설정은 같은 네..
[2026 ROS 스터디] 윤준현 #1주차 R2R 입문 1-1, 2, 3 우분투 환경 구축우분투 설치는 버추얼 머신으로 진행 가상머신으로 우분투를 설치하던 중 Ubuntu 22.04 ISO 파일을 업로드하고 unattended install에 체크를 했더니22.10으로 잘못 인식하여 지가 잘못 설치를 함 -> 가상환경이 열리는데 터미널이 안 열림unattended install 체크박스에 체크를 풀고 버전을 22.04로 맞춰준 후 수동으로 설치를 했더니 정상 작동 우분투 설치 후 Terminator 설치 (터미널 창 분할이 되어 ROS에 도움이 됨) @ 오른쪽 yjh-VirtualBox : PC 이름@ 왼쪽 yjh : 사용자 이름~ : Home 경로ls : 현재 홈 경로의 파일이나 폴더 목록clear : 터미널 창 클리어 sudo -> 관리..
[2026 ROS 스터디] 김명원 #1주차 - Termianl과 ROS2 기초 #1 Terminal 명령어 1. ls - 경로의 파일이나 디렉토리(폴더) 목록 확인2. mkdir - 새로운 폴더 생성3. rm - 삭제라는 명령어 * -r은 폴더를 삭제하겠다4. cd - 디렉토리 이동 #2 ROS2 설치 및 bashrc 설정현재 우분투 버전이 24.04라서 ROS2 humble 설치에 제한이 있습니다.이번 스터디에서는 humble 대신 jazzy로 대체하지만 추후 humble로 전환하겠습니다. 1. ROS2 설치설치 과정은 생략했습니다.아래는 설치가 완료되었을 때 화면입니다.2. ROS2 실행source /opt/ros/jazzy/setup.bash - ros환경을 사용하기 위한 명령어아래는 잘 활용할 수 있는 상태가 되었는지 확인하는 코드 3. bashrc 활용subl ~/.b..
[2026 1학기 알고리즘 스터디] 김광철 #5주차 5주차 DP 알고리즘 스터디 블로깅 시작하겠습니다.이번 주차에는 동적 계획법, 즉 DP 문제들을 중심으로 풀었습니다.처음에는 점화식을 세우는 것이 어렵게 느껴졌지만, 문제들을 풀다 보니 이전에 구한 값을 이용해서 다음 값을 구한다는 공통점이 있다는 것을 알 수 있었습니다.1. 피보나치 수#include #include using namespace std;int solution(int n) { vector fib(n + 1); fib[0] = 0; fib[1] = 1; for (int i = 2; i 첫 번째 문제입니다.이 문제는 기본적인 피보나치 수를 구하고 나머지를 구하는 문제였습니다.피보나치 수는 앞의 두 수를 더해서 다음 수를 만드는 방식이라 어렵지 않았습니다.fib[i] = ..
[2026 1학기 알고리즘 스터디] 이상현 #3, 4주차 3주차 DFS/BFS최단/최소 → BFS, 모든 경우/경로 → DFS1. 타겟 넘버인덱스마다 +, - 분기하는 DFS.def solution(numbers, target): answer = 0 def dfs(i, total): nonlocal answer if i == len(numbers): if total == target: answer += 1 return dfs(i+1, total + numbers[i]) dfs(i+1, total - numbers[i]) dfs(0, 0) return answer끝까지 가서 비교 (중간에 같다고 카운트 X)부분집합 합 DP로도 풀림: 합 S일 때 (S+..
[2026 1학기 알고리즘 스터디] 박민규 #3주차 언어: C++ DFS와 BFS, 백트래킹에 대한 지식이 부족해서 GPT와 링크자료를 통해서 학습하 문제를 풀었습니다. 1. 타겟 넘버#include #include using namespace std;int answer = 0;void dfs(vector& numbers, int target, int idx, int sum) { if (idx == numbers.size()) { if (sum == target) { answer++; } return; } dfs(numbers, target, idx + 1, sum + numbers[idx]); dfs(numbers, target, idx + 1, sum - numbers[i..
[2026 1학기 알고리즘 스터디] 박승환 #4주차 이번 알고리즘은 자료구조+그리디다. 자료구조는 수업에서 배웠던 리스트 부터 시작해서 스택, 큐 등등 모든 것을 포함해서 말하는것이고 이번에 새로 알게된 것은 그리디(Greedy) 알고리즘으로 "탐욕 알고리즘"이라고도 한다. 그리디 알고리즘(Greedy Algorithm): "선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫒아 최종적인 해답에 도달하는 방법" 일정 공식은 없고 창의력을 요구하는 알고리즘이다. 즉 문제를 풀기 위해 최소한의 아이디어를 내야한다. 1. 올바를 괄호 #include using namespace std;bool solution(string s){ int ok = 0; for(int i = 0; i 이 문제는 간단한 문제로 괄호의 짝이 맞는지 확인 하는 문제이다..
[2026 1학기 알고리즘 스터디] 임동민 #3주차 안녕하세요! 알고리즘 스터디 3주차 DFS/BFS 시작하겠습니다! 1번 타겟넘버#include #include using namespace std;int answer = 0;void DFS(vector& numbers, int target, int index, int sum) { if (index == numbers.size()) { if (sum == target) { answer++; } return; } DFS(numbers, target, index + 1, sum + numbers[index]); DFS(numbers, target, index + 1, sum - numbers[index]);}int solution(..
[2026 1학기 알고리즘 스터디] 박승환 #3주차 이번 알고리즘은 DFS 와 BFS이다.DFS(깊이 우선 탐색)은 모든 경우의 수를 구하는 문제에 적절하다.BFS(너비 우선 탐색)은 최단 경로 같은 문제에 적합하다. 1. 타겟 넘버#include #include using namespace std;int answer = 0;void dfs(vector& numbers, int target, int index, int sum) { if(index == numbers.size()) { if(sum == target) { answer++; } return; } dfs(numbers, target, index + 1, sum + numbers[index]); dfs(numbers..
[2026 1학기 알고리즘 스터디] 고윤정 #4주차 4주차 알고리즘 스터디 시작합니당 올바른 괄호def solution(s): answer = True cnt = 0 for c in s: if c == '(': cnt += 1 else: cnt -= 1 if cnt - cnt )가 먼저 나오는 경우 판단- 마지막에 cnt != 0 확인 -> (가 안 닫힌 경우 판단- 카운터가 음수가 되면 즉시 False, 끝까지 순회 후 카운터가 0이면 True- 스택으로도 풀 수 있지만 괄호 종류가 1가지라 카운터로 풀이 기능개발import mathdef solution(progresses, speeds): answer = [] days = [math.c..
[2026 1학기 알고리즘 스터디] 고윤정 #3주차 안녕하세용 알고리즘 스터디 3주차 시작합니닷 타겟 넘버def solution(numbers, target): answer = 0 def dfs(i, s): # i: 현재 인덱스, s: 현재까지의 합 nonlocal answer if i == len(numbers): # 모든 숫자 다 사용했으면 if s == target: # 합이 target이면 카운트 answer += 1 return dfs(i + 1, s + numbers[i]) dfs(i + 1, s - numbers[i]) dfs(0, 0) ..
[2026 1학기 알고리즘 스터디] 이상래 #3,4주차 1. 타겟넘버class Solution { int answer = 0; public int solution(int[] numbers, int target) { dfs(numbers, target, 0, 0); return answer; } void dfs(int[] numbers, int target, int depth, int sum) { if (depth == numbers.length) { if (sum == target) answer++; return; } dfs(numbers, target, depth + 1, sum + numbers[depth]); dfs(n..
[2026 1학기 스프링부트 스터디] 박승환 # 2주차 이제는 회원을 관리하는걸 배워보자! 이제 실무느낌의 활동이다 일반적인 웹 애플리케이션 계층 구조이다. 클래스 의존관계 회원 Repository 코드 package hello.hello_spring.domain;public class Member { private Long id; // 시스템이 저장하는 id private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } ..
[2026 1학기 알고리즘 스터디] 남윤찬 #4주차 2주차 - 자료구조, 그리디 올바른 괄호import java.util.*;class Solution { boolean solution(String s) { Queue q = new LinkedList(); for (int i = 0; i 여는 괄호 '('가 오면 큐에 쌓고, 닫는 괄호 ')'가 왔을 때 큐가 비어있다면 괄호가 올바르지 않으므로 false이다. 전체 순회를 한 후에도 큐에 여는 괄호가 남아있다면 마저 닫히지 않았으므로 옳지 않은 괄호이다. 기능 개발import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { Li..
[2026 1학기 알고리즘 스터디] 김광철 #4주차 4주차 스택, 큐, 그리디 블로깅 시작하겠습니다.1. 올바른 괄호def solution(s): count = 0 for ch in s: if ch == '(': count += 1 else: count -= 1 if count 첫 번째 문제입니다.처음에는 스택으로 풀어야 하나 생각했는데, 이 문제는 단순히 괄호의 개수 균형만 확인하면 되는 문제였습니다.(를 만나면 +1, )를 만나면 -1 하면서 진행했습니다. if ch == '(': count += 1else: count -= 1 중요한 점은 중간에 count가 음수가 되면 안 된다는 것입니다.예를 들어 ")()(" 같은 경우..
[2026 1학기 React.js 스터디] 한시우 #3주차 00. 들어가는 말안녕하세요.드디어 본격적으로 react 에 대해 알아볼 시간입니다.그 전에 프론트엔드에 자세히 알아보기 위해 영상을 하나 준비했습니다.https://youtu.be/Kl5EcYd3G2E?si=YhcloXEFJWEp2qcA영상 정리부터 시작해볼게요 웹 3대 기술: HTML, URL, HTTPHTML: 문서 작성 규칙 (Hyper Text Markup Language)URL: 문서의 주소 (Uniform Resource Locator)HTTP: 문서를 주고받는 방법 (HyperText Transfer Protocol)CSS (Cascading Style Sheet)HTML 파일을 꾸미고 싶었음그래서 HTML에 inine으로 style을 넣었음그러다가 유지보수가 너무 힘들어지고 HTML의 기..

반응형