전체 글
-
#React JS-4 React LifeCycleReact 2021. 6. 10. 09:46
React LifeCycle 1. Mounting React 컴포넌트 객체가 DOM에 실제로 삽입되기 전까지의 과정(Mounting) 1) contructor() 2) compoentWillMount() 3) render() 4) compoentDidMount() 기본적으로 컴포넌트가 모두 구성된 직후인 componentDidMount() 함수에서 API 호출을 수행하면 효과적 2.Updating 기본적으로 화면에 특정한 객체를 렌더링하기 위해서는 props 혹은 stste를 사용 props와 state는 이러한 과정이 서로 다르지만 대략적으로 다음과 같은 순서로 수행 1) shouldCompoientUpdate() 2) componentWillUpdate() 3) render() 4) component..
-
#React JS-3 propsReact 2021. 6. 8. 10:45
props - props는 속성(property)의 약자 - 속성 형태로 데이터 전달 - 컴포넌트 내부의 immutable Data(변하지 않는 데이터 처리) - JSX 내부에 {this.props.propsName} - 컴포넌트를 사용 할 때, 괄호 안에 propsName="value" - this.props.children은 기본적으로 갖고있는 props로서, 여기에 있는값이 들어간다. props ex 1) props ex 2) App Component props를 하위 Test props로 전달 먼저 이자체의 App Component의 props를 만들어준다. props 기본 값 설정 Component.defaultProps = {...} 타입 검증 Component.propsType= {...} ..
-
#React JS-2 JSX???React 2021. 6. 7. 21:56
js에서 react를 사용해서 인자를 생성후 render하면 된다. const element = React.createElement("h1",null, "Hello, world" ); //가운데 값을 null로 줄수도 있었고, children, className을 줄 수도 있다. //두번째 인자 사용해보기 const element1 = React.createElement("h1", { className: "title" children: "Hello, world!!!", }, "Hello, world"); //화면에서는 chidren 값으로 안나오고 세번째 인자를 주면 세번째 인자로 나온다. //children에 배열 주기 const element3 = React.createElement("h1", { c..
-
#React JS -1 React?????React 2021. 6. 7. 21:31
React는 프레임워크가 아닌 라이브러리 frame : 틀 1. 필요한기능이 대부분 만들어져있음 , BUT 1. 틀에서 벗어나기가 힘들다. 2. 다른 프레임워크나 라이브러리와 사용시 충돌할 가능성이 있음. 3. 필요없는 기능도 포함되어 상황에따라 무거울 수가 있다 라이브러리(React) 1. 필요한 부분에 가져다 쓰면된다. 다른 라이브러리와 충돌할 일이 없다. React - user interface를 만들기위한 라이브러리 - controller , router, ajax를 내장하지 않아 가볍다. Vitual Dom을 사용한다. JQuery, Javascript - 실제 DOM을 직접처리하면 성능도 느리고 비효율적이며 처리할 데이터가 많으면 관리하기가 힘들다. Vitual Dom은 이를 추상화 시킨것으로..
-
#Builder 패턴JAVA 2021. 5. 11. 12:02
객체를 생성하다보면 생성자를 만드는데에서 몇 가지의 문제점이 발생한다. 1. 필드의 인자값의 필요성에따라 생성자가 여러개가 될 수 있다. 2. 생성자의 순서에따라 잘못된 자료형을 삽입 할 수 있는 문제가 생길 수 있다. 이문제는 코드를 실행하기 전까지는 문제를 찾을 수가 없다. 3. 무분별한 생성자 사용으로 유지보수 측면에서 코드를 읽기 어려워질 수 있다. 예를들어 Order이라는 객체가 있을때 Item item = new Item(1,1300,"pancel"); 이렇게 매개변수를 넣게되면 어떤 정보인지 식별하기 어렵다. 하지만 이러한 방법은 Setter를 사용함으로서 어느 정도는 극복할 수 있다. Item item = new Item(); item.setCount(1); item.setPrice(130..
-
#Spring web LayerSPRING 2021. 5. 11. 09:45
스프링 웹 계층 Web Layer · 흔히 사용하는 컨트롤러(@Controller)와 JSP /Freemaker 등의 뷰 템플릿 영역. · 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역 · 웹 어플리케이션의 최상위 - 추가 용어 설명 @Filter : HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드이며 요청과 서블릿,JSP 사이에서 요청정보를 알맞게 변경 할 수 있고 서블릿,JSP에서 클라이언트로 가는 응답사이에서 요청 결과를 알맞게 변경할 수 있다. @ControllerAdvice : @Controller나 @RestController에서 발생한 예외를 한 곳에서 관리하고 처리할 수 있게 도와주는 어..
-
#RedirectAttributes로 화면에 일회성 msg 전달SPRING-BOOT 2021. 5. 7. 17:20
session 만료 기능 개발 중 한가지 문제에 직면하였다. session을 만료하고 만료msg를 전달하던 기능을 구현하였는데 get방식으로 redirect기능을 구현하여 새로고침시 계속 msg가 표출되는 문제였다. 이 문제를 해결하기위해 검색하던도중 RedirectAttributes라는 것을 알게 되었고 이기능을 사용하여 아래 처럼 문제를 해결하였다. /** * redirect 세션 만료 MSG 전달 */ @RequestMapping("/sessionExpired") public String sessionExpiredView(RedirectAttributes rttr) { rttr.addFlashAttribute("systemMsg", "세션이 만료되었습니다."); return "redirect:/";..