분류 전체보기

공부!/Network

TCP/IP 4계층 : 어플리케이션 계층

1. 어플리케이션 계층 : 사용자가 직접 사용하는 프로토콜 제공 TCP/IP 4계층에선 어플리케이션 사용자가 실제로 네트워크를 사용하기 위한 서비스 프로토콜을 제공한다. 웹 통신을 위한 HTTP, 메일 송수신을 위한 SMTP, 파일 서비스를 위한 FTP, 원격으로 서버 컴퓨터를 조작하기 위한 Telnet 및 SSH가 그 예시이다. 어플리케이션의 목적이 무궁무진한만큼 어플리케이션 프로토콜 역시 무궁무진할 수 있는데, 오늘 날 SNS 등을 포함한 대부분의 네트워크 통신은 이미 널리 보급된 HTTP(S) 프로토콜을 이용하고 있다. 사용자가 보내고자 하는 데이터가 4계층을 통과하면, 4계층 프로토콜에 맞는 헤더가 붙은 데이터가 3계층인 트랜스포트 계층으로 이동한다. 대표적으로 HTTP 헤더가 있다. 2. HTT..

JAVA

Java String 초기화, StringBuilder vs StringBuffer

1. String : 문자열 String은 문자열으로, 조금 특이한 reference type 변수이다. 1) array of char 대부분의 프로그래밍 언어에서 String은 char 타입의 배열로 이루어져있다. char은 유니코드에서 지원하는 charset을 지원하기 위한 2byte의 primitive type 변수이며, 특이하게 양의 타입만을 갖는 unsigned 정수 자료형이다. 이는 자바 역시 마찬가지이다. 문자열 객체의 toCharArray() 메소드를 통해 문자열의 char 하나하나를 뽑아낼 수 있다. public class StringBasic { public static void main(String[] args) { String string = "string"; for (Charact..

공부!/자료구조

Java Map

1. Map이란? # Key - Value 페어의 자료구조 ADT 관점에서의 Map은 key-value 페어의 자료구조이다. 중복되지 않는 key가 가지는 value 값을 저장하면 좋다(value는 중복 가능). 어떤 투표를 한다고 했을 때 각 항목(key)의 득표 수(value), 전화번호(key)에 따른 사람의 이름(value) 등의 예시가 있겠다. Map은 이렇게 중복되지 않는 각 key를 빠른 시간(일반적으로 O(1))에 접근하는 편리함을 제공한다. Map 자료구조에서 특정 key로 value를 찾으면 일반적으로 상수 시간 안에 접근이 가능하다는 것이다. key가 될 수 있는 값은 무궁무진한데, 어떻게 빠른 접근 시간을 보장할까? # hash function 이용 hash function, 한국어..

JAVA

JVM, 자바 프로그램 실행 과정

1. 자바의 특징 1) 자바는 객체지향의 정신을 언어로 녹여냈다. 객체지향이란, 프로그램을 객체의 상호작용으로 보는 패러다임을 말한다. '객체' 란 현실 세계의 물체를 닮아있으며, 객체 지향에서 객체는 상태값과 메소드를 가진다. 상태값은 말 그대로 특정 객체 인스턴스가 가지는 상태값이며, 메소드는 해당 객체가 할 수 있는 동작, 일을 정의한다. 객체 지향 프로그래밍에서는 이러한 객체를 정의하고, 객체의 상태값과 메소드를 이용해 일련의 기능을 수행하도록 한다. 자바는 객체를 class로 표현한다. 자바의 모든 소스코드는 이 클래스 안에 존재한다. 2) 자바는 JRE가 갖춰진 곳이라면 어디서든 동작한다. 개발자가 작성한 .java 소스코드 파일은 javac 컴파일러에 의해 .class 확장자를 가진 자바 ..

김부추
'분류 전체보기' 카테고리의 글 목록 (11 Page)