목록분류 전체보기 (322)
잡동사니
안녕하세요. yeTi입니다. 오늘은 알고리즘 공부 중 정렬(sort)에 대해 학습한 내용을 공유하려고 합니다. 강의 : 권오흠 교수님의 2015 봄학기 알고리즘 개요 정렬은 프로그래밍에서 기본적이고 중요한 개념입니다. 저는 강의에서 공감을 했던 부분이 데이터를 탐색함에 있어서 정렬된 데이터를 유지하느냐 그렇지 않느냐에 따라 시간복잡도가 다를 수 있다는 것을 깨닫게 되었기 때문입니다. 조금 더 구체적으로 얘기해보면 무작위 순서를 가진 데이터에서도 순차적으로 데이터를 탐색하며 원하는 결과를 얻을 수도 있지만, 데이터가 정렬되어 있다면 탐색을 효율적으로 할 수 있기 때문입니다. 한 예시로 정렬되지 않은 배열 [5, 8, ..., 1]에서 7이 위치한 인덱스를 찾고 싶으면 첫 번째 원소부터 탐색을 해야하지만 정..
안녕하세요. yeTi입니다. 오늘은 알고리즘 강의의 시작인 recursion 에 대한 정보를 공유하고자 합니다. 의문 강의를 시작하면서 다음과 같은 의구심이 들었습니다. 알고리즘을 공부하는데 왜 recursion 부터 시작할까?? 문제를 푸는 방식에 대한 강의가 중요한거 아닌가?? 문제의 부분화 Recursion 은 프로그래밍에서는 재귀함수를 표현하는 의미로 쓰입니다. Recursion 은 문제를 해결하는 범위를 축소시키는 사고를 하기위한 방식이라는 느낌을 받았습니다. 예를 들어, 다음과 같은 문제가 주어진다면 주어진 n개의 수들에 총합을 구하라 직관적인 해결책은 절차적인 방식으로 반복문을 활용하여 n 회 반복하며 모든 수의 총합을 구하는 방식입니다. 하지만 recursion 을 활용하면 다음과 같이 사..
안녕하세요. yeTi입니다. 오늘은 지난 2022년 10월 15일에 판교 데이터센터의 화재를 시작으로 카카오의 서비스들이 장애가 발생한것에 대한 회고를 보고 느낀점을 공유해보려고 합니다. 사고 발생 2022년 10월 15일 오후 3시 19분경 SK C&C 판교 DC(Data Center) 화재 사로고 인해 카카오의 3.2만대의 서버가 작동 불능 상태가 되었다고 합니다. (3.2만대는 카카오 전체 서버의 1/3의 규모) 이후 10월 20일 오후 11시가 되어서야 카카오의 모든 서비스가 복구되었습니다. 자세한 경위는 다음과 같습니다. 10월 15일 15시 19분경 데이터 센터의 화재에 따른 카카오 서버 전체의 전원 공급 차단 1-1. UPS의 배터리에서 스파크가 일어나 화재 발생 1-2. 자동소화 설비 작동..
안녕하세요. yeTi입니다. 오늘은 제가 알고리즘을 공부해봐야겠다고 마음먹은 계기에 대해 공유하고자 합니다. 의문 저는 스스로 의미있는 목표를 가졌을 때 행동하는 성향을 가지고 있습니다. 이러한 이유로 취준생시절 다들 토익공부에 매진할 때 저는 영어 회화를 공부했었고, 단순 암기를 수행하는 교과목을 비선호 했으며 관습에 의해 행해지는 업무를 좋아하지 않습니다. 알고리즘도 비슷하게 생각했습니다. 이전 수학을 배울 때 삶에 무슨 의미가 있는지 이해가 안된것 처럼 알고리즘이 실무에 어떤 개선을 제공하는지 알지 못하여 스스로 동기부여를 할 수 없었습니다. 깨달음 최근에 파트원 중 한분이 알고리즘 문제를 3일동안 풀어보고 파트내에 리뷰를 해준 경험이 있었습니다. 도형이 일치하는 위치의 수를 세는 문제 였는데요. ..
안녕하세요. yeTi입니다. 오늘은 개발의 결과가 예상한 결과와 같을까? 에 대한 생각을 공유해보고자 합니다. 전에 재밌는 현상을 먼저 소개하고자 합니다. 아래 인용구는 안영회 대표님의 브런치의 현장과 의사소통을 돕는 협업도구 두레이 에서 발췌했습니다. 한국에서 일할 때와 달리 중국에서는 서로 대화가 어려우니 내 말을 이해했는지 거듭해서 확인하고 기록도 하며, 화면이나 코드로 재차 확인하니 도리어 결과가 빨리 나왔던 것이다. 결과는 다르다 현업에서 지속적으로 코드기반 대화하기 를 수행하고 있고 최근에 사내 사이드 프로젝트를 진행해보면서 우리가 협의한 개발 목표와 실제 개발된 결과는 각자가 예상한 결과와 다를 수 있다는 것을 느꼈습니다. 코드리뷰차 상대방의 코드를 보다보면 협의를 진행하면서 내가 예측한 로..
안녕하세요. yeTi입니다. 근래에 가지고 있는 개인적인 관심사 중 하나는 소통이 개발에 미치는 영향 입니다. 좋은 설계하기 (feat. 의사소통) 이번에는 흔히 어려워하는 기획문서의 수준에 대한 얘기를 해보려고 합니다. 기획의 목적 기획의 목적 은 무엇일까요? 서비스 오너십을 가진 대상과 함께 서비스의 방향성을 정의하고 다른 구성원에게 정의한 서비스를 원만히 만들어낼 수 있도록 생각을 공유를 해주는 것 이라고 생각합니다. 그렇다면 기획서의 목적에 부합하는 문서인 기획서 는 일률적인 수준을 가져야 할까요? 저는 전달해야하는 구성원의 규모와 의사소통 수준에 따라서 달라져야한다고 생각합니다. 기획의 수준 - 2명 & 같은 공간 (Case 1) 만일 구성원이 다음과 같다고 가정해 보겠습니다. 기획자 1명 (오..
안녕하세요. yeTi입니다. 오늘은 페어 프로그래밍이나 코드 리뷰가 가지는 특성을 다른 시각으로 바라보고 시도해본 경험을 공유해보고자 합니다. 대화의 중요성 개발 활동이란 만들고자 하는 제품을 만들어내는 활동이고, 이는 대부분 하나의 서비스를 출시하기 위해서 다양한 분야의 사람들과 협의, 협업, 소통 이라는 활동을 진행합니다. 이 때, 중요한것은 서로의 생각을 일치시키고 공감하며 문제 해결을 위해 합심하는 것입니다. 하지만 현실에는 장벽이 존재합니다. 협업을 진행함에 있어서 언어라는 도구를 사용해서 소통을 하지만 생각을 온전히 일치시키기 힘들고, 물리적으로 떨어져있는 시람과도 소통해야합니다. 또한 사람의 기억에는 한계가 존재하기 때문에 기록을 통하여 이전에 합의했던 내용을 남겨둘 필요성도 있습니다. 이를..
안녕하세요. yeTi입니다. 오늘은 검수하는 문화와 이로인해 변화한 설계의 목적에 대해 얘기해보고자 합니다. 계기 안영회 대표님의 폭포수 방식 설계는 기술 부채를 남긴다 라는 글을 몇번을 읽었는지 모르겠습니다. 사회 초년생부터 궁금증을 가지고 있었던, 왜 그런 개발 환경을 가지게 됐는지에 대한 궁금증을 해소할 수 있는 기회였다고 생각하고 있었던거 같습니다. 그러는 와중에 궁금증에 대한 답을 할 수 있는 표현을 발견했습니다. 소프트웨어 개발이 아니라 검수를 위한 결과물로 쓰이기에 그들의 표기법은 매력적일 수 있습니다. 검수 단계에서 계약서에 합의한 금액 지불이 적절한가 하는 문제에만 초점을 맞춥니다. 검수 검수 라는 행위는 발주처 입장에서 목표한 제품을 수행 업체가 제공하였는지를 확인하는 절차이고, 만일 ..
안녕하세요. yeTi입니다. 오늘은 1년간 MSA 적용기 에 이어서 MSA 를 하는 이유에 대한 생각을 공유해보고자 합니다. MSA의 시작 저는 2018년 AI플랫폼 이라는 것을 만들기 위한 연구소에 입사를 하게 됐고 이 때부터 제안서에 써져있는 MSA 라는 개념을 적용하기 위해 시작했습니다. MSA 는 어떻게 하는거지? 다짜고짜 MSA 를 하려니 뭐하나 명확한것이 없었습니다. 왜 MSA를 해야되는지부터 단위 서비스의 규모는 어느 정도 여야하는지, 나누는 기준은 무엇인지, 팀의 규모는 어느 정도여야 하는지, 우리 팀의 규모는 3명인데 개발은 어떻게 해야하는지, ... 스스로 정확히 정의를 하지 못하니 대외적으로 명확한 확신에 의한 설명이 불가능 했습니다. MSA 왜 해요? 개발활동의 목적은 저비용(돈, ..
안녕하세요. yeTi입니다. 오늘은 XP 를 읽으면서 느낀 익스트림 의 의미로 회의에 임하는 자세 를 개선한 후기를 공유하고자 합니다. 만족스럽지 못한 회의 이전엔 회의에 참석할 때 개별 자료를 찾아보기 위해서 노트북을 들고 참석했습니다. 간혹 회의에 관련된 자료를 사전에 공유받지 못한 경우 회의 주제를 파악 하다가 회의가 종료되는 경우가 있는데요. 이럴 때는 무의미한 시간을 허비했다는 생각에 기분이 좋지 못한 경우가 있습니다. 익스트림의 가치 문득 눈에 들어온 브런치의 제목이 있었습니다. 나만 잘하면 전체가 나아지는 XP 그리고 이어진 XP의 가치 내가 통제할 수 없는 것은 받아들이고 통제할 수 있는 것으로 익스트림 두 문장을 보고 문득 스스로 익스트림하게 행동하고 있나? 라는 생각이 들었습니다. 뒤이..