목록2022/09 (25)
치춘짱베리굿나이스

모듈과 모듈 번들러 이 글은 웹팩과 웹팩 설정 관련 정리 포스팅을 적기 위한 빌드업이다 모듈 모듈이란 특정 기능을 가진 작은 코드 단위로, 웹팩에서는 하나의 파일을 하나의 모듈로 부른다 계산기를 만든다고 하면, 덧셈을 담당하는 파일, 뺄셈을 담당하는 파일 등 세부 기능 단위로 파일을 분리해서 그 함수를 다른 파일에서 가져다 쓰게 되는데, 각각의 파일이 모듈이라고 할 수 있다 한 파일 내에는 같은 주제의 함수 여러 개가 존재하고, 이를 내보내면 다른 모듈에서 가져와 사용하는 식으로 큰 기능을 구현한다 자그마한 테스트용 스크립트 파일이나 간단한 파일 입출력 연산 정도면 파일 한개로 구현이 가능하겠지만, 프로젝트 규모가 커지다 보면 절대 하나의 파일에 모든 기능을 몰아넣을 수 없고, 설렁 넣는다 해도 한 파일..

CPP05 Repetition and Exceptions 반복과 예외 예외 클래스 (std::exception) 상속받아 예외 만들기 [Effective Modern C++] 항목 14. 예외를 방출하지 않을 함수는 noexcept로 선언하라 class ExceptionFoo: public std::exception { public: const char* what() const throw(); // C++98까지, 현재는 deprecated const char* what() noexcept override; // C++11부터 추가된 키워드 }; std::exception 클래스 구현체를 보면 C++ 98에서는 throw() 를 사용하고, C++11부터는 noexcept 키워드를 사용한다 throw() ..
CPP 04 Subtype polymorphism, abstract classes, interfaces 서브타입 다형성, 추상 클래스, 인터페이스 서브타입 다형성 포함 다형성이라고도 한다 상위 클래스의 메서드를 하위 클래스가 상속받은 뒤 다른 동작을 하게끔 재정의하여 사용하는 방법이며, 오버라이딩 (Overriding) 이라고도 한다 과제에서는 Animal 클래스를 상속받은 Dog, Cat 클래스가 각기 다른 소리를 내도록 오버라이딩하는 과정이 들어있다 가상 함수 (virtual function) [C++] 가상함수(virtual) 사용법 총정리 코딩교육 티씨피스쿨 부모 클래스의 멤버 함수 중, 파생 클래스에서 재정의할 것을 기대하는 함수이다 기대 라는 단어가 뭔가 요상하기도 한데, 부모 클래스에서 이 ..
Inheritance 상속 함수 선언 뒤에 const 의미 C++ 함수 뒤에 const - dydtjr1128's Blog void foo(void) const; 이 함수 (foo) 내에서는 어떠한 변수도 바꿀 수 없다는 뜻 클래스의 멤버 변수도 바꿀 수 없고 다른 변수도 수정할 수 없으며 const 함수를 제외한 어떠한 함수도 호출할 수 없다 void foo() vs void foo(void) Is it better to use C void arguments "void foo(void)" or not "void foo()"? void foo(void) 이 함수에는 필요한 인자가 없다는 뜻이다 void foo() C++에서는 void foo(void) 와 같은 의미를 갖지만, C에서는 ‘임의의 인자를 몇..

Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form 임시 다형성, 연산자 오버로딩과 캐노니컬 클래스 임시다형성? 자바스크립트에서의 객체지향 (1) 객체지향 기본 자바스크립트에서의 객체지향 (1) 객체지향 기본 객체지향 올 것이 왔다 자바스크립트 프로그래밍을 하면서 그 편의성 때문에 클래스를 종종 이용하는데, 물론 잘 알고 쓰는 것은 아니다 심지어 자바스크립트의 클래스는 정석적인 클래스도.. blog.chichoon.com 예전에 정리했던 객체지향 글 복붙 (자스 기준이긴 하지만…) 여기서 임시 다형성이란 ‘같은 이름을 가진 함수가 타입에 따라 다르게 행동할 수 있는 성질' 이라고 정리했었다 오버로딩이 그 예이자 임시다형성..
CPP01 Memory allocation, pointers to members, references, switch statement 메모리 할당, 멤버 포인터, 참조, switch 구문 string.npos 의미 C++ - std::string::npos (npos의 의미) size_type 값으로, string.find() 메서드와 함께 사용된다 문자열을 찾지 못했을 경우 npos가 반환된다 no position 이라는 뜻이 아닐까 참조와 포인터 차이 참조 원본 변수와 같은 값을 가리키며, 원본 변수에 변동이 있을 경우 참조의 값도 변한다 따로 메모리 공간을 할당하여 저장하지 않으므로, 원본 변수와 같은 주소를 갖는다 선언과 동시에 초기화하지 않으면 오류가 난다 한번 초기화한 값은 재할당할 수 없다 ..
DBMS 설명 Database Management System 데이터베이스 관리 시스템으로, 데이터의 집합을 만들고 저장 및 관리를 도와주는 툴이다 DBMS를 통해 데이터베이스를 효율적으로 관리할 수 있고, 응용 프로그램들이 쿼리문을 통해 데이터베이스에 접근할 수 있게 된다 DBMS의 종류에 따라 ANSI SQL에 추가 문법들이 더해지거나 기능이 더해져 데이터베이스를 조금 더 구체적으로 다룰 수 있기도 한다 관계형 데이터베이스에서 가장 많이 사용되는 DBMS는 오라클에서 만든 Oracle Database이고, MySQL, Microsoft SQL, PostgreSQL 등도 많이 사용된다 특징이 조금씩 다르기 때문에 사용하기 전에 구체적으로 알아보는 것이 좋겠다 장단점 장점 데이터를 보기좋게 보여준다 CL..

SQL 설명 Structured Query Language (구조적 질의 언어) 데이터베이스 상에서 자료를 처리하고, 데이터베이스에 자료를 넣거나 뺄 때, 조건에 맞는 자료 등을 가져올 때 등에 사용되는 쿼리 언어이다 표준 SQL은 ANSI SQL이 정립되어 있으며, 아래에서 설명할 DBMS에서는 이 ANSI SQL을 기본으로 지원하기 때문에 어떠한 DBMS를 선택하든 ANSI SQL을 사용하지 못하는 일은 없다 명령어의 역할에 따라 DDL, DML, DCL로 구분된다 용어 Column (컬럼) 테이블에서의 세로줄 하나하나를 컬럼이라고 한다 하나의 컬럼에는 같은 형식, 같은 필드명의 데이터들이 들어온다 JSON 으로 치면 key에 해당한다 칼럼명 = 필드명 이라고 생각하자 Row 여러 컬럼을 가진 하나의..