목록분류 전체보기 (494)
규도자 개발 블로그
예전에 재미있게 읽었는데 요즘에 초예측, 사피엔스, 호모데우스 등등을 읽으면서 뭔가 다시끔 읽어보고픈 생각이 들어 다시 읽게 됐다. 처음 제목을 접했을 땐 그냥 이기적으로 살라는 식의 자기계발서적인 줄로만 알았는데 아니어서 놀랐던 기억이 있다. 물론 그런 책이 아니어서 더 좋았다. 사피엔스에서 유발 하라리가 얘기했던, "호모 사피엔스가 지구를 지배하게 된 힘"은 어디에서 오는가에 대한 대답을 유발 하라리는 허구를 공유하여 결속할 수 있는 인간 특유의 특징을 지목했다. 예를 들어 은행은 돈을 빌려준 사람이 갚을 것이라는 "믿음이라는 허구"를 이용하여 가치를 생산하고 그 가치를 또 다른 사람에게 빌려줌으로써 현재 갖고 있는 재화의 가치보다 미래의 가치를 빌려와서 이용할 수 있게 됐다. 종교도, 정치도 마찬가..
[백준/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.) 예전에 실용주의 프로그래머의 서평을 쓴 적이 있다. 거기에서 가장 깊게 와닿았던 부분이 정책과 코드에 대한 부분이었는데 사실 서평에도 써있다시피 실제 책에 나온 표현은 그냥 정책은 수시로 바뀐다 가 전부였다. 하지만 너무 포괄적인 문장이지 않은가. 해서 정책은 코드에 종속되어선 안 된다라는 의미로 혼자 받아들였고 또 실제 구현에 있어서도 굉장히 도움이 되는 말인지라 스스로에게 상기시키기 위해 포스트잇에 써서 모니터에 붙여놨는데 동료분도 굉장히 좋은 말인 것 같다고 말씀해주셨다. 그래서 많은 사람들이 보면 좋을 것 같아 조금 더 공개된 장소에 적어두는 것이다. 실용주의 프로그래머에 ..
https://gitstar-ranking.com 바로 이곳이다. 들어가보면 알겠지만 사용자, 기관, 저장소별로 구분돼있다. 얼마 전에 직장동료에게 vue.js가 react의 별 갯수를 이겼다고 들어가지고 깃허브에서 직접 찾아봤는데 vue가 react보다 두계단 위에 있었다. 찾아본 김에 아 이런게 정리된 사이트가 있었으면 좋겠다 싶어서 찾아봤더니 금방 나오더라. 조금 아쉬웠다. 없었으면 내가 만들려고 했는데... 근데 이것도 절대적이지 않은 게 시간의 흐름에 따른 변화 요소가 반영돼있지 않아 트렌드에 민감한 정도를 제대로 파악할 수는 없다. 예를 들어 현재 별 갯수 약 30만 개로 압도적 1위를 달리고 있는 freeCodeCamp저장소의 최초 이슈는 2014년에 등록된 것에 비해 별 13만개로 3위를 ..
호모사피엔스는 어떻게 호모 에렉투스와 네안데르탈인을 멸종시키고 지구를 뒤덮는 생명체가 되었을까. 저자인 유발 하라리는 이것을 인간이 신, 인권, 국가, 돈 등에 대한 집단신화를 믿는 특성 때문에 이룩한 것이라고 말한다. 이것이 사피엔스의 요약이다. 전통적인 무리생활의 한계 개체수인 150명 이상의 집단을 통솔하기 위해 종교와 국가라는 개념이 태어났고, 빚에 대한 지급을 신용함으로써 화폐가 생겨났다. 현재 인류가 보편적으로 믿고 있는 이 '가치'나 '사상'은 전부 실체가 없지만 그저 다수가 믿고 있다는 이유만으로 실질적인 힘으로 작용한다. 이것이 사피엔스의 특징이며 이 행성을 지배할 수 있는 근간이 되었다. 유발 하라리를 단숨에 세계의 석학으로 주목된 책인 만큼 좋은 내용들로 가득차있다. 특히나 나 같은 ..
argument(인수)와 parameter(매개변수)의 차이 함수를 자주 다룰 때 자연스럽게 접하는 두 단어, argument와 parameter의 차이에 대해서 모르고 혼동하고 쓰는 경우가 많다. 그도 그럴 것이 이 둘의 의미를 정확하게 모르고 쓴다고 하더라도 사실 커뮤니케이션에 커다란 장해가 생기진 않으니 말이다. 그렇다면 이 둘의 차이를 알아보자. 흔한 언어인 자바로 예제를 작성해봤다. public class Main { public static void main(String[] args) { String argument = "This is Argument"; testFunction(argument); } private static void testFunction(String parameter){ ..
html태그와 함께 안에 있는 content도 날려버리는 php함수 function strip_tags_content($text, $tags = '', $invert = FALSE) { preg_match_all('//si', trim($tags), $tags); $tags = array_unique($tags[1]); if(is_array($tags) AND count($tags) > 0) { if($invert == FALSE) { return preg_replace('@.*?@si', '', $text); } else { return preg_replace('@.*?@si', '', $text); } } elseif($invert == FALSE) { return preg_replace('@.*?@..
규칙없는(Not Iterable) 자바스크립트 객체 순회하기 무작위하게 적혀있는 자바스크립트 객체 안의 모든 값이 필요할 때가 있다. 그럴 때 쓰기 좋은 함수이다. 아래 소스들은 전부 관리자모드의 console창을 켜서 입력하면 바로바로 실행해볼 수 있다. var testObj = { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } ..