규도자 개발 블로그
PHP는 변수의 선언 여부를 체크하는 방법이 아주 많다. 내장 함수도 많을 뿐더러 ==나 ===까지. PHP가 코드뭉텅이라는 오명을 갖는 이유 중 하나이기도 한데 그만큼 true false를 검사하는 조건문을 뭘 써야할지 고민이 될 때가 있다. 그럴 때 참고하면 좋은 테이블이다. None은 변수가 선언되지 않은 상태이다. 위는 그림파일이고 $var = None Array() Null '' false 0 '0' ' ' 'text' true 1 '1' empty($var) O O O O O O O X X X X X is_null($var) O X O X X X X X X X X X isset($var) X O X O O O O O O O O O $var X X X X X X X O O O O O $var =..
예전에 재미있게 읽었는데 요즘에 초예측, 사피엔스, 호모데우스 등등을 읽으면서 뭔가 다시끔 읽어보고픈 생각이 들어 다시 읽게 됐다. 처음 제목을 접했을 땐 그냥 이기적으로 살라는 식의 자기계발서적인 줄로만 알았는데 아니어서 놀랐던 기억이 있다. 물론 그런 책이 아니어서 더 좋았다. 사피엔스에서 유발 하라리가 얘기했던, "호모 사피엔스가 지구를 지배하게 된 힘"은 어디에서 오는가에 대한 대답을 유발 하라리는 허구를 공유하여 결속할 수 있는 인간 특유의 특징을 지목했다. 예를 들어 은행은 돈을 빌려준 사람이 갚을 것이라는 "믿음이라는 허구"를 이용하여 가치를 생산하고 그 가치를 또 다른 사람에게 빌려줌으로써 현재 갖고 있는 재화의 가치보다 미래의 가치를 빌려와서 이용할 수 있게 됐다. 종교도, 정치도 마찬가..
[백준/1978/파이썬(python3)] 소수 찾기 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 입출력 예 입력출력 4 1 3 5 73 풀이 def prime_list(n): n = n + 1 #추가된 부분 sieve = [True] * n m = int(n ** 0.5) for i in range(2, m + 1): if sieve[i]: for j in range(i+i, n, i): sieve[j] = False return [i for i in range(2, n) if sieve[..
https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg?utm_source=chrome-ntp-icon 여기에서 설치할 수 있다. 그냥 말 그대로 현재 접속해있는 사이트가 어떤 framework나 언어 등을 통해 만들어졌는지 알 수 있는 사이트이다. 한 예로 티스토리 블로그에 접속해있는 지금 상태값을 보자면 위와 같은 모습을 확인할 수 있다. 이로써 티스토리는 php로 만들었고 웹서버로는 apache를 사용하고 있다는 걸 알 수 있다. 현재 개인 프로젝트로 진행중인 사이트의 모습이다. local에서 Next.js의 개발용 웹서버로 돌린지라 Web Server또한 Next.js로 출력되는 것 같다. 물론 이 ..
파이썬(Python) 내장함수의 시간복잡도 나는 내장함수는 뭔가 당연히 최적화돼있겠거니 하고 생각없이 쓰곤 한다. 하지만 그런 자세가 프로그램의 효율에 커다란 영향을 끼치지 않나 싶다. 특히 이번에 에라토스테네스의 체를 응용한 문제를 풀고 있는데 정확한 개념을 알기 위해 위키에 쳐보니 다음과 같은 함수가 나왔다. def prime_list(n): # 에라토스테네스의 체 초기화: n개 요소에 True 설정(소수로 간주) sieve = [True] * n # n의 최대 약수가 sqrt(n) 이하이므로 i=sqrt(n)까지 검사 m = int(n ** 0.5) for i in range(2, m + 1): if sieve[i] == True: # i가 소수인 경우 for j in range(i+i, n, i)..
정책은 코드에 종속되어선 안 된다. (Policies should not be subordinate to the code.) 예전에 실용주의 프로그래머의 서평을 쓴 적이 있다. 거기에서 가장 깊게 와닿았던 부분이 정책과 코드에 대한 부분이었는데 사실 서평에도 써있다시피 실제 책에 나온 표현은 그냥 정책은 수시로 바뀐다 가 전부였다. 하지만 너무 포괄적인 문장이지 않은가. 해서 정책은 코드에 종속되어선 안 된다라는 의미로 혼자 받아들였고 또 실제 구현에 있어서도 굉장히 도움이 되는 말인지라 스스로에게 상기시키기 위해 포스트잇에 써서 모니터에 붙여놨는데 동료분도 굉장히 좋은 말인 것 같다고 말씀해주셨다. 그래서 많은 사람들이 보면 좋을 것 같아 조금 더 공개된 장소에 적어두는 것이다. 실용주의 프로그래머에 ..