인프런 - 강의 252

13 - 프레임워크, 라이브러리라는 것은 또 뭔가요?

프레임워크, 라이브러리에 대해서 알아보겠습니다. 그래도 개발에 대해서 알아보려고 이것저것 찾아보신 분들이면 프레임워크와 라이브러리에 대해서 들어보신 적이 있으신 분들도 있으실겁니다. 쉽게 생각하면 누군가가 만들어 놓은 것들입니다. 사용하기 쉽게 자 이게 뭐냐하면 집을 짓는다고 생각해보겠습니다. 이런 나무로 된 집을 짓는다고 생각해보면 직접 산에가서 이거 나무 다 캐서 이거를 가공해서 하는 것은 미친 짓이겠죠? 우리는 이렇게 만들어진 재료를 가져와서 집의 뼉다구를 만들어 놓을 수 있습니다. 그런데 이것만 다 하면 되는건가? 라고 물어보시면 집에는 전기도 있고 가스도 있죠? 이 전기와 가스를 또 자가발전하는 것은 미친짓이다 보니, 얘네들도 가져와서 사용할 수가 있습니다. 그래서 프레임워크는 뼈대 라이브러리는..

12 - Github라는 것은 뭔가요?

개발자들이 깃허브 깃허브 라는 것을 많이 들어보셨을 겁니다. 깃허브라는 것은 뭘까요? 이 것을 검색해보면 원격 저장소고 뭐고 어쩌고 이런 설명들이 나올 겁니다. 일반적으로 원격 저장소를 이용하는 이유는 크게 2가지죠 1. 어디서나 접근해서 수정할 수 있다. 2. 내 컴퓨터가 고장나도 데이터가 저장되어 있다. 그런데 그럴꺼면 다른 원격 저장소 서비스가 많습니다. 구글 드라이브, 네이버 드라이브 등등 많은데, 왜 개발자들을 하나같이 깃허브라는 것을 사용할까요?? 코드를 저장하기 좋아서? 남들 다 쓰니깐 트렌디해서? 의 이유보다는, 코드를 저장하고 수정하기에 가장 최적화 되어 있습니다. 이게 무슨말이냐 하면 아래와 같이 언제 누가 어떻게 수정했는지 기록을 볼 수 있고 하나를 눌러보면 어떤 코드가 어떻게 바뀌었..

11 - 왜 버튼 하나 만들어달라는데 안만들어주나요?

가장 많이 듣는 질문중에 하나입니다. "왜 버튼 하나 간단하게 하나만 만들어달라는데 안만들어주나요??" 혹은 "왜 버튼 하나 바꿔달라는데 안된다고 하나요?? 라는 질문을 많이 듣는데, 이 것을 이해하려면 소프트웨어 개발의 과정을 알아야 합니다. 자, 게시판을 예로 하나 들어볼게요! 위와 같은 게시판이 있습니다. 기획에서는 "삭제"이라는 버튼이 없었는데, 하다보니 삭제 기능이 필요할 것 같아서 만들어달라고 개발자에게 요청하면 "그거 안돼요. 시간 많이 걸려요. 복잡해요." 라는 말을 들을 수 있습니다. 그러면 저 간단한 버튼하나 만드는 것 가지고 왜 이렇게 까다롭게 구는 것일까요?? 저 게시판을 만드는 원리를 파악해야 하는데 저 게시판을 삭제 기능을 만드는 과정을 보면 위와 같이 여러 과정들을 통해서 만들..

10 - 자료구조와 알고리즘이 중요하다던데?

자료구조와 알고리즘은 뭔지에 대해서 알아보겠습니다. 알고리즘 같은 경우는, 저희가 뭐 유투브 알고리즘 이런 단어등을 통해서 어떠한 법칙? 같은 것이구나 라고 감을 잡을 수 있습니다. 알고리즘에 대해서 조금 더 알고가면 제가 만약 유투브에서 트와이스 영상을 봅니다. 그러면 자연스럽게 다음 동영상에 관련 영상들이 나옵니다. 이 과정을 아래의 순서도로 나타낼 수 있습니다. 이 것을 다르게 말하면 유투브에서 영상을 틀어주는 알고리즘이라고 합니다. 그러면 자료구조는 무엇인가 하고 보면 자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 ..

9 - DB란 무엇인가?

DB(데이터베이스)란 무엇일까요? 그냥 저장소입니다 이런 컴퓨터안에 있는 저장소인데 얘가 하는 역할이 무엇일까를 생각해보면 엑셀파일 생각해보시면 됩니다. 엑셀처럼 다양한 Sheet를 만들어서 데이터를 저장해놓을 수 있고 아래와 같이 불러올 수도 있습니다. 또한 이렇게 다양한 데이터 덩어리들이 연관되어 사용됩니다. mysql에서는 이 것을 sheet라고 부르지 않고 table, column이라고 부릅니다. 그래서 query를 날린다고 하는데, 이 것을 이용해서 데이터베이스에 있는 데이터를 꺼내올 수 있습니다. 회원 1에 관한 데이터를 뽑아올 수도 있고, 아니면은 아이디가 4글자 이하인 사람의 데이터들도 다 뽑아올 수 있겠죠??

11 - GUI 연결하기

from tkinter import * from tkinter.filedialog import askopenfilename from openpyxl import load_workbook import datetime def get_file(): print("get_file") file_path = askopenfilename() print(file_path) number = text_input.get() print(number) now = datetime.datetime.now() now_after_7 = now + datetime.timedelta(days=7) money_due_date = now_after_7.strftime('%Y-%m-%d') read_wb = load_workbook(file_p..

10 - GUI 만들기

from tkinter import * def get_file() : print("get_file") window = Tk() window.geometry('300x300') window.title("GUI 시작합시당") label_text = Label(window, text="입력하세용") label_text.grid(column=1, row=1) text_input = Entry(window,width=10) text_input.grid(column=2, row=1) label_text2 = Label(window, text="파일 경로 입력하세용") label_text2.grid(column=1, row=2) button = Button(window, text="파일선택하기", command=ge..

9 - 메일 주소 읽어오기 (Sheet2)

from openpyxl import load_workbook import datetime now = datetime.datetime.now() now_after_7 = now + datetime.timedelta(days=7) money_due_date = now_after_7.strftime('%Y-%m-%d') read_wb = load_workbook('./test.xlsx', data_only=True) read_ws = read_wb["Sheet1"] read_ws_sheet2 = read_wb["Sheet2"] print(read_ws_sheet2.cell(2,1).value) print(read_ws_sheet2.cell(3,1).value) print(read_ws_sheet2.cell(..

8 - 텍스트 파일로 저장

from openpyxl import load_workbook import datetime now = datetime.datetime.now() print(now) now_after_7 = now + datetime.timedelta(days=7) print(now_after_7) print(now_after_7.strftime('%Y-%m-%d')) money_due_date = now_after_7.strftime('%Y-%m-%d') read_wb = load_workbook('./test.xlsx', data_only=True) read_ws = read_wb["Sheet1"] list1 = [] row = 70 for i in range(2, row) : list1.append(read_ws.c..