Category Archives: Programming

MKBlog 관리자 입니다.
Python, C, C++, bash등 간단한 예제를 정리할 계획입니다.
인터넷에 매번 검색하기가 힘들어서 한번 찾은 정보를 짧게 정리할 계획입니다.
감사합니다.

[Python] argparse 사용 예제

Python으로 작성한 코드를 실행할 때 특정 Argument를 추가해야만 실행이 가능하도록 코드를 작성하고 싶은 경우가 발생한다. Python에서 “argparse”를 사용하면 쉽게 Argument를 추가할 수 있다. Argparse 사용하기 아래 코드1은 Argparse를 사용하는 예제 코드이다. argparse.ArgumentParser(…): argparse를 사용하기 위해서 가장 먼저 해당 코드를 사용해서 Variable을 생성한다. VARIABLE.add_argument(…): 생성된 Variable에 add_argument(..)를 사용해서 Argument 옵션을 하나씩 추가한다. 위 2가지가 Argparse를 사용하는… Read More »

[Python] namedtuple (네임드튜플) 사용 (Struct like C)

namedtuple은 C언어 Struct와 같이 Value를 여러 개 저장해서 Variable 이름으로 접근이 가능하다. 개인적으로 C Struct와 비슷해서 사용하게 되었다. 출처 1에 따르면 namedtuple은 Python 기본자료형이 아니라고 한다. namedtuple을 사용하기 위해서는 아래와 같이 Collections를 추가해야 한다. from collections import namedtuple namedtuple 사용하기 출처 1에 제공하는 예제를 조금 변경하여서 아래 예제 코드를 하나 작성하였다.

그림1: namedtuple Example… Read More »

[Python] “cURL” CMD를 Python Request 모듈에서 로딩하기

“client URL (cURL: curl)은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다” (출처 1). 간단히 설명하면 Linux Terminal 등에서 데이터를 전송하기 위해서 사용된다는 의미이다. curl을 사용하여 특정 사이트에서 정보를 가져오는 작업을 Python을 사용하여 자동화하려고 하였다. 그 과정에서 curl CMD를 Python Requests 모듈이 사용할 수 있도록 변경하는 작업이 필요하다. curl… Read More »

[Python] 주식 종목 코드 및 가격 로딩 (Loading Stock Price and Code Number using Requests Module)

목적 네이버와 한국증권금융 홈페이지에서 주식 종목 코드 및 주식 종목 가격 읽기 Request 모듈 사용 방법을 알고 싶어서 만들어본 예제 코드 환경: Ubuntu 16.04 + Python3 Prerequisite Module(s): reqeusts, bs4, BeautifulSoup

설명 reqeusts.get() + reqeusts().post() 함수를 사용하면 웹사이트의 HTML을 로딩할 수 있음. POST에 해당하는 Data 값을 찾는 방법은 출처 2에 설명되어 있음. BeautifulSoup를 사용하면… Read More »

[Python] Gmail SMTP 서버 사용해서 이메일 보내기 (Sending Email using Gamil ID)

목적: Gmail SMTP 서버를 사용하여 이메일 발송하기 환경: Ubuntu 16.04 + Python 3 Prerequisite Module(s): smtplib

설명 출처 1에서 나온 내용을 대부분 그대로 사용하였다. “””STRING”””:  STRING에 새로운 줄 바꿈 등을 모두 포함한다. 보통 “\n”과 같은 부분을 추가해야 줄 바꿈이 적용되지만 “”” (3개)를 사용하면 필요하지 않다. STR.join(LIST): LIST 사이에 STR을 추가하여 새로운 String을 생성한다. 만약 LIST를 STRING으로… Read More »

[OpenGL ES] “Lighting” Section Example Code

드디어 제일 처음 Section인 “Getting Started”를 다 읽고 예제 코드를 정리하였다. 이번 포스터에는 “Lighting Section”의 예제 코드를 GLES 버전으로 정리하였다. 삼성 갤럭시 S9 제품에서 정상적으로 동작하는 것을 확인한 코드이다. 예제 코드 사이트 정리 Getting Started Section 예제 코드: https://mkblog.co.kr/2018/10/14/opengl-es-getting-started-section-example-code/ Lighting Section 예제 코드: https://mkblog.co.kr/2018/11/08/opengl-es-lighting-section-example-code/ GLES Lighting Section 예제 코드 정리 (Ch12) Object and Light Source Fragment Shader:… Read More »

[OpenGL ES] “Getting Started” Section Example Code

OpenGL ES에 공부를 하면서 글을 작성하려고 했는데 제대로 이해를 하지 못해서 바로 작성이 어려울 것 같다. 그래서 계속 공부하면서 예제 파일을 정리해서 올릴 계획이다.  아래 파일은 모두 출처 1의 “Getting Started Section”의 코드를 GLES 버전으로 변경한 코드이다. 삼성 갤럭시 9 제품에서 정상적으로 동작하는 것을 확인한 코드이다. 예제 코드 사이트 정리 Getting Started Section 예제 코드: https://mkblog.co.kr/2018/10/14/opengl-es-getting-started-section-example-code/… Read More »

[Bash] While Loop 무한 사용 예제

목적: Bash에서 While Loop을 사용하여 같은 코드를 반복해서 수행하기 위한 예제 환경: Window 10 + Cygwin

설명 파일의 변경 내용을 1초 간격으로 확인하기 위한 코드 (한 줄로 사용하기 위한 예제) while true; do {코드}; done 사이에 {코드}에 원하는 코드를 추가하면 계속 같은 작업을 반복해서 수행 sleep 1을 추가하면 1초 Delay가 발생

[Algorithm] Traveling Salesman Problem 1 (Algospot – TSP1)

출처 https://algospot.com/judge/problem/read/TSP1 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 (구종만) 난이도  (하) – 중 – 상 – 최상 – 풀지 못함 문제  Input으로 최대 8개 도시간의 거리가 주어진다. Salesman이 모든 도시를 한 번씩 다 방문하는데 가장 짧은 거리를 계산하는 문제이다. 후기  문제를 읽고 Priority Queue로 문제를 풀려고 먼저 생각해보았다. 하지만, 도시의 개수가 8개 정도로 제한이 되어… Read More »

[Algorithm] 문자열 합치기 (Algospot – STRJOIN)

출처 https://algospot.com/judge/problem/read/STRJOIN 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 (구종만) 난이도 하 – (중) – 상 – 최상 – 풀지 못함 문제 100개 이하의 String의 길이가 Input으로 주어진다. 주어진 String을 모두 합치고 싶다. String을 합치기 위해서는 두 개의 String 길이 만큼 For Loop을 돌아야 한다. 예를 들어 “st”, “ri”, “ng”가 Input으로 주어지면, 먼저 “stri”를 만들기 위해 총… Read More »