📑 Category

[네트워크] REST, REST API, RESTful 알아보기
REST 자원을 이름으로 구분하여 해당 자원의 상태 및 정보를 주고 받는 모든 것을 의미 웹의 기존 기술과 HTTP 프로토콜을 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일 네트워크 상에서 Client와 Server 사이의 통신 방식 HTTP URI를 통해 자원을 명시하고, HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 적용하는 것 REST 구성 요소 자원(Resource) URI로 표시 모든 자원에 대한 고유 ID(URI)가 존재하고, 이 자원은 Server에 존재 Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을 Server에 요청 행위(Verb) HTTP 프로토콜의 Method 사용 표현..

[BOJ] 백준 21609번 상어 중학교 - 파이썬(Python)
문제 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록이 있다. 일반 블록은 M가지 색상이 있고, 색은 M이하의 자연수로 표현한다. 검은색 블록은 -1, 무지개 블록은 0으로 표현한다. (i, j)는 격자의 i번 행, j번 열을 의미하고, |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸 (r1, c1)과 (r2, c2)를 인접한 칸이라고 한다. 블록 그룹은 연결된 블록의 집합이다. 그룹에는 일반 블록이 적어도 하나 있어야 하며, 일반 블록의 색은 모두 같아야 한다. 검은색 블록은 포함되면 안 되고, 무지개 블록은 얼마나 들어있든 상관없다. 그룹에 ..

[BOJ] 백준 21608번 상어 초등학교 - 파이썬(Python)
문제 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호가 매겨져 있고, (r, c)는 r행 c열을 의미한다. 교실의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 선생님은 학생의 순서를 정했고, 각 학생이 좋아하는 학생 4명도 모두 조사했다. 이제 다음과 같은 규칙을 이용해 정해진 순서대로 학생의 자리를 정하려고 한다. 한 칸에는 학생 한 명의 자리만 있을 수 있고, |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸이 (r1, c1)과 (r2, c2)를 인접하다고 한다. 비어있는 칸 중에서 좋아하는 학생이 인접한..

[디자인패턴] Factory Method 패턴 - 하위 클래스에서 인스턴스 작성하기
※ Java 언어로 배우는 디자인 패턴 입문(영진닷컴) 도서를 바탕으로 작성된 내용입니다. Factory Method(펙토리 메소드) 패턴 소개 Template Method 패턴을 인스턴스 생성의 측면에 적용한 패턴 아래의 Factory Method 패턴 구조에서는 Creates가 Template Method에 해당 인스턴스를 만드는 방법을 상위 클래스에서 결정하지만 구체적인 클래스 이름까지 결정하지 않으며 구체적인 내용은 모두 하위 클래스에서 수행 상위 클래스에서는 공정(설계)만 선언, 하위 클래스에서 공정의 구체적인 동작을 구현 예제 프로그램 - ID카드 공장 - Product 클래스 (Product.java) 추상 클래스로 구현된 Product(제품)의 역할 package framework; pub..

[AWS] SSL 인증서 설정한 CloudFront에 S3 배포 후 도메인 연결하기 - S3, CloudFront, Route53, ACM
1. Amazon S3 - 버킷 생성 Amazon S3 검색 >> 버킷 >> 버킷 만들기 버킷 이름, 리전 선택 >> 생성 모든 퍼블릭 엑세스 차단 해제 차단을 해제하지 않으면 정적 웹사이트 호스팅 후 도메인 접근 시 'Access Denied' 에러가 뜬다. 생성된 버킷 선택 >> 속성 >> 하단 정적 웹 사이트 호스팅 편집 정적 웹 사이트 호스팅 활성화, 인텍스 문서 설정 권한 >> 버킷 정책 편집 버킷 접근에 대한 정책 설정을 위해 다음 내용을 삽입한다. [버킷 ARN] 부분은 정책 에디터 상단에 표시된 버킷 ARN을 복사하여 붙혀 넣는다. { "Version": "2012-10-17", "Id": "Policy1662277569063", "Statement": [ { "Sid": "Stmt1662..

[Programmers] 프로그래머스 LV.1 성격 유형 검사하기 - 파이썬(Python)
문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동의 모르겠음 약간 동의 동의 매우 동의 각 질문은 1가지 지표로 성..

[Programmers] 프로그래머스 LV.1 신고 결과 받기 - 파이썬(Python)
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2..

[BOJ] 백준 17144번 미세먼지 안녕! - 파이썬(Python)
문제 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다. 1초 동안 아래 적힌 일이 순서대로 일어난다. 미세먼지가 확산된다. 확산은 미세먼지가 있는 모든 칸에서 동시에 일어난다. (r, c)에 있는 미세먼지는 인접한 네 방향으로 확산된다. 인접..