본문 바로가기

전체 글

(35)
[MCP] n8n Self Hosting (Docker) & Railway n8n이란?반복되는 업무, 매번 손으로 처리하기 귀찮으셨죠? 이럴 때 유용하게 쓸 수 있는 게 바로 n8n입니다.n8n은 노코드(No-code) 또는 로우코드(Low-code) 기반의 오픈소스 자동화 툴인데요, 개발자가 아니어도 마우스 클릭 몇 번으로 다양한 서비스들을 연결해 자동화할 수 있습니다.특히 Zapier나 Make 같은 유료 서비스와 비슷한 기능을 제공하면서도, 무료로 사용 가능하고 내 서버에 직접 설치할 수도 있다는 점이 가장 큰 매력입니다. 덕분에 비용 걱정 없이 원하는 만큼 커스터마이징하고, 데이터도 안전하게 관리할 수 있습니다. 왜 셀프호스팅(n8n Self-hosting)일까?n8n의 가장 큰 장점 중 하나가 바로 셀프호스팅이에요.즉, 내가 원하는 서버에 직접 설치해서 자유롭게 쓸 수..
튜플과 리스트 파이썬에는 두 가지 다른 시퀀스 구조가 있다.튜플과 리스트이다.문자열과는 달리, 이들의 항목은 다른 타입이 될 수 있다. 다시 말해 어떤 객체도 될 수 있다. 튜플은 immutable하고 리스트는 mutable하다는 것이 가장 큰 특징이다. 튜플튜플 생성하기empty_tuple=()one_marx='Grey',one_marx=('Grey',) #콤마를 생략하면 문자열이 된다.marx_tuple='Grey','Red','Blue' #원소가 여러개일때는 콤마를 붙이지 않는다.marx_tuple=('Grey','Red','Blue')튜플 언패킹marx_tuple='Grey','Red','Blue'a,b,c=marx_tuplea #'Grey'b #'Red'c #'Blue'marx_list=['Grey','Red..
[백준] 17608.막대기 import sys def stick(nums): stk=[] stk.append(len(nums)-1) max=nums[-1] for i in range(len(nums)-2,-1,-1): #(len,0,-1)을 하면 0 이전까지만 포함되서 맨 처음 element엔 접근을 안함 if nums[i]>max: stk.append(i) max=nums[i] return len(stk) n=int(sys.stdin.readline()) nums=[int(input()) for _ in range(n)] #공백이 기준이 아닌 \n이 기준일 때 print(stick(nums)) stack을 써보고 싶어서 이렇게 코드를 짰는데 시간초과가 나왔다. 결과는 숫자 하나면 되는데 괜히 리스트를 하나 더 많들어서 스택연산을..
Pandas 모듈 Create a DataFrame딕셔너리 사용df1 = pd.DataFrame({ 'name': ['John Smith', 'Jane Doe', 'Joe Schmo'], 'address': ['123 Main St.', '456 Maple Ave.', '789 Broadway'], 'age': [34, 28, 51]})딕셔너리는 순서가 없기 때문에 알파벳 순으로 정렬된다. 리스트 사용df2 = pd.DataFrame([ ['John Smith', '123 Main St.', 34], ['Jane Doe', '456 Maple Ave.', 28], ['Joe Schmo', '789 Broadway', 51] ], columns=['name', 'address', ..
[Leetcode]125.Valid Palindrome def isPalundrome(s): strs=[] for char in s: if char.isalnum(): #영문자,숫자 여부를 판별하는 함수 strs.append(char.lower()) #대소문자 구분 안함 while len(str)>1: #홀수 고려해서 1 if strs.pop(0) != strs.pop(): #리스트의 pop은 인덱스를 지정할 수 있음 return False return True import collection def isPalundrome(s): strs=collection.deque() for char in s: if char.isalnum(): strs.append(char.lower()) while len(str)>1: if strs.popleft() != strs.p..
[Leetcode] 17. Letter Combinations of a Phone Number DFS와 백트랙킹 깊이 우선 탐색(DFS)DFS는 가능한 모든 경로(후보)를 탐색합니다. 따라서, 불필요할 것 같은 경로를 사전에 차단하거나 하는 등의 행동이 없으므로 경우의 수를 줄이지 못합니다.따라서 N! 가지의 경우의 수를 가진 문제는 DFS로 처리가 불가능할 것입니다. 백트랙킹 해를 찾아가는 도중, 지금의 경로가 해가 될 것 같지 않으면 그 경로를 더이상 가지 않고 되돌아갑니다. 즉, 코딩에서는 반복문의 횟수까지 줄일 수 있으므로 효율적입니다. 이를 가지치기라고 하는데, 불필요한 부분을 쳐내고 최대한 올바른 쪽으로 간다는 의미입니다. 일반적으로, 불필요한 경로를 조기에 차단할 수 있게 되어 경우의 수가 줄어들지만, 만약 N!의 경우의 수를 가진 문제에서 최악의 경우에는 여전히 지수함수 시간을 필요..
파이썬 메모리 관리
Activation Function(활성화 함수) 시그모이드 함수(Sigmoid function) 퍼셉트론과 신경망의 주된 차이는 활성화 함수이다. 퍼셉트론에서는 활성화 함수로 계단함수를 이용한다. 계단함수의 코드 구현은 다음과 같다. def step_function(x): y=x>0 return y.astype(np.int) def step_function(x): return np.array(x>0, dtype=np.int) 반면 신경망에서는 시그모이드 함수를 자주 사용한다. 시그모이드 함수가 어떻게 나왔는지 알아보자. 일어날 확률 : P(X) 일어나지 않을 확률 : 1−P(X) 0≤P(X)≤1 위와 같이 P(X)를 정의 하자. 그러면 Odds Ratio로 나타 낼 수 있다. 위 수식은 해당 사건이 일어날 확률과 일어나지 않을 확률의 비율 즉 odds..