본문 바로가기

전체 글

VM ware / 포맷 / 포트포워딩 모 PC 파티션 나눠서 다른 가상 운영체제 사용하는 프로그램 윈도우 포맷 순서 1. 포맷 USB 연결 (최소 8GB 이상) -> 운영체제 크기가 큼2. 연결된 상태로 바이오스 진입 (진입 단축키는 메인보드 제조사마다 다르다.)3. boot 메뉴에서 USB 최우선 인식으로 설정 (부팅이 최우선으로 기본 설정되어 있다.) VMware는 메인 PC 성능을 따라간다. :7070 접속방화벽가상웨어 방화벽 방화벽에서 인바운드 아웃바운드 (요청 들여 PC 파티션 나눠서 다른 가상 운영체제 사용하는 프로그램   윈도우 포맷 순서   1. 포맷 USB 연결 (최소 8GB 이상) -> 운영체제 크기가 큼 2. 연결된 상태로 바이오스 진입 (진입 단축키는 메인보드 제조사마다 다르다.) 3. boot 메뉴에서 USB 최우선 .. 더보기
GSAP (사용법, 기초 문법[to, from, fromTo, timeline], ScrollTrigger,) HTML5 기반 웹 애니메이션을 제작하고 제어하기 위한 강력한 자바스크립트 라이브러리 사용법1. index.html에 cdn 가져오기2. npm install gsap // gsap // ScrollTrigger // ScrollToPlugin  gsap.to()움직임의 끝을 지정하는 애니메이션본래 자리에서 어떻게 끝을 낼 것인지 지정CSS에서 animation과 관련된 모든 속성 사용이 가능하다.gsap.to('e', {key: value, key2...}); gsap.from()설정된 자리에서 어떻게 본래 자리로 돌아갈 것인지 지정gsap.from('e', {key: value, key2...}); gsap.fromTo()움직임의 시작과 끝 모두 설정이 가능하다. gsap.fromTo(.. 더보기
VUE.js vue3 기초 설치부터 기본 문법 기존 vue2를 사용하여 작업하고 있었는데 이젠 vue2의 지원이 끝났다고 들어 vue3 공부를 시작했다. 기존 디렉토리에 vue2 파일들이 있어 에러가 나서 npm uninstall -g vue-clinpm install -g @vue/cli 두 명령어를 통해 vue를 전역으로 재설치했다. 작업할 프로젝트 루트 터미널에서 vue create 프로젝트명 프로젝트를 생성했다. 프로젝트를 생성하면  node_modules : 프로젝트에 쓰이는 라이브러리 모아놓은 폴더src : 소스코드 폴더public : html, 기타 파일 폴더package.json : 라이브러리 버전 관리, 프로젝트 설정 기록 4가지 폴더가 생성된다.우린 src 폴더에서 작업을 시작한다. .gitignore : 깃에 올려지지 않을 코드들.. 더보기
JPA / spring boot (spring security, 회원가입 && 로그인 기능 feat. Bcrypt, RSA) BCrypt 단방향 암호화가 가능한 암호화 방법이다.유저가 보낸 문자열을 암호화할 순 있지만 다시 같은 문자열로 복호화는 불가능하다. 대신 Bcrypt.checkpw(유저가 보낸 패스워드, DB 저장된 해시값) 을 사용하면 암호화된 문자열과 비교는 하게 해준다. 특징 1. 같은 문자를 해싱하면 항상 같은 결과의 암호화된 문자열을 뱉어낸다.2. 이로 인해 생긴 문자열은 본래의 문자열을 추론할 수 없다. RSA 양방향 암호화가 가능한 암호화 방법이다.공유키와 개인키 두 쌍의 키로 암호화를 진행한다. 암, 복호화 둘 다 가능하기 때문에 본래의 문자열을 돌려받을 수 있다. =====================================================회원가입 프로세스 1. 유저가 값을 입력할 프.. 더보기
JPA / spring boot (session, token, oauth) 세가지 방식을 통한 로그인 처리 1. session입장권을 발급받아 그 입장권에 유저의 세션 id를 저장하고 서버나 DB에 보관한다. 장점유저가 입장권을 관리하지 않기 때문에 token에 비해 보안이 철저하다. 단점유저가 get, post 요청을 할 때마다 DB 조회를 하기때문에 과부하가 걸릴 수 있다. 2. token유저에게 유저의 정보가 담긴 입장권을 직접 발급한다.유저가 입장권을 조작은 못 하는게 해당 정보를 짧은 문자열로 암호화하기에 저장된 값과 다르면 응답을 받을 수 없다. 장점유저가 직접 입장권을 관리하기 때문에 대규모의 데이터를 관리할 때도 DB에 부담이 덜하다. 단점유저가 직접 입장권을 관리하는 만큼 그 입장권이 해킹당하면 서버에선 막을 수단이 없다. session || token 차이점 .. 더보기
JPA / spring boot (JPA , ORM, Hibernate) ORM이란 데이터 입출력을 위해선 SQL문을 작성해야하지만 ORM라이브러리를 사용하면 JAVA 문법으로 데이터 관리를 할 수 있다. JPA란 JAVA에서의 ORM 표준 문법 Hibernate란 JPA의 구현체 (사용하기 편하게 구현한 것)요즘은 거의 JPA와 동일한 의미로 사용한다.  엔티티로 테이블 생성했으니 JPA로 데이터 입출력해보기 1. repository 생성2. 원하는 클래스에 repository 등록3. repository 입출력문법 사용 spring에서의 Mapper 역할? (interface) 더보기
JPA / spring boot (JPA , ORM, Hibernate) ORM이란 데이터 입출력을 위해선 SQL문을 작성해야하지만 ORM라이브러리를 사용하면 JAVA 문법으로 데이터 관리를 할 수 있다. JPA란 JAVA에서의 ORM 표준 문법 Hibernate란 JPA의 구현체 (사용하기 편하게 구현한 것)요즘은 거의 JPA와 동일한 의미로 사용한다.  엔티티로 테이블 생성했으니 JPA로 데이터 입출력해보기 1. repository 생성2. 원하는 클래스에 repository 등록3. repository 입출력문법 사용 spring에서의 Mapper 역할? (interface) 더보기
JPA / spring boot 게시글 수정 name이 id인 현재 id 값을 전달   1. RequestParam("id") : 인풋 네임이 id인 값을 받음2. 받아온 id를 서비스단의 editItem() 메소드로 전달하고 result 변수에 담음3. editItem() : 받아온 id 값에 해당하는 데이터 반환4. result가 null이 아니면 프론트단에 데이터 전달   (뷰단 바인딩 완료) 5. 기본 값을 서버에서 전달받은 데이터로 세팅하고 required로 값이 빈 채 넘어가는 것을 방지6. 버튼을 클릭시 /editItemInfo 경로로 POST 요청  7. @ModelAttribute Item 으로 받아온 데이터들을 Item 타입으로 받아옴8. 만약 받아온 데이터가 null이 아니면 url을 vo의 id경로로 설정하고 editItemI.. 더보기