본문 바로가기

분류 전체보기

(118)
TIL: useEffect 언제 사용할까? useEffect는 리액트 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 React Hook이다. 쉽게 말해 어떤 컴포넌트가 화면에 보여졌을 때 내가 무언가를 실행하고 싶을때, 또는 어떤 컴포넌트가 화면에서 사라졌을 때 무언가를 실행하고 싶을 때, useEffect를 사용한다. //App.js import React, { useEffect } from "react"; const App = () => { useEffect(() => { // 이 부분이 실행된다. console.log("hello useEffect"); }); return Home; } export default App; 브라우저에서 App컴포넌트를 눈으로 보는 순간, App 컴포넌트가 화면에 렌더링 될 ..
TIL: 서버에 데이터 보내기. formData, JSON.stringify() 방식 왜 쓰는가? 프로젝트 진행 중 서버에 POST 요청을 보내는건 항상 있는 일이다. 예전 미니프로젝트 때 처음으로 데이터를 보냈었는데 사진과 text를 묶어서 보내느라 formData로 보냈었다. 유일무이한 방식인 줄 알았는데 아니었다. 미니프로젝트의 코드는 아래와 같음 ... const onSubmitHandler = async (event) => { event.preventDefault(); let req = { title: title, content: content, }; const formData = new FormData(); formData.append("image", image); let json = JSON.stringify(req); const titleblob = new Blob([json], { t..
알고리즘 !! 시간복잡도 & 자료 구조 & 정렬 시간복잡도 알고리즘의 로직을 코드로 구현할 때, 시간 복잡도를 고려한다는 것은 바꿔 말해 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 라는 말이다. Big-O 표기법 : 입력값의 변화에따라 연산을 실행할때, 연산 횟수에 비해 시간이 얼마만큼 걸리는가? 를 표기하는 방법. Big-O(빅-오) ⇒ 상한 점근 (최악의 경우) Big-Ω(빅-오메가) ⇒ 하한 점근 (최선의 경우) Big-θ(빅-세타) ⇒ 그 둘의 평균 가장 자주 사용되는 표기법. 최악의 경우도 고려해 대비하는 것이 바람직하다. Reference https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84..
TIL: 조건부 렌더링 조건부 렌더링이란, 특정 조건에 따라 다른 결과물을 렌더링 하는 것을 의미한다. 예로 App 컴포넌트에서 Hello 라는 컴포넌트를 사용 할 때, isSpecial 이라는 props를 설정해보자. App.js import React from "react"; import Hello from "./Hello"; import Wrapper from "./Wrapper"; function App() { return ( ) } export default App; 여기서 true는 자바스크립트 값이기 때문에 중괄호로 감싸주었다. 그리고, Hello 컴포넌트는 isSpecial이 true 이냐, false이냐에 따라서 컴포넌트의 좌측에 *표시를 보여줄것이다. 이를 처리하는 가장 기본적인 방법은, 삼항연산자를 사용하는..
TIL: React를 사용하는 이유 결론 : 요즘의 웹이 정적이고 단순한페이지를 넘어서 규모도 커지고 복잡하며 동적으로 바뀌었기 때문. 오픈소스 자바스크립트 라이브러리인 React, Vue를 사용하지 않아도 모두 바닐라 JS로 구현이 가능하며 정적인 웹페이지를 만드는 것 만이 목적이라면 굳이 프레임워크의 도움을 받지 않아도 되고 성능적 측면에서 바닐라 JS가 더 나을 수도 있다. 하지만 최근의 웹은 복잡하고 동적으로 변하고 있으며 이에 따라 프로젝트의 규모도 더 커졌다. 동적인 UI를 처리하기 위해서 그만큼 DOM 요소들에게 많은 연산을 하는 과정이 반복되면서 과부하가 걸리고 성능 측면에서도 당연히 좋지 않다. React를 사용해야 하는 이유 기능적인 측면에서는 굳이 Framework를 사용하지 않아도 되지만, Framework를 사용하는..
TIL: [JavaScript] this this의 정의 this : '이것'이라는 뜻. JavaScript 예약어다. this는? this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)이다. this는 자바 스크립트 엔진에 의해 암묵적으로 생성된다. 하지만 this는 객체의 프로퍼티나 메서드를 참조하기 위한 자기 참조변수이므로 일반적으로 객체의 메서드 내부 또는 생성자 함수 내부에서만 의미가 있다. 함수를 호출하면 인자와 this가 암묵적으로 함수 내부에 전달된다. 함수 내부에서 인자를 지역 변수처럼 사용할 수 있는 것처럼, this도 지역 변수 처럼 사용할 수 있다. 단 this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. 크게 전역..
TIL: position 속성 CSS에서 position은 문서 상에 요소를 배치하는 방법을 지정한다. top, right, bottom, left 속성이 요소를 배치할 최종 위치를 결정한다. 시도해보기 position - CSS: Cascading Style Sheets | MDN CSS position 속성은 문서 상에 요소를 배치하는 방법을 지정합니다. top (en-US), right (en-US), bottom (en-US), left (en-US) 속성이 요소를 배치할 최종 위치를 결정합니다. developer.mozilla.org static 태그에 아무런 값도 주지 않아도 주어지는 기본값. 요소를 일반적인 문서의 흐름에 따라 배치한다. top, right, bottom, left, z-index가 아무런 영향도 미치지 ..
TIL: HTTP HTTP (Hypertext Transfer Protocol)는 클라이언트-서버 간 통신을 가능하게 하도록 설계되었다. HTTP는 클라이언트와 서버 간의 요청-응답 프로토콜로 작동한다. 예: 클라이언트(브라우저)가 서버에 HTTP 요청을 보낸다. 그런 다음 서버는 클라이언트에 응답을 반환한다. 응답에는 요청에 대한 상태 정보가 포함되며 요청된 콘텐츠도 포함될 수 있다. HTTP 메소드 GET POST PUT HEAD DELETE PATCH OPTIONS CONNECT TRACE 가장 일반적인 메소드는 GET, POST이다. GET GET은 지정된 리소스에서 데이터를 요청하는 데 사용된다. 쿼리 문자열(이름/값 쌍)은 GET 요청의 URL로 전송된다. /test/demo_form.php?name1=valu..

반응형