본문 바로가기

반응형

전체 글

(1074)
박동주 #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의 기..
[2026 1학기 스프링부트 스터디] 최종은 #3주차 1. 스프링 빈과 의존관계 저번주차에 만든 결과물에 화면을 붙이려면 컨트롤러와 뷰 템플릿이 필요함그러기 위해서는 멤버 컨트롤러를 만들어야함이 멤버 컨트롤러는 멤버 서비스를 통해서 데이터를 제어해야함 -> 이것을 "의존관계"가 있다고 표현함 1. 멤버 컨트롤러 만들기 hello-spring/src/main/java/hello/hello_spring/contoroller 폴더를 생성하고 그 안에 만들어준다(hello-spring/src/main/java/hello/hello_spring/contoroller/MemberController.java)package hello.hello_spring.contoroller;import hello.hello_spring.service.MemberService;impo..
[2026 1학기 알고리즘 스터디] 최비성 #4주차 자료구조 + 그리디1. 올바른 괄호def solution(s): depth = 0 for char in s: depth += 1 if char == '(' else -1 if depth (는 +1, )는 −1로 누적하면서 중간에 음수가 되면(=닫는 괄호가 먼저 나옴) False, 끝까지 0이면 True. 괄호 종류가 하나뿐이라 스택 없이 카운터만으로 충분 2. 기능개발import mathdef solution(progresses, speeds): days_left = [math.ceil((100 - p) / s) for p, s in zip(progresses, speeds)] result = [] deploy_day = days_left[0] b..
[2026 1학기 알고리즘 스터디] 최비성 #3주차 DFS / BFS 문제1. 타겟 넘버def solution(numbers, target): answer = 0 def dfs(idx, total): nonlocal answer if idx == len(numbers): if total == target: answer += 1 return dfs(idx + 1, total + numbers[idx]) dfs(idx + 1, total - numbers[idx]) dfs(0, 0) return answer 각 숫자마다 더하기/빼기 두 갈래로 재귀 분기해 모든 부호 조합을 탐색하고, 마지막 인덱스에서 누적합이 target과..
[2026 1학기 알고리즘 스터디] 김광철 #3주차 3주차 알고리즘 스터디 블로그 시작하겠습니다.이번엔 DFS와 BFS에 대해 공부했습니다.저번 주차에서 완전탐색과 백트래킹을 하면서 DFS를 살짝 사용했었는데, 이번에는 본격적으로 DFS와 BFS 문제들을 풀어봤습니다.저번에 그냥 사용하던 DFS를 이번에 제대로 공부하면서, BFS와의 차이점도 살펴보았습니다.1. 타겟 넘버#include #include using namespace std;int answerCount = 0;void dfs(vector& numbers, int target, int index, int sum) { if (index == numbers.size()) { if (sum == target) { answerCount++; } ..
[2026 ROS 스터디] 지태현 ROS2 #5주차 ROS2설치 및 환경설정Ubuntu 22.04, 터미네이터 추천,chrome, python pip, Jupyter notebook설치 권장Viscose 설치Jupyter 사용법mkdir python으로 폴더 만들고, jypeter notebook을 실행하고 python3를 선택하면 쉘을 실행할 수있게 된다.마크다운:문서를 만드는 친구(jupyter가 지원), jupyter를 아름답게 만들어 주는 친구이렇게 노션처럼 쓸 수 있다.sublime text: 간단하게 볼 수 있는 EditorROS2 humble(22.04)에 맞는 ROS2 버전(설치는 공식페이지에서 하는 것이 바람직하다)위와같은 코드로 잘 설치 되어있는지 확인할 수 있다.(RQT_Graph)(토픽 보내기like ros1)sudo apt upda..
[2026 ROS 스터디] 이정후 #5주차 ROS2 입문환경설정Terminator 설치터미널:1. sudo apt update 입력2. sudo apt install terminator 입력3. y 입력4. Terminator 실행5. Add to Favorites로 즐겨찾기 추가Chrome 설치1. sudo apt update 입력2. wget --version 입력if 버전 정보가 출력 안 될시: sudo apt install wget3. wget http://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 입력4. sudo dpkg -i google-chrome-stable_current_amd64.deb 입력5. sudo apt install chromium-browse..

반응형