분류 전체보기(593)
-
2. 스프링 시작하기 #1 메이븐 프로젝트 생성
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 복습을 위한 내용입니다. 1. 스프링 프로젝트 시작하기 1.1 프로젝트 폴더 생성 프로젝트를 생성할 기준 폴더는 spring5fs 폴더라고 가정하고 진행한다. step1 프로젝트 폴더를 다음과 같이 생성 spring5fs/sp5-chap02/src/main/java 1.2 메이븐 프로젝트 생성 step1 pom.xml 파일 생성 및 작성 4.0.0 sp5 sp5-chap02 0.0.1-SNAPSHOT org.springframework spring-context 5.0.2.RELEASE maven-compiler-plugin 3.7.0 1.8 1.8 utf-8 08행 : 프로젝트의 식별자 지정. 여기서는 프로젝트 폴더와 동일한..
2021.07.01 -
1. 스프링5 소개 및 개발 환경 구축
본 글은 최범균 저자님의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해서 작성된 글입니다. 1. 스프링이란 무엇인가? 스프링은 Java Enterprise 개발을 편리하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 흔히 스프링이라고 하면 스프링 프레임 워크를 의미한다. 스프링 프레임워크의 주요 특징은 다음과 같다. 의존 주입(Dependency Injection : DI) 지원 AOP(Aspect-Oriented Programming) 지원 MVC 웹 프레임워크 제공 JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 이외에도 스케줄링, 메시지 연동(JMS), 이메일 발송, 테스트 지원 등 자바 기반의 애플리케이션을 개발하는데 필요한 다양한 기능을 제..
2021.06.30 -
JAVA의 JVM, JRE, JDK 정리
JVM, JRE, JDK에 대해서 설명하기 전에 소스코드의 컴파일 과정에 대해서 설명하겠습니다. 소스코드의 컴파일 과정 컴퓨터에게 어떤 일을 수행시키기 위해서는 소스코드를 컴파일하는 과정이 필요하다. 왜냐하면 컴퓨터는 사람이 작성한 소스코드를 바로 해석해 일을 수행하지 않고 기계어만을 통하여 일을 수행하기 때문이다. 따라서 위의 그림과 같이 소스코드는 컴파일러(compiler)에 의해서 컴파일(compile)이 수행되어 바이너리 코드로 생성되고 컴퓨터는 바이너리 코드를 해석하여 모니터(콘솔)에 출력한다. 컴파일(compile) : 사람이 작성한 소스코드(.java, .c, .cpp)등을 기계어로 번역하는 과정 컴파일러(compiler) : 컴파일을 수행하는 프로그램 바이트 코드(바이너리 코드) : 기계어..
2021.06.30 -
JAVA SE, JAVA EE, JAVA ME 차이
Java Platform, Standard Edition(Java SE) Java SE는 데스크톱 및 서버, 최근의 고사향 임베디드 시스템을 위한 표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상 머신(JVM, Java Virtual Machine) 규격 및 API(Application Programming Interface) 집합을 포함한다. 따라서 자바 EE, 자바 ME 등 다른 플랫폼은 구체적인 목적에 따라 자바 SE를 기반으로 API를 추가하거나 자바 가상 머신 규격 및 API의 일부를 택해서 정의된다. Java SE는 자바의 표준판으로써 반복문, 데이터 타입, 조건문, 객체지향설계, 클래스, 상속관계, 인터페이스, 제너릭과 같은 개념들에 대해서 정의되어 있다. 우리는 Java..
2021.06.30 -
백준(Backjoon) 10798, 세로읽기
문제풀이 행과열을 이용한 이중 반복문으로 세로 읽기를 수행한다. 단, 바같쪽 반복문이 열이고 안쪽 반복문이 행이다. 유의해야할 점은 배열내에 각각의 행의 단어 길이가 다르다는 점인데 처음 입력을 받을때 빈칸인 부분은 null이 아닌 공백("")으로 저장한다. 다음과 같이 할 수 있는 이유는 한줄에 입력할 수 있는 단어들의 최대 길이가 15로 고정되어 있기 때문이다. 소스코드 public class Main { public static String solution(String[][] board) { StringBuilder sb = new StringBuilder(); for(int col=0;col
2021.06.30 -
백준(Backjoon) 10816, 숫자 카드 2
문제풀이 각각의 정수타입 카드들을 정수형 리스트로 입력받은 다음 HashMap을 활용하여 숫자에 대해서 카운트한다. public class Main { public static String solution(List my_cards, List cards) { StringBuilder sb = new StringBuilder(); Map map = new HashMap(); for(int card : my_cards) { // hashmap에 card가 포함되어 있지 않은 경우 1로 초기화 if(!map.containsKey(card)) { map.put(card, 1); } else // 포함되어 있는 경우 1 누적 { map.put(card, map.get(card)+1); } } // cards 리스트..
2021.06.28