programing
-
[React Native] Insightprograming/Mobile 2020. 10. 24. 17:25
React Native RN은 Android와 IOS의 네이티브 앱을 React를 이용하여 개발할 수 있는 도구이다. 놀랍게도 아직 메이저 버전 넘버가 0이다. React Native Team Principle Native Experience RN 팀의 최우선 가치는 사람들의 각 플랫폼에 대한 기대치를 충족시키는 것이다. (즉, RN을 써도 네이티브를 쓴 것과 같은 효과와 성능을 내게끔 하는 것.) 이것이 RN이 플랫폼 프리미티브로 렌더링 하는 이유이다. 따라서 플랫폼 간 일관성보다 네이티브 룩앤필(look-and-feel)을 중요시한다. 룩앤필을 맞추기 위해 성능도 맞춰야 한다. 이를 위해 페이스북에서는 Hermes라는, RN를 위한 안드로이드용 JS엔진을 개발했다. Massive Scale 페이스북 ..
-
[Programmers] 크레인 인형뽑기 게임programing/Algorithm 2020. 10. 7. 22:32
2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임 난이도 level 1 풀이 def solution(board, moves): basket = [] count = 0 for move in moves: for i in range(len(board)): puppet = board[i][move - 1] if(puppet == 0): continue basket.append(puppet) board[i][move - 1] = 0 length = len(basket) if(length >= 2 and basket[length - 1] == basket[length - 2]): basket.pop() basket.pop() count += 2 break return count
-
deep copyprograming/Language 2020. 8. 27. 16:59
export function deepCopy(target) { const clone = target instanceof Array ? [] : {}; Object.keys(target).forEach((property) => { clone[property] = typeof target[property] === 'object' && target[property] !== null ? deepCopy(target[property]) : target[property]; }); return clone; } 재귀를 이용한 간단한 깊은 복사 유틸 함수입니다.
-
[JS] input element eventprograming/Language 2020. 8. 8. 14:30
안녕하세요, Einere입니다. (광고 차단 기능을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 input 엘리먼트의 세 가지 이벤트에 대해 정리해봤습니다. 인풋 이벤트 InputEvent 인터페이스를 상속합니다. isComposing 이란 속성은 해당 input 이벤트가 compositionstart 이후 & compositionend 이전에 트리거 될 지의 여부를 나타냅니다. 이벤트 종류 및 순서 beforeinput : 실험적 이벤트입니다. (브라우저 호환성을 확인해주세요.) 엘리먼트의 value 가 변경되기 직전에 발생합니다. input : value 가 변경된 직후 발생합니다. 따라서 조합 문자의 경우, 하나의 글자가 완성된 후 새로운 글자가 입력될 때 발생합니다. 위 이벤트들은 HTMLElem..
-
[JS] input 태그에 한글 입력 막기programing/Language 2020. 8. 2. 22:39
안녕하세요, Einere입니다. (광고 차단 기능을 꺼주시면 감사하겠습니다.) 움짤이 버벅거리거나 잘 보이지 않는다면 클릭해주세요. 요구사항 프로젝트에서 특정 input창에 왼쪽 방향키, 오른쪽 방향키, 백스페이스를 제외한 문자가 입력되는 것을 방지해야 했습니다. 저는 '음.. 조금 귀찮긴 하겠지만 할만하네' 라고 생각했습니다. 하지만 이때의 저는 험난한 여정이 시작될 것을 몰랐습니다.. 첫 구현 inputElement.addEventListener("keydown", function handleKeyDown(e) { console.log("key down", e.key, e.code); const whiteList = ['ArrowLeft', 'ArrowRight', 'Backspace']; if (!..
-
[React, Redux] 내가 리덕스를 쓰지 않는 이유programing/Web 2020. 7. 18. 15:34
안녕하세요, Einere입니다. (광고차단 기능을 꺼주시면 감사하겠습니다.) 해당 포스트는 Why I Stopped Using Redux를 번역한 글입니다. 리덕스는 리액트 환경에서 혁신적인 기술입니다. 리덕스는 불변 데이터와 전역 저장소를 통해 컴포넌트 트리에서 prop-drilling(특정 데이터 prop을 통해 깊이 보내는 것)을 방지할 수 있습니다. 앱 내에서 불변 값을 공유하는 상황에서, 리덕스는 최고의 툴입니다. 하지만 왜 전역 저장소를 둬야 할까요? FE는 정말로 그렇게 복잡한가요? 우리는 왜 리덕스로 너무 많은 일을 하려고 하는 것인가요? SPA의 문제점 리액트와 같은 SPASingle Page Application의 장점은 웹앱 개발의 많은 변화를 가져다주었습니다. FE 코드에서 BE코드..