반응형
XML과 JSON 기존에는 XML, JSON 파일 포맷으로 데이터를 저장하고 주고 받는데 했었다. 하지만 이 두 파일 포맷은 정해진 포맷 규칙 때문에 데이터가 많아진다면 작성하기가 번거롭고 읽기가 힘들다는 불편함이 있다. 다음은 같은 데이터를 XML과 JSON로 작성하여 비교해본 것 이다. 물론 JSON이 XML의 태그 문법같은 불편함을 해소하고자 나온 파일 포맷이라 XML보다는 좀더 편리하지만 그래도 열고 닫는 괄호 {}, []들로 인해 불편함이 있다. YAML이란? YAML은 XML과 JSON이 사용하기 복잡하고 불편함 점을 해결하기 위해 2001년 Clark Evans에 의해 최초 제안되었다. 원래는 "YAML Ain't Markup Language" "마크업 언어가 아니다" 라는 뜻으로 불렸으며 ..
YAML이란? YAML이란? (JSON, XML과 비교) XML과 JSON 기존에는 XML, JSON 파일 포맷으로 데이터를 저장하고 주고 받는데 했었다. 하지만 이 두 파일 포맷은 정해진 포맷 규칙 때문에 데이터가 많아진다면 작성하기가 번거롭고 읽기가 힘들다 hstory0208.tistory.com application.yml 스프링은 설정 데이터를 사용할 때 application.properties 뿐만 아니라 application.yml 이라는 형식도 지원한다. application.properties에 다음과 같은 옵션 설정이 있을 때 YAML로 변환하면 다음과 같다. 주의할점 application.properties , application.yml 을 같이 사용하면 application.prop..
문제 설명 입출력 예제 풀이 코드 이 문제는 이전의 7576번 토마토 문제와 유사하지만 3차원 배열을 사용한다는 점이 다르다. [Python/파이썬] 백준 7576 - 토마토 문제 설명 입출력 예제 풀이 코드 처음에는 시작지점의 인덱스 값을 bfs(x, y) 이런식으로 넘겨 탐색하도록 했지만 "예제 입력3"번 케이스에서만 계속 전혀 다른값이 나왔다. 이유는 다음과 같았다 hstory0208.tistory.com 3차원 배열을 사용한다는 점과, 6방향(앞,뒤,상,하,좌,우)로 움직인다는 점에 유의하자 정답 코드 from collections import deque import sys input = sys.stdin.readline m, n, h = map(int, input().split()) # 열, 행..
문제 설명 입력과 출력 입출력 예제 풀이 코드 풀이 핵심 벽의 개수가 3개를 설치한 모든 2차원 배열(경우의 수)를 구한다. 3개의 벽이 설치된 2차원 배열마다 bfs()로 탐색하여 가장 큰 안전지대 개수로 갱신한다. 정답 코드 pypy3로 제출하여야 시간초과 없이 통과 from collections import deque import sys import copy input = sys.stdin.readline n, m = map(int, input().split()) # 행, 열 virus_map = [list(map(int, input().split())) for _ in range(n)] result = 0 dx = [1, -1, 0, 0] dy = [0, 0, -1, 1] # 백트래킹으로 3개의 ..
문제 설명 입출력 예제 풀이 코드 처음에는 시작지점의 인덱스 값을 bfs(x, y) 이런식으로 넘겨 탐색하도록 했지만 "예제 입력3"번 케이스에서만 계속 전혀 다른값이 나왔다. 이유는 다음과 같았다. field[x][y]의 값이 1일 때 bfs(x,y)를 시작해 한칸씩 이동하는데, 예제 입력3번 케이스는 시작점이 2개이기 때문에 첫 번째 시작지점 탐색을 시작 할 때 field의 값을 +1씩 추가하고, 또 두번 째 시작지점에서도 bfs(x,y)를 시작해 field의 값을 +1 씩 추가하게 되어서 발생하는 문제였다. 이 부분을 해결하기 위해서는 queue의 특징을 이용해서 걍 시작점마다 한번씩 벌어가면서 탐색하도록 해야하는데 그러기 위해서는 시작점에 해당할 경우 먼저 queue에 시작점을 다 추가해놓고, 그..
개발환경과 운영환경의 설정 분리 하나의 애플리케이션을 여러 다른 환경에서 사용해야 할 때가 있다. 예를 들어 개발환경과 운영환경이 필요할 경우 어플리케이션이 개발환경 DB에 접근하는 설정 정보와, 운영환경 DB에 접근하는 설정 정보가 다르다. 이를 해결 하기 위한 방법으로 하나의 내부 설정 파일 "application.properties"에서 스프링이 지원하는 "프로필"으로 각 환경 별 설정을 작성하여 관리 할 수 있다. application.properties spring.config.activate.on-profile=dev url=dev.db.com my_username=dev_user password=dev_pw #--- spring.config.activate.on-profile=prod url..