본문 바로가기

728x90

프로그래밍 회고록

(42)
TCP/IP 와 HTTP 결론 TCP/IP는 각각 4계층 (TCP) 3계층 (IP)를 담당하는 약속(프로토콜)이다. HTTP는 7계층인 응용계층에서 하이퍼미디어 기술을 사용한 웹브라우저에서 주로 사용되는 약속이다. OSI 7계층 TCP/IP HTTP OSI 7계층 TCP/IP과 HTTP 차이를 알려면 OSI 7계층을 소환해야 한다. CS를 공부하면 항상 만나게 되는 이 그림을 오랜만에 다시만났다. 서로 다른 두 컴퓨터의 데이터가 네트워크를 통해서 통신하기 위해서는 저 7계층의 각각의 표준이 된 프로토콜을 통해서 의사소통을 한다. 그중 TCP/IP는 각각 4계층 (TCP) 3계층 (IP)를 담당하는 약속(프로토콜)이다. HTTP는 7계층인 응용계층에서 하이퍼미디어 기술을 사용한 웹브라우저에서 주로 사용되는 약속이다. TCP/IP ..
DATABASE에서 Isolation Level 이란? 개념 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것. 종류 READ_UNCOMMITED ( level0 ) 각 트랜잭션에서의 변경 내용이 COMMIT 이나 ROLLBACK 여부에 상관 없이 다른 트랜잭션에서 값을 읽을 수 있다. DIRTY READ 현상 발생 - 트랜잭션 작업이 끝나지 않았는데 다른 트랜잭션에서 값을 읽게 되니 발생하는 현상 READ_COMMITED ( level1 ) SELECT 문장이 수행되는 동안 해당 데이터에 Shared Lock이 걸리는 단계 RDB 에서 대부분 기본적으로 사용되고 있는 격리 수준 ( ORACLE, H2 ) REPEATABLE READ 정합성에 어긋남 하나의 트랜잭션 내에서 똑같은 SELECT를 했는데 값..
2021.12.20 부품찾기 # 오늘의 문제 부품 찾기 난이도 중 | 풀이시간 30분 | 시간 제한 1초 | 메모리 제한 128 # 나의 코드 나의 코드 어레이를 받아그 안의 값에서 타겟 어레이의 원소값이 존재하는 지 찾기 위해서 루프를 돌아 있다면 있다고 답변하고 없으면 없다고 답변하는 코드 def binary_search(array, target, start, end): if start > end: return None mid =(start + end)//2 if array[mid] == target: return mid elif array[mid] > target: return binary_search(array, target, start, mid -1) else: return binary_search(array, target..
2021.12.14 이진 탐색 연습 # 오늘의 문제 이진 탐색 연습 # 나의 코드 이진 탐색 연습 중 재귀함수로 구현된 코드 def binary_search(array, target, start, end): if start > end: return None mid = (start + end) //2 if array[mid] == target: return mid elif array[mid] > target: return binary_search(array, target, start, mid -1) else: return binary_search(array, target, mid +1 , end) n, target = list(map(int, input().split())) array = list(map(int, input().split()..
Apache Log4j2 보안이슈 와 문제해결 # 서론 전세계적으로 역대급 보안이슈가 터졌다. 한번쯤은 들어봤을법한 마인크래프트 라는 게임에서 서비스를 하는 한 회사가 보안취약점을 이용한 해킹 시도를 찾아 내면서 해당 보안이슈가 밝혀졌다. Apache에서 제공하는 오픈소스 라이브러리인 Log4j의 취약점을 통해 상대방 컴퓨터에 원격접속해 온갖짓을 다할 수 있다는 것이다. 해당 취약점이 발생하는 log4j버전은 2.0-beta9 ~ 2.14.1 모든 버전이다 내가 받은 프로그램에 Log4j의 해당 버전이 포함된다면 중요파일 삭제, 컴퓨터 끄기, 웹캠 켜기같은 나쁜짓들을 나쁜 마음 먹은 사람들이 얼마든지 할 수 있게 한다. 그럼 이 문제를 어떻게 해결할 수 있을지에 대해 몇가지 찾아보았고 글로 남겨두려 한다. #본론 해결 방법은 log4j 를 버전업을 ..
2021.12.09 코테_두 배열의 원소 교체 # 오늘의 문제 두 배열의 원소 교체 난이도 하 | 풀이시간 20분 | 시간 제한 2초 | 메모리 제한 128m # 나의 코드 n,m = map(int, input().split()) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split())) arr1.sort() arr2.sort(reverse = True) for i in range(m): if arr1[i] < arr2[i]: arr1[i], arr2[i] = arr2[i], arr1[i] else: break sum = 0 for i in range(n): sum = sum + arr1[i] print(arr1) # 정답과의 비교 1. 내 코드의 경우 덧셈을 명시적으로..
[ReactNative] Invariant Violation: Tried to register two views with the same name RNCSafeAreaProvider 에러 해결 #서론 리액트 네이티브 프로젝트를 설치한 후 UI를 만들때 라이브러리의 도움을 받기 위해서 react-native-elements를 활용하던 와중 Docs에 써있는 Header부분을 참고해 넣으려고 할 때 저 오류가 발생했고 그 것을 해결하기 위해 깃허브 커뮤니티를 활용했고 그에 따른 방법론을 서술해 놓으려 한다. #본론 원인 npm install react-native-safe-area-context 해당 부분을 설치한 후 어플리케이션을 새로고침하자 저 오류가 떴다. 아래의 출처를 참고하니 RNCSafeAreaProvider 라는 디펜던시가 2개 설치되어 있기에 해당 오류가 발생했다고 결론지었다. 나는 리액트네이티브 앱을 Expo를 활용해서 프로젝트를 만들었고 react-native-safe-area-..
2021.12.08 코테_낮은 순서로 출력 # 오늘의 문제 낮은 순서로 출력 난이도 하 | 풀이시간 20분 | 시간 제한 1초 | 메모리 제한 128m # 나의 코드 n = int(input()) arr = [] for _ in range(n): inputData = input().split() arr.append((inputData[0], int(inputData[1]))) result = sorted(arr, key = lambda data: data[1]) for i in arr: print(i[0], end= ' ')

728x90
반응형