본문 바로가기

Develog30

[TIL] 2023-09-05 TIL 1. 아침독서 (클루지) 우리는 맥락기억에 많은 영향을 받는데, 예를 들어 같은 사물을 접했다고 하더라도 열정적인, 즐거운, 귀여운, 긍정적인 이런 단어들을 읽고 봤을때는 긍정적인 느낌을 , 무기력한, 우울한, 부정적인, 험상궃은 단어들을 읽고 사물을 접한다면 부정적인 느낌을 받는것처럼 우리의 기억체계는 객관적인 시각이 아닌 맥락에 따라 왜곡을 일으키기도 한다. 맥락기억의 또 다른 예시로는 쥐들이 미로 달리기를 훈련시키는 연구가 있었는데, 쥐들이 미로자체와는 아무 상관없는 요인들에 매우 민감하다는 사실을 발견했다. 예컨대, 전등이 켜진 방에서 훈련을 받은 쥐는 자연광보다는 전등이 켜진 방에서 검사를 받았을 때, 미로를 더 잘 찾았다. 조명과 미로달리기 과제는 특별한 관계가 없었는데도 쥐가 검사 받.. 2023. 9. 6.
[TIL] 2023-09-04 TIL 1. 아침독서 (클루지) 역행자에서 추천한 클루지를 읽고있다. 인간이 유전자의 영향을 많이 받고있으며 불안전한 진화를 해왔다고 주장한다. 저자는 인간의 마음이 세련되게 설계된 기관이라기보다 클루지(kluge), 곧 서툴게 짜 맞춰진 기구라고 주장한다. 생존 때문에 최선의 선택을 방해받는 진화의 법칙, 즉 진화의 관성 때문에 우리들의 마음과 세계는 불완전하다는 것이다. 저자는 이 책에서 기억, 신념, 선택, 결정, 언어, 행복 등 인간의 삶을 구성하는 중요한 정신 영역을 두루 살피며, 우리들의 세계 곳곳에서 현명한 일상을 방해하는 생각의 함정을 파헤친다. 좀 더 괜찮은 의사결정을 하는 법을 배우고 싶어서 읽고있는데 꽤 괜찮은 것 같다. 사람이 쉽게 빠질 수 있는 심리학적 오류를 알려주고 더 나은 의.. 2023. 9. 5.
[리팩터링]Object.keys() 타입 지정해서 사용하기 type CoffeePrice = { [K in CoffeeName]: number; }; type CoffeeName = "americano" | "latte" | "ade"; const obj: CoffeePrice = { // ~~~ error Property 'ade' is missing in type '{ americano: number; latte: number; }' but required in type 'CoffeePrice'.ts(2741 americano: 10, latte: 10, }; ade 가 없어서 완전히 일치하지 않기 때문에 오류가 나온다. 해결법 ? 연산자를 넣어주거나 부분만 포함하겠다는 partial 키워드를 넣어주면 된다. 위의 기초 연습을 토대로 내 코드를 리팩터링 하기.. 2023. 7. 23.
Drag AND Drop (react.js)구현하기 - 1 drag : 드래그 하고있는 상태의 아이템 dragend : 드래그 동작이 끝났을 때 dragenter : 드롭할수있는 target에 드래그 아이템이 들어왔을 때. dragleave: 드래그 아이템이 드롭타겟을 떠났을 때 dragover : 드래그 아이템이 드롭 타겟에 놓여졌을 때 dragstarg : 드래그 동작이 시작 됐을 때 drop : 아이템이 드롭 타겟에 놓였을 때 const onDragStart=(e)=>{ setX(e.clientX) //시작 위치를 저장 setY(e.clientY) e.dataTransfer.setData("data",e.target.id) e.dataTransfer.dropEffect="copy"; } const onDragOver = (e)=>{ //drop 이벤트가 발.. 2023. 7. 9.
Webpack 번들링 : 각각 나눠진 파일들 (ex) 자바스크립트 파일) 등을 하나로 모아서 묶어주는 작업을 뜻함 webpack의 등장 웹개발이 발전하면서 다양한 모듈의 도입으로 애플리케이션이 커졌다. 조각난 모듈들의 의존성을 파악하여 번들링 해 주는 webpack이 등장하였다. 장단점 장점 : 1. 성능 최적화 & 자동화 코드축소, 사용하지 않는 코드를 제거하는 tree shaking을 사용, http 요청 수를 감소시켜 웹사이트 성능을 향상시킴 2. 번들러가 제공하는 편의성 css가 아닌 Sass나 Stylus등을 사용할 경우, 또는 typescript 사용시, 번들러가 컴파일 과정에서 필요 플러그인을 추가하고 번들러를 실행해줌 3. CodeSplitting 을 통해 필요할 때만 스크립트를 로드 할 수 있다. 시시.. 2023. 6. 29.
Expo ReactNative Storybook 도입시 Constants.expoConfig.extra.storybookEnabled === undefined in windows 발단 : ReactNative 로 스토리북 연습하려고 했을 시 Constants.expoConfig.extra.storybookEnabled === undefined 오류 windows유저들은 억울하다 공식문서를 보고 https://dev.to/dannyhw/how-to-swap-between-react-native-storybook-and-your-app-p3o How to swap between React Native Storybook and your app How to use expo constants and environment variables to swap between storybook and your app dev.to 위의 링크를 따라했는데도 undefined가 나오는 세상에서 살고있기 .. 2023. 6. 18.
React 중첩라우팅 https://ostarblog.tistory.com/9 React Router v6 정리 React Router v6 React Router는 현재 리액트의 라우팅 기능을 지원하는 가장 인기있는 라이브러리입니다. 이 React Router가 지난 2021년 11월에 정식 6.0 버전이 릴리즈되었습니다. 5.0 버전에서 큰 변경사항 ostarblog.tistory.com React-dom-router 의 대한 정보를 찾다가 v5랑 v6랑 섞인 정보가 많아 혼란스러웠다. 내가 원한건 페이지에서 -> 링크를 눌러서 하위 페이지로 이동할 경우에 따른 페이지를 보여주는걸 구현하고 싶었다. 이 페이지에서 nav 바를 누름에 따라 오른쪽 공간에 다른 정보가 보이게 하고 싶었는데. 이 블로그의 글을 읽고 중첩라우팅을.. 2022. 7. 10.
자주쓰는 문법 모음 1. 리스트 끼리의 덧셈 list1 = dict[i-2]; list2 = dict[i-1]; dict[i] = [x+y for x,y in zip(list1, list2)] 2. 여러 열에 적힌 값 리스트로 받기 data = [int(sys.stdin.readline().strip()) for i in range(n)]; 3. 에라토스테네스의 체 def isPrime(n): num = int(math.sqrt(n)); if n 2022. 6. 25.
파이썬 자주쓰는 함수 모음 1. 정렬 .sort() List.sort()로 리스트를 기본적으로 오름차순으로 정렬하고 List.sort(reverse =True) 하면 내림차순으로 정렬한다. + 새로운 정렬 리스트를 반환하는 함수는 sorted 리스트 자체를 정렬시켜버리는 함수는 sort 함수다. 2. set() 집합이란 의미로 순서가 없고 집합 안에서는 중복이 제거되고 unique한 값을 가진다. a = [3 3 6] len(set(a) == 2) 를 이용해 중복되는 값이 있는지 검사할 수 있다. 3.sum() sum(a) 리스트 값을 모두 더해준다. 3. map과 s.count list(map(s.count,['c=','c-','dz=','d-','lj','nj','s=','z='])) 꽤 신기한 코드다. 전체 문자열의 개수가 .. 2022. 6. 14.
[python]sys.stdin - 시간초과가 떠서 input()은 사용못하게 됐다. - 그래서 sys.stdin으로 입력을 받는연습을 해보자! sys.stdin을 쓸때는 맨 끝의 개행문자 까지 같이 입력받기 때문에 문자열을 저장받을땐 .rstrip을 추가해주자 1.한줄을 읽고 개행문자 삭제 2. 여러줄은 문자열로 입력받고 싶을 때 단 이때는 lines[0]을 하면 저 전체문장이 출력된다. 이때 sys.stdin.read().splitlines()를 이용하면 개행문자를 지운 리스트 형태로 반환해주기 때문에 인덱스로 접근도 가능해진다. 기억해두기! 3. 여러줄을 리스트로 입력 받고 싶을 때 개행 문자가 포함된 걸 볼 수 있고, 리스트로 받았기 때문에 인덱스로 접근할 수 있다. 2022. 6. 13.