들어가며 쿠키(Cookie)는 웹에서 빼놓을 수 없는 존재입니다. 가장 기본적인 인증에서부터 장바구니, 홍보, 유저 추적(Tracking) 등 여러가지 목적으로 광범위하게 사용되고 있습니다. 하지만 막상 사용하려고 하면 복잡한 설정 덕분에 쿠키가 제대로 저장/삭제되지 않거나 안전하지 않은 방식으로 사용하게 되기 일쑤입니다. 그렇기 때문에 이번 글에서는 쿠키...
이 글은 소프트웨어 테스트 안티 패턴의 두 번째 파트입니다. 첫 번째 파트를 읽지 않으셨다면 먼저 첫 번째 파트를 읽어주세요. 여섯 번째 안티 패턴 - 코드 커버리지에 대한 과도한 집착 코드 커버리지는 비즈니스 관리자가 선호하는 지표 중 하나입니다. 그리고 바람직한 코드 커버리지는 개발자와 관리자 사이의 주요 논쟁 거리입니다. 코드 커버리지가 성과 지표로 ...
이 글은 Kostis Kapelonis의 글 Software Testing Anti-patterns을 번역한 글입니다. 이 글은 메일을 통해 저자에게 허락을 구한 뒤 번역되었으며, 원문은 링크에서 찾아보실 수 있습니다. 들어가며 그동안 소프트웨어 개발 중 발생하는 테스트 안티 패턴에 대한 글을 여럿 보았습니다. 그리고 많은 글이 특정 언어의 로우 레벨 세부...
이 글은 Chris Komlenic의 글 8 Reasons Why MySQL's ENUM Data Type Is Evil을 번역한 글입니다. 원문은 링크에서 찾아보실 수 있습니다. 얼핏 보면 MySQL의 ENUM 데이터 타입은 여러 값 중 허용된 값만 저장되게끔 제약한다는 목적에 가장 부합하는 효과적인 방법처럼 보입니다. 이제 다음 케이스를 살펴봅시다. c...
이 글은 BRAD PEABODY의 글 Server-side I/O Performance: Node vs. PHP vs. Java vs. Go를 번역한 글입니다. 원문은 링크에서 찾아보실 수 있습니다. 애플리케이션의 I/O 모델은 애플리케이션 부하(load)를 처리하는 방식의 차이로 이해할 수 있습니다. I/O 모델을 잘못 이해할 경우, 애플리케이션의 규모가...
이 글은 Max Kanat-Alexander의 Fundamental Philosophy of Debugging을 번역한 글입니다. 종종 사람들은 디버깅에 큰 어려움을 겪는다. 그리고 이런 사람들은 시스템을 디버깅을 하려면 시스템을 관찰하기보다 문제의 원인에 대해 생각해봐야 된다고 믿는다. 이게 무슨 뜻인지 예를 들어 보자. 당신이 웹 서버를 운영하는데 이 ...
원문: http://mrmrs.cc/writing/scalable-css/ 수 년전부터 나는 확장성 있는 CSS에 대해 고민하게 됐다. 그 때는 친구들이 빌려준 책 몇 권이나 괜찮은 블로그 글 몇 개를 제외하면 지금처럼 참고할 수 있는 자료가 많지 않았다. 당시엔 CSS가 꽤 새로운 존재였고, 대부분의 사람들은 거대한 애플리케이션을 만들 때의 확장성과 같은...
안녕하세요? 곰프로입니다. 오늘은 Node.js를 활용해서 웹 브라우저를 제어하고 자동화할 수 있는 라이브러리인 Puppeteer를 소개하고 어떻게 제가 에어비앤비 메시지를 자동화했는지 알아보겠습니다. Why? 에어비앤비는 호스트(임대인)가 게스트(임차인)에게 숙박을 제공하고 돈을 받는 숙박 공유 플랫폼입니다. 그렇기 때문에 여타 숙박업처럼 호스트와 게스트...
이 글은 Martin Tournoij의 글 Easy means easy to debug를 번역한 글입니다. 다수의 의역이 포함되어 있으며, 원문을 읽고 싶으신 분들은 Easy means easy to debug을 참조하시기 바랍니다. 또한 이 문서는 cc-by 4.0 라이센스를 준수합니다. 어떤 프레임워크나 라이브러리, 도구가 "쉽다"는 건 무슨 의미일까?...
Node.js의 forEach 혹은 filter는 동기적으로 동작합니다. 그렇기 때문에 async function과 함께 동작하게 만들려면 약간의 트릭이 필요한데요. 아래와 같은 식으로 할 수 있습니다. 1. 먼저 Array.prototype에 새로운 두 메쏘드, asyncFilter와 asyncForEach를 추가해줍니다. 2. callback 인자는 이...
iOS TabBar의 기본 Shadow를 커스터마이징하려면 먼저 기본 shadow 스타일을 빈 이미지로 초기화한 다음 커스텀 스타일을 적용해야 한다. 그러므로 UITabBarController를 상속하는 CustomTabBarController를 만들고 viewDidLoad에서 스타일을 설정하게 해줬다. 다음으로 기본 그림자 스타일을 초기화하는 함수와 그림...
+ 본 게시물은 velog에서도 보실 수 있습니다. 일을 하다보면 금방 해결책이 생각나지 않는 경우가 있다. 그리고 경험상 이런 케이스들은 제대로 정리해놓지 않고 지나가면 까먹을 확률이 높다. 1. EUC-KR 문자 인코딩 웬만한 경우에는 문자 인코딩을 건들 필요가 없다. Third Party api도 대부분 REST api에 utf-8을 사용하기 때문이다...
자유로운 창작이 가능한 기본 포스트
한 컷씩 넘겨보는 카툰 포스트
직접 만든 영상을 올리는 동영상 포스트
소장본, 굿즈 등 실물 상품을 판매하는 스토어
정기 후원을 시작하시겠습니까?
설정한 기간의 데이터를 파일로 다운로드합니다. 보고서 파일 생성에는 최대 3분이 소요됩니다.
포인트 자동 충전을 해지합니다. 해지하지 않고도 ‘자동 충전 설정 변경하기' 버튼을 눌러 포인트 자동 충전 설정을 변경할 수 있어요. 설정을 변경하고 편리한 자동 충전을 계속 이용해보세요.
중복으로 선택할 수 있어요.