반응형

개발 & 데이터베이스 100

객체지향 프로그래밍 OOP 특징, 오버로딩과 오버라이딩

1. 객체지향 프로그래밍 OOP (Object-Orientred Programming) 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식 📌 객체? 객체(Object) 는 우리 주변에 있는 모든 것 (컴퓨터, 책, 사람, 마우스 등) 자신만의 고유한 특성과 행동을 가지며 다른 객체들에게 행동을 요청하거나 정보를 주고 받는 등 상호작용을 하면서 존재 객체지향 프로그래밍 절차지향 프로그래밍 처리방식 문제를 여러 개의 객체로 처리 문제를 여러 개의 함수로 처리 장점 코드 재사용 용이 유지보수가 쉬움 대형프로젝트에 적합 처리 속도 빠름 실행 속도 빠름 단점 처리 속도가 상대적으로 느림 객체가 많으면 용량이 커짐 설계시 많은 시간과 노력이 필요 ..

디스코드 봇 실행 오류

디스코드 봇 개발 초기 단계에서 발생하는 에러 중 하나는 아래와 같다. bot = commands.Bot(command_prefix=':') TypeError: BotBase.__init__() missing 1 required keyword-only argument: 'intents' intents 가 필요하다는 뜻으로 아래와 같이 작성해주면 쉽게 해결할 수 있다. intents = discord.Intents.all() bot = commands.Bot(command_prefix='.',intents=intents) 쉽게 에러가 해결되면 코딩이 아니지. 아래처럼 새로운 에러가 발생. Traceback (most recent call last): File "C:/Users/USER/Desktop/디스코..

자료구조 데크 deque

덱 혹은 데크라고 불리는 deque는 Double-Ended Queue의 줄임말로 양쪽으로 삽입과 삭제를 할 수 있는 자료구조입니다. 때문에 사용에 따라서 스택(Stack) 혹은 큐 (Queue)로 사용할 수 있습니다. 설명 push() / addFirst() 덱의 맨 앞쪽에 삽입. offerFirst() 덱의 맨 앞쪽에 삽입. 정상적으로 삽입된 경우 true, 그렇지 못한 경우 false 리턴 add() / addLast() 덱의 맨 뒷쪽에 삽입. offerLast() 덱의 맨 뒷쪽에 삽입. 정상적으로 삽입된 경우 true, 그렇지 못한 경우 false 리턴 removeFirst() / remove() / pop() 덱의 맨 앞쪽에 있는 요소를 제거하고 읽어옴, 비어있는 경우 예외 처리 pollFirs..

Elasticsearch 메타 필드 종류와 필드 데이터 타입

메타 필드 엘라스틱서치에서 생성한 문서에서 제공하는 특별한 필드다. 이것은 메타데이터를 저장하는 특수 목적의 필드로서 이를 이용하면 검색 시 문서를 다양한 형태로 제어하는 것이 가능해진다. GET drama_search/_doc/1 ------------ 결과 ------------ { "_index": "drama_search", "_id": "1", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": { "dramaCd": "20240125", "dramaNm": "제목 없음", "dramaNmEn": "not title", "prdtYear": "2024", "openDt": "", "companies": [], "d..

Elasticsearch 기초 개념과 구조 정리

Elasticsearch 아파치 루씬 (Apache Lucene) 기반의 실시간에 가까운 검색이 가능한 오픈소스 검색엔진 기본적으로 HTTP를 통해 JSON 형식의 RESTful API를 이용하며 자바로 개발됐지만 여러 가지 프로그래밍 언어를 통해 활용할 수 있음. Logstach 플러그인을 이용해서 다양한 소스의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 Elasticsearch로 전달함. Kibana Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링함. Elasticsearch vs RDBMS 구조 엘라스틱서치 관계형 데이터베이스 (RDBMS) Index (인덱스) Database (데이터베이스) Shard (샤드) Partition (파티션) Type (타입) Tab..

Docker 에 Elasticsearch, Kibana 설치 및 실행 방법

Windows 환경에 직접 설치해서 사용해봤지만 에러도 많이 발생하고 Docker 로 진행했을 때가 훨씬 간편하고 쉬워서 Docker 설치를 추천드립니다. https://www.docker.com/get-started/ Get Started | Docker Get started with Docker Desktop and join millions of developers in faster, more secure app development using containers and beyond. www.docker.com Elasticsearch 다운로드 // download Elasticsearch in docker docker pull docker.elastic.co/elasticsearch/elastics..

[Elastic search] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel

에러: received plaintext http traffic on an https channel, closing connection Netty4HttpChannel 설치 후, 명령 프롬포트 cd 명령으로 엘라스틱서치 경로 이동해서 elasticsearch.bat 명령어로 실행했더니 위와 같은 에러 발생. /config/elasticsearch.yml 파일 수정으로 문제 해결할 수 있다. xpack.security.enabled: false xpack.security.enrollment.enabled: false xpack.security.http.ssl: enabled: false xpack.security.transport.ssl: enabled: false 총 4군데를 수정하시고 서버 실행하면 완료.

오라클 조건문 IF ELSIF, CASE WHEN 사용 방법

오라클 쿼리를 짤 때도 조건문이 필요할 때가 생길텐데요. PL/SQL에서 IF ELSE 문을 이용하시면 됩니다. IF 조건 THEN -- 처리문 ELSIF 조건2 THEN -- 처리문 ELSE -- 처리문 END IF; 다른 언어와 구조는 똑같고 THEN 을 붙이는 부분과 ELSIF 명령어를 사용합니다. 마지막으로 END IF; 를 붙여줘야합니다. DECLARE p_NUM NUMBER := 90; BEGIN IF p_NUM

오라클 COUNT(*) COUNT(1) vs COUNT(컬럼) 차이점

오늘 데이터베이스를 확인하던 중에 COUNT(1) 을 쓴 쿼리를 확인하고, COUNT(*) 과 어떤 차이가 있는지 궁금해서 검색해봤다. COUNT() 함수는 집계 함수로 SELECT 쿼리에 대한 행 수를 계산하는 함수이다. COUNT(*) vs COUNT(1) 결론부터 말하자면 두 개의 명령문에는 차이가 없다. 두 개의 명령문은 모두 동일한 방식으로 작동하며 성능 상에 차이가 없다고 공식 문서에도 명시되어있다. COUNT(*), COUNT(1) vs COUNT(컬럼명) COUNT(컬럼) : 해당 컬럼에 NULL 값이 들어간 행은 제외하고 계산함. COUNT(*) : NULL 값에 상관없이 모두 계산함. COUNT(컬럼) 명령문은 해당 컬럼에 NULL 값이 있으면 세지 않기 때문에 모든 행을 세는 COUN..

반응형