반응형 tech documents/memo27 [우아한 테크러닝 3기] async setTimeout(function(x){ console.log('First'); setTimeout(function(y){ console.log('Second'); },2000) }, 1000); - Callback hell이다. const p1 = new Promise((resolve, reject) => { }); p1.then(function(r){ }).catch(function(r){ }) - Promise()에 넘겨주는 함수는 `즉시 실행됨`. - resolve와 reject는 함수이다. - resolve를 호출하면 then에 넣어준 함수를 호출해준다. reject를 호출하면 catch에 넣어준 함수를 호출해준다. const delay = (ms) => new Promise((resolve).. 2020. 9. 3. [우아한 테크러닝 3기] Javascript function foo(x) { return 0; } - `함수 선언문`이다. 함수를 값으로 사용한 것이 아니다. const bar = function () { }; (function(){ })() - `값`으로 함수를 취급한 예시이다. function foo(x) { x(); return function() { }; } const y = foo(function() { }); - 함수를 값으로 취급할때 익명함수를 사용할 수 있다. 위에서 x와 return 값은 변수에 해당하므로, 또한 `값`에 해당하기 때문에 함수를 값으로 사용할 수 있다. - 위와 같이 함수를 받아서 함수를 리턴하는 함수를 `일급 함수`라고 함. 리액트에서 컴포넌트를 받아서 컴포넌트를 반환하는 형식이 여기에 해당됨. = 함수 : 코드를.. 2020. 9. 3. [React] redux의 mapStateToProps는 언제 실행되는가? https://hoilzz.github.io/react/connect-state/ connect의 mapStateToProps는 언제 실행될까. 그리고 리렌더링은 언제 어떻게 발생하는가. react-redux와 connect https://react-redux.js.org/using-react-redux/connect-mapstate 를 번역한 글이다. Connect: mapStateToProps로 데이터 가져오기 는 스토어에서 데이터의 부분을 선택하여 사용한다. 즉, 연결된 컴포넌� hoilzz.github.io 2020. 8. 31. [Javascript] Iterator https://medium.com/@pks2974/javascript%EC%99%80-iterator-cdee90b11c0f 2020. 8. 31. [React] redux-saga 정리 https://medium.com/@lyhlg0201/redux%EC%99%80-redux-saga%EC%9D%98-%EB%8F%84%EC%9E%85-2b065139d150 Redux와 Redux-saga의 도입 현재 나는 거래소 플렛폼에서 React를 사용하여 개발 및 유지 보수를 하고 있다. 기존기술 스택중엔 React / Redux가 포함 되어 있었고, 리덕스 미들웨어로는 Redux-Thunk를 사용하여 비동기 처리를 수행 medium.com https://meetup.toast.com/posts/140 Redux-Saga: 제너레이터와 이펙트 : TOAST Meetup Redux-Saga: 제너레이터와 이펙트 meetup.toast.com https://ssangq.netlify.app/posts.. 2020. 8. 31. [Intellij] java 프로젝트에 .jar 파일 추가 1. intellij로 java project를 만들어 사용중인데, External libraries에 .jar 파일이 추가가 되지 않았다. 프로젝트에 추가하고자 하는 .jar 파일은 프로젝트의 디렉터리 상, web/WEB-INF/lib 라는 디렉터리에 존재하였다. 보통대로라면, File - Project Structure 의 Modules의 탭에서 추가를 하였지만, 이번에는 그렇게 하여도, External Libraries에 추가가되지 않았다. 결론적으로 이유는 다음과 같다. '같은 프로젝트에 위치한 .jar 파일'이라서 External Libraries가 아닌 것이었다. 실제로 Modules 탭을 통해 추가하고나면, jar 파일의 내부 파일들을 볼 수 있게 되었다. 2020. 8. 7. [Intellij] java 프로젝트에 외부 라이브러리 추가하는 법 1. intellij 로 java 웹을 공부하는데, 아직 초보라 maven, gradle 이런건 모르고 그냥 생 프로젝트를 만들어서 공부하는 중이다. 서블릿을 공부하는데, 서블릿 모듈들을 추가하기 위해서는 아래와 같이 하면 된다. 2. File - Project Structure 의 Module 탭 클릭 위는 이미 두개의 jar를 추가해 놓은 상태이다. 여기서 오른쪽에 + 버튼을 클릭한 다음 1번을 눌러준다. 그럼 아래와 같이 디렉터리를 선택하는 화면이 나온다. 여기서 톰캣을 설치한 폴더에가서 필요한 jar파일을 추가하면 된다. 3. 추가한 jar파일을 눌러보면 디렉터리가 jakarta.servlet 이런 이름으로 되어있다. 따라서 임포트 할때는 import jakarta.servlet.ServletEx.. 2020. 8. 4. [Java] Interface 1. a. 하나의 클래스가 여러개의 인터페이스를 구현할 수 있다. (implements) class example implements I1, I2 { } b. 인터페이스도 상속이 가능하다. interface I2 extends I1{ } c. 인터페이스의 멤버는 반드시 public 이다. 2020. 7. 30. [Java] 접근제어자 1. public protected default private 같은 패키지, 같은 클래스 허용 허용 허용 허용 같은 패키지, 상속 관계 허용 허용 허용 불용 같은 패키지, 상속 관계 아님 허용 허용 허용 불용 다른 패키지, 상속 관계 허용 허용 불용 불용 다른 패키지, 상속 관계 아님 허용 불용 불용 불용 출처 : 생활코딩 opentutorials.org/course/1223/6061 접근 제어자 - 생활코딩 자유와 규제 프로그래밍 도구의 기본적인 목표는 생각하는 것을 자유롭게 표현할 수 있도록 하는 것이다. 하지만 자유만으로는 부족하다. 프로그래밍은 작은 것에서 거대한 것, 단순한 것에서 � opentutorials.org 2020. 7. 30. [Java] new 사용시 값 초기화 1. 배열 초기화 시 아래와 같은 방법으로 초기화가 가능하다. public class Working { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4}; for(int e: arr){ System.out.println(e); } } } 2020. 7. 29. 이전 1 2 3 다음 반응형