전체 글 41

[Spring] final project_4

오늘 할일제목에다가 링크를 달 것임!수정,삭제,조회수 증가 BoardSqlMapper.java//상세글 보기 public ArticleDto findArticleById(int id); //조회수 증가 public void increasReadCount(int id); //글 삭제 public void deleteArticleById(int id); //글 수정 public void updateArticleById(ArticleDto articleDto); BoardSqlMapper.xml select id="findArticleById" resultType="com.ca.finalproject.dto.ArticleDto"> select * from fp_article fa where fa.id =#..

[Spring] | final project_3

오늘 할 것글쓰기 & 리스트 출력 ▼ 오류application.properties 이쪽 문제일 가능성 높음데이터베이스 문제!→ 결과 : 파일 위치가 static안에 있어서 오류가 떴음 관계형데이터베이스이기때문에외래키인 테이블은 기본테이블명_아이디명테이블 정의할때 첫번째는 무조건 primary key마지막은 created_at! BoardServiceImpl.javapackage com.ca.finalproject.board.service;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Au..

[Spring] | final projcet_2

loginPage.htmlh1>로그인 페이지h1> form action="/user/loginProcess" method="post"> 아이디 : input name="accountName" type="text">br> 비밀번호 : input name="password" type="password">br> button>로그인button>br> / : 절대경로 단점 - 타자를 많이 쳐사 ./ : 상대경로 하면 user/registerPage로 됨 ./registerPage = registerPage 똑같은 경로임 수업은 절대경로로 수업할것임! 진짜 경로 : http://localhost:8080/user.registerpage --> form>태그 사용시엔 많은 확률로 method=post방식으로 사..

[Spring] | final project_1

▲ 2주동안 실습하게될 프로젝트의 구현application.properties 아주 중요한 설정 파일이 파일은 Spring Boot 애플리케이션의 전반적인 설정을 담당해. 여기서 데이터베이스 연결, 서버 포트, 로깅 설정 등 다양한 옵션을 설정할 수 있음spring.application.name=finalproject# 포트server.port=8080# 세션 설정server.servlet.session.tracking-modes=cookie#DB 연동 설정spring.datasource.driver-class-name=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://orange.null-pointer-exception.com:5306/이름?ch..

[Spring] 개발 환경 셋팅

Tool : vscodeextension > spring search > spring boot extension pack download spring project 만드는법version : 3.4.4language : javagroup id : package jar 17dependencies gradle.properties 파일 생성!!org.gradle.java.installations.paths=C:\\DevTools\\amazon-corretto-17.0.14.7.1-windows-x64-jdk\\jdk17.0.14_7 뭐가 오류뜰시에 사용하는 툴 build.gradle파일에다 수정!// java {// toolchain {// languageVersion = JavaLanguageV..

[JS] | API , DOM, 요소 접근

💡 DOM(Document Object Model) 정리웹 개발에서 반드시 알아야 할 핵심 개념 중 하나인 DOM에 대해 간단하고 실질적인 관점으로 정리해봤습니다.📌 DOM이란?**DOM(Document Object Model)**은 웹 브라우저가 HTML 문서를 읽고 객체 구조로 변환한 것.이 구조를 통해 JavaScript로 HTML 요소를 조작할 수 있게 됨.쉽게 말하면, HTML = 정적 문서 → DOM = 살아있는 문서(조작 가능)🧩 DOM 조작의 주요 단계DOM을 다루는 핵심은 접근 → 변경 or 조작 이다!1. 요소 접근하기1️⃣ getElementById - 아이디로 접근특정 id를 가진 하나의 요소에 접근가능function test1(){ const elementX1 = doc..

[JS] | 비동기, Promise,async,await

비동기 시간이 오래 걸리는 작업을 따로 처리코드 실행 도중에도 다음 코드가 먼저 실행될 수 있음자바에선 thread같은 개념예시const pp1 = new Promise((resolve, reject) => { const value = 30; if (value reject("에러 발생!"); } resolve(value); // 성공 시 결과 전달 (return 같은 역할) });✅ 동기(Synchronous) 처리란?코드가 위에서 아래로 순서대로 실행됨앞 코드가 끝나야 다음 코드가 실행됨보통 동기식 코드임✅ Promise란?비동기 작업을 처리하기 위한 객체성공하면 resolve(), 실패하면 reject()를 호출함 Promise 기반 비동기 코드의 기본 구조 const pp..

[JS] | 클로저, Closer

클로저 외부 함수의 변수(스코프)를 기억하고 있는 내부 함수상태 유지를 위해 (count처럼), 비공개 변수처럼 활용 가능 함수 안에 함수를 정의하고 그 내부 함수를 반환하거나 사용할 때function secretPassword() { const password = "비밀123"; return function guess(input) { return input === password ? "정답!" : "땡!"; };}const game = secretPassword();console.log(game("hello")); // 땡!console.log(game("비밀123")); // 정답! password는 외부에서 접근할 수 없어.하지만 클로저 덕분에 game 함수는 계속 그걸..

[JS] | 변수,연산자,조건문

자바스크립트 웹 페이지를 동적으로 들 수 있게 해주는 프로그래밍 언어 쪽에다 태그 써서 여기 안에다가 js문법 씀!class는 못 씀문법적으로 타입 정의 하지 않음system.out.ln 대신에 console.log를 씀!!컴파일 언어가 아님 = 문법 오류를 체크해주지 않음F12로 오류 확인!exception이 발생시에 코드가 작동 하지 않음✅ 자바스크립트 변수 정리1. var (ES5 이전 스타일)호이스팅 됨 (변수 선언이 스코프의 맨 위로 끌어올려짐)함수 스코프 ({} 블록 무시하고 함수 단위로 작동)재선언 가능변수 타입 지정 X (자유롭게 바뀜)생성은 되지만 소멸이 안됨 var a = 10; a = "문자열"; // 가능 var a = true; // 재선언도 가능 ❗ 주의: var는 요..

[HTML] | 기초정리, 태그, layout

HTML HyperText Markup Language 웹 페이지의 구조(뼈대)를 만드는 언어프로그래밍 언어가 아니라 마크업 언어브라우저가 읽고 해석해서 화면에 보여줌server를 가동하기 위한 것임 📌 문서 구조 관련태그설명 HTML5 문서 선언전체 HTML 문서문서 정보 (제목, 문자 인코딩, CSS, JS 등)실제 화면에 보여지는 부분 태그 하나하나는 어떤 특정한 크기를 가진 네모난 상자임style> .border{ border: 1px solid red; } .d-block{ display: block; } .d-inline{ ..