일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- utilty type
- click and drag
- 타입좁히기
- 성능최적화
- 2022
- returnType
- 타입스크립트
- 반복줄이기
- react
- 커스텀
- const 단언문
- typescript
- CSS
- vue.js
- 폰트적용하기
- 누구나 자료구조와 알고리즘
- 레이아웃쪼개기
- javascript
- 제네릭
- Chart.js
- React.js
- 개발콘텐츠
- React Native
- 티스토리꾸미기
- reactjs
- 리액트
- NonNullable
- JS console
- TSDoc
- 공통컴포넌트
- Today
- Total
목록전체 글 (622)
몽땅뚝딱 개발자
🚀 비교 JSCHermes특징 meta에서 React Native만을 위해 만들었다.컴파일 방식JIT(Just-In-Time)런타임에 코드를 컴파일하는 JIT(Just-In-Time)을 사용한다.AOT자바스크립트 코드로 실행 전 네이티브 머신 코드로 컴파일하는 선행 컴파일(AOT)을 사용한다. 미리 컴파일하여 바이트코드 형식으로 변환한다. 이를 통해 앱 시작 속도가 빨라지고 런타임 성능이 향상된다.성능 헤르메스는 일반적으로 JSC보다 빠르며, 특히 저가형/구형 기기에서 더 빠르다.메모리 사용량메모리 관리를 위해 자동 가비지 컬렉션을 제공하며 IOS와 macOS 환경에서 최적화가 잘 되어있지만 메모리 사용 측면에서는 헤르메스보다 다소 무겁다고 평가된다. 하지만 최신 하드웨어에서는 성능차이가 크게 나지 않..
보호되어 있는 글입니다.
1. 자체에서 제공하는 디버깅툴 사용 - Open Debugger: 사용하는데 한계가 있어서 Reactron을 선택했다.- Element Inspector: 간단히 padding, margin 같은 속성을 체크하기는 좋다. 하지만 각 요소를 웹 개발자도구처럼 각 태그나 class명, 부모-자식 관계를 명확히 파악할 수 없어서 상세하게 보기가 힘들다. 대책 마련 중..(🔨) 2. Reactron커넥션 별로 확인할 수 있다. 더 많은 기능이 있는데 아직 사용해보지는 않았다. 1. TimelineAPI 호출 시 Request, Response를 굉장히 상세히 사용할 수 있으며 각 요청을 손쉽게 복사하여 공유할 수 있다. (이게 가장 편리하다!) 2. State: Redux, mobX 같은 상태관리 라이..
function solution(cacheSize, cities) { const HIT = 1, MISS = 5 const cache = [] let totalTime = 0 if (cacheSize === 0) return MISS * cities.length for (let i = 0; i = cacheSize) { cache.shift() } } cache.push(searchTarget) } return totalTime}
1. indexOf로 배열자체의 위치를 바꿨다가 시간초과되고... (‼️)2. Map으로 풀었다. function solution(players, callings) { const playerIndexes = {}; players.forEach((player, index) => { playerIndexes[player] = index; }); callings.forEach(name => { const currentPlayerPosition = playerIndexes[name]; const prevPlayer = players[currentPlayerPosition - 1]; players[currentPlayerPosition] = ..
처음에 읽자마자 "이건 트리다!"라고 당당하게 생각한 뒤 코드를 짰다. 그런데.. 최소경로를 구하기위해 DFS로 접근하려고보니 트리라는 자료구조가 이 문제와 맞지 않다는 판단이 들었다. 더 정리를 해보자면 단순히 부모-자식 관계를 갖고있고 노드를 순차적으로 방문할 수 있다는 사실 하나로 트리로 접근했지만... 상위 부모가 하나인 트리가 이상해보였다. 그리고 키패드 구조상 트리처럼 단방향이 아닌 서로 연결될 수 있는 양방향 연결이 가능하고 싸이클이 존재하는 자료구조가 필요하다는 사실을 깨닫는다. 예전에 공부했던 자료구조 책을 펼쳐보고 '이건 그래프로 풀어야 하는거구나' 이마를 탁 치고 그래프로 접근했다. (조금 성장한 듯..) 그래프에 대해 공부하며 맨해튼 거리에 대해서도 알게됐다. 알고리즘 넘 재밌어....
처음 구구절절 Date로 풀다가 테스트케이스 3번이 해결되지않아서 힌트를 봤더니 prev를 한 뒤 현재 이동한 시간이 오프닝 시간 내에 있는지 검사했어야 헸다. Date로 하다보니 너무 코드가 구구절절했지만 푼게 아까워서 집착하다가.... 결국 버리고 새롭게 품..^0 ^ const prev = (time) => { time -= 10 return time { time += 10 return time > videoLength ? videoLength : time}const checkOpeningTime = (time, openingStartTime, openingEndTime) => { return time >= openingStartTime && time { const [mm, ss] ..
function solution(totalCount, limit, power) { let result = 0 for (let i = 1; i limit ? power : count) } return result}
// answer 1const 정답패턴 = { 1: [1, 2, 3, 4, 5], 2: [2, 1, 2, 3, 2, 4, 2, 5], 3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5],}function solution(answers) { const 학생별정답을찍는패턴 = {} const 학생별정답의수 = {} const 정답 = new Array(answers.length).fill().map((_, index) => answers[index % answers.length]) Object.values(정답패턴).forEach((array, index) => { 학생별정답을찍는패턴[index + 1] = new Array(answers.length).fill().map((_, ..
프로덕션 배포를 하려고하니 광고 ID에 대한 정책을 업데이트하라고 해서 광고를 사용하지 않으니 "아니오"로 선언했으나..자꾸 문제라고 하는 것이다 ^^ !! 콱👊🏻 알고보니 추가했던 관련 설정들이 문제였다.Firebase Crashlytics와 Firebase Analytics를 연동했다면 AD_ID 권한이 자동으로 들어간다고 한다. https://github.com/firebase/firebase-android-sdk/issues/2582 Firebase-analytics adds Ad dependecy · Issue #2582 · firebase/firebase-android-sdkWhen I'm using com.google.firebase:firebase-analytics:18.0.2 p..