본문 바로가기

프로그래밍

(36)
javascript의 this 그리고 [call,bind,apply] 함수 자바스크립트의 this는 python의 self 나 c#의 this와는 조금 다른 개념으로 사용된다. 보통의 프로그래밍 언어에서 this는 class에서 현재 인스턴스를 지칭하는데 사용되는것에 반해, javascript에 this의 값은 함수를 호출한 방법 및 환경에 따라 결정된다. *실행중에는 할당으로 설정할 수 없고 함수를 호출할 때 마다 다를 수 있다. ??? function f1() { return this; } // 브라우저 f1() === window; // true // Node.js f1() === global; // true 기본적으로 this = global 즉, 아래와 같다. // 변수를 선언하고 변수에 프로퍼티로 전역 window를 할당 var a = 'Global'; functio..
begining functional javascript 4장 클로저 *begining functional javascript -(에이콘 출판사)를 읽고 공부한 내용을 바탕으로 작성한 글입니다. 자바스크립트에서 클로저(closure)란 함수 안의 함수이다. 아래의 outer 함수와 같은 형태가 바로 클로저이다. const outer = () => { const inner = () => {} return inner } 이러한 형태의 함수 이름이 closure인 이유는 함수가 처음 실행 될 당시의 스코프를 포섭(closure)하여 이후에 실행할때 이용하기 때문이다. const outer = (num) => { const inner = (num) => {console.log(num)} return inner } const example = outer(4) example() 위의..
begining functional javascript functional javascript 함수형 프로그래밍 원칙 항상성 => y = ax +b 하나의 x에 대해서 같은 y값이 보장되어야 한다. 순수 함수 => 함수 안에서 모든 변수(상수x)는 인자로 받아야 한다. 항상성의 원칙을 지키기 위해서 --> 결국 수학의 함수 개념과 똑같다 2장은 함수의 사용법과 es6에 관하여 기본적인 내용들이라 크게 생각나는 내용이 없네요.. 함수의 정의와 es7의 함수, 기존의 함수의 차이점에 관한 내용들 이었습니다 3장은 고차 함수와 추상화에 관하여 고차함수란 함수를 인자로 받거나 함수를 리턴할 수 있는 함수를 일급 객체로 취급한다고 하고, 이를 *이 장에서 새로 알게된 것 if (0){ //js 에서 if (0)
solid - js 및 shadow dom 그냥 공부하면서 의식의 흐름대로 끄적이기 bgm. 너와 나의 memories dom = html 문서의 구조화된 표현 ==> 최종적으로 브라우저에 무엇을 렌더링할지 표현할 때 사용 shadow dom = 캡슐화된 돔으로 외부의 css에 영향을 받지 않는다..? 설명하는 사람도 잘 모르는 것 같은데 공식 문서참고 해야겠다 mdn에 따르면 shadow dom은 video 테그를 사용했을 때, 나타나는 컨트롤러와 같이 하나의 테그와 그 안에 숨겨져서 (독립적으로) 작동하는 것들을 말한다고 한다. => 개발자 도구에도 안잡혀야 shadow dom으로 보는 듯 깊게 안파도 될 것 같다 일단 개념만 알고 가는걸로 하고 pass https://developer.mozilla.org/ko/docs/Web/Web_Components/Using_shadow_DO..
이것저것 공부할 것 / 한 것 프론트 근본 ** react에서의 상태관리 => state,redux, swr 등등 -> ** 효율적 렌더링 => react(virtual dom), angular, vue ... --> react 이외의 것들 공부 해보자 ** virtual dom 브라우저에 실제 렌더링 하는데에 많은 비용이 들기 때문에 렌더링 하기 전에 virtual dom(가상의 돔) 에서 브라우저의 렌더링에 사용된 값들을 비교해서 바뀐 부분만 새로 렌더링 하는 새로운 접근 법 ==> react 에서는 state | html | css가 바뀔때만 새로 렌더링이 되게 되어있음 ( state가 바뀔때 | html, css 가 바뀔때의 내부적 동작의 차이점 공부 필요), state 관리의 핵심은 불변성, 내부적으로 state가 담에 담긴..
[react] clean-up function에 대한 이해 리액트의 hooks 인 useEffect 에는 clean-up Function 이라는 기능이 있습니다. 이에 관해 햇갈리는 분들이 많은 것 같아 한 번 정리해 보았습니다. 1) useEffect 는 기존 class형 컴포넌트의 componentDidMount 와 유사한 기능을 하고 clean-up Function은 componentDidUnMount와 유사한 기능을 합니다. 다음은 useEffect와 clean-up function 예시입니다. 예시) https://codepen.io/leeyh-kor/pen/NWvdOxW?editors=1111 NWvdOxW ... codepen.io useEffect 는 총 두개의 인자를 전달 받습니다. useEffect(()=>{이 함수를 실행},[이 값이 변경되면..
알고리즘 연습 프로그래머스 - 완주하지 못한 선수 프로그래머스의 hash 문제 lv.1 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 첫 번째 풀이 단순히 두 배열을 소트해서 앞에서부터 하나씩 지우다가 다른 서로 값이 다를때 참가자의 값을 리턴하면 된다. 근거는 선수의 이름은 참가자가 한명 더 많을 뿐, 그 사람을 뺀 나머지는 모두 같다고 했기 때문이다. def solution(participant, completion): partici..
알고리즘 풀이 -3 프로그래머스 heap 문제 "더 맵게" 문제를 푸는데 사용된 아이디어는 간단하다. 우선 반복문은 scoville의 최솟값이 k 이상이면 멈추게 되고, 가장 작은값과 그 다음 작은 값 * 2 한 값을 배열에 새로 푸시한다. 가장 단순한 접근이 아닐까 싶다. 그리고 주어진 scoville로 k값을 넘지 못할경우 exception을 걸어서 return -1 을 해준다. """프로그래모스 더 맵게 문제 최소 힙 쓰면 풀릴듯 힙은 2진 트리 바탕으로 만드는 자료구조!""" '''첫 번째 풀이 난 힙같은거 모르겠다!''' def solution(scoville, K): answer = 0 while min(scoville) < K: try: idx = scoville.index(min(scoville)) minScoville = scoville.pop(..