목록전체 글 (169)
하다보니
functools 내장 모듈의 reduce() 함수는 여러 개의 데이터를 대상으로 주로 누적 집계를 내기 위해 사용됩니다. 기본적으로 초기값을 기준으로 데이터를 루프 돌면서 누적하는 방식으로 작동합니다. reduce(집계 함수, 순회할 데이터, 초기값) 여기서 집계 함수는 두 개의 인자를 받아야 한다. 첫번째 인자는 누적자, 두번째 인자는 현재값이 넘어오게 된다. 누적자는 함수 실행의 시작부터 끝까지 재사용되는 값이고, 현재값은 루프를 돌면서 계속 바뀌는 값이다. from functools import reduce arr=[1,2,3,4,5,6,7,8,9] sum=reduce(lambda x,y:x+y,arr,0)
- 딕셔너리의 키, 값 쌍 얻기 items() 딕셔너리는 items() 함수를 통해 딕셔너리에 있는 키와 값들의 쌍을 얻을 수 있다. keys(), values()로 각각 키와 값을 가져올 수 있다. a={'a':1,'b':2,'c':3} print(a.keys())//dict_keys(['a', 'b', 'c']) 이것을 리스트로 가져오고 싶다면 list()로 감싸줘야함 a={'a':1,'b':2,'c':3} print(a.values())//dict_values([1, 2, 3]) 얘도 keys와 마찬가지 print(a.items())//dict_items([('a', 1), ('b', 2), ('c', 3)]) - 딕셔너리 정렬 https://ddolcat.tistory.com/677

context api를 사용하다보면 위와 같은 오류가 날 수 있습니다. 바로 제 얘기죠. 해결법을 찾다 지치셨을 여러분들을 위해 바로 거두절미하고 제 해결법이나 적어두겠습니다. 바로!!!저 오류는 context api를 통해 값을 전달한 그 컴포넌트의 최상단에 provider 태그를 감싸주셨는지 확인해주세요!!! 뭔말이냐!!! 바로 아래와 같은 형식으로 최상단을 감싸줘야 한답니다~! 도움이 되셨으면 좋겠네요,,,이세상 모든 코린이 화이탱!!!!!!!!
- Rebase 전 git checkout 작업 중인 브랜치 git add . git commit -m "커밋 메시지" - 원하는 브랜치로 rebase(저는 dev브랜치임) git fetch origin dv git rebase dev git checkout dev git merge 제 브랜치 (이 작업 후 깃헙에 가서 pr작성) git push - 만약 rebase 가 충돌이 난다면 손수 파일에서 충돌을 제거해주고, 저장 후 add와 commit 진행(이건 현재 내 브랜치에 해당) 그리고 git rebase --continue 실행 여기서 vim이 뜨면 i를 눌러 insert모드로 바꾸고 맨 윚줄에 있는 커밋 메세지 앞에 pick을 입력한다. 그리고 esx->:wq->엔터 이렇게 해결하면 된다. htt..
mvc 패턴은 왜 생겨났을까? mvc가 생겨나기 전, 과거의 프로그래머들이 수많은 프로그램들을 만들 때, 이 코드가 많아지면 많아질수록 코드가 복잡해져서 코드를 파악하기도 힘들고 나중에 기능을 수정할 때마다 대부분의 코드를 갈아엎어야 하는 경우가 많았다. 유지 보수가 힘들었다. 그러다가 프로그래머들이 유지 보수가 편한 코드 구성의 규칙성을 공식처럼 만들어서 논문으로 발표했고, 그렇게 프로그래머들 사이에서 mvc 패턴이 유명해졌다. 즉, mvc 패턴은 유지보수가 편해지는 코드 구성 방식이다. Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 이어주는 부분 실전에서 어떻게 mvc를 지키며 코딩할 수 있을까. 1. model은 control..

실행 컨텍스트는 학습하기에 구성이 꽤 복잡한데다 순전히 자바스크립트 스펙을 위한 메커니즘이기 때문에 직접 접근해서 확인하기가 어렵다. 실행 컨텍스트 안에 있는 record, outer 를 중점적으로 살펴보겠다. 1. record로 js 호이스팅 이해하기 선언 라인 전에도 에러가 나지 않고 변수를 참조할 수 있는 현상을 선언문이 마치 최상단에 끌어 올려진듯 하다고 해서 호이스팅 현상이라고 한다. 물리적으로 최상단에 끌어 올려졌기 때문이 아니라 자바스크립트 엔진이 전체 코드를 스캔하면서 변수같은 정보를 실행 컨텍스트 어딘가에 미리 기록해뒀기 때문이다. 이때 기록해두는 곳이 record이다. 정식 명칭은 environment record로 식별자와 식별자에 바인딩된 값을 기록해두는 객체이다. 이 환경 레코드에..
정렬 알고리즘이 왜 중요한가? - 컴퓨터 분야에서 중요시되고 탐색에 용이하다. 프로그래밍과 알고리즘 이해에 많은 도움이 된다. - 버블 정렬 가장 기초, 인접한 두 요소를 비교해가면서 정렬을 하는 방식. 구현이 매우 간단함. 단점은 순서에 맞지 않는 요소들의 교환이 자주 일어나는 단점이 있다. 시간 복잡도는 최악과 평균 모두 O(n^2). 최선일 때는 O(n)이지만 자주 일어나지 않는다. - 선택 정렬 전체 범위에서 차례대로 가장 작은 숫자를 탐색하고, 가장 왼쪽부터 차례대로 교환하는 방식. 전체를 돌면서 최소를 구하고 가장 왼쪽 요소와 교환해준다. 장점은 자료 이동 횟수가 미리 결정된다는 것이다. 단점은 값이 같은 요소가 있다면 상대적인 위치가 변경될 수 있다. 같은 1이어도 정렬 이후에 이 순서가 달..
react에서 story북을 설치하고 npm run storybook을 하려는데 자꾸 ModuleBuildError: Module build failed (from .mmwh/react-refresh-webpack-plugin/loader/inde Error: You must provide the URL of lib/mapping SourceMapConsumer.initialize({ 'lib/mappingefore using SourceMapConsumer at readWasm ....이 오류가 나는 것이다. 이걸로 진짜 몇시간 고민하고 구글링한거 적용해보고 했는데 확실한 방법이 없었다.., 제가 해결한 방법은 node_modules와 package-lock.json을 모두 지우고 npm i를 해준 것..
브라우저에 URL을 입력하면 무슨 일이 발생할까요??👀 1. URL을 해석한다. URL을 스키마, 계정 정보, 호스트, 포트와 같은 정보로 이루어져 있습니다. 스키마는 프로토콜이 들어가는 영역입니다. 프로토콜은 어떤 시스템이 다른 시스템과 원활하게 통신할 수 있도록 해주는 통신 규약입니다. 계정 정보는 ftp를 사용할 때 볼 수 있는데 인증이 요구되는 아이디와 비번을 포함하면 접속 허가를 받을 수 있습니다. 2. DNS를 조회한다. DNS는 domain name system이다. dns는 도메인과 ip주소를 변환해주는 시스템입니다. ip는 컴퓨터와 컴퓨터가 각자를 식별하기 위해 가진 주소입니다. dns로 요청을 보내기 전에 브라우저는 몇 가지 체크합니다. 먼저 해당 도메인을 알고 있는지 브라우저 캐시를 ..
parameter는 매개변수. 함수 등 서브 루틴의 input으로 제공되는 여러 데이터 중 하나를 가리키기 위해 사용되는 변수의 한 종류. 서브루틴이란 하나 이상의 장소에서 필요할 때마다 반복해서 사용할 수 있는 부분적 프로그램이다. 변수의 한 종류이고, 값의 역할에 대한 정의이다. 역할에 대한 정의를 위해 선언하는 변수 argument는 전달 인자. 프로그램, 서브루틴 또는 함수 간 전달되는 값을 의미한다. 연산의 근거를 제공하기 위해 전달되는 값. 메서드 선언부에서 정의한 변수 -> Parameter 메서드 호출부에서 전달하는 값-> Argument 참고 : https://www.youtube.com/watch?v=fW1WGmj10rA&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOz..