난 오늘 이 글에서 지금까지 날 괴롭혀 왔던 생각을 종결하고자 한다.난 항상 기본에 충실하고 싶었다. 마치 과학자들이 물질의 근본 구성요소를 탐구해나가듯 수학을 배울 땐 수학의 가장 기본적이고 근본적인 규칙을 찾고 싶었고, 삶의 고충이 심해질 땐 내 삶의 버팀목이 되어
아주 운이 좋게 FEConf의 티켓을 얻게 되었다.풍문으로는 20초만에 티켓팅이 끝났다고 알고 있다. 그래서 감사한 마음으로 프론트엔드도 공부할 겸 참석했다.들었던 세션 중에 인상 깊었던 내용들을 정리해본다.개인적으로 위의 세션을 듣고 정리해본 프로파일의 흐름이다.Me
내가 회고를 하는 이유는 간단하다. 문서화를 통해서 언제든 내가 그때 당시의 내 생각을 되돌아 볼 수 있고, 동시에 습득한 지식을 체계화 할 수 있기 때문이다. 즉, 한달 동안 배운 것을 까먹지 않고 체득하는 수단으로써 회고를 해본다.문제 정의의 필요성2주차가 되면서
요즘의 개인적인 소프트웨어 엔지니어링의 화두는 서버리스와 함수형 프로그래밍인 듯 하다. 그러나 이런 기술이 나오게 된 배경은 대부분의 IT 서비스가 빅데이터 환경에서 제공되기 때문이라고 생각한다. 즉, 대량의 데이터를 주어진 시간 안에 처리해야 한다. 그러기 위해선 첫
이 글은 간단하게 빅쿼리 유스케이스를 경험하기 위한 실습 및 설계이다.Flaks와 Fluentd를 통해 Bigquery 내부에 있는 테이블에 데이터를 로드시킨다.그 뒤에 Bigquery 내부에 있는 Customer query를 적용시킨 데이터를 Looker를 통해 시각
최근 로봇이란 새로운 분야를 접하게 되면서, build라는 당연하고도 당연한 과정에 대해서 다시 한번 생각하게 되었다. In software development, a build is the process of converting source code files int
운영체제 수업 중에 Thrashing이란 현상에 대해서 배운 적이 있다. 이 현상은 멀티 유저를 수용하기 위해 고안된 시분할 프로세싱의 한계로서 만약 발생하게 된다면 사용자가 컴퓨터를 점유할 수 있는 시간인 타임 슬라이스가 매우 짧아져서 컴퓨터가 그저 사용자를 바꾸는
수란 무엇인가? 수란 계산 가능한 모든 것을 말한다. 이때 어떤 계산이 가능한 지에 대해서 수의 종류가 달라진다. 그리고 컴퓨터 세계에서는 보통 정수와 실수가 다뤄진다. 내가 이 글에서 말하고 싶은 것은 특히 정수에 대한 것이다. 왜냐하면 정수를 어떻게 다루느냐에 따라
영상 링크생성형 AI라고 한다면, 많은 것들이 있다. 이미지 또는 텍스트 생성과 같은 인공지능들이 많이 출시되었다. 그중에 가장 대표적인 것이 미드저니와 ChatGPT라고 생각한다.생성형 AI가 우리 사회에 미칠 수 있는 영향은 한 개인의 생산성이 매우 높아질 수 있다
문제 문제 링크 코드 DP (Cache) 접근법 전형적인 캐시를 이용한 문제 풀이 방법이었다. 시도했던 최적화 기법 해시 함수 캐시에 키값을 저장할 때 먼저 해싱을 한 뒤에 키로 사용하였다. 원래는 서브 삼각형을 평준화 한 뒤에 이것을 튜플로 만들어서 키로 사용했
문제 링크위의 코드는 논리적으로 반드시 맞는 코드이다. 그러나 시간 초과가 발생했다. 이는 즉, 최적화가 필요하다는 뜻이다. 그러나 시간 초과가 발생한 경우에는 다양한 접근 방법이 있는데, 나는 일단 수학적인 공식을 통해 함축적으로 논리를 압축하는 방향으로 접근해야겠다
문제 링크전형적인 카카오 구현 문제 유형이다. (문제 분석이 중요한 유형)1\. 그래프의 노드 개수를 세는 함수를 구현한다. 1\. BFS 또는 DFS를 통해 완전 탐색 로직을 구현한다. 2\. 인접 리스트, 방문한 노드를 기록하는 리스트를 구현한다. 3\.
문제 링크전형적인 카카오 구현 문제 스타일이다.카카오 구현 문제는 첫 번째로 문제 해석이 중요하다. 왜냐하면 문제 자체의 조건이 복잡하다. 그래서 이것을 꼼꼼히 찢어서 구현하기 쉬운 상태로 만들어야 한다. 그리고 분석을 바탕으로 차분하게 구현하면 끝이다.1\. 주어진
분할 정복이 가능한 문제에서 사용 가능하다.분할 정복이란 하나의 문제를 같은 유형의 문제로 쪼개는 것을 말한다.여기서 중요한 것은 같은 유형이란 것!시간 복잡도를 낮출 수 있다. 만약 알고리즘은 논리적으로 맞지만, 시간 초과가 발생하는 경우 도입해볼 수 있다.구체적인
문제 링크해당 문제는 얼핏 보면 어려워 보인다.그러나 구현 문제, 특히 카카오 구현 문제는 문제 자체의 조건이 어렵지 코딩이 어려운 유형은 아니다. 그렇기 때문에 문제를 처음 본 순간부터 차분하게 문제에서 하란 대로 하는게 제일 중요하다.난 뇌를 빼고 문제에서 적힌대로
문제 링크사실 내가 풀어내지 못했다.그 이유는 문제를 제대로 해석하지 못했다.가능한 모든 경우를 다뤄야 했는데 나는 놓치는 경우가 있었다.따라서 가능한 모든 경우를 위와 같이 구하는 것이라고 암기해야겠다.카카오 구현 문제는 조건이 많을 뿐, 제대로 해석해서 접근하면 풀
문제링크문제 해결 논리이것은 맞게 풀었다. 그러나 시간 초과가 발생했다. 근데 한 가지 빠트린 것은 반복문 탈출 조건이었다. 완전 변형을 하고 다시 원래의 모습을 되찾기까지 걸리는 연산 횟수를 탈출 조건으로 주어야 했다. 이것은 암기해두자.시간 초과 발생알고리즘은 대충
알고리즘이 보인다. -> 바로 적용알고리즘이 보이지 않는다.구현 문제인지 의심한다.자료의 크기가 작다면 구현해도 상관 없다.그리디 문제인지 의심한다.작은 스케일에서 문제를 관찰해본다. (귀납추론 -> 연역추론)순열적인 접근 : 순서에 따른 규칙이 존재하는지 본다.정수론
문제 링크(https://school.programmers.co.kr/learn/courses/30/lessons/12899\`\`\`pythondef solution(n): answer = \[] while n >= 3: if n %
문제 링크이 문제는 각각의 행위에 대한 조건을 찾는게 포인트였다. 내가 찾기 어려웠던 조건은 서브 컨테이너 밸트에 실는 조건이었다. 그래서 아래와 같이 작은 스케일에서 법칙을 찾아보고자 했다.여기서 보면 5에서 종결이 되었다. 그런데 사실 5에서 끝내지 않고 서브 컨테