전체 60

[SQL] 제로 너비 공간

1. 제로 너비 공간 (ZWSP)눈에 보이지 않지만 텍스트에 영향을 줄 수 있는 특수 문자주로 텍스트 편집이나 디지털 문서에서 보이지 않게 문자를 분리하거나, 줄바꿈을 제어하는 데 사용 2. 문제점1. WHERE 조건이 예상대로 동작하지 않음// a‍d‍m‍i‍n (a + U+200B + d + U+200B + ...) 이런 식으로 매칭 실패함SELECT * FROM users WHERE username = 'admin'; 2. 데이터 중복 처리 실패// 나중에 'a‍b‍c'를 넣으면 똑같아 보이지만 실제로는 다른 값이라서 중복 체크가 안되고 insert됨INSERT INTO table (value) VALUES ('abc'); 3. 보안 문제 (SQL Injection 우회)// UNION 차단에 걸리..

오류 2025.04.26
[SQL] 자주 쓰는 MSSQL 함수 정리

1. IF EXISTS-- 해당 테이블이 존재하면 실행되는 조건문IF EXISTS (SELECT ID FROM TEST WHERE ID ='홍길동' ) --조건 설정 BEGIN --조건 결과 값이 있을 때 실행문 ENDELSE BEGIN --조건 결과 값이 없을 때 실행문 END-- 해당 테이블이 존재하지 않으면 실행되는 조건문IF NOT EXISTS 2. WITH (NOLOCK)-- MSSQL 은 기본적으로 SELECT 시 공유잠금이 걸림-- 작업중인 테이블 에 SELECT 할 경우 해당 작업이 끝나야 SELECT 할 수 있음-- 그렇게되면 DB의 성능은 떨어지고 데드락이 발생될수있음, 이를 방지하기 위해 사용함SELECT * FROM TEST WITH(NOLOCK);SELECT * FROM TES..

SQL 2025.03.27
[Spring] RedirectAttributes 정리

1. RedirectAttributes 란?스프링에서 리다이렉트를 사용할 때 Model을 사용하면 데이터가 redirect 요청 후에도 유지되지 않는데 RedirectAttributes를 사용하면 데이터를 일시적으로 전달 가능함 2. 주요 메서드1. addAttribute(String key, Object value) - 쿼리 파라미터로 추가하는 방식, 새로고침해도 유지됨// URL 쿼리 파라미터로 전달 -> redirect:/home/{name}?id=1@PostMapping("/save")public String saveUser(User user, RedirectAttributes redirectAttributes) { redirectAttributes.addAttribute("name", "K..

Spring 2025.03.23
[JAVA] 추가 공부 정리

1. equals()적절한 사용법 : 보통 문자열 비교시 사용하는데  변수.equals(문자열), 문자열.equals(변수) 두가지 방법으로 사용한다.변수가 null이 아니면 첫번째 방법을 사용해도 좋지만 null일 가능성이 있을것 같으면 두번째 방법으로 사용하여 오류발생을 줄일수 있다. 2. TreeMap, TreeSetTreeMap : 이진트리를 기반으로한 Map 컬렉션으로 객체를 저장할때 키는 자동 오름차순으로 정렬용도 : 조건이 순차적으로 사용이 될경우 key/value 형태로 저장하여 자동 정렬되어 값을 추출할수 있음[ 예시 ]int score = 85;TreeMap gradeMap = new TreeMap();gradeMap.put(0, "F");gradeMap.put(60, "D");grad..

코딩 2025.03.22
[Python] 행렬 미분 정리

1. 행렬미분스칼라, 벡터, 행렬에 대한 미분을 포함하며 그레디언트 행렬 또는 야코비안 행렬로 표현됨머신러닝에서는 선형 회귀, 로지스틱 회귀, 신경망의 역전파등의 활용2. 경사 하강법에 활용import torch# 데이터 정의 (입력 X, 정답 y)# 입력 데이터X = torch.tensor([[1.0], [2.0], [3.0]], requires_grad=False)# 실제 값 (y = 2x)y = torch.tensor([[2.0], [4.0], [6.0]], requires_grad=False)# 가중치 초기화 (학습할 값)w = torch.tensor([[1.0]], requires_grad=True) # 초기값 w = 1.0# 학습률 설정lr = 0.1 for epoch in range(10..

코딩 2025.02.19
[Redis] Redis연동 - 이슈 정리

˙  오류 내용Cannot invoke "org.springframework.data.redis.serializer.RedisSerializer.serialize(Object)" because the return value of "org.springframework.data.redis.core.AbstractOperations.keySerializer()" is null 해결방법이 오류는 Redis의 Key Serializer가 제대로 설정되지 않아서 발생하는 문제입니다.Spring Boot의 RedisTemplate을 사용할 때, Key/Value를 직렬화(Serialize)해야 하는데, Key Serializer가 null인 경우 발생하는 오류-> RedisTemplate redisTemplate 의..

오류 2025.02.13
[Redis] Redis연동 - Docker에 세팅

1. Redis설명 : 키 - 값 쌍의 해시 맵과 같은 구조를 가진 비관계형(NoSQL) 데이터베이스 관리 시스템장점 : 메모리에 저장되어 평균적으로 읽기 및 쓰기의 작업 속도가 1ms로 디스크 기반 데이터베이스보다 빠르다.사용용도 : 캐싱, 세션 관리, 메시지 브로커, 실시간 데이터 처리 ✅ 주요 데이터 구조데이터 타입설명예제String일반 문자열 저장SET key "hello"List순서가 있는 리스트LPUSH list_key "item1"Set중복 없는 데이터 집합SADD set_key "value1"Hash필드-값 형태 저장HSET user:1 name "Alice"Sorted Set값에 점수를 매겨 정렬ZADD scores 100 "user1"✅ 기본 명령어# Redis 서버 실행redis-se..

환경세팅 2025.02.12
[Python] 선형대수 정리

1. 선형대수머신러닝 모델은 데이터를 숫자로 표현하는데 보통 벡터(vector) 와 행렬(matrix) 로 표현할때 선형대수를 사용 ✅ 개념스칼라 - 0차원 텐서 ([2], [3])벡터 - 1차원 텐서 ([2,3])행렬(매트릭스) - 2차원 텐서 ([[2,3],[4,5]])텐서 - n차원 배열로 구성된 데이터노름(norm) - 벡터나 행렬의 크기를 측정하는 방법📌 norm대표적으로 L1노름, L2노름, 무한 노름이 있으며 L1노름은 벡터의 각 원소의 절댓값을 모두 더한 값으로 희소성을 강조하는 데 사용돼서 Lasso 회귀 같은 모델에서 많이 활용됨import numpy as npx = np.array([3, -4, 2])L1_norm = np.linalg.norm(x, ord=1) # L1 노름 계산p..

코딩 2025.02.06
[Python] Pandas 정리

1. Pandas1) 데이터 조작, 정제, 분석, 시각화 등을 위한 다양한 기능을 제공, 데이터를 전처리하고 탐색하는 데 많이 사용2) 시리즈(Series)와 데이터프레임(DataFrame)이라는 자료형을 이용하여 데이터를 처리📌 Series, DataFrameSeries : 1차원 배열과 같은 구조, 인덱스(index)와 값(value)으로 구성됨 DataFrame : 2차원 테이블 형태의 구조, 여러 개의 Series가 모여서 만들어짐 ✅ Pandas 생성import pandas as pd# 생성s = pd.Series([10, 20, 30, 40, 50], index=["A", "B", "C", "D", "E"])"""A 10B 20C 30D 40E 50dtype: in..

코딩 2025.02.05