분류 전체보기

whatever_yeonglee
[Spring] 웹소켓(WebSocket)이란 + Spring에서 동작 과정
·SpringBoot
채팅이나 실시간 통신을 할 때, 웹소켓을 많이 사용합니다. 웹소켓은 티키타카티키타카초가 필요한 HTTP와는 뭔가 다를 것 같죠? 웹소켓(WebSocket)이란,서버와 클라이언트의 양방향 통신 프로토콜웹소켓은 TCP 소켓을 기반으로 작동 -> TCP를 사용하기 때문에 데이터의 순서와 신뢰성이 보장됨HTTP는 클라이언트의 요청이 있어야 서버에서 응답을 보낼 수 있는 단방향 프로토콜이지만, 웹소켓은 클라이언트와 서버 모두 데이터를 송수신할 수 있는 양방향 프로토콜HTTP와 동일한 어플리케이션 계층에서 동작웹소켓은 헤더의 크기가 작고 오버헤드가 적기 떄문에 HTTP보다 효율적인 통신이 가능웹소켓은 최초 연결 시, HTTP 접속 후(HandShake) 양방향 메세지를 주고받을 수 있음 웹소켓 접속 과정1. T..
[자료구조] B-Tree란
·CS
B-Tree는 데이터베이스 인덱스를 공부하면서 처음 알게된 자료구조입니다. B트리는 어떤 구조로 데이터를 조회, 삽입, 삭제할 수 있는지 알아보곘습니다.너무 재밌겠죵? B-Tree란이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조 특징M차 B-Tree : 최대 M개의 자식을 가질 수 있는 B-TreeM : 각 노드의 최대 자녀 수M-1 : 각 노드의 최대 데이터(Key) 수⌈M/2⌉(올림) : 각 노드의 최소 자녀의 수⌈M/2⌉-1 : 각 노드의 최소 데이터(Key)의 수Internal노드의 key가 x개라면 자녀 노드 수는 항상 x+1개이다*즉, 모든 노드는 1개이상의 데이터(key)를 가지므로 자녀는 항상 2개 이상이다.*internal노드는 리프노드..
[Java] String equals() 비교
·CS
Java String 비교에 대해서 공부하겠습니다. 느좋 시작~   Java에서 String 비교1. == 연산자 사용 (참조 비교)2. equals() 메서드 사용 (내용 비교)3. compareTo() 메서드 사용 (사전순 비교)   String은 메모리의 Heap 영역과, Method 영역인 String Constant Pool(문자열 상수 풀)에 저장된다.  ==  연산자 비교두 객체의 참조(메모리 주소)를 비교 public class StringCompare { public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = new Str..
[Java] HashMap, LinkedHashMap, TreeMap
·CS
데이터를 전송하거나 저장할 때 Map을 많이 사용합니다!Map에는 HasMap, LinkedHashMap, TreeMap, HashTable 등 다양한 종류가 있습니다. 이 중에서 HashMap, LinkedHashMap, TreeMap의 개념과 차이점을 알아보겠습니다.  Map이란,키-값(Key-Value)쌍을 저장하는 자료구조로 키를 기준으로 데이터를 빠르게 조회할 수 있다.   HashMap해시 테이블을 기반으로 키-값(Key-Value)을 저장하며, 순서를 보장하지 않는 자료구조 해시 함수(hashCode() 기반)로 키를 저장하며, 순서를 보장하지 않음 즉, hashcode() 값을 바탕으로 해시 버킷을 결정하기 때문에 입력 순서와 상관없이 데이터가 저장됨같은 순서로 데이터를 넣어도 해시 충돌이..
DAO, DTO, VO, Entity
·CS
Spring Framework나 MVC 패턴을 사용하게 되면 만나게 되는 "데이터 교환 및 전송"에서 사용하는 개념들을 알아볼게요!    Preview개념역할주요 특징사용 목적VO불변 객체값을 변경할 수 없음, 동등성 비교데이터의 무결성 보장, 동일한 값 객체 재사용DAO데이터베이스 접근DB와 직접 연결, CRUD 수행DB와 비즈니스 로직을 분리DTO데이터 전달값 변경 가능, 직렬화 가능네트워크 성능 최적화, 데이터 보호  DAO(Data Access Object)데이터베이스와의 직접적인 상호작용을 담당하는 객체 특징- 데이터를 CURD(Create, Read, Update, Delete)하는 역할을 수행하며, DB와의 결합도를 낮추고 유지보수성을 향상시킴- DB 연결 및 쿼리 실행 역할을 함- 비즈니스..
[Java] 자바 데이터 타입 & 변수 종류
·CS
Java의 데이터 타입이랑 변수의 종류에 대해 적어볼게요!이게 정말정말 기초인데 은근히 잘 까먹는다니깐요~^^ 잘 기억해봐요!Java 데이터 타입원시 타입(Primitive Type): Numeric Type(byte, short, int, float, long, double, char), Boolean Type(boolean)참조 타입(Reference Type): Class, Wrapper, Interface, Array, Enum Type, 기타 참조 타입(String 등)Java 변수 종류public class Variable { public static int num = 20; // 클래스 변수(전역 변수) int age = 60; // 인스턴스 변수(전역 변수) ..
[Java] JVM 메모리 구조 & Java의 Call by Value
·CS
JVM 메모리 구조에 대해 아시나요?? 자바를 학습하기 위해선 필수로 알아야하는 것이라고 생각해요!  JVM(Java Virtual Machine) 이란?자바 가상 머신은 Java의 바이트 코드를 해석하고 실행하는 역할을 한다.OS(운영체제)에 상관없이 실행할 수 있음.java는 JVM 위에서 실행 됨.JVM이 설치된 모든 운영체제에서 java 파일을 실행할 수 있음.: 자바는 플랫폼에 독립적이므로, 자바로 작성된 프로그램은 어떠한 운영체제에서도 실행시킬 수 있음.JVM 실행 순서1) .java 파일을 컴파일러(Compiler)를 통해 바이트 파일(.class)로 변환2) .class 파일을 JVM의 클래스로더(ClassLoader)에게 전송3) 클래스로더에서 JVM 런타임 영역으로 로딩(할당)하여 메모..
[코드트리] 포탑 부수기 - 삼성SW역량테스트 기출문제
·알고리즘
일단 이 문제는요~ 쉬운데 어렵고 어려운데 쉬운 문제에요 ^^ 깜찍이로 마음의 안정부터하고 시작~ 문제 설명문제 링크 (아래 사진 클릭) 요약- NxM 크기의 격자에서 K번의 공격을 진행 - 다음의 4가지 순서를 반복 (*살아남은 포탑의 수가 1개 이하면 즉시 종료) 1. 공격자 선정 - 공격자 : 공격력이 가장 약한 포탑 => 공격력이 (N+M)만큼 증가함 - 대상자 : 공격력이 가장 강한 포탑 * 선정 기준 - Weak => 가장 약한 포탑 1. 같은 공격력을 가진 포탑이 여러개면, 가장 최근에 공격한 포탑이 Weak 2. 가장 최근에 공격한 포탑이 여러개면, (행 + 열)의 합이 가장 큰 포탑이 Weak 3. (행 + 열)이 같은 포탑이 여..
영리제리
'분류 전체보기' 카테고리의 글 목록