개발
-
-
4년차가 되고 나서 회고개발 2023. 9. 27. 00:16
최근 1년 동안 정말 긴 시간이었던 거 같다. 다양한 업무와 경험을 하고 성장할 수 있는 기회였던 거 같다. 회사의 업무가 스쿼드 형태로 바뀌면서 업무 방식이 많이 변화하였고, 그 과정에서 더 좋은 스쿼드가 되기 위한 조건들을 파악하려 했다. 이 과정에서 이 업무를 왜 해야하는지, 이것을 함으로써 어떤 임팩트가 있는지 등을 항상 고민하는 습관이 생겼다. 이런 고민들을 하다보니 비즈니스에 대한 고민을 하게 되었고, 결국에 성공하는 서비스는 무엇인가를 고민하기 시작했다. 처음에는 더 좋은 기획과 유의미한 결과물을 만드는데 집중하였다. 그래서 기능을 만들 때 부터, 이 기능은 어떤 목적으로 만들고 배포 이후 어떻게 정량적으로 평가할지 까지 결정한 후에 작업을 하는 등의 절차를 제안하고 추진하였다. 만들 때 부..
-
성능이 세일즈에 미치는 영향(빅테크 레퍼런스)개발 2023. 7. 31. 13:12
google - 1s to 3s the probability of bounce increase 32% - 1s to 5s the probability of bounce increase 90% - 1s to 6s the probability of bounce increase 106% - 1s to 10s the probability of bounce increase 123% 출처) https://think.storage.googleapis.com/docs/mobile-page-speed-new-industry-benchmarks.pdf akamai - Half of consumers browse for products and services on their smartphones, while only one..
-
병목개발 2023. 7. 28. 12:45
wiki) 병목(영어: bottleneck) 현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. "병목"이라는 용어는 물이 병 밖으로 빠져나갈 때 병의 몸통보다 병의 목부분의 내부 지름이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유한 것이다. 서비스 이용시 응답 시간이 11초 가 걸렸다(로딩이 너무 길다). 무엇을 해야할까? 가장 먼저 병목을 파악해야한다. 다음과 같은 예시를 보자. 유저가 요청을 하면 응답이 되기까지 a과정과 b과정과 c과정이 있다. a는 0.1초, b는 0.9초 c는 10초가 걸린다. 각 과정은 순차적이어서 모든 과정의 소요 시간을 더하면 응답 시간이 된다고 하자.(0.1 + 0.9 + 10 = 11초) 우리의 목표가 2초 이내 응답 시간 ..
-
평균의 함정개발 2023. 7. 28. 12:35
wiki) 산술평균 산술 평균은 가장 널리 쓰이며, 일반적으로 "평균"이라고도 한다. 하루 1000만명이 들어오는 사이트라고 해보자. 오늘 하루 평균 응답 시간이 1초다. (응답시간을 유저가 로딩을 보는 시간이라고 가정) 과연 이 사이트는 유저에게 빠른 응답 시간을 제공하고 있는 것일까? 평균으로 보면 그렇다. 하지만 아닐 수도 있다. 다음과 같은 예시들을 보자 케이스1) 1000만명의 응답 시간이 모두 1초인 경우 케이스2) 500만명의 응답시간이 0.5초, 500만명의 응답 시간이 1.5초인 경우 케이스3) 250만명의 응답시간이 0.1초, 500만명의 응답 시간이 1초, 250만명의 응답 시간이 1.9초 케이스4) 90만명의 응답시간이 0.1초, 900만명의 응답 시간이 1초, 10만명의 응답 시간..
-
단일 장애점개발 2023. 7. 28. 12:23
wiki) 단일 장애점(單一障礙點, 영어: single point of failure, SPOF)은 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는[1] 요소를 말한다 예시 1) 리스트 화면 server side 렌더링 시 10 개의 쿼리를 호출하는데, 이 중 a 쿼리가 실패할 경우 페이지 렌더링이 실패한다면? -> a 쿼리는 리스트 화면의 단일 당애점이 될 수 있다. 예시 2) 여러 개의 서버가 떠있는데, a 서버가 모든 서버에서 사용하는 기능(회원과 관련된 처리 등)을 하고 있다면? -> a 서버는 모든 서버의 단일 장애점이 될 수 있다. 단일 장애점이 된다는 것은 해당 포인트의 실패가 모든 시스템이 중단되는 것이며, 크리티컬한 이슈가 생긴다. 따라서, 단일 장애점이 되지 않도록 해..
-
스크럼가이드 2020 요약개발 2023. 5. 25. 14:13
스크럼 정의 스크럼은 복잡한 문제에 대해 적응할 수 있는 해법(Adaptive solutions) 을 활용하여 가치를 창출하도록 도와주는 경량(Lightweight) 프레임워크이다 더보기 스크럼은 스크럼 마스터가 다음과 같은 환경을 조성하는 것 1. 프로덕트 오너는 복잡한 문제를 해결하기 위한 업무를 우선순위에 따라 프로덕트 백로그에 정렬한다. 2. 스크럼 팀은 선택한 업무를 스프린트 동안 가치의 증가분(*증가분은 스크럼 팀이 스프린트 동안 완료한 업무로서 기존 프로덕트에 새로 더해지는 프로덕트의 새로운 부분을 의미한다. - 번역자)으로 만들어 낸다. 3. 스크럼 팀과 이해관계자들은 결과물을 점검하고 다음 스프린트를 위하여 조정 4. 반복 스크럼 이론 스크럼은 경험주의와 린 씽킹을 기초로 한다. 경험주의..
-
함수형 프로그래밍이란 무엇인가?개발 2022. 11. 5. 15:39
https://medium.com/@jooyunghan/%ED%95%A8%EC%88%98%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-fab4e960d263 (번역) 함수형 프로그래밍이란 무엇인가? 이 글은 Kris Jenkins(@krisjenkins)의 “What is Functional Programming?”을 허락을 구해 번역한 것입니다. medium.com 해당 글을 읽고 든 인사이트는, 함수를 만들 때 숨겨진 입력과 숨겨진 출력을 신경 쓰고 되도록 함수 시그니처에 입력과 출력을 드러내는 것이다