어느 금요일 오후, 회원가입 폼에 이상한 값이 들어온다는 제보를 받았다. 이메일 칸에 `abc@`만 적어도 가입이 되고 있었다. "그거 정규식 하나면 되지 않아요?" 옆자리에서 던진 말이 맞긴 했는데, 문제는 그 '하나'를 만드는 데 반나절이 걸렸다는 점이다. 인터넷에서 복사한 패턴은 동작하는 듯하다가 한글 도메인에서 터졌고, 급하게 고친 패턴은 정상적인 ...

어제까지 잘 돌던 스크립트가 오늘 아침 갑자기 멈춘다. 에러 메시지는 딱 한 줄, `ModuleNotFoundError: No module named 'requests'`. 분명 어제 `pip install requests`를 했는데 말이다. 그런데 옆자리 동료 노트북에서는 같은 코드가 아무 문제 없이 돌아간다. 이쯤 되면 코드가 아니라 환경을 의심해야 한...

리스트에서 값 하나를 찾는 코드를 짰습니다. 항목이 100개일 때는 눈 깜짝할 사이에 끝났죠. 그런데 서비스가 커져서 100만 개가 되자, 같은 코드가 몇 초씩 멈칫거리기 시작합니다. 코드는 한 글자도 바꾸지 않았는데 왜 갑자기 느려졌을까요? 이 질문에 "데이터가 많아져서요"라고 답하는 건 절반만 맞습니다. 진짜 답은 그 코드가 데이터 양에 대해 어떤 비율...

처음 프로그래밍을 시작하는 사람에게 "무슨 언어부터?"라고 물으면 요즘은 거의 파이썬(Python)이 첫손에 꼽힙니다. 문법이 사람이 읽는 문장에 가깝고, 세미콜론이나 중괄호 같은 잔가지가 적어 "내가 하려는 일" 자체에 집중할 수 있기 때문입니다. 어디에 쓰이나 파이썬의 진짜 강점은 활용 범위입니다. 데이터 분석과 머신러닝(판다스, 넘파이, 텐서플로우)의...