Python 연산자 우선순위 표

우선순위가 높은 순서부터 낮은 순서까지 순위 연산자 설명과 예 1 [v1, …], {v1, …}, {k1: v1, …}, (…) 리스트/셋/딕셔너리/제너레이터 생성 혹은 컴프리헨션, 괄호에 쌓인 표현식 2 seq[n], seq[n:m], func(args…), obj.arr 인덱스, 슬라이스, 함수 호출, 속성 참조 3 ** 지수 4 ‘+’x, ‘-‘x, ‘~’x 양수, 음수, 비트 연산 not 5 *, /, //, % 곱하기, 나누기(부동소수점), 나누기(정수), 나머지 6 +, – 더하기, 빼기 7 <<, >> 왼쪽 시프트, 오른쪽 시프트(비트 연산) 8 & and(비트연산) 9 | or(비트연산) 10 In, not in, is, is not, <, <=, >, >=, !=, = 멤버쉽과 균등 테스트 11 not x 부울 not(논리 연산) 12 and Continue reading Python 연산자 우선순위 표

ubuntu에서 cron이 정상 작동하지 않을 경우

우분투에서 crontab 으로 shell script 를 등록하였는데 정상작동 하지 않아 그 원인을 찾기 위해 알아본 방법을 정리 한다. 우분투에서는 /var/log/cron 폴더에 cron 로그가 생기지 않는다. 대신에 /var/log/syslog 로그에 cron 실행에 대한 부분이 남는다. 정상적으로 등록된 스크립트가 작동되면 아래와 같이 실행 결과가 남는다. 만약 실행 중 문제가 발생 한다면 해당 스크립트 하단에 메시지가 출력된다. 아래 와 같다. 위 No MTA installed, discarding output 에러는 crontest.sh 파일과는 관련 없는 에러이다. 하지만 이 에러로 인하여 cron 전체가 정상적으로 작동 하지 않았다. 해당 문제는 postfix 를 설치 하면 해결된다. $ sudo apt-get install postfix postfix 라는 놈은 메일을 발송하기 위한 프로그램인데 정확하게 무엇을 하는것인지는 Continue reading ubuntu에서 cron이 정상 작동하지 않을 경우

phpStrom 에서 DBGP Proxy를 이용하여 Xdebug 사용하기

본 문서는 1대의 개발서버를 이용하여 다수의 개발자가 xDebug를 사용가능하게 하기 위한 DBGP Proxy 세팅 문서입니다. 개발 서버와 개발자의 컴퓨터가 동일한 서브넷 안에 있을 경우 DBGP Proxy를 이용하지 않고도 사용할 수 있는 방법이 있습니다. 본문서는 외부의 개발서버가 위치하고 개발자들의 PC는 동일한 서브넷(공유기)에 위치 하는 조건에서 시작합니다. 개발서버에 xdebug 모듈을 설치 하고(PHP버전과 맞아야함) 아래와 같이 xdebug 설정을 진행합니다. zend_extension=/usr/lib64/php/5.5/modules/xdebug.so #이부분은 본인의 환경에 맞도록 놔두면됨 ; see http://xdebug.org/docs/all_settings xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.idekey=”PHPSTORM” 위설정은 xdebug의 remote 세팅을 추가 해준 겁니다. 보통 개발서버와 개발자가 1:1 이라고 하면 위 설정에서 remote_host, remote_port, idekey 값만 자신의 환경에 마춰 세팅하고 사용하면 됩니다. 하지만 여기서는 DBGPProxy 를 통하여 사용할 Continue reading phpStrom 에서 DBGP Proxy를 이용하여 Xdebug 사용하기

파일첨부시 특정 파일확장자만 선택하게 하기

<input type=”file”> 태그에 accept 라는 속성으로 사용자가 첨부하려는 파일을 특정지을 수 있다. 특정 확장자의 파일만 보이는 파일선택 다이얼로그 창 이미지 <이런식으로 gif 이미지만 보이게 할 수 있다는 이야기> 사용방법은 input 태그에 accept 속성만 주면되고. 속성의 값으로 사용 할 수 있는 방법은 특정 확장자를 지정하거나 미디어 타입을 지정하는 방법 또는 audio/*, video/*, image/* 형식의로 정의 할 수 있다. 파일 확장자로 지정하는 것은 .gif, .jpg, .png 와 같이 나열 하면 된다. 구분은 ,(콤마)로 하면된다. <input type=”file” accept=”.gif, .jpg, .png”> audio/* 은 모든 오디오 파일을 보여준다. video/* 은 모든 비디오 파일을 보여준다. image/* 은 모든 이미지 파일을 보여준다. 오디오, 비디오, 이미지 파일의 범위는 Continue reading 파일첨부시 특정 파일확장자만 선택하게 하기

AWS S3 와 EC2 간의 Cross Domain 해결을 위한 CORS 사용

XMLHttpRequest 를 통하여 서로 다른 도메인간에 통신을 하거나 데이터를 가져와야 하는 경우 CORS를 이용하면 된다. CORS에 대한 내용은 아래 URL들을 참고 http://www.html5rocks.com/en/tutorials/cors/ https://developer.chrome.com/extensions/xhr http://en.wikipedia.org/wiki/Same-origin_policy 정리해서 이야기 하면 리소스 또는 데이터를 받아와야 하는쪽 서버에서 응답을 보내는 해더에 아래 내용을 담아서 보내라는 이야기 Access-Control-Allow-Origin: http://api.bob.com Access-Control-Allow-Credentials: true Access-Control-Expose-Headers: FooBar Access-Control-Allow-Origin: 는 필수 값으로 요청을 보내는 쪽의 도메인주소를 적으면 된다. AWS의 S3에서는 버킷에서 CORS 세팅을 추가 해주면 된다. 추가 방법은 http://aws.amazon.com/ko/blogs/aws/amazon-s3-cross-origin-resource-sharing/ 문서 참고 자세한 내용은 http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#how-do-i-enable-cors 참고 아래와 같이 추가 하면 된다. <?xml version=”1.0″ encoding=”UTF-8″?> <CORSConfiguration xmlns=”http://s3.amazonaws.com/doc/2006-03-01/”> <CORSRule> <AllowedOrigin>http://munilive.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>http://*.munilive.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> Continue reading AWS S3 와 EC2 간의 Cross Domain 해결을 위한 CORS 사용