Developing Myself Everyday
article thumbnail
14890번: 경사로 - Kotlin
백준/구현 2023. 3. 29. 17:31

14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 크기가 N×N인 지도가 있다. 지도의 각 칸에는 그 곳의 높이가 적혀져 있다. 오늘은 이 지도에서 지나갈 수 있는 길이 몇 개 있는지 알아보려고 한다. 길이란 한 행 또는 한 열 전부를 나타내며, 한쪽 끝에서 다른쪽 끝까지 지나가는 것이다. 다음과 같은 N=6인 경우 지도를 살펴보자. 이때, 길은 총 2N개가 있으며, 아래와 같다. 길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 모두 같아야 한다. 또는, 경사로를 놓아서 지나갈 수 있는 길을 만들 수 있다. 경사로는 높이가 ..

article thumbnail
4. MySQL Workbench 로 데이터베이스 구축
Backend 2023. 3. 29. 15:20

이제부터는 개인 프로젝트를 위한 데이터베이스를 구축하기 위한 설정을 마무리하고, 본격적으로 데이터베이스를 만들어보겠다. MySQL Workbench MySQL Workbench는 MySQL 데이터베이스를 관리하고 시각화 하기 위한 공식 GUI 도구이다. 사용자가 데이터베이스를 만들고 수정하며 관리할 수 있도록 그래픽 인터페이스를 제공한다. MySQL Workbench는 데이터베이스 개발, 관리, 설계 및 문서화를 위한 통합 환경을 제공한다. 다양한 툴을 통해 MySQL 서버 관리와 데이터베이스 개발을 할 수 있다. 이런 장점이 많음으로 MySQL Workbench를 이용하고자 한다. 우리는 지금까지 AWS EC2 ubuntu에 APM를 설치하였다. MySQL Workbench의 설치는 아래에서 가능하다...

article thumbnail
Database Schema (데이터베이스 스키마)

데이터 베이스 스키마란? 데이터베이스 스키마란, 데이터페이스에서 사용하는 데이터 구조, 데이터베이스 객체의 구성 및 관계 등을 정의하는 논리적인 구조를 의미한다. 데이터베이스 스키마는 데이터베이스의 구조와 데이터의 종류를 정의하는데 사용된다. 즉, 데이터베이스에 저장되는 데이터의 타입, 크기, 제약 조건, 테이블 간의 관계 등을 정의한다. 데이터베이스 스키마는 물리적인 데이터베이스 객체와 무관하며, 데이터베이스 객체를 생성할때 사용되는 템플릿 또는 설계도와 같은 역할을 한다. 따라서, 데이터베이스 스키마는 데이터의 무결성 및 일관성을 유지하기 위한 중요한 요소이다. 데이터베이스 스키마는 대개 데이터베이스 설계자 또는 데이터베이스 관리자가 작성하며, SQL 문법을 사용하여 생성할 수 있다. 예를 들어, C..

article thumbnail
3. AWS EC2 인스턴스에 APM 설치
Backend 2023. 3. 29. 11:37

우리는 이전의 게시글에서 SSH 클라이언트인 PuTTY를 사용해서 AWS EC2 우분투 서버에 로그인을 하였다. 하지만 이것만으로는 개인 프로젝트를 진행할때 백엔드를 다 구축했다고 말할 수 없다. 클라이언트에서 데이터베이스에서 원하는 값을 찾아오기 위해서는 다음 그림과 같은 과정을 거쳐야 한다. 웹 사이트를 개발할 때 Apache는 클라이언트의 요청을 받아들여 정적 웹 페이지를 반환하거나 PHP 스크립트를 실행하여 동적 웹 페이지를 생성하고, PHP는 스크립트를 실행하여 웹 페이지를 생성하고 MySQL은 데이터를 저장하고 관리한다. 이렇게 함께 작동하면서 웹 사이트를 구성하게 된다. 이 과정을 수행하기 위해서는 우리가 할당 받은 AWS EC2 ubuntu 서버에 APM를 설치하는 과정이 필요하다. 이제부..

1644번: 소수의 연속합 - Kotlin (투 포인터, 에라토스테네스의 체)
백준/기타 2023. 3. 28. 16:31

1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자..

article thumbnail
2. SSH를 사용하여 AWS E2C 인스턴스에 로그인하기
Backend 2023. 3. 28. 13:02

SSH에 대한 이해가 부족한 사람은 아래의 글을 참고하길 바란다 SSH & SCP & SFTP SSH (Secure SHELL, 시큐어 셀) 란? SSH란 인터넷을 통해 다른 컴퓨터나 서버에 안전하게 원격으로 접속하고 명령을 실행하는 프로토콜이다. SSH는 암호화된 통신을 사용하기 때문에, 인터넷을 통해 전 everyday-develop-myself.tistory.com SSH를 사용하여 AWS E2C 인스턴스에 로그인하기 ① PuTTY 다운로드 SSH 명령어를 사용하기 위해서는 SSH 클라이언트 애플리케이션을 설치해야 한다. SSH 클라이언트로는 PuTTY, OpenSSH, SecureCRT 등이 존재한다. 그 중에서 우리는 가장 많이 사용되는 PuTTY를 이용해서 SSH 명령어를 사용하고자 한다. P..

article thumbnail
1. 서버 시작하기 by AWS EC2 서버 할당
Backend 2023. 3. 27. 19:03

이번 게시글은 개인 프로젝트에서 필수적으로 필요한 서버를 할당 받는 방법을 알아보고자 한다. 개인 프로젝트를 시작할때 간단한 프로젝트가 아니라면 서버는 필수적인 요소이다. 서버를 만드는 방법은 크게 두 가지로 나뉜다. ⓛ 클라우드 서비스 제공 업체에서 인스턴스 생성 AWS, Azure, GCP, DigitalOcean, Linode 등의 클라우드 서비스 제공 업체에서는 쉽게 서버 인스턴스를 생성할 수 있다. 이를 위해서는 해당 업체에서 제공하는 콘솔이나 CLI(Command Line Interface)를 사용하여 인스턴스 생성을 진행하면 된다. 대체로 다음과 같은 단계로 인스턴스를 생성할 수 있다. 원하는 운영 체제 선택 (예: Ubuntu, CentOS, Windows Server 등) 인스턴스 유형 ..

article thumbnail
1005번: ACM Craft - Kotlin (위상 정렬)
백준/정렬 2023. 3. 27. 13:30

1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 문제 서기 2012년! 드디어 2년간 수많은 국민들을 기다리게 한 게임 ACM Craft (Association of Construction Manager Craft)가 발매되었다. 이 게임은 지금까지 나온 게임들과는 다르게 ACM크래프트는 다이나믹한 게임 진행을 위해 건물을 짓는 순서가 정해져 있지 않다. 즉, 첫 번째 게임과 두 번째 게임이 건물을 짓는 순서가 다를 수도 있다. 매 게임시작 시 건물을 짓는 순서가 주어진다. 또한 모든 건물은 각각 건설을..