분류 전체보기

초단기 강수예측앱을 TS로 전환중인데 ReactNative Stack Navigation에서 type오류를 해결하기 위해 이 게시글을 작성한다. createStackNavigator의 type을 보면 ParamListBase를 상속하는 ParamList를 받는 것을 확인할 수 있다. ParamList는 string, object 또는 undefined가 될 수 있다고 한다. 서칭해보니 각 페이지: 받는 props의 형태로 작성해주면 된다고 한다. 나는 이 세가지 페이지를 사용하므로 이렇게 작성해 주었다. app.tsx에는 이렇게 적용해주면 된다. 다른 페이지의 navigation props에 type을 지정하는 일은 StackScreenProps를 사용하는데, 얘는 이렇게 생겼다. 아까만든 ParamLi..
Javascipt를 제대로 이해하기 위해 글을 쓴다. JS 엔진 가장 대중적인 JS엔진은 구글의 V8엔진이다. 크롬과 nodeJS의 엔진이다. JS엔진은 메모리힙과 호출스택으로 구성된다. 메모리힙 메모리힙에는 구조화되지 않는 메모리영역(C언어의 동적할당을 생각하면 될 것 같다.)이 할당된다. 변수와 객체에 대한 모든 메모리 할당이 발생한다. 호출스택 코드가 실행될 때 한줄씩 호출 스택이 쌓이게된다. call stack에는 anonymous(node에선 main)라는 전체 코드를 가지고 있는 것이 call stack에 담기게 된다. JS는 싱글스레드이다. 한번에 하나의 일 밖에 처리할 수 없다. 이말인 즉슨, call stack이 하나라는 것이다. 하나의 함수가 실행되는 중에 다른 일을 할 수 가 없고, ..
tsconfig.json 전반적인 ts설정을 하는 문서 생성 tsc --init 설정 noImplicitAny ⇒ 암시적 any를 허용하지 않음 comilerOption:{ "noImplicitAny" :true, } strictNullChecks ⇒ null이나 undefined를 허용하지 않음 → undefined는 객체가 아닙니다와 같은 문제 해결 가능 comilerOption:{ "strictNullCheck" :true, } noEmitOnError ⇒ 본래, ts는 타입체크와 컴파일이 독립적으로 시행되나, 타입에러가 발생할때 컴파일이 되지 않게 하려면 설정함 → 런타임에는 타입체크가 불가능함 comilerOption:{ "noEmitOnError" :true, } 💡 타입스크립트가 컴파일링되는..
문제상황 방을 만들기 위해 post요청을 보내는 상황 axios.post를 사용했으나 자꾸 500에러가 발생함. access문제면 400대가 나야하는데 이상함 import axios from "axios"; import { BASE_URL } from "./BaseURL"; export default function postRoomData(props) { return axios.post( `${BASE_URL}/roomcreate`, { room_title: props.title, room_interest: props.interest, room_time: props.time, room_place: props.place, room_headcount: props.headcount, room_latitude:..
·회고/회고
2022년은 군대에서 나와 사회에서 맞이하는 첫 해요, 대학에서 맞이하는 두번째 해였다. 1월부터 헬스와 식단, 알고리즘 공부와 독서를 했다. https://0422.tistory.com/64?category=935822 탄수화물의 노예 : 천재의 식단정말 앞으로의 내 삶을 바꿀만한 책이었다. 거의 시험공부 하듯이 공부했다. 주변인들이 꼭 한 번 읽어봤으면 하는 책이다. 우리 오래오래 건강하게 살자. 나는 고기를 먹어도 항상 밥 한공기를 0422.tistory.com 2월말쯤부터는 상경하여 방을 구하고, 복학준비를 했다. 이때 쯤 소프트웨어 마에스트로를 지원했었는데, 프로젝트 경험 하나 없이 알고리즘 하나만 믿고 지원했었다. 지금 돌아보면 정말 놀라운 패기다. 심지어 믿던 알고리즘에게 2차 코테에서 심하..
왜 사용하는가? ⇒ 타입 안정성이 있는 MS에서 만든 프론트 엔드 언어 작성한 문서가 javascript로 변환됨 → 타입스크립트가 에러를 탐지하면 javascript로 컴파일되지 않음 let a="hello" a=1 오류 발생 Typescript 변수형 명시방식 let b : boolean = false let c : number[] = [] ⇒ 타입 추론이 작동하지 않으므로, 명시적 표현은 최소화 하는 것이 좋음 변수형 number string boolean 각 변수형의 array Object에 대한 Type 선언 const player { name : string; age: number; } = { name:"nico"; age : 23; } 만약 age가 없는 경우도 있다면? const playe..
·CS/백준 풀이
힙 그자체인 문제 import heapq n=int(input()) 결과=0 힙=[] for _ in range(n): heapq.heappush(힙, int(input())) while len(힙)!=1: 임시=heapq.heappop(힙) if 힙: 임시=임시+heapq.heappop(힙) 결과+=임시 heapq.heappush(힙,임시) print(결과)
·CS/백준 풀이
괜히 힙 두개쓸려다가 개같이 멸망했던 문제 남은 숫자를 새 단위로 힙에 넣는걸 생각하지 못해서 굉장히 고민했다. 이번엔 특별히 한글 코드로 작성했다. 사랑해요 연예가중계 import heapq n,m=map(int,input().split()) # 24*n시간 후 시작 time=24*n # m과목 a=list(map(int,input().split())) b=list(map(int,input().split())) 결과=0 힙=[] for x in range(m): heapq.heappush(힙, [-b[x],a[x]]) while 힙: 힙에서뽑은거=heapq.heappop(힙) 단위,점수=-힙에서뽑은거[0],힙에서뽑은거[1] while 단위+점수0: 점수+=단위 time-=1 else: break if ..
·CS/백준 풀이
각각 역에 대한 출발시간을 heap에 저장한다. 각 역은 save라는 heap을 가지며, 해당 heap보다 출발시간의 heap이 큰 경우, count가 커지지 않는다. 해당 heap의 출발시간이 save보다 작은경우, count는 커진다. heap에서 꺼낸 시간의 도착시간에 회차시간을 더한뒤에 상대편 역의 save에 push 한다. 코드가 매우 더럽다. 내일중으로 정리해서 업데이트 할 예정 import heapq from collections import deque from tracemalloc import start def function_a(a,acount,asave,bsave): now_a=heapq.heappop(a) start_hour,start_minutes=now_a[0].split(":")..
·CS/백준 풀이
윈도우를 덱으로 구성해주었다. 윈도우 크기가 k+1미만이면 윈도우에 append하고, 이름길이 배열의 갯수를 더해준다. 윈도우 크기가 k+1(k등 이상 차이이므로)나게 되면 popleft하여, 해당 값의 이름 길이 배열의 갯수에서 빼준다. 마지막에는 window에는 k+1이하의 길이를 가진 값들이 남게 되는데 이 값들을 동일하게 큐느낌으로 처리해주었다. import sys input=sys.stdin.readline from collections import deque n,k=map(int,input().split()) count=[0 for x in range(21)] name=[] window=deque() ans=0 for x in range(n): name.append([x+1,len(input(..
_0422
'분류 전체보기' 카테고리의 글 목록 (20 Page)