본문 바로가기

반응형

WINK-(Web & App)

(433)
알고리즘 2인 스터디 #2주차 - 이총명 브론즈1 랜덤디펜스 문제 설명 : 반에서 3명의 후보에 대해서 n명의 학생들이 투표를 하는데 내가 좋아하는 후보 순으로 3,2,1 점을 각각 줄 수 있다. 가장 점수의 합이 높은 후보가 뽑히고 점수가 높은 후보를 뽑고 점수가 똑같으면 3점이 많은 후보를, 3점 개수도 같으면 2점이 많은 후보를 선출하고 2점 개수도 같으면 0과 최고 점수를 출력한다. 내 코드 import sys one = [] two = [] three = [] n = int(sys.stdin.readline()) data = [(sys.stdin.readline().strip()).split() for i in range(n)] for i in data: one.append(int(i[0])) two.append(int(i[1])) t..
[알고리즘 개인 스터디] 2주차: DP 문제 풀이(11722, 15486) - 윤현승 1. DP 알고리즘 - 개념 DP(다이내믹 프로그래밍) 즉 동적인 프로그래밍이란 뜻이다. DP를 사용하는 근본적인 이유는 복잡하고 어려운 큰 문제를 작은 문제로 쪼개서 효율적으로 풀기 위함이다. - 예시 ex) 여러가지 무게의 물건들이 존재한다. 이때 5kg까지 들어갈수 있는 가방에 최대로 들어가는 무게는 몇 kg 인가? 위와 같은 문제를 경우의 수를 부분집합별로 다 따져서 구할 수 있다. 아마도 물건의 개수를 n이라고 가정하면 2^n개의 부분집합이 생길 것 같다. 적은 수의 물건에서는 별 문제가 되지 않겠지만 물건의 개수 즉 n의 값이 1000000(백만)개가 있다고 해보면 2^1000000 개의 부분 집합을 찾아야한다. 이러한 계산을 직접할 용기있는 사람은 몇 없을 것이다. 하지만 DP를 활용한다면,..
[Node.js & React.js] 인프런 강의 듣기(2) 🤭 회원가입 기능 만들기 (Node Js) Client 는 크롬 브라우저 처럼 회원가입하는 홈페이지이고 Server 는 현재 우리가 만들고 있는 것임!!! Client - Server 통신하는 법 → Body-parser 를 통해 Client 에서 보내는 정보를 받을 수 있음 (이름, 비밀번호 등) npm install body-parser --save 를 통해 다운받음! 현재 회원가입을 할 때 필요한 client 사이트를 만들지 않았기 때문에 POST MAN 을 통해 client 역할을 대신 수행할 수 있음! 구글에 POST MAN 을 검색한 후 다운로드 하고~ 그럼 준비완료…! const express = require("express"); const app = express(); const port..
[Spring Boot 스터디] 류건 #2주차 - 섹션 3 "횐님 관리 예제" 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음, 따라서 인터페이스 구현 후, 이를 상속받는 구현체를 생성. - 데이터 저장소가 선정되지 않았으므로 인터페이스로 구현 클래스를 변경 가능하도록 설계 - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체 # 회원 도메인과 레포지토리 만들기 ```MemoryMemberRepository package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.*; publ..
[Spring Boot 스터디] 이정욱 #2 주차 - 섹션3 [회원 관리 예제 - 백엔드 개발] **비즈니스 요구사항 정리:** - 데이터: 회원ID, 이름 - 기능: 회원 등록, 조회 - 데이터 저장소가 아직 선정되지 않았으며, 인터페이스로 구현 클래스를 변경할 수 있도록 설계 - 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고려 중인 상황으로 가정 - 개발을 위해 초기 개발 단계에서는 가벼운 메모리 기반의 데이터 저장소를 사용 **클래스 의존관계:** - 데이터 저장소가 선정되지 않았으므로 인터페이스로 구현 클래스를 변경 가능하도록 설계 - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등..
[Spring Boot 스터디] 한준교 #2 주차 - 섹션3 🏃 비즈니스 요구사항 정리 강의 목표가 실제 비즈니스가 아니라 스프링의 전반적인 흐름을 이해하는 것이기 때문에! → 회원ID 와 이름 만 데이터로 사용한다! → 기능은 회원 등록과 조회!! → 가상의 시나리오로 아직 데이터 저장소(DB) 가 선정되지 않음!! (기능을 파악하고 DB를 선정해보자..) 일반적인 웹 애플리케이션 계층 구조는 → 컨트롤러 : 웹 MVC의 컨트롤러 역할 → 서비스 : 핵심 비즈니스 로직 구현 ex. 중복 가입이 안되는 로직 등등 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직을 구현하는 계층이다. → 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 → 도메인 : 비즈니스 도메인 객체 ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래..
[Spring Boot 스터디] 이지원 #2 주차 - 섹션 3 회원 domain / repository / service 구축하기 Domain 일종의 객체 모델링이라 볼 수 있을 것 같다. Repository 서비스 구축을 위해 보통 DB(데이터베이스)가 필요하지만 설계 및 개발 과정에서 DB가 준비되지 않았거나 결정되지 않았을 경우가 있다. 이를 위해 메모리를 사용하는 가상의 데이터베이스를 만들고 추후 DB와의 호환을 위해 미리 Interface를 정의하고 설계한다. Service 실제 서비스에 사용되는 비즈니스 로직이 포함된다. 예를 들어 회원가입 시 중복 아이디의 생성을 방지하거나 특정 시간동안 작성할 수 있는 게시글을 제한하는 등의 작업이 포함된다. Domain 생성 먼저 Member 도메인을 생성한다. package hello.hellospring.doma..
[Spring Boot 스터디] 조현상 #2 주차 - 섹션 3 스프링으로 회원관리예제 다루기! 우선 윈도우에서는 맥에서 커맨드 키가 컨트롤 키였고 옵션 키가 Alt 키였다 강의 영상에서 명령 키 얘기를 할 때 윈도우면 위와 같이 키를 누르면 된다. 이번 강의는 회원관리 예제를 다루는 시간이었다. 간단하게 계층 구조를 본다면 컨트롤러 -> 서비스 -> 리포지토리 -> DB 관계이고 컨트롤러, 서비스, 리포지토리는 도메인을 가지고 있다. 데베를 접근하고 DB에 저장하고 관리하는 코드들은 리포지토리에서 정의하였고 비지니스 로직들은 서비스에서 관리하는 형태였다. 그리고 도메인은 회원의 정보나 쿠폰 정보 같은 객체들을 생성해서 저장하는 클래스였다. 일단 hello.hellospring 디렉토리 안에 domain, repository, service 디렉토리를 만들었다. 먼저..

반응형