본문 바로가기

반응형

전체 글

(650)
[2025 겨울방학 스프링 스터디] 김재승 #3주차 목차#섹션5 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 #섹션6회원 웹 기능 - 홈 화면 추가회원 웹 기능 - 등록 회원 웹 기능 - 조회 #섹션5컴포넌트 스캔과 자동 의존관계 설정package hello.hellospring.controller;import hello.hellospring.service.MemberService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;@Controllerpublic class MemberController { private final MemberService memberService;..
[2025 ROS 스터디] 이호휘 #3주차-ROS 기본 프로그래밍 ROS 기본 프로그래밍목차- ROS 프로그래밍 전에 알아둬야 할 사항- 퍼블리셔와 서브스크라이버 노드 작성 및 실행- 서비스 서버와 클라이언트 노드 작성 및 실행- 액션 서버와 클라이언트 노드 작성 및 실행 -> 잘 사용하지 않아서 강의 X- 파라미터 사용법- Roslaunch 사용법1. ROS 프로그래밍 전에 알아둬야할 사항 - 표준 단위 : SI 단위 사용    - 좌표 표현 방식  - x : forward / y : left / z : up   -> 정회전 : left -> (+) / 역회전 : right -> (-)  - 오른손 법칙   - 프로그래밍 법칙2. 메시지 통신의 종류 - topic  - 퍼블리셔가 서브스크라이버에게 메시지를 전달하는 방식 - 서비스  - 서비스 클라이언트가 서비스 서버..
[2025 겨울방학 스프링 스터디] 윤아영 #3주차 1. 스프링 빈과 의존관계스프링 빈을 등록하는 2가지 방법 1) 컴포넌트 스캔과 자동 의존관계 설정@Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다.private final MemberService memberService = new MemberService();private final MemberService memberService;@Autowiredpublic MemberController(MemberService memberService) { this.memberService = memberService;} 위와 같이 입력하면 오류가 난다.@Servicepublic class MemberService {@Repositorypublic class MemoryMemberRepo..
[2025 겨울방학 스프링 스터디] 정채은 #3주차 섹션 5 와 섹션 6 ........... [ 컴포넌트 스캔과 자동 의존관계 설정 ]package hello.hellospring.controller;import hello.hellospring.service.MemberService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;@Controllerpublic class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberService memberS..
[2025 ROS 스터디] 신채영 #2주차 - ROS 용어, 도구 1. 기본 용어1) Node (노드) : 최소 단위의 실행 가능한 프로세스. 각 노드는 메세지 통신으로 데이터를 주고 받는다.2) Package (패키지) : 노드 실행을 위한 정보 등을 묶어 놓은 것3) Message (메세지) : 메세지는 integer, floating, point, boolean과 같은 정수 형태. 이를 통해 노드 간의 데이터를 주고 받는다.  2. 메세지 통신 종류1) Topic (토픽) 실시간으로 전송되는 단방향성 메세지. 일방적으로 계속 데이터를 보내야하는 경우에 사용한다. 1:1,1:N, N:1, N:N 통신이 가능하다. Publisher: 정보를 발행하는 쪽.  Subscriber: 정보를 수신하는 쪽 2) Service (서비스) 양방향, 일회성 통신(메세지를 한 번만 ..
[2025 ROS 스터디] 이영상 #2주차- ROS 용어, 명령어, 도구 Node최소 단위의 실행 가능한 프로세서. (각 노드는 메시지 통신으로 데이터를 주고 받는다)예를 들어, 하나의 노드는 센서 데이터를 수집하고, 또 다른 노드는 그 데이터를 처리하며, 다른 노드는 로봇의 모터를 제어하는 등의 역할을 한다.노드의 특징분산 처리: 여러 노드가 서로 독립적으로 실행되며, 네트워크를 통해 통신한다.모듈화: 각 노드는 하나의 특정한 작업을 수행하여 시스템을 모듈화한다.통신: 노드 간에 데이터를 주고받기 위해 토픽(Topic), 서비스(Service), 또는 액션(Action)을 사용한다. 자율 주행 로봇에서의 예시 노드 구성:레이더 센서 노드: 장애물 데이터를 읽어옴.경로 계획 노드: 주어진 지도에서 목적지까지의 경로를 계산.모터 제어 노드: 경로 계획에 따라 로봇의 바퀴를 제어..
[2025 ROS 스터디] 이동규 #2주차 - ROS와 한걸음 더 친해지기 ROS 용어노드: (예: 센서로 raw data를 받아오는 노드, raw data를 처리하는 노드 등) 최소 단위의 실행 가능한 프로세서. ROS에서는 노드단위로 프로그램을 나눠서 작업함. 그래서 노드 단위로 테스트가 가능함. 그리고 그냥 다른데서 이미 만들어진 노드를 갖다쓸수도 있다. (효율업) *각 노드는 메시지통신으로 데이터를 주고받음 메시지: (예: 센서로 받아온 raw data) 메시지를 통해 노드간의 데이터를 주고받는다. 정해진 데이터타입으로 구성되고 사용자정의 메시지로 특정 데이터구조를 정의할수도 있다. *메시지는 토픽을 통해 비동기 방식으로 교환됨. 패키지: (예: 얼굴을 감지해 문을 자동으로 열어주는 작업을 위해 있는 모든 노드의 집합) 하나 이상의 노드, 노드 실행을 위한 정보를 묶어 ..
[2025 ROS 스터디] 김예찬 #2주차-ROS의 용어/명령어/도구 ROS의 메세지 통신은 노드 간의 데이터를 주고받는 핵심 메커니즘이다. 메세지에는 토픽, 서비스, 액션이 있는데 토픽은 단방향 통신 방식이고 여러차례 메세지를 발행한다. 서비스는 양방향 통신이고 한번만 메세지를 송신한다. 액션은 서비스와 비슷하지만 장시간 걸리는 작업 중간 결과를 통보하는 기능을 포함한다. 토픽에는 publisher와 subscriber가 있는데 토픽을 발행하는 주체를 publisher라 하고 발행한 토픽을 받는 주체가 subscriber이다. 메세지 예시로는 sensor_msgs/Image(RGB 이미지 데이터), sensor_msgs/PointCloud2(깊이 데이터), sensor_msgs/LaserScan(2D 라이다 스캔 데이터), geometry_msgs/PoseStamped(..
[2025 ROS 스터디] 황희찬 #2주차- ROS 용어,명령어,도구 ROS 용어-Node최소 단위의 실행 가능한 프로세서, 어떤 기능을 하는 노드들은 각각 메시지 통신을 통해 데이터를 주고 받는다.-Package하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 노드의 모임-Message각 노드들은 메시지를 통해 데이터를 주고 받는다. 데이터를 주고 받는 메시지 방식으로는 Topic, Service, Action이 있다.Topic은 단방향 연속 통신 방법으로  sensor 데이터 같이 한쪽 방향으로의 데이터 입력을 전달할때 사용하는 방법이다. 메시지를 보내는 노드를 Publisher, 메시지를 받는 노드를 Subscriber이라고 한다. 1:N,1:1,N:1 방식의 통신도 가능하다.Service는 양방향 통신 방법이고 Action은 Service와 비슷하지만..
[2025 ROS 스터디] 이승찬 #2주차 - ROS의 컨셉 / 명령어와 도구 ROS 용어Node : 최소 단위의 실행 가능 프로세서ROS의 가장 큰 특징Package : 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것 (패키지의 묶음 == 메타 패키지)5,000개 +@ 존재재활용 가능Message : 노드 간의 데이터를 주고 받는 것Topic : 단방향 연속성을 지닌 통신방법 (about 90%)1:1, 1:N, N:N 가능Publisher → SubscriberService : 양방향 단일성을 지닌 통신방법Client → Server : 서비스 요청Server → Client : 서비스 응답Action : 양방향 다회성을 지닌 통신방법Client → Server : 액션 목표 전달Server → Client : 액션 피드백 (중간결과) 전달Server → Clie..
[2025 ROS 스터디] 홍동형 #2주차 - ROS 용어와 도구 ROS 용어Node최소 단위의 실행 가능한 프로세스개발자가 마음대로 나눔(하나로 묶어버릴수도 있지만 그럼 ROS의 장점을 이용못함.)ex) 영상 촬영, 노이즈 제거 필터1, 필터2, 식별 …Package하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것쉽게 말해 그냥 프로그램?ex) 얼굴 인식 출입 관리Message메시지를 통해 노드간의 데이터를 주고받게 된다(int, float, point, bool)변수형태, 메시지안에 메시지, 배열과 같은 구조도 사용메시지의 종류Topicpublisher → subscriber단방향 메시지, 연속성 방식1:N, N:1, N:N 도 가능Service양방향 메시지, 일회성 방식요구와 그에 따른 응답Action양방향 메시지Service와 비슷, 차이점은 중간의..
[2025 ROS 스터디] 김예찬 #1주차 - ROS 개요 및 설치 ROS는 Robot Operating System의 약자로 로봇 하드웨어 및 소프트웨어 구성 요소를 통합하고 제어하는 데 사용된다. ROS 1은 TCP/IP 방식으로 통신하고 ROS2는 DDS 프로토콜 기반이다. 이 둘의 차이점은 Master의 유무이다. ros1은 master를 중심으로 노드 간 통신을 한다. 반면 ros2는 master없이 노드간 직접 통신이 가능하다. 우리가 이번에 설치한 우분투 20.04에서는 ros noetic을 지원하며 ros1를 사용할 것이다. 개발도구로는 우리가 우분투에서 사용하는 ls, cd, rm과 같은 Command-Line Tools, 3차원 시각화 툴 rviz, 노드간의 통신을 알기 쉽게 보여주는 rqt, 시뮬레이션을 할 수 있는 Gazebo가 있다.  -터틀심 패..
[2025 겨울방학 스프링 스터디] 정채은 #2주차 ..............[ 비즈니스 요구사항 정리 ] [ 회원 도메인과 리포지토리 만들기 ] -회원 객체package hello.hellospring.domain;public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } - 회원 리포지토리 인터페이스 package hello.hellospring.repository;import hel..
[2025 겨울방학 스프링 스터디] 김재승 #1주차~2주차 목차섹션2프로젝트 생성환경설정섹션3정적 컨텐츠MVC와 템플릿 엔진API섹션4회원 domain & repository 개발회원 repository test case 작성회원 서비스 개발회원 서비스 test case 작성#섹션2프로젝트 생성1. Spring Initializr 접속2. 최신 버전 설정 후 project Metadata에서 이름 설정하기->단, 자바 17 이상이 깔려있어야함. 이미 깔려있는 자바가 있다면 Java파일을 찾아서 깔려있는 구 버전을 지우면 된다.(경로 예시 : C:\Program Files\Java)3. Dependancies에서 spring web과 Thymeleaf를 추가해준다.4. Intellij에서 생성한 파일 안에 build.gradle 을 열어서 프로젝트를 생성해주면 된..
[2025 겨울방학 스프링 스터디] 윤아영 #2주차 1. 비즈니스 요구사항 정리데이터 : 회원 ID, 이름기능 : 회원 등록, 조회( 아직 데이터의 저장소가 선정되지 않음 )  아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계한다.다양한 저장소를 고민중인 상황으로 가정하고, 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용한다. 2. 회원 도메인과 리포지토리 만들기/java/hello.hello_spring/domain/Memberpackage hello.hello_spring.domain;public class Member { private Long id; private String name; public Long getId() { return id; }..
[2024 ROS 스터디] 이호휘 #2주차-ROS의 용어/명령어/도구 1. ROS 용어 정리 - 가장 중요한 용어 : Node / Package / Message 1) Node - ROS의 대표적인 개념  - 최소 단위의 실행 가능한 프로세서  - 하나의 실행 가능한 프로그램  - 각 노드는 메시지 통신으로 데이터를 주고 받음   2) Package  - 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것  - 패키지의 묶음은 메타패키지라 하여 따로 분리   3) Message  - 메시지를 통해 노드간의 데이터를 주고 받음  - 메시지는 integer / floating / point / boolean과 같은 변수 형태  - 메시지 안 메시지를 품고있는 간단한 데이터 구조 및 메시지들의 배열과 같은 구조로 활용 가능3-1) Topic : 단방향 연속성을 가진 ..
[2025 겨울방학 React.js 스터디] 박현빈 # 2주차 useRefReact를 사용하는 프로젝트에서도 DOM에 직접 접근해야 하는 아래와 같은 경우가 있을 수있다. 아래와 같은 경우에 React에서는 ref를 사용한다. - 특정 엘리먼트의 크기와 스크롤바 위치를 설정시- 포커스 설정시- 외부라이브러리를 특정 DOM에 적용해야 할 때useRef()를 사용하여 Ref 객체를 만들고, 이 객체를 우리가 선택하고 싶은 DOM에 ref 값으로 설정해주어야 한다. 그러면, Ref 객체의 .current값은 우리가 원하는 DOM을 가르키게 된다. import React, { useState, useRef } from 'react';function InputSample() { const [inputs, setInputs] = useState({ name: '', ..
[2025 ROS 스터디] 이성빈 #2주차 - ROS용어,명령어,도구 이번 2주차에는 ros에서 사용하는 용어 및 간단한 명령어 몇가지에 대한 강의를 들었다.가장 먼저 ros 용어로 Node,Package,Message 3가지가 있는데, 노드는 최소 단위의 실행 가능한 프로세서를 가리키는 용어이다. 간단하게 하나의 프로그램이라고 생각하면 된다. 패키지는 하나이상의 노드, 노드 실행을 위한 정보를 묶어놓은것인데 간단하게 노드 여러개가 있으면 하나의 패키지가 되는 개념이라고 보면 된다. 그다음 메시지는 노드간의 주고 받는 데이터 이다. 노드끼리 서로 데이터를 주고 받을때 이를 메시지 라고 하는 것이고 메시지는 int,float와 같은 변수 형태이다. 그다음으로는 Topic,publisher,subscriber이다. 간단하게 설명하면 publisher는 데이터를 제공하는 애 이..
[2025 겨울방학 React.js 스터디] 박현빈 # 1주차 리액트가 만들어진 이유리액트 등장 이전 DOM의 문제점이벤트와 상태 변화가 많아질수록 DOM 업데이트 규칙이 복잡해지고 관리가 어려워지며 유지보수가 힘들어짐리액트의 독창적 접근과 Virutal DOM상태 변화시에 DOM 업데이트 규칙을 정하는 것이 아니라, 아예 다 날려버리고 처음부터 모든걸 새로 만들어서 보여준다면 어떨까? 라는 아이디어에 시작했다. 하지만, 전체를 새로 렌더링하면 성능이 문제갈 될 수 있다.Virutal DOM을 도입하여 해당 문제를 해결.실제 DOM 대신 메모리에 존재하는 가상 DOM을 사용하며 상태 변환 시, Virtual DOM에 새 UI를 렌더링하고 실제 DOM과 비교하여 변경된 부분만 업데이트 (선택적 수정이 가능)이를 통해 성능 문제를 해결하면서도 간단한 개발 환경을 제공...
[2025 ROS 스터디] 신채영 #1주차 - ROS 개요 및 설치 ROS란?1. 로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크  1) 노드 간에 메세지 교환 방식을 통해 프로그램 공동 개발이 가능하다.  2) 명령어 도구, 시각화 도구(Rviz), GUI 도구(rqt), 3차원 시뮬레이터(Gazebo)를 지원한다.  3) 로보틱스에서 많이 사용되는 모델링, 센싱, 인식, 네비게이션, 매니플레이션 기능을 지원한다.  4) 로보틱스 생테계를 생성한다. 2. Open-source 기반의 meta-operating system  전통적인 운영체제는 아니다. 기존의 운영체제에 더해 로봇 응용 소프트웨어 개발을 위한 필수 기능들을 라이브러리 형태로 제공하고 있다. 3. 이기종 디바이스 간의 통신을 지원  ROS의 최대 장점이다. 하드웨어가 달라도 ROS를 통해 상호작용이 ..
[2025 ROS 스터디] 홍동형 #1주차 - ROS소개 약 40개의 로봇 운영체제중 배울것 → ROS과거에는 차이가 컸지만 점차 비슷해짐(일반 운영체제처럼)로봇 소프트웨어 플랫폼이 가져올 미래하드웨어, 소프트웨어 사이의 인터페이스모듈형 하드웨어하드웨어를 몰라도 응용 프로그램 작성 가능다른 분야에서 더 많은 인력 투입 가능 → 다른 분야 적용으로 빠른 발전 가능유저를 위한 (실수요)서비스에 집중 → 피드백총 결과 : 로봇 개발 발전!!ROS (Robot Operating System)소프트웨어 프레임워크 for 로봇 소프트웨어 운영체제라기보단….? 메타운영체제메타운영체제는? - 전통적인 운영체제(리눅스가 유리)를 이용하여 로봇 소프트웨어 개발을 위한 프레임워크(툴 박스) - 큰 장점 : 이기종 디바이스 간 통신 지원(다양한 하드웨어 커버 가능)특징1. 통신 인..
[2025 ROS 스터디] 황희찬 #1주차 ROS란?Personal Robot을 위해 만들어진 운영체제, 로봇 소프트웨어 개발을 위해 Tool Box를 제공하는 소프트웨어 프레임 워크.로보틱스에서 많이 사용되는 모델링, 센싱, 인식, 네비게이션, 매니퓰레이션 기능 지원 -> 로봇 생태계 구성 ROS는 리눅스, 윈도우 같은 전통적인 운영체제를 기반으로 하는 메타운영체제이다. 메타운영체제의 최대 장점으로는 이기종 디바이스 간의 통신을 지원한다. 즉, 서로 다른 모듈로 구성되어 있는 로봇 내에서 데이터 교환을 제공한다. ROS 특징1. 노드간의 메시지 전달 인터페이스 지원 및 통신 인프라 제공-메시지 파싱 가능로봇 개발 시 빈번히 사용되는 통신 시스템 제공, 캡슐화 및 코드 재사용을 촉진하는 노드들 간의 메시지 전달 인터페이스 제공 -메시지 기록 및 ..
[2025 ROS 스터디] 이동규 #1주차 : ROS 스터디 전 개요 ROS가 운영체제가 아니라고?  네. 놀랍게도 ROS는 Robot Operating System이라는 이름에 걸맞지 않게 사실 운영체제가 아닙니다.운영체제보다는 로봇 소프트웨어 플랫폼에 가깝죠. 우선 소프트웨어 플랫폼이 뭘까요?개발자에게 표준화를 제공해 효울적으로 소프트웨어를 만들 수 있게 도와주는 기반환경입니다!소프트웨어 플랫폼이 하드웨어 인터페이스를 통합해 하드웨어를 추상화, 규격화, 모듈화 해주죠그러면 하드웨어와 운영체제와 서비스가 분리되고 개발자는 서비스개발에 집중할 수 있게 됩니다! 왜 소프트웨어 플랫폼이 중요할까요?하드웨어에 신경쓰지않고 소프트웨어 개발에 집중이 가능해집니다.특정 하드웨어에만 의존하지않고 다양한 기기에서 소프트웨어 실행이 가능해집니다.하드웨어, 운영체제, 서비스가 분리되어 효율..
[2025 ROS 스터디] 이승찬 #1주차 - 로봇 운영체제 ROS 하드웨어 모듈 + 운영체제 (OS) + 애플리케이션 (App) + 사용자 = 생태계 → PC 와 Personal phone의 공통점Contents플랫폼의 구성 요소로봇 소프트웨어 플랫폼로봇 소프트웨어 플랫폼의 필요성로봇 소프트웨어 플랫폼의 필요성이 가져올 미래소프트웨어 플랫폼이 가져온 변화하드웨어 인터페이스 통합하드웨어 추상화, 규격화, 모듈화가격 down, 성능 up하드웨어, 운영체제, 앱 분리사용자 수요에 맞는 서비스 집중유저 증가 → 구매와 피드백, 새로운 생태계의 선환 구조 형성로봇 운영체제 : Galapagos (OpenRTM, OPRoS) / OpenSource (ROS) / ClosedSource (NAOqi) ...→ 초반에는 차이가 컸지만, 요즘은 서로 비슷하다로봇 소프트웨어 플랫폼의 필..
[2025 ROS 스터디] 이영상 #1주차 personal computer vs personal phone 공통점  -OS(운영체제)가 존재한다.운영체제는 컴퓨터 시스템의 하드웨어와 소프트웨어를 관리하고, 사용자와 컴퓨터 간의 상호작용을 가능하게 해주는 소프트웨어이다. - APP이 존재한다.-대중화 제품이다.-다양한 하드웨어의 결합이 가능한 하드웨어 모듈이다. -----------------------------------------------------------------------------OS(operating system)역할 1. 프로세스 관리 (여러 프로그램이 동시에 실행될 수 있도록 자원을 할당하고 관리) 2. 메모리 관리 (컴퓨터의 주기억장치(RAM)를 효율적으로 관리) 3. 저장장치 관리 4. 입출력장치 관리 5. 사용자 인터페..

반응형