반응형

분류 전체보기 311

객체지향 프로그래밍 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군데를 수정하시고 서버 실행하면 완료.

[JAVA] 13904번: 과제

https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net ✅ 골드 Ⅲ 🔶 풀이 알고리즘 분류에는 자료 구조, 정렬, 우선순위 큐라고 적혀있는데 다 필요 없다. 그냥 그리디 알고리즘으로 해결할 수 있다. 마감일까지 남은 일수와 과제 점수 두 개를 입력받을 때 마감 기한 중에 가장 긴 날짜를 구한 후에 거꾸로 계산하면 된다. 예제에서는 가장 길게 남은 마감 기한은 6일이므로 6일차부터 1일차로 순서대로 내려가면 된다. 6일차: 점수 5점짜리 과제만 있음. 5일차: 과제 없음 4일차: 60, 40, 1..

[JAVA] 백준 14916번: 거스름돈

https://www.acmicpc.net/problem/14916 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net ✅ 실버 Ⅴ 🔶 풀이 편의점 카운터에서 일한다. 2원과 5원만 이용해서 최소한의 동전으로 거스름돈을 주면 된다. 해당 문제에 알고리즘 분류는 dp, 그리드 알고리즘 두 가지 방법으로 다 풀어봤다. 1️⃣ dp Bottom-Up 방법을 사용. 우리가 알 수 있는 작은 문제는 5원까지. 1원 = X 2원 = 1개 3원 = X 4원 = 2개 5원 = 1 6원부터 시작하면 시작하면 된다. dp[6] = Math.min(dp[6-2], dp[6-5]) → Math.min(dp[4], dp[1]) → 2 와 Integer.MA..

오라클 조건문 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

반응형