개냥이
close
프로필 배경
프로필 로고

개냥이

  • 분류 전체보기 (81)
    • 개발 일지 (4)
      • FrontEnd_프론트엔드 (4)
      • BackEnd_백엔드 (0)
      • TroubleShooting_트러블슈팅 (0)
    • Study (49)
      • Javascript (0)
      • Typescript (1)
      • React (1)
      • Node.JS (13)
      • Python (11)
      • Java (20)
      • SQL (3)
    • CodingTest (24)
      • 자료구조-알고리즘 (6)
      • BeakJoon (18)
      • Programmers (0)
    • Career_커리어 (3)
      • Hackathon _해커톤 (1)
  • 홈
  • Github
  • 태그
  • 방명록
[Node.js] 03-prisma-deep-dive : Prisma 심화 학습

[Node.js] 03-prisma-deep-dive : Prisma 심화 학습

ORM 원리SQL 인젝션이란?// 위험한 코드 — SQL 직접 조합const userId = req.params.id; // 사용자 입력: "1 OR 1=1"const query = `SELECT * FROM users WHERE id = ${userId}`;// 실제 실행: SELECT * FROM users WHERE id = 1 OR 1=1// → 모든 유저 데이터 반환!SQL 인젝션: 사용자 입력이 SQL 쿼리의 일부로 해석되어 의도치 않은 쿼리가 실행되는 취약점.Prisma가 자동으로 방어하는 원리 (Parameterized Query)// Prisma — 안전const user = await prisma.user.findUnique({ where: { id: Number(userId) },}..

  • format_list_bulleted Study/Node.JS
  • · 2026. 3. 22.
  • textsms

해시 (Hash)

해시란해시 함수는 임의의 데이터를 고정된 크기의 정수로 변환하는 함수다. 좋은 해시 함수가 되려면 세 가지 조건을 갖춰야 한다. 첫째, 결정적이어야 한다. 같은 입력에는 항상 같은 출력이 나와야 한다. 둘째, 균등하게 분포해야 한다. 출력 값이 특정 범위에 몰리지 않고 전체 배열에 고르게 흩어져야 충돌이 줄어든다. 셋째, 빠르게 계산할 수 있어야 한다. 해시 값 계산 자체가 O(1)에 이루어져야 조회 전체가 O(1)로 유지된다. 이 정수를 인덱스로 사용해서 배열에 값을 저장한 것이 해시 테이블이다.키 → 해시 함수 → 정수 (해시 값) → 배열 인덱스"apple" → h("apple") → 3 → table[3] = value배열의 특정 인덱스에 바로 접근하기 때문에 삽입, 삭제, 검색 모두 ..

  • format_list_bulleted CodingTest/자료구조-알고리즘
  • · 2026. 3. 17.
  • textsms

큐 (Queue)

큐란큐는 FIFO(First In, First Out) 원칙으로 동작하는 자료구조다. 먼저 넣은 것이 먼저 나온다.실생활 비유는 줄서기다. 먼저 줄 선 사람이 먼저 서비스를 받는다. 프린터 대기열도 마찬가지다. 먼저 인쇄 요청한 문서가 먼저 출력된다.enqueue → front [A, B, C] rear ← enqueuedequeue ← front [B, C] ← D 추가 후: [B, C, D]Python에서 큐 구현하기collections.deque로 구현코딩 테스트에서 큐는 collections.deque를 사용하는 것이 표준이다.from collections import dequequeue = deque()queue.append(1)queue.append(2)queue.appe..

  • format_list_bulleted CodingTest/자료구조-알고리즘
  • · 2026. 3. 17.
  • textsms

스택 (Stack)

스택이란스택은 LIFO(Last In, First Out) 원칙으로 동작하는 자료구조다. 마지막에 넣은 것이 가장 먼저 나온다.실생활 비유로는 접시 쌓기가 대표적인 비유다. 접시를 위에 쌓고, 꺼낼 때도 맨 위에서부터 꺼낸다. 브라우저의 뒤로가기도 같은 원리다. 방문한 페이지를 스택에 쌓고, 뒤로가기를 누르면 가장 최근 페이지부터 꺼낸다.push → [ ] → [A] → [A, B] → [A, B, C]pop ← ← [A, B] ← top: C프로그래밍에서 스택이 가장 핵심적으로 쓰이는 곳은 콜 스택이다. 함수를 호출하면 해당 함수의 실행 정보(지역 변수, 반환 주소 등)가 스택 프레임으로 쌓인다. 함수가 반환하면 해당 프레임이 꺼..

  • format_list_bulleted CodingTest/자료구조-알고리즘
  • · 2026. 3. 17.
  • textsms

연결 리스트 (Linked List)

연결 리스트란연결 리스트는 노드(Node)들이 사슬처럼 이어진 자료구조다. 각 노드는 두 가지를 담고 있다. 하나는 실제 데이터인 값(value)이고, 다른 하나는 다음 노드를 가리키는 참조(next)다. 마지막 노드의 참조는 None으로 끝난다.연결 리스트의 시작점을 head라고 부른다. head를 알면 연결된 모든 노드를 순서대로 따라갈 수 있다. 배열처럼 인덱스로 건너뛰는 것은 불가능하고, 반드시 head부터 한 칸씩 이동해야 한다.보물찾기에 비유할 수 있다. 각 쪽지에는 힌트와 함께 다음 쪽지가 있는 장소의 주소가 적혀 있다. 처음 쪽지(head)부터 시작해서 하나씩 따라가야만 원하는 쪽지에 도달할 수 있다. 중간 쪽지를 건너뛰고 바로 다섯 번째 쪽지로 이동하는 방법은 없다.head → [10 |..

  • format_list_bulleted CodingTest/자료구조-알고리즘
  • · 2026. 3. 16.
  • textsms
[SQLD] Part 03 - SQL 기본 (2)

[SQLD] Part 03 - SQL 기본 (2)

Section 01. 단일행 함수단일행 함수는 행 하나에 적용되어 결과를 하나씩 반환하는 함수다. GROUP BY와 함께 쓸 수 있고, WHERE 절에도 사용할 수 있다.문자 함수함수설명예시UPPER(str)대문자로 변환UPPER('hello') → HELLOLOWER(str)소문자로 변환LOWER('HELLO') → helloLENGTH(str)문자열 길이LENGTH('hello') → 5SUBSTR(str, pos, len)부분 문자열 추출SUBSTR('HELLO', 2, 3) → ELLINSTR(str, sub)부분 문자열 위치INSTR('HELLO', 'L') → 3LPAD(str, n, pad)왼쪽 채우기LPAD('7', 3, '0') → 007RPAD(str, n, pad)오른쪽 채우기RPAD..

  • format_list_bulleted Study/SQL
  • · 2026. 3. 14.
  • textsms
  • navigate_before
  • 1
  • ···
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • ···
  • 14
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (81)
    • 개발 일지 (4)
      • FrontEnd_프론트엔드 (4)
      • BackEnd_백엔드 (0)
      • TroubleShooting_트러블슈팅 (0)
    • Study (49)
      • Javascript (0)
      • Typescript (1)
      • React (1)
      • Node.JS (13)
      • Python (11)
      • Java (20)
      • SQL (3)
    • CodingTest (24)
      • 자료구조-알고리즘 (6)
      • BeakJoon (18)
      • Programmers (0)
    • Career_커리어 (3)
      • Hackathon _해커톤 (1)
최근 글
인기 글
최근 댓글
태그
  • #자료구조
  • #프로그래머스
  • #코딩테스트
  • #알고리즘
  • #자료형
  • #react
  • #Python
  • #파이썬
  • #TypeScript
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바