전체 글 153

Java 컴파일 과정 및 메모리 구조

자바는 OS과는 독립적이다 그 이유는 JVM(Java Virtual Machine)이 OS와 프로그램 사이에서 기계어로 해석해주는 역할을 하기 때문이다. 따라 어떠한 OS든 자바가 설치 되어있다면 JVM에 의하여 .java 코드가 기계어로 해석 될 수 있다. 자바 개발자들이 Eclipse나 다른 개발 툴을 사용해 .java파일을 생성한 후 Build라는 작업을 통하여 Compiler을 통하여 .class파일을 생성하게 됩니다. 현재 이 파일은 컴퓨터가 읽을 수 없는 자바 바이트코드 입니다. 이렇게 생성된 자바 바이트 코드(.class)는 ClassLoader에 의해서 JVM 내로 로드 되고 실행 엔진에 의해 기계어로 해석되어 메모리상에 배치 되게 됩니다. ----- 메모리 영역 ------- Stack ..

JAVA 2021.03.21

react-redux

벨로퍼트 블로그 정리 리덕스 모듈 - 특정 기능을 구현하기 위하여 필요한 액션과, 액션 생성함수와, 초기값, 리듀서 함수가 들어있는 파일 src/store/modules/counter.js ```javascript // 1. 액션 타입 정의하기 const CHANGE_COLOR = "counter/CHANGE_COLOR"; const INCREMENT = "counter/INCREMENT"; const DECREMENT= "counter/DECREMENT"; // 액션 이름을 지을 떄 문자열의 앞 부분에 모듈 이름을 넣는데 이는 다른 모듈 작성 시 다른 액션과 충돌되지 않게 하기 위함 // 2.액션 생성함수 정의 export const changeColor = color = > ({ type : CHAN..

React-redux.md

1.Provider - Component에서 Redux를 사용하기위해 제공해주는 컴포넌트 ```javascript import {Provider} from 'react-redux' ``` connect([..options]) - 컴포넌트를 REDUX에 연결하는 또다른 함수를 반환 - connect()(Counter) -> store에 연결 된 새로운 컴포넌트 클래스가 반환됨 -> 옵션이 없으면 this.props.store로 접근 가능 ex) connection ( [mapStateToProps], [mapDispatchToProps], [mergeProps], [options] // {[pure=true],[withRef = false]} )

SpringBoot를 이용한 Rest API -1

Spring Framework 개요 - Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 애플리케이션의 전 영역을 포괄하는 범용적인 프레임 워크 특징 1. 컨테이너 역할 - Java 객체들이 컨테이너에 담겨 관리된다 (Life Cycle관리) - 필요한 객체를 가져와 사용할 수 있다 2. DI(Dependency Injection) 지원 - 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있다 3. AOP(Aspect Oriented Programming)지원 - 복잡한 기술들을 간단하게 Spring에서 사용할 수 있도록 사용하게 해줄 수 있는 프로그래밍 기법 4. POJO(Plain Old Java Object) 지원 - 특정한 인터페이스를 구현하거나 ..

React 상태관리 (Context, Redux)

React 상태관리 1. Context - 단계마다 일일이 props를 넘겨주지 않고도 컴포넌트 트리 전체에 데이터를 제공할 수 있습니다. 의 컴포넌트에 있는 state,prop의 정보를 컴포넌트를 거치지 않고 에게 바로 전달 해줄 수 있다 주의) context 사용시 컴포넌트를 재사용하기 어려워질 수 있다. 사용법 const MyContext = React.createContext(defaultValue) or import {createContext} from 'react' const MyContext = createContext(defaultValue) // defaultValue는 트리 안에서 적절한 Provider를 찾지 못했을 때만 쓰이는 값 사용할값 : { name : "LEE" age : 2..

6/7 스프링가이드 정리

1.디렉토리 구조 1-1 Layer - 프로젝트 이해가 낮아도 전체적인 구조를 빠르게 파악 가능 - 작성 하고자하는 계층이 명확할 경우 빠르게 개발 가능 - 각 레이어 별로 수십개의 클래스들이 존재하여 코드 파악이 어 려우며 코드의 응집력이 떨어짐 1-2 Domain - 관련된 코드들이 응집해 있음 - 디렉토리 구조를 통해 도메인을 이해할 수 있다 - 도메인 지식 없어 이해하기 어려움 - 각 계층을 구분하기 위한 논의가 필요 domain : 도메인을 담당 (API,Service 로직) - api : 컨트롤러 클래스들이 존재 - domain : 도메인 엔티티에 대한 클래스로 구성 특정 도메인에 만 속하는 Embeddable,Enum 같은 클래스 구성 - dto : 주로 Request,Response 객체들..

React Hooks -2

1.useContext (뭐야;) Context의 개념 확인 • 사용법 const value = useContext(MyContext) // 인자는 context 객체 그 자체여야 함 === static contextType = MyContext 또는 - context객체를 받아 그 context의 현재 값을 반환한다. - context의 현재 값은 트리 안에서 이 Hooks를호출하는 컴포넌트에 가장 가까이 있는 의 value props에 의해 결정됨 - 가장 가까운 가 갱신되면 MyContext provider에 전달된 가장 최신의 context valued를 사용하용하여 렌더러를 트리거 합니다. useContext를 사용하고 있는 컴포넌트 자체부터 다시 렌더링 함 2. useReducer 이건 Red..

카테고리 없음 2020.06.05

React Hooks -1

React Hooks란? - function(함수)형 컴포넌트에서 사용할 수 없었던 라이프 사이클 및 state 형태를 사용하게 해주는 JS 라이브러리 1. useState - 함수형 컴포넌트에 state를 추가할 수 있다 - 선언된 state는 컴포넌트가 다시 렌더링 되어도 그대로 유지한다. • 사용법 const [state,setState] = 1. useState('초기값') // 배열 구조 분해 형식으로 선언 2. useState(() => {const initialState = 함수(props) return initialState }) setState("state 값을 변경할 값") // class 컴포넌트에서 this.setState 형식과 동일 //비동기식으로 선언시 두번째 인자에서 실행할 ..

Axios,Fetch

RestFull 1)Axios axios는 HTTP 클라이언트 라이브러리로써, 비동기 방식으로 HTTP 데이터 요청을 실행합니다. 내부적으로 AXIOS는 직접적으로 XMLHttpRequest 를 다루지 않고 “AJAX 호출”을 할 수 있습니다. axios("API 주소") { method : "GET,POST,PUT,DELETE" setTime : 4000 (로딩시간) } .then( res => { // 정보의 값이 들어가 있다 this.setState({ state 값 : res.data }) }) .catch(err => { this.setState({ errMsg : err 머시기 }) } 2)Fetch