일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 연습문제
- 파이썬라이브러리
- 정보처리기사필기
- 영어공부
- 딥러닝
- 데이터입출력구현
- 데이터분석
- 운영체제
- 머신러닝
- 컴퓨터비전
- 파이썬
- 중학1-1
- 자바 실습
- JSP/Servlet
- 데이터베이스
- CNN
- 정보처리기사실기
- 혼공머신
- 자바
- 컴퓨터구조
- CSS
- pandas
- 텍스트마이닝
- numpy/pandas
- 중학수학
- 코딩테스트
- html/css
- C++
- SQL
- 정수와유리수
- Today
- Total
목록분류 전체보기 (1252)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
오늘부터 SQL 공부를 시작해보려고 한다. 아마도 파이썬 게임 개발은 진도를 많이 나가지 못하고 앞으로 2주 동안은 정처기 공부와 그 과목들을 위주로 공부하게 될 것이다.SQL 책도 주문했지만 그건 내일이나 오게 될 것 같고 이틀 동안 공부하기에는 턱없이 부족한 시간이다. 우선 엘리스와 정처기 실기 책으로 공부해보기로 했다. 이론 1 - SQL이란? 엑셀에서 데이터베이스를 다루는 것인데 좀더 데이터의 양이 많은 것이라고 보면 된다. 실습 1 - 테이블의 구조 : DESC 문제 풀어보기 두 개의 표가 잘 출력되고 있다. 퀴즈 1 - SQL이란? 문제를 잘 맞혔다. 학습을 마치고사실 이 공부를 몇 달 전부터 하려고 생각은 했지만 하지 못했다. 첫 ..
파이썬이라는 프로그래밍 언어를 잘 알고 있지만 한번 정리하는 의미로 학습해볼 것이다. 파이썬이란?컴퓨터 소프트웨어는 프로그래밍 언어를 사용해 개발한다. 다양한 프로그래밍 얼어들 중 파이썬은 작성 방법이 비교적 간단해 학습하기 쉽다. 파이썬은 코드를 작성한 후 즉시 실행해서 그 동작을 확인할 수 있기 때문에 입문자가 하ㅣㄱ습하기에 좋은 프로그래밍 언어이다.파이썬은 다양한 분야의 프로그램을 개발할 수 있는 기능을 제공한다. 파이썬을 설치한 시점에 PC에 설치되는 표준라이브러리에는 다양한 소프트웨어를 개발할 수 있는 모듈들이 포함되어 있다. 표준 라이브러리 이외에도 전 세계 개발자들이 수많은 기능을 가진 모듈을 개발하고 있으며, 이 확장 모듈 또한 자유롭게 이용할 수 있다.먼저 표준 라이브러리를 사용해 게..
한 3주 전부터 파이썬으로 게임을 만들고 싶었는데 아직 파이썬으로 공부하고 싶은 것들이 많이 있어서 그 학습을 하느라 게임을 아직 만들지 못했다. 그동안 파이썬으도 데이터 분석, 넘파이와 판다스, 시각화하기, 머신러닝, 딥러닝 등 정말 많은 것들을 배웠다.아직 딥러닝에서 배워야 할 것들이 많이 남아있지만 책을 보니 도저히 넘어가지가 않고 사실 내가 진짜 하고 싶은 일도 아니었다. 대략 딥러닝이 어떤 것인지 개관을 파악했으니 나중에 시간 있을 때 딥러닝을 좀더 마무리하고 지금은 파이썬 게임을 만들어볼 수 있을 것 같다. 파이썬 라이브러리를 이틀 동안 공부하면서 다시 이 책을 펼쳐서 공부하고 싶은 욕구에 사로잡혔다. 난 어떤 공부를 할지 계획과 목표를 그려두지만 실행 여부는 나의 마음과 감에 따라서 진행한다..
인터넷으로 주고받는 데이터 형식은 다양하다. 예를 들어 이메일은 인터넷에서 bASE64라는 데이터 형식으로 전송된다. 이번 장에서는 JSON, Base64 등의 인터넷 데이터를 다루는 모듈을 알아본다. JSON 데이터를 다루려면? - jsonJSON 데이터를 쉽게 처리하고자 사용하는 모듈이다. 다음은 개인정보를 JSON 형태의 데이터로 만든 myinfo.json 파일이다. 인터넷으로 얻은 이 파일을 읽어 파이썬에서 처리할 수 있도록 딕셔너리 자료형으로 만들려면 어떻게 해야 할까? JSON 파일을 읽어 딕셔너리로 변환하려면 다음처럼 json 모듈을 사용하면 된다. 하지만 이 코드를 실행하는데 오류가 정말 많이 떠서 무척 어려웠다. 첫번째는 파일 경로를 지정할 때 현재 JSON 파일이 있는 위치에 지정..
이어서 네트워크와 프로세스 통신에 관한 학습을 이어가 볼 것이다. 데이터 관련 라이브러리는 별로 재미가 없었는데 운영체제와 서버 관련 라이브러리부터는 정말 재미있다. 역시 난 벡엔드에 관심이 많다는 걸 느꼈다. SSL로 서버와 통신하려면? - sslsocket 모듈로 자작성한 서버/클라이언트에 공개키 암호화 방식을 사용하는 모듈이다. 공개키 암호화 방식이란 공개 키와 비밀 키를 사용하여 암호화하는 방식이다 비밀 키로 암호화한 데이터는 공개 키로만 복호화하고, 공개 키로 암호화한 데이터는 비밀 키로만 복호화하는 방식이다. 서버와의 통신에 보안을 강화하고자 한다. 이전 절에서 socket 모듈로 만들었던 숫자 맞추기 서버/클라이언트 프로그램에 ssl 모듈을 사용하여 공개 키 방식의 암호호화를 적용하려면 ..
하나의 컴퓨터에서 다른 컴퓨터와 데이터를 주고받으려면 통신이 필요하다. 이번 단원에서는 비동기, 소켓, 시그널과 관련된 통신 프로그램을 작성할 때 사용하는 파이썬 모듈을 알아본다. 비동기 방식으로 프로그래밍하려면? - asyncioasync/await 구문을 사용하여 동시성 코드를 작성할 수 있게 해주는 모듈로, asyncio를 사용하면 단일 스레드 작업을 병렬로 처리할 수 있다. 다음은 서로 다른 입력 값으로 sum() 함수를 2번 수행하여 결과값을 출력하는 파이썬 프로그램이다. sum() 함수에서 입력 값을 하나씩 더할 때마다 sleep() 함수에 의해 1초씩 시간이 소요된다. 이 프로그램을 실행한 결과는 다음과 같다. A 작업은 2초, B 작업 3초 등 5초의 시간이 걸리고, sum() 함수를 ..
동시 실행과 관련된 파이썬 모듈을 사용하면 한꺼번에 여러 가지 일을 할 수 있다. 스레드를 이용하여 병렬로 처리하려면? - threading스레드를 이용하여 한 프로세스에서 2가지 일을 동시에 실행할 수 있게 하는 모듈이다. 다음은 페이지 번호를 입력받아 위치독스의 페이지 리소스를 wikidocs_페이지번호.html 파일로 저장하도록 만든 함수이다. A 씨는 참고 자료를 만드는데, 다음처럼 10개의 위키독스 페이지가 필요하다고 한다. 앞의 함수를 사용하여 페이지 수만큼 실행하여 원하는 결과를 얻을 수 있다. 하지만, A 씨는 10개의 요청을 하나씩 보내기보다 동시에 요청하여 더 빠른 속도로 리소스를 얻고 싶어 한다. 동시에 요청할 수 있도록 하려면 함수를 어떻게 수정해야 할까? 동시에 요청하려면 ..
운영체제는 시스템 하드웨어에서 응용 소프트웨어를 실행하고자 제공하는 시스템 소프웨어이다. 디버깅용 로그를 남기려면? - logging로그를 파일로 출력할 때 사용하는 모듈이다. 다음 myfunc() 함수에서 "함수가 시작되었습니다."라는 문자열을 pirnt()로 콘솔 화면에 출력하는 대신 디버깅에 이용하고자 debug.log라는 이름의 로그 파일로 출력할 수 있도록 프로그램을 수정하려면 어떻게 해야 할까? 단, 로그 파일에 출력하는 문자열은 [시간] + 메시지 형식이어야 한다.파일로 로그를 출력하려면 logging 모듈을 사용해야 한다. 다음처럼 dictConfig로 표시할 로그를 설정하고 logging.debug(문자열)로 원하는 로그를 출력하면 된다. 이렇게 코드를 수정하고 실행해 보면 텍스트..
프로그래밍 시 파일과 디렉터리 처리는 기본 중의 기본이다. 이번 단원에서는 파일과 디렉터리를 다루는 모듈을 알아본다. 디렉터리의 구성을 알려면? - os.path경로명과 파일명에 대한 유용한 함수를 제공하는 모듈이다.특정 폴더에 어떤 파이썬 파일이 있는지 알고자 한다. 이럴 때 매개변수에 지정한 디렉터리의 파이썬 파일을 모두 출력하는 search(dirname) 함수는 어떻게 작성해야 할까? 단, 하위 디렉터리의 파이썬 파일도 모두 출력해야 한다. 디렉터리 경로를 입력으로 받아 파이썬 파일을 출력하는 search() 함수는 다음과 같다. 이렇게 잘 출력이 되고 있다. 특정 파일만 찾으려면? - fnmatch파일 중에서 특정 패턴과 일치하는 파일을 찾을 때 사용하는 모듈이다. 현재 디렉터리의 모든..
이제부터 모든 라이브러리를 학습하지 않고 필요하고 중요하다고 생각되는 부분 위주로 학습하려고 한다. 순서를 생각하며 카드를 뽑으려면? - itertools.permutations반복 가능 객체 중에서 r개를 선택한 순열을 반환하는 함수이다. 1, 2, 3 숫자가 적힌 3장의 카드에서 두 장의 카드를 꺼내 만들 수 있는 2자리 숫자를 모두 구하려면 어떻게 해야 할까? 3장의 카드 중 순서에 상관없이 2장을 뽑는 경우는 모두 3가지이다. 하지만 순서를 더하면 6가지가 된다. 이 순열은 itertools.permultations()를 사용하면 간단히 구할 수 있다. 만들 수 있는 2자리 숫자는 다음과 같이 모두 6가지이다. 조합3장의 카드에서 순서에 상관없이 2장을 고르는 조합은 itertools.c..