[React] Container(smart component) vs Component(dumb component)

참고로 제 프로젝트의 폴더 구조는 아래와 같습니다. 개념 위주로 포스팅을 하다보니, 생략한 부분이 어느정도 있습니다. 궁금한 점은 댓글 남겨주시면 답변 드리겠습니다. 이전 포스팅에서 잠깐 언급하기도 했고, 보통 폴더 구조에도 containers 폴더와 components 폴더로 나눈 게 된다. 각각의 개념과 역할에 대해서 알아보자. 그렇다.. 쉽게 말해서 container가 일은 다하고, component는 받아서 보여주기만 하는 역할을 한다…예제를 통해서 좀 … 더 읽기

[React] App 컴포넌트 마운팅 과정

참고로 제 프로젝트의 폴더 구조는 아래와 같습니다. 개념 위주로 포스팅을 하다보니, 생략한 부분이 어느정도 있습니다. 궁금한 점은 댓글 남겨주시면 답변 드리겠습니다. React의 실행순서는 Entry Point인 index.js → Root.js → App.js 순이다.여기서 index.js 안에 바로 App 컴포넌트를 붙이지 않은 이유는 Router와 Redux를 Root.js에서 연동하기 위함이다. Entry Point인 index.js에 Root 컴포넌트가 렌더링된다고 했을 때, Root.js부터 App.js에 서브 … 더 읽기

[React] Redux의 개념과 활용

1. Redux 개념 1) Redux의 필요성 리액트에서 상태를 더 효율적으로 관리하는 데 사용하는 상태 관리 라이브러리 위와 같이 컴포넌트가 구성되어있다고 가정하자. 만약, App 컴포넌트에서 데이터 상태(state)에 변화가 생겨서 state를 업데이트하면 App 컴포넌트가 리렌더링 되고,리액트 특성상 하위 컴포넌트도 모두 리렌더링 된다. 그렇기 때문에 TodoInput만 업데이트하길 원해도 TodoList도 함께 리렌더링 되는데, 이런 경우는 TodoList 컴포넌트에 shouldComponentUpdate를 구현하는 … 더 읽기

[JAVA] JDK 설치 및 환경변수 설정

JDK란?  자바 개발 키트(Java Development Kit)의 줄임말으로써 오라클에 의해 바이너리 제품으로 제공됩니다. 자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되는 소프트웨어 개발 키트(SDK)이며, 자바를 사용하기 위해서는 기본적으로 JDK가 설치되어 있어야만 사용이 가능합니다. JDK 설치/다운로드  1. JDK 설치 링크 접속 2. 아래와 같은 화면이 나올텐데, Download 버튼을 클릭한다. 3. License를 동의한다는 버튼을 클릭하고, 자신의 OS 맞는 파일을 … 더 읽기

[Ant] Windows 10에서 ant build 시, URI 관련 에러

“java.net.URISyntaxException: Illegal character in query at index” Issue) build하는 프로젝트 폴더 Path에 공백이 존재하는 경우 발생 ex) C:\Program Files\project\~ Sol) 공백 제거 https://stackoverflow.com/questions/2366270/what-does-uri-has-an-authority-component-mean Issue) URI Path가 슬래시 2개(“//”)로 시작하는 경우 Sol) build.xml 파일에서 ” ” 부분에서 “// → /”로 수정 RFC3986 참고 “When authority is not present, the path cannot begin with two slash characters  … 더 읽기

Apache Ant 란?

자바 기반의 빌드 도구 (현재 자바 개발 환경에서 표준 빌드 도구) Apache Ant 란? Ant는 Tomcat처럼 Jakarta 프로젝트의 일환으로 만들어진 산출물로 C에서 말하는 make파일과 같은 Java 프로그램용 build이다. 기존의 make, gnumake와 같은 build tool도 존재하지만 ANT는 OS와 상관없이 사용하게 되어 있다. 또한 ANT는 Configuration파일이 XML로 되어 있어 애플리케이션 구조에 맞게 적용하기에 편리하게 되어 있다. 빌드(Build)란? ANT의 주요 … 더 읽기

[JAVA] JVM(Java Virtual Machine)과 Garbage Collection

JVM이란? JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다 (가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JVM 역할은 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와  OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리관리, Garbage collection을 수행한다. 그리고 JVM은 스택기반의 가상머신이다. ARM 아키텍쳐 같은 하드웨어는 … 더 읽기

[JAVA] Multi-Thread 환경에서의 개발

Multi-Thread 환경에서의 개발 개발을 시작하는 입장에서 멀티 스레드를 고려한 프로그램을 작성할 일이 별로 없고 실제로 부딪히기 힘든 문제이기 때문에 많은 입문자들이 잘 모르고 있는 부분 중 하나라고 생각한다. 하지만 이 부분은 정말 중요하며 고려하지 않았을 경우 엄청난 버그를 양산할 수 있기 때문에 정말 중요하다. Field member 필드(field)란 클래스에 변수를 정의하는 공간을 의미한다. 이곳에 변수를 만들어두면 … 더 읽기

[JAVA] Wrapper Class

Wrapper class 기본 자료형(Primitive data type)에 대한 클래스 표현을 Wrapper class 라고 한다. Integer, Float, Boolean 등이 Wrapper class 의 예이다. int 를 Integer 라는 객체로 감싸서 저장해야 하는 이유가 있을까? 일단 컬렉션에서 제네릭을 사용하기 위해서는 Wrapper class 를 사용해줘야 한다. 또한 null 값을 반환해야만 하는 경우에는 return type 을 Wrapper class 로 지정하여 null을 반환하도록 할 수 있다. 하지만 이러한 상황을 … 더 읽기