CS & Network/컴퓨터 네트워크(Network)

[네트워크 network] TCP 3-way HandShake & 4-way HandShake

최근 복습을 하면서 TCP와 UDP의 차이점에 대해 공부했습니다. 간단히 정리해보자면. TCP는 연결형 서비스로 3 핸드 세이킹 과정을 통해 연결을 설정하여 가상 회선 방식을 사용해서 순서와 신뢰성을 보장하지만 속도가 느리고, UDP는 비연결형 서비스로 신뢰성이 떨어지고 데이터그램 방식을 사용합니다. 수신 여부 따위는 확인하지 않아 속도가 빠르죠. 이번 시간에는 TCP가 연결을 할 때 사용하는 3 핸드 셰이킹(3-way HandShake), 연결을 해제할 때 사용하는 4 핸드 셰이킹(4-way HandShake)이 무엇인지 한 번 자세히 정리해보려고 합니다. TCP 3방향 핸드셰이크(TCP 3-way HandShake)란? TCP는 안전한 통신을 위해 통신 시작 전, 사전 연결 작업을 진행합니다. 목적지..

2022.02.21 게시됨

Back-end/Spring

[Spring / TIL] @Transactional(readOnly=true) 가 꼭 필요한가?

Spring 학습을 위해 프로젝트를 진행하던 도중 조회한 값을 return 해주는 메소드에 당연하게 @Transactional(readOnly=true) 어노테이션을 사용했습니다. 막연하게 롤백(rollback) 때 사용하니까 @Transactional 어노테이션을 사용하긴 하지만, C, U, D 메소드가 아닌 읽어 오는 메소드는 @Transactional(readOnly=true)를 왜 사용하지? 아예 @Transactional 어노테이션을 안 붙이면 되지 않나?라는 궁금증이 들었고, 이번 기회에 확실하게 알아보려고 합니다. 트랜잭션(Transaction) 이란? 데이터베이스의 상태를 변경하고자 할 때, 한번에 수행되어야 하는 연산들을 의미합니다. Nest.js의 예를 먼저 들어보겠습니다. async ..

2022.02.19 게시됨

CS & Network/운영체제(OS) & 컴퓨터구조

[운영체제(OS)] 페이징(Paging), Fragmentation(단편화), TLB 란?

저번 시간까지는 메모리 관리를 어떻게 하는지, contiguous allocation이 무엇인지, MMU가 무엇인지에 대해서 살펴봤습니다. 혹시 이 세가지 개념에 대해 모르시거나 헷갈리시는 분들은 저번 게시물을 참고해 주세요! [운영체제(OS)] 메모리관리 - 주소바인딩, Contiguous allocation 그리고 MMU 란? 지난 시간까지 살펴봤던 멀티프로그래밍에서는 다른 프로세스/쓰레드 끼리 통신을 하게 되고 공유자원을 사용하다 보니 문제점도 많았고 그에 대한 해결책을 살펴봤었습니다. 이번 시간부터는 resilient-923.tistory.com 0. Fragmentation이란? 먼저 저번시간에 배운걸 간단히 복습해보겠습니다. contiguous allocation을 하면 일단 MMU가 굉장히 ..

2022.02.17 게시됨

자료구조 & 알고리즘/프로그래머스(programmers)

[programmers] 후보키(2019 KAKAO BLIND RECRUITMENT)

https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 최근 문제를 풀면서 유형이 정해져 있지 않은 구현문제푸는 연습을 많이 해야겠다는 생각을 했습니다. 때문에 프로그래머스에서 2단계 문제들을 모두 풀어보고 있죠. 이 문제 또한 단순한 구현 문제인데, 생각하고 푸는데 꽤 오랜 시간이 걸렸습니다...

2022.02.15 게시됨