Springboot

more

[SpringBoot] 인증과 인가 / 쿠키와 세션

인증과 인가의 차이가 무엇일까?간단하게 설명하자면 인증 = 아이디, 비밀번호를 입력하고 제출하여 유저인지 확인하는 절차! (지문인식 같이)인가 = 회원/비회원의 여부에 맞게 특정 리소스에 대한 접근 권한을 주는 것!(관리자 권한처럼) 그렇다면, 웹 애플리케이션 인증은 다를까?서버 - 클라이언트 구조로 되어있는 웹은 Http라는 프로토콜을 이용하여 통신합니다그리고 이 통신은 "비연결성(Connectionless), 무상태(Stateless)"로 이루어지는데비연결성(Connectionless) 서버- 클라이언트가 연결되어 있지 않다는 의미!왜 연결을 안하나요?계속 연결을 해놓으면 서버의 비용이 너무 많이 들기때문!즉, 서버는 하나의 요청 - 하나의 응답 - 연결 종료를 하고 있습니다무상태( Stateless..

Springboot-Intellij 2025.02.03 0

[SpringBoot] Bean 수동 등록, 같은 타입 Bean이 2개인 경우엔?

먼저, 프로젝트를 생성하자프로젝트 설정도 추가하는데, 1) build.gradle : Security 추가// Securityimplementation 'org.springframework.boot:spring-boot-starter-security'2) SpringAuthApplication : Security 기능 제한 (추후 security 공부하며 해제예정)package com.sparta.springauth;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure..

Springboot-Intellij 2025.02.03 0

[SpringBoot] JPA CORE - JPA란 무엇일까?

애플리케이션에서 DB를 직접 다룰때의 문제점DB 테이블 생성SQL 작성JDBC를 이용하여 SQL 실행 ( jdbcTemplate.update(sql, "Robbie", "오늘 하루도 화이팅!");)SQL 결과를 객체로 직접 만들어줘야함= SQL에 의존적이라 변경에 취약함 (SQL을 직접 수정하고 변환부분도 추가 작성필요) 이에,  ORM(Object-Relational Mapping)이 등장!ORM (Object-Relational Mapping) Object : "객체"지향 언어 (자바, 파이썬) Relational : "관계형" 데이터베이스 (H2, MySQL) 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해 등장 JPA (Java Persistnece API) - 자바 ORM ..

Springboot-Intellij 2025.01.31 0

[SpringBoot] Spring MVC - Jackson, ObjectMapper

JacksonJSON 데이터 구조를 처리해주는 라이브러리Object -> JSON타입의 String으로 변환JSON타입의 String -> Object로 변환 Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공 SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공 = 이미 External Libraries에 jackson이 있는 걸 확인가능 = 따로 build.gradle에 추가하지 않아도 됨 Java의 객체를 그냥 반환하면 Spring에서 내부적으로 처리하지만, 직접 JSON 데이터를 처리해야하는 경우에는 Jackson 라이브러리의 ObjectMapper를 사용     1. Object To JSON : objectMapper.writ..

Springboot-Intellij 2025.01.30 0

programmers/코딩테스트

more

Spring

more

[BEWITHME/SPRING] 댓글 기능 - 수정/삭제

게시글 하단에 댓글 기능 추가 : 댓글 리스트 수정/ 출력 1. com_comment.js 작성 method : 수정은 put / 삭제는 delete 해당 버튼의 가장 가까운 div를 찾아서 수정 : div의 내용, 댓글 번호를 담아 controller에 전달 삭제: 댓글의 번호를 담아 controller에 전달 수정/삭제가 완료되면 alert '댓글 수정/삭제되었습니다' 화면에 출력설정 getCommentList(com_num);으로 해당 게시글 list 재출력 function 실행 // -- 댓글 수정, 삭제 -- // 댓글 수정 async function updateCommentFromServer(cmtDataMod){ try{ const url = "/com_comment/"+ cmtDataMod..

Spring-eclipse 2023.07.18 0

[BEWITHME/SPRING] 댓글 기능 - 출력

게시글 하단에 댓글 기능 추가 : 댓글 리스트 출력 -- 댓글 출력 -- 1. com_comment.js 작성 - controller에 게시글 번호를 보내 해당 게시글의 댓글 list 가져오기 jsp에서 저장해놓은 com_num을 controller로 보내서 Com_CommentVO로 생성된 List를 받아오기 가져온 list를 for문을 이용하여 출력 현재 로그인한 아이디(ses.id)와 작성 아이디(ccvo.id)가 동일 : 수정/삭제버튼 추가, 댓글내용 수정 가능 설정 현재 로그인한 아이디(ses.id)와 작성 아이디(ccvo.id)가 비동일 : 댓글내용 수정 불가능 설정 (readonly=readonly) 수정한 댓글(ccvo.com_com_isMod가 Y) : '수정됨'이 뜨도록 설정 = 추후 ..

Spring-eclipse 2023.07.18 0

[BEWITHME/SPRING] 댓글 기능 - 작성 (저장)

게시글 하단에 댓글 기능 추가 : 댓글 저장 -- 위치 ( Com_Comment.jsp : 게시글 ) -- 게시글 부분 = 동기 출력, 댓글 = 비동기 출력 ↓ 최종 완성된 jsp (저장,출력,수정,삭제) 🏠 Home 📝 Subject 📖 Community 📁 Q&A ⚙ Setting 🗑 Log out 전체 개발 상담 MY 💡 질문하기 ${cvo.com_category} ${cvo.com_title} ${cvo.nickname} ${cvo.com_reg_date} | ${comment_cnt} | ${cvo.com_like_cnt} ${cvo.com_cnt} ${cvo.com_content} 댓글 ${comment_cnt} {ses.nickname} 작성하기 arrow_upward -- 필요한 class..

Spring-eclipse 2023.07.18 0

Node.js

more

[Node.js] node.js 정의, 특징

node.js 정의 chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 JavaScript가 동작할 수 있는 브라우저 이외의 환경 Node.js가 서버 구현에 많이 사용되지만 서버는 아님 웹브라우저의 동작 과정 렌더링 : HTML, CSS, JavaScript가 브라우저를 통해 화면에 출력이 되는 과정 HTML. CSS : 브라우저 내에 있는 렌더링 엔진을 통해 해석 JavaScript : 브라우저 내에 있는 자바스크립트 엔진을 통해 해석 자바스크립트 엔진 중 크롬 V8엔진을 기반으로 node.js 생성 특징 빠른 속도 독립적인 실행 JavaScript 런타임 = JavaScript가 동작할 수 있는 환경 JavaScript HTML 요소를 조작하기 위한 언어 브라우저에서 동..

Node.js 2024.02.08 2

[Node.js] SERVER 구조 / HTTP, URL, DNS

Server 서버 : 클라이언트가 요청을 보내는 경우 응답을 해주는 것 클라이언트 : 구매자 요청 : 상품 상세페이지 클릭 응답 : 클릭한 상품의 상세페이지 화면 전송 웹상에서 일어나는 요청과 응답의 과정은 하나의 규약을 통해 이루어짐 = HTTP HTTP 통신규약 : 인터넷 상에서 데이터를 주고받을 떄 사용하는 프로토콜 통신마다 독립적으로 관리 1. HTTP URL / 요청메서드 ( GET 요청, POST 생성, PUT 수정, DELETE 삭제 ) 요청을 한 곳 / 응답코드 ( 성공, 실패 - 2XX, 3XX, 4XX, 5XX ) 2. HTTP Request 요청 메서드 GET URL에 요청하는 정보가 포함 https://shopping.naver.com/home 원하는 정보를 단순히 조회하는 경우 多..

Node.js 2023.12.05 2

[Node.js] node.js 설치/ REPL모드, JS파일 모드 사용해보기

Node.js 설치 https://nodejs.org/en/download Download | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 현재 20.10.0 버전 + npm 10.2.3 버전이 함께 다운 LTS ( Long Term Support ) : 장기 지원 버전, 오랜 기간에 걸쳐 해당 버전을 지원한다는 의미 Node.js 사용 본인이 평소에 사용하는 코드 에디터 열기 새로운 폴더 생성 현재 에디터에서 만든 폴더 경로 연결 사용! ( VScode 를 사용할 예정) 1. REPL 모드 : Read Evaluation Print Loop 코드를 작성해서 바로 실행하고 그 결과를 확..

Node.js 2023.12.05 2

Git

more

[git] git 'master'말고 'main'에 올리기 실패하는 경우

git main에 올리고 싶은데 (master)로 되어 있어서 -> master branch에 올라간 경우! ✨ 해결 방법 ✨ ! 포인트 ! git checkout -b를 이용하여 main으로 변경해주고 -> push하는 경우에도 origin main으로 올리기! $ git init : git폴더로 생성 $ git config —global user.name ”이름” $ git config —global user.email ”email” $ git config —list : 설정한 이름,이메일 확인 -------------------------- 여기까지는 동일 -------------------------------- $ git chechout -b main $ git add . :현재폴더에 있는 파일..

GIT ERROR 2023.09.12 0

[git] git에 연결되어 있는 주소 변경하는 방법

✨git에 연결되어 있는 주소 변경하는 방법 ✨ 1. git bash에서 연결을 지우고 재연결하기 Step 1) 현재 연결되어있는 git 저장소 주소 확인하기 remote -v를 사용하여 현재 연결되어있는 git의 주소를 확인! git remote -v Step 2) 연결되어있는 원격저장소(git 주소) 삭제 현재 연결되어있는 주소를 삭제 git remote rm origin --or-- git remote remove origin Step 3) 연결하고싶은 깃허브 주소로 연결한다 git remote add origin 연결할 깃허브 주소 Step 4) 변경되어 현재 연결되어있는 git 저장소 주소 재확인 remote -v를 사용하여 현재 연결되어있는 git의 주소를 확인 -> 이때, 변경되었다면 새로 ..

GIT 2023.09.12 0

[git] 작업 완료시, 기능 구현한 파일을 dev branch에 병합하기

1. 현재 브랜치의 상태 확인 $ git branch -r //깃허브 브랜치 상태 확인 $ git branch -a //로컬저장소(내 컴퓨터) 브랜치 상태 확인 만약, 연결되어있는 브랜치(내 파일을 올릴 브랜치)를 변경하고 싶다면! $ git checkout 변경할브랜치이름 (예: $ git checkout community ) 2. 나의 브랜치community를 dev브랜치와 연결하기 $ git branch --set-upstream-to origin/dev ( 2. 복사본을 zip으로 묶어놓기! 5. 현재 dev브랜치에 올라와 있는 파일 현재 파일에 받아오기 왜? dev브랜치에 다른 팀원이 올린 파일이 있다면 받아와서 나의 파일을 추가해야함! 이때!!!! 파일안에 있는 내용이 dev의 파일이 되니까 ..

GIT 2023.07.21 0