본문 바로가기

분류 전체보기34

네트워크 공부 -네트워크란? (WireShark) 네트워크란.. 쉽게 말해 컴퓨터들끼리 연결 되는 망이다. LAN: 근거리 네트워크 WAN: 광역 통신망 실습1. Google Trace route - 경로추적 구글과 어떻게 네트워크로 연결이 되어 있나 확인을 해보자. google dns서버까지의 경로 보통 30번 안에 전 세계가 연결이 된다. **는 연결은 됬지만 ip주소를 공개 안한곳. 실습 2. WireShark WireShark는 실제로 내가 사용하고 있는 컴퓨터가 통신을 할때 어떤 프로토콜을 사용하는지 캡처해준다. 이를 이용해서 실제로 어떤 protocol이 이용되고 있는지 보자. WireShark를 사용한 뒤 필터에 http를 쓴 모습. 그 중에 html/text를 더블클릭 해보면 이를 해석해보면 Hypertext Transfer Protoco.. 2022. 1. 19.
메모리 관리(리눅스) CPU는 우리가 작성한 코드를 바로 이해해서 읽지 못함. 우리가 작성한 코드를 컴파일러를 이용해서 010101과 같은 형태로 바꾸어주어야 이해하고 읽을 수 있음. 이때 내가 SomeString이라는 코드를 썻다면 SomeString을 Symbolic Address라고 하고 이를 컴파일러를 통해 010101과 같은 이진법의 숫자형태로 바꾼것을 Logical Address(논리주소)라고함. A라는 프로그램과 B라는 프로그램이 있다고 치자. 이 두프로그램의 코드 주소는 어떻게 정해질까? A라는 프로그램의 코드들의 주소가 0번부터 19번까지 B라는 프로그램의 코드들의 주소가 20 ~ 39로 정해 지는 것이 아니라 둘다 0 ~ 19로 정해진다. 각각 프로그램마다 중복되는 논리 주소를 가지고 있다는 것이다.!!! .. 2022. 1. 19.
메모리와 Array Apple개발 문서에서는 Array를 swift로 어떻게 설명했는지 알아보자. - 애플의 공식 문서에 나와있는 형태로는 frozen Struct로 Array가 구성이 되어있다. 여기서 @frozen이란 이제 라이브러리를 만들때 주로 사용하는 것으로 최적화를 위해 사용하는 것으로 구조체나 열거형에 사용이된다. 열거형의 케이스 또는 구조체의 저장된 인스턴스 프로퍼티를 추가, 제거, 또는 재정렬로 선언을 변경할 수 없다. (extension으로 연산프로퍼티를 추가하는 것은 가능해보인다.) 이번에 중점적으로 볼것은 메모리와 Array! 공식 문서에 따르면 애플의 Array는 내용을 보관하기 위해 특정 양의 메모리를 예약한다. 만약, 예약된 메모리 용량을 초과하기 시작하면 배열은 더 큰 메모리 영역을 할당하고 새.. 2022. 1. 12.
시간복잡도 시간복잡도란 무엇일까?? 시간 복잡도는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. 컴퓨터과학에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 알고리즘의 시간복잡도는 주로 빅-오 표기법을 사용하여 나타내며, 이 빅-오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. 이런 방식으로 표현할 때, (예를 들면, 입력 크기를 무한대로 입력하여) 시간복잡도를 점근적으로 묘사한다고 말한다. - 위키백과 모르는 것들을 세가지로 정리해봤다. 1.컴퓨터과학에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 내가 간단히 이해한 바로는 입력이 있는 어떤 로직(알고.. 2022. 1. 11.