전체 글 477

# 2 | PyQt5를 이용해서 레이아웃 배치하고 꾸미기

목표 : 원하는 배치도 형태 1. 첫번째 화면 실행 화면 소스 코드 # 모듈을 불러옵니다. import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import QCoreApplication, QDate, Qt from PyQt5 import QtSql # 메인 클래스를 계획합니다. class MyApp(QMainWindow, QWidget): # UI 화면을 초기화해줍니다. def __init__(self): super().__init__() self.date = QDate.currentDate() # 오늘 날짜를 받아옵니다. self.initUI() # UI에 포함될 구성요소의 기본적인 설정을 수행해줍니다...

#1 | PyQt5를 이용해서 화면 구성하기

1. PyQt5란? PyQt5는 파이썬을 위한 GUI 라이브러리입니다. 다음 링크에 들어가면, 파이썬을 이용해서 GUI 프로그램을 만드는 방법을 자세히 배울 수 있습니다 :) PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램 - Codetorial 2. 소스 코드 # 모듈을 불러옵니다. import sys from PyQt5.QtWidgets import qApp, QAction,QApplication, QWidget, QPushButton, QToolTip, QMainWindow, QDesktopWidget from PyQt5.QtGui import QIcon, QFont from PyQt5.QtCore import QCoreApplication, QDate, Qt # 메인 클래스..

프로그램 소개 사이트 개발 #2 | 사이트맵 작성, 화면 설계도, 화면별 프로세스, DB 설계 | 기획

앞선 포스팅 프로그램 소개 사이트 개발 #1 | 웹 개발에 대한 이해, 기획 (tistory.com) 목차 프로젝트 계획서 사이트 맵 작성 화면 설계 화면별 프로세스 설계 DB 설계 프로젝트 계획서 개요 * 프로그램 소개 사이트를 개발한다. 프로그램 소개 내용은 차차(?) 정한다. * 사용자 사이트에 가입할 수 있다. 게시판에 글을 작성하면서 자료를 업로드할 수 있다. 업로드시 학생 / 교사를 구분해준다. 문서의 일부를 드래그해서 코멘트를 달거나, 댓글을 달거나, 공감을 표시할 수 있다. 마이페이지에서는 참여 온도가 부여된다. * 관리자 공지사항에 글을 게시할 수 있다. 사용자 DB 조회 가능함 * 프로젝트는 (Html, CSS, JavaScript), (Python)를 사용한다. * 데이터베이스로는 M..

자료구조 | Shortest Path and Activity Network

Shortest Path Finding • Dijkstra Algorithm • Floyd–Warshall algorithm • Transitive Closure Matrix • Activity Network Shortest Path Finding (1~20) Shortest Path finding은 weighted Digraph에서 최적의 path를 찾는 문제다. 이때 path length는 지나온 path에서 각 edge의 weight를 합해서 구한다. source vertex -> destination vertex라는 용어도 사용한다. shortest path는 3 가지 타입이 있다. 첫째는 vertex u에서 vertex v로 가는 경로를 찾는 "single source, single destin..

자료구조 | 그래프 (python 구현)

Data structures - Graphs Introduction graph 그래프는 Vertices(Node)와 edge(arcs, lines)로 구성된 비선형 자료구조이다. 그래프 그림을 그리는 방식과 구현 방식이 다르다는 게 흥미롭고 낯선 부분이었다. graph = [(C, A, 4), (A, C, 1), (B, C, 6), (A, B, 4), (C, B, 1), (C, D, 2)] G = (V, E) undirected graph / digraph 그래프에는 두 종류가 있는데, 하나는 방향성이 존재하지 않는 Undirected graph이다. 다른 하나는 방향이 있는 Directed graph(digraph)이다. Undirected graph는 (u, v)와 같이 표기하며, 방향이 없으므로 (..

카테고리 없음 2022.01.09

프로그램 소개 사이트 개발 #1 | 웹 개발에 대한 이해, 기획

목차 0. 프로젝트 목표 1. 준비 단계 2. 기획 0. 프로젝트 목표 이번 프로젝트에서 이루고 싶은 가장 큰 목표는 전반적으로 Flow를 이해하는 것이다. ✅ 웹 개발의 FLOW 이해하기 기본적인 단계는 기획 > 디자인 > 기능 구현 > 배포라고 한다. ✅ 웹이 동작하는 FLOW 이해하기 화면을 예쁘게 구성하는 프론트엔드에 집중하기보다는 컴퓨터가 전반적으로 어떻게 돌아가는지 이해하고 싶다. 지금은 무엇이 있는지 구성 요소 정도만 그려보았다. ✅ 웹 사이트의 FLOW 이해하기 그래서 웹사이트에 찾아온 사용자가 경험하는 flow는 어떻게 구현할까? 사용자의 기록은 어떻게 DB에 저장하고, 필요한 경우 갖다 쓸까? 이런 부분도 UML로 그리고 하나씩 구현하고 싶다 :) 준비 단계 ✅ 깃허브 리포지토리 만들기..

LAK21 논문 번역 | Footprints at School : Modeling In-class Social Dynamics from students' Physical Positioning Traces

Abstract 학교는 날로 복잡해진다. 학생들은 학교의 물리적인 자원, 디지털 자원, 교사, 또래와 끊임없이 상호작용한다. 기존에 디지털 기기를 이용한 로그를 활용하여 연구들이 이루어졌지만, 물리적인 학습 공간에서의 사회 역학은 덜 조명되고 있다. 이 논문에서는 물리적 학습 공간에서의 활동 기록으로 학생들의 사회적 상호작용을 모델링하고자 하였다. 이를 위해 공립 초등학교에서 8주 간의 연구가 진행되었다. 연구자들은 8주 동안 98 명의 학생, 6 명의 선생님의 물리적인 위치 기록(positioning traces)을 수집하고, 이를 이용해서 SNA 소셜 네트워크 분석을 실시하였다. 과연 이 연구는 성공적으로 물리적 움직임을 사회적 상호작용으로 모델링하는 데 성공하였을까? 연구 방법론과 그 결과에 대해 ..

자료구조 | Binary Search Trees, AVL tree, B-Trees | python 구현

Binary Search Trees AVL tree B-Trees Binary Search Trees heap의 한계 heap 자료구조는 root를 검색할 때만 O(logn)의 성능을 갖는다. 만약에 다른 item을 찾는 경우라면, O(n)의 시간 복잡도를 갖게 된다. binary search tree의 필요성 균일하게 tree 높이에 비례한 시간복잡도 O(log2n)을 갖는 자료 구조이기 때문이다. Binary search tree의 정의 전제 : 중복되는 요소가 없음 left sub-tree nodes < root < right sub-tree nodes가 재귀적으로 모든 트리에 적용됨 search a key 구현 1. 재귀 함수 def rBST(self, root, key): if not root:..

자료구조 | binary trees, heap sort, threaded binary trees (python 구현) | Trees

Binary tree ex) huffman coding tree, tree traverse, evaluation tree, threaded binary trees Heap ex) priority queue, insert, delete, sort Introduction tree tree는 계층적인 데이터 구조를 나타내기 위한 자료 구조다. tree는 root와 sub-trees로 이루어진다. huffman coding tree huffman coding tree는 텍스트를 압축하기 위한 알고리즘으로, 빈도가 높은 문자를 짧은 비트로 매칭되도록 트리를 구현한 것이다. import copy class Node: def __init__(self, char, num): self.right = None self.l..

자료구조 구현 | selection sort, bubble sort, insertion sort, shell sort, quick sort (python 구현) | 정렬

Sort selection sort bubble sort insertion sort shell sort quick sort merge sort radix sort sort에 대한 기본적인 설명 정렬이란? sorting 정렬은 사실 탐색을 하기 위한 '준비'를 하는 단계다. 예를 들면, binary search의 전제 조건은 자료가 정렬되어있어야 한다는 것이었는데, 이것이 단지 binary search 만의 조건이 아니었던 것이다. sort 문제는 재료가 되는 데이터와 이를 정렬하는 문제로 구성된다. 데이터는 기록한 구조체 형태일 수 있다. 학생 목록을 정렬하는 문제라면, 한 학생 Ri는 학생을 식별하기 위한 key(Ki)와 다른 데이터(성적, 학기, 재학 상태 등)으로 이해할 수 있다. 그리고 이렇게 데..