본문 바로가기

CS

(14)
객체지향이란 무엇인가? 개념객체지향, object-oriented programming(OOP)란 무엇인가?프로그램의 설계방법론이고 개념이다.오브젝트를 기본 단위로 나누고, 오브젝트와 오브젝트가 상호작용하게 만들어 각자의 역할을 수행하게 한다.Java의 경우 class를 정의하여 객체(오브젝트)를 생성하고 관리한다. 주의해야 할 것은 객체지향은 설계방법론이고 개념이므로, 어떤 언어 자체를 객체지향이라고 정의할 수 없다.현재 웹 개발 언어로 사용되는 많은 언어들은 객체지향적인 개념으로 설계되었거나, 지원을 하고 있는 것이므로 개념 의 영역으로 생각해야 한다.  특징객체지향은 다른 특징들도 있지만 대표적으로 캡슐화, 상속, 다형성의 특징을 갖는다. 캡슐화캡슐화란 클래스 안에 변수와 함수를 작성하여 하나의 단위로 정의하는 것이다. ..
[MongoDB]pymongo.errors.ServerSelectionTimeoutError 문제 pymongo.errors.ServerSelectionTimeoutError: cluster0-shard-00-00.4bw3y.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:997),cluster0-shard-00-01.4bw3y.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:997),cluster0-shard-00-02.4bw3y.mongodb.net:27017: [..
mysql 1205 Lock wait timeout exceeded; try restarting transaction 문제 크롤링을 통해 정보를 db에 저장하는 도중 해당 에러 발생 쥬피터 노트북에서 실행한 pymysql구문에서 commit()하지 않았던 것 때문에 문제가 발생한 것이 아닌가 예상(정리한 구문은 다른 에디터에서 실행) 해결 어떤 테이블에 lock이 잡혀 있다면 mysql을 재시작하여 초기환경으로 시작하는 것이 좋다고 판단하여 서버를 재시작했다. mysql.server stop mysql.server start
mysql foreign key 적용된 테이블의 레코드 삭제하기 문제 : Cannot delete or update a parent row: a foreign key constraint fails foreign key가 적용된 테이블의 레코드를 삭제하려 했을 때 나오는 에러메세지 해결 foreign key의 적용을 해제하고 삭제 후 다시 켜준다. SET foreign_key_checks = 0 // foreign key 적용 해제 SET foreign_key_checks = 1 // foreign key 다시 적용
알고리즘의 시간복잡도(Big-O) 컴퓨터과학에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 알고리즘의 시간복잡도는 주로 빅-오 표기법을 사용하여 나타내며, 이 빅-오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. - wiki 알고리즘의 성능 계산 알고리즘의 성능을 계산하는 것에 있어 단순히 아웃풋이 나오는 결과의 시간 을 측정하는 것은 모든 경우에 적용되지 못한다. 이유는 해당 알고리즘을 실행하는 하드웨어와 소프트웨어 환경이 모두 상이하여 같은 성능을 가질 수 없기 때문이다. 따라서 알고리즘을 측정하는 객관적인 단위는 실행되는 단계(step)을 기준으로 한다. 단계는 메모리 기본연산(대입, 복사, 산술연산 등)이다. 기본연산은 1단위 시간을 기준으로 하며 이..
Parsing이란? Parsing컴퓨터 과학에서 파싱(parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다.- 위키백과즉, 정보를 의미있는 토큰 단위로 분해하여 구문 구조를 파악하고 원하는 형태로 변형시키는 작업이다. 여기서 토큰이란 파싱과정에서 생성되는 의미있는 최소 단위를 말한다.대표적으로 HTML, JSON, XML 등을 파싱해 사용 가능하게 구조화한다. Parser파싱의 일련 과정을 수행하는 것을 파서(parser)라 한다. 파서는 컴파일러나 인터프리터의 구성요소 중 하나이며, 문자열을 분석해 의미있는 구조로 변환한다. 또한 다양한 형태의 데이터에서 정보를 추출하고 변환하는 데 사용된다. Parsing exampleb'Goog..