Archive: 2021

17.[블로그 프로젝트] 글쓰기 구현

BoardControllerBoardController에 글쓰기 버튼을 눌렀을때 분기처리 메소드를 만들자. 12345//USER 권한 필요@GetMapping("/board/saveForm")public String saveForm(){ return "board/saveForm";} 화면 구성그리

2. 데이터의 종류(진수, 보수, 논리 게이트)

보수특정 비트의 최대값을 만드는 a+b가 존재한다면, a와 b는 서로 1진 보수 관계다.2비트의 최대값은 11이다. 10 + 1은 서로 1진 보수다 최대 표현자리 수(modulus)를 형성하는데 서로 보완관계를 이루는 a b를 2진 보수 관계라 한다.1진 보수에 1 더하면 2진보수다. 쉽게 말하면 a = 0011일때, b가 1진보수면 1100이고,

16.[블로그 프로젝트] 스프링 시큐리티 로그인

시큐리티는 로그인 요청을 가로채간다.우리는 회원가입에 필요한 joinProc uri를 UserApiController에 정의했었다.그러나 로그인에 필요한 메서드는 만들지 않는다.왜? 시큐리티가 가로채가서 로그인을 실행하기 때문. SecurityConfigure 수정이제 로그인을 시큐리티가 실행할 수 있게 수정해보자. 1234567891011121314151

10. CSRF 와 XSS

XSS자바스크립트를 공격!글 쓰기 같은 내용에 스크립트 태그로 잔뜩 연산시키는 공격.보통 태그를 작성 못하게 막는데, Lucy XSS filter로 막을 수 있다. CSRF쿼리 파라미터로 특정 데이터를 조작할 수 있는 URI가 있을 때,보통 시큐리티로 관리자만 접근 가능하게 해놓는데,해커가 자신의 뜻대로 작성한 URI를 관리자가 클릭하게 만드는 행위. 이런

15.[블로그 프로젝트] 비밀번호 해쉬화 해서 회원가입

시큐리티는 어떤 원리로 작동할까?스프링에서 로그인 요청을 하면 시큐리티가 이를 지켜보다가username과 password를 가로채간다.시큐리티는 가로챈 username과 password로 로그인을 진행시키고,시큐리티 세션에 해당 유저 정보 객체를 저장하고, DI하여 사용하도록 한다.(이때, 세션에 저장된 유저 정보는 UserDetails 객체다.) 그러면

14.[블로그 프로젝트] 스프링 시큐리티 체험, 로그인 페이지 커스터마이징

Spring starter security일단 스프링 시큐리티를 이용하기 위해 pom.xml에 있는 관련 dependency를 모두 주석해제하자.그리고 전통적 방식 로그인 메서드를 주석처리하고 다시 사이트에 들어가려면…이렇게 시큐리티가 로그인 화면을 띄우게 된다. 이렇게 Spring starter security는 진입할 때 로그인 정보를 입력하도록 한다!

13.[블로그 프로젝트] 전통적인 로그인 구현

loginForm.jsp회원가입을 구현했던 것과 비슷하게 진행한다.loginForm.jsp에서 button 태그를 form 밖으로 빼고, 스크립트 태그를 추가해 user.js를 읽을 수 있게 했다. 123456789101112131415161718192021222324<%@ page contentType="text/html;charset=UT

9. 스프링의 전통적인 트랜잭션

스프링이 시작되면 톰캣 시작 web.xml 읽음 context.xml 읽고 DB 연결테스트되면 세팅 끝! 이러고 나서 요청이 들어오면,web.xml -> 필터 -> 스프링컨테이너[컨트롤러-서비스-레파지토리] -> 영속성컨텍스트 -> DB 전통적인 방식 (모두가 다같이 처음에 시작!) web.xml과 필터를 거치게되면… DB

2. DB 격리 수준

DB 격리 수준트랜잭션의 결과물을 데이터베이스에 적용시키는 기준을 의미 오라클의 READ COMMIT예를 들어 오라클에선 READ COMMIT이란 격리 수준을 가짐.READ COMMIT은 커밋된 것만 읽을 수 있다는 의미다. 만약에 특정 데이터를 수정한다면,원래 데이터는 undo 영역에 복사되고,해당 트랜잭션이 커밋되지 않은 동안 해당 데이터를 select

1. MongoDB로 NoSQL 찍먹하기

데이터베이스와 파일시스템의 가장 큰 차이는?자기기술성파일 시스템은 파일을 특정 응용프로그램이 있어야 열 수 있다.db는 sql만 있으면 어떤 응용프로그램이든 열 수 있다.즉 sql은 자기기술성을 가진다. NoSQLNoSQL = Not only SQL = 데이터 접근 방식이 sql말고 다른 거도 가능함Document 타입 : key : va

1. 컴퓨터 구조에 대한 인트로.

왜 하드웨어 배워야 되는가?컴퓨터 기본 구조를 알아야 정확하고 깔끔한 코드를 작성할 수 있다. 컴퓨터란 무엇인가?compute(연산하다) + er(하는 사람,도구)고정된 연산만 제공하면 Calculator연산을 작성하고 저장하기도 하면 Computer 컴퓨터는 3가지로 나뉜다 입출력장치CPU : 연산(program counter, arithmetic l

8. 스프링 부트의 서비스

트랜잭션트랜잭션은 일이 처리되기 위해 데이터를 작성,수정하는 가장 작은 단위를 의미한다.여러 트랜잭션이 묶여서 하나의 트랜잭션이 될 수 있다.(유튜브 영상 찍기를 위해서 - 카메라 준비, 영상 찍기, 영상 편집 이렇게 세가지 트랜잭션이 된다.)(그리고 이 세가지 트랜잭션은 영상을 업로드하기 위한 트랜잭션으로 묶일 수 있다.) 여러 트랜잭션이 모인 것을 우리

7. Ajax를 사용하는 이유?

회원가입 같은 로직에서 Ajax를 사용하는 이유를 알아보자. 첫번째 이유 요청에 대한 응답을 html이 아닌 Data(json)을 받기 위해서! 만약 브라우저가 회원가입을 요청했다고 하자,요청을 받은 서버는 회원정보를 DB에 넣고, 브라우저에 응답을 보내줘야 하는데,회원가입 성공을 하면 메인화면 html을 보내줄 수 있다. 근데 클라이언트가 항상 브라우