토글이 되면 아래 창이 열리게 하고 싶은데 실패했다.. 내일 다시 해봐야겠다.
1. ProductConroller.javapackage com.shop.cafe;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ProductController { @GetMapping("getAllProducts") public String getAllProducts() { return "ok"; } }2. Product.java 테이블 스키마를 Product.java 코드의 내용에 담아야 한다 => vo/DTO(데이터를 이동시키는 오브젝트) package com.shop.cafe...
OpenCrpt.javapackage com.shop.cafe.util;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;public class OpenCrypt { public static void main(String[] args) { getSHA256("a", ""); getSHA256("a", "sa..
Cross-Site Scripting(XSS)xss?모든 웹 취약점에서 가장 많이 발생한다.서버에 해를 입히지 않는다. 사용자들의 데이터를 취득을 하는것이 목적이다. web1 web siteweb2 => AJAXweb3 => 웹브라우저 + 블록체인 접속 key XSS 공격 흐름해커(HACKER)가 신뢰할 수 있는 웹사이트에 악성 스크립트를 삽입공격자는 취약한 웹사이트의 입력 필드(예: 댓글, 검색창, 게시판 등)에 악성 JavaScript 코드를 삽입-해당 웹사이트가 적절한 입력 검증을 하지 않으면, 악성 코드가 그대로 저장피해자(VICTIM)가 해당 신뢰할 수 있는 웹사이트를 방문하여 악성 스크립트를 실행피해자가 웹사이트에 접속하면, 저장된 악성 스크립트가 자동으로 실행피해자의 브라우저가 악성 스크립..
쇼핑몰 만들기 총 정리!Frontindex.html index.jswindow.onload = async () => { // 1.윈도우가 로드되면 이 싱크가 실행됨 // 2. response는 파싱한 채로 온다. let response = await axios.get('http://localhost:8080/getAllProducts'); console.log(response); // response 객체에 들어온 데이터를 확인하기 위해 console.log()사용 let productList = response.data; // 서버 응답 데이터 추출 let productListDiv = ``; // HTML 요소를 담을 변수로 사용 productList.forEach((item) => { ..
이름 규칙이란? 변수 이름 + setter + getter dao나 service는 biz중심이라 (메서드 중심적이다.) 데이터 중심적이지 않기에 이름규칙을 지키지 x 특별한 타입의 클래스를 표시하기 위해서 인터페이스를 활용한다. 서로 같은 표현, 오른쪽이 인터페이스 활용 결국은 클래스들의 분류를 위한 것이다.타입을 나누는 것, 이 타입을 통해서 특별한 클래스임을 인식하고 프레임워크에서는 이 객체를 생성하고 메모리에 올렸다가 다 쓰면 알아서 객체를 해지한다.객체의 모든 수명을 권장하는 작업을 한다. ⭐⭐⭐⭐⭐ 웹 브라우저에 정보 저장 3가지 방법 1. cookie2. session storage3. local storage=> 3가지 다 보안 x그 중 local storage의 수명이 더..
중요 정보 처리하기보안 파일을 만들때 이름을 오히려 평범하게 하는 것이 좋다. url에 구조/기능/기술/data가 노출되기에 보안은 정석이 있으면 안된다! 왜? 뚫릴 수 있다.🛒 ProductDao.java 상품 데이터베이스 처리데이터베이스에서 상품 목록을 가져오는 역할package com.shop.cafe.dao; // 이 파일이 'com.shop.cafe.dao'라는 그룹(패키지)에 속해 있어import java.sql.*;import java.util.*;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import com.shop.cafe.dto.Produ..
select country from customers; -- 모든 나라 나옴 distinct 중복없이 select를 해라 select country from customers; -- 모든 나라 나옴select distinct country from customers; -- 나라 중복 삭제select count(distinct country) from customers; -- 집게 함수select count(*) from (select distinct country from customers) as c; -- 괄호 안은 sub queryselect * from customerswhere country = 'mexico';select * from customerswhere customerid..
데이터베이스 (= Schema)데이터를 효율적으로 보관하고 꺼내볼 수 있는 곳 ANSI SQL표준 text format DBMS데이터베이스를 관리하기 위한 SW- 동시 접근 가능ex. MySQL, Oracle, DB2 table: 데이터를 구별해 놓는곳 (= Domain: 문제영역)방법론이 중요하다 💫 여기 화면에서 짜는 것이 아니라!설계가 되어있는 것을 보고 입력해야한다!SQL DataBase//user 생성-- 새로운 사용자 'ureca'를 생성하고, 모든 호스트('%')에서 접속할 수 있도록 설정CREATE USER 'ureca'@'%' IDENTIFIED BY 'ureca';-- 'ureca' 사용자에게 모든 데이터베이스 및 테이블에 대한 모든 권한을 부여하고, -- 다른 사용자에게도 권한을 ..