목록분류 전체보기 (50)
개발저장소
학습 PointAPIInterfaceAPI (Application Programming Interface)란 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미한다. 참고로 API는 과거로부터 점점 발전된 용어로, 라이브러리나 프레임워크를 설명하는 명세서, Web API, Web Socket API 등 여러 대상을 지칭한다. 인터페이스(Interface)는 서로 다른 두 개의 시스템, 혹은 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다.내부가 어떻게 구현되어 있는지는 상관없이 인터페이스를 통해 통신이 가능하다. API의 장점제공자는 서비스의 중요한 부분은 드러내지 않아도 된다.사용자는 해당 서비스가 어떻게 구현되었는지 알 필요 없다.Open API의..
1. 클라이언트 / 서버 아키텍처와 비교 서버 측 구성요소 프로그래밍 언어: Java, C#, Ruby, Python 등호스팅 환경: AWS, Microsoft Azure, Google Cloud Platform, Heroku, VPS 등 클라이언트 측 구성요소 프론트엔드: HTML/CSS/JavaScript접근 방법: 웹 브라우저, curl/wget(커맨드라인), API 중앙화된 아키텍처의 특징:하나의 중앙화된 웹 애플리케이션이 존재모든 클라이언트가 이 단일 애플리케이션과 상호작용요청-응답 흐름클라이언트 → 서버 요청서버가 요청 처리데이터베이스/캐시와 상호작용 (읽기/쓰기/업데이트)서버 → 클라이언트 응답 반환 2. 이더리움 탈중앙화 아키텍처 탈중앙화 구조의 특징모든 클라이언트가 애플리케이션..
1. 이더리움의 탄생 배경비트코인의 한계비트코인 블록체인: 주로 중앙기관 없이 당사자 간 송금에 사용송금 외 다른 분야 적용의 한계 중앙화 시스템의 문제점 (ex. 페이스북)페이스북 주식회사가 사용자 데이터 소유회사가 원하면 사용자 계정 제거 가능회사 폐쇄 시 모든 데이터 손실 위험 2. 이더리움의 정의와 특징이더리움이란? 퍼블릭 블록체인 기반의 분산 컴퓨팅 플랫폼전세계 수많은 작은 컴퓨터로 구성된 하나의 큰 컴퓨터응용 프로그램을 작성하고 글로벌 컴퓨터에서 실행 가능 이더리움의 보장 사항무중단 서비스: 시스템이 멈추지 않고 24시간 운영검열 저항성: 누구도 특정 거래나 앱을 차단할 수 없음변조 불가능성: 사기나 데이터 조작이 불가능탈중앙화: 제3자의 개입이나 통제 없이 자율 운영영구 접근성: 언제든지 애..
학습 Point운영체제의 정의운영체제의 역할운영체제의 구조 운영체제(OS, Operating System)란 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 운영체제는 크게 네 가지 역할을 한다. 운영체제의 커널이 담당한다.CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지.메모리 관리디스크 파일 관리I/O 디바이스 관리 운영체제는 다음과 같은 구조를 가지고 있다. 유저 프로그램 아래에 GUI, 시스템콜, 커널, 드라이버가 있고, 가장 아래에 하드웨어가 있는 구조이다. 여기서 GUI, 시스템콜, 커널, 드라이버 부분이 운영체제를 지칭한다. GUI(Graphical User Interface)는 사용자가 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태이다. 단순한 명령..
문제https://www.acmicpc.net/problem/1018 풀이체스판은 흰색과 검은색이 번갈아가면서 칠해져있어야 한다. 인접한 칸이 같은 색이면 안된다.N X M 크기의 보드를 8 X 8 사이즈로 잘라 체스판을 만드려고 한다.이렇게 잘라서 만든 체스판은 색이 잘못된 경우 새로 칠하려고 한다.자를 수 있는 체스판의 경우 중에서, 새로 칠하는 횟수가 가장 적은 경우의 최소 개수를 출력한다.문제를 풀기 위해선 두 가지 포인트를 해결해야 한다.첫째, N X M 사이즈의 보드를 어떻게 체스판 사이즈로 나눌 것인가.둘째, 새로 칠하는 횟수를 어떻게 구해야 할 것인가. 첫째는 만들어질 수 있는 체스판의 경우의 수는 (N - 7) * (M - 7)이 된다.(0,0)을 첫 번째 칸으로 가지는 체스판부터, (..
오라클에는 기본적으로 제공하는 내장 함수와 사용자 정의 함수가 존재한다.내장 함수는 한 행당 결과가 나오는 단일행 함수와 여러 행이 하나의 행으로 결과가 반환되는 다중행 함수로 나뉜다. 1. 문자 함수문자 데이터를 가공하거나 특정 결과를 도출하는 함수이다. UPPER문자 데이터를 모두 대문자로 반환한다.LOWER문자 데이터를 모두 소문자로 반환한다.INITCAP문자 데이터를 첫 글자는 대문자, 나머지를 소문자로 반환한다.SELECT ENAME, UPPER(ENAME), LOWER(ENAME), INITCAP(ENAME)FROM EMP; LENGTH문자열 길이를 구하는 함수 SUBSTR문자열의 일부를 추출하는 함수SUBSTR(문자열 데이터, 시작 위치, 추출 길이)SUBSTR(문자열 데이터, 시작 위치) ..
WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하기 위해 사용한다.SELECT [열1 이름, 열2 이름 ... ]FROM [테이블 이름]WHERE [조회할 행을 선별하기 위한 조건식]; DEPTNO의 값이 30인 행만 출력하기 위해서는 다음과 같다.SELECT *FROM EMPWHERE DEPTNO = 30; 논리 연산자 AND, ORSELECT *FROM EMPWHERE DEPTNO = 30 AND JOB = 'SALESMAN'; SELECT *FROM EMPWHERE DEPTNO = 30 OR JOB = 'CLERK'; 산술 연산자SELECT *FROM EMPWHERE SAL * 12 = 36000;SAL에 12를 곱한 값이 36000인 행을 출력..
SELECT문은 데이터베이스의 데이터를 조회하는 데 사용된다. SELECT과 FROM을 기본 구성으로 SELECT문을 작성한다.SELECT [조회할 열 이름], [열 이름], ..., [열 이름]FROM [조회할 테이블 이름]; 애스터리스크(*)로 전체 열 출력SELECT * FROM EMP; 테이블 부분 열 출력SELECT EMPNO, ENAMEFROM EMP; DISTINCT는 중복 데이터를 제거한다. SELECT절에서 열 이름 앞에서 사용할 수 있다.SELECT DISTINCT DEPTNOFROM EMP;SELECT DISTINCT JOB, DEPTNOFROM EMP; 열이 하나인 경우와 여러 개인 경우 모두 사용 가능하다. 단, 여러 개인 경우 위와 같이 JOB과 DEPTNO의 값이 둘 다 ..
문제https://www.acmicpc.net/problem/18111 풀이마인크래프트의 땅 고르기 작업을 한다. 땅 고르기란, 범위 내의 블록 높이를 같은 상태로 만드는 작업이다.땅 고르기 범위는 N X M 크기이다.하나의 블록을 캐면 2초가 걸리고, 그 블록이 인벤토리에 저장된다.하나의 블록을 설치하면 1초가 걸리고, 인벤토리에서 꺼낸 블록을 사용한다. 인벤토리에 블록이 없다면 설치할 수 없다.땅의 높이는 최소 0, 최대 256이다. 블록은 최대 64,000,000개가 주어질 수 있고, 맵의 크기는 최대 500 X 500이다.맵 전체의 땅을 고르는데 걸리는 최소 시간을 구해야 한다. 만약 시간이 같다면 땅의 높이가 더 높은 경우를 출력한다. 주어진 맵의 크기가 크지 않아 브루트포스 알고리즘을 사용..
1. 데이터베이스(Database)데이터(data)와 베이스(base)의 합성어다. 그렇다면 데이터는 무엇일까? 데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미한다. 이러한 데이터를 가공하여 가치있는 것으로 만든 것을 정보(Information)이라고 한다. 데이터베이스는 데이터를 효율적으로 관리, 검색하고 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있는 구조화한 데이터 집합이다. 그리고 데이터베이스의 데이터 조작과 관리를 극대화한 시스템 소프트웨어를 DBMS(DataBase Management System)이라고 한다. 데이터베이스와 DBMS는 굳이 구분하지 않는 편이다. ※ 데이터의 종류구조적 데이터 (정형 데이터)비구조..