목록분류 전체보기 (492)
규도자 개발 블로그
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" } ..
내가 얼마 전에 서평을 남긴 책이 있다. 바로 '초예측'이라는 책이다. 맨 처음에는 독특하고 한번에 알 수 있을 법한 책 제목에 확 끌렸는데 요즘 나오는 책들을 보니 바로 이 '초'라는 접두어를 남발하고 있더라. 한옛날에 '바보는 항상 ~만 한다'라는 제목 열풍에 이어 이번에는 접두어에 '초'를 붙이는 게 유행인가 싶다. 나는 이런 이유모를 유행에 일단 반감부터 갖게 되는 성격인지라 이제는 이상하게 접두어에 뜬금없이 '초'를 붙인 것들을 보면 소름이 돋는다. 알라딘에 '초'로 검색을 해보니 최상단에는 초예측이 뜬다. 초예측의 원제는 SUPER-FORECAST이다. 그야말로 직역이라고 할 수 있겠다. 근데 내가 오늘 들린 영풍문고에서는 최소 세네권의 책들이 앞에 접두어로 '초'를 달고 있었다. 아직 많이 ..
알고리즘 문제들을 푸는 걸 좋아했는데 점점 나만의 재량으로 풀 수 없는 문제들이 나올 때, 예를 들어 다이나믹 프로그래밍이나 그래프이론, 탐색 등의 요소가 가미됐을 때 들었던 생각들이다. 그러니까... 기분이 이상했다고 해야하나. 창의력 문제였던 줄만 알았던 알고리즘 문제조차 사실은 수학문제들 처럼 공식을 알아서 대입해야만 풀 수 있는 것들이었고 결국엔 공식의 적절한 활용과 응용으로 풀어내는 것들이었다는 걸 깨닫고 나니 결국 알고리즘도 수학이랑 다를 게 없구나 하는 생각이 들었다. 사실 이런 생각들이 물밀듯이 들어왔던 계기가 있는데 얼마 전에 에라토스테네스의 체를 응용해야하만 하는 문제를 만났을 때였다. 에라토스테네스의 체가 뭔지도 몰랐던 나는 어리둥절했고 위키피디아에 검색해봐서 아 이게 에라토스테네스의..