전체 글 (853) 썸네일형 리스트형 [2025 1학기 알고리즘 스터디] 이서영 #5주차 * 파이썬으로 풀었습니다. String Match 6550. 부분문자열문제2개의 문자열 s와 t가 주어졌을 때 s가 t의 부분 문자열인지 판단하는 프로그램을 작성하라. 부분 문자열을 가지고 있는지 판단하는 방법은 t에서 몇 개의 문자를 제거하고 이를 순서를 바꾸지 않고 합쳤을 경우 s가 되는 경우를 이야기 한다. String Match (문자열 매치) : 전체 문자열에서 부분 문자열이 존재하는지 확인하는 알고리즘 위의 문제의 예제 입력 중VERDI vivaVittorioEmanueleReDiItalia 출력이 Yes로 되는 것을 보아 굳이 붙어있어야하는 건 아닌 것 같습니다. 코드 구현import sysinput = sys.stdin.readlinewhile True: try: l.. [2025 1학기 React.js 스터디] 이상래 #5주차 🔍 SassSass (Syntactically Awesome Style Sheets) CSS pre-processor 로서, 복잡한 작업을 쉽게 할 수 있게 함코드의 재활용성을 높임코드의 가독성을 높여주어 유지보수를 쉽게함두가지의 확장자 지원(.scss/ .sass)👀 sass$font-stack: Helvetica, sans-serif$primary-color: #333body font: 100% $font-stack color: $primary-color 👀 scss$font-stack: Helvetica, sans-serif;$primary-color: #333;body { font: 100% $font-stack; color: $primary-color;} 차이점문법{ }.. [2025 1학기 스프링부트 스터디] 장민주 #6주차 섹션 9. 빈 생명주기 콜백- 빈 생명주기 콜백 시작- 인터페이스 InitializingBean, DisposableBean- 빈 등록 초기화, 소멸 메서드- 애노테이션 @PostConstruct, @PreDestory섹션 9. 빈 생명주기 콜백 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다.(ex> 데이터베이스 커넥션 풀이나, 네트워크 소켓) 스프링 빈은 객체 생성 -> 의존관계 주입 과 같은 라이프사이클을 가진다. 스프링 빈은 객체를 생성하고 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다. 그래서 초기화 작업은 의존관계 주입이 모두 끝난 후 호출해야 하는데.. [2025 1학기 스프링부트 스터디] 석준환 #6주차 컴포넌트 스캔과 의존 관계 자동 주입등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고,설정 정보도 커지고, 누락하는 문제도 발생한다. 역시 개발자는 반복을 싫어한다.그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다.또 의존관계도 자동으로 주입하는 `@Autowired` 라는 기능도 제공한다.즉 그동안은 모든 것을 @Configuration과 @Bean 등으로 스프링 컨테이너에 등록하고 각각의 의존관계를 직접 서술하는 식으로 했다면ComponentScan을 통해서 Component들을 등록하고 의존관계는 Autowired를 통해 등록한다. package hello.core;import org.springframework.context.. [2025 1학기 스프링 부트 스터디] #여민호 6주차 [ 섹션 5 ]스프링에 대해 더 집중 탐구해보자# 1. 스프링 컨테이너 생성스프링 컨테이너 : 스프링 프레임 워크의 핵심 컴포넌트두가지 방식으로 생성가능XML 기반으로 생성 가능애노테이션 기반으로 생성 가능(ex. AppConfig)(1) 스프링 컨테이너 생성 new를 활용하여 생성한다.*중요* 스프링 컨테이너를 생성 시 구성 정보를 지정해야한다->우리는 AppConfig를 통해 구성 정보를 지정해주었다. (2) 스프링 빈 등록비어있는 스프링 빈을 채운다.이 빈 이름으로는 메서드 이름을 사용하며 직접 부여가 가능하다*중요* 이름이 항상 다른 이름이어야 한다(그러지 않으면 오류가 발생함) (3) 스프링 빈 의존 관계 준비지금 빈에 각 메서드를 주입하면 서로의 관계가 정해지지 않은채 존재한다 (4) 각 빈 .. [2025 1학기 스프링 부트 스터디] 남윤찬 #6주차 서블릿부터 jsp, mvc, 그리고 mvc 프레임워크를 만들면서 역사를 돌아보는 과정을 거칠 예정입니다.서블릿은 결국 http 요청을 개발자가 받아서 응답을 내보내는 것을 편하게 하도록 하는 것이라는 것을 알고 가자.프로젝트 생성프로젝트를 만들면서 한 가지 다른 프로젝트와 다른 점이 생겼다면, 프로젝트의 메타데이터를 설정하는 단계에서 packaging을 Jar가 아닌 War로 고른다. 이 강의에서는 JSP도 공부해야하기 위함이라고 하니 잘 선택하도록 한다.Hello 서블릿스프링은 서블릿을 등록해서 쓸 수 있도록 @ServletComponentScan을 지원해서 편리하게 서블릿을 등록해서 쓸 수 있다.@ServletComponentScan // 서블릿 자동 등록@SpringBootApplicationpub.. [2025 1학기 알고리즘 스터디] 남윤찬 #5주차 5주차는 문자열을 다루는 문제들이 주제였습니다. 부분 문자열더보기import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String inputString; while ((inputStr.. [2025 1학기 스프링 부트 스터디] 김민서 #6주차 h2 데이터베이스 설치https://www.h2database.com/html/main.html H2 Database EngineH2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Suppwww.h2database.com여기에 들어가서 설치를 해준다!접근권한을 주고 실행시키면이렇게 뜬다테이블을 생성해보자! sql문을 .. [2025 1학기 스프링부트 스터디] 고윤정 #6주차 섹션 7 - 스프링 DB 접근 기술 안녕하세요.. 6주차 스터디 시작합니다.. H2 데이터베이스 설치 https://www.h2database.com H2 Database Engine (redirect)H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mowww.h2database.com 위 링크에서 .. [2025 1학기 스프링 부트 스터디] 이상래 #6주차 🔍 H2 데이터베이스 설치이번주는 공부를 하기전에 먼저 DB를 설치 해보겠습니다 설치는 간단하게 클리어 해줬습니다!!🔍 순수 Jdbc이제 무슨 이것저것 설정을 하는데 좀 어려워서 들으면서 정리 해볼게요@Overridepublic Member save(Member member) {String sql = "insert into member(name) values(?)";Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try {conn = getConnection();pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);pstmt.setString(1,.. [2025 1학기 스프링 부트 스터디] 정다은 #6주 노트북을 이제서야 새로 장만 햇습니다. h2 database를 설치하고 파일을 만들어줘야합니다.처음 연결 이후에는 jdbc:h2:tcp://localhost/~/test로 변경해서 접속해야 합니당이후에는 sql 문법을 이용해서 조회할 수 있습니다. drop table if exists member CASCADE;create table member( id bigint generated by default as identity, name varchar(255), primary key (id)); Jdbc즉 Java Database Connectivity : java 어플리케이션에서 데이터 베이스에 접근 및 조작하기 위한 표준 api 옛날에는 개발할 때 데이터베이스 연결, 수정, 조회 등 모든 작업을 직접.. [2025 1학기 알고리즘 스터디] 윤성욱 #4주차 미로 탐색import java.io.*;import java.util.*;import java.awt.Point;public class Main{ static int dx[] = {0,0,-1,1}; static int dy[] = {-1,1,0,0}; static int arr[][],N,M; static boolean visit[][]; static int count = 1; public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer .. [2025 1학기 알고리즘 스터디] 김민주 #4주차 알고리즘 스터디 4주차 : Graph 1. DFS와 BFShttps://www.acmicpc.net/problem/1260 💡문제 분석 및 알고리즘 설계기본 DFS, BFS 구현 문제입니다.#include #include #include #include #include using namespace std;int n,m,v;vector > A;vector visited;void BFS(int now);void DFS(int now);int main(){ //freopen("/home/user/cpp_baekjoon/input.txt", "r", stdin); cin >>n>>m>>v; A.resize(n+1); visited.resize(n+1, false); for (int.. [2025 1학기 알고리즘 스터디] 김민재 #4주차 미로 탐색import java.io.*;import java.util.*;import java.awt.Point;public class Main{ static int dx[] = {0,0,-1,1}; static int dy[] = {-1,1,0,0}; static int arr[][],N,M; static boolean visit[][]; static int count = 1; public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer .. [2025 1학기 알고리즘 스터디] 이서영 #4주차 * 파이썬으로 풀었습니다.- 1260: DFS와 BFS- 11724: 연결 요소의 개수- 2178: 미로 탐색 1260. DFS와 BFS문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 제가 아는 그래프는 막대그래프밖에 없습니다. + 꼭짓점 그래프알고리즘의 그래프 개념에 대해 공부해주겠습니다. Graph : 정점(Vertex or Node)과 정점을 연결하는 간선(Edge)으로 구성된 자료구조방향성 O 방향 그래프(Directed Graph)방향성 X 무방향 그래프(Undirect.. [2025 1학기 알고리즘 스터디] 박건민 #4주차 오늘은dfsbfs알고리즘에대해서알아보도록하겟습니다.알고리즘스터디장님이노래방가자고갈구는관계로시간이없어서빠르게진행해보도록하겠습니다. DFS (깊이 우선 탐색)하나의 정점에서 시작해 갈 수 있는 곳까지 최대한 깊이 탐색한 후, 더 이상 갈 곳이 없으면 다시 되돌아가며 탐색하는 방식.스택 자료구조를 사용하거나 재귀 함수를 통해 구현한다.탐색 경로는 분기점을 만나면 가능한 경로 중 하나를 정해 계속 내려가며, 끝까지 가면 다시 돌아와 다른 경로를 확인한다.그래프가 트리 형태이거나, 경로의 깊이를 우선적으로 탐색해야 할 때 사용된다.방문 순서가 경로에 따라 크게 달라질 수 있다.구현이 간단하고, 메모리 사용이 적다.모든 노드를 탐색할 수 있지만, 최단 거리를 보장하지는 않는다. BFS (너비 우선 탐색)하나의 정점.. [2025 1학기 스프링부트 스터디] 석준환 #5주차 @Configurationpublic class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean.. [2025 1학기 스프링부트 스터디] 장민주 #5주차 섹션 8. 의존관계 자동 주입- 다양한 의존관계 주입 방법- 옵션 처리- 생성자 주입을 선택해라!- 롬복과 최신 트랜드- 조회 빈이 2개 이상 - 문제- @Autowired 필드 명, @Qualifier, @Primary- 애노테이션 직접 만들기- 조회한 빈이 모두 필요할 때, List, Map- 자동, 수동의 올바른 실무 운영 기준섹션 8. 의존관계 자동 주입※ 의존관계 자동 주입은 스프링 컨테이너가 관리하는 스프링 빈이어야 동작한다. 스프링 빈이 아닌 자바 객체에서 @Autowired 코드를 적용하면 아무 기능도 동작하지 않는다. 의존관계 주입은 크게 4가지 방법이 있다.- 생성자 주입- 수정자 주입- 필드 주입- 일반 메서드 주입 1) 생성자 주입- 생성자 호출 시점에 딱 1번만 호출되는 것이 보.. [2025 1학기 알고리즘 스터디] 신지은 #4주차 안녕하세요? 4주차 알고리즘 스터디 시작하겠습니다.이번주에는 Graph 알고리즘에 대한 내용을 배우고 문제를 풀도록 하겠습니다. Graph Algorithms그래프는 정점(Node라고 불림)과 이걸 연결하는 간선으로 구성된 자료구조를 말합니다.방향성이 있는 방향 그래프, 방향성이 없는 무방향 그래프로 분류할 수 있고이러한 그래프 자료구조는 컴퓨너 네트워크, 교통 시스템, 소셜 미디어와 같은 다양한 현실 세계의 문제를 모델링하는데 사용됩니다. 우선 그래프 탐색 알고리즘에 대해 알아보겠습니다.그래프에서 특정 정점을 찾는 알고리즘을 말하는데 그래프의 각 정점을 순회하면서 방문해야 하므로 그래프 순회 알고리즘으로 부르기도 합니다. 이 알고리즘 종류에는 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)이 있습니.. [2025 1학기 스프링부트 스터디] 여민호 #5주차 appconfig를 통해 의존 관계 중복으로 인한 DIP위반을 해결했다.서로 하는 역할을 달리하는 코드 및 도메인을 통해 서로가 하는 일끼리의 충돌을 막았다. 즉)1.객체를 생성하고 연결하는 역할2.구체 클래스를 실행하는 역할을 명확하게 분리!!!#섹션4-5 ~ 4-9할인 정책 적용-> Appconfig를 통해 return new FixDiscountPolicy //정액 할인return new RateDiscountPolicy //정률 할인 !!장점!!다른 코드를 만지지 않고 Appconfig를 통해 바꾸는게 가능하다이전!! 오더 서비스 인플에 들어있는 코드(클라이언트 코드)들을 변경해야했음 [좋은 객체 지향 설계의 5가지 원칙 적용]위에서는 3가지 원칙이 적용됨1. SRP 단일 책임 원칙 "한클래스.. [2025 1학기 스프링 부트 스터디] 남윤찬 #5주차 이전 강의가 마무리 되고, 스프링 MVC 1편으로 넘어왔습니다. 이 강의의 목표: 스프링 MVC가 어떻게 진화해왔는지 과거~현재까지의 과정을 이해하자. 각 기능을 왜 쓰는지 제대로 알고 사용하기 위한 것이다.웹 서버, 웹 애플리케이션 서버이전 블로깅에 했던 내용이다웹 서버는 정적 리소스(html 등)를 제공하고 웹 애플리케이션 서버(WAS)는 웹 서버의 기능 + 동적 리소스(애플리케이션 로직의 결과 등) 제공을 한다.WAS가 웹 서버의 기능을 포함하고 있지만 모든 역할을 위임하면 과부하가 오니, 분산시켜서 사용하자.서블릿서블릿이 할 일: 웹 브라우저가 WAS에 요청을 보내면 비즈니스 로직을 제외한 과정을 처리한다. 기존의 http 요청을 처리하기 위한 소켓 연결, 메시지 파싱, 작성의 작업을 서블릿이 대.. [2025 1학기 스프링부트 스터디] 이종윤 #4주차& 5주차 섹션5. 스트링빈과 의존관계1. 웹 애플리케이션과 싱글톤웹 애플리케이션에서는 사용자 요청이 많습니다사용자 요청마다 객체를 생성하면 다음과 같은 문제가 발생합니다- 메모리 낭비 - GC 부담 증가 - 성능 저하그래서 우리는 "객체 하나만 만들어서 계속 재사용할 수는 없을까?"라는 질문을 하게 되고,이때 등장하는 해결책이 바로 싱글톤 패턴입니다2. 싱글톤 패턴이란?싱글톤은 클래스 당 인스턴스를 오직 하나만 생성하고, 모든 요청에서 이 하나의 객체를 재사용하도록 하는 디자인 패턴입니다.public class SingletonService { // 1. static으로 클래스 레벨에 인스턴스 하나만 생성 private static final SingletonService instance = new S.. [2025 1학기 알고리즘 스터디] 남윤찬 #4주차 이번 주차는 DFS, BFS 문제였습니다. DFS와 BFS더보기import java.util.Deque;import java.util.LinkedList;import java.util.Scanner;public class Main { public static int n; public static int m; public static int v; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); n = scanner.nextInt(); m = scanner.nextInt(); v = scanner.nextInt(); int[].. [2025 1학기 스프링부트 스터디] 김민서 #5주차 회원 웹 기능 - 홈 화면 추가컨트롤러를 왼쪽처럼 적어주고 간단한 html을 완성해서루트 경로에 접속하면 이렇게 뜨는 걸 확인할 수 있다회원 가입과 회원 경로를 눌렀을 때 /new와 /members로 잘 이동되는 것을 확인할 수 있음 회원 웹 기능 - 등록회원 등록 폼 컨트롤러를 추가해주고 html도 해주면등록받을 수 있는 화면이 뜨는 걸 확인 가능웹 등록 화면에서 데이터를 전달 받을 폼 객체와 회원 컨트롤러에서 회원을 실제 등록하는 기능을 만들어 주었다. 회원 웹 기능 - 조회회원 컨트롤러에서 조회 기능을 추가하고 회원 리스트 html을 작성해주면 짜잔 [2025 1학기 스프링 부트 스터디] 이상래 #5주차 🔍 회원 웹 기능 - 홈 화면 추가 전에 만들었던 index.html이 실행되지 않는 이유 우선순위가 밀리기 때문!! 🔍 회원 웹 기능 - 등록👀 회원 등록 폼 개발위에서 작성했던 멤버 컨트롤러에 회원 등록 폼을 추가해주고html도 등록을 해주면 ! 이렇게 회원가입 창이 뜨게 됩니다 ! 👀 회원 등록 컨트롤러 이런식으로 PostMapping을 해주고 getter setter를 설정해주면 이런식으로 입력된 이름이 등록이 되서 데이터로 넘어오게 됩니다🔍 회원 웹 기능 - 조회 위에서 처럼 html만들어서 연결 해주면 이름과 id값을 받아와서 회원 목록에 표시되게 됩니다 !! 이전 1 2 3 4 5 ··· 35 다음