[SK 쉴더스 루키즈] Notion API 연동 실습
·
Security/SK Shieldus Rookies
Notion Database노션에는 데이터베이스가 있다. 데이터베이스에는 고유 ID가 있기 때문에, 파이썬 코드를 이용해 데이터베이스를 조작할 수 있다. 노션 애플리케이션에도 ID를 확인할 수 있지만, 웹을 통해 ID를 확인하는게 가장 정확한 것 같다. 실습에 사용한 것은 데이터베이스 ID, 데이터베이스 소스 ID를 사용했다. 실습에는 다음의 데이터베이스를 사용했다.파란색 New 메뉴 바로 옆에 ID를 확인할 수 있는 버튼이 있으니 참고하길 바란다. Notion API와 JSON노션은 코드로 접속할 수 있도록 API 명세서를 docs로 적어 놓고 있다.https://developers.notion.com/guides/get-started/overview Overview - Notion DocsDisc..
[SK 쉴더스 루키즈] Python 문법 1
·
Security/SK Shieldus Rookies
Python venvwhere python현재 설치되어 있는 파이썬의 위치를 확인, 가장 위에 있는 애가 현재 실행되고 있는 것python -m venv venv(가상환경 이름)가상 환경 나와서 설치하면 전역 환경으로 들어간다.나중에 컴퓨터 수정할 때 이런 것도 확인하면 좋을 것 같다.pip : python install packagepip list : 현재 설치되어 있는 파이썬 패키지 (venv에서도 보인다.)원래는 venv 폴더 안에 .env, .gitignore를 두고 파이썬 코드를 작성하는게 맞다.다만 실수 상황에 따라서 전역적으로 관리하고 싶다면 밖에다 빼는 것도 좋을듯하다.pycache, venv 때문에 협업할 때 오류가 많이 났었다. 이런건 미리 세팅해서 빼주도록 하자.shift + 우클릭 ..
[SK 쉴더스 루키즈] Git & Github
·
Security/SK Shieldus Rookies
Git의 기본 개념을 알아보고 Git과 Linux의 명령어를 알아보자. 기본 Linux 명령어pwd : 현재 경로start . : 현재 디렉토리를 window 탐색기로 열기mkdir : 디렉토리 생성rm :rm -rf : recursively(재귀적으로, 하위 폴더까지 순차적으로 삭제) force(다른 사용자가 있어도 강제 삭제)ls :ls -al : 숨긴 항목까지 리스트화해서 보여라touch [파일 이름] : 파일 생성cat [파일 이름] : 파일 내용 출력 Git의 기본(스테이지)기본적으로 Git은 버저닝을 위한 툴이다. 프로젝트의 규모가 커지면 코드를 수정하기 전 기록을 남기고 싶은데, 과거의 정보가 없이 프로젝트를 진행하다 보면 이를 수정하고 관리하는데 힘들어지기 때문이다. 이를 위해 개발자들은..
[CMUX & AIM 해커톤] 해커톤 후기
·
Experience
CMUX & AIM 해커톤에 참여했다. AI 해커톤은 처음이었다. 전에 웹 개발 해커톤에 참여한 적이 있었는데 AI 해커톤은 어떨지 궁금했고 AI를 어떻게 써야 하나 고민도 많았다. 끝나고 보니 많은 걸 배울 수 있었어 좋았던 것 같다. 현직자분들은 AI를 어떻게 쓰는지 보고 배울 수 있었고, 어떻게 하면 AI를 깊게 사용할 수 있을지에 대해 많이 배울 수 있었다. CMUX와 AIM이번 해커톤은 CMUX와 AIM의 후원이 있었다. 처음 들어보는 기업이라 찾아봤다. cmux는 여러 터미널에서 독립적으로 돌리는 AI 에이전트들을 하나의 프로그램 안에서 편하게 관리할 수 있는 툴이다. 이번 해커톤에서 cmux를 사용하는 사람들을 봤는데 여러 개의 AI 터미널을 동시에 사용할 때 굉장히 편해보였다(macOS..
[LangChain] LangChain을 이용한 LLM 실습
·
AI
이 글에서는 LangChain이 무엇인지, 왜 필요한지, 어떻게 쓰일 수 있는지를 실습을 통해 학습한다.LangChain, Model, Structured Output, Memory, LangSmith모든 내용의 출처는 다음 페이지임을 밝힌다.https://wikidocs.net/331266 01장. 시작하며이 책에서는 랭체인과 랭그래프 1.0을 기반으로, 실무 현장에 바로 투입할 수 있는 **'AI 에이전트'**의 단계별 구현 방법을 다룹니다. 단순히 질문에 답하는 평범한 챗봇을 …wikidocs.net LangChain이란?랭체인은 LLM을 이용할 때 발생하는 파편화된 작업들을 통일된 규격으로 묶어 통해 구현할 수 있게 해주는 프레임워크다. 단순한 LLM은 사용자의 질문에 텍스트 형태로 답을 한다..
[Nginx] Directives, Context 그리고 Configuration
·
DevOps
Nginx는 'nginx.conf' 설정 파일에서 Nginx 서버에 관한 다양한 설정을 정할 수 있다. 파일 안에는 Directives와 Context이 모여 Configuration을 만든다. 계층 순서대로 Directives부터 Configuration까지 알아보도록 하자. DirectivesDirectives는 config 파일 안의 지시어다. 파일의 가장 기본 단위이자 서버가 실행하는 명령어라 생각하면 된다. Directives는 크게 두 가지로 나뉜다.Single DirectivesBlock Directives말 뜻대로 Directives는 한 줄로 구성할 수 있고, 중괄호를 사용해 섹션 혹은 블록처럼 구성할 수 있다. 같은 내용의 설정이 많이 필요한 경우 Directives를 블록으로 구성해..
[Kubernetes] Labels & Selectors
·
DevOps/Kubernetes
쿠버네티스에서 리소스(쿠버네티스 내에선 Object이라 불린다)를 구별하는 Label과 Selector를 알아보자.Label & Selectors Labels & Selectors라벨과 셀렉터라는 개념은 처음 들어본다. 아마 쿠버네티스에서 리소스를 구별할 때 쓰는 것 같은데, 공식문서를 보고 의미를 찾아보자. 1️⃣ 라벨이란?"metadata": { "labels": { "key1" : "value1", "key2" : "value2" }}라벨은 리소스에 붙이는 키-값 쌍 데이터이다. 파드와 같이 쿠버네티스에서 사용하는 리소스들에 붙이는 이름표다.라벨은 파드를 처음 생성할 때 붙일 수도 있고, 그 후에도 사용자가 원할 때 언제든지 붙일 수 있다.한 리소스 당 하나의 라벨을 붙일 수도 있고,..
[Kubernetes] 쿠버네티스 네트워크 개요(CNI, Pod-to-Pod, Service, Ingress)
·
DevOps/Kubernetes
이번 글은 쿠버네티스의 네트워크에 관해 설명한다.CNI, Pod-to-Pod, Service, Ingress CNICNI는 컨테이너 네트워크 인터페이스의 약자로, 쿠버네티스 안에서 컨테이너들의 네트워크를 설정하기 위한 인터페이스다.쿠버네티스는 Pod 안의 컨테이너들의 네트워크를 '직접' 설정하지 않는다. Pod는 각자 IP와 볼륨을 필요로 한다는 규칙만 언급할 뿐 구현은 외부 플러그인에 맡기고 있다.다양한 네트워크 플러그인이 존재하며, 서버와 클러스터의 상황에 따라 적절한 외부 플러그인을 선택할 수 있다. 💡 쿠버네티스 네트워크 모델클러스터의 모든 파드는 고유한 IP 주소를 갖는다. 이는 즉 파드간 연결을 명시적으로 만들 필요가 없으며 또한 컨테이너 포트를 호스트 포트에 매핑할 필요가 거의 없음을 의..
[Kubernetes] 쿠버네티스 아키텍처(Architecture)
·
DevOps/Kubernetes
이번 포스트에서는 쿠버네티스의 기본적인 리소스와 아키텍처에 관해 공부한다.Architecture, Minikube, kubectl, Namespace, Pod Architecture 쿠버네티스는 크게 클라우드의 전체적인 리소스를 관리하는 Control Plane, 실제 서비스가 동작하는 Node Plane으로 구성되어 있다. 두 부분을 합쳐 클러스터로 구성한다. 참고로 Control Plane, Node Plane 각각 클러스터로 구성할 수 있다.Controle Plane과 Node Plane 각각에 대해 알아보자. 📍 Control Plane Component클러스터를 관리하는 컴포넌트 집단이다. 여러 대의 컴퓨터가 합쳐져서 각각의 컴포넌트를 실행한다.컨트롤 플레인 컴포넌트를 실행하는 여러 대의 컴퓨..
미니 PC로 홈 서버를 만들어 보자 - 하드웨어부터 네트워크까지
·
Project
홈 서버를 생각하게 된 이유백엔드와 데이터 엔지니어링을 공부하면서 프로젝트의 배포는 AWS를 주로 사용해왔다. 프리 티어를 사용해도 Auto Scaling, VPN을 사용하면 꽤 많은 금액이 부과되는 것을 보면서 비용을 줄이고 싶었다. 적은 비용으로 서버를 굴릴 수 없을까 고민하던 중, 나만의 서버를 만들자는 생각이 들었고, 서버를 만드는 것이 운영체제부터 네트워크까지 다룰 수 있는 좋은 기회라 생각해 바로 진행했다. 홈 서버의 종류 - 하드웨어 선택기 1️⃣ 미니PC로 선택한 이유구글링을 하면서 홈 서버를 여러 하드웨어로 구축할 수 있음을 알았다. 중고 데스크탑, 미니 PC 심지어 안 쓰는 노트북도 홈 서버가 될 수 있음을 알았다. 그 중 나는 미니 PC를 선택했고 프로세서는 Intel N 시리즈를 ..