전체 글

전체 글

    TCP vs UDP, 라우터 vs 스위치

    TCP와 UDP는 어떠한 차이를 갖는가? 전송계층에서 사용하는, 데이터를 보내기 위해 사용하는 프로토콜 포트 번호 이용해 주소 지정 데이터 오류 검사를 위한 체크섬 존재 TCP는 연결형 서비스로 가상 회선 방식을 제공하고, 높은 신뢰성을 보장하고 흐름 제어 및 혼잡 제어 기능을 제공함 (정확성) 데이터를 중요하게 생각하여 확실히 주고 받고 싶을때 사용 통신할 컴퓨터끼리 보냈습니다(SYN), 수락합니다( SYN ACK),도착했습니다(ACK) 서로 확인 메시지 메시지보내며 데이터 주고 받음 (3-way handshaking) 연결지향 프로토콜 - 클라이언트와 서버가 연결된 상태에서 데이터 주고 받음 데이터 보내기 전에 반드시 연결되어 있어야함 1:1 통신만 가능 상대적으로 UDP보다 전송 속도 느림 UDP는..

    가상메모리, Redis vs Memcached

    운영체제: 메모리관리 가상 메모리에 대해 설명해보세요. → 내용참고 자료 https://core.ewha.ac.kr/publicview/C0101020140425151219100144?vmode=f 반효경 [운영체제] 18. Memory Management 1 설명이 없습니다. core.ewha.ac.kr 메모리 Logical address (virtual address) 논리적주소, 가상주소 프로세스마다 독립적으로 가지는 주소공간 각 프로세스마다 0번지부터 시작 CPU가 보는 주소는 logical address임 Physical address 물리적주소 메모리에 실제 올라가는 위치 주소에서 데이터를 읽고 /쓸때만 물리주소로 바꾼다 💡 주소 바인딩 : 주소를 결정하는 것 Symbolic Address(소..

    [Algorithm] DP(Dynamic Programming) 동적계획법

    동적계획법(DP) 이란? 하나의 큰 문제를 여러개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할때 사용하는 것 계산한 값을 저장해두는 메모리 장소 캐쉬(cache)에 저장하고, 답을 여러번 계산(중복)하는 대신 한번 만 계산해서 계산결과를 재활용함으로써 속도 향상을 꾀할 수 있는 알고리즘이다 * 그럼 분할 정복이랑 뭐가 다른건가요? 동적계획법과 분할 정복이 차이가 발생하는 부분은 문제를 나누는 방식이다 분할 정복은 단지 큰문제를 작은 문제로 나누어 푸는 것으로 중복된 것이 없다 동적 계획법은 어떤 부분 문제는 두개 이상의 문제를 푸는 데(반복이 일어남) 사용될 수 있기 때문에, 답을 여러번 계산 하는 대신 한번만 계산한다(중복된 것 활용) * 그럼 다른 dfs등 과 같은 재귀함수 쓰..

    [Java] 이차원 배열 정렬하기 CompareTo()

    arr ={ { 2, 7}, {1, 3}, {1, 2}, {2, 5}, {3, 6} } 인 이차원 배열을 { {1, 2}, {1, 3}, {2, 5}, {2, 7}, {3, 6} }로 정렬시키려고 한다. 일차원 배열 같은 경우에는 Arrays.sort(arr); 함수로 자동으로 정렬이 되지만, 이차원 배열은 CompareTo() 함수를 사용하여 크기비교를 해주어야 한다. class Main { public static void main(String[] args) { Main t = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); ArrayList arr = new ArrayList(); for(int i=0; i

    Tomcat Catalina.out log 한글 깨짐 해결법

    톰캣 설치 하고 기동 후 Catalina.out 로그에서 한글이 깨지는 문제가 발생했다! 리눅스와 톰캣 사이 인코딩 차이로 인한 문제이니 ~ 똑같이 인코딩을 맞춰주면 된다. tomcat 설치 경로에 있는 catalina.sh 을 vi로 열어서, 파일 상단에 UTF-8로 인코딩을 설정하여 한글 깨지지 않는 설정값을 아래와 같이 추가해준다. JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8 -Dclient.encoding.override=UTF-8" 저장하고 다시 톰캣 재기동하면 , Catalina.out 파일에 한글이 깨지지 않게 출력되는 것을 볼 수 있다. 📌그래도 깨져 나온다면, 리눅스 인코딩도 확인 저는 SecureCRT..

    [코딩테스트 / c++] 봉우리, 이차원 배열 활용

    문제 지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자 판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다. 만약 N=5 이고, 격자판의 숫자가 다음과 같다면 봉우리의 개수는 10개입니다. ▣ 입력설명 첫 줄에 자연수 N이 주어진다.(1

    [코딩테스트 / c++] 멀티태스킹(카카오 먹방 문제 변형)

    2019년 카카오 코딩테스트 무지의 먹방라이브 문제를 변경한 문제입니다. https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 문제 현수의 컴퓨터는 멀티태스킹이 가능하다. 처리해야 할 작업이 N개 들어오면 현수의 컴퓨터는 작업을 1부터 N까지의 번호를 부여하고 처리를 다음과 같이 한다. 1) 컴퓨터는 1번 작업부터 순서대로 1초씩 작업을 한다. 즉 각 작업을 1초만 작업하고 다음 작업을 하는 식이다. 2) 마지막 번호의 작업을 1초 했으면 다시 1번 작업으로 가서 다시 1초씩 후속 처리를 한다. 3) 처리가 끝난 작업은 작업 스케쥴에서 사라지고 새로운 작업은 들어오지 않는다. 그런데 현..

    [코딩테스트 / c++] 백준 1158 요세푸스 문제

    https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 요세푸스 유사한 문제를 풀다가 백준에 비슷한 문제가 있어서 연습삼아 풀어보았다. 요세푸스는 조세퍼스라고도 하며 순열을 가리킨다. > 요세푸스 유사문제 포스팅 https://meongj-devlog.tistory.com/201 [코딩테스트 / c++] 공주 구하기 (조세퍼스) 문제 문제 풀이 #include #include #include using namespace std; int main(){ int n, k, pos=0, bp=0, cnt=0, i; scanf("%d %d", &n, ..