티스토리

번쩍번쩍
검색하기

블로그 홈

번쩍번쩍

yun000.tistory.com/m

yun000 님의 블로그입니다.

구독자
3
방명록 방문하기

주요 글 목록

  • [MCP] MCP Unity 적용 🍏 목적MCP 서버, claude desktop을 사용해서 Unity 게임 개발에 도움을 받아보자 예를들면 특정 역할을 하는 gameObject를 만들어 달라고 할 수도 있고파일 분석을 맡길 수도 있을 것이다. 🍏 사용한 MCP 서버readme에 설치법 잘 설명되어 있으니 그거 참고해도된다.https://github.com/CoderGamester/mcp-unity GitHub - CoderGamester/mcp-unity: MCP Server to integrate Unity Editor game engine with different AI Model clients (e.g. ClaudeMCP Server to integrate Unity Editor game engine with different.. 공감수 0 댓글수 0 2025. 4. 25.
  • [MCP] Model Context Protocol란 🍏 MCP란= AI와 외부(데이터, 도구 등..)의 통합을 지원하는 개방형 프로토콜. (데이터 표현 규칙)MCP를 통해 AI가 다양한 도구나 데이터 들을 활용할 수 있게 된다. MCP 3-티어 아키텍처 - MCP Host = MCP를 통해서 데이터에 접근하려고 하는 프로그램 (ex Cursor, Vscode, Claude Desktop ...)- MCP Client = 서버와의 통신 관리, 연결 상태 관리 등..- MCP Server = 실제 기능 제공, 도구 실행 통신Standard Input Output (Stdio) = 로컬에서 실행 . SSE = 웹 서버에서 실행. 원격 서버 호출해서 결과를 받는다. 🍏 MCP 특징외부 도구= 여러 외부 도구를 AI가 사용할 수 있도록표준화된 방식으로 외부 .. 공감수 1 댓글수 0 2025. 4. 25.
  • [Redis] Spring Boot에서 Redis 캐싱 🍏 redis 설치1️⃣ Redis 서버 설치https://yun000.tistory.com/301 [Redis] Window에 Reids 설치1️⃣ 설치 아래의 링크에서 Redis-x64-3.0.504.msi를 다운받는다https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many dyun000.tistory.com 🍏 Spring Boot에서 Redis 설정 🔹 1. Redis 의존성 추가 (pom.xml) org.springframewor.. 공감수 1 댓글수 0 2025. 4. 19.
  • [Redis] node.js에서 Redis 캐싱 🍏 redis 설치1️⃣ Redis 서버 설치https://yun000.tistory.com/301 [Redis] Window에 Reids 설치1️⃣ 설치 아래의 링크에서 Redis-x64-3.0.504.msi를 다운받는다https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many dyun000.tistory.com 2️⃣ Node.js에서 Redis 서버에 접속하기 위한 클라이언트 라이브러리 설치npm i redis 🍏 Redis 클라이언트 초기화 .. 공감수 0 댓글수 0 2025. 4. 19.
  • [Redis] Window에 Reids 설치 1️⃣ 설치 아래의 링크에서 Redis-x64-3.0.504.msi를 다운받는다https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redisgithub.com 다운로드 후 실행한 다음 기본 설정으로 설치한다. 2️⃣ 설치 확인🔷 작업 관리자 - 서비스에서 "Re.. 공감수 0 댓글수 0 2025. 4. 19.
  • [Node.js] Node.js 기초 Node.js= Chrome V8 엔진으로 빌드된 JavaScript 런타임이전에는 브라우저가 html을 읽으며 자바스크립스트를 읽고 실행 했으나node가 생기며 브라우저나 html 없이도 실행이 가능해졌다. (명령어 ‘node 파일명’로 실행 가능)+) 자바스크립트 런타임=자바스크립트로 만든 프로그램을 실행 해주는 것 ⚠ 노드는 서버가 아닌 자바스크립트 런타임!! 하지만 서버 소스 코드를 실행시켜 서버를 구동할 수는 있다.+) 서버 실행에 필요한 http/https/http2 모듈도 제공 특징1. 이벤트 기반= 이벤트가 발생하면 이벤트 리스너가 등록한 콜백 함수를 실행하여 원하는 작업 수행.+) 콜백 함수 : 이벤트 발생시 실행되는 함수+) 이벤트 리스너 : 이벤트 발생 시 콜백 함수 등록 함수2. 논.. 공감수 2 댓글수 0 2025. 3. 28.
  • FastAPI 🍏 FastAPI란= 파이썬 기반의 웹 프레임워크 특징- 빠르다 = Starlette 및 Uvicorn 기반의 비동기(ASGI) 서버 위에서 동작- 자동 문서화 = API생성시 Swagger 자동 생성. - Restful API나 MSA 등에 적합. 🍏 설치python 3.6 버전 이상에서만 설치 가능fastapi + pydantic, uvicorn, jinja2, python-multipart 등 부가 패키지를 함께 설치pip install "fastapi[all]" 🍏 기초 예제+) fast api 공식문서를 참고하여 작성했다.https://fastapi.tiangolo.com/tutorial/first-steps/ First Steps - FastAPIFastAPI framework, high.. 공감수 0 댓글수 0 2025. 3. 21.
  • AWS Athena를 통해 S3 parquet 데이터 조회 (C#) 목적대용량 데이터를 S3에 parquet 파일로 저장 후Athena를 활용하여 C#프로그램에서 데이터를 조회해 보자 선행 과정S3에 parquet 파일 저장후 Athena로 데이터 조회 해보기https://yun000.tistory.com/295 S3에 Parquet 파일 올리고 Athena로 조회1️⃣ AWS S3 bucket 생성AWS console의 S3에 접속 bucket 생성 bucket 이름과 지역 설정 후 하단의 create bucket 2️⃣ IAM 계정 만들기현재 Root계정이라면 IAM계정을 먼저 만들자Root 사용자는 AWS 계정 전체를yun000.tistory.com 코드NuGet 패키지 설치dotnet add package AWSSDK.Athena C# 코드using System;.. 공감수 0 댓글수 0 2025. 3. 21.
  • S3에 Parquet 파일 올리고 Athena로 조회 1️⃣ AWS S3 bucket 생성AWS console의 S3에 접속 bucket 생성 bucket 이름과 지역 설정 후 하단의 create bucket 2️⃣ IAM 계정 만들기현재 Root계정이라면 IAM계정을 먼저 만들자Root 사용자는 AWS 계정 전체를 컨트롤할 수 있는 최고 권한 계정이기 때문에혹시라도 accesskey등이 유출되면 문제가 있을 수 있기 때문이다 Create User user 이름 설정 일단 개인 공부할 것이면 Attach polices directly 선택 후 AmazonS3FullAccess, AmazonAthenaFullAccess,  AmazonS3ReadOnlyAccess 를 검색하여 선택한다선택해야하는 권한들  마지막 단계. 정보들을 확인하고 하단의 Create u.. 공감수 0 댓글수 0 2025. 3. 21.
  • [Node.js] package.json, package-lock.json 🍏package.json=프로젝트에서 사용하는 패키지들의 정보를 담고 있는 파일패키지와 패키지의 버전 정보를 담고 있다. 예시{ "name": "mongoose", "version": "0.0.1", "description": "구스구스몽구스", "main": "app.js", "scripts": { "start": "nodemon app", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "yu", "license": "MIT", "dependencies": { "express": "^4.17.1", "mongoose": "^5.9.10", "morgan": "^1.10.0", "n.. 공감수 0 댓글수 0 2025. 3. 12.
  • [Node.js] Node.js 기초 Node.js= 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임브라우저가 html를 읽으면서 자바스크립트를 읽는다.그래서 html없으면 자바스크립트를 실행 못함근데 node가 생기면서 브라우저나 html없어도 실행 할 수 있게 되었다. 런타임= 특정 언어로 만든 프로그램을 실행 하는 것ex) 자바스크립트 런타임= 자바스크립트를 실행하는 것   노드의 특징1️⃣ 이벤트 기반=이벤트가 발생하면 지정해둔 작업을 수행ex) click, network 요청, timer 등.. 2️⃣ 논블로킹= 오래걸리는 함수를 백그라운드에 보내서 코드가 먼저 실행하게 하고, 이후에 오래걸리는 함수 실행블로킹은 순서대로 실행. 논블로킹은 순서대로 실행되지 않는다. 3️⃣ 싱글 스레드= 스레드가 하나.= 일을 하나만 처리.. 공감수 0 댓글수 0 2025. 3. 7.
  • [Vue] 전역 component 기대 효과원하는 영역을 component로 만들어서 조립하듯이 사용할 수 있다.코드의 재사용성이 올라간다.+) 전역 component보다는 지역 component가 더 많이 쓰인다. 양식  예제 공감수 0 댓글수 0 2025. 3. 7.
  • [Vue] submit event 발생 시 새로 고침 막기 기대 효과form 에서 submit event가 발생 할 때 새로고침 되는 것을 막을 수 있다. 코드onSubmitForm(e){ e.preventDefault();}  예제 click {{num}} 공감수 0 댓글수 0 2025. 3. 7.
  • [Vue] ref로 input에 focus 기대 효과input에 focus를 주어서내용을 입력할 수 있도록 커서가 깜빡이는 상태로 변환.코드input에 ref 지정input에 focusthis.$refs.myInput.focus();예제 button 공감수 0 댓글수 0 2025. 3. 7.
  • [Vue] 개발자 도구(F12)에서 Vue탭이 안뜰 때 vue.js dev tools를 add 했음에도개발자 도구에서 Vue탭이 뜨지 않으면 시도해 볼 만 한 것들.나는 가장 마지막 방법으로 해결했다. 1️⃣Vue를 하나만 남겨라안된다고 vue 여러개 설치했다면 충돌나서 작동하지 않는다.하나 빼고 다 지울것 2️⃣Vue2 Project라면 legacy 설치하기Vue2를 사용중이라면 Vue.js legacy를 설치해보자https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp?hl=en Vue.js devtools - Chrome Web StoreBrowser DevTools extension for debugging Vue.js applications.chro.. 공감수 0 댓글수 0 2025. 3. 5.
  • [백준] 2448번. 별 찍기-11 (C++) 문제https://www.acmicpc.net/problem/2448풀이[재귀]좌표 찍어보다 보면 규칙이 보인다.동그라미 친 부분을 재귀로 돌면서별을 찍으면 된다. 히히 삼각형 이쁘다~코드#include using namespace std;int arr[8000][8000] = { 0 };void star(int n, int x, int y) { if (n == 3) { //삼각형 그리기 arr[y][x] = 1; arr[y + 1][x - 1] = 1; arr[y + 1][x + 1] = 1; arr[y + 2][x - 2] = 1; arr[y + 2][x + 2] = 1; arr[y + 2][x - 1] = 1; arr[y + 2][x + 1] = 1; arr[y + 2][.. 공감수 0 댓글수 0 2025. 2. 27.
  • [백준] 1916번. 최소비용 구하기 (C++) 문제https://www.acmicpc.net/problem/1916풀이[다익스트라]https://yun000.tistory.com/148 다익스트라 알고리즘 (Dijkstra)다익스트라 알고리즘하나의 정점에서 다른 정점들로의 최단경로 찾는 알고리즘탐욕법과 다이나믹 프로그래밍 사용 우선순위 큐 (priority queue)을 통해 최소 비용 노드를 파악→ 시간 복잡도 O(Nloyun000.tistory.com +) 주의!! 방향 그래프이다!!! 무방향 그래프로 생각해서 한참 헤맸다.코드#include #include #include #include using namespace std;typedef pair p;int main() { //INPUT/////////////////////////////////.. 공감수 0 댓글수 0 2025. 2. 26.
  • [백준] 11725번. 트리의 부모 찾기 (C++) 문제https://www.acmicpc.net/problem/11725풀이[DFS/BFS]node 1부터 시작하여 연결된 노드를 탐색하며 부모 노드를 확인한다. +) BFS가 더 효율적인 것을 볼 수 있다.코드1️⃣ DFS#include #include #include #include using namespace std;int visited[100001] = { 0 };int result[100001] = { 0 };vector> tree;void check(int node, int parent) { result[node] = parent; for (int i = 0; i > N; tree = vector>(N+1); int n1, n2; for (int i = 0; i > n1 >> n2; tree[.. 공감수 0 댓글수 0 2025. 2. 25.
  • [백준] 1991번. 트리 순회 (C++) 문제https://www.acmicpc.net/problem/1991풀이[재귀]preorder = node  Left  Rightinorder = Left  node  Rightpostorder =  Left  Right  node +) 처음에 "2번 무식한 코드" 처럼 만들었는데암만봐도 더 나은 방법이 있을 것 같아서 1번으로 바꿈코드1️⃣ 깔끔한 코드#include #include #include #include using namespace std;unordered_map>tree;void preorder(char nowNode) { if (nowNode == '.')return; cout > N; char root, left, right; for (int i = 0; i > r.. 공감수 0 댓글수 0 2025. 2. 24.
  • [백준] 19951번. 태상이의 훈련소 생활 (C++) 문제https://www.acmicpc.net/problem/19951 풀이[누적합] sum+=prefixSum[i] 이기 때문에prefixSum의 시작점(예를들어 1번의 -3) 끝점(예를 들어 6번의 +3)에만 값들을 지정해 주면 된다. 시작점의 위치는 0부터 시작하게 했으므로 prefixSum[a - 1] += k; 끝점은 a~b에 k값을 더해야 하기 때문에 b-1이 아닌 b이다. prefixSum[b] -= k;   코드#include #include using namespace std;int main() { //INPUT int N, M, a, b, k; cin >> N >> M; vectorground(N, 0); for (int i = 0; i > ground[i]; } vectorprefi.. 공감수 0 댓글수 0 2025. 2. 20.
  • [백준] 1629번. 곱셈 (C++) 문제https://www.acmicpc.net/problem/1629 풀이[분할 정복] 🍏모듈러 연산 적용(A×B)%C = ((A%C)×(B%C))%C 🍏분할 정보 적용 예시A=10, B=11, C=12를 생각해 보자10^11은 10^5 x 10^5 x 10 과 같다10^5 는 10^2 x 10^2 x 10 과 같다10^2 는 10^1 x 10^1 과 같다이 방식을 이용한 것이다코드#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); //INPUT long long A, B, C; cin >> A >> B >> C; //CALCULATE long long res.. 공감수 0 댓글수 0 2025. 1. 17.
  • [백준] 17626번. Four Squares (C++) 문제https://www.acmicpc.net/problem/176264개 이상의 제곱수를 더해서 n을 만들어라풀이[완전탐색, BFS]nowNumber를 0으로 만든다면 끝낸다nowCount가 4를 초과하면 더이상 계산하지 않는다코드#include #include #include #include #include using namespace std;int main(){ //INPUT int n; cin>>n; int visited [50002]={0,}; int result; queue>q; //START q.push({0,n});//count, now number visited[n]=1; while(!q.empty()) { int.. 공감수 0 댓글수 0 2025. 1. 16.
  • [백준] 18870번. 좌표 압축 (C++) 문제https://www.acmicpc.net/problem/18870 풀이[unique사용]vector의 unique사용하면 금방 풀리는 문제이다 정렬 후에 unique를 써야 한다.sort(vec.begin(), vec.end());vec.erase(unique(vec.begin(),vec.end()),vec.end()); map dic에 숫자별 위치를 저장했다코드#include #include #include #include using namespace std;int main(){ //INPUT int N; cin >> N; vectornum(N); vectororiginal(N); for (int i = 0; i > num[i]; } original = num; //CHECK sort(num.b.. 공감수 0 댓글수 0 2025. 1. 8.
  • [백준] 11286번. 절댓값 힙 (C++) 문제https://www.acmicpc.net/problem/11286 풀이[priority_queue] comp를 통해 원하는 방식으로 비교하면 된다!! {절대값, 부호}를 pq에 저장하는 방식이다. 그렇기에 절대값이 같다면 부호 기준으로 비교하고if(a.first==b.first){return a.second>b.second;}그렇지 않다면 절대값 기준으로 비교한다return a.first>b.first; 코드#include #include #include #include #include using namespace std;struct comp{ bool operator()(pair a, pair b) { if(a.first==b.first){return a.second>b.s.. 공감수 0 댓글수 0 2025. 1. 2.
  • [백준] 14500번. 테트로미노 (C++) 문제https://www.acmicpc.net/problem/14500풀이[DFS+노가다] 4번 이동하는 모든 경우의 수를 생각해보자위와 같은 경우 등등이 있을 것이다. 어라 그런데 뭔가 보인다!짜잔! 도형들을 회전하거나 대칭 시킨 모양과 동일하다!그렇기 때문에 dfs를 사용해서 해결하면된다  그런데 ㅗ 모양은 저 경우에 대입할 수 없다그렇기 때문에 이 경우는 노가다로 진행한다 코드#include #include #include using namespace std;int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} };int answer = 0;int map[502][502];int visited[502][502];int n, m;void dfs(int x, int y, int.. 공감수 0 댓글수 0 2025. 1. 1.
  • [백준] 16928번. 뱀과 사다리 게임 (C++) 🌘 문제https://www.acmicpc.net/problem/16928 🌗 풀이[BFS]흔한 bfs문제이다 한칸에 사다리와 뱀이 동시에 있는 경우는 없기 때문에board하나로 뱀와 사다리를 통한 이동을 확인할 수 있다board[시작위치]=이동위치 🌖 코드#include #include #include using namespace std;int main(){ // INPUT int ladderNum, snakeNum; cin >> ladderNum >> snakeNum; vector board(101, 0); int from, to; for (int i = 0; i > from >> to; board[from] = to; } for (int .. 공감수 1 댓글수 1 2024. 12. 30.
  • [백준] 9019번. DSLR (C++) 문제https://www.acmicpc.net/problem/9019 풀이[bfs]bfs문제이다!visited를 설정해주는 것을 유의하자 코드#include #include #include #include using namespace std;int D(int num) { return (num * 2) % 10000; }int S(int num) { return (num == 0) ? 9999 : num - 1; }int L(int num) { return (num % 1000) * 10 + (num / 1000); }int R(int num) { return (num % 10) * 1000 + (num / 10); }int main() { int T; cin >> T; while (T--) .. 공감수 0 댓글수 0 2024. 12. 28.
  • [백준] 7662번. 이중 우선순위 큐 (C++) 문제https://www.acmicpc.net/problem/7662 풀이[priority queue]INSERT최대힙, 최소힙에 둘 다 숫자를 넣는다desc.push(n);asc.push(n);number에 해당 수가 몇개 있는지 저장한다number[n]++; DELETE숫자를 저장하는 곳이 2개(desc,asc)라서 확인해야 하는 과정이 있다. 확인하려는 최소값(asc.top()) 혹은 최대값(desc.top())이 존재하는 값인지 확인해야 한다.만약 number에서 확인한 값이 0이면 number[desc.top()] == 0  이미 삭제된 값이라 존재하지 않는다는 의미이다. 그렇기에 해당 값을 최소힙 혹은 최대힙에서 pop(asc.pop();, desc.pop())한다.while (!asc.emp.. 공감수 0 댓글수 0 2024. 12. 28.
  • [백준] 적록색약 (C++) 문제https://www.acmicpc.net/problem/10026 풀이[DFS]상하좌우로 움직였을 때int nextX=x+dir[i][0]; int nextY=y+dir[i][1]; 같은 색이 있는 경우 area[nextY][nextX]==area[y][x] visit하고visited[nextY][nextX]=1; 최대한 끝까지 탐색한 후돌아왔을 때 수를 하나씩 늘리면 된다.dfs(k,i,true); normal++; 일반인과 색맹인 사람을 구분해서 수를 카운트 했다.그리고 색맹인 경우area[nextY][nextX]=='R'&&area[y][x]=='G' || area[nextY][nextX]=='G'&&area[y][x]=='R'R,G도 같은 색으로 보게 하였다. 코드#include #inclu.. 공감수 0 댓글수 0 2024. 12. 26.
  • [백준] 5430번. AC (C++) 문제https://www.acmicpc.net/problem/5430 풀이[deque 사용]단순 구현 문제이다!deque의 pop_front()와 pop_back()을 사용하면 된다pop_front()는 맨 앞에 것을 pop(삭제)하는 것이고pop_back()은 맨 뒤에 것을 pop하는 것이다 코드#include #include #include #include using namespace std;void solution(){ //INPUT string f,arr; int n; cin >> f; cin >> n; cin >> arr; deque dq; bool isReverse=false; //COLLECT NUMBERS string number = ""; for (int i = 1; i > T; for.. 공감수 0 댓글수 0 2024. 12. 25.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.