전체 글 41

[DB 성능 최적화] | 인덱스부터 파티셔닝, 샤딩까지

지금까지 면접을 많이 봤는데 대규모 트래픽시 어떻게 해야할건지 라는 질문을 많이 받았다그래서 오늘 이거에 대해 정리해보겠다 1. 데이터가 많아지면 발생하는 문제백엔드 개발을 하다 보면 처음엔 빨랐던 서비스가 데이터가 쌓일수록 느려지는 걸 경험하게 된다. 작년에 진행한 상담 예약 시스템처럼 예약 기록이나 AI 리뷰 요약 데이터가 조 단위로 쌓인다면, 단순한 쿼리로는 한계가 온다. 이때 효과적으로 데이터를 관리하기 위해 인덱스, 파티셔닝, 샤딩 같은 전략이 필요하다.2. 인덱스(Index) 이해하기인덱스는 책의 맨 뒤에 있는 **'색인'**과 같다. 테이블 전체를 다 뒤지지 않고도 원하는 정보가 있는 위치로 바로 점프하는 기술이다.원리: B-Tree 구조를 사용해 검색 속도를 높인다.장점: 특정 상담사 예약..

[개인 서버 운영] | 라즈베리파이 이해하기

1. 라즈베리파이(Raspberry Pi)란? 라즈베리파이는 신용카드 크기의 작은 컴퓨터지만, 일반 PC처럼 운영체제를 설치하고 프로그램을 실행할 수 있다.저렴한 가격과 작은 크기 때문에 개인 서버, IoT 기기, 홈서버 등 다양한 용도로 활용된다.즉, 집에서도 라즈베리파이를 서버처럼 켜두고, 외부에서 접속해 서비스를 운영할 수 있다.2. 라즈베리파이를 서버로 사용하기라즈베리파이를 서버로 활용한다는 것은, 다른 컴퓨터나 스마트폰 등에서 접속해서 정보를 주고받는 역할을 맡긴다는 뜻이다.서버 역할을 하는 라즈베리파이는 항상 켜져 있어야 하며, 외부에서 접근 가능한 환경을 만들어야 한다.그럼 외부에서 어떻게 접속할 수 있는지 네트워크 구조를 이해해야 한다. 3. 내부망과 외부망 이해하기 3-1. 내부망(Pr..

카테고리 없음 2025.09.29

[React] 게시판 만들기_1

backend : springfrontend : react package.json > dependencies : 18.3.1버전스프링에서 build.gradle이거랑 똑같은 파일이라고 생각하면됨package-lock.json react를 의존하는 라이브러리를 연쇄적으로 설치함 npm installnpm install react-router-domnpm install axiosnpm run dev public,src,index.html,package.json 만 들고가면 됨 깃이나 다른데서 이 소스를 하고싶을때public 쪽은 기본 이미지 들어감. spring에서 static에있던것들을 여기선 public에다가 넣음 src > jsx,component,service 페이지별로 폴더를만들고얘에 있는 공용을..

[Spring] | final project 댓글 구현

오늘 할일🌐 Spring MVC 웹 애플리케이션 흐름 정리📌 1. RequestMapping & 파라미터 처리✅ 요청 매핑@RequestMapping("/process")public String processForm(@ModelAttribute User user) { // form 데이터가 자동으로 User 객체에 매핑됨}@ModelAttribute: 폼에서 넘어온 여러 개의 파라미터를 객체로 받아 처리DTO 객체와 필드명이 같으면 자동으로 매핑됨✅ 단일 파라미터 처리@RequestMapping("/login")public String login(@RequestParam String accountName, @RequestParam String password) ..

[React] | Vite 설치, JSX 문법, 컴포넌트까지 정리

🔧 React 프로젝트 시작하기 (Vite + React) 1. Node.js 설치공식 웹사이트: https://nodejs.org/ko/downloadNode.js는 자바스크립트 실행 환경필수 도구: node와 npm이 함께 설치됨 Node.js — Node.js® 다운로드Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.nodejs.org 2. Vite로 React 프로젝트 생성npm create vite@latest projectname1projectname1은 원하는 ..

[Open AI] API 키 발급하기 & 카드 등록

프로젝트 하면서 open ai 를 한번 사용해보기로했다 https://openai.com/ 여기 메인 화면에서 로그인을 하면 아래 사진에 있는 화면으로 이동한다이 화면으로 들어올 것이다검색으로 API Keys 라고 치면아니면 https://platform.openai.com/account/api-keys 이 화면으로 들어온다 create new secret key 누르면name 은 표기되어 있는대로 Optional 항목이기 1때문에 , 꼭 써줄 필요 없지만 나중에 구분하기 위해 추가했다그리고 create secret key 누르면 api 발급 완료!2. 내 키 목록 확인하기처음 만들어둔 키가 user 기반이라 Settings > Your profile > User API keys로 접근하여 확인이 가능..

[Spring] 카카오페이 단건결제 API

카카오페이 api사용하려면 일단 카카오페이 파트너에 가입 후 애플리케이션 등록web 테스트용 도메인 등록테스트용으로서 Secret key(dev) 사용 내 예제 → 기부버튼 누르면 자동으로 만원씩 후원하게끔 할 것! 내 예제 hml 참고용 문서 : https://developers.kakaopay.com/docs/payment/online/single-payment 카카오페이 | 개발자센터새로운 기회와 가치를 함께 만들어봐요developers.kakaopay.com application.properties# application.propertieskakao.api.secret-key=카카오에서발급받은REST_API_키kakao.api.cid=TC0ONETIMEkakao.api.approval-url=h..

[Spring] final project_3차

REST API (백엔드)REST API는 백엔드에서 데이터를 처리하고 응답을 JSON으로 주는 방식.@RestController는 반환값이 html이 아니라 json이라는 걸 의미함.사용자는 서버에 데이터를 요청하면, 서버는 JSON으로 응답을 돌려줌.→ 예) /api/user/isExistsAccountName?accountName=abc 요청하면{ "result": true } 같은 JSON 응답이 옴.AJAX (프론트엔드)AJAX는 HTML 페이지를 새로고침하지 않고, 자바스크립트를 통해 서버에 비동기 요청을 보내는 기술.과거엔 XMLHttpRequest를 썼지만, 지금은 fetch()로 많이 씀.→ 즉, 사용자가 아이디를 입력하면 fetch()로 서버에 REST API 요청 → JSON 응답 받..

[Spring] final project_2차

2차카테고리(다중 취미),검색,페이징,파일업로드,암호화, 인터셉터,메일인증, 인터셉터, 자바스크립트 기초 단일값이 아니라 여러값을 넣을때제1정규화원칙때문에 checkbox는 똑같은 이름으로 설정링크구조로... http의 프로토콜의 정상적인 케이스파라미터 받을때 Requestparam으로 받고 List로 받으면됨insert되자마자 primary키가 필요한 경우 : 그때는 쿼리가 두번 실행해야함 mybatis에서 selectKey라는걸 사용함 파라미터값이 안 넘아왔을시에 에러가 이런 오류! 글쓰기할때 파일도 올리기form action="/board/writeArticleProcess" method="post" enctype="multipart/form-data"> 닉네임 : span th:text="${..

[Spring] | 세션,쿠키,Session,Cookie

📌 세션(Session)이란? 세션은 일반적으로 클라이언트가 서버에 접속한 하나의 단위를 의미함.즉, 클라이언트와 서버 간의 연결 상태를 일정 시간 동안 유지하기 위한 수단.HTTP는 비연결성(stateless) 프로토콜이기 때문에, 요청이 끝나면 서버는 해당 클라이언트를 잊어버림.그래서 클라이언트를 식별하기 위해 세션을 사용함.🧠 세션의 동작 방식클라이언트가 로그인 등의 요청을 보냄서버는 이 요청에 대해 세션 저장 공간(메모리) 을 생성함.이때 세션 ID(고유한 값) 를 생성해서 클라이언트에게 쿠키로 전달함.쿠키의 역할쿠키는 클라이언트(Web Browser) 측에 저장됨.request를 보낼 때마다 자동으로 쿠키를 서버에 전달함.서버는 쿠키에 담긴 세션 ID를 보고 어떤 사용자인지 판단함 → 인증의..