목록분류 전체보기 (105)
우찬쓰 개발블로그
저자 - 켄 커즌 안드로이드 그레들을 쓰던대로만 썼지 디테일한 구성은 모르고 있었음. 이때쯤 개념을 확실히 잡고가자고 생각해서 산 책. 좀 오래된 책이라서 최근에 추가된 기능은 포함되어 있지 않지만 그레들의 기본적인 시스템을 다 익힐 수 있을 정도는 충분했음. 덕분에 읽고나서 회사 프로젝트 그레들의 몇가지 문제점들을 자신있게 개선할 수 있었음.
저자 - 미구엘 엔젤 카스티블랑코 토레스 코루틴을 웹 문서로만 읽고 사용하고 있었는데, 문득 정확히 한번 짚고 넘어가자는 생각이 들어서 산 책. 코루틴의 기본 배경과 내부 구조를 잘 설명해 주어서 전체적인 틀을 다잡는데 도움이 많이 되었다. 코틀린 코루틴이 아직 나온지 얼마 안되었을때 지어진 책이라 현재랑은 좀 다른점들이 있고 Flow와 관련된 내용은 없음. 코루틴의 Context에 대한 개념이 명확히 표현되어있어서 좋았음. 종종 다시 읽어야겠다 싶었던 책.
pram에 ?hl= 추가 ex) https://play.google.com/store/games?hl=en Android Apps on Google Play Enjoy millions of the latest Android apps, games, music, movies, TV, books, magazines & more. Anytime, anywhere, across your devices. play.google.com language list https://serpapi.com/google-languages
* 엉클 밥 블로그 포스팅을 공부겸 직접 번역해본 글입니다. 원본 블로그 링크 (오역은 댓글로 알려주세요!) Clean Coder Blog The Clean Architecture 13 August 2012 Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: Though these architectures all vary somewhat in their details, they are very similar. They all have blog.cleancoder.com 지난 몇년동안 우리는 시스템 아키텍처에 대한 많은 범위의 아이디어를 보아왔습니다. ..
1. 자바 코드는 바이트 컴파일러에 의해 바이트 코드로 변경된다. 2. 바이트 코드는 이미 최적화가 되어있는 중간 언어이므로 손쉽게 기계어로 변경 가능하다. (JIT 컴파일러등에 의해) 3. 2.2 프로요 전 까지는 앱이 구동되는 와중에 실시간으로 자바 코드를 CPU에 맞게 변환되었다. 4. 2.2 프로요 부터는 JIT컴파일러 도입. 코드 최초 실행 시점에 바이트 코드를 기계어로 변경하고 캐시에 저장했다. 5. JIT(Just In Time)컴파일은 실행시점에 소스코드를 번역한다. 설치는 빠르지만 실행시점에 느리다. 번역한 정보를 메모리에 올려야 하기 때문에 메모리를 많이 먹는다. 6. AOT(Ahead Of Time)컴파일은 설치시점에 소스코드를 번역한다. 설치가 느리고, 번역을 해서 따로 파일을 저장..
View에 대한 하나의 애니메이션이 끝나고 다음 애니메이션, 그 다음 애니메이션.. 몇개를 연달아 호출하는 요구사항이 있었다. 공식 안드로이드 라이브러리를 찾다보니.. Listener를 각각 다는 방법 말고는 없는것 같아서 편의성 클래스를 하나 만들었다. (못찾은 걸수도..) https://gist.github.com/WoochanLee/934893722316a120f9955e4fd637dc4a Android Animation Chain Android Animation Chain. GitHub Gist: instantly share code, notes, and snippets. gist.github.com AnimationChain.kt 사용 방법 val animationChain = Animation..
안드로이드 웹뷰에서 특정 Web element가 존재하느냐에 따라서 다른 처리가 하고 싶은 경우가 있을 수 있다. 그럴경우 다음과 같은 방법을 써보자. webView.evaluateJavascript("(function() { var element = document.getElementById('desireId'); return element.innerHTML; })();") { html -> val isElementExist = !(html.equals("null") || html.equals("undefined")) if (isElementExist) { ... } else { ... } } 출처 : https://stackoverflow.com/a/51509696/9797457
/Applications/Android\ Studio.app/Contents/MacOS/studio
잠깐 개인적으로 리액트를 만지게 되었는데 모르던 귀찮은 에러들이 많았다. 대표적으로 교차 출처 리소스 공유(CORS)와 관련된 에러인데, 이것은 api서버쪽에서 헤더에 Access-Control-Allow-Origin을 열어주지 않는 이상 브라우저단에서 막아버리기 때문에 클라쪽에서는 방법이 없다. 그나마 해결책이 중간에 프록시서버를 두는 방법인데, 리액트 프로젝트를 사용한다면 간단하게 처리할수 있다. 다음과 같은 상황을 가정해보자. 네이버에서 코스피지수를 크롤링하려고 한다. 근데 axios로 다음과 같은 url을 호출해보니.. https://m.search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%BD%94%EC%8..