전체 글

전체 글

    [알고리즘][파이썬] Exhaustive Search / 완전 탐색

    2023.07.07... 5학기 여름방학에 다시 시작하는 혼자 하는 알고리즘 레쮸고 !!!!!!!!! 완전 탐색이란 모든 경우의 수를 다 세는 방법 Brute force 직관적이어서 이해하기 쉬운 방법 상대적으로 구현이 간단한 방법 문제의 정확한 결과값을 얻어낼 수 있는 가장 확실하며 기초적인 방법 시간 복잡도가 O(N^2)인 방법 경우의 수에 따라 실행 시간이 비례하기 때문에 입력 값의 범위가 작은 경우 유용 완전 탐색 알고리즘 종류 Brute Force Bitmask (비트마스크) Recursive (재귀) Permutation (순열) BFS (너비우선탐색) & DFS (깊이우선탐색) Brute Force 반복문 or 조건문으로 모든 경우를 체크하여 정답 구하기 (ex) 000~999 사이의 자물쇠..

    [알고리즘] 알고리즘 스터디 계획 / Algorithm Study Plan

    다시 올리는 알고리즘 스터디 계획 ㅋㅋㅋㅋㅋ 5학기를 마친 여름방학에 ... 저번 겨울방학에 제대로 못한 부분을 채우려 한다 이번에는 나 혼자 !!! 진행할 것이다 목표 : 백준 Gold 달기 사용 언어 : 파이썬(Python) 커리큘럼 : 스택/큐 > 완전탐색 > .. (추후 추가) 일정 : 2023.07 ~ 2023.08 깃헙 레포지토리 : dudrhy12/Baekjoon (github.com) GitHub - dudrhy12/Baekjoon Contribute to dudrhy12/Baekjoon development by creating an account on GitHub. github.com

    [이것저것] CRUD 개념&장점

    CRUD 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능 Create(생성), Read(읽기), Update(갱신), Delete(삭제) 데이터베이스 또는 데이터 스토리지 시스템과 상호 작용하는 대부분의 어플리케이션의 중추 형성 장점 표준화 공통 프레임워클를 설정하여 개발자가 업무를 쉽게 이해하고 작업할 수 있음 단순화된 개발 프로세스 개발자는 데이터 조작을 위해 구현할 명확한 작업 세트가 있는 것이므로 어플리케이션 작성 프로세스를 간소화할 수 있음 ⇒ 일관되고 효율적인 개발 관행 촉진 향상된 유지 관리 데이터 관리에 대한 표준화된 접근 방식을 따르기 때문에 유지 관리에 용이 향상된 사용자 경험 사용자가 필수 작업을 수행할 수 있음 모듈성과 유연성 개발자가 특정 응용 프로그램 부분을 쉽게 ..

    [SpringBoot-AWS] Chap06 - AWS 서버 환경을 만들어보자 - AWS EC2

    외부인이 내가 만든 서비스에 접근하려면 24시간 작동하는 서버 필요 호스팅 서비스나 클라우드 서비스를 이용하여 가능 특정 시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드 서비스가 유리 클라우드 인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스 제공 개발자가 직접 해야 할 일을 클라우드가 전부 지원 클라우드 형태 Infrastructure as a Service (IaaS, 아이아스, 이에스) 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스 인프라 대여 서비스 AWS의 EC2, S3 등 Platform as a Service (PaaS, 파스) IaaS에서 한 번 더 추상화한 서비스 더 많은 기능이 자동화 ..

    [스프링 입문] Section6. 스프링 DB 접근 기술

    기존에는 메모리에 저장하는 방식 실무에서는 데이터베이스에 데이터들을 저장하여 관리 스프링이 JDBC template 기술 제공 애플리케이션에서 데이터베이스로 SQL을 편리하게 날릴 수 있음 JPA를 쓰면 객체를 바로 DB에 쿼리 없이 저장 가능 스프링 데이터 JPA : JPA를 편리하게 쓸 수 있도록 한 번 감싼 기능 H2 데이터베이스 설치 https://www.h2database.com/html/download-archive.html 에서 1.4.200 버전 설치 1. 데이터 베이스 파일 만들기 JDBC URL : 내 파일 경로 이후에 파일로 접근하면 애플리케이션과 웹 콘솔이 동시에 접근이 안될 수 있음 이후부터는 JDBC URL : jdbc:h2:tcp://localhost/~/test 파일 직접 접..

    [스프링 입문] Section5. 회원 관리 예제 - 웹 MVC 개발

    회원 웹 기능 - 홈 화면 추가 1. .../src/main/java/hello/hellospring/controller/HomeController.java 을 생성해서 홈 컨트롤러 추가 @Controller public class HomeController { @GetMapping("/") //도메인의 첫번째 public String home() { return "home"; //home.html이 호출 } } 2. .../src/main/resources/templates/home.html 을 생성해서 회원 관리용 홈 생성 Hello Spring 회원 기능 회원 가입 회원 목록 3. HelloSpringApplication.java 실행 시 localhost:8080 접속 시 홈 화면에 매핑된 htm..

    [스프링 이것저것] 의존성 주입 (DI) 개념 & 방법

    의존성 주입 의존성 주입 = Dependency Injection = DI 프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로 분리하는 것 by 위키피디아 의존 관계란? A가 B를 의존한다 = 의존대상 B가 변하면 그것이 A에 영향을 미친다 다양하게 의존 관계를 맺으려면 인터페이스로 추상화 해야 함 ⇒ 실제 구현 클래스와의 관계는 느슨해지고 결합도가 낮아짐 의존 관계 주입이란? 의존관계를 외부에서 결정하고 주입하는 것 클래스 변수를 결정하는 방법 = DI를 구현하는 방법 런타인 시점의 의존관계를 외부에서 주입하여 DI 구현 완성 DI 장점 의존성/종속성 ↓ : 변화가 있더라도 수정할 일이 적다 재사용성 ↑ :..

    [스프링 입문] Section4. 스프링 빈과 의존관계

    컴포넌트 스캔과 자동 의존 관계 설정 화면을 붙이려면 Controller와 View template이 필요 Member Controller가 Member Service를 통해 회원가입하고 조회할 수 있어야 함 ⇒ 의존 관계가 있다 표현 == 멤버 컨트롤러가 멤버 서비스를 의존한다 /src/main/java/hello/hellospring/controller/MemberController.java 생성 MemberService를 Spring Contaioner로부터 받아 쓰도록 ⇒ 새로 생성할 필요 X, 하나만 가져와서 같이 쓰는 것이 나음 결론 : 스프링 컨테이너에 하나만 등록하여 가져다 쓰기! @Controller public class MemberController { private final Mem..