본문 바로가기

전체 글33

VS Code + Spring Boot CRUD 만들어보기 VS Code에서 Spring Initializr로 프로젝트 만들기명령 팔레트 열기윈도우: Ctrl + Shift + P맥: Cmd + Shift + PSpring Initializr: Create a Gradle Project... (또는 Maven Project) 검색 후 선택엔터엔터 선택Spring Boot 버전Language: JavaGroup Id, Artifact IdBuild Tool: Maven / GradleDependencies: Spring Web, Spring Data JPA, H2 혹은 MySQL 등💡 Spring Initializr에서 설정 다운로드설정들을 웹에서 선택 > GENERATE 버튼 > ZIP 다운로드 > VS Code에서 실행MavenJava 프로젝트용 빌드 도구라.. 2026. 2. 17.
JavaScript Map vs Java HashMap JavaScript Map vs Java HashMapJavaScript: Map 기본 사용법const userMap = new Map();// 데이터 추가userMap.set('name', '길동');userMap.set('age', 19);// 데이터 조회userMap.get('name'); // '길동'// 존재 확인 및 크기userMap.has('name'); // trueuserMap.size; // 2Java: HashMap 기본 사용법Java 차이점: Map -> 인터페이스, HashMap -> Map을 구현한 클래스 -> 세트// 타입 지정 + 구현체 선택 -> Map 타입인데 HashMap으로 만들겠다Map userMap = new HashMap();HashMap us.. 2026. 2. 16.
Spring Service DTO 실습: private final getter 정리 Spring Service DTO 실습: private final getter 정리프론트엔드 → 백엔드 전환 !📦 DTO: Data Transfer Objectapplication/dto/StudentDto.java (데이터 상자)public class StudentDto { // String(타입) name(변수명) private String name; // 문자열 학생 이름 변수 private int studentNumber; // 숫자 학번 변수 public String getName() { // getter/setter return name; } public void setName(String name) { this.. 2026. 2. 16.
Spring Service와 DTO 역할 Spring Service와 DTO 역할: 계층별 폴더 구조 정리Service와 DTO 핵심 역할Service업무 규칙, 비즈니스 흐름 담당예외처리, 데이터 저장/조회, 입력값 검증 로직DTO (Data Transfer Object)"데이터 상자" 역할계층 간 데이터 운반 (Controller ↔ Service)Entity와 분리해 보안/성능 최적화📂 권장 폴더 구조src/main/java/com/example/│├── application/ # 유즈케이스 (기능별 로직)│ ├── service/ # Service (선생님: 어떻게 처리할지 담당)│ └── dto/ # DTO (이름,나이,번호 정보만 전달)│├── domain/ # 도메인 규칙, Entity (학교)│ └── entity/ # 이름/번.. 2026. 2. 16.
[React] html-react-parser dangerouslySetInnerHTML를 사용하다가 보안상의 이슈로 html-react-parser 라이브러리를 사용하게 되었다dangerouslySetInnerHTML는 HTML 마크업을 컴포넌트에 직접 삽입할 때 사용한다리액트는 XSS(Cross-Site Scripting) 공격을 방지하기 위해HTML이나 JavaScript 코드가 컴포넌트에 삽입되는 것을 제한하는데dangerouslySetInnerHTML를 사용하면 이 제한을 무시하고 직접 삽입말그대로 dangerous 해진다dangerouslySetInnerHTML 사용const App = () => {const htmlString = `!! 나는 위험한 속성이다 !!`; return ( );};export default App.. 2024. 9. 20.
[React] clsx 라이브러리 클래스 이름을 조건부로 병합하거나 동적으로 관리할때 사용 clsxA tiny (239B) utility for constructing className strings conditionally.. Latest version: 2.1.1, last published: 5 months ago. Start using clsx in your project by running `npm i clsx`. There are 10443 other projects in the npm registry using clsx.www.npmjs.com라이브러리 installnpm install clsxyarn add clsx import clsx from 'clsx';function Button({ isPrimary, isDisab.. 2024. 9. 19.
[React] useOutletContext로 props 전달 useOutletContext는 컴포넌트에 내장된 Hook으로 자식 컴포넌트에게 props를 전달할때 사용한다라우터 설정import { createBrowserRouter } from 'react-router-dom';export default createBrowserRouter([ { path: '', element: [], errorElement: , children: [ { path: '/home', element: , }, { path: '/work', element: , children: [ { path: '', element: }, { path: .. 2024. 8. 30.
[Python] pip error: externally-managed-environment pip install -r requirements.txt난 그저 flask 패키지 설치하고 싶었을 뿐인데꽤 오랜시간 해결하지 못하고 있었다에러원인원인은.. 모르겠다...해결 방안 To install Python packages system-wide, try apt install python3-xyz, where xyz is the pack..." data-og-host="stackoverflow.com" data-og-source-url="https://stackoverflow.com/questions/75608323/how-do-i-solve-error-externally-managed-environment-every-time-i-use-pip-3" data-og-url="https://stackove.. 2024. 6. 22.
[Linux] SSH Key 설정하기 failed: No space left on device ssh-keygen -t rsaRSA 알고리즘을 사용하여 SSH 키 (공개 키, 비공개 키)를 생성하라는 명령어다왜 나만 안돼 😩 금방 쉬이 되는 건 없었다..failed: No space left on device 디스크 공간이 부족해서 키 파일을 저장할 수 없다고 한다디스크용량확인df -h로그파일 삭제sudo rm -rf /var/log/*.old캐시 정리sudo apt-get cleansudo apt-get autoremove하고 나니 나도 rsa 나무가 나타났다 성공 !!폴더 목록을 보면 .ssh 파일이 생겨있다.ssh 폴더에 들어가 보면id_rsa 비공개 키 파일,  id_rsa.pub 공개 키 파일, authorized_keys 파일이 생겼다인강에서는 authorized_keys 파일이 없었.. 2024. 6. 21.
[Linux] VScode 설치 & python 명령어 변경 VScode 설치리눅스에서 코드를 작성하기 위해 VScode를 다운로드한다ubuntu 운영체제에 arm64 버전의 .deb 파일로 패키징 된 VScode를 설치dpkg 명령어: 패키지를 설치, 업데이트, 제거하는 데 사용된다sudo dpkg -i vscode 파일명처음이고 그냥 보면서 따라 만들 거니까 했지만, 아무리 봐도 계정명이랑 너무 바보 같다 😭python3 -> python 명령어 변경우분투 리눅스는 python을 기본으로 제공한다vscode도 설치했겠다 python이 잘 작동되는지 실행해보자python이 없단다 python3가 있다는 거군명령어 쓸 때마다 뒤에 3 붙이면 불편하니 python 명령어로 python3 실행시키기로 했다sudo apt-get install python-is-pyt.. 2024. 6. 11.