전체 글 34

[ 자격증_SQLD ] 2025 SQLD 시험 정보 & 꿀팁 & 비전공자 단기간 공부 & 양동중학교 시험후기

00. SQLD 자격증이란?SQLD(SQL 개발자, SQL Developer)는 한국데이터산업진흥원이 주관하는 국가공인 자격증으로, 데이터베이스 설계, SQL 작성 및 데이터 조작 능력을 평가하는 시험입니다. 실무에서도 바로 활용 가능한 데이터 처리 능력을 검증받을 수 있어 데이터 분석, 개발, 기획 직군에 두루 유용합니다.01. 🗓️SQLD 시험일정 및 준비물제57회 SQLD 시험 일정은 아래와 같고, 2025년 6월 이후에는 제58회, 59회 두 시험이 남아있습니다.데이터 자격시험 일정 👉🏻 https://www.dataq.or.kr/www/accept/schedule.do 구분일정원서 접수2025.05.07(수) ~ 05.13(화)시험 일자2025.06.08(일)시험 장소전국 주요 고사장합격..

[프로젝트] 404, 500 errorPage & loadingSpinner 구현하기

1. 404 ErrorPage 구현import { useSearchParams } from "react-router-dom";export default function NotFoundPage() { const [searchParams] = useSearchParams(); // URL 쿼리 파라미터에서 에러 메시지 추출 const message = searchParams.get("message"); // 메시지가 있으면 디코딩, 없으면 기본 메시지 사용 const errorMessage = message ? decodeHTMLEntities(message) : "페이지를 찾을 수 없어요...😢"; // HTML 엔티티 디코딩 함수 function decodeHTMLEntities..

카테고리 없음 2025.05.22

[프로젝트] 프로젝트에서 많이 사용되는 git 명령어

✅ 브랜치 생성 및 전환main이나 develop에서 새 브랜치 생성하기!git checkout -b 브랜치이름✅ 원격 저장소에 새 브랜치 push브랜치를 만들고 작업한 후, 원격 저장소에 브랜치 업로드하기!git push origin 브랜치이름✅ 내 브랜치 이름 변경git branch -m 옛날_브랜치_이름 새_브랜치_이름✅ 내 브랜치에 Develop 상태 합치기1. 자신의 브랜치에서 merge 해야 됨!git merge origin develop 2. 그리고 develop과 나의 브랜치를 merge했다는 사실을 push!git push origin 브랜치이름✅ 내 브랜치 내용 push하기1. 내 로컬에 변경된 내용 add하기!git add . 2. 내 로컬에 변경된 내용 commit하기!(내 브랜치 ..

카테고리 없음 2025.05.22

[ LG U+ 유레카 2기 ] 합격 후기 & 대면반 분위기 & 앞으로의 계획

00. 소개안녕하세요, 챗지회피티입니다~저는 비전공자였지만, 현재 LG U+ 유레카 2기 부트캠프를 통해 프론트엔드를 배우고 있는 코린이입니다 ;) 2025년 1월 10일 LG U+ 유레카에 합격한 후 현재는 부트캠프 프론트엔드 대면 과정 절반을 이수한 상태입니다!(왜 이제야 합격 후기를 쓰냐고 궁금해하실 수 있지만... 학교 계절학기가 끝나자마자 부트캠프에 입학해서 바쁘게 달리다보니 이제서야,, 이렇게 늦은 후기를 쓰게 되었습니다'' 하핫 ) 이 블로그의 글들이 다음 유레카를 준비하시는 분들께 도움이 되기를 바라며 기록을 남기고 있습니당📌 수업 시간에 배운 내용들과 비전공자에게 필요한 정보는 티스토리에 정리되어 있어요!👉 ChatjihoiPT님의 블로그 티스토리 말고도 네이버 블로그에서도 여러 대외..

[ Web-Security ] XSS 악성 스크립트

1. JWT로그인을 증명하는 토큰인증에 필요한 정보를 암호화시킨 JWT 토큰으로 인터넷 표준 인증 방식공개/개인 키를 쌍으로 사용- Header, Payload, Signature- 개인 보안성이 뛰어나다.(허나 키 자체의 중요한 개인 정보를 넣으면 안 된다.) 1. 기존 cookie랑 session을 통한 로그인 인증 처리쿠키는 노출되기 때문에 민감 정보까지 노출된다.세션은 저장소 문제가 발생하면 인증한다. 2. 장점이미 토큰 자체가 인증된 정보이기 때문에 세션 저장소가 필수적으로 필요하진 않다.3. 단점JWT는 기본적으로 Claim에 대한 정보를 암호화하지 않다.추가 개념: Salt암호(비밀번호)를 해시(hash)하기 전에 추가하는 랜덤한 값Salt를 추가해서 해시하는 경우- 랜덤하게 만든 Salt:..

[ Web-Security ] XHR → Fetch API

1. 서버 통신의 변화비동기 통신 이전의 서버 통신은 FORM 태그를 사용Form 태그브라우저에서 폼을 채우고, 이를 웹 서버로 제출하면 웹 서버는 요청된 내용에 따라서 데이터를 가공하여 새로운 웹 페이지를 작성하고, 응답으로 되돌려 준다. But, 단점전체 메세지를 reload하기 때문에 서버의 부하가 커지고, 시간이 오래 걸린다.동기 방식으로 페이지가 reload되는 동안에는 다른 데이터를 처리할 수 있다. 그래서 나온 비동기 통신요청을 보낸 후 응답과는 상관없이 다음 작업을 동작하는 방식, 서버 통신의 단점을 극복2. Ajax페이지 전체를 reload하지 않고, 수해오디는 비동기성SON, XML, HTML 그리고 일반 텍스트 형식등을 포함한 다양한 포맷을 주고 받을 수 있다.이름설명비유Cookie사..

[ Web-security ] REST & CORS & JWT

1. Rest(Representational State Transfer) 자원(서비스할 대상)을 화면을 통해서 표시하던 것에서 자원에 대한 정보를 xml 또는 JSON으로 표시즉, 약속된 주소와 요청 방법만으로 데이터를 주고 받는 것URL은 하나의 고유한 리소스를 대표하도록 설계1.1 Web만 서비스웹 브라우저가 요청과 응답을 보내고 받음웹 전용 시스템다중 플랫폼 시대모델 재사용1.2 View가 다변화된 시대 (Android, Web, IOS)Model은 재사용되고, 각 view를 위한 controller가 필요1.3 Rest-ful Service자원에 대한 요청을 url로 구별하고, 상세는 method 방식으로 구분2. CORS (Cross-Origin Resource Sharing)동일 출처 정책과 ..

[ VSCODE_주석꾸미기 ] Todo Tree로 //TODO 주석 색상 설정하기

TODO 주석 색상 설정하는 법1. Todo Tree 설치✅ VS code의 확장자(EXTENSIONS)에 들어가서 Todo Tree를 설치(Install)한다.2. VS code의 설정 ✅ VSCode에서 설정(Settings) 열기 단축키운영체제단축키🪟 Windows / LinuxCtrl + , (컨트롤 + 콤마)🍎 macOS (맥)⌘ + , (Command + 콤마) ✅ Edit in settings.json 클릭3. settings.json에 코드 추가 ✅ 추가해 줄 코드 ] , "todo-tree.highlights.defaultHighlight": { "icon": "alert", "type": "text", "foreground": "black", // 글꼴 색상 변..

[ React ] RTK ( Redux Toolkit )

1. RTK ( Redux Toolkit )Redux의 공식 상태관리 툴킷Redux를 더 쉽게, 짧게, 안전하게 사용할 수 있도록 만든 공식 라이브러리1.1 Redux란?Redux는 자바스크립트 앱의 전역 상태 관리(state management)를 위한 라이브러리- 여러 컴포넌트에서 공유해야 하는 데이터를 하나의 중앙 저장소(store)에서 관리하도록 도와주는 도구- 부모 → 자식 → 손자 → … 상태 전달이 너무 복잡할 때 사용1.2 Redux에서 알아야 할 개념 4가지구성 요소설명Store모든 상태(state)가 저장되는 단 하나의 중앙 공간Action상태를 바꾸고 싶다고 알리는 신호 (객체)Reducer액션에 따라 상태를 어떻게 바꿀지 정의한 함수Dispatch액션을 리듀서에 전달하는 함수 흐름..

FrontEnd/React 2025.04.23

[ JS ] 브라우저의 웹 API_localStorge

localStorage에서 사용하는 함수들1. localStorage란브라우저에 key-value 형태의 문자열 데이터를 영구적으로 저장할 수 있음.브라우저를 꺼도 데이터가 남아 있음 (반영구적 저장).용량은 대략 5~10MB.데이터는 문자열(string)만 저장 가능합니다. (객체는 JSON으로 변환 필요)// 로그인 시const user = { id: 1, name: "챗지회피티" };localStorage.setItem("user", JSON.stringify(user));// 새로고침 시 로그인 유지const saved = localStorage.getItem("user");if (saved) { const user = JSON.parse(saved); console.log(user.name)..