배열: 동일한 자료형를 가지고 연속된 공간에 저장되는 데이터(element)의 집합배열의 길이는 고정이며 변경할 수 없다.배열의 값은 메모리에 연속적으로 저장된다.논리적 저장 순서 = 물리적 저장 순서데이터의 자료형 크기 \* 배열의 길이로 메모리의 크기가 결정된다.자
쌓다, 더미 → 데이터를 쌓는 자료 구조Last In First Out(LIFO, 후입선출)한 쪽 끝에서만 데이터를 넣고 뺄 수 있다.stack인터럽트 처리수식 계산Depth First Search(DFS, 깊이 우선 탐색)재귀 함수줄, 대기 행렬 → 데이터가 줄을 지
root node(최상위 노드), leaf node(자식 노드가 없는 노드), internal node Binary Tree (이진 트리) 부모 노드가 최대 2개의 자식 노드를 가지는 트리 Binary Search Tree (BST, 이진 검색 트리) 왼쪽 자식
binary heap = heap완전 이진 트리(complete binary tree) 기반 자료구조최댓값, 최솟값을 빠르게 찾아낼 수 있다.부모, 자식 노드의 데이터는 대소관계가 성립한다.형제 관계에는 대소관계가 정해지지 않는다.예시 - 우선순위 큐, 다익스트라 알고
self-balancing binary search tree (자가 균형 이진 탐색 트리)balanced: 트리 모양이 균형이 잡혀있다.일반 이진 탐색 트리의 경우 반복적으로 큰/작은 값만 추가되면 한 방향으로 치우칠 수 있다.트리의 높이 ≤ lognsearch할 경우
(Key, Value)로 데이터를 저장하는 자료구조Array를 사용하여 데이터를 저장하기 때문에 검색 속도가 빠르다.각 key값에 hash function을 적용하여 고유한 index 생성index를 활용하여 bucket(slot, 실제 값이 저장되는 장소)에 valu
노드(Node)와 노드를 연결하는 간선(Edge)을 하나로 모아 놓은 자료구조정점 vertex: 위치, node간선 edge: 노드를 연결하는 선, link인접 정점 adjacent vertex: 간선으로 직접 연결된 정점정점의 차수 degree: 무방향 그래프에서 한
HyperText Transfer Protocol인터넷에서 문서를 주고받기 위한 텍스트 기반 프로토콜Hypertext: 참조(Hyper Link)를 통해서 한 문서에서 다른 문서로 접근할 수 있는 텍스트80번 포트 사용대부분의 파일 형식 전송이 가능하다.HTML, JS
Representational State Transfer API웹(HTTP)의 장점을 최대한 활용할 수 있는 아키텍처URI - resource (정보의 자원)HTTP Method - verb (자원에 대한 행위)Representations (표현)Uniform inte
클라이언트가 요청을 보낸다.서버에서 리소스 확인 후 즉시 렌더링 가능한(ready to render) html을 만든 후 응답으로 보낸다.클라이언트에서 HTML이 즉시 렌더링된다. Javascript가 읽히기 전이기 때문에 사용자가 컨텐츠를 볼 수 있지만 조작은 불가능
HTTP는 stateless, connectionless한 특성을 가진다. 서버는 매번 클라이언트가 누구인지 확인해야하고, 이러한 점들을 보완하기 위해 쿠키, 세션을 사용한다.브라우저 로컬에 저장되는 key, value가 들어있는 데이터 파일사용자 인증이 유효한 시간
애플리케이션이 종료되어도 데이터가 사라지지 않고 저장되는 곳JDBC 프로그래밍의 복잡함과 번거로움 없이 간단한 작업만으로 데이터베이스와 연동(자동으로 영속화)되는 시스템을 개발할 수 있다.Object와 SQL 필드를 매핑하여 데이터를 객체화하는 기술SQL에 의존적이다.
소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것Ralph Johnson 랄프 존슨구조 품질을 보장한다.Design Pattern + Class Library설계자가 의도하는 여러 디자인 패턴의 집합으
imageInversion of Control / Dependency Injection (제어의 역전 / 의존성 주입)Aspect Oriented Programming (관점 지향 프로그래밍)Portable Service Abstraction (일관성 있는 서비스 추상
사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴비즈니스 로직과 화면을 구분한다. (관심사 분리)mvcModel: 데이터와 비즈니스 로직 처리View: 레이아웃, 화면 처리Controller: 명령을 model과 view 부분으
<spring.io/projects/spring-boot>Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run"
클라이언트의 요청을 처리하고 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 웹 프로그래밍 기술Server Side Applet의 약어applet: 플러그인의 하나, 전용 위젯 엔진이나 더 큰 프로그램 범위 내에서 실행되는 특정한 작업을 수행하는 조그마한
dispatch: 보내다Front ControllerServlet Container(ex>Tomcat)의 제일 앞단에서 서버로 들어오는 모든 HTTP 요청을 받는다.공통적인 작업을 먼저 처리한다.적절한 컨트롤러에게 요청을 위임한다.Spring Framework가 제공하
공통적인 업무를 따로 관리, 처리로그인 관련(세션 체크) 처리, 권한 체크, XSS(Cross site script) 방어, pc와 모바일웹 분기처리, 로그, 페이지 인코딩 변환 등순서: Filter → Interceptor → AOP → Interceptor → Fi
파일 경로 이름을 받아 일치하는 파일 컨텐츠를 반환한다.image, html, css, javascript 처럼 컴퓨터에 저장되어 있는 파일인자의 내용에 맞게 동적인 컨텐츠를 반환한다.Servlet: WAS 위에서 돌아가는 Java Program (참고)개발자는 서블릿
사용자나 기기(개체)의 신원을 확인하는 과정인증된 사용자는 자신의 신분을 증명하기 위해 authentication factor를 이용한다.은행 계좌에서 출금하려할 경우 신원을 확인할 수 있는 문서를 요구한다.비행기에 타기 위해 여권이 필요하다.위 예시들에서 ID와 여권
Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web TokenClaim: 토큰에서 사용할 정보의 조각https://jwt.io/ 에서 JWT 토큰을 인코딩/디코딩 할 수 있다.토큰 자체를 정보로 사용하는 Self-Contained
인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방향 표준이다.Facebook이나 Twitter 같은 인터넷 서비스의 기능을 다른
Spring 기반의 어플리케이션의 보안(인증, 인가, 권한)을 담당하는 프레임워크보안과 관련된 체계적으로 많은 옵션들을 지원해주기 때문에 개발자가 일일이 보안관련 로직을 작성하지 않아도 된다.Filter Chain 기반 동작Spring MVC와 분리되어 관리 및 동작C
Test Driven Development (TDD) > 반복 테스트를 이용한 소프트웨어 방법론 특징 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다. 짧은 개발 주기의 반복에 의존하는 개발 프로세스 애자일 방법론
W3C World Wide Web Consortium 월드 와이드 웹(WWW)을 위한 표준을 제정하고 관리하는 중립 기관 대표 웹 표준 HTML, CSS, DOM, SVG, XHTML, XML, … HTML HyperText Markup Language 웹
A JavaScript library for building user interfacesUI Libraryhttps://reactjs.org/라이브러리의 일부분만 가져와서 사용할 수 있다.필요할 때 쓰고 빼며 부분적으로 사용 가능하다.전역 상태 관리, 라우팅,
가장 원시적인 형태의 앱스마트폰의 운영체제별로 개발 방식이 완전히 다르다.안드로이드 - Java or Kotlin, iOS - Objective-C or Swift해당 운영체제가 허용하는 모든 자원과 기능들을 직접 활용할 수 있다.내장 카메라, 센서, 파일 시스템 등다
데이터를 받는 방식동기식/비동기식요청과 결과가 동시에 일어난다요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 응답(결과)이 주어져야 한다.A노드와 B노드 사이의 작업 처리 단위(트랜잭션)를 동시에 맞추겠다.추구하는 목적이 같고 행위가 동시에 이루어진다.설계가 매우
교차 출처 리소스 공유아래 중 한 가지라도 다른 경우프로토콜 - http와 https도메인 - abc.com과 abc-x.com포트 번호 - 8080과 3000추가 HTTP 헤더를 사용하여 한 출처에서 실행 중인 웹 어플리케이션이 다른 출처의 선택한 자원에 접근할 수
데이터베이스에서 조건에 만족하는 튜플을 찾거나 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 속성유일성을 만족하는 키어떤 속성끼리 묶든 중복값이 나오지 않고 서로 구별할 수만 있으면 된다.예: {이름 + 나이}, {주민등록번호 + 주소}, {학번}, {주민등록번호}
추가적인 쓰기 작업과 작업 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조책의 앞뒤에 있는 색인(index)을 통해 원하는 내용을 쉽고 빠르게 찾을 수 있다.데이터베이스에서도 데이터와 위치를 포함한 자료구조를 통해 빠르게 조회할 수 있다.테이
테이블간의 관계성에 따라 여러 개의 테이블을 결합하고, 하나의 테이블인 것처럼 결과를 출력한다조인하는 두 개 테이블 모두에 데이터가 공통적으로 존재하는 행에 대해서만 결과를 가져온다교집합 연산SQL예시inner join 전 inner join 후 매칭되는 행이 없어
데이터베이스 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위한꺼번에 모두 수행되어야 할 일련의 연산들데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 논리적 작업 단위사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환
SQL Structed Query Language 구조화된 질의 언어 RDBMS에서 데이터를 저장, 조작, 검색하는데 사용되는 쿼리 언어 대표 RDBMS (RDB Management System) 관계형 데이터베이스 관리 시스템 MySQL Oracle SQLite
관계형 데이터베이스 설계에서 중복을 최소화하기 위해 데이터를 구조화하는 프로세스테이블 간 중복 데이터 허용하지 않음으로써 데이터 무결성 유지논리적 데이터 모델링 단계에서 데이터의 중복과 종속으로 인한 이상 현상을 방지크고 제대로 조직되지 않은 테이블들과 관계들을 작고
쿼리문을 하나의 메서드 형식으로 만들고 동작을 일괄적으로 처리한다.미리 작성된 SQL 코드를 저장해두고 언제든지 재사용할 수 있다인자를 저장 프로시저에 넘겨주어 인자값을 바탕으로 실행할 수 있다.인자 X인자 1개인자 여러개요청 하나로 여러 SQL문 실행네트워크 소요 시
한 클래스 안에서 같은 메서드명을 가지지만 시그니처(인자의 개수, 타입)를 달리하여 중복으로 선언하는 것메서드 이름이 같아야 한다.반환형이 달라도 된다.반환형은 시그니처에 포함되지 않는다.인자의 개수가 달라야 한다.인자의 개수가 같을 경우 타입이 달라야 한다.상속했을
두 객체가 완전히 같은 경우, 하나의 객체주소 값이 같기 때문에 두 변수가 같은 객체를 가리키게 된다.== 연산자를 통해 동일한지 판단할 수 있다.primitive 타입은 객체가 아니라 주소가 없으므로 == 연산자를 사용했을 때 값이 같으면 동일하다고 말한다.두 객체가
실행 중인 프로그램사용자가 작성한 프로그램이 OS에 의해 필요한 자원을 할당받아 실행 중인 것각각 독립된 메모리 영역(code, data, stack, heap)을 할당받음프로세스 = 프로그램 + 프로세스 제어블록(PCB)프로세스 내에서 실제로 작업을 수행하는 주체모든
스레드가 교체될 때 현재까지의 작업 상태나 다음 작업에 필요한 각종 데이터를 저장하고 읽어오는 작업컴퓨터에서 동시에 처리할 수 있는 작업의 수 = CPU 코어의 수코어수보다 많은 스레드가 실행되면 각 코어는 정해진 시간 동안 여러 작업을 번갈아가며 수행한다.문맥 교환에
여러 태스크를 같은 시간(at the same time, concurrently)에 실행하지만 반드시 동시에(simultaneously) 진행되지는 않는다.Concurrency means executing multiple tasks at the same time but
한 프로세스 내부의 여러 스레드들은 같은 자원을 공유하여 사용할 수 있다. → 병렬성의 향상여러 가지 일을 같은 자원을 두고 동시에 수행할 수 있다.멀티 프로세싱보다 context switching 오버헤드가 작아 메모리 리소스가 상대적으로 적다.하나의 자원을 두고 경
스레드 안정성(Thread-safety) 보장성능(performance)확장성(scalability)스레드 안정성을 확보하는 방법(how they achieve thread-safety)한 번에 하나의 스레드만 객체에 접근하도록 허용한다.synchronized obje
정상적인 프로그램의 흐름을 어긋나는 것입력 값에 대한 처리가 불가능하거나, 프로그램 실행 중 참조값이 잘못된 경우 등자바의 예외는 개발자가 예외 상황을 미리 예측하여 코드에서 직접 처리할 수 있다.시스템에 비정상적인 상황이 발생한 경우주로 자바 가상 머신에서 발생시킴어
specification: 자바 바이트코드가 실행될 수 있는 런타임 환경을 제공해주는 명세Oracle 등의 회사에서 구현체(JRE)를 제공해준다.implementation provider가 알고리즘을 선택하지는 않는다.implementation: JVM의 구현체는 JR
데이터의 집합, 그룹다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것List 인터페이스: 순서가 있는 데이터 집합Set 인터페이스: 집합적
Class의 인스턴스가 생성된 이후에 내부 상태가 변경 가능한 객체멀티 스레드 환경에서 사용하려면 별도의 동기화 처리가 필요하다.ArrayList, HashMap, StringBuilder, StringBuffer커스텀 객체를 생성하여 내부 상태를 변경할 수 있게 만든
Java에서 문자열을 다루는 대표 클래스String은 불변(immutable), StringBuilder와 StringBuffer는 가변(mutable)의 속성을 가진다.연산 횟수가 많아지거나 멀티 스레드, Race condition 등의 상황이 자주 발생한다면 각 클
유효하지 않은 메모리처음에 “Jiho”라는 이름으로 생성된 객체는 더 이상 참조와 사용을 하지 않기 때문에 가비지가 되었다.Java의 메모리 관리 방법 중 하나Heap 영역에 동적으로 할당했던 메모리 영역 중 필요없어진 메모리 영역을 주기적으로 삭제하는 프로세스C언어의
객체를 파일에 쓰거나 읽어야 하는 경우다른 서버로 객체를 전송하거나 받아야 하는 경우 → JVM의 역할 자바 시스템 내부에서 사용되는 객체/데이터를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태 데이터로 변환하고(직렬화), 다시 객체로 변환(역직렬화)하는
데이터가 메모리에 어떻게 저장되고 프로그램에서 어떻게 처리되어야 하는지 명시적으로 알려준다.기본형참조형8가지 기본형을 미리 정의하여 제공한다.default 값이 있기 때문에 null이 존재하지 않는다.Stack 메모리에 저장된다.변수의 실제 값(리터럴) 자체를 가진다.
기본 데이터형은 변수값의 크기와 타입을 나타낸다.메서드가 없다.기본형을 객체로서 사용할 수 있는 방식모두 null이다.코드가 어떻게 동작해야하는지에 따라 다르다.무엇을 사용해야 할지 확신이 없다면, 항상 primitive type을 사용하라.해답 대신 질문을 이끌어내기
모든 Java 객체의 조상 객체인 Object 클래스에 equals()와 hashCode()가 정의되어 있고, 이를 상속받는다.Identity vs Equality - equals()(https://velog.io/@jummi10/Identity-vs-Equa
구현부 없이 선언부만 작성하는 메서드abstract 예약어를 반환형 앞에 붙인다.인스턴스가 생성되어 실제 동작하는 클래스는 추상 메서드를 가질 수 없다.서브 클래스마다 기능을 다루는 방법이 다른 경우서브 클래스에서 특정 메서드를 반드시 구현하도록 강제하고 싶은 경우기본
객체를 통해 클래스의 정보를 분석하는 프로그램 기법사전적 의미: 투영, 반사실행 중인 자바 프로그램 내부를 검사하고 속성을 수정할 수 있도록 한다.자바 클래스가 가진 모든 멤버의 이름을 얻거나 보여줄 수 있다.자바가 아닌 다른 언어에서는 없는 특징Spring동적으로 인
데이터 타입(data type)을 일반화(generalize)한다.클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 시 미리 지정하는 방법type을 파라미터로 가지는 클래스와 인터페이스반환값에 대한 타입 검사와 타입 변환에 들어가는 노력을 줄일 수 있다.자바 컴파일
메서드를 하나의 식으로 표현한 것메서드람다식익명 클래스단 하나의 객체만을 생성할 수 있는 클래스클래스를 작성하고 객체를 생성하지 않아도 메서드를 사용할 수 있다.함수를 만드는 과정 없이 한 번에 처리할 수 있어 생산성이 높아진다.불필요한 코드를 줄여주고 작성된 코드의
다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공외부 반복을 통해 작업하는 컬렉션과 달리 내부 반복(internal iteration)을 통해 작업을 수행한다.재사용이 가능한 컬렉션과 달리 한 번만 사용할 수 있다.원본 데이터를 변경하지 않는다.필터-
관련된 상태와 행위를 하나의 객체로 만들고, 객체들간의 유기적인 상호작용을 통해 프로그램을 구성하는 것코드 재사용이 용이해진다.다른 사람이 만든 클래스를 사용할 수 있고, 상속을 통해 확장할 수도 있다.소프트웨어 개발과 유지보수가 편리해진다.수정해야하는 부분이 클래스
추상화캡슐화상속다형성공통 속성이나 기능을 추출하는 작업클래스를 설계하는 것 자체세부적인 사물들의 공통적인 특징으로 파악한 후 하나의 집합으로 만들어내는 것추상적인 개념에 의존하여 설계해야 유연함을 갖출 수 있다.객체가 내부적으로 어떻게 기능을 구현하는지 감춘다.추상화의
제공해야 하는 기능을 찾고 세분화한 다음, 알맞은 객체에 할당한다.기능을 구현하는 데 필요한 데이터를 객체에 추가한다.데이터를 이용하는 기능을 최대한 캡슐화하여 구현한다.객체간 메서드 요청을 어떻게 주고받을지 결정한다.Single Responsibility Princi
오늘 요구하는 기능을 온전히 수행하면서, 내일의 변경을 매끄럽게 수용할 수 있는 설계객체에게 올바른 책임을 할당한다.결합도를 줄이고 응집도를 높인다.위 원칙을 따르며 설계를 한다면 요구사항 변경에 대처하기 쉬워진다.OOP는 객체 사이 의존성을 효율적으로 통제할 수 있는
Open Systems Interconnection Reference Model개방형 시스템 상호 연결 모델다양한 통신 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 개념 모델컴퓨터 네트워킹을 위한 보편적인 언어다양한 컴퓨터 시스템의 상호
최신 인터넷은 OSI 모델을 엄격하게 따르진 않고, 더 간단한 인터넷 프로토콜 집합을 가깝게 따른다.OSI 모델에서 presentation, session 계층이 없는 형태필요하다면 application 계층에 구현하면 된다.TCP/IP 5계층 소프트웨어 모델이라고도
서로 다른 컴퓨터나 네트워크 장비가 서로 통신하기 위해 미리 정해 놓은 약속, 규약어떻게 상대를 찾고, 이야기를 시작하고, 어떤 언어로 이야기하며, 어떻게 이야기를 종료할까와 같은 규칙을 결정해야 한다.데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약인터넷
www.google.com을 검색한다면?브라우저에 url을 입력한다.DNS Query: 입력한 도메인 주소를 가지고 DNS 서버에서 IP 주소를 얻는다.TCP handshake: 브라우저가 IP 주소에 대한 커넥션을 수립한다.HTTP 요청: IP 주소에 해당하는 컴퓨터
네트워크 계층 중 전송 계층(Transport layer)에서 사용된다.데이터 전달 담당인터넷 상에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜인터넷 환경에서 기본으로 사용된다.일반적으로 TCP와 IP가 함께 사용된다.TCP: 패킷 추적, 관리I
보안은 솔루션이다보안의 수준은 보안 솔루션들의 연계를 얼마나 효율적으로 하는가에 따라서 달라진다.외부로부터의 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호 간 영향을 차단하기 위한 보안 시스템보안 솔루션의 대표 주자IP 주소와 포트 기반으로
평문을 특정 키를 사용해서 해독할 수 없는 형태로 변경하는 것평문을 암호화하는 것은 가능하지만 암호문을 평문으로 복호화할 수 없는 기법HASH암호학적, 수학적으로 복호화가 거의 불가능하다고 증명된 알고리즘SHA1계열은 안전하지 않다.SHA2계열SHA-256비밀번호, 인
현재 쓰고 있는 서버가 모든 트래픽을 감당하지 못할 경우 서버를 증설해야 한다.서버의 성능을 올리는 것CPU, RAM 추가, Disk 증설 등 고사양의 부품으로 교체하거나 서버 자체를 고사양으로 변경한다.집중 방식으로 구성해야하거나 분할 처리가 어려운 경우데이터베이스
시스템 자원에 대한 요구가 뒤엉킨 상태둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황아래 4가지 조건이 동시에 성립할 경우 교착 상태가 발생한다.4가지 조건 중 하나라도 성립되지 않도록 만든다면 교착 상태를 해결할 수
인터넷에 연결된 모든기기들을 서로 구분하기 위해 각 장비에게 부여되는 고유 주소전 세계적으로 사용된 첫 번째 인터넷 프로토콜32비트를 4등분, 8비트씩.으로 구분10진수로 표현총 42억 9천개의 주소0~2^32-1개인이 노트북, 핸드폰, 와이파이 공유기, 티비 등 IP
실행 중인 프로그램사용자가 작성한 프로그램이 OS에 의해 필요한 자원을 할당받아 실행 중인 것각각 독립된 메모리 영역(code, data, stack, heap)을 할당받음프로세스 = 프로그램 + 프로세스 제어블록(PCB)프로세스 내에서 실제로 작업을 수행하는 주체모든
악의적인 사용자가 보안상의 취약점을 이용하여 임의의 SQL문을 주입하고 실행되게 해서 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위OWASP Top10 중 첫번째가장 많이 빈번하게 일어나는 공격공격이 쉽고 성공할 경우 큰 피해를 입힐 수 있는 기법DB를 공격한다
Micro Service Architecture단일 프로그램을 컴포넌트별로 나누어서 작은 서비스의 조합으로 구축하는 방법복잡한 웹 시스템에 맞춰 개발된 API 기반의 서비스 지향적 아키텍처 스타일MSA 적용 전 MSA 적용 후 데이터 분리 (Database Per
디지털 기술자료의 디지털화를 통한 복합적 분석사물인터넷(IoT), 공유경제 및 클라우드 소싱, 자율 주행, 인공지능, 빅데이터바이오 기술생물학 정보의 분석 및 기술 정밀화를 통한 건강 증진유전공학, 합성 생물학, 바이오 프린팅물리학 기술현실공간과 가상공간의 연계를 통한
데이터베이스 어플리케이션, 데이터베이스 자체, 운영체제 등의 조정을 통하여 데이터베이스 시스템의 성능을 향상시키는 작업일반적으로 시스템 성능 저하 문제는 잘못된 APP 및 DB 설계에 의해 발생한다.DB 튜닝은 이러한 성능 저하를 최소화한다.갈수록 복잡화, 대량화되는
사용하는 프로토콜과 버전HTTP 메서드요청 urlGET / HTTP/1.1상태 코드와 메세지HTTP/1.1 200 OKDate메세지가 생성된 날짜와 시각ConnectionKeep-Alive 설정Content-LengthContent-Length: 32Content-Ty
하나의 플랫폼을 물리적/논리적인 3계층으로 나누어서 구축/운영하는 형태presentation tier데이터를 표현해주는 계층front-end사용자 인터페이스를 제공한다.web server이미지, html, css, jsapplication tier데이터를 처리하는 계층
객체의 인스턴스가 오직 1개임을 보장하고, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴생성 패턴(Creational Pattern) 중 하나이다.생성된 인스턴스에 어디에서나 접근할 수 있다.시스템이 어떤 구체 클래스를 사용하는지에 대한 정보를 캡슐하한