본문 바로가기

전체 글

(94)
애플리케이션 계층 네트워크 기기 처리 범위 본 포스팅 부터 애플리케이션 계층의 네트워크 기기부터 인터넷 계층 데이터 링크 계층 물리 계층 까지 살펴볼 것입니다. 네트워크 기기들은 저 마다 처리 범위를 갖습니다. 예를 들어, 애플리케이션 계층은 L7 스위치 등. 또한 상위 네트워크 기기는 하위 네트워크 기기를 처리할 수 있으나, 하위 네트워크 기기는 상위 네트워크 기기 처리를 할 수 없습니다. L7 스위치는 대표적 애플리케이션 게층 네트워크 기기로, 로드 밸런서라고도 합니다. 로드 밸런서는 앞 서 소개해서 낯이 익을 텐데, 2대 이상의 서버에 한 곳에 트래픽이 과중되지 않게 중간에서 조절해주는 역할을 하는 즉, 서버 부하를 분산해주는 기기입니다. 이 로드 밸런서의 목표는 처리할 수 있는 트래픽의 양을 최대화 하는 것입니다. 또한 로드 벨런서는 바이..
집합의 교집합 차집합 대칭차집합 자바스크립트로 PS문제를 풀다가, 정리해보고자 한다. 아래는 두 집합에서 중복되는 요소의 개수에 따른 등 수를 메기는 로직이다. 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/77484?language=javascript function solution(lottos, win_nums) { const rank = [6,6,5,4,3,2,1] const countZero = lottos.filter((ele) => ele === 0).length; concideCase = lottos.filter((ele) => win_nums.includes(ele)).length; return [rank[concideCase + countZero], ra..
Array.prototype.join() Array.prototype.join() PS할 때 유용할 것 같아 적어둔다. 파이썬의 "".join()과 값을 출력할때 *arr와 같은효과를 낼 수 있다 const arr = [1,2,3,4,5]; arr.join(); // "1,2,3,4" arr.join("") // "1234" // python 처럼 요소 타입이 char가 아니어도 가능. // *arr하려면 arr.join(" ");
유선LAN과 무선LAN 유선 LAN : 양쪽 장치에 송수신이 동시에 이루어지는 전이중화 통신을 사용합니다. 이는 송신로 수신로를 나눠 데이터를 주고받음. 유선 LAN을 이루는 케이블 이들은 트위스티드 페어 케이블, 광섬유 케이블이 있다. 트위스티드 페어 케이블은 덮개와 8개의 구리선으로 구성. TP케이블 이라고도 불림. 광섬유 게이블은 빛으로 통신하기에 트위스티드 페어 케이블과 비교할 수 없을 정도로 빠르고 긴 거리 통신 가능. 케이블 내부에서 내부를 유리나 플라스틱으로 만들어, 수많은 굴절이 이루어 지면서 통신. 굴절률이 높으면 코어 낮으면 클래딩 무선 LAN: 수신과 송신을 같은 채널을 이용하기에, 반이중화 통신을 사용합니다. 이는 전이중화랑 달리 양쪽 장치 통신에서 동시에 송수신을 주고 받을 순 없고 한 쪽 방향으로 송수..
prototype.includes(), in 연산자, hasOwnProperty(), Array.prototype.some in 연산자는 객체에 사용하는 용도 이다. 즉 객체가 갖는 프로퍼티와 메소드 존재 여부를 검증해 true, false로 리턴한다. 이 때 주의할 점은 배열 사용시, 내용이 아닌 인덱스 값을 검증한다. var soccerplayer = new Array("nedved", "ronaldo", "ronaldinho", "henry", "jisungpark"); "henry" in soccerplayer // false length in socerplayer // true 즉 내용을 찾는 검증을 위해 쓰면 안되고, 프로퍼티가 있는지, 메소드가 존재하는지를 검증하기 위해 사용해야만 한다. 그렇다면 문자열이나 배열에서 값을 검증하고 싶을 때는 어떻게 하나ㅏ? 그럴 때, ES6에서 추가 된 메서드 includes()..
.sort() function solution(d, budget) { let count = 0; for (let value of d.sort()){ budget -= value if (budget >= 0){ count ++; continue } break } return count } 다음과 같이 제출을 했더니, 분명 파이썬 그대로 옮겨왔는데도 틀렸다. 의심가는 곳은 딱 한 곳 뿐이었다. 정렬 반환을 조금 다르게 하나? 찾아보았다. 자바스크립트의 sort함수는 기본적으로 배열을 문자열로 간주하고 정렬을 진행한다. 이는 파이썬 배열안에 문자열로 가득찬 것을 정렬할 때를 생각해보면 될 것이다. 이렇게 되면 문제가 [199999999, 9]를 sort하면(디폴트 값은 오름차순), [199999999, 9] 그대로 도출되는..
Objects.entries(arr) 파이썬의 enumerate와 비슷한 자바스크립트 함수 바로 entries! nums = [7,2,5,3] console.log(Object.entries(nums)) // [ ["0", 7], ["1", 2], ["2",5], ["3", 3] ] 다음과 같이 Object.entries(nums))를 콘솔에 찍으면 객체형태의 key value로, key에는 스트링값이 넣어져 리턴된다. 또한 다음과 같이 쓸 수 있다. for (const [index, ele] of nums.entries()){ console.log(index, ele) } // 0 7 // 1 2 // 2 5 // 3 3
TCP/IP 인터넷 계층, 링크 계층 인터넷 계층: 장치로 부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층이다. 인터넷 계층 주요 프로토콜로는 IP, ARP, ICMP가 있다. IP : 신뢰성 보장하지 않음. 주소 지정 및 경로 설정 기능. ARP : 호스트의 IP주소와 네트워크 접속 장치의 물리적 주소를 MAC Address로 바꿔준다. Mac Address는 IP주소와 달리 고유성을 가짐. ICMP : 오류 처리, 전송 경로 정정 등 제어 메세지를 관리. 링크 계층 : 링크 계층은 광섬유, 무선 등으로 데이터를 주고받으며 신호를 주는 규칙을 정하는 계층이다. 이는 네트워크 계층이라고도 불린다. 이를 물리계층과 데이터 링크 계층으로 나누곤 하는데, 물리 계층은 0과 1로 이루어진 데이터를 전송하는 계층이..