분류 전체보기 (167) 썸네일형 리스트형 [ MODULE ] audioop:: pcm data 모노, 스테레오 정보 바꾸기 PythonAudioop:: Manipulate raw audio data#Ubuntu 16.04 LTS#Python 3.5.2 #>> 상세 설명, 실행화면 audioopThe audioop module contains some useful operations on sound fragments. It operates on sound fragments consisting of signed integer samples 8, 16 or 32 bits wide, stored in Python strings. This is the same format as used by the al and sunaudiodev modules. All scalar items are integers, unless specified .. [ BASIC ] 발생자 제네레이터 PythonGenerator#Ubuntu 16.04 LTS#Python 3.5.2 제네레이터이터레이터를 생성해주는 함수이며 발생자라고 부르기도 한다.이터레이터와 마찬가지로 모든 값을 다 반환하고 나면 StopIterater 예외를 발생시킨다. 재네레이터는 __iter__, __next__ 메소드를 가지고 있으며 yield라는 키워드를 사용한다.재네레이터 객체에서 __next__ 메소드를 호출할 때마다,재네레이터 함수 안의 yield까지 코드를 실행한 뒤 값을 반환하고 다음 __next__를 기다린다. 즉, yield를 사용하면 값을 제네레이터 함수는 yield 다음 코드 실행을 잠시 중단하고 함수의 바깥으로 값을 전달하면서 코드 실행을 함수 바깥에 양보하여 함수 바깥의 코드가 실행되도록 한다. + Tip.. [ BASIC ] 반복자 이터레이터 PythonIterator#Ubuntu 16.04 LTS#Python 3.5.2 이터레이터?값을 차례대로 꺼낼 수 있는 객체로 반복자라고도 불린다. 만약 연속한 숫자를 미리 만들면 숫자가 적을 때는 상관없지만 숫자가 아주 많을 때는 메모리를 많이 사용하므로 성능에 불리하다.그래서 파이썬에서는 이터레이터만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용하는데 이를 지연 평가( lazy evaluation )라고 한다. 반복 가능한 객체 = 이터레이터 ?결론 부터 이야기하면 단순히 반복만 가능한 객체는 이터레이터가 아니다. 1. 반복 가능한 객체반복 가능한 객체는 요소가 여러개 들어 있고, 한 번에 값을 하나씩 꺼낼 수 있는 객체로 문자열, 리스트, 딕셔너리 등등이 있다.객체가 반복 가능한 .. 메모리 관리, 동적할당 개발자가 될 때 까지.. Memory management, dynamic allocation 프로그램을 실행하면 변수, 함수 등 동작 되는 모든 아이들은 운영체제에 의해서 메모리 공간이 생긴다.메모리 공간이 생기면 변수, 함수 등은 주소값을 부여받게 되고 그들을 사용할 수 있다. 이 메모리 공간은 "코드 / 데이터 / 힙 / 스택" 4개의 영역으로 구분되어있는데, 어떤 메모리 공간에 할당되는 가에 따라서 주소값이 얼마나 유지되는지, 쓰이는 범위 등이 결정된다. 메모리 공간을 나누는 이유는 효율성 떄문이라고 한다. 관리가 용이해지고 메모리의 접근속도가 좋아진다는.. 그런.. 코드 영역실행할 프로그램의 코드가 저장되는 메모리 공간, CPU는 저장된 명령문들을 하나씩 가져가 실행한다.데이터 영역전역 변수, s.. [ MODULE ] boto3:: aws api PythonBoto3 #Ubuntu 16.04 LTS#Python 3.5.2 #>> 상세 설명, 실행화면 Installation$ pip install boto3 특별한 버전을 지정해서 설치하고 싶으면 아래 처럼 버전을 적어주면 된다.$ pip install boto3==verstion Configuration아마존에서 인증 받은 key id와 access key를 입력해주어야 한다. $ aws configure 명령어를 입력하면 아래 와 같이 key_id 와 access_key를 입력하라는 표시가 하나씩 나타난다. aws_access_key_id = YOUR_ACCESS_KEYaws_secret_access_key = YOUR_SECRET_KEY 키를 입력하고 나면 그냥 enter를 2번 쳐서 넘어가도.. [ DO ] 파이썬 마이크 입력 코드 PythonMic input#Ubuntu 16.04 LTS#Python 3.5.2 코드 해석마이크 관련 코드를 찾다가 어떤 분이 블로그에 주석을 달아서 매우 잘 정리하셨길래, 참고하고자 가져왔다. #!/usr/bin/env python import pyaudiofrom six.moves import queueimport time # 녹음용 값 # 16khzRATE = 16000# 버퍼는 1600CHUNK = int(RATE / 10) # 100ms class MicrophoneStream(object): """마이크 입력 클래스""" def __init__(self, rate, chunk): self._rate = rate self._chunk = chunk # 마이크 입력 버퍼 생성 self._buff.. TCP/IP 소켓 연결 데이터 flush 개발자가 될 때 까지.. Sending a reset in TCP/IP Socket connection#Command #사용자변수#소켓재사용 #socket #reuseaddr 소켓이 비정상적으로 끊어지더라도 data 손실을 방지하기 위해서 버퍼에 있는 소켓은 바로 버려지지 않는다고 한다.그래서 소켓을 금방 재시작시키면 남아 있는 data가 전송되어 통신에 문제를 주기도 한다. socket 라이브러리에는 이를 해결할 수 있도록 비정상 종료시 버퍼에 있는 data를 어떻게 할 것인가에 대한 옵션을 가지고 있다." socket.SO_LINGER " 이라는 옵션인데 사용방법이 Linux와 Window에서 조금 다르다.포멧 형식이 달라서 그런거라고 한다. Window는 Struct linger에서 shour를 사.. [ BASIC ] PEP8 - Style Guide for Python Code PythonPEP8 - Python code style 충격적인 사실별 신경 안쓰고 있다가, 유지보수할 때나 나중에 코드볼 때를 생각해서 지켜보자 하고 봤는데.. 나름 충격적이었다.나는.. 대체.. T_T 좀 더 많은 자세한 내용은 참조내용을 보자.. 1. Tab이 아닌 Spcae로 들여쓴다.2. 한 줄의 문자 길이가 79자 이하여야 한다. 3. 함수, 변수, 속성은 lowercase_underscore( 소문자, 연결 되는 단어 언더바 ) 사용4. 보호 인스턴스는 _leading_underscore( 변수명 앞에 _ 한개, 연결 되는 단어 언더바 ) 사용5. 비공개 인스턴스는 __docule_underscore( 변수명 앞에 _ _ 두개, 연결 되는 단어 언더바 ) 사용6. 클래스와 예외는 Capita.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 21 다음