전체 글 (720) 썸네일형 리스트형 [2025 1학기 스트링 부트 스터디] 고윤정 #2주차 섹션3 스프링 웹 개발 기초스터디 시작 ~~~• 정적 컨텐츠 (Static Content)사용자가 웹사이트에 요청했을 때, 서버에서 별다른 처리 없이 그대로 전달되는 파일이나 데이터ex) HTML파일, CSS파일, JavaScript파일, 이미지 파일, 폰트 파일 등실습을 해봅시당• MVC (Model-View-Controller)웹 애플리케이션을 구조적으로 나누는 디자인 패턴- Model : 데이터와 관련된 로직을 담당→ DB에서 정보를 가져오거나 저장하는 역할→ 예: 게시글 목록을 가져오는 함수- View : 사용자에게 보이는 화면→ HTML 같은 것→ 예: 사용자가 보는 게시판 페이지- Controller : 사용자의 요청을 받고, 어떤 로직을 수행할지 결정→ 모델에서 데이터 가져오고, 뷰에 전달→.. [2025 1학기 React.js 스터디] 이상래 #3주차 벌써 3주차... 후딱 해치워 버리겠습니다 ㅋ ㄴ 후딱 안되네... 🔍 리액트 탄생 이유우선 지난주에 했던 최종 프로젝트만 보더라도 HTML로 구성된 UI를 제어하려면 DOM을 변형시켜서 제어를 했는데요,,하지만 웹 애플레케이션의 규모가 커지면 이런 코드들도 많아지고, 모두 DOM을 직접 건드리기 때문에 처리 할 이벤트/ 관리해야 할 상태값/ DOM 이 모두 다양해지게 됩니다. 이에 따라 업데이트를 하는 규칙도 복잡해지게 됩니다 !! 기존 프레임 워크와의 차별점 기존 Ember, Backbone, AngularJS 등의 프레임 워크 : JS 특정 값이 바뀌면 특정 DOM의 속성이 바뀌도록 연결 => 업데이트 하는 작업 간소화React : 어떤 상태가 바뀜 => 처음부터 새로 만들어서 보여준다- Vi.. [2025 1학기 스프링 부트 스터디] 오세웅 #2주차 정적 컨텐츠정적 컨텐츠는 파일 웹 브라우저에 그대로 전달하는 방식 static 폴더에 html파일을 생성하고 웹 브라우저에서 파일 이름을 호출하면 정적 파일이 그대로 넘어오게 된다.톰캣 서버에서 요청을 받고 컨트롤러가 우선순위가 높기 때문에 먼저 컨트롤러에서 찾고없으면 static에서 찾아서 있으면 그대로 출력하는 방식이다. MVC와 템플릿 엔진MVC: Model, View, Controler Model : 핵심 로직과 데이터에 접근하는 역할View : 사용자가 보는 UI 역할Controler : 요청을 받고 데이터를 가공해서 돌려주는 역할 식당에 비유하면 다음과 같다. 실제 코드를 보면 다음과 같다.Controler@GetMapping("hello-mvc") public String helloMv.. [2025 1학기 React.js 스터디] 이종민 #2주차 임시저장이 날아가고 전생한 이종민입니다 다시 써보자 아자아자 화이팅 !!!!!!! for ... of 문배열의 요소를 순서대로 반환함const를 사용하는 이유 : num값에 계속 myArray의 값이 새로 들어가서 사용됨 for ... in 문객체의 키들을 순서대로 반환함 화살표 함수function으로 정의한 함수와는 세부적으로는 기능이 다름한줄로 표현 가능한 코드는 위 사진처럼 표현 가능 HTML 요소들 선택하기 document.getElementsByTagName('section'); 태그명으로 선택 document.getElementsByClassName('plant');클래스명으로 선택 document.getElementById('sweets');아이디로 선택 querySelector, quer.. [2025 1학기 React.js 스터디] 백채린 #2주차 9. 반복문 : 주어진 조건이 충족되는 동안 특정 작업을 반복해서 수행 for 문 for (let i = 0; i let i = 0; → 변수의 선언 및 할당i ➡️ 참일 시 블록 안의 코드 실행 - for ... of 문 : 배열의 요소를 순서대로 반환 const myArray = ['한놈', '두시기', '석삼', '너구리', '오징어'];for (const item of myArray) { // 상수명은 자유 console.log(item);} - for ... in 문: 객체의 키들을 순서대로 반환 const person1 = { name: '김철수', age: '25', married: false}for (const key in person1) { console.log(key,.. [2025 1학기 React.js 스터디] 강민지 #2주차 2주차 블로깅!!!입니다 1. 반복문1-1. for 문for (let num = 0; num 이때, 0은 초기값중첩 사용의 예> 구구단for (let i = 1; i 1-2. continue & breakfor (let num1 = 0; num1 10) break; // 10 이하까지만 console.log(num1);} 1-3. for ... of 문 : 배열의 요소 순서대로 반환const myArray = ['한놈', '두시기', '석삼'];for (const item of myArray) { console.log(item);} 1-3. for ... in 문 : 객체의 키 순서대로 반환const person1 = { name: '강민지', age: '22', married: false}fo.. [2025 1학기 스프링 부트 스터디] 이상래 #2주차 💡정적 컨텐츠정적 컨텐츠란?클라이언트의 요청을 받고 서버에 미리 저장된 HTML, CSS, JS 등의 파일을 그대로 응답해 보여주는 것을 말합니다. 정적 컨텐츠의 특징모든 사용자에게 동일하게 전달됨 신문과 같이 콘텐츠가 자주 변경되지 않는 사이트에 적합 정적 HTML을 생성할 수 있어 Content Delivery Network (CDN)을 통해 빠르게 제공할 수 있음 💡MVC와 템플릿 엔진MVC란? MVC(Model View Controller): 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴모델: 데이터와 비즈니스 로직을 관리뷰: 레이아웃과 화면을 처리컨트롤러: 모델과 뷰로 명령을 전달1. 사용자의 Request(요청)를 Controller가 받음.. [2025 1학기 스프링 부트 스터디] 정다은 #2주차 이번 강의는 🚀 섹션 3. 스프링 웹 개발 기초 🚀 입니다~ 1. 정적 컨텐츠 서버가 하는 일 X / 파일을 웹 브라우저(고객)에 그대로 내려줌 2. MVC와 템플릿 엔진 서버에서 html을 동적으로 변형.3. API json이라는 데이터 포맷으로 클라이언트에게 파일 내려줌 화면은 클라이언트가 알아서 구성 html이 필요없는 서버간 통신시 주로 사용 이렇게 간단히 정리해보았고 자세한 내용을 실습과 함께 시작해 봅시다 😮💨 1. 🛸 정적 컨텐츠스프링 부트 자동제공 기능입니다. 아무 html 파일 작성해서 localhost로 파일 열면그냥 작성한 파일 그대로 반환. 2. 🛸 MVC와 템플릿 엔진MVC란? : Model, View, Controller Contr.. [2025 1학기 React.js 스터디] 정채은 #2주차 9. 반복문 for 문 중첩 사용 1. i2. j break : 멈추게 한다.for ... of 문 const myArray = ['한놈', '두시기', '석삼', '너구리', '오징어'];for (const item of myArray) { // 상수명은 자유 console.log(item);} for (const (상수명) of (배열이름) ) for ... in 문 for (const key in person1) { console.log(person1[key]);} 여기서 1번째 줄 key(상수 지정) 와 2번째 줄 key(문자열로 인)는 다름!!!!!!!! while 문 조건을 먼저 확인 → 실행 do ... while 문 먼저 실행 → 조건 확인 10. 함수function [함수이름] ().. [2025 ROS 스터디] 김승현 #1주차 - ROS 소개 Chapter1.로봇 소프트웨어 플렛폼 ● 컴퓨터, 핸드폰 >> 누구나 하나쯤은 보유하고 있는 대중화 제품 >>다양항 하드웨어의 결합이 가능한 하드웨어 모듈 >>운영체제 + 애플리케이션 ● 하드웨어 모듈 + 운영체제 + 앱(서비스) + 유저 ==>>생태계(ecosystem) ● 보이지 않는 생태계 속의 분업 ex)하드웨어 회사, 운영체제 회사, 앱 회사 ● 하드웨어 만들고 소프트웨어 짜고 로봇 개발 혼자 다함>>대중화되지 못함 ● 소프트웨어 플렘폼이 가져온 변화 1. 하드웨어 인터페이스 통합 2. 하드웨어 추상화 · 규격화 · 모듈화 3. 가격 ↓ , 성능 ↑ 4. .. [2025 1학기 React.js 스터디] 최은희 #2주차 # 반복문1. for 문for 문은 가장 일반적인 반복문으로, 반복 횟수가 정해져 있을 때 유용for (초기화; 조건; 증감) { // 실행할 코드}2. while 문while 문은 조건이 true인 동안 계속 실행됩니다. 주로 반복 횟수가 정해지지 않은 경우에 사용while (조건) { // 실행할 코드} 3. do...while 문do...while 문은 while 문과 비슷하지만, 조건을 확인하기 전에 코드 블록을 한 번은 무조건 실행do { // 실행할 코드} while (조건);4. for...in 문 (객체 순회)for...in 문은 객체의 속성을 반복할 때 사용for (let 변수 in 객체) { // 실행할 코드}5. for...of 문 (배열 순회)for...of 문은 배열, 문자.. [2025 1학기 React.js 스터디] 이가인 #2주차 1. 반복문2. 함수3. DOM, html 요소 선택 4. 요소 조작5. 이벤트6. 최종 프로젝트 반복문 1. for문 괄호 안 ( 1.변수의 선언 및 할당, 2.종료조건, 3.참일 시 블록 안의 코드 이후 실행할 것 )// 💡 변수이므로 let이 사용됨for (let i = 0; i 중첩 반복 바깥쪽이 열(세로), 안쪽 반복문이 행(가로줄)이라고 생각하기 - continue : 한 루프를 건너뜀!!!!!!!- break : 루프 종료 for (let i = 0; i 10) break; // 루프 종료 console.log(i);}12457810 - for ... of 문➡️ array의 요소를 순서대로 반환!!const 상수명 of 배열이름const myArray = ['한놈', '두시기', .. [2025 1학기 스프링부트 스터디] 이종윤 #1주차 개발환경 설정이클립스로 하려고했지만 몊번해보고 안돼서 바로 포기 ㅠㅠ인텔리제이 커뮤니티로 바꿔서 시도한다.아 11버전으로 하려고했는데 11이 없다.17로 받고 그냥 해봤는데 될 리가 없다.17로 변경완료바꿔서 하니깐 잘 적용된다~기본적인 환경설정은 잘 되었다.이것도 인텔리제이로 바꿔준다스프링부트 라이브러리대표적인 스타터들라이브러리설명spring-boot-starter-web웹 앱 개발용 (Tomcat 내장, REST API 포함)spring-boot-starter-thymeleafHTML 템플릿 엔진 (타임리프) 사용 시spring-boot-starter-data-jpaJPA(Hibernate 기반) ORM 사용spring-boot-starter-security보안/로그인/인증 기능 추가spring-bo.. [2025 1학기 React.js 스터디] 이승준 #2주차 ❤️반복문for문for (let i = 1; i 괄호 안 요소들(;으로 구분)변수 선언; 종료조건; 참일 시 블록 안의 코드 이후 실행할 것for (let i = 10; i > 0; i -= 2) { console.log(i);}continue & breakfor (let i = 0; i 10) break; // 루프 종료 console.log(i);} for ... ofconst myArray = ['한놈', '두시기', '석삼', '너구리', '오징어'];for (const item of myArray) { // 상수명은 자유 console.log(item);}배열의 요소를 순서대로 반환 (위 요소들 차례대로 출력)for ... inconst person1 = { name: '김철수', age: .. [2025 ROS 스터디] 조원영 #1주차 - ROS 개요 Chapter 1 로봇 소프트웨어 플랫폼Eco System = 하드웨어 모듈 + 운영체제 + 앱 (서비스) + 유저역사는 반복된다.Personal PC → Personal Phone → Personal Robot(?)PC가 변화해온 방향으로 핸드폰이 변화해왔다.이 방향이면 로봇 운영체제도 통일 가능성 있음.로봇 분야의 운영체제는 춘추 전국시대다양한 회사에서 각자의 운영체제를 만들어 가는 중.EX) Open Source (ROS), Closed Source (NAOqi), Galapagos (OpenRTM) 등우리나라나 일본에서도 만들었음.이건 축구 경기장을 짓는 것과 동일 → 여기에 집중하지 말고, 여기 안의 플레이어즉, 응용 프로그램을 잘 만드는 것에 집중하자.Chapter 2 로봇 운영체제 ROS오픈.. [2025 1학기 React.js 스터디] 한혜민 #2주차 반복문1. for문 기본 구조 for 문은 반복 실행을 위해 가장 널리 사용되는 구문입니다. 기본 구조는 다음과 같습니다. 초기화: 반복문이 시작될 때 한 번 실행되며, 보통 반복 제어 변수를 선언하고 초기값을 설정합니다.조건: 각 반복 전에 평가되며, true인 경우에만 반복 블록이 실행됩니다. false가 되면 반복문이 종료됩니다.증감: 각 반복이 끝난 후 실행되며, 보통 반복 제어 변수를 업데이트합니다. 2. 중첩 for 문 for 문은 중첩하여 사용할 수 있으며, 이를 통해 다차원 배열이나 구구단과 같은 복잡한 구조를 처리할 수 있습니다. 3. continue와 break 문 반복문 내에서 continue와 break 문을 사용하여 흐름을 제어할 수 있습니다.continue: 현재 반복을 종료하.. [2025 1학기 알고리즘 스터디] 신지은 #1주차 1. 수 정렬하기3(https://www.acmicpc.net/problem/10989)첫 번째 시도 - 실패, 그림 그리면서 열심히 했는데.. 메모리 초과 :(#includeusing namespace std;void SortFunction(int arr[], int n) { //정수 배열 정렬 for (int i = 1; i = 0 && arr[j] > k) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = k; }}int main() { int n; //몇 개의 정수를 입력할 것인지 결정 cin >> n; int* numbers = new int[n]; //정수형 포인터를 선언해서 .. [2025 1학기 알고리즘 스터디] 1주차 김민재 수 정렬하기3처음에 너무 간단해 왜 간단할까 생각하며 코드를 작성했고 바로 시간 초과가 떴다import java.util.Arrays;import java.util.Scanner;public class NumSort3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for (int i = 0; i num[j+1]) {// int tmp;// tmp = num[j];// nu.. [2025 1학기 알고리즘 스터디] 1주차 박건민 1주차의 주제 정렬 알고리즘! 정렬이란 무엇인가...그래서 정렬 알고리즘에 대해 찾아봣습니다. 1. 정렬 알고리즘 종류(1) 선택 정렬 (Selection Sort)설명: 데이터 집합에서 최소값을 찾아 첫 번째 위치와 교환하고, 그 다음 최소값을 찾아 두 번째 위치와 교환하는 방식으로 정렬을 수행합니다. 이러한 과정을 반복하여 전체를 정렬합니다.특징: 구현이 간단하지만, 시간 복잡도가 O(n²)로 비효율적입니다. 안정성을 보장하지 않습니다.(2) 삽입 정렬 (Insertion Sort)설명: 데이터 집합을 순회하면서 각 요소를 적절한 위치에 삽입하여 정렬을 수행합니다. 이미 정렬된 부분과 비교하여 새로운 요소를 삽입하는 방식입니다.특징: 대부분의 요소가 이미 정렬되어 있는 경우 효율적이며, 최선의 경.. [2025 1학기 알고리즘 스터디] 1주차, 박현빈 10989번: 수 정렬하기 3각 수에 대응하는 리스트를 생성하여 나오는 숫자 만큼 카운팅하고, 출력import sysN = int(sys.stdin.readline())count = [0] * 10001 for _ in range(N): count[int(sys.stdin.readline())] += 1 for num in range(10001): if count[num] > 0: for _ in range(count[num]): print(num) 11652번: 카드Counter를 사용하여 빈도수를 계산한 후, 최빈값을 찾음.정렬하여 최빈값이 같은 경우 가장 작은 숫자 선택.카운팅 함수 없이 문제를 해결하고자 한다면, 딕셔너리를 선언한고 이러한 딕셔너리를 의.. [2025 1학기 알고리즘 스터디] 이서영 #1주차 * 파이썬으로 풀었습니다.10989번: 수 정렬하기311652번: 카드18870번: 좌표압축 1. 10989번: 수 정렬하기3문제 : N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.정답률(23.935%)을 보자마자 든 생각은나는 무조건 틀리겠다.바로 sort를 생각한 저를 의심한 후 정렬 알고리즘에 대해 공부해줍니다. 정렬 알고리즘: n개의 숫자가 입력으로 주어졌을 때, 기준에 맞게 정렬하는 알고리즘 1. 선택 정렬: 현재 위치에 들어갈 값을 찾아 정렬 ( 시간복잡도 : O(n^2) ) 2. 삽입 정렬: 현재 위치에서 그 이하 배열들을 비교하여 자신이 들어갈 위치를 찾아 그 위치에 삽입 ( 시간복잡도 : O(n^2) )3. 버블정렬: 매번 연속된 2개 인덱스를 비교한.. [2025 1학기 스프링부트 스터디] 석준환 #2주차 아래는 위 요구 사항에 맞게 스프링을 이용하지 않고 순수하게 자바로만 구성한 간단한 프로그램이다. 회원 엔티티-Member entity-package hello.core.member;public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return id; } public void setId(Long .. [2025 1학기 스프링부트 스터디] 장민주 #2주차 섹션 3. 스프링 핵심 원리 이해1 - 예제 만들기섹션 4. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 --> 일부 섹션 3에서 만든 예제 코드를 섹션 4에서 기능을 추가하면 문제가 생기는데, 그 문제를 해결하며 스프링을 도입하는 과정을 담은 강의였습니다.섹션 3. 스프링 핵심 원리 이해1 - 예제 만들기 (1) 프로젝트 생성역할과 구현을 나누어 순수한 자바로만 개발한다.실제 요구사항이 나중에 변경되었을 때 다형성, OCP, DIP가 잘 지켜지고 있는지 볼 것. (2) 비즈니스 요구사항과 설계요구사항을 보면 아직 미정인 부분이 많지만, 인터페이스와 구현을 나눠 개발하는 객체 지향 설계 방법으로 설계하면 된다. (3) 회원 도메인 설계- 도메인 협력 관계- 클래스 다이어그램: 정적, 클래스 코드를 .. [2025 1학기 스프링부트 스터디] 여민호 #2주차 #1 톰캣 설치#2 WAR 빌드와 배포#3 톰캣을 통한 웹 애플리케이션 배포 방법 나열#4 톰 캣 설정(인텔리제이 유료버전) #1 톰캣 설치내가 보는 강의는 스프링부트의 편의성을 2배 아니 20배!!!로 느끼게 해주는 강의이다.내가 왜 그렇게 느꼈는지에 대해 차근차근 설명해보겠다.먼저 과거(스프링부트 탄생 이전)에는 윕 애플리케이션 실행에 여러 단계가 존재했다.거기서 가장 기본이 바로 톰캣을 설치하고 실행하는 것이다. [1주차 복습 및 정리]톰캣 = 엡 에플리케이션과 자바 코드를 연결 시키고 정적 메서드인 HTML을 연결 시켜주는 서블릿 컨테이너이 컨테이너를 통해 클라이언트가 보낸 HTTP 요청을 처리하고, 동적인 웹 페이지를 생성 시켜준다.톰캣은 자바 서블릿 실행을 지원하는 대표적인 오픈소스 웹 에플.. [2025 1학기 알고리즘 스터디] 김민주 #1주차 알고리즘 스터디 1주차 : 정렬 1. 수 정렬하기 3https://www.acmicpc.net/problem/10989 1번 문제는 수 정렬하기입니다! 💡문제 분석 및 알고리즘 설계N이 최대 10,000,000이고, 메모리 제한이 있으므로 생각나는 가장 빠른 정렬 방식을 택해서 구현했는데요바로바로 QuickSort 입니다 더보기#include #include #include using namespace std;int n;vector num;int partition(vector& arr, int l, int r) { int pivot_index = (l + r)/2; swap(arr[pivot_index], arr[r]); int pivot = arr[r]; int i = .. 이전 1 2 3 4 ··· 29 다음