목터뷰
-
동시성과 병렬성을 비교하여 설명해주실수 있으실까요?목터뷰 2023. 9. 5. 19:42
동시성 여러 작업이 동시에 실행 되는것처럼 실행되는 개념 싱글 코어에서 여러 스레드가 번갈아가면서 실행 독립적이나 서로 영항을 미치지 않는 작업들을 실행하는데 사용 스레드, 프로세스, 이벤트 루프 등과 같은 다양한 기술쪽에서 쓰임 싱클코어, 멀티코어 둘다 사용 가능 병렬성 여러 작업이 동시에 실행 되는 실행되는 개념 멀티 코어에서 여러 스레드를 동시에 실행 멀티코어 프로세서나 분산 컴퓨팅 환경과 같은 곳에서 사용 스레드, 프로세스, GPU (그래픽 처리 장치) 및 병렬 컴퓨팅 프레임워크 등에서 사용됌 멀티코어에서만 사용 가능 작업이 드문드문 끊기나 연달아서 실행하는것 같이 보이는것이 동시성 스레드 별로 각자 실행되는게 병렬성 참고 더보기 https://mycup.tistory.com/416 https:/..
-
Base64 인코딩목터뷰 2023. 9. 1. 00:05
인코딩이란?encoding 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다. 코딩에서는 주로 암호화를 위해 사용한다. Base64 인코딩 이진 데이터를 64진법인 ASCII으로 변환하는 인코딩 방식 8비트 이진 데이터를 6비트씩 끊어서 64개의 다른 문자로 매핑한다. ASCII 문자로 표시 할 수 있는 가장 큰 진법으로 데이터 교환에 많이 사용된다. Base64 인코딩 과정 1. 8비트 이진 데이터를 6비트씩 끊는다. ㄴ기본적으로 컴퓨터는 8비트로 구성되어있기 때문. 2. 각 6비트를 64개의 문자로 매핑한다. 이 때, 매핑에는 대소문자 알파벳, 숫자, 그리고 '+'와 '/' 두 개의 특수 문자가 사용된다..
-
TCP 3 way handshake란 무엇인지 설명해주실 수 있을까요?목터뷰 2023. 8. 28. 20:15
TCP 3 way handshake TCP/IP 통신을 이용해 안전한 연결을 위한 3가지 기본적 절차 앙쬭 간 데이터를 전송 할 준비가 있단걸 보장하고, 실제 데이터 전달 시작전 다른쪽이 준비되었다는것을 알수 있게 한다. >>서버 통신 전 컴퓨터 간 잘 되는지 핑퐁(세션수립) 하는 과정 1. SYN(동기화) 클라이언트 >> 서버 클라이언트는 서버로 연결요청 메세지*SYN을 보내고 응답대기상태SYN_SENT 가 된다. *Synchronize Sequence Number시퀸스 넘버 동기화 2. SYN-ACK (동기화-응답) 서버 >> 클라이언트 SYN을 받은 서버는 SYN랑 SYN보다 1 큰 *ACK을 응답하고 응답대기상태SYN_RECEIVED 가 된다. +1 인 이유는 정상적으로 SYN 값을 정상적으로 잘..
-
트랜잭션이란 무엇이고 원자성, 일관성, 고립성, 지속성이란 무엇인지 설명해주실 수 있을까요?목터뷰 2023. 8. 24. 21:05
트랜잭션 Transaction 데이터베이스 관리 시스템에서 데이터를 처리하는 단위를 의미한다. 정보를 관리하고 유지하기 위해 필요한 작업들을 논리적으로 묶어 처리하는 방법으로 데이터의 일관성과 안정성을 보장하기 위해 사용된다. 새 게시글 작성시 글 작성insert-작성글 불러오기select 두 쿼리문이 필요한데 도중에 끊기지 않도록 두 작업을 묶어주는것. 두 작업을 묶어줌으로서 작성만 되고 조회가 안될때 다시 작성하는 일을 막아 데이터 안정성에 도움을준다. 트랜잭션에는 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability) 4가지 속성이 있다. 앞머리 따서 ACID라고도 부름 1. 원자성 Atomicity 원자성> 더 이상 쪼갤수 없는 최소 ..
-
인덱스란 무엇이고 일반적인 원리는 어떠한지 설명해실 수 있을까요?목터뷰 2023. 8. 22. 21:07
인덱스 데이터베이스에서 데이터의 주소를 저장해 검색 능력을 향상 시켜주는 자료 구조 1. 생성원리 전체 테이블 스캔→메모리 정렬→*Block 기록(*PGA의 Sort Area) 인덱스 생성 중 데이터 변경 위험이 있기에 데이터 변경을 막고, 실제 데이터가 아닌 메모리에서 데이터를 정렬해 인덱스를 생성한다. *Block : 데이터 저장의 기본 단위 *PGA의 Sort Area: 연산을 위한 작업 메모리 공간 2. 동작원리 일반적으로 데이터베이스에서 데이터를 찾을때 1. 메모리의 *database buffer cache 체크 2. (없을시) 하드디스크 A to Z 탐색 *데이터베이스 버퍼 캐시: 자주 쓰는 테이블 캐시(쿠키) 위 같은 방법을 사용하나 인덱스가 있다면 주소로 바로 찾아갈 수 있다 1. wher..
-
Annotation이란 무엇이고 구체적으로 어떤 것이 있는지 예시를 들어 설명해주실 수 있을까요?목터뷰 2023. 8. 14. 21:04
@ 에너테이션/어노테이션 코드에 메타데이터를 추가해 코드를 설명하거나 프로그램 동작을 변경하는 기능 주석처럼 코드에 영향을 끼치진 않지만 코드 설명이나 동작을 변경을 도와주는 특징이 있다 앞에 꼭 @ 를 붙여 사용할것 1. 표준 에너테이션 -java에서 기본적으로 제공하는 에너테이션 @Override 메소드를 오버라이딩해 쓸때 사용 @Deprecated 앞으로 사용하지 않을 대상에 사용 2. 메타 에너테이션 -에너테이션을 위한for 에너테이션 -새 에너테이션을 만들 때, 그리고 어떻게 동작 해야하는지 정의 하는데 사용된다. -표준 에너테이션에과 달리 끝에 * 표시가 붙어 있다. @Target* 어노테이션을 어디에 적용할 수 있는지를 정의하는 메타 어노테이션입니다. 클래스, 필드, 메서드 등의 적용 대상을..
-
[목터뷰]Call by reference란 무엇이고 보통 어떻게 쓰이나요?목터뷰 2023. 8. 8. 20:55
함수 호출방식중 하나로 call by value(값에 의한 호출) call by reference(참조에 의한 호출) 두가지가 있다. 간단히 매개변수 사용시 실제값 /주소 가져오기 의 차이 Call by value 값에 의한 호출 변수값을 복사해서 함수 인자로 전달하는것 함수 안에서 인자 값이 변경되어도, 외부의 변수 값은 변경되지 않는다. 변수값이 바뀔 위험은 없지만 메소드 실행시 생기는 메모리 공간을 더 잡아먹는편 Call by reference 참조에 의한 호출 변수의 주소를 복사해서 인자로 전달하는것 레퍼런스를 전달하는것이기에 함수 안에서 인자값이 변경되면 외부 변수 값 역시 바뀐다. 변수값 변동 위험이 있지만 메소드 실행 메모리 공간은 적게 할당된다. public class main { publ..
-
[목터뷰] 스택과 큐의 차이(Stacks vs Queue)목터뷰 2023. 8. 7. 20:24
스택과 큐는 자바의 컬렉션 중 하나이다. 컬렉션 참조형 변수만 저장 할 수 있는 배열 스택 Stack 후입선출後入先出(Last In First Out - LIFO) 방식의 자료 구조 나중에 들어온게 먼저나간다 > 바닥 없는 프링그스통 push(요소추가) , peek(요소조회), pop(요소제거-최상단) 기능만 존재 최근 저장 된 데이터 나열, 데이터 중복처리를 막을때 뒤로가기, 실행취소, 문자열 뒤집기 등 롤백 처리해야 부분에서 사용 import java.util.ArrayDeque; public class StackExample { public static void main(String[] args) { ArrayDeque stack = new ArrayDeque(); // 스택에 요소 추가 stack..