sm-stack의 개발 이야기

고정 헤더 영역

글 제목

메뉴 레이어

sm-stack의 개발 이야기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (10)
    • 개발 Recording (10)
      • Python (4)
      • Django (3)
      • 백준 (0)
      • 개발환경 (1)
      • Solidity | Web3 (0)
      • CS | 개발 지식 (2)

검색 레이어

sm-stack의 개발 이야기

검색 영역

컨텐츠 검색

python

  • Block Scope in Python

    2023.07.11 by sm-stack

  • 부동소수점 - Python round() 함수

    2023.07.07 by sm-stack

  • Django (2) Major Components

    2023.06.11 by sm-stack

  • Django (1) 기본 개념 및 설치 방법

    2023.06.11 by sm-stack

  • Python으로 힙(Heap) 구현하기

    2022.06.07 by sm-stack

  • Python으로 연결리스트 (LinkedList) 구현하기

    2022.06.07 by sm-stack

Block Scope in Python

Python: Function-Level Scoping 파이썬은 블록 범위(Block Scope)를 지원하지 않기 때문에, 종종 변수가 overriding되어 예상치 못한 동작으로 이어질 수 있다. game_level = 3 enemies = ["Skeleton", "Zombie", "Alien"] def get_new_enemy(game_level): if game_level < 5: new_enemy = enemies[0] print(new_enemy) get_new_enemy(game_level) # 결과: Skeleton 위와 같은 파이썬 코드에서, new_enemy가 if 문 안에 선언되었음에도 불구하고 올바른 값을 반환하는 것은 파이썬이 function-level scoping을 사용하기 때문..

개발 Recording/Python 2023. 7. 11. 14:08

부동소수점 - Python round() 함수

부동소수점과 그에 따른 문제점 파이썬의 round() 함수를 사용하다가 의문점이 들어 공식 Docs를 찾아보았다. Built-in Functions The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.,,,, Built-in Functions,,, A, abs(), aiter(), all(), a... docs.python.org 공식 Docs에서 round 함수를 검색하면, 다음과 같은 문구를 볼 수 있다. round()를 지원하는 빌트인 자료형의 경우, 값들은 10의 -ndigits 제곱의 가장 가까..

개발 Recording/Python 2023. 7. 7. 00:39

Django (2) Major Components

Django의 핵심 구성 요소 Django : 데이터(Model)를 로직(View)에 따라 처리해 유저에게 보여준다(Template) Template 레이어는 프론트엔드를 나타냄. → 주 사용 목적은 백엔드를 구축하기 위함이므로, Model과 View에 신경 써야 함. Model 웹서비스가 반복적으로 저장하고 활용할 데이터의 구조를 파이썬 클래스로 표현할 수 있도록 장고에서 제공하는 API 모든 클래스는 django.db.models.Model의 subclass로 구현. 작성한 대로 기능하는 일종의 DB 접근 API ORM(Object-Relational Mapping) 기능 수행 하나의 모델 클래스는 하나의 DB 테이블과 대응 모델 클래스의 모든 attribute는 각각의 DB 필드가 됨. 모델 구현 ..

개발 Recording/Django 2023. 6. 11. 15:46

Django (1) 기본 개념 및 설치 방법

Django란? 파이썬을 바탕으로 하고 데이터베이스 기반 웹 앱을 개발하기에 좋은 프레임워크. 모델 디자인 Django에서는 객체-관계 맵핑(Object-Relational Mapping, ORM)을 통해 데이터베이스 레이아웃을 설명한다. ** ORM이란? 객체(Object)와 RDB(Relational Database)에서 쓰이는 테이블을 자동으로 매핑하는 것을 의미. 서로 원래 호환 불가능하지만, ORM을 쓰면 객체 간 관계를 바탕으로 SQL문을 자동으로 생성해 불일치를 해결할 수 있다. 장점 완벽히 객체지향적인 코드; SQL문의 문법을 신경쓰지 않아도 된다. 재사용, 유지보수, 리팩토링 용이 DBMS(Database Management System) 종속성 하락 단점 복잡할 수록 난이도 올라감 일부..

개발 Recording/Django 2023. 6. 11. 15:29

Python으로 힙(Heap) 구현하기

힙은 우선 순위가 존재하는 데이터를 처리하기 위한 큐 구조 중 하나이다. 우선순위가 높은 자료부터 꺼내서 빠르게 처리하기 위해 만들어졌다. 우선 순위가 있는 데이터의 예로는 대표적으로 OS에서 프로세스의 처리 과정이 있다. 우리가 사용하는 Windows, Linux 등 모든 OS에서는 프로세스의 우선순위를 부여할 수 있는 기능이 존재한다. 만약 CPU를 많이 차지하고, 처리하는데에 오래 걸리는 작업이 있다면 우선순위를 낮춰서 CPU가 한가할 때 작업을 처리할 수 있도록 한다. 우리가 힙이라고 부를 수 있는 구조의 조건으로는 두 가지가 있다. 1) 노드(node)들이 완전 이진 트리 구조를 가져야 한다. 2) 노드들이 우선순위에 따라 오름/내림차순으로 배열되어 있어야 한다. 1)의 완전 이진 트리 구조는 ..

개발 Recording/Python 2022. 6. 7. 21:41

Python으로 연결리스트 (LinkedList) 구현하기

파이썬에 내장된 배열리스트는 사용자 경험에 최적화되어 있는 편이라, 연결리스트의 대부분의 기능들이 포함되어 있다. 그러나 하부가 배열로 구성되어 있기 때문에, 우리에게 드러나진 않지만 시간 복잡도 및 작업 부담 측면에서 여러 가지 비효율이 존재한다. (ex. 배열 중간에 있는 원소의 삽입 및 삭제에서 원소들을 하나씩 옮겨줘야 하기 때문에 작업 부담이 커짐) 파이썬에서도 연결리스트를 구현할 수 있다. 우선 다음과 같이 class를 사용하여 연결리스트에 사용될 노드 객체를 정의한다. class ListNode: def __init__(self, newItem, nextNode): self.item = newItem self.next = nextNode 이후 이 ListNode 객체를 이용하여 연결리스트를 구..

개발 Recording/Python 2022. 6. 7. 12:46

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
sm-stack의 개발 이야기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바