1️⃣ 오류1 오류 메세지 java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead. 원인 Spring Security의 CORS 설정이 잘못 되어 있었다. Security에서 CORS 설정시 .addAllOrig..
1️⃣ Axios란? 자바스크립트에서 HTTP 통신을 쉽게 처리할 수 있도록 만든 HTTP 비동기 통신 라이브러리입니다. 쉽게 말해 백엔드와 프론트엔드가 쉽게 통신을 하기 위해 Ajax와 더불어 사용됩니다. 이미 자바스크립트에는 fetch api가 있지만, 보통 프레임워크에서 ajax를 구현할 땐 axios를 씁니다. ( fetch와의 차이점을 아래에서 더 알아보겠습니다. ) Node.js 와 브라우저에서도 사용할 수 있습니다. Axios에는 많은 기능들이 있어서, 쉽고 편리하게 데이터를 가져올 수 있어서 개발자들이 많이 사용하는 방법입니다. 2️⃣ Axios 특징 Promise(ES6) API 사용 요청과 응답 데이터의 변형 HTTP 요청 취소 HTTP 요청과 응답을 JSON 형태로 자동 변경 3️⃣ ..
component, probs, state 등을 적절히 사용하여 추가' 버튼을 누르면 인풋창에 입력한 값이 저장되어 나타나도록 구현해봤습니다. 아주아주 간단하지만 개념들을 익숙해지게 하기 위해 연습해본 과정을 기록해봅니다! 1️⃣ 인풋창과 버튼 생성 import './App.css' export default function App() { return ( 추가 ) } 먼저 App.js에 인풋창과 버튼을 생성해줍니다. 2️⃣ 인풋창에 입력한 값을 가져오기 onChange 이벤트 : input창에 값을 입력할 때 마다 호출되는 onChange 이벤트 (event) 안에 input에 입력한 값이 들어있습니다 ⇒ 확인해보려면 console.log(event.target.value) ⇒ input에 값을 칠 때 ..
1️⃣ 배경 자동으로 값이 업데이트되면 UI도 업데이트 시켜주자! 하고 나온 게 리액트 하지만 모든 변수가 변할 때마다 렌더링 해주는 건 비효율적이고 부담이 큰 일 그래서 나온 게 State 라는 개념 ! 변수가 바뀐 건 신경쓰지 않음 하지만 state가 바뀌었어???????? 그러면 UI 렌더링 해주자!!!!!!!!!!!! 2️⃣ 방법 ① import 해주기 import React, {useState} from 'react'; ② useState() useState란? 리액트에서 제공해주는 유용한 함수 중 하나 ⇒ react hook funtion App() { let count = 0 const [count, setCount] = useState(0) // 0은 초기값 useState() 함수는 배열..
JSX는 함수 호출과 객체 생성을 위한 문법적 편의를 제공하는 JavaScript의 확장 JSX는 Babel에 의해서 Transcompile 됩니다. HTML 태그 내에 JavaScript 연산 class -> className 스타일은 object로 닫는 태그 필수 최상단 element는 반드시 하나 1️⃣ 규칙 1. HTML과 달리 모든 태그는 꼭 닫혀있어야 합니다. 2. 두 개 이상의 엘리먼트는 무조건 하나의 엘리먼트로 감싸져 있어야 합니다. import React, { Component } from 'react'; class App extends Component { render() { return ( Hello World ); } } export default App; 예를 들어 위의 코드는 엘..
1️⃣ Props란? 상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달해주는 객체입니다. 다시 말하면, 상위 컴포넌트에서 어떤 데이터를 보낼 것인지 정해 이 데이터를 props를 통해 객체 형태로 하위 컴포넌트로 보내줍니다. 2️⃣ 기본 사용법 예를 들어, App 컴포넌트에서 TodoList 컴포넌트를 사용 할 때 ‘name’ 이라는 값을 전달해주고 싶다고 합시다. 그러면 App.js에 이렇게 작성하면 됩니다. ⇒ 컴포넌트 내부에서 코드를 작성합니다. App.js import React from 'react'; import TodoList from './TodoList'; function App() { return ( ); } export default App; 그리고나서 TodoList 컴포넌트에서 na..
1️⃣ Component란? ‘웹 페이지를 만드는 퍼즐 조각’ 입니다. 개발자는 컴포넌트 조각을 설계하고 만든 컴포넌트를 조합해서 사용자 인터페이스(UI)를 구축합니다. 자바스크립트의 함수가 특정값을 반환하는 것처럼 컴포넌트는 자바스크립트의 함수처럼 작동해서 리액트 엘리먼트를 반환합니다. 어떤 데이터 집합을 사용하든 같은 컴포넌트를 사용하면 모두 동일한 DOM 구조가 반환됩니다. 따라서 같은 컴포넌트를 사용해 동일한 DOM 구조를 지닌 인스턴스를 원하는 개수만큼 만들 수 있습니다. 2️⃣ 함수형 컴포넌트 function으로 정의하고 return문에 jsx 코드를 반환. import React from 'react'; import "./App.css"; function TodoList() { const n..
1️⃣ 폴더 구조 my-app ├── node_modules ├── public ├── src ├── .gitignore ├── package.json └── README.md node_modules npm install을 하여 현재 프로젝트에 설치된 라이브러리들이 설치되어 있는 폴더로 보통 깃과 같은 저장소에 올릴 때는 이 폴더를 함께 올리지 않습니다. public index.html과 같은 정적 파일이 포함되는 곳으로 컴파일이 필요 없는 파일들이 위치하는 폴더입니다. src 리액트 내부에서 작성하는 거의 모든 파일들이 이 폴더 내부에서 작성되며 이 폴더에 있는 파일들은 명령어에 따라 JS로 컴파일이 진행됩니다. .gitignore 깃에 포함하고 싶지 않은 파일의 이름 혹은 폴더등을 입력하는 파일입니다..
React 란? React는 웹 프레임워크로, 자바스크립트 라이브러리 입니다. facebook에서 제공해주는 프론트엔드 라이브러리라고 볼 수 있습니다. 싱글 페이지 애플리케이션이나 모방리 애플리케이션의 개발 시 토대로 사용될 수 있습니다. 즉, 현재 많이 활용되고 있는 웹/앱의 View를 개발할수 있도록 하는 인기있는 라이브러리라고 볼 수 있습니다. React를 쓰는 이유? 가상 DOM을 사용하여 실제 DOM의 변경사항을 최소화합니다. 이를 통해 빠른 성능을 유지하면서도 효율적인 UI 업데이트를 가능하게 합니다. 컴포넌트 기반의 아키텍처를 채택하여 UI를 재사용 가능한 작은 단위로 분할하고 관리할 수 있게 합니다. 이로 인해 코드의 유지보수가 용이해지고, 개발 효율성이 향상됩니다. 단방향 데이터 흐름을 ..
1️⃣ node js 설치 https://nodejs.org/ 다운받은 파일을 실행 → Next → Install → Finish 설치 후 터미널 또는 cmd창에 node -v 을 작성하면 설치 버전을 확인할 수 있다. node -v : Node.js의 현재 버전을 출력 ^C : 실행 중인 작업을 취소 또는 종료 clear : 명령어 히스토리 지우기 2️⃣ Visual Studio Code 설치 https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web a..