전체 글 313

딥러닝 첫걸음

[무료] 딥러닝 첫걸음 (홍랩 AI 시리즈)https://www.youtube.com/watch?v=iWEi8IKs4-U&t=777s0 개요전체 인공 지능 분야에서 머신러닝이 있고 그 중에 딥러닝이라는 분야가 있습니다. 머신러닝은 사람이 하나 하나 프로그래밍 하는 것이 아니라 머신 그러니까 컴퓨터가 배우는 것입니다. 무엇으로부터 배우는 가? 바로 데이터로부터 배웁니다. 데이터 과학이 상당부분 영역이 겹쳐 있는 것을 보실 수 있습니다.왜 데이터로부터 배우는 방식을 사용하는가? 인류가 지금까지 시도해온 어떠한 방법 보다 데이터로 접근하는 방법이 가장 좋다라고 확인 되었기 때문입니다. 전통적인 방법으로 아무리 열심히 프로그래밍을 해도 이 머신러닝 방식을 따라 잡을 수 없더라입니다. 머신러닝 분야안에서 많은 다..

AI 2025.08.26

Slack Bolt의 AsyncSocketModeHandler

AsyncSocketModeHandler는 Slack Socket Mode를 asyncio 기반으로 돌려주는 핸들러입니다. Slack 서버와 WebSocket으로 연결하여 이벤트를 비동기 핸들러로 처리 가능 하도록합니다.Slack Bolt란?Slack이 제공하는 공식 Python SDK.봇/앱을 만들 때 이벤트, 액션, 명령어 등을 간단히 처리할 수 있도록 도와줍니다.크게 두 가지 연결 방식이 있음:HTTP 방식 (이벤트를 Slack 서버에서 HTTP 요청으로 전달 → Flask/FastAPI 등 웹서버 필요)Socket Mode 방식 (웹소켓을 통해 Slack 서버와 직접 연결 → 방화벽/공인 도메인 불필요)예를 들어,from slack_bolt.adapter.socket_mode.async_handl..

AI/Slack Bot 2025.08.18

python 패키지 관리 - requirements.txt 업데이트

기존 설치된 패키지들을 새로운 requirements.txt로 업데이트하는 방법입니다.기존 패키지 업데이트 방법가장 안전하고 효과적인 방법은 단계적 업데이트입니다:현재 상태 백업# 현재 설치된 패키지 목록 백업 (롤백용)pip freeze > backup_requirements.txt빠른 업데이트 (권장)# 전체 패키지를 새 버전으로 업그레이드pip install --upgrade -r requirements.txt문제 발생시 강제 재설치# 충돌 발생시 강제 재설치pip install --force-reinstall -r requirements.txt설치 검증requirements.txt 파일에서 업데이트한 패키지가 제대로 업데이트 되었는지 확인 하는 방법입니다.다음은 Flask, Pandas, NumP..

N, NP, NP Complete, NP Hard

P 문제란?P(Polynomial time) 문제는 입력 크기에 대해 다항식 시간 내에 해결할 수 있는 결정 문제입니다.정의 : 정답을 빠르게 찾을 수 있고, 그 정답이 맞는지도 빠르게 검사할 수 있는 문제들.여기서 말하는 “빠르게”란 컴퓨터가 문제를 푸는 데 걸리는 시간이 입력 크기의 다항식 시간(예: n, n², n³ 등) 안에 끝나는 걸 말해요.왜 중요한가?P 문제는 실제 컴퓨터로 ‘현실적으로 풀 수 있는’ 문제들의 집합이기 때문에 중요합니다.즉, 알고리즘이 효율적이라는 말과 거의 같다고 봐도 됩니다.NP 문제란?NP(Nondeterministic Polynomial time)Nondeterministic: "비결정적"이라는 뜻. 컴퓨터가 무작위로 정답을 찍을 수 있다고 가정했을 때.Polynom..

독서 - Go 100가지 실수 패턴과 솔루션

실수는 삶의 일부다. 알버트 아인슈타인의 말처럼,"실수를 저지른 적이 없는 사람은 새로운 것을 한 번도 시도한 적이 없는 사람이다."결국 중요한 것은 실수를 저지른 횟수가 아니라, 실수를 통해 배우는 능력이다. 이 격언은 프로그래밍에도 적용된다. 언어는 마법 같은 과정에 의해 숙달되는 것이 아니다. 수많은 시행 착오를 거치고 실수로부터 배우는 과정이 반드시 수반되어야 한다. 단순하다고 쉬운 것은 아니다단순한 것과 쉬운 것 사이에는 미묘한 차이가 있다. 어떤 기술이 단순하다는 말은 배우거나 이해하기가 복잡하지 않다는 뜻이다. 반편, 쉽다는 말은 어떤 일을 많은 노력 없이 적은 힘으로 처리합 수 있다는 말이다. 고 언어는 처음 배우기는 쉽지만 그렇다고 해서 마스터하기도 쉬운 것은 아니다예를 들어, 동시성을 ..

독서 리뷰 2025.04.20

RDBMS의 정규화 단계

정규화는 데이터베이스 설계 시 중복을 최소화하고 데이터 무결성을 보장하기 위한 과정입니다. 제1정규화(1NF)핵심: 모든 속성이 원자값(atomic value)을 가져야 함설명: 하나의 셀에는 하나의 값만 존재해야 합니다.예시:비정규화: 학생(학번, 이름, 수강과목)레코드 1 : (1001, 김철수, '수학, 영어, 과학')1NF: 학생(학번, 이름, 수강과목)레코드1: (1001, 김철수, 수학)레코드2: (1001, 김철수, 영어)레코드3: (1001, 김철수, 과학)제2정규화(2NF)핵심: 1NF를 만족하며, 부분 함수 종속성을 제거설명: 기본키가 복합키일 때, 일부 컬럼이 기본키의 일부에만 종속되는 경우를 제거합니다.예시:1NF: 수강정보(학번, 과목코드, 학생이름, 과목명, 성적)여기서 기본키는..

DynamoDB에 대한 5가지 오해

The DynamoDB Book 1. DynamoDB는 키-값 저장소일 뿐입니다.당신은 DynamoDB가 단순한 액세스 패턴만 처리할 수 있다고 들었을지도 모릅니다. 개별 항목을 삽입하고 다시 읽어오는 것뿐이며, 그보다 복잡한 것은 "진짜" 데이터베이스를 사용해야 한다고 말이죠. 이보다 더 사실과 거리가 먼 말은 없습니다. DynamoDB는 여러 레코드 간의 관계(일대다 관계에 관한 11장과 다대다 관계에 관한 12장 참조)와 필터링에 관한 복잡한 요구사항(13장 참조)을 처리할 수 있습니다. 관계형 데이터베이스와는 다른 방식으로 수행하지만, 여전히 가능합니다. 18-22장의 예제에서는 GitHub 메타데이터 백엔드 전체를 모델링하는 것을 포함한 몇 가지 복잡한 패턴을 살펴봅니다. 더 복잡한 예제는 10..

DynamoDB의 역사

DynamoDB는 Amazon Web Services(AWS)에서 개발한 완전 관리형 NoSQL 데이터베이스 서비스로, 다음과 같은 역사적 발전 과정을 거쳤습니다:기원 및 개발Dynamo 논문 (2007): DynamoDB의 기술적 기반은 Amazon이 2007년에 발표한 "Dynamo: Amazon's Highly Available Key-value Store"라는 논문에서 시작되었습니다. 이 논문은 Amazon의 내부 키-값 저장소 시스템을 설명했으며, 높은 가용성과 확장성을 갖춘 분산 데이터베이스 설계의 기초가 되었습니다.SimpleDB (2007): Amazon은 먼저 SimpleDB라는 클라우드 기반 NoSQL 데이터베이스를 출시했으나, 이는 확장성 제한이 있었습니다.DynamoDB 출시 (20..

반응형