목록분류 전체보기 (494)
규도자 개발 블로그
모던웹의 정의가 Single Page Application을 기반으로 한 다양한 동작과 데이터변환이 이뤄지는, 흡사 네이티브 앱과 비슷한 형태로 점점 구체화되면서 React나 Angular, Vue 등등의 node진영의 프론트엔드 프레임워크, 혹은 라이브러리들이 주목받고 있다. 이제부터는 순전 내 경험이다. 이게 좋다 저게 좋다 뭐가 좋다고 해서 막상 써보려고 하면 만만찮은 러닝커브에 곤혹스럽다. 그뿐이랴, 하나의 라이브러리나 프레임워크를 배워보려고 하면 넝쿨에 딸려 올라오는 감자 알뿌리들마냥 다른 것들이 후두두둑 같이 떨어진다. 넌 이게 하고 싶어? 그럼 이것도 배워야 돼. 이 기능을 넣고 싶니? 으음~ 그땐 이게 필요해. 항상 이런 식이다. 나만 해도 그냥 프론트엔드를 React.js로, 백엔드를 D..
오직 자신없는 사람들만 의도로 평가받길 원한다. 어디에선가 봤던 말인데 너무나도 공감가는 말이라 적어뒀다. 요즘 정치적 올바름이다 뭐다 해가지고 어떤 창조물이든 창작물이든 결과물을 막론하고 못배워 쳐먹어서 우리의 의도를 파악하지 못한다느니 뭐라느니 생산자와 소비자의 관계가 역전된 듯한 것들을 많이 봐와서일까. 의도가 중요하지 않다는 얘기는 아니다. 일단 '기본'은 갖춘 상태에서 지껄인다면 모를까 말이다. 그리고 애초에 진짜 마스터피스라고 불리우는 작품은 딱히 저렇게 의도에 동정여론을 불러일으키려 하지도 않는다. 오히려 나중에 숨겨진 의도를 깨닫고 더 감탄한다면 모를까. 그러니까 의도를 강조하는 사람들은 자신들의 부끄러운 결과물을 감추려고 의도라는 방패로 감싸는 것이다. 왜냐. 의도라는 것은 그 어떤 신성..
항상 vendor, sources, src, images, lib 등 자주 쓰이는 디렉토리 이름에 신경이 쓰였다. 용도도 궁금하고... 종국에는 개인적으로 프로젝트를 하는데 유지보수에 도움이 될까 하는 이유로 많은 사람들이 쓰는 디렉토리 이름들을 찾아봤는데 아무리 해도 위에 썼던 이름들 혹은 내가 작업하며 봤던 만들어져있던 디렉토리 이름 그 이상은 찾을 수가 없었다. 그러던 와중 내가 쓰는 IDE인 Jetbrain사의 IntelliJ Idea에 디렉터리나 파일 아이콘을 atom의 것으로 만들어주는 플러그인을 발견하였다. 이것을 보니 특정 이름의 디렉토리만 atom의 디렉토리 모양으로 바꿔주는 것으로 보아 이 소스코드를 보면 어떤 디렉토리이름을 많이 사용하는지 역추적할 수 있겠다 싶어서 뒤져봤다. 이곳이 ..
나는 코딩이나 프로그래밍이라는 작업에 있어서 그 범주가 어디에 속해있냐고 정의해야한다고 하면 지극히 사무적인 업무와 예술 같은 창의적인 행위 그 사이의 어느쯤으로 둘 것이다. 데이터의 정제와 전송은 꼭 일정한 규격을 맞춰야 하는 사무적인 일 같지만 그 내부의 코드는 만드는 사람마다 제각각이기 때문이다. 개인적인 지론이지만 프로그래머의 최종 아웃풋은 서비스나 정제된 데이터가 아닌 코드라고 생각한다. (원할한 서비스나 데이터는 응당 있어야할 요소이므로) 결과값은 같아도 구현하는 방식은 프로그래머마다 천차만별이다. 당장에 알고리즘 풀이사이트를 가봐도 알 수 있다. 정해진 문제에 대해서도 그렇게 많고많은 방법과 해결책을 제시하는데 딱히 정해지지 않은 답을 찾아가는 데에 있어서 프로그래머의 창의력만큼 중요한 요소..
정수(Integer가 아닌 Essence). 내가 좋아하는 말이다. 내가 프로그래밍을 처음 배워 c언어로 콘솔창에 "hello world"를 찍었을 때부터 들어왔던 생각이 있다. 경력도 짧은게 혓바닥만 길다고 뭐라 할까봐 떠들진 않았지만 "삼인행필유아사"라고 가끔씩 순수한 어린아이의 말이 어른들의 사상을 꿰뚫는 것처럼 그냥 내가 느낀 바를 써보려 한다. 프로그래밍이라는 건 결국 두 가지 개념으로 함축할 수 있다. 첫번째, 데이터의 정제.두번째, 전송. 정확성과 효율성은 제하였다. 정확하다는 것은 프로그램의 성질에 따라서 때때로 정의가 모호할 뿐더러 효율성은 구현하는 사람의 재량과 하드웨어의 성능, 그리고 특성에 달렸기 때문이다. 세상 수많은 프로그램이 있지만 위 두 개의 범주에서 벗어나는 건 없는 것 같..
프로그래머들에게는 이렇게 표현하는 게 더 와닿을 수 있겠다. 사람은 모듈이 아니다. 이 말을 들었을 때 머릿속에 떠오르는 이미지 그대로가 내가 전하고자 하는 의도이다. 세상에는 자신에게 완벽한 자리도 없을 뿐더러, 자리에 완벽한 사람도 없다. 이 자리라는 것은 정말 말 그대로 '위치'의 개념이 아니라 사람과 사람 사이에도 해당하는 말이다. 세상에 완벽한 팀은 없다. 완벽을 추구하는 정도의 차이만 있을 뿐이다. 결국엔 누군가 모양을 깎아서 모듈끼리를 걸맞게 하는데(세간에서는 이것을 희생, 혹은 사회화라고 한다) 이것은 블록 스스로의 노력과 경영진, 혹은 관리자의 노력이 같은 방향을 향했을 때 이뤄진다. p.s : 나에게 하고 싶은 말이라 적어봤다.
[JavaScript/자바스크립트] 숫자를 만, 억, 조, 경 등 만 단위 한글로 찍기 + 자바스크립트 연산의 한계값 간단한 함수이다. 어떠한 숫자가 주어졌을 때 해당 숫자를 만, 억, 조, 경 등 만 단위 한글로 찍는 자바스크립트 함수이다. 사실 이 함수를 만들기 전에 항상 그래왔듯이 다른 사람들이 만들어놓은 걸 찾아봤지만 만족스러운 것이 없었다. 함수 자체가 30~40줄을 넘어버린다던가 의미를 알 수 없는 부분이 많이 있다던가 혹은 출력이 3억 0305만 0050 이런식으로 중간중간 0에 대한 예외처리가 안돼있다던가... 만족스러운 게 없어서 직접 만들었다. 코드샌드박스에서도 확인할 수 있다. : https://codesandbox.io/s/wopm3v546w ※간단하게 뒤에 '원'만 붙이면 숫자를 ..
간단한 react JS + Django 어플리케이션 만들기 일단 프로젝트를 시작하기 전에 서론이 길다. react와 django가 동작하는 방식에 대해선 관심 없고 단지 어떻게 만드는 지에 대해서만 관심있는 사람이라면 이 텍스트블록들은 과감하게 넘겨도 좋다. 하지만 제대로 만들기 위해선 react와 django를 이용한 웹어플리케이션이 어떻게 작동하는지에 대해서 간단하게나마 알아둘 필요가 있다. 그럼 시작하겠다. react는 Single Page Application을 위해 만들어진 Javascript라이브러리이다. 페이스북에서 만들었는데 딱 페이스북이 어떻게 동작하는지 보면 이 용도를 이해할 수 있다. 페이스북에서 좋아요를 누르고 댓글을 달고 페메를 보내는 건 전부 한 페이지에서 이뤄진다. 넷플릭스 또..
윈도우(windows)에서 파이썬(python) 2.x버전과 3.x버전 동시에 쓰기 나는 파이썬을 시작한지 얼마 되지 않아서 3.x버전만 다뤄왔었다. 하지만 리눅스 환경에서 기본값으로 깔려 있는 파이썬은 대체로 2.x버전이었다. 리눅스환경에서야 symlink로 각 명령어에 대한 구분이 가능하지만 윈도우같은 경우에 파이썬3버전과 2버전을 동시에 깔면 무조건 python이라는 명령어에 python 2.x대가 붙는 현상이 있다. 나의 경우에는 python3.x로 작업을 하다가 node.js를 깔면서 위의 현상을 겪었는데 node.js의 npm이 python2.7을 사용하고 있기 때문이다. node.js를 깔기 전에 콘솔 창에 python -V를 치면 3.7.x가 떴는데 이제는 2.7.15가 뜬다. 환경변수 설..
php의 단점을 발견하였다. 바로 쓰레드에 대한 부분이다. 큰 부하를 처리하는 php코드를 일정시간마다 실행해야해서 해당 php코드를 실행하고 있을 때 다른 사용자들에 대해서 서비스품질저하를 방지하기 위해 php로 구현하는 쓰레드와 관련하여 많은 것들을 찾아봤는데... php공식문서에서 단호하게 안 된다고 정의했다. 심지어 현재 서비스 중인 플랫폼은 전부 7.0.x대의 php에서 돌아가고 있다. 뭐 애초에 사용할 수도 없지만 말이다... 그래서 관련 자료를 더 찾아보니 애초에 php라는 언어 자체가 싱글스레드로 실행되는 것을 전제로 만든 언어라고 한다. 관련 자료를 같이 첨부하려 했는데 다시 찾진 못하겠다. 해서 멀티스레딩이 필요할 때 사용할 수 있기 pthread라는 것이 만들어져있긴 한데 역시나 아직..