SW 개발
-
Cursor로 Slack 액션 아이템 생성 봇 만든 후기 Cursor는 VSCode에 AI를 결합한 형태의 개발툴이다Slack 봇은 처음 만들어보는 데 Cursor로 개발하니까 1-2시간 정도 걸린 것 같다 만들게 된 배경 Cursor로 얼마나 빠르게 무언가를 만들어볼 수 있을지 궁금했음.슬랙 봇처럼 외부 API와 연동하는 작업은 문서나 예제를 찾아보면서 만들 수는 있지만, 평소에 하던 작업이 아니다 보니 꽤 귀찮게 느껴졌음.게다가 메신저에서 "~~해주세요" > "네 알겠습니다" 식으로 대화가 지나가면, 나중에 뭘 하기로 했는지 기억 안 나는 경우가 많았음.그래서 이런 요청들을 자동으로 정리해주는 봇이 있으면 좋겠다고 생각했음.마침 Cursor로 실험해보기 좋은 주제라고 판단해서 시작하게 되었음. ..
[Cursor] 커서로 Slack 액션 아이템 생성 봇(feat.llm) 만든 후기Cursor로 Slack 액션 아이템 생성 봇 만든 후기 Cursor는 VSCode에 AI를 결합한 형태의 개발툴이다Slack 봇은 처음 만들어보는 데 Cursor로 개발하니까 1-2시간 정도 걸린 것 같다 만들게 된 배경 Cursor로 얼마나 빠르게 무언가를 만들어볼 수 있을지 궁금했음.슬랙 봇처럼 외부 API와 연동하는 작업은 문서나 예제를 찾아보면서 만들 수는 있지만, 평소에 하던 작업이 아니다 보니 꽤 귀찮게 느껴졌음.게다가 메신저에서 "~~해주세요" > "네 알겠습니다" 식으로 대화가 지나가면, 나중에 뭘 하기로 했는지 기억 안 나는 경우가 많았음.그래서 이런 요청들을 자동으로 정리해주는 봇이 있으면 좋겠다고 생각했음.마침 Cursor로 실험해보기 좋은 주제라고 판단해서 시작하게 되었음. ..
2025.03.26 -
🍄 알고리즘 시간복잡도 및 요약 카테고리이름시간복잡도설명자료구조유니온 파인드O(α(N))서로소 집합 자료구조, 경로 압축 + union by rank자료구조우선순위 큐 (힙)삽입/삭제: O(log N), 조회: O(1)최대/최소값을 빠르게 관리하는 큐자료구조링크드 리스트삽입/삭제: O(1), 탐색: O(n)노드 포인터 기반 구조, 삽입·삭제 효율적자료구조Trie삽입/탐색: O(L)문자열 저장 트리, 접두사 탐색에 최적완전탐색DFSO(V + E)깊이 우선 탐색, 스택/재귀 기반완전탐색BFSO(V + E)너비 우선 탐색, 큐 기반백트래킹백트래킹O(조건에 따라 다양)상태 공간 트리 탐색, 가지치기 통해 효율화탐색이진 탐색O(log N)정렬된 배열에서 중간 기준 이분 탐색최단경로다익스트라O((V + E) lo..
알고리즘은 재밌어 - 알고리즘🍄 알고리즘 시간복잡도 및 요약 카테고리이름시간복잡도설명자료구조유니온 파인드O(α(N))서로소 집합 자료구조, 경로 압축 + union by rank자료구조우선순위 큐 (힙)삽입/삭제: O(log N), 조회: O(1)최대/최소값을 빠르게 관리하는 큐자료구조링크드 리스트삽입/삭제: O(1), 탐색: O(n)노드 포인터 기반 구조, 삽입·삭제 효율적자료구조Trie삽입/탐색: O(L)문자열 저장 트리, 접두사 탐색에 최적완전탐색DFSO(V + E)깊이 우선 탐색, 스택/재귀 기반완전탐색BFSO(V + E)너비 우선 탐색, 큐 기반백트래킹백트래킹O(조건에 따라 다양)상태 공간 트리 탐색, 가지치기 통해 효율화탐색이진 탐색O(log N)정렬된 배열에서 중간 기준 이분 탐색최단경로다익스트라O((V + E) lo..
2025.01.31 -
그동안 알고리즘 공부하며 공부한 것들 정리 🍄 문제 풀면서 느낀 팁파이썬은 1초에 대충 2천만 번 연산 가능하다고 보면 됨시간 복잡도는 꼭 계산해보기구현 문제일수록 문제 꼼꼼히 봐야 함테스트 케이스 다양하게 넣어보기. 특히 최소, 최대, 엣지 케이스 🍄 자주 쓰는 파이썬 내장 함수/모듈itertools: permutations, combinations, count heapq: 우선순위 큐 구현할 때 bisect: 이진 탐색할 때collections: deque, Counter math: factorial, sqrt, gcd, pi, sin, cos 등등 sum, min, max 이런 기본 함수들도 은근 많이 씀 🍄 파이썬 팁 mutable / immutable 정리 mutable: list, di..
알고리즘은 재밌어 - 파이썬그동안 알고리즘 공부하며 공부한 것들 정리 🍄 문제 풀면서 느낀 팁파이썬은 1초에 대충 2천만 번 연산 가능하다고 보면 됨시간 복잡도는 꼭 계산해보기구현 문제일수록 문제 꼼꼼히 봐야 함테스트 케이스 다양하게 넣어보기. 특히 최소, 최대, 엣지 케이스 🍄 자주 쓰는 파이썬 내장 함수/모듈itertools: permutations, combinations, count heapq: 우선순위 큐 구현할 때 bisect: 이진 탐색할 때collections: deque, Counter math: factorial, sqrt, gcd, pi, sin, cos 등등 sum, min, max 이런 기본 함수들도 은근 많이 씀 🍄 파이썬 팁 mutable / immutable 정리 mutable: list, di..
2025.01.15 -
블로그 포스팅을 오랫동안 하지 못해서 유입이 많이 줄었지만, 오늘은 제가 출간한 두번 째 책을 소개해보도록 하겠습니다. 책 소개 이 책을 한 줄로 정의하면 ‘개발자가 되기 위해 기본적으로 알아야 할 I T 기술, 환경에 관한 넓고 얕은 지식’이다. 어렵게 머리를 싸매고 읽어야 하는 부담스러운 IT 책이 아닌, 개발자가 알아야 하는 꼭 필요한 개념과 용어를 인문 도서처럼 술술 읽을 수 있게 설명하였다. 개발자가 되기 위해 알아야 할 것은 두꺼운 책에나 쓰여 있는 딱딱한 지식이 아니다. 문제를 찾아 해결하기 위한 일련의 과정과 그 속에서 필요한 ‘키워드’와 ‘개념’이다. 이 책은 언어, 프레임워크, 디자인 패턴, 개발도구, 클라우드 등등 넓고 얕은 지식을 통해 검색하는 능력을 키우고 해결하고자 하는 문제를 ..
[개발자 상식] 개발자가 되기 위한 첫 걸음을 떼어줄 책블로그 포스팅을 오랫동안 하지 못해서 유입이 많이 줄었지만, 오늘은 제가 출간한 두번 째 책을 소개해보도록 하겠습니다. 책 소개 이 책을 한 줄로 정의하면 ‘개발자가 되기 위해 기본적으로 알아야 할 I T 기술, 환경에 관한 넓고 얕은 지식’이다. 어렵게 머리를 싸매고 읽어야 하는 부담스러운 IT 책이 아닌, 개발자가 알아야 하는 꼭 필요한 개념과 용어를 인문 도서처럼 술술 읽을 수 있게 설명하였다. 개발자가 되기 위해 알아야 할 것은 두꺼운 책에나 쓰여 있는 딱딱한 지식이 아니다. 문제를 찾아 해결하기 위한 일련의 과정과 그 속에서 필요한 ‘키워드’와 ‘개념’이다. 이 책은 언어, 프레임워크, 디자인 패턴, 개발도구, 클라우드 등등 넓고 얕은 지식을 통해 검색하는 능력을 키우고 해결하고자 하는 문제를 ..
2023.03.15 -
사실 전문 서버 개발자는 아니지만 초심자를 위한 Node.js로 서버 만들기 책을 출간하였습니다. 전체적으로 JavaScript와 Node.js의 개념을 훑고 예제를 통해 이해하는 방식으로 책을 구성하였습니다. 책이 얇고 이해하기 쉽게 쓰여져 있으므로 Node.js를 빠르게 공부하시거나 공부하고 싶으신 분들께 추천드립니다. 제가 Node.js 전문가가 아니기 때문에 초심자가 어려워할 부분을 최대한 세심하게 짚어 내려고 노력하였습니다. 또, 이해를 쉽게 하기 위해 개념은 최대한 풀어쓰려 노력하였으니 쉽게 읽힐 수 있다는 것이 이 책의 장점입니다. 책의 목차 1장. Node.js 첫걸음 1.1 Node.js 첫걸음 웹 서버와 Node.js의 관계 Node.js가 동작하는 방식 1.2 실습을 위한 개발환경 구..
[Node.js로 서버 만들기] 책을 출간하였습니다.사실 전문 서버 개발자는 아니지만 초심자를 위한 Node.js로 서버 만들기 책을 출간하였습니다. 전체적으로 JavaScript와 Node.js의 개념을 훑고 예제를 통해 이해하는 방식으로 책을 구성하였습니다. 책이 얇고 이해하기 쉽게 쓰여져 있으므로 Node.js를 빠르게 공부하시거나 공부하고 싶으신 분들께 추천드립니다. 제가 Node.js 전문가가 아니기 때문에 초심자가 어려워할 부분을 최대한 세심하게 짚어 내려고 노력하였습니다. 또, 이해를 쉽게 하기 위해 개념은 최대한 풀어쓰려 노력하였으니 쉽게 읽힐 수 있다는 것이 이 책의 장점입니다. 책의 목차 1장. Node.js 첫걸음 1.1 Node.js 첫걸음 웹 서버와 Node.js의 관계 Node.js가 동작하는 방식 1.2 실습을 위한 개발환경 구..
2021.12.19 -
에러(Error)와 예외(Exception)의 차이 프로그램을 실행할 때 오작동이나 비정상적으로 종료되는 원인을 오류 또는 에러라고 합니다. 이 오류에 에러(Error)와 오류(Exception) 두 가지 종류가 있는데, '에러'는 메모리 부족, 스택오버플로우 등 발생하게 되면 복구하기 쉽지 않은 심각한 오류를 말하고, '예외'는 발생하더라도 수습할 수 있을 정도의 심각하지 않은 오류를 말합니다. 따라서 우리는 '예외 처리'를 통해 프로그램이 동작하지 않는 상황을 막을 수 있게 되는 것입니다. 자바스크립트의 예외 처리 (Exception Handling) ✔ 자바스크립트 내부에서의 예외 자바스크립트 문법에 어긋났거나 문법이 맞더라도 자바스크립트 내부에 정의되지 않는 코드나 함수를 참조하는 경우 예외가 발..
[JS] 자바스크립트 예외처리에러(Error)와 예외(Exception)의 차이 프로그램을 실행할 때 오작동이나 비정상적으로 종료되는 원인을 오류 또는 에러라고 합니다. 이 오류에 에러(Error)와 오류(Exception) 두 가지 종류가 있는데, '에러'는 메모리 부족, 스택오버플로우 등 발생하게 되면 복구하기 쉽지 않은 심각한 오류를 말하고, '예외'는 발생하더라도 수습할 수 있을 정도의 심각하지 않은 오류를 말합니다. 따라서 우리는 '예외 처리'를 통해 프로그램이 동작하지 않는 상황을 막을 수 있게 되는 것입니다. 자바스크립트의 예외 처리 (Exception Handling) ✔ 자바스크립트 내부에서의 예외 자바스크립트 문법에 어긋났거나 문법이 맞더라도 자바스크립트 내부에 정의되지 않는 코드나 함수를 참조하는 경우 예외가 발..
2021.02.01 -
1. 함수는 일급객체 JavaScript에서 함수는 객체이고 거기다가 '일급' 객체 입니다. 때문에 javascript에서는 함수를 arguments로도, 리턴 값으로도 사용할 수 있고 변수에 함수를 넣을 수도 있습니다. 2. Call Back 함수란 CallBack은 말 그대로 나중에 실행되는 코드를 의미합니다. A(a, b, callback) 이라는 함수가 있을 때 A함수의 모든 명령의 실행을 마친 후 마지막으로 넘겨받은 인자 callback을 실행하는 매커니즘이 callback이고 여기서 인자로 들어가는 함수를 '콜백 함수'라고 합니다. setTimeout(() => { // 내장 함수 setTimeout(callback, delayTime) console.log('todo: First work!..
[JS] JavaScript 와 Node.js 알쏭달쏭한 개념들1. 함수는 일급객체 JavaScript에서 함수는 객체이고 거기다가 '일급' 객체 입니다. 때문에 javascript에서는 함수를 arguments로도, 리턴 값으로도 사용할 수 있고 변수에 함수를 넣을 수도 있습니다. 2. Call Back 함수란 CallBack은 말 그대로 나중에 실행되는 코드를 의미합니다. A(a, b, callback) 이라는 함수가 있을 때 A함수의 모든 명령의 실행을 마친 후 마지막으로 넘겨받은 인자 callback을 실행하는 매커니즘이 callback이고 여기서 인자로 들어가는 함수를 '콜백 함수'라고 합니다. setTimeout(() => { // 내장 함수 setTimeout(callback, delayTime) console.log('todo: First work!..
2021.01.21 -
자바스크립트의 비동기를 다루는 async/await 콜백함수의 콜백지옥을 탈출하게 해주는 Promise, 그리고 또 Promise의 단점을 보완해주는 async/await. async/await은 Promise와 다른 개념이 아니고 Promise를 사용하는 패턴이니 Promise의 이해가 선행되어야 합니다. Promise 포스팅 참고하기 인간의 욕심은 끝이 없고 보완의 보완을 거듭하는 패턴은 계속 나옵니다. 현재 비동기 연산을 다루는 패턴 중 가장 쉽게 접근할 수 있는 방법인 async/await는 비동기 처리의 꽃 이라고 할 수 있습니다. 왜 callback, promise로도 비동기 처리가 가능한데, async/await까지 알아야 할까요? 가장 큰 이유는 여전히 Promise도 가독성이 썩 좋지 않..
[NodeJS] 자바스크립트 비동기 연산을 다루는 async/await자바스크립트의 비동기를 다루는 async/await 콜백함수의 콜백지옥을 탈출하게 해주는 Promise, 그리고 또 Promise의 단점을 보완해주는 async/await. async/await은 Promise와 다른 개념이 아니고 Promise를 사용하는 패턴이니 Promise의 이해가 선행되어야 합니다. Promise 포스팅 참고하기 인간의 욕심은 끝이 없고 보완의 보완을 거듭하는 패턴은 계속 나옵니다. 현재 비동기 연산을 다루는 패턴 중 가장 쉽게 접근할 수 있는 방법인 async/await는 비동기 처리의 꽃 이라고 할 수 있습니다. 왜 callback, promise로도 비동기 처리가 가능한데, async/await까지 알아야 할까요? 가장 큰 이유는 여전히 Promise도 가독성이 썩 좋지 않..
2020.10.20