본문 바로가기

분류 전체보기117

프로젝트03. 도서 관리 프로그램 만들기2-sqlite3 앞선 포스팅에서 고민한 것과 같이 데이터를 효율적으로 관리하기 위해선 DB를 구성하는게 좋다. 그리고 그중 우리가 다뤄볼 DBMS는 sqlite3이다. sqlite3의 장점은 python에 내장된 모듈이기 때문에 별도의 설치가 없어도 사용이 가능하다. 오늘 포스팅은 SQL의 DDL문을 통해 책을 관리할 기본 테이블을 작성하고 데이터를 넣어보는 포스팅이다. 1. DB 생성하기 # main_db.py import sqlite3 # DB생성 및 Auto Commit, RollBack conn = sqlite3.connect(r'.\books_manager_database.db', isolation_level=None) # 해당 경로에 books_manager_database.db DB파일이 생성된다. # 커서.. 2023. 12. 2.
프로젝트03. 도서 관리 프로그램 만들기1-기능 고민하기 일단 앞선 포스팅에서 이야기한만큼 도서관과 서점의 경우 책을 관리하는 기준이 다르다. 도서관의 경우, 책의 대여에 따른 상태 변화가 책마다 나타나야 한다. 만약 [올라운드 파이썬] 이라는 책이 3권이 있다면, 도서관에서는 2권은 회원 1과 회원2에게 대여 중, 나머지 1권은 2층 A열에 있다는 개별적인 책의 정보가 필요하지만 서점은 샘플로 꺼내둔 책이 있다면 책의 위치가 나타나고, 재고가 몇 권인지에 대한 수량과 가격만 알면 되지 개별적인 책의 출입을 확인할 필요가 없다. 위에서 설명한 것과 같이 목적에 따라 관리하는 대상도 방법도 달라져야 하고, 이러한 내용이 DB에 반영이 되어야한다. 0. 도서 관리 프로그램 만들기(도서관용) 그래서 좀 더 많은 기능이 필요할 것으로 보이는 도서관 대여 시스템을 기준.. 2023. 12. 1.
프로젝트03. 도서 관리 프로그램 만들기(intro) 이번에 작성해 볼 프로그램은 도서 관리 프로그램이다. 아직까지 정확히 떠오른 기획은 없지만, 고민하며 하나씩 만들어 볼 예정인데, 큰 고민 없이 시작하는 이유는 판매 목적의 프로그램이 아닌데다가 성능과 속도라는 점을 고려치 않고 기능 구현과 라이브러리 연습에 비중을 두기 때문이다. 당연한 얘기지만 실제 코딩도 중요하지만 기획이나 설계에 많은 시간과 노력을 들여야한다. 1. 장소에 따라 도서관리 프로그램을 만들겠다는 생각을 정하고 목적을 생각하니, 2가지 정도가 떠올랐다. 장소에 따라 사용 목적과 기능이 달라질텐데, 책과 관련된 첫번째 장소가 도서관, 두번째 장소가 서점이었다. 단순히 장소에 따른 기능을 떠올려보면 도서관이라면, 대여가 주목적인만큼, 회원 관리와 책의 위치, 대여 상태에 대한 관리가 이루어.. 2023. 12. 1.
독학 Python tkinter(GUI) - 20. py to exe 로 변환하기 Q. 왜 exe로 변환이 필요할까? 지금까지 포스팅에서 GUI를 만든건 가시성이나 편리성보다는 '프로그램 배포' 라는 목적에 의미를 두었기 때문이다. 다른 사람이 쓸 수 있도록 전달하려함이 가장 큰 목적이었는데, tkinter로 작성하더라도 python이 설치 되어 있지 않으면, .py로 전달해주는 파일은 아무런 의미가 없다. exe 파일로 전환하여 윈도우에서 실행할 수 있도록 전달해줘야 실제 사용자가 어려움 없이 프로그램에 접근할 수 있게된다. .py 파일을 exe로 변환하는 방법은 여러가지가 있지만, 오늘은 간략하게 pyinstaller를 통한 예시를 보여주고 마무리 될 예정이다. 1. pyinstaller 설치하기 - 터미널에서 pip 를 통해 pyinstaller 모듈을 설치한다. - pip in.. 2023. 11. 30.
모듈화 2(modularity) 지난 글을 이어가보면, 오늘의 포스팅은 아래의 코드를 작성하는 것이다. 4. 모듈화 예시 - 덧셈과 뺄셈을 수행하는 계산기 코드를 작성할 예정인데, 사용자에게서 입력받는 값이 숫자인지를 판별하여 실행할 예정이다. - 기능별 분류를 위해, ① 실행 코드(main_calc.py) ② 숫자 판별 코드(validate_input.py) ③ 덧셈 코드(add_calc.py) ④ 뺄셈 코드(sub_calc.py) 순서상으로는 세부 기능들이 있어야 동작할 수 있으니, ③ > ④ > ① > ② 의 순서로 코드를 작성하겠습니다. 1) 덧셈코드(add_calc.py) 작성 - 간단히 2개의 숫자를 파라미터로 전달 받아 결과 값을 return 해주는 함수를 생성한다. - if __name__ == '__main__' : 조.. 2023. 11. 29.
모듈화 1(modularity) 오늘의 포스팅 주제는 앞서 예고한 모듈화(modularity)이다. 파이썬이라는 특정 언어에 국한한 것이 아니라 소프트웨어 전체에 해당하는 내용으로 문제 해결을 위한 분석이나 설계, 개발과 유지보수 등 다양한 측면에서 모듈화로 구성되는 것이 전체를 하나의 덩어리로 구성하는 것보다 훨씬 유리한 측면이 있어 제안되는 방식이다. 1. 그럼 모듈화란 무엇일까? 사전적으로 보면, '생산성과 최적화, 관리에 용이하게 모듈(기능) 단위로 분할 하는 것'이라는 다소 와닿지 않는 문장들이다. 그럼 어떻게 쉽게 모듈화를 이해할 수 있을까? 아래의 영화를 잠깐 보면 누구라도 금방 이해할 수 있다. (최초 첨부된 동영상이 저작권 관련으로 재생 제한이 되어 캡처로 변경되었습니다.) 어벤져스: 에이지 오브 울트론 (Avenger.. 2023. 11. 28.
[python] if __name__ == '__main__' 다른 사람들의 코드를 참고하거나 강의를 보다보면 생각보다 자주 눈에 띄는 코드가 있다. 바로 if __name__ == '__main__' : 과 같은 조건문인데, 내가 하나의 파이썬 파일에서 코드를 작성할 때는 필요가 없지만, 뭔가 모듈화를 하고 내 코드가 점점 복잡해진다면 그때는 꼭 필요한 요소가 된다. (* 모듈화는 무엇이고, 왜 해야하는지는 다음 포스팅에서 다뤄보겠습니다.) 2023.11.28 - [IT 배우기/이것저것] - 모듈화 1(modularity) 모듈화 1(modularity) 오늘의 포스팅 주제는 앞서 예고한 모듈화(modularity)이다. 파이썬이라는 특정 언어에 국한한 것이 아니라 소프트웨어 전체에 해당하는 내용으로 문제 해결을 위한 분석이나 설계, 개발과 유지보 to-all-r.. 2023. 11. 27.
애드센스 특정 광고 차단 하기2 애드센스 광고 차단하기 두번째 포스팅이다. 오늘 포스팅은 지난 포스팅에서 설정한 [광고 심사 센터] 를 통한 광고를 차단하는 방법이다. 지난 포스팅에서 [광고 심사 센터]를 사용하겠다고 설정한 이후 시점 부터, 현재까지 나의 포스팅에 나타난 실제 광고들을 확인할 수 있는 방법이다. (*아직 해당 기능을 설정하지 않았다면, 기능 사용이 선행되어야 한다. 이전 포스팅 참조) 2023.11.19 - [IT 배우기/이것저것] - 애드센스 특정 광고 차단 하기1 애드센스 특정 광고 차단 하기1 내 포스팅에 수익을 위한 애드센스를 게시하고 있지만, 대부분이 그렇듯 미미한 수익($0.01)을 벌고 있다. 하지만, 애드센스로 부터 적은 수익을 받는 우리도 가릴건 가려서 광고하고 싶을 때가 to-all-rounder.t.. 2023. 11. 23.
독학 Python tkinter(GUI) - 19.Last piece1(thread) 이제 우리가 원하는 간단한 GUI는 취향에 맞춰 만들 수 있다는 자신감이 생겼을 것이다. 여기까지만 해도 훌륭하지만, 조금 아쉬운 부분이 있다. 아래의 요청사항을 처리하는 코드를 작성하며 문제점과 처리 방법에 대한 고민을 해보자. Request. - 버튼을 누르면 1부터 10까지 1초에 1씩 증가하는 타이머 GUI를 만들어 보세요. 위와 같은 요청사항을 받는다면, 어렵지 않게 시간을 보여줄 수 있는 레이블 또는 엔트리를 하나 만들고 time 라이브러리를 활용해 버튼을 누르면 1초를 기다린 뒤 위에서 생성한 레이블(또는 엔트리)의 값을 변경해주면 되는 간단한 GUI이다. 자신있게 코드를 작성해보면 아래와 크게 다르지 않을 거다. 1. 코드 작성하기 from tkinter import * import tim.. 2023. 11. 22.
애드센스 특정 광고 차단 하기1 내 포스팅에 수익을 위한 애드센스를 게시하고 있지만, 대부분이 그렇듯 미미한 수익($0.01)을 벌고 있다. 하지만, 애드센스로 부터 적은 수익을 받는 우리도 가릴건 가려서 광고하고 싶을 때가 있을 수 있고, 또 실제 불필요한 광고는 나타나지 않는게 서로에게 유익하다. 그렇게 생각하는 이유는, 내가 작성하는 대부분의 포스팅은 일상생활과 전산 관련 내용인데, 해당 내용과는 다른 뜻하지 않은 광고들이 나타났고, 내 글을 읽는 사람들의 연령이나 주제를 생각할 때 해당 광고를 선택할리 없다는 판단이 생겼기 때문이다. 광고를 차단하는 방법은 어렵지 않으나, 세부적으로 차단하는 방법은 시간이 조금 걸리기 때문에 카테고리별 차단만 우선적으로 진행해보자. 1. 구글 애드센스 로그인 - 먼저 작고 소중한 수익 확인을 위.. 2023. 11. 19.
반응형