목록분류 전체보기 (385)
만족
Fragment의 getActivity()는 언제 null을 반환할까 (When do fragment.getActivity() return null) Fragment의 onCreateView 내부에서 getActivity()가 Null을 반환하여 앱이 죽는 현상이 발생했다. 그런데 테스트 환경에서는 Null일때도 있고, 아닐때도 있어 재현이 어려웠는데, 이번 기회에 getActivity()가 언제 null을 반환하는지 알아보려 한다. 먼저 해당 프래그먼트는 다음과 같이 activity의 xml에서 선언되었다. 위의 LifeCycle을 참조하여 각 페이즈마다 getActivity가 Null인지 아닌지를 체크할 것이다. 위 코드를 이용하여 null여부를 로그에 기록한다. 결과는? 생명주기 내부에서는 getA..
뭐? 뒤통수에 탈모있냐고? 2019.10~2020.03까지 일할때 gitlab씀 근데 다 private repo다 미안해요 오픈소스
분석 조건 30일간 진행된 공식전 게임 중 랭킹 1000위 안의 유저들의 게임 기록을 기준으로 약 20000회의 경기 결과를 대상으로 분석합니다 분석 방법 사이퍼즈 OPEN API를 이용해 수집된 데이터를 js로 분석합니다. 카운터 픽 분석 방법 (파란색은 승리팀, 붉은색은 패배팀입니다) 해당 경기에서 각각의 캐릭터마다 한 번씩 비교하여 총 25번의 비교를 하여 다음과 같은 데이터를 만들어냅니다 (클레어vs까미유=> 승리1vs승리0, 클레어vs디아나=> 승리1vs승리0 ...... 스텔라vs호타루=> 승리1vs승리0) 이와 같은 작업을 20000여개의 경기에 대해 누적식으로 모두 진행한 다음, 해당 데이터를 가공하여 DB에 넣습니다. 이 데이터는 한번 더 백엔드에서 처리하여 프론트에 전달되는데, 최종적으..
매우 큰 javascript array를 파일로 저장하던 중 out-of-heap 오류가 뜨면서 프로그램이 정지되어서 힙 메모리에 충분한 값을 주고 실행했더니 이번엔 RangeError: Invalid string length 오류가 뜬다. 원인은, js엔진에서 객체 사이즈에 제한을 두고 있다고 한다. array를 JSON.stringify()하는 과정에서 생겨난 string 크기가 해당 사이즈를 넘어버린 것이다. 해결법은 해당 객체를 작은 사이즈로 나누거나 스트림을 이용해 잘게 쪼개어 파싱하면 된다. 참고: https://ohgyun.com/782 Node: String 크기 제한에 의한 RangeError 발생일: 2018.10.22 키워드: JSON.stringify, RangeError, Inva..
Nodejs로 크롤러를 만들던 중, 수집한 정보를 file로 저장하던 중에 해당 오류가 발생했다. 원인은 Nodejs의 기본 힙 메모리는 512MB라서 프로그램이 돌다가도 해당 사이즈를 넘어버리면 해당 오류가 출력되면서 프로그램이 강제 종료된다. 해결법은 간단히 실행 시 옵션에 --max-old-space-size=[SIZE] 를 주면 된다. 가령 내 프로그램을 돌리는데 1GB가 필요하다면 커맨드라인에 다음과 같이 입력하면 된다 node --max-old-space-size=1024 index.js
https://ko.reactjs.org/docs/react-api.html#reactmemo React 최상위 API – React A JavaScript library for building user interfaces ko.reactjs.org 요즘 클래스형 컴포넌트를 갖다 버리고, 거의 함수 컴포넌트만 사용중이다. 클래스형 컴포넌트에서는 shouldComponentUpdate 메서드를 사용하여 해당 컴포넌트를 업데이트할지 말지 결정할 수 있었으나, 함수 컴포넌트에서는 할 줄 몰라서 그냥 내버려뒀다. (사실 페이지 내에 요소가 그렇게 많지가 않아서 크게 신경쓰지 않아도 문제는 없었다) 그러나, 엘리먼트가 매우 많은 페이지를 만들면서 해당 문제를 해결하는 방법에 대해 알아보았다. 탭바 컴포넌트 구조를..
참고: https://expressjs.com/en/4x/api.html#res Express 4.x - API Reference Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex expressjs.com 자주 쓸 것 같은 프로퍼티에 대해 정리한다 Res.headersSent response heade..
참고: https://expressjs.com/en/4x/api.html#req Express 4.x - API Reference Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex expressjs.com 자주 쓸 것 같은 프로퍼티를 정리한다 req.ip request client ip req.meth..