Greedy 탐욕 알고리즘이라고 불립니다. 탐욕 알고리즘은 그 뜻 그대로, 결정의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 해답에 도달하는 방법입니다. 뒤를 돌아보지 않고 매우 탐욕적이죠. 그 절차로는 이렇습니다. > 현재 상태에서 최적의 답을 선택한다
위키백과에 따르면, 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘의 하나입니다.호제법이라는 말은 서로(호) 상대방의 수를 나누어(제)서 결국 원하는 수를 얻는 알고리즘을 말합니다.두 개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라고 한다면
Promise >자바스크립트에서 비동기 처리에 사용되는 객체입니다. 비동기를 사용하면 불필요한 기다림을 줄일 수 있습니다. 위 그림에서는 4-2-3-1 순서로 작업이 완료가 됩니다. 하지만 작업 완료 순서를 제어하고 싶다면 어떻게 해야 될까요. 콜백 함수를 통해
try catch finally
fetch(URL, [options]) 자바스크립트 환경에서 우리는 fetch 메서드를 통해 서버에 네트워크 요청을 보내고 새로운 정보를 받아오는 일을 할 수 있습니다. 그 인자로 접근하고자 하는 URL과 method나 header 혹은 body를 지정할 수 있는 선택
이번에는 작은 서버를 구축하여 HTTP Request를 받고, HTTP Response를 전달하는 과정을 살펴보겠습니다. 거기에 더해, 접근 권한을 부여하는 CORS에 대해서도 알아보겠습니다. HTTP Request 클라이언트에서는 fetch() 메서드를 통해 서버에
최근에 진행중인 스프린트에 관련하여 TIL을 작성하려고 합니다.저에겐 아직 쉽지 않은 과정이기에 천천히 그 과정을 밟아보겠습니다.아래의 코드는 값을 입력받아 그 값을 파일에 저장하는 코드 중 일부입니다.변수에 데이터를 저장하는 경우에는, 서버가 꺼지게 되면 데이터도 초
최근 진행 중인 chatterbox 스프린트의 서버를 Express 프레임워크로 리팩토링을 했습니다. 그 과정을 되돌아보며 전체적인 흐름을 곱씹어보겠습니다. Express 설치 먼저 작업 중인 디렉토리에 npm을 통해 Express 프레임워크를 설치합니다. npm으로
리액트를 배우기 시작했습니다.리액트를 설치하는 것부터 시작해서 천천히 글을 작성하려고 합니다.사용자와의 interaction이 많아질수록 데이터의 상태관리가 어려워집니다. 리액트를 포함한 여러 프론트엔드 프레임워크는 이러한 동적 웹 페이지를 효율적으로 관리하기 위해 사
생명주기 https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/ 생명주기 메서드 인생과도 같다 컴포넌트의 인생ㅇ componentDidMount() 메서드는 컴포넌트 출력물이 DOM에 렌더링 된 후에 실행
// 이벤트를 발생시킬 컴포넌트에서 콜백함수를 통해 함수를 실행시키고, 콜백함수의 인자를 전달한다. // 전달받은 인자를 부모 컴포넌트에서 setState 메서드를 통해 state를 변화시킨다. // setState 메서드 사용 시 객체를 사용 / 콜백함수를 사용
Side Effect란? > "함수(또는 컴포넌트)의 입력 외에도 함수의 결과에 영향을 미치는 요인"입니다. 대표적으로 네트워크 요청, API 호출이 그러합니다. 이번에는 검색 기능을 구현하고, 검색어를 통해 YouTube API를 호출하고, 전달받은 데이터를 렌더링
컴포넌트의 상태관리를 하기 위해서는 클래스 컴포넌트를 사용해야만 했습니다. 하지만 Reack Hook은 함수 컴포넌트에서도 상태관리를 가능하게 합니다. 클래스의 this에 의해 헷갈릴 필요가 없어졌습니다. 공식문서에 따르면, 클래스는 '코드의 최소화를 힘들게
Effect Hook의 clean up React Hook_part1에서는 useState와 useEffect 메서드를 살펴보았습니다. 특히 useState를 사용하여 함수 컴포넌트 안에서 state를 관리하는 방법, useEffect와 그것의 두 번째 인자를 사용하
노마드 코더의 React 클론 코딩을 하면서 새롭게 배운 몇 가지를 정리해보고자 합니다.axios 공식 github에 따르면, Axios란 Promise 기반의 HTTP client입니다.사람들은 fetch 함수보다 axios를 선호한다고 하는데, 이유가 무엇일까요?다
Redux란 >리액트 생태계에서 가장 사용률이 높은 상태관리 라이브러리입니다. 리덕스는 컴포넌트들의 상태 관련 로직들을 다른 파일로 분리시켜서 상태를 더 효율적으로 관리할 수 있게 해줍니다. 리액트와 이름이 비슷해서 오해할 수 있지만, 리덕스는 리액트의 하위 라이브
리덕스를 배우면서 중요한 개념들을 코드 예시와 함께 남겨보려 합니다. Store >애플리케이션의 상태 관련 모든 로직을 담당하는 저장소라고 볼 수 있습니다. src 디렉토리 아래에 store.js파일을 생성하고, store관련 로직들을 이 곳에 구현했습니다. 구현
데이터베이스의 상태를 변환시키기 위해 수행되는 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위입니다.예를 들어, 게시글을 작성하고 작성 버튼을 누르고 나면, 작성자는 자신의 게시글이 포함된 게시판을 보게 됩니다. 이것이 하나의 작업 단위가 되고, 트랜잭션이 됩니다.데이
드디어 데이터베이스를 배우기 시작했습니다. 개인적으로 조금 더 숙지해야 할 구문들을 정리해보았습니다. 데이터베이스 삭제 >DROP 데이터베이스_이름 하나의 row를 삭제하기 위해서는 DELETE 구문을 사용합니다. 하지만 데이터베이스와 테이블을 삭제하기 위해서는
MVC 패턴 Model 데이터 정보를 갖고 있는 데이터베이스에서 데이터를 받아와서 컨트롤러에 보내줌 View 사용자가 보는 화면을 보여주는 역할을 함 컨트롤러와만 이야기함 UI Controller 뷰에서 받은 값을 가공해서 컨트롤러에게 던져줌. 컨트롤러에서 받은
aws(Amazon Web Service)를 이용한 서버 배포에 대해서 살펴보겠습니다. codestates에서 진행한 sprint의 내용을 위주로 작성해보았습니다. EC2 Instance 생성하기 AWS 홈페이지에서 EC2를 검색하여 인스턴스 시작을 진
지난번 서버 배포에 이어 클라이언트 호스팅에 대해서 살펴보겠습니다. 정적 웹 페이지 빌드 환경변수 설정 (.env파일) .env 파일에 환경변수로 우분투 인스턴스의 퍼블릭 IPv4 DNS 주소를 적어줍니다. 중요! http:// 를 포함해야 합니다! 빌드