한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다.개발자는 코드를 만들지만, 사용자는 운영되는 서비스를 사용한다처음 백엔드 개발을 시작했을 때는 요구사항에 맞는 기능을 구현하고, 유지보수가 쉬운 코드를 작성하는 것이 개발자의 가장 중요한 역할이라고 생각했습니다. 하지만 실무에서 여러 외부 시스템을 연동하고 운영 중 발생하는 문제들을 겪으면서, 코드만 잘 작성한다고 해서 서비스가 안정적으로 동작하는 것은 아니라는 점을 알게 되었습니다. 애플리케이션에서 오류가 발생하더라도 실제 원인은 서버나 네트워크, 외부 시스템에 있을 수 있었기 때문입니다. 처음에는 문제가 발생하면 애플리케이션 로그와 제가 작성한 코드부터 확인했습니다. 그러나 코드에는 문제가 없는데도 요청이 실패하거나 응답이 늦어지는 ..
분류 전체보기
한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다."AI 프로덕트" 란 단순히 "AI Wrapper" 가 되어서는 안 된다. AI 프로덕트라고 해서 단순히 AI 기능을 붙였다는 사실만으로 좋은 제품이 되는 것은 아니라고 생각합니다. 한때 SNS에서 AI 사주 앱이나 운세 앱들이 많이 보였던 적이 있습니다. 처음에는 신기해서 한 번쯤 써보게 되지만, 결과가 단순히 재미로 소비되는 수준에 머문다면 금방 잊히기 쉽습니다. 결국 사용자가 다시 찾게 만들려면 “AI를 썼다”는 것보다, 그 서비스를 계속 쓸 이유가 있어야 한다고 느꼈습니다. 저도 대학생 때 칼로리 분석 앱을 만들어본 적이 있는데, 당시에는 음식 사진을 인식해서 칼로리를 알려주면 꽤 괜찮은 기능이라고 생각했는데, 지금 다시 생각해 ..
한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다.과한 것은 없느니만 못하다: 기능의 최적화책의 제목 (미니멀리즘)처럼, 제품에 여러 기능들이 추가되면 좋을 것 같은 현상은 결국 미래의 기술 부채가 된다는 사실을 명확히 알려주고 있습니다. 1인 개발자라면 MVP 를 만드는 과정에서 AI 챗봇, OAuth 로그인 등이 그 예가 될 수 있을 것이고, 회사에서도 실제 고객이 사용할 기능에 비해 과다하게 기능을 적용해보자고 논의가 나올 수도 있겠죠. 그러지 않는 것이 가장 좋겠지만, 꼭 이 기능을 만들고자 한다면 적어도 "고객에게 어떤 가치를 주기 위해" 필요한 기능이었다는 사실을 반드시 기억하는 게 맞겠다라는 생각이 들었습니다. 일례로, 회사에서 특정 기능을 리팩터링하려고 했을 때 이 함수를..
26.02.21 ~ 작성 중책 내용 요약처리율 제한 장치의 장점DoS (Denial of Service) 공격에 의한 자원 고갈 방지 가능: 추가 요청에 대해서는 처리를 중단하여 DoS 공격 방지가 가능함비용 절감 가능: 제3자 API를 사용하고 있는 서비스일 경우에는 횟수를 제한함으로써 API 비용 절감 가능함서버 과부하 방지 가능: 봇 또는 사용자의 잘못된 이용 패턴으로 인한 트래픽을 필터링하여 서버 과부하 방지가 가능함1단계 문제 이해 및 설계 범위 확정책의 시나리오에 따르면 시스템 요구사항은 아래와 같다.설정된 처리율을 초과하는 요청은 정확히 제한처리율 제한 장치에 의해 HTTP 응답 시간이 나쁜 영향을 받으면 안 됨가능한 한 적은 메모리를 써야 함하나의 처리율 제한 장치를 여러 서버 / 프로세스..
책 내용 요약효과적 면접을 위한 4단계 접근법1. 문제 이해 및 설계 범위 확정질문에 대한 답을 말할 때 가장 중요한 것은 속도가 아니라 이해도이다. 요구사항과 가정을 분명히 하고, 그에 맞추어 깊이 생각하고 질문과 답을 해야 한다.구체적으로 어떤 기능을 만들어야 하는지, 제품의 사용자 수는 얼마나 되는지, 회사의 성장 예상치는 어떤지, 회사가 주로 사용하는 기술 스택은 무엇인지, 설계를 단순화하기 위해 활용할 수 있는 기존 서비스로는 어떤 것들이 있을지 등을 질문해보면 좋다.2. 개략적인 설계안 제시 및 동의 구하기개략적인 설계안을 제시한 후 면접관의 동의를 얻는 단계이다.설계안에 대한 최초 청사진을 제시하고 의견을 구하라.화이트보드나 종이에 핵심 컴포넌트를 포함하는 다이어그램을 그려라.최초 설계안이 ..
책 내용 요약2의 제곱수2의 제곱수는 데이터의 계산을 다룰 때 규모 추정 등 다양하게 사용된다.2의 x 제곱근사치이름축약형101천 (thousand)1킬로바이트1KB201백만 (million)1메가바이트1MB3010억 (billion)1기가바이트1GB401조 (trillion)1테라바이트1TB501000조 (quadrillion)1페타바이트1PB 모든 프로그래머가 알아야 하는 응답지연 값아래 응답지연 값들을 통해서 컴퓨터 연산들의 처리 속도가 어느 정도인지 짐작할 수 있다.연산명시간L1 캐시 참조0.5 ns분기 예측 오류 (branch mispredict)5 nsL2 캐시 참조7 ns뮤텍스 (mutex) 락 / 언락100 ns주 메모리 참조100 nsZippy로 1 KB 압축10,000 ns = 10 µ..