Seon
close
프로필 배경
프로필 로고

Seon

  • 분류 전체보기 (48)
    • Study (22)
      • Practice (7)
      • Java (0)
      • Python (6)
      • Algorithm (9)
    • Backend (14)
      • Node.js (2)
      • Spring (6)
      • Datebase (6)
    • Frontend (2)
      • React (2)
      • Vue.js (0)
    • Co-work (10)
      • GitHub (8)
      • Slack (0)
      • Confluence (0)

    데이터 모델링 : 정규화 vs 역정규화

    DB 테이블을 설계할 때는 데이터 모델링을 신중하게 고려해야 한다. 정규화(normalization) 방식 : 여러 테이블로 나누는 방식 역정규화(denormalization) 방식 : 적은 수의 테이블에 많은 칼럼을 포함하는 방식 각각의 방식은 장단점이 존재하며, 어떤 방식이 더 좋은지는 상황에 따라 달라진다 정규화 장점 중복 데이터의 최소화 데이터 일관성 유지 쿼리 최적화 단점 JOIN 연산 필요 : 데이터를 검색할 때 JOIN 연산을 사용해 여러 테이블을 합쳐야 하므로 성능 저하 가능성이 있다. 복잡성 증가 : 많은 테이블과 관계가 있을수록 데이터를 이해하고 관리하기 어려워진다. 역정규화 장점 데이터 검색 성능 향상 : JOIN 연산을 줄이고 데이터를 한 곳에 집중시켜 검색 속도를 높일 수 있다. ..

    • format_list_bulleted Study/Python
    • · 2023. 10. 17.
    • textsms

    [Python] practice 3. Module Import 주의사항

    깔끔하게 정리하면서 코드를 작성해보겠다고 파일을 나눠놨더니 import를 많이 쓰게 됐다. 배운거 써먹는 기분으로 신나게 썼는데 순환 임포트에 관한 오류가 떴다. 처음에는 이게 뭔소린가 했는데 모듈을 막 가져다 쓰면 안된다는 말이었다. 수업 시간에 임포트할 때는 자세하게 가져올 부분을 입력하라고 했었는데 지금 와서야 제대로 이해가 됐다. 순환 임포트 외에도 모듈을 임포트할 때 주의해야할 사항들에 대해 간단히 정리해보려고 한다. 1. 모듈 이름 충돌 모듈 이름은 파이썬의 내장 모듈이나 다른 라이브러리와 충돌되지 않아야 한다. # math.py def add(a, b): return a + b # main.py import math result = math.add(1, 2) 파일명을 math.py로 함으로써..

    • format_list_bulleted Study/Python
    • · 2023. 9. 12.
    • textsms

    [Python] practice 3. 파일 입출력

    RPG 게임을 할 때는 몬스터 정보만 파일로 만들어서 해서 무난하게 넘어갔는데, 이번에 도서관 관리 시스템을 작업하면서 생각보다 많은 파일을 만들어야 했다. 거기다가 한 데 모아서 정보를 출력할 수 있게 판다스 기능까지 추가하려고 하니 정신이 없어졌다. 파일을 불러와서 작업하는 게 많다는 생각이 들었고 이번 기회에 파일 입출력에 관해서 정리하는 것이 좋을 것 같았다. .txt 파일 with open('example.txt', 'w') as file: file.write('안녕하세요!\n') file.write('파일 쓰기 예제입니다.\n') file.write('파이썬으로 텍스트 파일을 쓸 수 있어요!\n') with open('example.txt', 'r') as file: contents = fil..

    • format_list_bulleted Study/Python
    • · 2023. 9. 10.
    • textsms

    [Python] practice 1. 포션 종류 및 효과 추가

    RPG 게임에는 포션이 꼭 필요하다. 그래서 처음 자바로 만들 때 계획은 회복약을 다양하게 만들어서 리스트를 만든 다음에 캐릭터가 선택해서 적용되게 하는 것이었다. 하지만 처음 시도한 미니 프로젝트다보니 코드를 작성하는게 너무 어려웠고, 결국 포션의 종류는 하나로 한정시킬 수 밖에 없었다. 그래도 단순하게 작성했기 때문에 당시에 큰 문제 없이 코드를 만들었다. 하지만 파이썬으로 옮기는 작업을 하면서 욕심이 생기기 시작했고 포션 종류를 하나 더 추가하기로 했다. 그렇게 하자마자 문제가 발생했다. 단 한 종류를 더 추가했을 뿐인데 어째서! 라는 생각이 들면서 그냥 원래대로 할까 하는 마음이 생겼지만 그렇게 하면 발전이 없다는 생각에 될 때까지 해보기로 했다. 포션을 사용했는데 수량이 변하지 않는 문제부터 해..

    • format_list_bulleted Study/Python
    • · 2023. 8. 29.
    • textsms

    [Python] practice 1. 구분선 출력

    지금 하는 프로젝트들은 콘솔로 실행해 보는 것이 전부다. 그래서 콘솔창에 출력을 깔끔하게 하기 위해서 아래 코드처럼 구분선을 하나하나 넣어왔다. def unit_info(self): print("-----------------------------------------") print("┌ 캐릭터명 : " + self.get_name()) print("│ 체력 : " + str(self.get_hp()) + " / " + str(self.get_max_hp())) if self.equipped_weapon: print("└ 장착무기 : " + self.equipped_weapon.get_name()) print("└ 공격력 : " + str(self.get_min_damage()) + " ~ " + str..

    • format_list_bulleted Study/Python
    • · 2023. 8. 27.
    • textsms

    [Python] practice 1. 변수

    RPG 게임 간단 구현 java 프로젝트를 파이썬으로 바꾸면서 시작부터 막혀버렸다. abstract class Unit { private String name; private int health; private int maxHealth; private int attack; private int randomAttack; private int maxDamage; private int minDamage; Unit() { } Unit(String name, int health, int maxDamage, int minDamage) { this.name = name; this.health = health; this.maxDamage = maxDamage; this.minDamage = minDamage; } St..

    • format_list_bulleted Study/Python
    • · 2023. 8. 27.
    • textsms
    • navigate_before
    • 1
    • navigate_next
    공지사항
    전체 카테고리
    • 분류 전체보기 (48)
      • Study (22)
        • Practice (7)
        • Java (0)
        • Python (6)
        • Algorithm (9)
      • Backend (14)
        • Node.js (2)
        • Spring (6)
        • Datebase (6)
      • Frontend (2)
        • React (2)
        • Vue.js (0)
      • Co-work (10)
        • GitHub (8)
        • Slack (0)
        • Confluence (0)
    최근 글
    인기 글
    최근 댓글
    태그
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바