본문 바로가기
[android] 최고의 안드로이드 개발 원칙 [android] 최고의 안드로이드 개발 원칙 https://medium.freecodecamp.com/android-development-best-practices-83c94b027fd3#.fkhdpa3m0cf) 현재 제가 잘 못 하고 있는 것을 빨간 색 마킹 했습니다. ( 결론은 test 군요.. ) -Google 이 추천하는 Android architecture 를 사용하라. -코드 퀄리티를 항상 좋게 유지하라. -Unit test 를 항상 포함하라. JVM 에서 돌 수 있는 Java 코드들은 단말 위에서 테스트하는 것보다 훨씬 빠르다. Android dependency 가 있는 코드들은 Robolectric 을 사용하는 것을 추천한다. Mockito 도 좋다. -Functional UI test .. 2018. 3. 7.
[iOS] Swift 는 어떻게 Objective-C 보다 훨씬 빠른가? [iOS] Swift 는 어떻게 Objective-C 보다 훨씬 빠른가? http://programmers.stackexchange.com/questions/242816/how-can-swift-be-so-much-faster-than-objective-c-in-these-comparisons -Objective-C 자체가 매우 느린 언어이다.C part 는 빠르지만, Objective-C 파트는 그렇게 빠르지는 않다.Objective-C 는 Object 화 시켜 native C 보다는 성능문제가 있다. -Objective-C 는 모든 method 가 dynamic 하게 dispatch 된다.static dispatch 는 없다. 이것이 큰 단점이다. Swift 는 static diaptch 부분을 많이.. 2017. 9. 14.
[강북] 북서울 꿈의 숲 #2 [강북] 북서울 꿈의 숲 #2 0712 / 0727 북서울 숲의 더 높은 곳으로 이동해봅니다. 그랬더니 요상한 건물이 눈에 띕니다.뭔가 사선으로 구성된 건물인데, 건물의 끝부분에 아래쪽으로 지지대가 없어 불안합니다. 올라가기 조금 무서워 보이는 건물입니다.하지만... 신기하기 때문에 꼭 가보고 싶어 이동합니다. 중간에 엘레베이터를 타고 저 건물의 초입부로 갈 수 있는데,그 엘레베이터가 중간에서 각이 꺽이는 우리나라에 한 대밖에 없는 엘레베이터라는 글귀에,괜히 개이득! ㅋㅋ 이렇게 사선으로 올라가는 엘레베이터입니다.신기합니다.속도는 매우매우 느립니다.정말 굼뱅이처럼 어슬렁어슬렁 갑니다. 중간에 각이 꺾인다고 해서 뭔가 드라마틱한 좌우 혹은 상하 전환이 있나 했는데..뭐랄까.. 정말정말 심혈을 기울여 느끼지.. 2017. 8. 30.
[Effective Objective-C] #7 인스턴스 변수에 내부에서 접근할 때는 직접 접근하라. [Effective Objective-C] #7 인스턴스 변수에 내부에서 접근할 때는 직접 접근하라. 출처 : Effective Objective-C -인스턴스 변수를 읽을 때는 직접 접근하고, 쓸 때는 프로퍼티를 사용하는 방법을 강력하게 추천한다. -인스턴스 변수에 직접 접근하는 방법이 확실히 빠르다.이 방법은 Objective-C 의 메서드 호출(dispatch)를 사용하지 않는다.컴파일러는 객체의 인스턴스 변수가 저장된 메모리에 직접 접근하는 코드를 만들어 낼 것이다. -직접 접근하는 방법은 세터에 정의된 메모리 관리 시멘틱을 무시한다. -인스턴스 변수에 직접 접근하면 키-값 관찰(key-value observing:KVO) 알림이 발생하지 않을 것이다.이는 기대하는 객체의 동작 방식에 따라 문제가.. 2017. 7. 28.
[Effective Java] 잘 판단해서 최적화하자 [Effective Java] 잘 판단해서 최적화하자 - 최적화에 대한 명언이 있다. 더 많은 컴퓨팅 죄악이 다른 어떤 한 가지 이유(무지로 인한 어리석음을 포함해서)보다는 효율성(달성이 안 되는)의 이름으로 저질러진다. 사소한 효율성은 잊어야 한다. 97%의 시간에 대해 논하자. 성급한 최적화는 모든 죄악의 근원이다. 최적화에 관한 두 가지 규칙을 따르자. 규칙 1. 하지 말자. 규칙 2. (전문가에 한해서). 아직 하지 말자. 정말 최적화되지 않은 솔루션이 있을 때까지는. - 성급한 최적화는 얻는 것보다 잃는 것이 더 많기 쉽다. 최적화를 하면서 빠르지도 않고 제대로 동작하지도 않으며, 문제를 쉽게 해결하기도 어려운 소프트웨어를 만들기도 쉽다. - 성능 때문에 훌륭한 아키텍쳐 원리를 포기하지 말자. .. 2017. 2. 16.
[Effective Java] 다른 타입을 쓸 수 있는 곳에서는 String 사용을 피하자. [Effective Java] 다른 타입을 쓸 수 있는 곳에서는 String 사용을 피하자. - String 으로 다른 값 타입을 대체하는 것은 좋지 않다. 파일, 네트웍, 키보드 입력으로부터 데이터가 프로그램으로 전달될 떄 문자열 형식인 경우가 많고, 그것을 그대로 놔두려는 경향이 있다. 그러나 그것은 실제로 데이터가 원문 그대로일 때만 옳다. 만일 데이터가 숫자라면 int, float, BigInteger 와 같이 적합한 숫자 타입으로 변환되어야 한다. - String 으로 enum 타입을 대체하는 것은 좋지 않다. - String 으로 집합(aggregate) 타입을 대체하는 것은 좋지 않다. ex) className + "#" + value 이런 경우 문자열 분석을 해야 해 속도가 느리고, 코드가.. 2017. 2. 6.
[수유 맛집] 수유에도 생겼다! 곱창 무한리필 김덕후!! [수유 맛집] 수유에도 생겼다! 곱창 무한리필 김덕후!! # 어디 맛집이 없을까 수유 유흥가 한바퀴를 돌다가 미리 발견해놓은 김덕후의 곱창조! 왜 느낌표를 찍었냐고? 부라니와 강팽이 이 녀석을 너무 좋아하는 단골집인데 이 녀석이 원래 홍대에만 있었는데 이곳에 체인이 생겼기 때문!! # 비가 추적추적 오는 날이었던지 땅이 젖어있고, 가게 분위기가 좀 더 80년대 느낌나며 운치있어보인다. # 이곳은 곱창 단품메뉴도 팔지만 무한리필이 유명하다. ( 내 친구들이 하도 무한리필 무한리필해서 그럴찌도.. ) # 테이블에는 미리 새빨간 색깔로 수저를 유혹하는 순두부찌개가 세팅되어 있다. # 무한리필이 아니었다면 바닥까지 싹싹 긁어먹었을 맛있는 녀석. # 계란 하나를 톡 깨서 넣어주는데 조금 끓었을 때 아래쪽 깊숙히 .. 2016. 7. 19.
Android 놓치기 쉬운 안드로이드 성능 향상 팁 Android 놓치기 쉬운 안드로이드 성능 향상 팁 출처 : http://developer.android.com/training/articles/perf-tips.html 아래 두가지 규칙이 모든 성능 향상의 기본 법칙이다. 1. 필요 없는 일은 하지 말아라. 2. 피할 수 있다면 memory 를 잡는 일을 하지 말아라. 참고로 micro-optimization 을 한다고 해도 모든 단말에서 똑같은 성능향상이 있는 것이 아니다.VM 의 종류, Processor 의 종류에 따라서도 조금씩 다르고, JIT 의 유무에 따라서도 다르다. 아래 항목들은 대부분의 환경에서 최적화시킬 수 있는 micro-optimization 기술을 소개한다. 쓸 데 없이 객체를 생성하지 말자. GC 를 유발하며, GC 는 conc.. 2014. 4. 3.
JSON 과 XML 의 Parsing 비교. ( 속도, 특성, 장단점 ) JSON 과 XML 의 Parsing 비교. ( 속도, 특성, 장단점 ) General -Transfer, Parsing, Query 측면에서 봤을 때 XML 과 JSON 은 거의 비슷하다.( 33 개의 다른 문서를 1200 번정도 OS, Browser 등을 바꿔가며 테스트 했다고 함 ) 출처 : http://www.infoq.com/news/2013/08/xml-json-performance -기본 JavaScript parsing 기준으로 JSON 이 XML 보다 조금 더 느리지만, query 속도는 JSON 이 훨씬 빠르다.jQuery 를 이용했을 경우에는 JSON 이 매우 느려지는데, XML 은 훨~씬 느려진다. -JSON, XML 파싱 속도는 큰 차이가 없으니, 그냥 Data 전송에 치우쳐 생각.. 2014. 4. 2.
반응형