728x90

공부 정리 83

HTTP 상태 코드 종류

2XX성공을 알림.200(성공), 201(작성됨)이 주로 사용됨 3XX리디렉션(다른 페이지로 이동)을 알리는 상태 코드. 어떤 주소를 입력했는데 다른 주소의 페이지로 넘어갈 때 이 코드가 사용.301(영구 이동), 302(임시 이동) 4XX요청 오류. 요청 자체에 오류가 있을 경우.401(권한 없음), 403(금지됨), 404(찾을 수 없음) 5XX서버 오류. 요청은 제대로 왔으나 서버에 오류가 발생한 경우.이 오류가 뜨지 않게 주의하여 프로그래밍할 것. 예기치 못한 에러 발생 시 서버가 알아서 5XX대 코드를 보내는 경우가 많음.500(내부 서버 오류), 502(불량 게이트웨이), 503(서비스를 사용할 수 없음) 등이 자주 사용.

NodeJS의 내장 객체 내용 간단 정리

console보통 디버깅을 위해 사용함. 변수 값 체크나, 에러 확인, 실행 경과 시간을 확인할 대 사용. console.time(레이블), console.timeEnd(레이블)같은 레이블을 가진 time과 timeEnd 사이에서 시간 측정. console.log(내용)로그를 콘솔에 표시. console.error(에러 메세지)에러를 콘솔에 표시. console.dir(객체, 옵션)객체를 콘솔에 표시할 때 사용. 첫 번째 인자로 표시할 객체를 넣고 두 번째 인자로 옵션을 넣음. depth는 객체 안의 객체를 몇 단계까지 보여줄 지 결정하며, 기본값 2. console.trace(레이블)에러 추적할 수 있게 해줌. 에러 발생 시점에 에러 위치가 나와서 흔히 사용하지는 않으나, 위치가 나오지 않을 때 사용...

[DB] SQL에 대한 내용 간단한 정리

SQLSEQUEL(Structured English Query Language)최초의 RDBMS인 SystemR을 위한 DB 언어로 개발되었음.1986년 ANSI에서 관계형 DB의 표준언어로 인증. SQL은 데이터 정의(DDL)/조작(DML)/제어(DCL)하는 종합 DB언어관계 대수식에 비해 키보드로 표기하기 쉬움 관계 대수식(Relational Algebra)와 SQL의 차이 - 관계대수식Relation튜플의 집합결과 중복 불허 - SQL튜플의 백(Bag)튜플 간의 순서는 없고, 결과 중복 허용 관계 대수식이 중복을 불허하면서, 결과에 대해 항상 중복 내용을 제거하는 작업이 발생하여, 결과를 내는데 시간이 오래 걸리는 성능 문제가 발생함. 기본 구문 DDL : 데이터 정의CREATECREATE TABL..

데이터베이스(DB)와 DBMS의 특징과 정의

데이터베이스(DB; Database)어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합해 저장하고 운영하는 데이터의 집합. 정의에 함축된 개념공용 데이터(Shared Data)한 조직의 여러 응용 프로그램이 공동 사용여러 사용자가 서로 다른 목적으로 공유 통합된 데이터(Integrated Data)여러 부서에서 사용하는 데이터를 한 곳에 모아 공동 관리최소한의 중복, 통제된 중복 저장된 데이터(Stored Data)컴퓨터가 접근 가능한 저장 매체에 저장 운영 데이터(Operational Data)조직의 운영에 기본적으로 반드시 필요한 데이터를 저장고유한 기능을 수행하는데 필수적인 데이터를 저장 특징실시간 접근성(Real-Time Accessibility)질의(Query)에 대한 실..

이동통신채널의 물리적 특성에 대해 간단한 정리

열잡음(Thermal Noise)수신장치의 안테나를 포함한 초고주파부의 열잡음이 신호품질 저하를 발생.이 열잡음의 원인은 송수신 장치에서 전자의 운동이 열을 발생하면서 나오는 것으로, 장치의 특성 상 피할 수 없음.열잡음은 모든 주파수 성분에서 균일한 분포를 보이며, 이로 인해 백색 잡음(White Noise)라고도 칭함.이 열잡음만 존재하는 이상적인 채널을 AWGN(Additive White Gaussian Noise)라고 지칭함 경로 손실(Path Loss)송수신기 간 거리차에 의해 송신전력이 감쇠하는 물리적인 현상.송신신호 감쇠는 송신전력과 수신전력의 상대적인 비로 나타낼 수 있음.자유공간에서의 손실은 반송파 파장의 제곱에 비례, 송수신기 간 거리의 제곱에 반비례.무선 신호 전력의 감소가 지수함수적..

1세대 이동 통신부터 5세대(5G) 이동 통신까지 간략한 정리

1세대 미국에서는 AT&T가 셀룰러 개념을 도입한 AMPS(Advanced Mobile Phone System)을 개발, 1세대 이동통신 서비스 시작.4kHz 대역폭의 음성을 20kHz의 채널대역폭을 통해 전송FDMA(Frequency Division Multiple Access) 사용N(Narrow)-AMPS로 발전한국에서는 이 AMPS를 SKT의 전신인 한국이동통신이 이를 도입해서 서비스설계 방식의 한계로, 수용 용량/통화품질 등을 피할 수 없음유럽과 일본은 독자적인 서비스들을 개발해 서비스함 2세대 미국, 한국, 유럽 등이 디지털 음성, SMS를 제공하는 서비스 개발을 시도유럽에서는 GSM(Group Special Mobile)을 개발, 200kHz의 대역폭을 사용하며, 20ms 구간을 할당한 TD..

네트워크 프로그래밍(Network Programming)의 분류

응용 계층(Application Layer) 프로그래밍 응용(작업) 단위 동작을 네트워크 통해 수행하위 계층의 동작을 구체적으로 제어하는 것은 어렵고 효율 저하 발생함.HTML 작성하는 웹 프로그래밍이 이에 해당함.이미 작성된 유틸이나 응용 프로그램을 활용하며, 작성/변경/운영 작업이 용이. 트랜스포트 계층(Transport Layer) 프로그래밍 통신 종단 간 연결 관리 및 패킷 단위 동작 제어.인터넷 프로그램에서 빈번하게 사용되며, OS 별 소켓 API가 유사해 호환성이 좋음. Socket API 예)UNIX BSD socke,t Winsock, TLI(Transport Layer Interface) 디바이스 드라이버 계층(Device Driver Layer) 프로그래밍 링크 계층, 하드웨어를 구동해..

코틀린(Kotlin)에서 중첩 반복문 빠져나오는 방법

과거에 입문 언어로 선택되었던 언어들과 현재 많은 사람들이 쓸 줄은 아는 언어들, C, C++, Java 같은 것들은 중첩반복문을 빠져나오려면 별도의 플래그가 필요했다. 프로그래밍 자체에 서툰 사람들은 이 플래그 개념에서 헤매는 경우가 많았다. 적어도 필자 경험 상, 많은 학부생이 그랬다. 반복문이라는 것이 처음 접하는 사람에게는 어디까지 반복되는지 감이 잘 안 오는 제어문인 데다가, 제어문의 범위에 대해서 완벽히 숙지되지 않은 사람들에게는 반복문을 중단시키는 것 자체가 이해가 되지 않는 경우가 많다. 반복문 내부에 있는 반복문에서 break로 반복 작업을 중단시킨다고 하더라도, 그것을 둘러싸고 있는 반복문(여기서는 바깥 반복문이라고 하겠다.)을 중단시키는 것은 아니다. 따라서 바깥 반복문에 대해서 계속..

해시테이블(Hash Table)과 체이닝(Chaining)에 대한 간략한 정리

해싱과, 해시테이블 그리고 충돌을 처리하는 체이닝 기법에 대해서 한 번 정리해보자.이 글을 시작하기에 앞서, 스택오버플로우의 많은 자료들 그리고 위키피디아, 각종 유튜브 강의를 참고했다는 사실을 먼저 알립니다. 해시와 해시함수 해시 함수(Hash Function)는 데이터의 효율적인 관리를 위해 길이가 각기 다른 데이터를 고정 길이로 매핑하는 함수다. 이 때 매핑하는 과정을 해싱(Hashing)이라고 하며, 매핑하기 전의 데이터를 키(Key), 매핑 후의 데이터를 해시 값(Hash Value; 때로는 Value)이라 한다. 해시의 목적 해시 테이블(Hash Table)해시 테이블은 데이터의 해시 값을 테이블 내 주소로 이용해먹는 탐색 알고리즘으로, 잘 구현하면 이진 탐색보다 빠르게 처리할 수 있다. 암호..

C++ assert() 함수의 용도와 사용 시 참고사항

void assert(int expression) 조건문이 false면 프로그램을 종료시켜버리며 디버깅에 사용하는 함수.assert.h에 정의된 매크로 함수로 이를 인클루드하여 사용.assert의 조건문에서 문제가 발생해서 에러가 발생하면 메세지 박스에 어떤 파일의 어떤 라인에서 문제가 발생했는지 적혀 있어 쉽게 문제가 되는 부분을 찾아낼 수 있음.assert를 통해 메세지를 받았을 경우, 메세지 박스에서다시 시도 버튼을 누르고 중단 시점의 콜 스택이나 변수 상태를 확인해 원인을 확인할 수 있음. assert를 이용하는 이유어떤 에러를 유발할 수 있는 작업이 진행되고 에러가 한참 뒤에서나 발생해서 프로그램에 문제를 일으키면 에러를 유발한 실제 작업을 찾기가 어려워짐. 이런 골치 아픈 일을 방지하기 위해서..

728x90