반응형

Java 25

Weekly Challenge 1주차

문제설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 co..

Java/Coding 2021.08.05

Java starsWith,endsWith

startsWith startsWith는 해당 문자열이 지정한 특정 문자 또는 문자열로 시작하는지 확인하고 맞으면 True 아니면 False를 반환해주는 함수입니다. String st = "안녕하세요"; System.out.println(st.startsWith("안녕")); 위와 같이 안녕으로 시작하기 때문에 true를 반환합니다. endsWith endsWith는 startsWith와 반대로 해당 문자열이 지정한 특정 문자 또는 문자열로 끝나는지 확인하고 맞으면 True 아니면 False를 반환해주는 함수입니다. String st = "안녕히가세요"; System.out.println(st.endsWith("가세요")); '가세요'로 끝나기 때문에 true를 반환합니다. ※ 문자 또는 문자열을 확인할..

Java/Coding 2021.03.17

Java HashMap

Hash Map (Key-Value) 해시 맵(Hash map)은 컴퓨팅에서 키를 값에 매핑할 수 있는 구조인, 연관 배열 추가에 사용되는 자료 구조입니다. 자바에서 유용하게 사용할 수 있는 유명한 데이터 구조 중 하나입니다. Key와 Value의 데이터 구조를 가집니다. 예제를 볼까요. put import java.util.HashMap HashMap stuff = new HashMap(); stuff.put("새우깡", 1200); HashMap을 생성하고 put을 이용하여 Key(새우깡)과 Value(1200)을 넣어줍니다. get int price = stuff.get("새우깡"); '새우깡'의 가격을 출력해보면 1200이 나옵니다. 다만 '새우깡'이 아닌 '감자깡'을 출력해보면 에러가 뜹니다. ..

Java/Coding 2021.03.08

Spring Legacy Project part 3. (Controller의 Parameter 전달)

HomeController에 파라미터를 넘기기 위한 메서드 들을 작성해보겠습니다. String @GetMapping("/name") public void getName(String name) { log.info(name); } http://localhost:8000/myapp01/name?name=kim URL 창에 다음과 같이 '?' 뒤에 변수명과 값을 넣어줍니다. 그리고 콘솔 창을 확인해보면 'kim'이라고 잘 넘어온 것을 확인할 수 있습니다. Integer @GetMapping("/age") public void getAge(int age) { log.info(age); } http://localhost:8000/myapp01/age?age=26 Integer도 마찬가지입니다. Arrays @Get..

Java/Spring 2021.02.28

Spring Legacy Project part 2. (JUnit Test)

스프링 프레임워크가 시작되면 스프링이 사용하는 메모리 영역을 만들게 되고 이것을 컨텍스트(Context)라고 합니다. 스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정을 root-context.xml파일에서 합니다. root-context.xml에 설정되어 있는 태그의 내용을 통해서 org.zerock.ample 패키지를 스캔합니다. 해당 패키지에 있는 클래스들 중 스프링이 사용하는 @Component 라는 어노테이션이 존재하는 클래스의 인스턴스를 생성합니다. Test 해당 위치에서 진행합니다. 테스트를 진행할 패키지와 파일을 생성합니다. package org.zerock.sample; import static org.junit.Assert.assertNotNull; import org...

Java/Spring 2021.02.26

Spring Legacy Project part 1. (Lombok, DI)

스프링 프로젝트를 진행하기 앞서 스프링의 주요 특징을 알아봅시다. 스프링의 주요 특징 POJO(Plain Old Java Object) 기반의 구성 - 자바의 언어 사양 외에 어떠한 제한에 묶이지 않은 자바 오브젝트 - 기술적으로 어렵기 때문에 미리 정의된 어노테이션을 보통 사용 의존성 주입(DI)을 통한 객체 간의 관계 구성 - 하나의 객체가 다른 객체의 의존성을 제공하는 기술 - 밖에서 생성하여 넣어주는 것 AOP(Aspect Oriented-Programming) 지원 - 로깅이나 인증 시스템과 같은 횡단 관심사와 분리하여 모듈성을 증가시키는 프로그래밍 패러다임 MVC(Model-View-Controller) 구조 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 Lombok getter/sett..

Java/Spring 2021.02.24

Spring Legacy 개발환경 part 2.

Spring Legacy 개발환경 part 1.에서 기본적인 설정을 하고 프로젝트를 생성했습니다. 다음과 같은 구조의 프로젝트가 생성되었습니다.각각 어떤 역할을 하는지 알아봅시다. 메인 코드가 작성되는 부분입니다.대표적으로 Controll, Dto, Dao 그리고 Service나 Command 등의 패키지 및 파일이 들어갑니다. resource 즉, 자원이 들어간다는 의미입니다. 실행 시 필요한 파일들이 들어갑니다. (css, img 등) 프로그램을 테스트 하기 위한 자바 코드나 자원들이 들어갑니다. main > webapp > WEB-INF > spring > appServlet 에 있는 웹 관련 스프링 설정 파일입니다.*beans 등록과 mapping을 설정하기 위한 파일입니다. main > weba..

Java/Spring 2021.02.24

Spring Filter 적용하기

저번에 Spring과 톰캣을 연동하여 실행시켰습니다. 하지만 다음과 같이 한글이 '?'로 출력된는 것을 볼 수 있습니다. 이것을 바꾸기 위해 Filter를 적용시켜 보겠습니다. 'web.xml'에 Filter 코드를 추가해줍니다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 안에 넣어주어야 합니다. 한글도 잘 출력되는 것을 볼 수 있습니다.

Java/Spring 2021.02.22
반응형