React 기초 및 기본정리
·
개발 - 언어/React
1. React란?UI 라이브러리: 사용자 인터페이스를 효율적으로 만들기 위한 JavaScript 라이브러리컴포넌트 기반: UI를 재사용 가능한 컴포넌트 단위로 분리Virtual DOM: 변경된 부분만 효율적으로 업데이트2. React 시작하기설치 (Vite 예시)npm create vite@latest my-app -- --template reactcd my-appnpm installnpm run dev폴더 구조 예시src/ ├─ App.jsx ├─ main.jsx └─ components/3. JSXJavaScript + XML 문법반드시 부모 태그로 감싸야 함JS 표현식은 {} 안에 작성function Hello() { const name = "React"; return Hello, {name}..
REST API URI 설계 가이드
·
개발 - 정보/Web
[REST 설계] URI 식별자(Identifier) 설계 가이드1) 원칙 요약리소스는 명사, 복수형: 동사가 아니라 무엇을 다루는지 드러내기GET /users, POST /orders계층 구조는 관계를 표현: 포함·소유 관계만 중첩GET /users/{userId}/orders/{orderId}조작은 HTTP 메서드에 맡기기: URI에 동사 넣지 않기❌ POST /createUser → ✅ POST /users일관성 유지: 전 서비스 공통 네이밍·구분자·규칙 강제불변·불투명 ID 선호: 내부 키 노출 지양, UUID/ULID 등 사용클라이언트 제어용 파라미터는 쿼리스트링: 필터링/정렬/페이지네이션표현/포맷은 헤더 우선: Accept, Content-Type로 컨트롤2) 네이밍 컨벤션케밥 케이스(keba..
MSSQL - 확률성부여 및 큰수의 법칙 + 해결방안
·
개발 - 언어/SQL
CREATE PROCEDURE [dbo].[usp_insert_event_participation_2025] @memberId NVARCHAR(50), @eventCategory INT OUTPUT, @statusCode BIT OUTPUT, @statusMessage NVARCHAR(200) OUTPUTASBEGIN SET NOCOUNT ON; DECLARE @rewardPoints INT; DECLARE @description NVARCHAR(100); DECLARE @expiryDate VARCHAR(20); DECLARE @randomValue FLOAT; DECLARE @retryCount INT = 0; DECLARE @selected..
SQL Injection & XSS 방지
·
개발 - 언어/C#
using System;using System.Text.RegularExpressions;public static class InputSanitizer{ /// /// SQL 관련 특수문자를 제거 (SQL Injection 방지) /// /// 사용자 입력값 /// 필터링된 입력값 public static string SanitizeForSQL(string input) { if (string.IsNullOrEmpty(input)) return string.Empty; // SQL Injection 방지를 위해 특수문자 제거 return Regex.Replace(input, @"[';#/\*]|--", str..
SOP 우회한 브라우저 파일 다운로드 처리: Blob과 URL.createObjectURL 활용
·
개발 - 언어/JavaScript
async downloadFile(url, filename) { if (!url) { this.error = true; console.error("파일 URL이 제공되지 않았습니다."); return; } this.fetching = true; this.error = false; try { const response = await fetch(url); if (!response.ok) { throw new Error("네트워크 응답이 실패했습니다."); } const blob = await response.blob(); const blobURL = URL.cre..
네이버 가격비교 상품정보연동 포맷 제작 (Engine page)
·
개발 - 언어/C#
public class NaverService : INaverService{ private readonly DBContext _dBContext; public NaverService(DBContext dbContext) { _dBContext = dbContext; } public async Task> GetNaverEpProductInfo() { var connection = _dBContext.Database.GetDbConnection(); if (connection.State == ConnectionState.Closed) connection.Open(); using (var command = connection.C..
수토리지
Code_Sootorage