[네트워크] 가상 호스트(Virtual Host)
2021. 6. 1. 23:03
dev-log/CS
어쩌다보니 CS 카테고리에 두 번 연속 '가상 ***' 게시글을 올리게 되었네요. 😋 앞서 살펴본 가상 메모리는 메모리가 실제 물리적 메모리보다 더 많아 보이게 하는 기술이었죠? 가상 호스팅도 이와 비슷하게, 물리적 서버는 1대지만 서버가 마치 여러 대 있는 것처럼 설정하는 기능이라고 합니다. 각각의 웹서버에는 주호스트(main host)가 있고, 이 주호스트 외의 나머지 호스트들이 모두 가상 호스트입니다. 가상 호스트에는 다음과 같이 여러 종류가 있습니다. (클릭하여 원문으로 이동) ● 이름기반의 가상호스트(Name-based virtual host) - '이름' : 호스트 이름이나 도메인 이름 - 하나의 IP 주소에 여러 개의 가상 호스트 운용 → 모든 도메인 이름이 하나의 IP 주소를 공유 ● 주소..
React Query
2021. 5. 28. 01:29
dev-log/Front-End
[NPM] https://www.npmjs.com/package/react-query [공식 문서] https://react-query.tanstack.com/overview [참고 포스팅] React Query - 왜, 그리고 어떻게 사용할 수 있을까? 들어가기 전.. Query(쿼리)란? Query란 '데이터베이스에 있는 정보에 대한 요청'을 의미합니다. (참고: What is a Query? Database Query Explained) React Query(쿼리)란? React Query의 공식 문서에 따르면 React Query는 리액트용 데이터 fetching 라이브러리로서, 구체적으로는 데이터 fetch, 캐싱, 동기화, 리액트 애플리케이션의 서버 상태 업데이트 등 데이터 요청과 관련된 주요..
[ESLint] 하나의 파일에서 ESLint 비활성화하는 방법
2021. 5. 24. 23:19
dev-log/기타기타🎸
주석을 이용하여 ESLint를 하나의 파일 내에서 비활성화하는 방법에 대해 알아보겠습니다~ ※ 주의: 여기서 비활성화의 의미는, rule violation에 대해 ESLint가 보고하는 것만 비활성화한다는 의미입니다. 따라서 ESLint는 보고만 안 할 뿐 여전히 전체 파일을 parse하기 때문에, 비활성화해놓은 코드라도 자바스크립트 문법을 준수해야 하는 것은 마찬가지입니다. 1. 하나의 파일 내에서 일시적으로 ESLint 비활성화하기 /* eslint-disable */ alert('foo'); /* eslint-enable */ 2. 하나의 파일 내에서 ESLint의 특정 rule(s)만 일시적으로 비활성화/활성화하기 /* eslint-disable no-alert, no-console */ aler..
[Discord.js로 디스코드 봇 만들기] 04. 팀짜기 명령어 작성하기
2021. 5. 21. 05:29
dev-log/Project
오늘은 랜덤 팀짜기 명령어를 작성해보도록 하겠습니다! 사실 매화봇이라는 유명하고 아주 유용한 봇도 이러한 팀짜기 기능을 제공하고 있으며 저도 매화봇을 사용해왔지만, 팀짜기 기능은 한번 직접 구현해보고 싶어서 봇을 만들게 되었습니다. ㅎㅎ 준비 bot.js와 명령어 코드들을 작성하기 전 랜덤 팀짜기 로직을 먼저 구현해놨었는데요, 팀짜기 명령어에 이 로직을 적용하는 것이 오늘의 목표입니다! 자바스크립트로 작성한 랜덤 팀짜기 로직은 아래와 같습니다. // utils/teamMaker.js /** * @param {array} members 전체 명단을 배열로 전달 * @param {number} number 한 팀당 팀원 수를 숫자(정수)로 전달 * @returns 팀 구성 결과를 배열로 반환 */ modul..
[운영체제] 가상 메모리(Virtual Memory System)
2021. 5. 20. 19:06
dev-log/CS
들어가기 전.. 메모리(memory)란? 메모리란 프로그램과 프로그램 수행에 필요한 데이터 및 코드를 저장하는 장치임. 메모리는 크게 내부 기억장치인 주기억장치와 외부 기억장치인 보조 기억장치로 분류됨. DRAM, CPU 안에 있는 레지스터(register)와 캐쉬(cache memory) 등이 전자에 해당됨. SSD, HDD 등이 후자에 해당됨. 가상 메모리 등장 배경 초창기 컴퓨터에서는 사용 가능한 RAM의 용량이, 가장 큰 실행 애플리케이션의 주소 공간보다 커야 했음. 그렇지 않을 경우 "메모리 부족" 오류에 의해 해당 애플리케이션을 실행할 수 없었음. 이후 컴퓨터에서는 프로그래머가 애플리케이션의 일부분만 기억장치에 올려 실행하도록 지정할 수 있게 하는 오버레이 기법을 사용하여 메모리 부족 문제를 ..
타입 변환과 단축 평가
2021. 5. 18. 01:12
dev-log/JS
타입 변환과 단축 평가 타입 변환 타입 변환이라고 하는 개념은 기존 원시값(primitive)을 직접 변경하는 것은 아님. 원시값은 변경 불가능한 값(immutable value)이므로 변경할 수 없음. 타입 변환에는 암묵적 타입 변환(implicit coercion)과 명시적 타입 변환(explicit coercion)이 있음. 암묵적 타입 변환(=타입 강제 변환) 개발자의 의도와는 상관없이, 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것 명시적 타입 변환(=타입 캐스팅) 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환 핵심 키워드 : 🍉문맥🍉 자바스크립트 엔진은 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 ..
객체 리터럴
2021. 5. 15. 21:28
dev-log/JS
객체 리터럴 객체(Object) 객체(object)란, 0개 이상의 프로퍼티(property) 및 메서드(method)로 구성된 집합임. 프로퍼티 => 키(key)와 값(value)으로 구성됨. 프로퍼티는 객체의 상태를 나타내는 값(data)임. 보통은 데이터 구조와 연관된 속성을 나타냄. 프로퍼티 키로는 문자열과 심벌 값만 사용할 수 있는 반면, 프로퍼티 값으로는 모든 값이 올 수 있음. 메서드 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드라고 부름. 메서드는 프로퍼티(=상태 데이터)를 참조하고 조작할 수 있는 동작임. 객체는 이처럼 상태와 동작을 하나의 단위로 구조화할 수 있어 유용함. 객체들의 집합으로 프로그래밍하려는 프로그래밍 패러다임을 객체 지향 프로그래밍이라고 함. 객체 리터럴..
스코프(Scope)란?
2021. 5. 14. 00:40
dev-log/JS
오늘! 첫 면접을 보고 왔는데요, 스코프가 무엇인지 설명해달라고 하시는 질문에 그만 횡설수설 해버렸답니다 하하.. 사실 너무 기본적인 개념이라... 제가 제대로 알고 있지 못한다는 사실조차 모르고... 따로 대비할 생각을 못했던 것 같습니다... 근데 이게 이렇게 되네요 ^ _ ^ ㅋ 설명을 할라고 하니 어디서부터 어떻게 설명해야 할지...??? 첫 질문이어서 더 긴장해서 그랬던 것 같기도 하고요... 아무튼 각설하고! 이번 기회에 자바스크립트에서의 스코프라는 개념에 대해서 확실히 짚고 넘어가보겠습니다! 이 글을 보시는 분들은.. 아무쪼록 추후 면접에서 스코프에 대한 개념 설명을 깔끔하게 잘 하시길 바라며~ ✨ 정리 시작하도록 하겠습니다~ 스코프(scope)란? - 스코프는 변수 등의 식별자가 유효한 범..