분류 전체보기

    [Spring] 스프링 요청 파라미터 - Reqeust Param (required, defaultValue)

    Spring request param @ResponseBody public String requestParamRequired(@RequestParam(required = true) String username, @RequestParam(required = false) Integer age) { log.info("username={}, age={}", username, age); return "ok"; } http://localhost:8080/request-param-required?username=hello → age가 없을 때 파라미터를 int age로 하면 500 에러 → int 형은 primitive type이어서 null값을 가질 수 없음 Integer로 바꿔주면 age는 null이 됨 (아니면..

    [Spring] 로깅 logging

    로깅 로깅 라이브러리 스프링부트 라이브러리를 사용하면 스프링 부트 라이브러리가 함께 포함 (spring-boot-starter-logging) SLF4J: 인터페이스, 구현체-Logback (스프링 부트가 기본으로 제공) 로그 선언 log.trace("trace log={}", name); log.debug("debug log={}", name); log.info("info log={}", name); log.warn("warn log={}", name); log.error("error log={}", name); trace → error로 갈수록 포함 범위가 작아짐 trace: 하위 모든 레벨 포함 error: error만 로그로 출력 log.trace("trace log={}", name); log...

    [백준] 14891 - 톱니바퀴 (자바 Java)

    [Gold V] 톱니바퀴 - 14891 문제 링크 성능 요약 메모리: 11880 KB, 시간: 80 ms 분류 구현(implementation), 시뮬레이션(simulation) 문제 설명 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. ) 톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니..

    [데이터베이스 개론] 13. 데이터 과학과 빅데이터

    13. 데이터 과학과 빅데이터 01 데이터 과학 1. 데이터 과학의 필요성 방대한 양의 데이터 속에 숨겨진 규칙과 패턴을 찾아내 문제 해결에 활용 앞으로 벌어질 일을 예측하여 미리 준비 2. 데이터 과학의 개념 데이터를 수집 → 분석 → 숨겨진 새로운 지식 발견, 이를 문제 해결에 활용하는 모든 과정의 활동 DIKW 계층 구조 데이터 → (상황에 대한 이해) → 정보 → (의미) → 지식 → (통찰력) → 지혜 데이터: 관찰하거나 측정하여 수집한 사실이나 값 정보: 데이터를 목적에 맞게 가공한 것 지식: 규칙과 패턴을 통해 찾아낸 의미있고 유용한 정보 지혜: 지식에 통찰력을 더해 새롭고 창의적인 아이디어를 도출 02 빅데이터 1. 빅데이터의 개념 좁은 정의: 기존의 데이터베이스가 저장하고 관리할 수 있는..

    [데이터베이스 개론] 12. 데이터베이스 응용 기술

    12. 데이터베이스 응용 기술 01 객체지향 데이터베이스 1. 객체지향 데이터 모델 객체지향 개념에 기반을 둔 데이터 모델 - 객체, 객체 식별자, 속성과 메서드, 클래스, 클래스 계층 및 상속, 복합 객체 등을 지원 객체와 객체 식별자 객체: 현실 세계에 존재하는 개체를 추상적으로 표현한 것 객체 식별자: 시스템 전체에서 유일하게 식별될 수 있음, 특정 객체에 접근하기 위한 유일한 수단 속성과 메서드 속성: 관계 데이터 모델의 속성과 같은 의미 관계 데이터 모델: 단일 값만 가질 수 있음 객체 지향 데이터 모델: 값을 여러 개 가질 수 있음 사용자가 정의한 클래스뿐 아니라 해당 클래스의 하위 클래스도 도메인으로 정의 가능 메서드: 객체에 수행할 수 있는 연산 속성 값을 검색, 추가, 삭제, 수정 메시지..

    [백준] 1107 - 리모컨 (자바 Java)

    [Gold V] 리모컨 - 1107 문제 링크 성능 요약 메모리: 303220 KB, 시간: 1004 ms 분류 브루트포스 알고리즘(bruteforcing) 문제 설명 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가..

    [백준] 5430 - AC (자바 Java)

    [Gold V] AC - 5430 문제 링크 성능 요약 메모리: 103140 KB, 시간: 728 ms 분류 덱(deque), 파싱(parsing), 구현(implementation), 문자열(string), 자료 구조(data_structures) 문제 설명 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. ..

    [백준] 3190 - 뱀 (자바 Java)

    [Gold IV] 뱀 - 3190 문제 링크 성능 요약 메모리: 13916 KB, 시간: 148 ms 분류 자료 구조(data_structures), 덱(deque), 구현(implementation), 큐(queue), 시뮬레이션(simulation) 문제 설명 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을..

    [백준] 2343 - 기타 레슨 (자바 Java)

    [Silver I] 기타 레슨 - 2343 문제 링크 성능 요약 메모리: 89916 KB, 시간: 732 ms 분류 이분 탐색(binary_search), 매개 변수 탐색(parametric_search) 문제 설명 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다. 강토는 이 블루레이가 얼마나 팔릴지 아직 알 수 없기 때문에, 블루레이의 개수를 가급적 줄이려고 한다. 오랜 고민 끝에 ..

    [백준] 1654 - 랜선 자르기 (자바 Java)

    [Silver II] 랜선 자르기 - 1654 문제 링크 성능 요약 메모리: 27568 KB, 시간: 320 ms 분류 이분 탐색(binary_search), 매개 변수 탐색(parametric_search) 문제 설명 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 ..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]