TIL173 자바스크립트 동기와 비동기 (22.11.12 TIL) 동기는 요청 후 응답을 받아야 다음 동작을 실행하는 방식을 말하며 비동기는 요청을 보낸 후 응답과 관계없이 다음 동작을 실행하는 방식이다. 자바스크립트는 단일 스레드 프로그래밍 언어로 단일 호출 스택이 있어 한 번에 하나의 일을 처리할 수 있다. 그러므로 자바스크립트는 동기 방식으로 진행된다. 하나의 호출 스택만 있기 때문에 하나의 함수를 처리하는 데 매우 오랜 시간이 걸린다면 다음 실행해야 할 함수에 지장을 줄 수 있다는 문제가 발생한다. 이 부분이 바로 비동기의 필요성이다. 그렇다면 자바스크립트에서는 어떻게 비동기를 구현할까? 1. callback 함수 이용 callback (이하 콜백) 함수는 다른 함수의 인자로써 이용될 때나 어떤 이벤트에 의해 호출되어질 때 사용하는 함수로, 비동기 처리의 해결방.. 2022. 11. 12. 나만의 메뉴 구현 (22.11.11 TIL) 이번 주 퀘스트 과제에 있던 나만의 메뉴 구현하기. 투두리스트로 나만의 메뉴를 만들어 보았다. 강의반복과제와 유사해서 마치 복습을 하는 듯한 바이브로..^^ 거기에 삭제와 체크박스 기능 추가! 삭제 기능을 구현할 때는 filter() 메서드를 사용해서 아이디값이 다른 것만 찾아서 setTasks() 로 새로운 배열을 만들어 상태관리를 따로 해주었다. const deleteTask = (id) => { setTasks(tasks.filter((task) => task.id !== id)); }; 그럼 체크박스의 상태를 false 와 true 로 바꿔줄 때는 어떻게 해야 할까? const completeTask = (id) => { setTasks(tasks.map((task) => { if (task.id.. 2022. 11. 11. React - Rerendering 조건 (22.11.10 TIL) 리액트에서 상태 변수는 브라우저에서 구성 요소 상태를 렌더링하는 데 사용된다. 상태가 변경되면 리액트는 새 데이터로 구성 요소를 다시 렌더링한다. 프로그램에서 발생하는 모든 변경 사항을 사용자에게 (상태가 변경될 시) 바로 알려준다. Rerendering 조건 1. state (상태) 변경이 있을 때 - state 변경이 감지되면 리렌더링 한다. 2. 새로운 props 가 들어왔을 때 - 부모 컴포넌트로부터 새 props 가 들어오면 자식 컴포넌트는 리렌더링 된다. 3. 기존 props 가 업데이트 됐을 때 - 부모 컴포넌트로부터 받은 props 가 변경되면 props 값을 받은 자식 컴포넌트도 리렌더링 된다. 4. 부모 컴포넌트가 리렌더링 될 때 - 부모 컴포넌트가 업데이트 되어 리렌더링 되면 자식 컴.. 2022. 11. 10. React - require vs import (22.11.09 TIL) vscode 로 작업을 하던 도중, import 를 시도하면 자꾸 require 로 불러와졌다. 강의대로 import 를 사용하긴 했지만 require 와 import 의 차이점은 알고 싶어 정리하는 글이다. require / exports 는 NodeJS에서 사용되고 있는 CommonJS 키워드이고 Ruby 언어 스타일과 비슷하다. import / export 는 ES6(ES2015)에서 새롭게 도입된 키워드로서 Java나 Python 언어 방식과 비슷하다. 원래 기존까지는 Node.js 개발 환경에서 모듈을 불러올 때 기존의 자바스크립트가 지원하는 방식대로 require / exports 를 사용했었다고 한다. require / exports 는 각각 불러오고(require) 내보내는(exports).. 2022. 11. 9. controller 간단하게 만들기 (22.11.08 TIL) 오늘 아샬님의 금요 지식회 같은 특강에서 나온 부분 중 일부 정리! Controller 간단하게 만들기 일반적으로 컨트롤러는 presentation layer 에 속한다고 한다. UI 가 변경될 때 같이 변경되어야만 하는 대상은 대체로 presentation layer 이다. 서비스 레이어는 도메인 모델을 묶어서 이 애플리케이션에서 사용 가능한 핵심 작업을 설정한다. 핵심작업은 아래와 같다. 이 애플리케이션이 수행해야 하는 작업은 무엇인가? 이 애플리케이션에 내릴 수 있는 명령은 무엇인가? 보통 도메인 모델의 비즈니스 로직 하나를 호출하는 것만으로는 복잡한 작업을 처리할 수 없다. 도메인 모델을 불러와 요청을 가공하고, 응답을 조정해서 (dto 로의 변환을 요청한다든지 등) 또 다른 비즈니스 로직을 호출.. 2022. 11. 8. Java - 내부 클래스(중첩 클래스), 익명 클래스 (22.11.07 TIL) 다시 돌아온 자바 개념서 정독 시간 ~_~ 1. 내부 클래스 (Inner class) 1) 클래스 안의 클래스. 중첩 클래스 라고도 함. 선언 위치에 따른 분류 선언 위치 설명 멤버 클래스 인스턴스 멤버 클래스 class A { class B { ... } } A 객체를 생성해야만 사용할 수 있는 B 중첩 클래스. 주로 외부 클래스의 인스턴스멤버들과 관련된 작업에 사용될 목적으로 선언됨. 정적 멤버 클래스 class A { static class B { ... } } A 클래스로 바로 접근할 수 있는 B 접근 클래스. 주로 외부 클래스의 static 멤버, 특히 static 메서드에서 사용될 목적으로 선언됨. 로컬 클래스 class A { void method() { class B { ... } } } .. 2022. 11. 7. 이전 1 ··· 12 13 14 15 16 17 18 ··· 29 다음