GDG Webtech 160827

단순 참고용 메모, 개인 기록임.

  • CPU 와 GPU 사이에 통신하면서 발생하는 이슈
  • 메모리의 한계에 도달했을 때
  • CPU 데이터 변경 시 GPU 데이터도 변경 필요

Vertex & Plolygon

개념 숙지


렌더링

GPU를 효율적으로 활용하도록 잘 이용해야.

  • 텍스쳐로 이미지 고속 출력
  • 이미 가지고 있는 텍스쳐 재활용
  • 회전, 확대, 축소, 기울임, 반투명 등
  • 동시 ...
more ...

파이썬 단위 테스트

파이썬은 기본적으로 제공하는 unittest(PyUnit) 모듈에서 단위 테스트를 지원. 어떤 모듈이나 함수를 작성할때 정상 작동여부를 테스트하는 과정을 거치는데, 단위 테스트를 사용하면 코드가 수정되어도 테스트를 동일하게 돌려볼 수 있음.

간단한 테스트 작성법은 아래와 같음.

"""
unittest is the batteries-included test module in the Python standard library. Its API will be familiar to ...
more ...

파이썬 모듈

모듈은 특정 기능을 담당하는 코드모음으로, 함수나 변수 또는 클래스 들을 모아 놓은 파일임. 프로그램에서 불러와 사용할수 있게끔 만들어진 파이썬 파일이라고도 할 수 있음. 이미 만들어 놓은 모듈을 사용할 수도 있고 직접 만들어서 사용할 수도 있음.

import math  # math 모듈을 불러옴

print(math.pi)  # math 모듈의 pi 사용
print(math.pow ...
more ...

zsh 소유권 문제 해결

가끔 터미널로 작업하다 보면 아래와 같은 상황을 직면한다.

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-66-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
Last login: Sat Oct 31 15:15:36 2015 from 203.229.151.243
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure ...
more ...

파이썬 클래스

파이썬은 객체지향 언어이기에 클래스를 사용을 권장함. 클래스는 좀 더 효율적이고 간결하게 기능을 구현하기 위해 존재. 클래스는 객체지향 프로그래밍 언어에서 주로 사용하는 개념. 상속(Inheritance), 다형성(Polymorphism), 캡슐화(Encapsulation) 또는 정보은닉(Information Hiding)의 개념을 알아야 함.

선언

클래스는 선언과 동시에 객체로 생성됨. 일반적인 클래스는 데이터와 메서드로 구성되나 없어도 무방 ...

more ...

파이썬 제어문

조건문

다른 언어들과 마찬가지로 if, elif, else 조건문이 있음. 여러줄일 경우 들여쓰기로 블록을 지정해야 함. 예시는 아래와 같음.


if 문

    if a == 1:
        print("a is 1 !!")
    elif a == 2:
        print("a is 2 !!")
    else:
        print("a is not 1 and 2")

파이썬에서의 장점

CJava 계열의 언어와는 다르게 ...

more ...

파이썬 패키지 한번에 업그레이드하기

TIL을 운영하면서 require.io 서비스의 뱃지가 outdated 라는 영롱한 글자와 함께 노란불이 들어와 있는 것이 영 거슬렸음.

여러가지 방법이 있지만 요약하면 대개 아래와 같음.

  1. 쉘 명령어로 해결
  2. 파이썬 코드로 해결 (쉘 사용)

1번의 경우 $ pip list --outdated 라는 쉘 스크립트와 정규표현식을 활용해서 파일을 작성 가능하지만, 쉘 스크립트와 정규표현식은 아직 ...

more ...

TIL에 Travis-CI 적용하기

TIL의 Generator 저장소와 Github Pages 저장소를 분리해서 운영하다가 지저분함을 느끼고 하나로 합침. 내 Travis-CI의 YAML 파일은 아래와 같음.

language: python

python:
- '3.4'

env:
  global:
  - GIT_COMMITTER_NAME={your-id}
  - GIT_COMMITTER_EMAIL={your-email}
  - GIT_AUTHOR_NAME={your-name}
  - GIT_AUTHOR_EMAIL={your-email}
  - secure: {your-key}

before_install:
- git config --global user.email "{your-email}"
- git config --global user.name "{your-id}"
- git clone ...
more ...

파이썬 코딩 컨벤션

Imgur

코딩 컨벤션(Coding convention)이란 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약(약속)임.

대부분의 언어는 대표적인 코딩 컨벤션을 가지고 있고, 일반적으로는 그러한 암묵적인 표준을 따르게 됨. 하지만 프로젝트별, 회사별, 기타 단체마다 각자 다른 규칙을 가짐. 단체에서는 아무리 작은 프로젝트라 하더라도 유지 보수 및 추가 개발 등의 ...

more ...