AI 바탕화면 펫 프로젝트 개선기 - 좌우 반전부터 실행 최적화까지
·
5. [개인] 프로젝트 및 공모전/4-2 바탕화면 AI 펫 프로그램
개요Electron + React + Matter.js로 만든 AI 바탕화면 펫 프로젝트의 주요 개선 사항을 정리했습니다. 좌우 반전 문제 해결부터 실행 스크립트 최적화까지, 실제 개발 과정에서 마주한 문제들과 해결 방법을 공유합니다. 주요 개선 사항1. 좌우 반전 이미지 적용 문제 해결문제점:고양이가 왼쪽으로 이동할 때 이미지가 좌우 반전되지 않는 문제Matter.js의 기본 sprite 렌더러가 xScale 음수 값을 제대로 지원하지 않음해결 방법:커스텀 렌더링 함수를 구현하여 Canvas context의 scale() 메서드로 직접 이미지 반전 처리// 커스텀 렌더링: 좌우 반전을 확실하게 처리const originalRenderBodies = Render.bodies;Render.bodies ..
[데이터 분석] 저가 커피 프랜차이즈는 정말 스타벅스 옆에 입점할까? (feat. Haversine)
·
개념 정리 step1/데이터 분석
"스타벅스 옆에 가게를 내면 망하지 않는다"는 속설, 들어보셨나요? 이를 '스세권' 효과라고도 부르는데요. 오늘은 서울시 상권 데이터를 활용해 이디야, 메가커피, 빽다방 등 대표적인 저가 커피 프랜차이즈들이 실제로 스타벅스 근처에 입점해 있는지 데이터를 통해 직접 검증해 보았습니다!1. 데이터 불러오기 및 전처리먼저 분석에 필요한 두 가지 핵심 데이터를 불러옵니다.스타벅스 매장 데이터: 서울시 내 스타벅스 위치 정보소상공인 상권 정보: 서울시 내 일반 상가 정보import pandas as pd# 1. 스타벅스 데이터 로드 및 컬럼명 정리df_starbucks = pd.read_csv('/content/drive/MyDrive/.../starbucks_seoul.csv')df_starbucks = df_..
[Python] Matplotlib 정리 & 데이터 분석 (Online Retail)
·
개념 정리 step1/데이터 분석
데이터 분석을 공부하면서 가장 중요한 것 중 하나는 "데이터를 어떻게 시각화해서 통찰력을 얻느냐"입니다. 오늘은 파이썬의 대표적인 시각화 라이브러리인 Matplotlib의 핵심 개념과 스타일링 방법을 정리하고, 실제 Kaggle의 Online Retail 데이터를 분석하며 시각화까지 연결하는 과정을 기록해 봅니다.Matplotlib 기초Matplotlib은 파이썬에서 데이터를 시각화하는 데 가장 널리 사용되는 강력한 라이브러리입니다. 선 그래프, 막대 그래프, 산점도 등 기본적인 그래프부터 복잡한 3D 플롯까지 지원하며, NumPy 및 Pandas와 완벽하게 호환됩니다.1. 설치 및 기본 구조먼저 라이브러리를 설치하고 기본 구조를 이해해야 합니다.pip install matplotlibMatplotlib..
[Python] 데이터 분석의 기초 Numpy, Pandas(1)
·
개념 정리 step1/데이터 분석
안녕하세요!오늘은 데이터 분석의 Pandas, Series, DataFrame 에 대해서 공부하고 복습해 보는 시간을 가져보겠습니다.🧐 데이터 분석이나 머신러닝을 공부할 때 가장 먼저 마주하게 되는 라이브러리, 바로 넘파이(Numpy)입니다.1. 넘파이(Numpy)넘파이는 파이썬에서 과학 및 수학 연산을 위해 사용되는 핵심 라이브러리입니다.특징: C언어로 구현되어 있어 연산 속도가 매우 빠르고 효율적입니다.용도: 데이터 분석, 머신러닝, 과학 계산 등에서 대규모 다차원 배열을 다룰 때 필수적입니다.장점: 메모리 사용을 최적화하며, 특히 반복문 없이 전체 데이터 배열에 대해 빠른 연산을 수행할 수 있습니다.설치 및 불러오기pip install numpy # 코랩(Colab) 환경에는 이미 설치되어 있음..
Python | MySQL 을 이용한 학원 만족도 시스템 만들기
·
5. [개인] 프로젝트 및 공모전/4-3 개인 프로젝트(기타)
안녕하세요! 오늘은 Python과 SQL을 활용하여 실제 프로그램을 만들어 구현 시켜봤던 내용을 블로그에 작성해보겠습니다!👻일단 프로그램을 어떻게 만들지 구상을 했습니다. 학원 컴퓨터 모니터를 보니, 만족도와 문의 내용과 관련된 내용을 봐서 구상해봤습니다. 1. 출력 클래스 만들기사용자가 제일 처음 마주칠 클래스를 만들었습니다. 메뉴를 선택하면 호출한 함수로 넘어갑니다.!pip install mysqlclient=> 간단하게 설치하는 명령어 입니다. ! => 느낌표의 의미는 주피터 환경에서 파이썬 코드가 아니라 터미널 명령어라고 알려주는 표시하고 합니다. SQL 데이터베이스와 통신하기 위한 라이브러리를 설치한다고 생각하면 된다. mysqlclient 안에는 MySQLdb라는 모듈이 포함되어 있다.imp..
자료구조 | 힙(heap) 구조, 구현하기
·
2. 자료구조와 알고리즘/2-1 자료구조와 알고리즘
안녕하세요! 오늘은 자료구조의 힙에 대해서 알아보고 구현을 해서 연습해보는 블로그를 작성해보겠습니다.힙을 먼저 공부하기 전에 우선 순위 큐와 트리구조에 대해서 먼저 알아봅시다. 우선 순위 큐 란?우선순위의 개념을 큐에 도입한 자료구조데이터들이 우선순위를 가지고 있고 우선순위가 높은 데이터가 먼저 나간다.우선순위 큐는 배열, 연결리스트, 힙으로 구현이 가능하며, 힙으로 구현하는 것이 효율적이다.힙은 최댓값과 최솟값을 찾아내는 완전이진트리를 기반으로 한 자료구조입니다.트리 구조에 대해서 미리 선행해두면 좋을 거 같아 링크를 걸어 두었습니다.https://pak1010pak.tistory.com/13#%EA%B8%B0%EB%B3%B8%20%EC%9D%B4%EC%A7%84%20%ED%8A%B8%EB%A6%AC-..
자료구조 | 트리(이진 트리) 개념과 구현해보기
·
2. 자료구조와 알고리즘/2-1 자료구조와 알고리즘
안녕하세요! 오늘은 자료구조의 이진트리의 개념을 알아보고, 구현을 통해 이해해보는 시간을 가져보도록 하겠습니다. ◻️트리(tree)- 노드(node)들의 집합: 각 노드의 값과 다른 노드들을 가리키는 레퍼런스들로 구성됐다. 트리의 주요 용어간선(edge): 노드와 노드를 연결하는 선, 구현 관점에서는 레퍼런스를 의미한다. a.k.a link, branck라고도 불린다. 루트(root) 노드: 트리의 시작점의 노드를 뜻한다.자녀(child) 노드: 모든 노드는 0개 이상의 자녀 노드를 가진다.부모(parent) 노드: 자녀 노드를 가지는 노드를 부른다.형제(sibling) 노드: 같은 부모를 가지는 노드들.조상(ancestor) 노드: 부모 노드를 따라 루트노드까지 올라가며 만나는 모든 노드를 칭함자손(..
Python(6) | 상속, 스페셜 메서드, 예외처리
·
개념 정리 step1/Python 기초
◻️1. 상속파이썬 상속은 기존 클래스(부모 클래스)의 속성과 메서드를 새로운 클래스(자식 클래스)가 물려받아 코드의 재사용성과 확장성을 높이며, 자식 클래스에서 부모 클래스의 기능을 수정하거나 추가할 수 있는 기능을 제공한다. 또한 파이썬의 모든 클래스는 object라는 클래스로부터 상속받습니다. class Animal: def __init__(self, name, age): self.name = name self.age = age def eat(self, food): print(f'{self.name} {food} 먹습니다') def sleep(self, hour): print(f'{self.name} {hour}시간 동안 잠을 잡니다..
Python | 자료구조: 스택(Stack)과 큐(Queue)
·
2. 자료구조와 알고리즘/2-1 자료구조와 알고리즘
안녕하세요! 오늘은 파이썬의 스택과 큐에 대해서 공부해보도록 하겠습니다!😊1. 자료구조의 스택(Stack)과 큐(Queue) 개념 파이썬에서 스택과 큐는 데이터를 임시로 저장하는 선형 자료구조이다.스택은 후입선출(LIFO), 큐는 선입선출(FIFO)을 따른다.더 자세히 알아보자. 파이썬의 기본 리스트(list)를 사용하면 스택을 가장 간단하게 구현할 수 있습니다.리스트는 맨 뒤에 데이터를 추가(append)하거나 맨 뒤에서 데이터를 제거(pop)하는 작업이 매우 빠르기 때문이다.반면, 튜플(tuple)은 한 번 생성되면 변경할 수 없으므로(immutable), 데이터를 넣고(push) 빼야(pop) 하는 스택의 자료구조로는 적합하지 않습니다. 2. 스택(Stack)스택은 쉽게 말해, 가장 마지막에 들어..