👋 DevCamp day.2 SOLID 원칙 ✍️ SOLID 원칙 > 객체 지향 5원칙, 로버트 마틴이 클린코드를 지향하며 고안한 객체지향의 5가지 원칙을 통틀어 객체지향 5원칙(SOLID)이라 칭한다. 일단 한번 보면 개념은 알아 듣긴 하지만 막상 실현하려면 생각보다 어려움이 따른다. 이 5개의 원칙의 앞글자를 따서 SOLID라고도 부른다. ⭐️ S...
👋 DevCamp day.2 객체지향 프로그래밍 ✍️ 객체지향 프로그래밍 > 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 수많은 '객체' 단위로 나누고 이들의 상호작용으로 서술하는 방식, '객체'란 하나의 역할을 수행하는 메소드와 변수들의 묶음으로 봐야 한다. ✍️ 객체란? '객체'는 틀로 생각한다. 흔히 드는 예시로 자동차가 있다...
적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접...
프로그램 구현에 앞서 Java의 세계에 들어온 이상 우린 객체 지향적으로 프로그래밍을 설계해야 합니다. 그렇다면 데이터는 어떻게 관리할까요?
SW개발을 넘어 배포를 도전하는 나에게 도움이 되고자 이 글을 정리합니다.AWS 공식 문서를 보면 AWS elastic beanstalk에 대해 다음과 같이 설명하고 있습니다.Elastic Beanstalk를 사용하면 애플리케이션을 실행하는 인프라에 대해 자세히 알지
기초 CRUD를 위한 backend 구현 중 사용한 spring boot 어노테이션을 소개하는 시간을 가져보겠습니다. 우선 전체적인 코드는 개인 github에 올라와 있으니 참고하길 바랍니다.
자, 이제 우리가 이용할 기술이 무엇인지 알아보죠.저희가 사용할 백엔드 기술은 스프링 부트입니다.
RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다.집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다.
🔍 프론트와 백의 구분- 무한한 확장성의 시작 자 그럼 우리 본격적으로 어플리케이션의 개발을 진행하기에 앞서 우리의 어플리케이션이 어떤 아키텍쳐를 가지고 세상에 나오게 될지 계획하게 될 것입니다. > 프론트엔드와 백엔드를 분리시켜 보는 것은 어떨까요? 🔍 프론트와 백의 구분 프론트엔드와 백엔드를 분리시킨다는 얘기는 그렇게 이해하기 어려운 내용은 아닙니...
그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.📌 D
암호 기법의 보안성을 증명하는 측면에서 암호학자들은 크게 4가지 공격 모델을 정해놓고 해당 모델에서는 "perfectly secure"하다고 말한다. 암호학에서 말하는 secure는 필연적으로 공격자(attacker)를 가정해야 한다.지금부터 4가지 공격 모델을 모두
본격적으로 암호학에 대한 얘기를 시작하기 전에 우선 암호학의 몇가지 전제 조건들을 알아야 한다.Symmetric-Key Encryption(대칭키 암호)의 경우 그 정의는 다음과 같다.Kerchhoff의 원리는 아래과 같은 질문에서 출발한다."Key를 안전하게 공유했다
crypto : 비밀의, 숨겨진2차 세계대전, 컴퓨터의 발명 이전부터 암호학에 대한 연구는 꾸준히 진행되어져 왔다. "Caesar cipher"와 같이 고전 암호를 필두로 세계대전 중 독일의 Enigma(이를 배경으로 한 영화도 있다)를 거쳐 현대의 수많은 암호 기법까
N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다.I) 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다.II) (I)이 아닌
아래 <그림 1>과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이
흑백 영상을 압축하여 표현하는 데이터 구조로 "쿼드 트리(Quad Tree)" 라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현
한수는 크기가 2^N × 2^N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.N > 1인 경우, 배열을 크기가 2^(N-1) × 2^(N-1)로 4등분 한 후에