본문 바로가기

전체 글

(235)
[네트워크] 데이터가 케이블에서 충돌하지 않는 구조란? 케이블에 데이터가 아무리 많을지라도, 데이터가 충돌하지 않는 구조가 있다. 이에 대해서 알아보자. 통신방식의 종류 : 먼저 통신 방식에는 전이중 통신방식과 반이중 통신방식이 있다. 전이중 통신방식이란 데이터의 송수신을 동시에 통신하는 방식이고, 반이중 통신방식은 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식이다. 충돌이 발생하는 통신방식? : 전이중 통신방식은 데이터를 동시에 전송해도 충돌이 발생하지 않지만, 반이중 통신방식은 데이터를 동시에 전송하면 충돌이 발생한다. 이런 특징에 의해서, 전이중 통신방식이 더 선호된다. 전이중통신방식의 예 : 전이중 통신방식의 예로는 컴퓨터와 컴퓨터를 직접 랜 케이블로 연결하는 것이다. 이렇게 하면 여덟 개, 즉 선을 네 쌍 사용하기 때문에 전이중 통신방식이 되..
[네트워크] 스위치의 구조 스위치는 허브와 달리 데이터 충돌이 발생하지 않는다. 이 스위치는 데이터 링크 계층에서 동작하며, 레이어2 스위치 또는 스위칭 허브라고도 불린다. 장비 외형은 허브와 비슷한 탓에, 외형만으로 구분하기는 어렵다. MAC주소 테이블 : 하지만, 기능을 들여다보면 허브와 완전히 다르다는 것을 알 수 있다. 스위치의 내부에는 MAC 주소 테이블이라는 것이 있다. MAC주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC주소가 등록되는 데이터베이스라고 생각하면 된다. MAC주소 학습 기능(스위치는 허브보다 똑똑하다!) : 스위치 전원을 단순히 켠 상태에서는 이 주소테이블에 아무것도 등록되어있지 않다. 하지만 컴퓨터에서 목적지 MAC주소가 추가된 프레임이라는 데이터가 전송되면, MAC주소 ..
[백준] 동전 0 - 파이썬 문제 : 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 파이썬 문제풀이 : from collections import deque #오름차순으로 정렬되는 동전을 역순으로 정렬해주기 위해서 deque를 가져왔다. N, K = map(int, input().split()) value_lis..
[20210914_TIL] 프론트엔드 개발자로서 나의 비전 오늘 한 일 : 1)알고리즘 공부(그리디&구현) 2)scss 3)면접준비 4) 프론트엔드 개발자로서의 비전을 발견. 1)알고리즘 공부(그리디&구현) : 오늘 공부했던 내용은 그리디와 구현과 관련된 내용이었다. 그리디란 쉽게 말하면, 당장 눈앞에 보이는 최선의 것만 쫓아가는 방법이다. 구현이란 문제풀이를 생각해내는 것은 쉽지만, 그것을 코드로 옮겨내는 것 자체의 역량을 보는 문제라고 한다. 오늘은 강의를 들으면서 들었던 유형안에서 나오는 문제들을 풀어보았다. 내일은 강의 없이 스스로 해당 유형에 대한 문제들을 풀어볼 생각이다. 지금은 파이썬으로 공부하고 있지만, 항상 문제를 풀 때마다, 파이썬으로 풀어놓고, 자바스크립트로는 어떻게 풀 수 있는지 고민해 볼 생각이다. 혹 시간이 부족하다면, 다른 사람이 자바..
[네트워크] MAC 주소의 구조 랜 카드는 비트열을 전기신호로 변환한다. 이런 랜카드에는 MAC주소라는 번호가 정해져있다. 제조할 때 새겨지기 때문에 물리 주소라고도 불리는데, 전 세계에서 유일한 번호로 할당되어 있다. 이 맥주소는 허브가 데이터를 송신할 때, 특정한 컴퓨터에만 데이터를 전송할 수 있게 도와주는 역할을 한다. 그럼 이 일이 어떻게 일어나는지 알아보자. MAC주소를 사용한 통신 : OSI모델이나 TCP/IP모델에서는 헤더를 붙인다는 것을 앞서 설명한 적이 있다. OSI의 경우엔 데이터 링크 계층, TCP/IP의 경우에는 네트워크 계층에서 이더넷 헤더와 트레일러를 붙인다. 이더넷 헤더란 목적지의 MAC주소(6바이트) , 출발지MAC주소(6바이트) , 유형(2바이트) 이렇게 총 14바이트로 구성되어 있다. * 여기서 말하는 ..
[20210913_TIL] 오늘 한 일 1) 알고리즘 공부 시작 2) 프로젝트 리팩토링 3) 면접질문 준비 4) iframe끼리 메시지 보내기 5) scss 공부 1)알고리즘 공부 시작 : 오늘부터 알고리즘공부를 다시 시작했다. 자바스크립트로 할까. 파이썬으로할까. 오래고민했지만, 결국 파이썬으로 공부하기로 했다. 이유는 파이썬으로 할 때, 알고리즘과 관련된 많은 자료를 얻을 수 있기 때문이다. 내가 처음에 스위프트를 공부할 때 겪었던 어려움은, 공부할 자료가 상대적으로 부족하다는 것이었다. 그런 이유로 자바스크립트를 공부했는데, 자료가 많아서 공부하기에 훨씬훨씬 수월했다. 알고리즘 공부도 비슷하게 작용할 것이라 생각한다. 그렇게 오늘부터 다시 파이썬 2시간짜리 파이썬 기초문법 강의를 들었다. 내일은 그리디&구현 강의를 듣고 몇문..
[네트워크] 데이터 링크 계층의 역할과 인터넷 랜에서 데이터를 주고 받으려면 OSI모델의 계층에서, 두번째 계층인 데이터 링크 계층의 기술이 필요하다. 데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다. 그 규칙들 중 가장 일반적으로 사용되는 규칙이 이더넷이다.(ethernet) 허브를 활용해서 데이터를 주고 받을 때, 여러대가 동시에 데이터를 보내면 데이터들이 서로 부딪힐 수도 있다. 이것을 충돌이라고 한다. 그래서 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있다. 이는 동시에 데이터가 지나가지 않게, 데이터를 보내는 시점을 늦추는 방식으로 이루어진다. 이렇게 이더넷에서 시점을 늦추는 방법을 CSMA/CD라고 한다. 각각의..
[20210910_TIL] 오늘 한 일 : 1) 웹팩 공부 2) 항해 99 수료 3) 항해사람들과의 수다 4) 스파르타코딩 구현과제 1)웹팩 공부 : 오늘에서야 웹팩을 본격적으로 공부하기 위한 기초단계가 끝난 느낌이다. 내일부터 모레까지는 스파르타코딩의 구현과제를 하겠지만, 월요일부터는 다시 본격적인 공부를 할 차례다 2)항해 99수료 : 드디어. 99일간의 항해가 끝나고 수료식을 했다. 이 시간이 어떻게 지나갔는지도 모르겠다. 정말 항해 99에서 느꼈던것도 많고, 할 말도 많지만 이건 아예 따로 항해 99에 대한 리뷰로 남겨놓는 것이 좋을 것 같다는 생각이 든다. 3)항해사람들과의 수다 : 항해가 끝나고 사람들과 오랜만에 두런두런 모여서 대화를 나누는 시간을 가졌다. 각자의 고민과, 지금까지 보내왔던 시간에 대한 이야기를 나누었..