프로그래밍 <45>
깨끗한 코드란 무엇인가? 가끔 협업하다 보면 굉장히 스마트하고 아는 거 많고 모든 신기술을 섭렵하고 프로그래밍도 아주 잘하는 사람들을 만나게 된다. 그런 사람들을 볼 때면 `나도 굉장히 스마트 한 사람이야`라고 뽐내고 싶을 때가 있다. 주의해야 한다. 혼자 코딩할 때도 물론 주의해야 한다. 나 혼자 쓰는 건데 뭐 어때 나만 알아보면 되지 하면서 비트 연산 넣고 하는 순간 과거의 나를 탓하게 된다. (물론 꼭 필요할 때도 있지만.) 이 책에서 저명한 프로그래머들은 아래와 같이 말했다. + 내 의견 1. 깨끗한 코드란 가독성이 좋은 코드다. (별표 백만 개) 그 외 - 중복이 없어야 한다. - 의존성을 줄여야 한다. - 성능을 최적으로 유지해야 한다. - 모든 테스트 케이스를 통과한다. 등등이 있는데 이건 ..
네이버에서 xx을 예약을 하기 위해 매크로를 만들다가 한 번 올려봐야겠다는 생각을 했다. 그러면서 한편으로는.. 개발자 분들은 이런 매크로 막으려고 고생이 많으시겠구나. 생각이 들었습니다요. 지송합니다요. 부르트 포스로 서버 부하 걸리지 않게 패킷은 한 번만 짧게 보내는 것으로 할게요. selenium이라는 모듈을 사용하면 아주 아주 편하다. 여러 브라우저의 WebDriver API를 제공하는데 나는 크롬을 주로 쓰니까 크롬으로 해보자. 우선 크롬 웹 드라이버를 다운로드한다. https://chromedriver.chromium.org/downloads 자신의 컴퓨터에 깔린 크롬과 버전이 동일한 웹 드라이버를 받아야 하는데 현재 자신의 크롬 버전을 알려면 [크롬 -> 환경설정 -> Chrome 정보]로 ..
1. Default Argument 함수에 인자를 넘기지 않아도 실행될 수 있는 기본값을 지정해 둘 수 있다. 위 예시와 같이 "argument 명 = 값"으로 명시해두면 된다. 위 함수는 prompt에 질문을 받은 후에 유저로부터 입력을 받고 입력 값에 따라 적절한 값이 포함되어 있지 않으면 reminder를 출력해주고 retries횟수만큼 prompt질문을 다시 묻고 포함되어 있다면 True 또는 False를 return 하는 함수이다. 위 예제에서 나오는 키워드 중에 "in" 키워드는 "in" 키워드 앞에 있는 변수에 뒤에 있는 값이 포함되어 있는지를 확인하는 키워드이다. 참 쉽죠? 이 default 값은 함수를 call 할때 다른 값을 주게 되면 그 값으로 함수를 실행한다. ask_ok 함수를 콜..
파이썬에서는 키워드 def를 이용해서 함수를 정의한다. def 함수명(매개변수): 참 쉽죠? 함수의 내용은 중괄호({}) 로 따로 묶어 줄 필요 없이 다음 줄부터 시작하면 되는데 indent(들여 쓰기로) 구분한다. 그리고 첫 줄은 항상 함수가 하는 일을 짧고 간결하게 요약한다. 이걸 docstring이라고 하는데 예를 들어보자 이렇게 def로 정의한 함수의 첫 줄에 함수가 하는 일을 "" 쌍따옴표 안에 넣으면 된다. 눈에 잘 띄게 """ 쌍따옴표 세 개로 표시해보았다. 그러고 나서 f 함수의 __doc__을 확인해보면 위와 같이 출력되는 것을 볼 수 있다. docstring 아래에 함수의 동작을 서술하면 된다. 만약 계산한 값을 돌려받고 싶다면 return 문을 쓰면된다. 위 캡처의 fib2함수는 파라..
1. if 문 파이썬에서는 라인의 끝을 알리는 세미콜론(;)을 쓰지 않는데 반복문, 제어문, 함수 등에서는 콜론(:)으로 조건을 구분 짓는다. if 조건 : elif 조건 : else: 형식으로 사용하면 된다. 그리고 if문 하면 보통 다른 언어들에서 함께 나오는 것이 switch문일 텐데. 파이썬에는 스위치 문이 없다. 2. for 문 숫자를 이터레이션 하거나 리스트나 문자열 항목들을 순서대로 이터레이션 할 수 있다. - 숫자로 이터레이션 range() 함수로 하면 간단하게 할 수 있다. range() 함수를 쓸 때 범위를 지정할 수 있다. range(시작 수, 끝 수) range(시작 수, 끝 수, 증가분) - 리스트 이터레이션 *여기서 len() 함수는 문자열의 길이(객체의 길이)를 구하는 함수다...
Mac OS를 사용하면서 가장 좋았던 점은 디렉토리 구성이 리눅스와 비슷하다는 점이다. 터미널 사용 명령어도 리눅스와 동일하다. 예전에 GUI 버전 ubuntu(우분투)를 사용하면서 조금 부족한 윈도우 + 리눅스라는 느낌을 받은 적이 있는데 (예전이라.. 아마 지금은 더 개선되었겠지요.) mac OS를 써보면서 느낀점은 리눅스의 장점과 윈도우의 장점을 적절히 섞은 느낌이 든다. 사설이 너무 길었다. 여튼 파이썬 파일을 실행하려면 터미널에서 "python 파일명.py" 이렇게 해야 한다. 하지만 쉘 스크립트 처럼 "./파일명.py"이렇게 바로 실행하고 싶다 할때 아래와 같은 라인을 작성하는 파이썬 파일 "첫"라인에 넣어주면 된다.(Mac OS, Unix 계열) 파이썬의 기본 encoding(인코딩)은 as..