분류 전체보기
-
MongoDBMEVN(MongodbExpressVueNode+Redis) 2023. 8. 1. 19:17
Insert MySQL insert into student(name, age) values("홍길동",30) MongoDB db.student({ name : "홍길동", age : 30 }) Update MySQL MongoDB db.student.updateOne( {name : {$eq :"홍길동"}}, {$set : {name : "홍수정", age : 60} } ) db.student.updateMany( {nickname : null}, {$set : {nickname : "회원"} } ) Delete MySQL MongoDB 단일 삭제 및 첫번째 데이터 삭제 db.student.deleteOne({name : /추가길동/}) 포함하는 데이터 전체 삭제 db.student.deleteMany(..
-
Node.js의 기본MEVN(MongodbExpressVueNode+Redis) 2023. 8. 1. 19:06
Node.js는 비동기적 이벤트 주도 방식 논블로킹 I/O 모델 구글의 V8엔진 자바스크립트 런타임 비동기적 이벤트 주도 방식 사용자가 서버로 요청하는 이벤트를 Node.js에서는 이벤트 큐에 넣는다 그 후 이벤트 루프를 통해 순서대로 이벤트 처리를 한다 논블로킹 I/O모델 사용자가 해당 페이지에서 다운로드를 하는데 페이지에 렉이 걸리는 등의 행위가 발생하지 않는 것 구글의 V8엔진 JIT 특징으로 프로그램이 실행하는 시점에서 기계어로 번역하는 컴파일 기법을 지닌다. 자바스크립트 런타임 프로그램이 실행될 때 그 프로그램이 머무는 공간을 의미한다 브라우저는 자바스크립트 런타입이기도 한다 브라우저 공간 안에서 자바스크립트로 만든 프로그램을 실행
-
객체의 생명주기Java 2023. 7. 26. 15:30
객체는 힙(Heap)영역에 저장되고, 변수는 스택(stack)영역에 저장 됩니다. 가비지 컬렉터에 의해 해당 메모리가 회수된다. 객체는 new키워드를 사용해 생성자를 호출할떄 생성되고 힙에 객체의 메모리 공간에 배정된다. 1. 로컬(지역) 변수 지역변수는 처리 블로내에서만 사용할 수 있는 변수(메서 등 기타 블록 내) 변수 선언한곳에서 생성되고 블록이 종료한 시점에서 종료 2. 인스턴스변수 클래스의 필드로 선언하는 변수(클래스 블록 내) 객체가 생성 될때 생성 3. 클래스 변수 클래스가 메모리에 로드 될 때 생성하고 언로드 될 때 종료 static 필드로 선언한 변수 4. 가비지 컬렉션(GC) 유효하지 않는 메모리가 발생되면 JVM의 가비지 컬렉터가 불필요한 메모리를 정리해준다. 5. Servlet 생명..
-
객체지향이란?(OOP)Java 2023. 7. 26. 14:34
1. 객체지향이란? 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 장점 코드 재사용성 유지보수 단점 개발속도 느림 실행속도 느림 코드의 어려움 2. 객체지향의 4가지 특징 캡슐화 데이터와 코드의 형태를 외부에서 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법 접근 제어자(private)사용 set/get의 사용 추상화 클래스들의 공통적인 특성(변수, 메소드)들을 묶은 것 상속 부모 클래스에 정의된 변수 및 메서드들을 자식 클래스에서 상속받아 사용하는 것 자식 클래스에서 extends 키워드 사용 다형성 하나의 클래스 내부에 같은 이름으로 여러개 정의 하거나 상위 클래스의 메서드 들을 하..
-
Spring boot #7Java/Spring 2023. 5. 23. 09:10
4장 AuthenticationPrincipal을 사용하고 SecurityContext에 등록한다 정리 사용자 관리를 위한 User레이어를 구현한다. 모든 요청마다 한 번씩 사용자를 인증하기 위해 스프링 시큐리티가 제공하는 onceperrequestfilter를 상속해 jwtauthenticationfilter를 작성 했고, websecurityconfigureradapter를 상속해 어떤 경로는 인증해야하고 어떤 경로는 인증하지 않아도 되는지 어느 지점에서 filter를 실행할지도 설정 한 5장(프론트엔드 통합) 로그인 후 백엔드 서비스에게 받은 토큰을 어딘가에 저장해 놓고 HTTP요청을 보낼때마다 헤더에 Bearer토큰으로 지정해줘야 한다. 로그인 후 토큰을 저장할 로컬 스토리지 저장하는 로직을 구현..
-
Spring boot #6Java/Spring 2023. 5. 22. 09:09
4장 인증 백엔드 통합 인증 엑세스 할 수 있는 지 확인하는게 인증 이다 인가 자원을 어디까지 활용 할 것 인지에 대한 정의 이다 Basic인증 Basic 인증에서 최초 로그인 후 HTTP 요청 헤더 Authorization 아이디와 비밀번호를 콜론으로 이어 붙인 후 Base64로 인코딩한 문자열 함께 보낸다 토큰 기반 인증 최초 로그인 시 서버가 만들어 준다. 클라이언트는 이후 요청에 아이디와 비밀번호 대신 토큰을 계속 넘겨 자신이 인증된 사용자임을 알린다 토큰은 서버가 마음대로 생성할 수 있으므로 사용자가의 인가 정보 또는 유효기간을 정해 관리할 수 있다. JSON웹 토큰 JWT 토큰{header}.{payload}.{signature}로 구성 되어 있다. Header typ : type를 줄인 말로..
-
Spring boot #5Java/Spring 2023. 5. 18. 09:12
3장 프론트엔드 개발 Node.js 자바스크립트 런타임 환경 구글 크롬의 v8 자바스크립트 엔진을 실행한다 npm node.js의 패키지 관리 시스템이다 터미널 npm version 교재는 8.5.0 버전 mkdir test-project cd test-project npm init npm install react npm install 프론트 엔드 어플리케이션 생성 프론트쪽 폴더 생성 후 mkdir react-workspace cd react-workspace npx create-react-app todo-react-app cd todo-react-app npm start localhost:3000 구동확인 npm install @mui/icons-material @mui/material @emotion..