배열은 모든 데이터를 연속된 메모리에 저장된다. 데이터가 저장될 메모리가 물리적으로 연속되어있기 때문에, 인덱스를 통한 데이터접근이 O(1)이다. 데이터수가 아무리 많더라도, 인덱스만 알면 산술적으로 메모리주소를 계산할 수 있기 때문이다.이에 반해, 링크드리스트는 데이
메인메모리의 데이터를 더 빠르게 동작하는 캐시메모리에 적재할 때 사용되는 원리이다. time locality는 한번 사용된 데이터는 바로 다시 사용될 확률이 높다는 의미이고, 따라서 한번 사용된 메모리는 바로 캐시메모리에 적재된다. spatial locality는 한번
출처 자료 - 10분 테코톡여기서 2번은 어느 곳에서도 참조하지 않고 있기 때문에 unreachable이다.compact 과정은 알고리즘에 따라서 추가될 수도 있다.Eden 영역이 꽉 찼다고 생각해보자minor GC가 발생하면 mark and sweep이 발생한다. 살
application.properties 보다 application.yml이 최근 더 많이 쓰이는데 뎁스를 통해 구분함으로서 사람의 입장에서 가독성이 좋다.
Process & Threadtext는 코드 영역이라고도 불린다.프로세스는 PCB로 관리한다. 쓰레드는 stack 영역은 공유하지 않는다.구글 크롬은 탭마다 다른 프로세스다.
테코톡 - HTTP/1.1, HTTP/2, 그리고 QUICHTTP는 어플리케이션 레이어다. 데이터 전송 과정에 데이터가 유실되면 다시 데이터 요청을 하는 등 신뢰성 구축에 신경을 많이 씀받는 것에 신경쓰지 않고 데이터를 보냄요청이 매우 심플하다. 메소드도 get 밖에
테코톡 OSI 7 Layer 물데네전세표응 Physical Layer Physical Layer 인코딩/디코딩 > 인코더와 디코더는 함수라고 생각할 수 있다. 0과 1의 나열을 아날로그 신호로 바꾸고 아날로그 신호를 0과 1의 나열로 바꾼다.
출처 블로그SYN :: synchronize sequence numberACK :: AcknowledgementTCP Header에는 Code Bit(Flag Bit)라는 부분이 존재한다. 이 부분은 총 6 Bit으로 이루어져 있으며 각각 비트들이 의미를 갖고 잇다.
\[10분 테코톡] 🎧 우의 Block vs Non-Block & Sync vs Async기존의 "결과값 반환" -> "결과값 전달"제어권을 주고 받는 것 -> "제어권 반환"이 상태에서 호출자는 아무것도 할 수가 없다.즉 호출자의 행동을 블록한 것이다. 결과값이 다
\[10분 테코톡] 👩🦰에헴의 빌드용어 하이레벨 언어를 기계가 알아들을 수 있게 바꾸는 것을 컴파일이라 한다. 컴파일 이후 파일을 오브젝트 파일이라하는데 이진코드로 이루어져 있다. 다른 필요한 라이브러리들과 리소스들을 연결하는 과정을 링크라고 부르
서로 인접한 두 원소를 검사하여 정렬하는 알고리즘O(N^2)이미 정렬된 부분과 비교하여, 자신의 위치를 찾아 삽입하는 방식의 정렬O(N^2)나누는 과정과 합치는 과정으로 이루어져 있다실제로 정렬이 이루어지는 시점은 2개의 리스트를 합병(merge)하는 단계이다병합정렬은
\[10분 테코톡] 🎅무민의 JVM Stack & Heap자바스크립트가 현재 이렇게 동작한다.프론트는 javac가 해주고 백은 jvm이 해준다. C/C++은 한번에 이 과정을 처리한다. 이렇게 두 단계로 나뉘어져 있기 때문에, 런타임에서 발생하는 소중한 정보를 이용할
\[10분 테코톡] 👨🏫안돌의 INDEX정렬된 data record를 유지하기 위해 하나씩 밀어내는데 시간이 많이 걸린다. clustered index는 한 테이블에 하나 밖에 못만든다. 그 이유는 데이터가 하나의 기준에 의해 정렬되기 때문이다.There can
HTTPS가 뭐고 왜 쓰나요? (Feat. 대칭키 vs. 비대칭키)HTTPS는 HTTP보다 안전하다.HTTP로 보내면 중간에 누가 가로채서 그대로 볼 수 있다.접속한 사이트가 진품인지 판별해준다. 기관으로부터 검증된 사이트만 https를 쓸 수 있다. 피싱 사이트로부터
REpresentational State Transfer: a way of providing interoperability between computer systems on the Internet.컴퓨터 시스템간의 상호운영성을 제공하는 방법 중 하나다A: 정보들을 하이
https://www.youtube.com/watch?v=-2TgkKYmJt4다른 출처의 리소스를 사용하는 것에 제한하는 보안 방식Protocol,
HTTP프로토콜은 상태 유지가 안되는 프로토콜입니다.이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않습니다.웹 브라우저(클라이언트)의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않습니다.상태 유지를 위해 Cookie와 Sess
유튜브 - 세션 VS. 토큰! JWT가 뭔가요?인증 : Authentication. 쉽게 말해 로그인이라 생각하면된다.인가 : Authorization. 인증을 받은 사용자가 서비스 안에 돌아다닐 때 허가를 해주는 것이다. 사용자가 로그인에 성공하면 세션을 붙여준다.
코즈의 JDBC, SQLMAPPER, ORMJDBC API를 변경하지 않고 JDBC Driver Manager만 교체하면 다양한 밴더사의 제품을 사용할 수 있다. 중복 코드가 많다쿼리를 직접 써야 한다.커넥션 관리가 어렵다그래서 rowmapper가 나온다.rowmapp
초기에 문자를 표현하던 대표적인 방식은 ASCII 인코딩 방식으로, 1바이트에 모든 문자를 표현했다. 게다가 1 비트는 체크섬으로 제외하여 7비트, 즉 128글자로 문자를 표현했다. 그러다보니 한글이나 한자 같은 문자는 2개 이상의 특수 문자를 합쳐서 표현하곤 했는데,
24강. 아무도 모르게 비밀번호 변경을? CSRF 공격 개념Cross Site Request Forgery사이트간 요청 위조피싱을 활용해 사용자 모르게 해스워드 변경!옥션 해킹 사건에서 사용된 공격 기법CSRF의 필수 조건은 사용자가 피싱을 당하여 링크를 클릭할 때 사
도커가 뭐고 왜 쓰는건가요? 가장 쉽게 배우는 도커
마이크로서비스 개발을 위한 Domain Driven Design실제 비즈니스 도메인을 우리가 만드는 아키텍쳐에 투영함으로서, 커뮤니케이션 코스트가 많이 줄어든다. 앉을 자리가 없다. 짧은 시간동안 집중력있게 진행된다. 개발자 뿐만 아니라 모든 사람이 모여서 한다.비즈니
이벤트 소싱 원리와 구현만약 사용자가 장바구니를 뺐다고 가정하고, 그 정보를 남길려고 한다고 생각해보자.시스템의 상태를 로그로 남길 수 있을 것이다.이벤트 소싱은 사용자가 동작을 수행한 것을 이벤트로 보고 기록하는 것이다. 이것을 event handler를 통해서 기록
출처: https://joont92.github.io/db/%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B2%A9%EB%A6%AC-%EC%88%98%EC%A4%80-isolation-level/https://n1tjrgns
쉽게 말해 시스템 데이터를 변경하는 코드와 조회하는 것을 분리한다는 것이다. 물론 코드만 나누는 것은 아니다. 시스템 규모에 따라 db를 나누기도하고, 프로세스를 나누기도 한다. 어쨋든 변경하는 요소와 조회하는 요소를 분리하는 것이다.Member 클래스가 더이상 Mem
RFC UUID 공식 문서UUID(Universally Unique Identifiers)는 범용 고유 식별자이다. 중앙관리식으로 유일성을 보장하는 방식이 아니다. UUID는 32개의 16진수로 표시되며 8-4-4-4-12개의 그룹으로 구분되어서 표현된다.123e456