Spark Tips

1. Loop를 쓰는 순간 OutOfMemoryError DataFrame를 다루지 않는 순간 Spark cluster 중 Driver만 사용하게 된다. DataFrame을 안씀 (= 기껏 sqlContext.read로 읽어놓고 collect해서 사용함) -> 스파크가 아니라 스칼라에서 돌아감 (= Executor가 아니라 Driver에서 돌아감) -> Single node computing -> Out of Memory 2. UDF를 사용할 때 a) 파라미터에 Primitive Type을 넣지 않는 것을 추천 Scala기준으로 설명한다. […]

웨일 브라우저가 크롬과 다른 점

React에서 textarea의 onKeyPress에서 event 객체를 파라미터로 받아서 event.key를 찍어보는 상황. 크롬에서는 event.ctrlKey의 true/false 여부에 상관없이, 항상 event.key가 “Enter”로 들어온다.하지만 웨일 브라우저에서는 ctrlKey === false -> key = “Enter”, ctrlKey === true -> key = “\n”이다. (여담으로 keyCode는 두 브라우저 모두 0으로 들어왔다. (?))

코딩의 마지노선은 밤 11시다

피곤할 수록 당연한 실수를 파악하지 못한다. 밤 11시가 넘어가면 피곤한 경우가 많다. 하루 이틀 개발하고 털어버릴 프로젝트가 아니라면 컨디션 관리도 중요하다. 따라서, 밤 11시가 되면 하던 코딩을 멈추고 씻는 것이 좋다. 플로우에 들어간 것 같은 기분은,  대부분 피곤과 관성으로 앉아있을 뿐이다.(= 간혹 플로우인 경우도 있다) 하루 이틀 개발하고 털어버릴 프로젝트이고 (밤 11시 기준으로) 새벽 1시까지 […]

간호대 외주 후기

0. 건너뛰어도 되는 배경 설명 2016년 3월, 과 후배의 소개로 학교의 간호대학에서 안드로이드 앱 외주를 진행했었다. 이 때 백엔드 친구 / iOS 친구 / 안드로이드 나, 이렇게 셋 이서 첫 미팅을 진행했었다. 미팅을 끝내니 iOS 개발은 원하지 않으신다고. 다음 미팅에 백엔드 친구와 나만 참여했다. 왜 한 명 비냐고 여쭤보시기에 iOS 담당하던 친구라서 빠졌다고 설명드리니 약간 […]

부동소수점수는 작은 것 부터 연산하자

선요약: 부동소수점은 0에 멀어질 수록 정확도가 감소한다.  부동소수점수(Floating Point nuberm, 이하 FP)는 0에서 멀어질 수록 정확도가 감소한다. 매우 큰 FP에 매우 작은 FP를 더하면 위와 같이 수가 변화하지 않는 것을 볼 수 있다. 따라서 성능에 손해를 보더라도 매우 정확한 계산 결과를 원하는 경우 BigDecimal과 같은 특별한 클래스를 사용하는 것이 좋으며, 조금 신경쓰고 싶다면 절댓값이 […]