목록전체 글 (54)
Visual Studio
Linux 시스템 상에서 개발을 해본 사람이라면, GTK라는 이름을 한번쯤은 들어봤을 것이다.GTK는 GIMP Toolkit의 줄임말로, 본래 이미지 편집 프로그램인 GIMP의 개발을 위해 만들어진 GUI 라이브러리이지만,규모가 커지면서 범용 라이브러리가 되었다. GTK는 다른 GUI 라이브러리들이 객체지향 언어로 작성되었던 것과는 달리, 다른 언어들을 위한 바인딩을 쉽게 만들 수 있도록 하기 위하여 C로 작성되었다. GUI 애플리케이션을 개발하는데 있어 절차지향 설계보다는 객체지향 설계가 압도적으로 편하기 때문에 객체지향 시스템으로 설계하는 것이 일반적이지만, C는 언어 자체에서 OOP를 지원하지 않기 때문에 OOP로 개발하기 위해서는 추가적인 번거로운 작업이 필요하다.GTK 개발자들은 이를 위해 C를..
Phong Reflection Model에서는 재질의 속성을 ambient, diffuse, specular, shininess 네가지로 정의한다. 이중에 ambient, diffuse, specular는 보통 3차원 벡터이며, shininess는 실수값이다. 이 모델을 사용할 경우 단일 컬러 벡터를 사용할 때보다 파라미터가 많기 때문에 원하는 재질를 얻기 위해선 많은 시행착오를 해야 하지만, 능력자들이 편리하게 쓸수 있게 셋팅값을 정리해 놓았다. http://devernay.free.fr/cours/opengl/materials.html OpenGL/VRML Materials devernay.free.fr Name Ambient Diffuse Specular Shininess emerald 0.0215..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m3MLV/btrlC7zi0zT/rhAykwwFcxu54Wk9U27iwk/img.png)
개인적으로 git을 사용하다 보면 이전에 커밋했던 내용들을 수정하고 싶을 때가 있다. 이럴때 쓰는 명령어가 rebase인데, git rebase --committer-date-is-author-date -i [바꾸고싶은commit의부모의id] 이렇게 --committer-date-is-author-date 옵션을 붙이면 각각의 commit을 amend 할 때 committer date가 현재 시각으로 갱신되지 않는다. 하지만 커밋을 여러 개로 분할 하고자 하거나, 커밋의 내용을 수정해야 할 때는 reset 한뒤에 따로따로 add 하고 commit 해야 하는데, 이렇게 되면 해당 옵션은 더이상 아무 역할도 하지 않는다. 결국 커밋할 때 author date와 committer date를 기존의 커밋과 동일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AxQ9A/btrlJM7AhLy/Ei0LilKVPk2n8PWWWxxWx1/img.png)
# 처음 주어지는 라인이 정수 N인 경우(혹은 문제 해결에 있어 필요 없는 경우) L = list(map(int, [*open(0)][1:])) # 첫 라인 부터 element가 주어지는 문제의 경우, unpacking이 필요없음. L = list(map(int, open(0))) # 이후 코드에서 index 없이 iterate 할 경우 list로 변환하지 않아도 된다. L = map(int, [*open(0)][1:]) for e in L: print(e) 비교적 짧은 코드로 N개의 정수가 주어지는 문제에서 처음 주어지는 N을 제외한 eof까지 모든 라인 입력을 정수로 가져올 수 있다. 온라인 저지 사이트에서 아래 코드와 같은 동작을 한다고 생각하면 된다. N = int(input()) L = [] f..