전체 글 30

저장 프로시저

저장 프로시저 (Stored Procedure) 설명저장 프로시저는 반복적으로 실행해야 하는 쿼리나 비즈니스 로직을 서버 측에서 미리 저장해놓고, 필요할 때마다 호출할 수 있는 SQL 코드입니다. 프로시저를 사용하면 성능 개선, 보안 강화, 코드 재사용 등의 이점이 있습니다.저장 프로시저의 장점성능 향상: 저장 프로시저는 컴파일되고 메모리에 저장되어 반복 실행 시 빠르게 동작합니다.서버/클라이언트 트래픽 감소: 저장 프로시저를 호출하는 것만으로 필요한 작업을 처리하므로, 많은 양의 데이터를 전송할 필요가 없습니다.보안 강화: 데이터베이스의 테이블을 직접 접근하는 대신, 프로시저를 통해 작업을 수행하므로, SQL 인젝션 등의 보안 위험을 줄일 수 있습니다.유지보수 용이: SQL 문을 응용 프로그램 코드에서..

카테고리 없음 2025.03.21

자바스크립트 문법

1. 자바스크립트 문법과 이벤트 처리1.1. 자바스크립트 문법자바스크립트에서 변수를 선언하는 방법은 let, const, var입니다. let은 재할당이 가능한 변수이고, const는 재할당이 불가능한 변수입니다. var는 ES6 이전 방식으로 사용되며, 최신 코드에서는 let과 const를 더 많이 사용합니다.예시:let x = 10; // 재할당 가능const y = 20; // 재할당 불가1.2. 함수 정의함수는 function 키워드로 정의할 수 있습니다. ES6에서 도입된 화살표 함수는 더 짧고 간결하게 함수를 작성할 수 있게 해줍니다.함수 선언 예시:function greet(name) { return 'Hello, ' + name + '!'; }console.log(greet('John'))..

개발 이론/WEB 2025.03.19

SQL(기초)

📌 1. DDL (Data Definition Language) - 데이터 정의✔ 테이블, 인덱스, 뷰 등을 생성, 수정, 삭제하는 SQL 문법🚀 (1) 기초 - 테이블 생성 및 삭제✔ 테이블 생성 (CREATE TABLE)CREATE TABLE users (id INT IDENTITY(1,1) PRIMARY KEY, -- 자동 증가 기본 키username VARCHAR(50) NOT NULL UNIQUE, -- 사용자 이름 (유일성 제약)email VARCHAR(100) NOT NULL UNIQUE, -- 이메일 (유일성 제약)password VARCHAR(255) NOT NULL, -- 비밀번호created_at DATETIME DEFAULT CURRENT_TIMESTAMP -- 생성 시간 자동 ..

개발 이론/DB 2025.03.19

SSR

Spring Boot에서 서버 사이드 렌더링 (SSR) 구현 - JSP & Thymeleaf🚀 1. 서버 사이드 렌더링(SSR)이란?서버 사이드 렌더링(SSR, Server-Side Rendering)은 서버에서 HTML을 렌더링하여 클라이언트에게 전송하는 방식입니다.✅ 클라이언트가 요청하면 서버에서 HTML을 생성하여 응답✅ 초기 로딩 속도가 빠름 (HTML이 완전히 렌더링된 상태로 전달)✅ SEO(Search Engine Optimization, 검색 엔진 최적화)에 유리✅ JavaScript 없이도 페이지가 정상적으로 보임📌 Spring Boot에서는 SSR을 지원하는 두 가지 대표적인 템플릿 엔진JSP (Java Server Pages)Thymeleaf📌 2. JSP 기반 SSR 구현JSP는..

JSP 게시판 MS-SQL

1. 요구사항 분석리스트 출력: JSP에서 데이터 목록을 테이블 형식으로 출력.CRUD 기능:생성 (Create): 새 데이터를 추가하는 폼 제공.조회 (Read): 저장된 데이터를 리스트로 출력.수정 (Update): 기존 데이터를 수정하는 기능.삭제 (Delete): 선택한 데이터를 삭제.2. 프로젝트 구조/WEB-INF/ ├── views/ │   ├── list.jsp   (리스트 출력) │   ├── form.jsp   (데이터 입력 폼) │   ├── edit.jsp   (데이터 수정 폼) │   ├── delete.jsp (데이터 삭제) ├── web.xml ├── controller/ │   ├── StudentServlet.java (전체 CRUD 처리) ├── model/ │   ├──..

연습코드 2025.03.17

HTML/CSS/JS

HTML은 웹 문서를 구성하는 마크업 언어.기본 태그뿐만 아니라 폼 요소, 미디어 요소, 메타데이터, 인터랙티브 요소까지 모두 설명.1-1. HTML 기본 문법HTML은 태그()로 이루어져 있으며, 열리는 태그와 닫히는 태그가 있어. p>이것은 단락입니다.p> 열리는 태그, 닫히는 태그 --> img src="image.jpg" alt="이미지"> 1-2. HTML 요소 종류HTML 요소는 크게 4가지로 나뉘어.1) 블록 요소 (Block-level Elements)화면 전체 너비를 차지하는 요소자동으로 줄 바꿈됨 (, , ~ , , , , 등) div>이것은 블록 요소입니다.div>p>이것도 블록 요소입니다.p> 2) 인라인 요소 (Inline Elements)컨텐츠 크기만큼 차지하는 요소줄 ..

개발 이론/WEB 2025.03.13

Lambda

1️⃣ 람다 표현식(Lambda Expression) 기본 문법✅ 람다 표현식 기본 구조(parameters) -> { statements } ✅ 람다 표현식 주요 특징익명 함수(Anonymous Function)별도로 이름이 없는 함수를 선언하는 방식간결한 문법불필요한 코드 제거 가능함수형 인터페이스와 함께 사용FunctionalInterface를 구현하는 메서드를 간략하게 표현 가능📌 Java 함수형 인터페이스(Functional Interface)란?Java에서 람다 표현식을 사용할 때 필요한 인터페이스입니다.함수형 인터페이스는 추상 메서드가 단 하나만 존재해야 합니다.@FunctionalInterface 어노테이션을 붙이면 해당 인터페이스가 함수형 인터페이스임을 보장합니다.✅ 함수형 인터페이스의..

개발 이론/JAVA 2025.03.04

배열로 큐 구현

import java.io.*;public class Main { private int[] queue; // 큐를 저장할 배열 private int front; // 큐의 맨 앞을 가리키는 인덱스 private int rear; // 큐의 맨 뒤를 가리키는 인덱스 private int size; // 현재 큐의 크기 // 🟢 큐 초기화 (생성자) public Main(int capacity) { queue = new int[capacity]; // 주어진 크기의 배열 생성 front = 0; // front를 0으로 초기화 rear = 0; // rear도 0으로 초기화 size = 0; // 초기 크기는 0 } ..

배열로 스택 구현

import java.io.*;public class Main { private int index = -1; // 스택의 최상단 인덱스 (초기값: -1, 즉 스택이 비어있는 상태) private int[] s = new int[10000]; // 최대 크기 10000의 스택 배열 // 🟢 push 연산: 값을 스택에 추가 public void push(int n) { s[++index] = n; // index를 증가시킨 후 해당 위치에 값 저장 } // 🟢 pop 연산: 스택에서 최상단 값을 제거하고 반환 public int pop() { if (empty()) return -1; // 스택이 비어있다면 -1..