https://m.blog.naver.com/PostView.nhn?blogId=rkdwnsdud555&logNo=220828040636&proxyReferer=https%3A%2F%2Fwww.google.com%2F def monte(repeat=1000000, radius=1000): area_circle = radius ** 2 in_circle = 0 count = 0 import random import timeit while True: start = timeit.default_timer() for _ in range(repeat): x, y = random.randrange(0, radius), random.randrange(0, radius) if x*x + y*y
[인덱스 넘버링] 보통 프로그래밍 언어에서는 자료구조로 사상되는 어떤 집합을 순회하면서 그 집합에서 꺼내온 원소를 가지고 정해진 연산을 차례대로 수행하기 위한 기능이 있다. 소ㅜ이 반복문(for) 이라고 부르는 표현. 반복문을 쓸 때에는 집합의 어디서부터 어디까지 훓을 것인가 하는 인덱스의 범위(range)를 지정하는데 여기서 컴퓨터 과학자들이 즐겨 쓰는 관습이 하나 있다. 이것은 이제는 프로그래밍 언어를 처음 배우기 시작한 사람들에게 조차 익숙할 만큼 대중적인 것으로 자리 잡고 있다. 그것은 두가지로 구성된다. 1. Half-open interval: 인덱스는 시작 수는 포함하고 마지막 수는 제외한다.2. Zero-based numbering: 첫 번째 인덱스는 0부터 시작한다. 예를 들어 10번 박복..
파이썬에서는 클래스 캡슐화에 필요한 접근지정자를 잘 안쓰는 편이다. 어떤 부분에서는 public 을 권장하는 느낌도 든다. public 이 훨씬 편하기 때문이다. (예를들어 시작은 그냥 public 변수를 사용하게 하다가 먼가 제약이 필요할 때 쯤이면 아래 공부할 @property 등으로 처리한다 ) 제약보다는 자유도/책임감을 높히는 방향의 언어인 파이썬 답다. 먼저 말해두는데 파이썬에서 접근지정자는 없다. 즉 아래와 같이 코딩해도 에러가 안난다는 뜻이다 java 의 get, set 을 아래처럼 표현할 수 있다. class User: def __init__(self): self._color = None @property def color(self): return self._color @color.sett..
파이썬은 프로그래밍 언어로써 확고한 지위를 차지할 수 있었던 몇가지 이유가 있다. 기존 builtins 라이브러리에 추가로 서드 파티 즉 외부 라이브러리가 방대하고 강력한게 많다. 그러나 너무 많기 때문에 빛을 보지 못하고 잊혀지는 아까운 라이브러리 들도 있다. 또 한 한 영역에만 집중적으로 작업하는 프로그래머는 다른 유형의 작업을 위해 만들어진 라이브러리를 통해 얻을 수 있는 유익한 부분을 미쳐 모르는 경우가 있다. [Pillow] 이미지 처리에 경험이 있다면 대부분의 파이썬 사용자들은 PIL(파이썬 이미지 라이브러리)에 익술 할 것이다. 그러나 PIL 은 제약이 많으며 업데이트가 잦지 않다는 단점이 있다. 필로우는 PIL 보다 더 사용하기 쉬우면서도, 최소한의 변경만으로 PIL 와 코드 호환성을 확보..
고차함수는 하나 이상의 함수를 인자로 취한다. map, filter, max, reduce 등등 파이썬에는 인자를 함수로 갖는 빌트인 함수들이 존재한다. 파이썬에서 함수는 일급객체에 해당된다. 일급 객체란 1. 변수나 데이터에 할당 할 수 있어야 한다. 2. 객체의 인자로 넘길 수 있어야 한다. 3. 객체의 리턴값으로 리턴 할 수 있어야 한다. 고차 함수를 이용하면 간결하고 이해하기 쉬운 프로그램을 만들 수 있다.
클린 코드가 단순히 멋진 것이라거나 사치품이 아니라는 것을 이해해는 것이다. 클린 코드는 필수적인 적이다. 코드의 품질을 관리하지 않는다면 결과적으로 기술 부채가 누적되어 실해한 프로젝트가 될 가능성이 높아진다.비슷한 맥락으로 조금 더 자세히 들어가면 포매팅과 문서화에 대한 개념이 있다. 이것은 당장 꼭 필요하지 않은 오버 스펙의 작업처럼 들릴지도 모르지만, 이거 역시 코드를 관리하는데 있어서 기본적인 역할을 한다. 여기서 훌륭한 코딩 가이드 라인을 준수하는 것이 얼마나 중요한지를 분석 해볼 것이다.코드를 문서와 일치시키려면 왜 지속적인 작업이 필요한지 살펴보고 이를 자동화 하기 위한 도구는 어떤것이 있는지 알아 본다. 이러한 이유 때문에 빌드의 일부로서 주요 도구를 설정하여 자동 실행되도록 할 것이다...
[event] 이벤트 기반 프로그래밍은 이전에 다룬 한정된 파이썬 어플리케이션과는 다르다. 일반적으로 이러한 우선 프로그램은 플로우를 설정하고 메인 메모리의 실행 관점에서 프로그램의 어떤 부분이 비결정적일지라도 독립적인 접근법을 결정론적으로 따른다. 그림. 이벤트 기반 프로그램에서는 일반적으로 이벤트에 반응하는 일정한 이벤트 루프가 있다. 이벤트 루프가 시작되면, 어떤것이 실행되고 그 순서가 어떻게 되는지 결정하는 시스템상에 필요한 이벤트가 내려진다. 쉬운예로 키보드 입력을 들 수 있다. 다음에 어떤 키가 눌릴지 결정할 수는 없지만 프로그램이 key-press 이벤트에 반응했을 때 주어지는 키에 대해서 매핑되는 특정 함수를 갖는다. 그림. 이벤트 기반 프로그램이 일반적으로 따르는 흐름 구성을 볼 수 있다..
만약 1000 개의 웹 페이지를 불어와야 하는 상황이 있다. 이때 1개의 페이지를 요청하면 서버에서 처리해줘서 응답해 주는 시간은 1초라고 하자. 그러면 1000 개의 페이지를 응답 받으려면 1000 초가 걸린다. 사실 1개 요청하고 1초 동안 아무것도 안하고 기다리는 시간이 너무 아깝다. 이렇게 바쁠 때는 몸이 열개라도 모자라다는 말을 한다. [multi thread] 멀티 스레드는 실제로 몸이 10개이다. 스레드를 일꾼으로 볼 수 있다. n 개의 일꾼이 동시성을 가지고 일을 수행한다. 하지만 각 일꾼은 자기일이 끝나면 가만히 놀고 있을 수 있다. [async] 한페이지를 로딩하면서 다른 페이지를 로딩한다. 스레드는 하나지만 굉장히 빨리 다른일로 전환하여 수행한다. 이게 가능하려면 함수를 실행결과를 기..
- Total
- Today
- Yesterday
- 문서 비교
- 이미지 비교
- Python
- 장고 카톡 자동응답
- admin.py
- 면접정답
- pycrypto
- 면접답변
- 파이썬
- 장고 플러스친구 자동응답
- 모바일 테마 적용
- wsgi
- 파이썬 프로그래밍
- django chatbot
- 파이썬 입문
- 플러스친구 자동응답
- 파이썬 독학
- chatbot
- 모바일 스킨 적용
- GIT
- virtualenv
- 엑셀 비교
- 문과 코딩
- 파이썬 강좌
- gitignore
- django
- gitlab
- Tistory
- 장고
- PuTTYGen
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |