[ 백준 단계별 알고리즘 ] 브루트 포스(Brute Force) - JAVA
·
algorithm
완전탐색(Exhaustive Search) : 가능한 모든 경우의 수를 전부 탐색하여 문제를 해결하는 방법Brute Force : 반복문이나 조건문을 사용하여 가능한 모든 경우를 하나씩 모두 테스트하는 방법순열(Permutation) : 주어진 n개의 원소 중에서 r개의 원소를 선택해 순서대로 나열하는 모든 경우의 수를 찾는 방식 -> 조합, 순서문재귀 : 재귀 호출을 통해 문제를 여러 작은 하위 문제로 분할하여 해결하는 방법 -> DFS(깊이 우선 탐색)비트 마스크(Bit Mask) : 이진수를 이용하여 특정 상태나 조합을 표현하는 기법BFS(너비 우선 탐색), DFS(깊이 우선 탐색) : 그래프의 노드탐색 기법 Brute Force의 사용조건달성하고자 하는 솔루션이 명확함풀이의 수가 제한 [ 백준 2..
[ 스프링 입문 ] 스프링 DB접근 기술
·
web programming
순수 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..
[ 스프링 입문 ] 웹 MVC
·
web programming
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
1. 스프링 컨테이너와 의존관계   🔸 스프링 컨테이너 (Spring Container): 스프링 프레임워크의 핵심 요소로 스프링 애플리케이션의 객체들(Bean)들을 관리한다. 의존성 주입(Dependency Injection, DI)과 제어의 역전(Inversion of Control, IoC)을 통해 생성 및 객체간 관계설정을 수행한다.※ 동작방식 : Spring이 수행될때 스프링 컨테이너가 어노테이션에 해당하는 객체(빈)로 생성하여 관리한다. 사용자는 필요시마다 객체를 직접 생성하지 않고 스프링 컨테이너에 등록되어 관리되는 하나의 객체를 공유하여 쓰는 방식을 이용한다. 🍃 DI (Dependency Injection) : 의존성 주입의존관계 : 컨트롤러는 서비스를 통해 동작하고 서비스는 리포지토..
[ 스프링 입문 ] 회원관리 예제
·
web programming
1. 비즈니스 요구사항 정리 🍃 일반적인 웹 어플리케이션의 계층구조    🔸Controller : MVC동작, API 통신에서 컨트롤러의 역할( ex. 요청처리, 응답생성, 경로매핑 )🔸Service : 도메인을 가지고 핵심 비즈니스 로직의 구현( ex. 중복가입제어, 로그인 아이디 비밀번호 일치판단.. )🔸Domain : 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체🔸Repository : 데이터베이스에 접근, 도메인 객체를 저장하고 관리    데이터베이스가 선정되지 않았기에 Repository는 여러 상황에따라 변경될수 있도록 인터페이스로 설계한다.( 추후 단순 JDBC, Mybatis, JPA 등으로 구현가능 )초기개발단계에서는 가장 가볍고 간단한 메모리기반 저장소 구현체를 사용한다..
[ R 프로그래밍 ] 미세먼지관련 소셜키워드 분석
·
data
# 패키지설치, 사전설정 setwd("c:\\temp") install.packages("KoNLP") install.packages("wordcloud") install.packages("stringr") library(stringr) library(KoNLP) library(wordcloud) useSejongDic() # 데이터 불러오기 data1
[ R 프로그래밍 ] 제주 여행지 추천 키워드 분석하기
·
data
인터넷에서 “ 제주 여행코스 추천” 키워드로 검색한 결과를 수집해서 어떤 관광지를 추천하는지 주요 키워드를 추출하여 워드 클라우드로 시각화 하는 예제입니다. R코드를 통해 주요키워드를 추출후 word cloud로 시각하고자 합니다. [ 원본파일 일부내용 ]   (1) 작업 디렉토리 설정하고 필요 패키지 설치 및 실행하기setwd("c:\\temp") install.packages("KoNLP") install.packages("wordcloud") install.packages("stringr") library(KoNLP) library(wordcloud)library(stringr) useNIADic() mergeUserDic(data.frame(readLines("제주도여행지.txt"), "ncn"..
[ R 프로그래밍 ] 경주여행 추천키워드 분석하기
·
data
인터넷에서 “경주 여행지 추천” 키워드로 검색한 결과를 수집해서 어떤 관광지를 추천하는지 주요 키워드를 추출하여 워드 클라우드로 시각화 하는 예제입니다. R코드를 통해 주요키워드를 추출후 word cloud로 시각하고자 합니다. [ 원본파일 일부내용 ]  (1) 작업 디렉토리 설정하고 필요 패키지 설치 및 실행하기setwd("c:\\temp\\") install.packages("KoNLP") install.packages("wordcloud") install.packages("stringr")library(stringr)library(KoNLP) library(wordcloud) useNIADic()   (2) 분석할 파일 불러오기data1    (3) 중복값 제거, 필요없는 특수문자 제거 후 명사..
R 프로그램을 활용한 빅데이터 분석특강 - 데이터처리
·
data
정규식과 주요함수들 📌 정규식(Regular Expression) : 데이터에서 특정한 내용이나 패턴을 찾는 규칙 해당 정규식 기호가 정규식의미를 제거하고 문자 자체로 쓰이기 위해서는 탈출문자(\\)를 이용한다..# enter를 제외한 모든 문자 ^a# a로 시작하는 단어나 문장 a$# a로 끝나는 딘어나 문장 [ab]# a나 b가 포함된 단어나 문장 ^[ab]# a나 b로 시작하는 단어나 문장 : 대괄호외부 ^ [^ab]# a나 b를 제외한 단어나 문장 : 대괄호내부 ^ ^[^ab]# a나 b를 제외한 것으로 시작하는 단어나 문장 # - 은 범위의 이미이다. [0-9]# 모든 숫자를 포함하는 단어나 문장찾기 [a-b]# 모든 영소문자를 포함하는 단어나 문장찾기 [:alnum:]# 문자와 숫자 [:alp..
R 프로그램을 활용한 빅데이터 분석특강 - R언어 기본
·
data
프로그램 설치와 소개 R프로그램 다운로드 :  메인서버인 0-Cloud를 비롯한 전세계에서 사용되는 서버목록에서 다운로드 가능 http://www.r-project.org추가적인 Java프로그램 설치 : R프로그램의 자체기능으로 해결할 수 없는 분석작업을 수행하기 위함( ex. 텍스트 마이닝 )R에서 사용하는 많은 Java 기반 패키지들( rJava, XLConnect, RWeka 등 ... )은 Java 8(JRE 1.8) 버전에 맞춰 개발되었기에 이 버전을 설치한다.반드시 관리자 권한으로 실행R패키지 : 특정기능을 제공하는 라이브러리설치시 제공되는 기본 패키지 + 외부에서 설치하는 패키지( 공식적으로 CRAN or 검색엔진에서 [ 키워드 in r ]로 검색 )install.packages("패키지명"..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter6. 완전탐색(1)
·
algorithm
자리수 단위로 완전탐색 각 자리의 조합상황을 가정하고 진행해보는 완전탐색 방법을 이용할 수 있다. ( for문을 이용 )  [ 개념문제 ] 세 자리를 정하여 완전탐색 : 일렬로 서 있는 소2https://www.codetree.ai/missions/5/problems/cattle-in-a-rowing-up-2?&utm_source=clipboard&utm_medium=textN마리의 소가 x = 1부터 x = N까지 순서대로 서 있습니다. 각 소의 키는 Ai​이며, 예를 들어 첫 번째 위치에 놓여있는 소의 키는 A1​입니다. 3마리의 서로 다른 소의 위치를 (i, j, k)라고 했을 때, i 첫 번째 줄에 N이 주어집니다.두 번째 줄에는 N마리의 소의 키 정보 Ai​가 공백을 사이에 두고 순서대로 주어집..
[ 스프링 입문 ] 프로젝트 환경설정, 스프링 웹개발 기초
·
web programming
1. 프로젝트 환경설정  🍃 Spring initializr로 스프링 프로젝트를 생성하는 작업  🔸 빌드 자동화 도구로 gradle을 주로 사용한다.빌드 자동화 도구란 ? 프로젝트의 빌드 과정( 컴파일-테스트-패키징-배포 ), 의존성 관리( 외부 라이브러리나 모듈을 프로젝트에 자동으로 포함 )등을 자동화한다.빌드 스크립트를 정의하여 빌드를 실행할 때마다 수행할 작업을 설정하고 관리하는 것이다.maven : 아파치의 빌드자동화 도구로 XML 파일(pom.xml)로 관리한다. ( 표준화 )gradle : Groovy 또는 Kotlin DSL을 사용해 빌드 스크립트를 작성한다. ( 유연성, 성능 향상 )  🔸 스프링부트의 버전은 정식 릴리즈된 상태에서 가장 높은 버전을 선택한다.snapshot은 개발중인..
갬짱
갬짱의 개발기록