전체 글
-
[JS] Map, Filter, Reduce기초/자바스크립트 2022. 12. 17. 02:53
인프런 강의 정리 함수형 프로그래밍과 Javascript ES6+ *custom Map 함수 /** f : 맵 속성을 위임할 함수 iter : 이터러블을 반환하는 제너레이터 function : 이터러블을 받아 맵을 생성하는 함수 **/ const map = (f, iter) => { let res = []; for (const a of iter) { res.push(f(a)); } return res; }; *원하는 value만 맵으로 생성 console.log(map(p => p.name, products)); console.log(map(p => p.price, products)); /** let names = []; for (const p of products) { names.push(p.name)..
-
[JS] 제너레이터기초/자바스크립트 2022. 12. 17. 00:40
인프런 강의 정리 함수형 프로그래밍과 Javascript ES6+ 일반함수 이름에 *을 붙여 제너레이터 함수를 만든다 제너레이터 함수 : 이터레이터를 만들어준다. 마지막 return 값은 done을 할 때 반환되는 값이다. function *func() { yield 1; if ( false ) yield 2; yield 3; } 제너레이터는 문장을 순회할 수 있는 값으로 만들 수 있다. 제너레이터를 통해 순회할 수 있는 이터러블을 쉽게 만들 수 있다. //제너레이터 코드를 이용한 홀 수 이터러블 만들기 //1씩 무한하게 증가시키는 함수 function* infinity(i = 0) { while (true) yield i++; } //1씩 무한하게 감소시키는 함수 function* infinity2(i..
-
[JS] Symbol.iterator카테고리 없음 2022. 12. 15. 23:31
인프런 강의 정리 함수형 프로그래밍과 Javascript ES6+ 이터러블/이터레이터 프로토콜 - 이터러블: 이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값 - 이터레이터: { value, done } 객체를 리턴하는 next() 를 가진 값 - 이터러블/이터레이터 프로토콜: 이터러블을 for...of, 전개 연산자 등과 함께 동작하도록한 규약 Collection[Symbol.iterator] - Array[Symbol.iterator] // values() { [native code] } - Set[Symbol.iterator] // values() { [native code] } - Map[Symbol.iterator] // entries() { [native code] } //..
-
[JS] 일급 함수와 고차함수기초/자바스크립트 2022. 12. 14. 19:04
인프런 강의 정리 함수형 프로그래밍과 Javascript ES6+ 일급함수 - 함수를 값으로 다룰 수 있다. - 조합성과 추상화의 도구이다. - 함수가 값으로 다뤄질 수 있다. 고차함수 - 함수를 값으로 다루는 함수 - 함수를 인자로 받아서 실행하는 함수 -일급함수 예제 const inc = x = x + 1; log( inc ); // x = x + 1 log( inc(10) ); // 11 const func1 = () = () => 1; const func2 = func1(); log( func1() ); // () => 1 log( func2 ); // () => 1 log( func2() ); // 1 고차함수 - 함수를 인자로 받아서 실행하는 함수 const apply = func => fun..
-
[JWT] 어디에 저장하는게 좋을까?학습/개발노트 2022. 10. 28. 22:35
사전 준비 Authentication Server에서 API서버에 AccessToken과 RefreshToken을 발급한 상태 클라이언트에 저장방법 1. SessionStorage 세션 변수로써 새창, 새로고침 등에 추가로직이 필요함 2. Localstorage 글로벌 변수 XSS 취약점 : 방어 불가능 ex) 공격예제 3. 로컬변수 새로고침 시 토큰이 사라짐 4. 쿠키 XSS 취약점 : HttpOnly 속성 사용으로 방어 가능 alert(document.cookie); 스니핑 : Secure 속성 사용으로 방어 가능 https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%82%B7_%EB%B6%84%EC%84%9D%EA%B8%B0 패킷 분석기 - 위키백과, 우리 모두의 백과사전 위..
-
OAUTH 2.0 정리학습/개발노트 2022. 10. 19. 21:09
용어 정리 ex) 티스토리에서 카카오 로그인 [ Target ] Resource Owner : 유저, 사용자 Client Server : 애플리케이션 제공서버 ( 티스토리 ) Resource Server : 인증, 권한 부여 서버 ( 카카오 ) [ Jargon ] Client Id : Client Server의 고유 ID Client Secret : Client Server의 비밀번호 Redirect URL : Client Server에서 Resource Server에 인증을 요청한 이후 Resource Server가 Client Server에 응답값을 전송하기 위한 URL Scope list: 권한 목록 Authorization code : Resource Server가 승인한 코드 티스토리 카카오톡 ..
-
FINAL 키워드의 집착을 버려본다.학습/개발노트 2022. 10. 14. 00:07
final 변수가 불변이라는 사실을 명확하게 알 수 있다. Builder 패턴을 통해 vo를 불변객체라고 명확하게 알려주었다. @Getter public class UserInfo { private final Long id; private final String password; private final String name; private final String gradeCode; private final LocalDateTime createdAt; private static final Long PASSWORD_MIN_LENGTH = 6L; private static final Long PASSWORD_MAX_LENGTH = 18L; @Builder public UserInfo(Long id, Stri..
-
이직 전에 받았던 질문 정리학습/회고록 2022. 10. 11. 15:19
3년동안 뭐했어? 1년차 - 회사 프레임워크 및 회사 도메인 이해 - 주 업무 인 가상계좌 시스템 유지보수 파악 - 사내 서비스 대부분은 JSP, JavsService64로 구성된 배치프로그램으로 구성 - 사내 프레임워크로 개발 - 서비스 유지보수 무엇을 배웠나? - 주석 - 로직상 문제가 없는 코드 2년차 - 사내 서비스의 문제점 개선 1년차에서 하고있던 유지보수들을 개선 - 이중수납 개선 - 메일 자동화 작성 - 모니터링 알람 설정 - 로그 추가 등 기존 유지보수들은 서비스의 문제로 생기는 것들이 대부분이였고, 서비스를 개선하다보니 유지보수의 양이 줄어들었다. - 이직 준비 무엇을 배웠나? - 서비스에 대한 이해 3, 4년차 - 신규 프로젝트 이직 면담 - 사내 서비스 개선에만 몰두 - 개발자 공부에..