분류 전체보기(619)
-
우아한 테코톡(13), 트랜잭션
본 포스팅은 우아한Tech의 테코톡 샐리님의 트랜잭션 영상을 정리한 내용입니다. 트랜잭션의 개념과 특징, 속성을 위주로 정리했습니다. 트랜잭션 Q. 데이터베이스에 쿼리를 날릴 때 결과를 어떻게 신뢰할 수 있을까? 데이터베이스에서는 트랜잭션을 조작함으로서 사용자가 데이터베이스에 대한 완전성을 신뢰할 수 있도록 한다. 트랜잭션이란? 더 이상 나눌 수 없는 가장 작은 하나의 단위 모든 데이터베이스는 트랜잭션 지원하는데 하나의 명령을 실행했을 때 데이터 베이스가 온전히 그 명령을 실행할 수 있도록 돕는다. 데이터베이스는 트랜젝션을 관리할 수 있도록 한다. 데이터베이스에서는 명령을 끝마칠 때가지 수행내역을 로그에 반영한다. 데이터 베이스에 반영된 내용을 재반영하기 위한 redo log와 수행을 실패해 이전 상태로..
2022.10.08 -
풀스택 서비스 네트워킹(3), OSI Architecture(L4)
OSI Architecture(L4) 1. Transport 계층의 이해 1) 개념 (1) Process-to-Process Delivery 웹서버와 웹브라우저간의 속도 제어를 위한 흐름제어나 에러 검출을 하는 것이 Transport 계층의 핵심적인 내용이다. 하지만 이는 행동적인 측면에서 매우 중요한 부분이지만 어디로 가야하는 지에 대한 '주소'도 매우 중요한 요소이다. 1~2계층에서 바로 옆에 인접한 기기들과의 통신은 node-to-node 통신이라 할 수 있다. 멀리 떨어져있고, 중간에 여러 개의 기기가 있는 경우에는 host-to-host 통신이라 할 수 있다. 따라서 라우팅이 중요했던 3계층에서는 host-to-host라는 표현을 사용한다. 4계층에서는 한 컴퓨터에서의 프로그램의 주소값인 포트 ..
2022.10.07 -
풀스택 서비스 네트워크(2), OSI Architecture(L1~L3)
OSI Architecture의 대표적인 예시를 알아보고 어떤 문제가 있는지를 위주로 수업을 진행할 예정 1. 기본적인 단어의 이해 (1) Message Medium을 통해 sender와 receiver가 주고 받는 것 (2) Sender 보내는 컴퓨터 (3) Receiver 받는 컴퓨터 (4) Medium 통신을 위한 매개(유무선) (5) Protocol 서로 메세지를 보낼 때 지켜야할 약속으로 메세지에 대한 형식 뿐만 아니라 메세지를 받았을 때의 동작 등등 자세하게 기술해놓는다. 2. MAC 계층(L2) 1) 분류 Random access protocols Controlled access protocols channelization protocols 랜덤엑세스 프로토콜은 서버가 가장 많이 사용하는 기..
2022.09.30 -
자바 디자인패턴(1), 전략 패턴(Strategy pattern)
전략 패턴(Strategy pattern) 여러 알고리즘을 하나의 추상적인 접근점(인터페이스)을 만들어서 접근점에서 서로 교환 가능하게 만든다. 클라이언트는 전략을 소유하고 있다. 전략은 각각 A, B, C가 있고, Strategy는 인터페이스로 구현한다. 클라이언트는 Strategy를 직접 호출해 StrategyA, StrategyB, StrategyC를 모두 사용할 수 있다. 요구 사항 신작 게임에서 캐릭터와 무기를 구현해보기 - 무기는 '칼', '검' 두 종류가 있다. => 칼과 검은 각각 알고리즘의 대상이되어 무기는 하나의 인터페이스로 존재할 수 있다. 따라서 이는 전략패턴으로 구현할 수 있다. 무기 인터페이스 선언 // Weapon.java public interface Weapon { publ..
2022.09.30 -
우아한 테코톡(12), GC(Garbage Collection)
본 포스팅은 우아한Tech의 테코톡 조엘님의 GC 영상을 정리한 내용입니다. GC의 동작 원리와 알고리즘을 위주로 정리했습니다. GC(Garbage Collection) 1. GC가 왜 필요한가 1) GC란? 프로그램이 동적으로 할당했던 메모리 영역 중 필요 없게 된 영역을 알아서 해제하는 기법 동적으로 할당한 메모리 영역은 힙 영역을 의미하고, 필요 없게된 영역은 어떤 변수도 가리키지 않는 변수를 의미한다. 이를 제대로 해제하지 않으면 메모리 누수가 발생한다. 자바에서는 GC가 이 역할을 맡아준다. 2) GC의 장점 메모리 누수를 막을 수 있고, 해제된 메모리에 접근하거나 해제된 메모리를 또 해제하는 것을 방지할 수 있다. 3) GC의 단점 어떤 메모리 영역이 해제의 대상이 될지 검사하고 해제하는 것은..
2022.09.23 -
운영체제(1), Introduction
Introduction 1. 컴퓨터란? 컴퓨터 하드웨어 위에서 컴퓨터 소프트웨어가 수행하는 장치 컴퓨터 하드웨어는 cpu, 메모리, io 장치로 구성된 장치이다. 메모리는 주기억장치(메인메모리), 보조기억장치(세컨더리 스토리지)로 나눌 수 있다. 일반적으로 컴퓨터를 지칭할 때 pc를 의미하지만 조금 더 넓은 측면에서 바라본다면 Server computer도 있고, Embedded computer 등등도 있다. 컴퓨터의 정의를 기억하고 보면 더 넓은 범위에서 컴퓨터를 구분할 수 있다. 위의 정의 상에서는 옛날 자동차는 컴퓨터가 아니지만 요즘은 컴퓨터가 맞다고 할 수도 있다. 아반떼는 mcu가 연결되어서 연산을 처리한다. 대표적으로 테슬라는 커다란 메인보드가 동작들을 제어한다. TV 또한 브라운관 티비인 경..
2022.09.20