
Host , Switch , Network
Host : 네트워크에 연결된 컴퓨터 네트워크 자체를 이루는 Host 네트워크를 이용주체로 하는 Host 네트워크 자체를 이루는 Host => Switch (예시 Router) switching 은 어디에서 이루어지는가에 따라 역할이 나뉜다. ex) 방화벽, IPS => 보안 switching router => 경로를 설정하는 switching Mac 어드레스에서 swtching 이 일어난다. L2 switch IP 주소에서 switching 이 일어난다. L3 switch => 가장 대표적인예시 Router port 번호에서 switching 이 일어난다. L4 switch HTTP 프로토콜로 switching 이 일어난다. L7 switch 이때 레이어가 높아질수록 연산이 복잡해진다. 네트워크를 이루..
[우아한 테크코스 프리코스] 1주차
🤔 이런 고민을 했습니다. 변수명과 함수명 변수에는 어떤 데이터가 담겨있는지와 함수는 무슨 동작을 하는지 쉽게 파악할 수 있는 네이밍을 짓기위해 노력하였습니다. 예시) isExceptionSituationOccurred 예외상황이 발생했는지 여부를 반환하는 함수 배열 메소드 배열 메소드를 사용했을때 코드 길이와 가독성 측면에서 for문을 사용했을때 보다 이점이 있다고 판단했습니다. 따라서 로직을 짤때 최대한 배열메소드를 사용하려 노력하였습니다. for 문 사용 const eachDigitAllMultiply = (bookPage) =>{ cosnt bookPageArray = String(bookPage).split("") let sumOfMultiplication = 1 for (let i=0; i S..

Request failed with status code 422
로그인, 회원가입 요청을 하는데 422 에러가 계속 생겼다. 이미 기존에 프로젝트를 진행하시던분이 동작했다고 하신 코드여서 갇힌 생각을 해버렸다. 422는 파라미터 형식에러인데, 나의 문제의 경우에는 json key 이름이 달라서 에러가 발생한 것 이다. 아 ㅋㅋㅋ.. 나는 오늘 세상이 밉다.

html dataset 을 사용한 css switch case
현재 블로그를 조금 커스텀을 했는데, 다크 모드일때 코드블럭의 글자가 보이지 않는 상황이 발생했다. 코드 블럭의 태그는 다음과 같다. 처음에는 간단하게 querySelector 를 사용해서 해당 태그의 css 를 만져 글자 색 바꿔주면 되겠네 생각을 했다. 근데 이상하게 해당 태그에 대한 DOM 을 얻을 수가 없었다. html 이 생성되기전에 js 가 실행되서 그런가 싶었다. 따라서 html이 다 그려지고 나서 js 를 실행하려 onload를 사용해봤지만 그래도 안되더라. 흠.. 알수없었다. 그래서 우회방법을 찾았다. 현재 html 의 dataset 인 theme 은 라이트모드 일때는 'light' , 다크모드 일때는 'dark' 가 할당되고 있다. 그래서 dataset에 따라 css 를 변경하기로 했다..
![[타입스크립트] Utility Types](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZSfFQ%2FbtrN8AfbJhg%2FLD0FZhVZfHzGz3eO686aqk%2Fimg.png)
[타입스크립트] Utility Types
Partial Partial 유틸리티 타입의 사용용도는 다음과 같다. interface 를 전부 옵셔널로 만들어주게 된다. interface Profile { name: string; age: number; married: boolean; } // Partial 적용시 // interface Profile { // name?: string; // age?: number; // married?: boolean; // } const zerocho: Profile = { name: "zerocho", age: 29, married: false, }; const newZeroCho: Partial = { name: "zerocho", age: 29, }; 그럼 Partial 타입을 직접 만들어보자. type P..
[타입스크립트] keyof , in keyof
partial 과 pick 에 대해서 내가 직접 타이핑을 하다 생긴 궁금증이다. partial 을 타이핑을 할때는 다음처럼 in keyof 를 사용했다. 다음처럼 말이다. interface Profile { name: string; age: number; married: boolean; } type P = { [Key in keyof T]?: T[Key]; }; const newZeroCho: P = { name: "zero", age: 29, ; 그런데 Pick 을 타이핑 할때에는 in 만 사용한다. 머리가 어지러웠다. interface Profile { name: string; age: number; married: boolean; } type P = { [Key in S]: T[Key]; }; co..
![[타입스크립트] 자주쓰는 메소드 타이핑](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLTcrn%2FbtrNT9uQ4n9%2FRTNkcAmwLkgICFoSukTHMK%2Fimg.png)
[타입스크립트] 자주쓰는 메소드 타이핑
forEach 우선 forEach 부터 시작해봅시다. Arr 타입에 대한 forEach 메소드의 타입을 정의해주어야합니다. interface Arr {} const a: Arr = [1, 2, 3]; a.forEach((item) => { console.log(item); }); a.forEach((item) => { console.log(item); return 3; }); 우선 forEach는 리턴값이 없기때문에 void로 정의해줍니다. 이 함수는 아무것도 반환하지 않는다는 의미입니다. interface Arr { forEach(): void; } 그 다음으로는 forEach 내부의 callback 의 타입을 지정해주어야합니다. 우선 callback 또한 리턴을 void 로 선언했습니다. 콜백의 리턴..
[타입스크립트] class
Constructor 가 있을 때 Class class A { a: string; b: number; constructor(a: string, b: number = 123) { this.a = a; this.b = b; } method() {} } const a = new A("123"); console.log(a); // A { a: '123', b: 123 } const b = new A("DONG", 1006); console.log(b); // A { a: 'DONG', b: 1006 } class 이름을 type 으로 사용할 수 있다. 이때는 new 키워드를 사용하여 instance 를 할당해주어야한다. const aaa: A = new A("123"); class 자체를 할당하려면 type 은..
앞으로의 방향
문제점 어제 넥토리얼 자소서를 쓰다가 지금 하고있는 꿀벌 프로젝트 내용을 쓰려고 했었다. 그러는 과정에서 옆에 계신 정현님께서 면접에 나올만한 질문을 던저 주셨다. 나는 질문에 답을 거의 하지 못했다. 내가 담당했던 문자채팅, 음성채팅에 대한 전체적인 이해가 아예 되어있지 않았다. 이게 말이 되는가? 고생해서 코드를 짰지만 내 프로젝트에 질문이 들어왔음에도 벙어리 처럼 있어야한다는게. 문자 채팅을 사용할때 sockJS 와 STOMP 에 대한 이해가 전혀되어있지 않았고, openvidu 를 선택했음에도 정현님이 하자는 대로 하였기 때문에 선택에 대한 근거가 전혀 없었다. 근거가 '팀원이 그걸로 하자고 해서' 였다. 병신인게 들통나서 부끄러웠고 , 왜 저런 생각을 하지않고 개발을 했을까 나 자신에게 화가났다..