최근 게시물
-
면접을 위한 CS 전공지식 노트
1. 디자인 패턴 - (1) 싱글톤 패턴 ( singleton pattern )
디자인 패턴 은 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것이다. 그 중 첫 번째가 싱글톤 패턴 ( singleton pattern ) 이다 . 이는 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴으로 보통 DB 연결 모듈에 많이 사용된다. 예시로는 node.js 에서 MongoDB 를 연결할 때 쓰는 mongoose 모듈에서의 경우와 node.js 에서 MySQL 데이터베이스를 연결할 때가 있다. 장점으로 인스턴스 생성 시 비용 감소하는 것이 있고 단점으로는 2가지가 있다. 첫 단점, 싱글톤 패턴은 TDD ( Test Driven Development ) 를 할 때 불리하다. ( TDD를 할 때, 서로 독립적이..
-
면접을 위한 CS 전공지식 노트
0. 시작
개발 공부를 하면서 비전공자인 나에게 부족한 부분 중 하나는 CS 지식이다. 당장 모든 것을 외울 수는 없지만 그래도 CS 지식과 용어의 뜻을 조금씩 정리하면서 머리속에 쌓아가자! 아마 다른 책들 및 프로젝트와 병행하면서 진행할 것이기 때문에 진도가 빠르진 않겠지만 그래도 포기하지 말고 가보자.
-
Python
25. miniProject(15) - sending rain-alert message with Api (feat.requests, twilio, openweathermap, pythonanywhere)
이번에는 좀더 새로운 방식의 프로젝트를 해보도록 하자. 며칠전에 비가 미친듯이 쏟아져서 동네 주변이 여럿 잠겼었는데 이와 어쩌면 유사한 프로젝트를 해보려고 한다. 시간을 정해두고 밖에 비가 오면 우리에게 우산을 챙기라는 문자를 자동적으로 받을 수 있도록 작성해보자. 간단한 스케치를 해보고 그 다음 세분해서 작성하자. 우리는 OpenWeathermap 이라는 홈페이지의 API 를 사용하여 실시간 날씨를 data 로 받을것이다. 이 떄 api 의 변수로 날씨가 궁금한 도시의 위도, 경도 를 구해야한다. 우리가 data 를 받아 비가 온다는 조건을 설정한 후에는 twilio 라를 홈페이지의 기능을 통해 우리에게 메세지가 오도록 작성할 것이다. 마무리로는 우리의 코드가 언제나 정해진 비가 오는지 확인을 할 수 ..
-
Python
24. miniProject(14) - QuizBrain (feat.tkinter, requests)
이번엔 앞서 만든 Quiz 프로그램에서 좀 더 변형을 시키는 프로젝트를 만들려고 한다. 우리가 전에 만들었던 퀴즈의 질문은 직접 타이핑해서 만들어놓은 dict 형태의 파이썬 파일이었다. 따라서 단순히 key, value 만을 사용해서 쉽게 불러와 사용할 수 있었다. ( 참고 내용 게시물 ) https://headingtocoding.tistory.com/16?category=1042348 14. miniProject(5) - Quiz 프로그램 이번엔 일련의 참, 거짓 퀴즈를 풀고 정답인지 아닌지 나타내는 프로그램을 작성해보기로 하자. 이번엔 파일을 4개로 구분해서 진행하자. 먼저 quiz 내용을 저장해놓을 data.py을 만든다. data.py에는 headingtocoding.tistory.com 이번에..
-
Python
23. miniProject(13) - french / english word study (feat.tkinter, pandas)
이번에는 영어, 프랑스어 단어를 공부하는 미니프로젝트를 진행해보자. tkinter 을 사용해 프랑스 단어 카드를 보여줄 것이다. 3초 안에 단어의 뜻을 떠올려야하고 3초가 지난 후에는 자동으로 화면이 카드가 돌아가 영어로 뜻을 보여줄 것이다. 영어가 나타난 후엔 스스로 정답을 맞췄는지 O, X 버튼을 클릭하여 결과를 기록하고, 우리가 공부해야할 단어들의 목록도 추가로 생성하여 관리할 것이다. 그렇다면 시작해보자. 먼저 가장 기본적인 세팅이다. 우리가 이 프로젝트를 시작할 때, 준비해둔 것이 "data / french_words.csv" 파일이다. 이 파일에는 우리가 창에 띄울 프랑스 단어와 영어 단어가 쌍을 이어 저장되어 있다. ( 나중에 단어들이 있는 french_words.csv 말고 words_to..