전체 글

전체 글

    SQL이란?

    SQL이란?

    데이터베이스의 필요성 In-Memory IDE에서 변수를 만들어 저장한 경우, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라진다. 즉 변수 등에 저장한 데이터가 프로그램의 실행에 의존한다는 것이다. 이러한 경우엔 예기치 못한 상황에서 데이터를 보호할 수 없고, 프로그램의 수명에 의존하게 된다. File I/O 파일을 읽는 방식으로 작동하는 형태이다. 엑셀 시트나 CSV 같은 파일의 형태는 In-Memory에 비해 데이터를 저장하는 방식으로 적절하지만, 데이터가 필요할 때마다 전체 파일을 매번 읽어야 하고 파일의 크기가 커질수록 비효율적이게 된다. SQL 소개 SQL(Structured Query Language)은 데이터베이스 언어로, 주로 관계형 데이터베이스에서 사용한다. 예로 MySQL..

    SQL 명령어 정리

    보호되어 있는 글입니다.

    REST API

    REST API

    REST API란? REST(Representational State Transfer)는 로이 필딩의 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개되었다. REST API는 웹에서 사용되는 데이터나 자원(Resource)를 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식을 말한다. 쉽게 말해서, 개발자가 서로 다른 애플리케이션끼리 프로그래밍 방식으로 통신할 수 있도록 규칙을 정의한 것이다. 비유하자면, 클라이언트와 서버 사이에도 데이터와 리소스를 요청하고 요청에 따른 응답을 전달하기 위한 메뉴판이 필요하다. 이 메뉴판을 보고 클라이언트는 식당에서 식사를 주문하듯 서버에 요청하고, 이에 대한 응답을 메뉴판에 있는 설명처럼 다시 서버..

    [네트워크]HTTP

    [네트워크]HTTP

    HTTP HTTP는 HyperText Transfer Protocol의 줄임말로, HTML과 같은 문서를 전송하기 위한 Application Layer 프로토콜이다. 전통적인 클라이언트-서버 모델에서 클라이언트가 HTTP messages 양식에 맞춰 요청을 보내면, 서버도 HTTP messages 양식에 맞춰 응답합니다. HTTP는 특정 상태를 유지하지 않는 특징(Stateless: 무상태성)이 있다. HTTP messages HTTP massages는 클라이언트와 서버 사이에서 데이터가 교환되는 방식이다. 다음과 같은 두 가지 유형이 있다. 요청(Requests) 응답(Responses) HTTP messages는 몇 줄의 텍스트 정보로 구성되지만, 구성 파일, API, 기타 인터페이스에서 HTTP m..

    [네트워크] 웹을 구성하는 기술

    [네트워크] 웹을 구성하는 기술

    웹(WEB)이란? 인터넷에서 제공되는 하이퍼텍스트 시스템이다. *하이퍼텍스트 : 문서안에 다른 문서의 위치정보 등을 포함하여 문서 간의 정보를 서로 연관 지어 참조할 수 있는 문서 웹은 HTML로 대표되는 하이퍼텍스트 언어와 인터넷이 융합하여 탄생하게 되었다. 클라이언트-서버 아키텍처 웹에서 제공되는 서비스는 주로 서비스를 이용하는(클라이언트)와 서비스 제공(서버)으로 나뉜다. 이러한 구조를 클라이언트-서버 아키텍처라고 부른다. 리소스가 존재하는 곳(서버)과 리소스를 사용하는 앱(클라이언트)을 분리시킨 것을 2티어 아키텍처, 또는 클라이언트-서버 아키텍처라고 부른다. 일반적으로 서버는 리소스를 전달해 주는 역할만 담당한다. 리소스를 저장하는 공간을 별도로 마련해 두는데, 이 공간을 "데이터베이스"라고 부..

    [네트워크] 네트워크를 만드는 기술

    [네트워크] 네트워크를 만드는 기술

    네트워크(Network)란? Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미한다. 부지 내 여러 대의 컴퓨터를 고속으로 접속하기 위한 통신 하드웨어를 말하고, 넓은 의미로는 소프트웨어를 포함한 시스템 전체를 의미한다. 네트워크의 종류 PAN ( Personal Area Network ) : 가장 작은 규모의 네트워크 LAN ( Local Area Network ) : 근거리 영역 네트워크 MAN (Metropolitan Area Network) : 대도시 영역 네트워크 WAN (Wide Ares Network) : 광대역 네트워크 네트워크를 만드는 기술 TCP/IP 기본 LAN과 WAN LAN(Local Area Network) : 근거리 통신망..

    [Java DataStructure] Graph

    [Java DataStructure] Graph

    Graph란? 여러개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조이다. Java의 Collections를 사용하여 프로그래밍 방식으로 그래프를 나타낼 수 있다. 그래프를 생성하는 가장 일반적인 방법은 인접 행렬 또는 인접 목록과 같은 그래프 표현 중 하나를 사용하는 것 구조 및 용어 정점(vertex) : 정점 (vertex): 노드(node)라고도 하며 데이터가 저장되는 그래프의 기본 원소 간선 (edge): 정점 간의 관계 (정점을 이어주는 선) 인접 정점 (adjacent vertex): 하나의 정점에서 간선에 의해 직접 연결되어 있는 정점 가중치 그래프 (weighted Graph): 연결의 강도가 얼마나 되는지 적혀져 있는 그래프 비가중치 그래프 (unweighted Graph)..

    [Java Algorithm] Algorithm with Math (순열 / 조합)

    [Java Algorithm] Algorithm with Math (순열 / 조합)

    순열(permutation)과 조합(Combination)이란? 순열 : 요소 n개 중에 m개를 선택하여 순서에 상관 있게 뽑는 경우의 수. 조합 : 순서에 상관없이 요소 n개 중에 m개를 뽑는 경우의 수. 공식 팩토리얼 (!) 순열 (nPr) : Permutation 조합 (nCr) : Combination 예시) 반복문을 이용한 카드 뽑기 A, B, C, D, E로 이뤄진 5장의 카드가 있다. 이 5장의 카드 중 3장을 선택하여 나열하려고 한다. 나열 조건 순서를 생각하며 3장을 선택 -> 순열 순서를 생각하지 않고 3장을 선택 -> 조합 case 1. 순서를 생각하며 3장을 선택 공식 대입 5P3 = 5! / (5-3)! = (5(5-1)*(5-2)*(5-3)*(5-4)) / 2*(2-1) = 60..