본문 바로가기

전체 글181

00. 데이터베이스 데이터베이스 : 컴퓨터의 기억 능력을 통해 자료를 가공 및 저장, 활용하는 일체의 기술 자료는 아무리 많아도 재료일 뿐 그 자체로 유용하지 않다. 자료를 활용하려면 합산, 집계등의 알고리즘을 통해 정보를 가공해야 한다. 데이터베이스는 방대한 자료를 집약하여 저장할 뿐만 아니라 모아 놓은 자료를 가공하여 유용한 정보를 뽑아내는 기술이다. # 데이터베이스가 갖춰야할 요건 대용량 : 대규모의 데이터를 무리없이 저장해야 한다. 은행의 고객은 수천만명이고 고객당 거래 정보도 수천건이어서 정보량이 조 단위에 이른다. 원활한 업무를 위해 모든 데이터를 완벽하게 저장해야한다. 효율성 : 대용량의 데이터를 유지하려면 고성능 서버와 막대한 비용이 필요하다. 고가의 장비를 최대한 활용하려면 저장 구조를 정교하게 설계하여 불.. 2022. 12. 29.
[도서 리뷰] 파이썬 라이브러리를 활용한 텍스트 분석 NLP를 개인 프로젝트에 적용할 수 있도록 안내하는 책 텍스트를 기반으로 한 AI 모델을 만들고자할 때 이 책으로 도움을 받을 수 있다. 일기나, 말투를 기반으로 사람의 감정을 분석하는 서비스나, 문법 자동 완성 서비스 등등 사람의 말을 기반으로 AI 모델을 학습하여 제공할 수 있는 서비스는 NLP를 기반으로 한다. 개인적으로 졸업프로젝트로 NLP를 공부해야하는 상황이었는데 우선 NLP 모델을 만들어 학습하기 전에 원하는 모델을 학습하기 위한 데이터를 준비하는 과정부터 난감하였다. 데이터를 어디서 끌어와야할지, 크롤링을 한다면 어떻게 시작해야할지 그런데 이 책은 데이터를 준비하는 과정(크롤링)부터 모은 데이터들로 할 수 있는 다양한 NLP 모델들을 소개한다. 또한 모델의 성능을 높일 수 있는 방법을 차례.. 2022. 11. 30.
[Inception] 0. 과제 이해하기 This project consists in having you set up a small infrastructure composed of different services under specific rules. - You have to use docker-compose. - It means you have to build yourself the Docker images of your project. • A Docker container that contains NGINX with TLSv1.2 or TLSv1.3 only. • A Docker container that contains WordPress + php-fpm (it must be installed and configured) only wit.. 2022. 11. 15.
[ CPP08 ] 0. 과제 이해하기 STL을 사용해봅시다. 최대한 많이 ex00 오른발을 내딛기 위한 쉬운 연습. type T를 이용하는 템플릿 함수 easyfind를 작성하세요. 이 함수는 두개의 파라미터를 받는데 첫번째는 type T이고 두번째는 int 입니다. 첫번째 파라미터는 정수로된 컨테이너이다. 이 함수는 첫번째 파라미터에서 두번째 파라미터가 처음으로 발견되는 부분을 찾습니다. 발견되지 않으면 예외를 던지거나 에러값을 반환하세요. 하고 싶은대로 하세여 영감이 필요하십니까? 표준 컨테이너가 어떻게 동작하는지 분석해보세요. 물론 모든 상황에서 잘 동작한다는 것을 보여줄 테스트도 준비해야합니다. You don’t have to handle associative containers. ex01 정수 N의 최대를 저장할 수 있는 Span .. 2022. 8. 6.
[ CPP07 ] 0. 과제이해하기 템플릿을 공부해봅시다. ex02 Array 타입 T를 요소로 포함하는 템플릿 클래스 Array를 만드세요. 이 클래스는 다음의 행동과 함수를 따릅니다. 생성자는 파라미터가 없습니다. 빈 array를 만들어요. unsigned int n 을 파라미터로 받는 생성자는 n개의 요소를 가진 array를 만들고 디폴트값으로 초기화합니다. Tip: Try to compile int * a = new int(); then display *a. 복사생성자와 대입연산자는 모두 복사 후 원본 배열이나 복사본을 수정해도 다른 배열에는 영향을 주지 않습니다. 딥카피하라고 메모리를 할당할 때 new 연산자를 사용해야한다. 메모리를 사전에 할당하는 것은 금지입니다. 요소는 [ ] 연산자를 통해서 접근할 수 있다. [ ] 연산자로.. 2022. 8. 6.
[ CPP06 ] 0. 과제이해하기 타입 캐스트에 대해서 알아봅시다. 업캐스팅 자식클래스 객체를 부모클래스의 포인터로 가리키는 것 (부모클래스) *(변수) = (자식 클래스 객체); 위의 변수로는 자식클래스 객체에서 부모클래스의 public에 해당하는 멤버만 접근할 수 있다. 다운캐스팅 부모 클래스 포인터가 가리키는 객체를 자식 클래스의 포인터로 가리키는 것 (자식 클래스 포인터 변수) = (자식 클래스 *)(부모 클래스 포인터 변수); 명시적으로 형변환을 해야한다. 다운캐스팅시 부모클래스 포인터 변수가 부모클래스 객체를 가리키고 있을때 위와 같이 형변환하고 자식 클래스의 멤버를 호출하면 컴파일시에는 문제가 없지만 실행 중에 오류가 발생할 수 있어 위험하다. type casting : 변수의 type을 강제로 변환하는 것 묵시적 명시적 :.. 2022. 8. 6.
[ CPP05 ] 0. 과제이해하기 예외처리에 대해 공부해봅시다. c++ 에서의 예외처리 기본 형식은 다음과 같다. try { //실행할 구문 예외를 발견하면 { throw ZZZ; // ZZZ는 예외 발생을 알리는 값 } } catch (예외 발생을 알리는 값){ //파라미터로 전달된 예외상황이 오면 실행할 구문 (예외처리문) } ex00 예외처리 클래스는 OCCP를 지키지 않아도 된다. 먼저 이 거대한 곳(bureaucrat machine)에서 작은 톱니부터 시작해보자. Bureaucrat은 다음을 꼭 가져야 합니다. constant name 1부터 150까지 범위의 grade 1이 가장 높고, 150이 가장 낮은겁니다. 그리고 유효하지 않은 범위에 대해서 초기화하려고 하면 다음의 예외를 던지세요 Bureaucrat::GradeTooH.. 2022. 8. 3.
[ CPP04 ] 0. 과제이해하기 다형성과 추상클래스, 인터페이스 다형성 : 하나의 인터페이스에 대한 서로 다른 모양의 구현 ex00 다형성 모든 문제에서 복잡한 test들을 만들어왔다. 각 클래스의 생성자와 소멸자들은 각각의 메세지들을 표현해야한다. 모든 클래스들을 같은 메세지를 사용해서 출력하도록 하면 안된다. Animal이라는 기본 클래스를 구현하고 이건 하나의 protected 속성을 가진다. std::string type; Animal을 상속받는 Dog을 구현해라 Animal을 상속받는 Cat을 구현해라 이 두 파생클래스는 그들의 이름에 따른 type필드를 정해야한다. 그리고 Dog의 type은 Dog로 Cat으 ㅣtype은 cat으로 초기화되어야 한다. Aminial 클래스의 type은 비워져 있거나 값을 채우거나 둘다 된다... 2022. 8. 2.
[ CPP03 ] 0. 과제이해하기 상속에 대해 알아봅시다. ex00 ClapTrap으로 부르는 클래스를 만들고 이 클래스는 다음의 private 값을 지정한 값으로 초기화해야한다. 생성자에 파라미터로 받는 이름 claptrap의 건강을 표현하는 Hit point (10) 에너지 포인트 10 공격 데미지 0 다음의 public 멤버 함수를 넣어라 void attack(const std::string& target); void takeDamage(unsigned int amount); void beRepaired(unsigned int amount); 아ㅏㅏㅏ 영어 싫다 그만 해석하고 싶다ㅏ 클랩트랙 공격 시 대상에게 체력을 잃게 한다. 클랩트랩이 스스로 복구하면 체력이 만큼 회복됩니다. 공격과 수리에 각각 1개의 에너지 포인트가 듭니다. .. 2022. 8. 1.