2024/09 5

[ 백준 단계별 알고리즘 ] 브루트 포스(Brute Force) - JAVA

완전탐색(Exhaustive Search) : 가능한 모든 경우의 수를 전부 탐색하여 문제를 해결하는 방법Brute Force : 반복문이나 조건문을 사용하여 가능한 모든 경우를 하나씩 모두 테스트하는 방법순열(Permutation) : 주어진 n개의 원소 중에서 r개의 원소를 선택해 순서대로 나열하는 모든 경우의 수를 찾는 방식 -> 조합, 순서문재귀 : 재귀 호출을 통해 문제를 여러 작은 하위 문제로 분할하여 해결하는 방법 -> DFS(깊이 우선 탐색)비트 마스크(Bit Mask) : 이진수를 이용하여 특정 상태나 조합을 표현하는 기법BFS(너비 우선 탐색), DFS(깊이 우선 탐색) : 그래프의 노드탐색 기법 Brute Force의 사용조건달성하고자 하는 솔루션이 명확함풀이의 수가 제한 [ 백준 2..

algorithm 2024.09.14

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

순수 JDBC : SQL을 통해 애플리케이션 서버와 DB를 연결JPA : 쿼리없이 객체를 DB에 저장, 접근 가능  1. H2 데이터베이스 설치 🍃 H2 데이터 베이스Java로 작성된 오픈소스 경량형 관계형 데이터베이스 관리 시스템(RDBMS)내장형(Embedded) 모드와 서버(Server) 모드를 동시에 사용할 수 있음 - 데이터베이스 파일(test.mv.db) 로컬에 저장되면서, 서버 모드로 실행된 H2 서버를 통해 네트워크를 통해 데이터베이스에 접근할 수 있다. ( 해당 파일을 삭제(rm)하여 데이터베이스를 삭제할 수도 있다. )  🔸로컬환경에서 H2 데이터베이스 활용방식다운로드 받은 H2/bin파일내의 h2.sh (Linux/Mac) 또는 h2.bat (Windows) 스크립트를 사용하여 H..

web programming 2024.09.08

[ 스프링 입문 ] 웹 MVC

1. 홈화면 추가컨트롤러가 정적 리소스보다 우선순위가 높다.홈 경로(/)에 매핑한 컨트롤러가 존재한다면 index.html(resources/static/index.html)이 아닌 이것이 먼저 동작하여 홈화면으로 동작하게 된다.   🔸 src/main/java/프로젝트명/controller/HomeController.javapackage hello.hello_spring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") publi..

web programming 2024.09.02

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

1. 스프링 컨테이너와 의존관계   🔸 스프링 컨테이너 (Spring Container): 스프링 프레임워크의 핵심 요소로 스프링 애플리케이션의 객체들(Bean)들을 관리한다. 의존성 주입(Dependency Injection, DI)과 제어의 역전(Inversion of Control, IoC)을 통해 생성 및 객체간 관계설정을 수행한다.※ 동작방식 : Spring이 수행될때 스프링 컨테이너가 어노테이션에 해당하는 객체(빈)로 생성하여 관리한다. 사용자는 필요시마다 객체를 직접 생성하지 않고 스프링 컨테이너에 등록되어 관리되는 하나의 객체를 공유하여 쓰는 방식을 이용한다. 🍃 DI (Dependency Injection) : 의존성 주입의존관계 : 컨트롤러는 서비스를 통해 동작하고 서비스는 리포지토..

web programming 2024.09.02

[ 스프링 입문 ] 회원관리 예제

1. 비즈니스 요구사항 정리 🍃 일반적인 웹 어플리케이션의 계층구조    🔸Controller : MVC동작, API 통신에서 컨트롤러의 역할( ex. 요청처리, 응답생성, 경로매핑 )🔸Service : 도메인을 가지고 핵심 비즈니스 로직의 구현( ex. 중복가입제어, 로그인 아이디 비밀번호 일치판단.. )🔸Domain : 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체🔸Repository : 데이터베이스에 접근, 도메인 객체를 저장하고 관리    데이터베이스가 선정되지 않았기에 Repository는 여러 상황에따라 변경될수 있도록 인터페이스로 설계한다.( 추후 단순 JDBC, Mybatis, JPA 등으로 구현가능 )초기개발단계에서는 가장 가볍고 간단한 메모리기반 저장소 구현체를 사용한다..

web programming 2024.09.02