
자바 가상 머신, JVM(Java Virtual Machine)은? 자바 가상 머신은 자바 코드 또는 애플리케이션을 구동하기위한 런타임 환경을 제공하는 엔진이다. JVM은 자바로 작성된 애플리케이션을 기계어로 변환시켜 동작시키는 역할을 한다. 그리고 자바와 운영체제 사이에서 중계자 역할을 하여 자바가 운영체제나 하드웨어에 종속적이지 않도록 도움을 준다. 반대로 JVM은 운영체제에 종속적이기 때문에 운영체제에서 실행 가능한 JVM이 필요하다. 자바 프로그램 실행 순서 프로그램이 실행되면 자바 컴파일러(javac)가 자바 파일(.java)를 바이트코드(.class)로 변환한다. Class Loader로 바이트 코드를 JVM에 로딩한다. Execution Engine은 로딩된 클래스 파일들을 해석한다. 해석된..

시작 서버를 개발할 때 사용한 기술은 Springboot와 Websocket, Stomp, Redis이다. Websocket, Stomp 사용법은 스프링 공식 가이드에 친절하게 설명되어 있어 참고하였고 Redis는 단순 대화 내용을 저장하기 위한 용도로 사용하였다. ※ 글에 작성된 내용은 기본 Controller와 설정만 작성 하였습니다.(자세한 코드는 Github) 프로젝트 생성 프로젝트 생성은 Spring Initializr를 사용했다. Dependencies를 검색해서 추가하면 의존성이 추가된 프로젝트를 생성해주기 때문에 간편하다. 물론, IDEA에서 프로젝트를 생성하고 의존성을 추가해도 상관없다. WebsocketConfiguration package com.java.chat.configurati..

메신저를 만들게 된 이유? 지금까지 해왔던 프로젝트의 대부분은 RESTful API를 만든 다음 클라이언트와 서버가 HTTP 통신을 통해 정보를 공유하는 프로젝트였다. 그안에서 실시간 서비스를 구현해보려고 해봤지만, 기본적으로 HTTP는 클라이언트가 서버에 요청해야만 정보를 얻을 수 있는 단방향 통신이기 때문에 생각처럼 구현되지 않았던 경험이 있다. 그래서 이번 기회에 양방향 통신을 하는 서비스를 만들어보고 싶었고 선택한 것이 1:1로 실시간 대화가 가능한 메신저이다. 웹소켓? 웹소켓은 TCP 연결을 통해 서버와 클라이언트가 양방향 통신을 가능하게 해주는 통신 프로토콜이다. 웹 클라이언트의 요청 시에만 서버의 정보를 받을 수 있는 HTTP 방식과는 다르게 클라이언트의 요청이 없어도 이벤트가 발생하면 서버..

HTTP (HyperText Transfer Protocol) W3 상에서 서버/클라이언트가 정보를 공유하기 위해 사용하는 프로토콜 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 동작 상태를 가지고 있지 않는 Stateless 프로토콜이며 클라이언트가 서버에 요청을하는 단방향 통신 Method, Path, Version, Headers, Body 등으로 구성 HTTP Request 클라이언트가 서버에게 특정 Method를 사용하여 요청하는 것으로 Headers(Start Line 포함), Body로 구성 Start Line HTTP Method / Request target / HTTP version HTTP Method - 요청의 목적 GET: 리소스 요청 POST: 내용 전송 PUT: 내용 갱신 ..
- Total
- Today
- Yesterday
- Access Modifier
- 인스턴스연결
- 하이버네이트
- java persistence api
- Context Switch
- 웹소켓
- REST API
- 의존성 주입
- 접근제어자
- java
- REST ful
- react
- AWS
- context switching
- ec2
- os
- Adapter
- 멀티프로세스
- openssh
- ORM
- 메신저
- observer
- Dependency Injection
- GOF
- 컴퓨터공학
- operating syatem
- 운영체제
- 인스턴스
- websocket
- full duplex
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |