공부 정리 65

객체 지향 설계 5원칙 - SOLID

이론적으로만 알고 있던 SOLID에 대해서 다시 한 번 정리해볼 필요가 있다고 생각해서 정리했다. 면접 준비할 때만 개념적으로 이해하고 있던 내용도 있고, 주변에서 항상 들어왔던 이야기를 바탕으로 최대한 신경 쓰려고 하는 원칙도 있었던 것 같다. 코딩 면접을 준비하는 사람들은 최소한 아래 용어에 대해서는 알고 있어야 한다. 이 글에서는 해당 용어에 대한 설명 외에도, 다른 분의 정리와 본인의 생각을 결합하여 끄적여봤다. SRP, Single Responsibility Principle, 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임?? 아무것도 모르던 시절엔 이 "책임"의 범위를 정하는 것이 가장 어려운 것 같다. 크고 작은 것을 어떻게 정할 것인지에 대한 기준이 필요하지 않을까?..

C언어] 시퀀스 포인트와 연산에 대한 이해

&& 연산자 앞 모든 식의 계산 완료. 첫번째 식에 따라 두번째 식은 평가하지 않을 수 있음. || 연산자 앞 모든 식의 계산 완료. 첫번째 식에 따라 두번째 식은 평가하지 않을 수 있음. , 연산자 앞 모든 식의 계산 완료. () 함수 호출 직전까지 모든 식의 계산 완료. ? 조건 판단 전 모든 식의 계산 완료. ; 직전의 모든 식의 계산 완료. if(), switch() 연결된 코드가 실행되기 전 모든 식의 계산 완료. while(), do-while() 반복될 코드가 실행되기 직전 모든 식의 계산 완료. for(;;) 각 세미콜론 직전에 모든 식의 계산이 완료. return 값 반환 전 모든 식의 계산이 완료. 흔히 시퀀스 포인트에만 초점을 두고 있어서 간과하고 넘어가는 부분이지만, 어느 특정 시점..

PHP] mysql_query와 mysqli_query의 차이, 그리고 mysqli

mysqli에 대한 설명과 MySQLi 관련 레퍼런스 https://www.php.net/manual/en/mysqli.overview.php PHP: Overview - Manual mysqli can be great in some circumstances but much work has been put into PHP Portable Data Objects (PDO) which you should also consider when choosing a way to connect to your database using php. For example, PDO supports MySQL with minimal performance hit www.php.net https://www.php.net/manual..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 10장 - 1

2학년 당시, 교재로 사용했던 책이다. 생능출판에서 나온 'C언어로 쉽게 풀어쓴 자료구조'라는 책의 10장 그래프 파트에 있었던 이론적인 문제들을 복습하면서 풀어봤는데, 풀면서 나온 자료를 올린다. 골치 아파하는 대학생들을 위해 조금의 참고자료가 되었으면 하지만, 이를 그대로 복사 붙여넣기 하는 것은 자기 실력 발전에 전혀 도움되지 않는다는 사실만을 알았으면 좋겠다. 혹시라도 답이 틀린 부분이 있거나, 의문이 남는 부분이 있다면 언제든지 댓글은 환영합니다. 1. 다음 중 그래프에 대한 설명으로 틀린 것은? (4) 그래프에는 사이클이 존재하면 안 된다. 2. 인접 행렬 adj_mat[][]에서 어떤 정점 v의 진출 차수를 알고 싶으면 어떻게 하면 되는가? (1) 인접 행렬의 v번째 행의 값들을 전부 더한다..

OS] 프로세스(Process)와 프로세스 상태(Process State) 정리

프로세스 작업(Job)실행 프로그램과 이에 필요한 데이터 묶음, 컴퓨터에 의해 실행되기 이전의 상태. 프로세스(Process)커널에 등록된 작업, 커널에 등록되어 커널의 관리 하에 들어감.각종 자원들을 요청하고 할당 받을 수 있는 개체.PCB를 할당 받은 개체.능동적인 개체로 실행 중 각종 자원을 요구하거나 반납하면서 진행함. PCB:Process Control Block커널 공간 내 존재해 프로세스가 커널에 등록되어 실행될 시에 프로세스마다 자동으로 생성.프로세스의 각종 정보를 내장하며 종료 시 파괴. OS에 따라서 저장되어야 하는 정보가 다르고, PCB 영역 참조 및 갱신 속도 개선이 시스템 전체 성능에 영향을 미침. - Process Identification ; 프로세스 고유 번호- Process..

Computer Science/OS 2019.02.10

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)송수신기 간 거리차에 의해 송신전력이 감쇠하는 물리적인 현상.송신신호 감쇠는 송신전력과 수신전력의 상대적인 비로 나타낼 수 있음.자유공간에서의 손실은 반송파 파장의 제곱에 비례, 송수신기 간 거리의 제곱에 반비례.무선 신호 전력의 감소가 지수함수적..