본문 바로가기

[Kotlin] [ktlint] BUILD FAILED ktlint에 대해 궁금하신 분은 커리님이 작성해 놓으신 블로그를 보시면 됩니다.https://www.androidhuman.com/lecture/kotlin/2016/09/06/ktlint_on_android/ ktlint는 코딩 스타일을 검토해주는 오픈 소스 입니다.https://github.com/shyiko/ktlint ktlint 실행하면 아래와 같이 빌드 실패라는 화면을 보게 된다. Ktlint 관련 이슈가 목록에 나오지만, 저 같은 경우 왜 ExecException이 발생하는지 원인을 알고 싶었습니다. 이 글을 쓰는 이유도 혹시 저같이 바보(?) 같은 생각을 하시는 분들이 있으실까봐 공유 드립니다. ktlint에서 알려준 이슈를 전부 수정 해라!!! 그럼 위와 같이 BUILD SUCCESSF.. 더보기
[Kotlin] For loop vs Foreach Kotlin 에서 반복문을 사용할 때 For loop를 쓸 것인지, 아니면 Foreach를 쓸 것인지 고민한 적이 있으신 분은아래 내용을 참조 하면 좋을 듯 하다. 1. IntRange를 사용한 경우는 For loop 2. Collection (Sequence나 list등)을 사용한 경우는 Foreach3. 반복문 사이에 continue 나 break를 사고자 할 경우는 For loop참고 : https://medium.com/@elye.project/kotlin-for-loop-vs-foreach-7eb594960333 여기서 추가 사항! Android 테스트를 하다가 Foreach 를 사용 했을 때, 분명 전체 반복은 돌았는데 Log로는 몇개만 찍혀서 나오는 경우를 본 적이 있다. 예를 들어 List.. 더보기
[Android] build gradle failed to resolve ## 현재 오류 발생 및 해결은 Android Studio 3.2 버전에서 발생함. 갑자기 어느 순간에 ' failed to resolve' 라는 에러와 함께 특정 라이브러리가 로딩이 되지 않는다는 Gradle 에러를 볼 수 있다.이럴 경우 혹시 아래와 같이 build.gradle 파일이 되어 있지 않은가 확인 해보세요.또는 jcenter()가 포함되어 있는지 체크해보세요. # build.gradlebuildscript { ... repositories { google() jcenter() ... } ... } allprojects { repositories { google() jcenter() ... } } jcenter() 에서 특정 라이브러리를 받아오지 못하는 에러가 발생한게 원인이었습니다. htt.. 더보기
[Spring] Eclipse - BeanCreationException 발생 Injection of autowired dependencies failed Spring을 빌드 한 후, 위와 같은 에러가 본적이 있으면 ...아마 혹시 멘붕 오신 상태 아니신가요?^^; 크게 잘못된 부분이 없는데 빌드가 되지 않고 답답할 수도 있습니다. 우선 아래에 몇가지만 체크해 보세요. http://ceaserdev.tistory.com/entry/Spring-BeanCreationException-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95 http://mkil.tistory.com/301 등등... 구글에 검색하면 여러 정보가 있다. 저 같은 경우는 .m2 폴더를 삭제 하고 발생 했다. m2 폴더는 캐시 폴더라 문제가 없을 줄 알았는데.... 더보기
[Kotlin] View Height, Width 변경 Kotlin의 Extension 기능을 이용하면 쉽게 View에 크기를 조절할 수 있다. /** * Extension method to set View's height. */ fun View.setHeight(value: Int) { val lp = layoutParams lp?.let { lp.height = value layoutParams = lp } }/** * Extension method to set View's width. */ fun View.setWidth(value: Int) { val lp = layoutParams lp?.let { lp.width = value layoutParams = lp } }http://kotlinextensions.com/#view 위 두 함수를 추가 해놓.. 더보기
[JavaScript] Detecting Mobile browser JavaScript 에서 모바일 브라우저를 찾는데 참고할만한 좋은 소스인듯 하여 공유 합니다. /** * Determine the mobile operating system. * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'. * * @returns {String} */ function getMobileOperatingSystem() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; // Windows Phone must come first because its UA also contains "Android" if (/windows.. 더보기
[JavaScript] Using videojs to play video inline on ios VideoJs 기능을 이용하여 열심히 플레이어를 만들고 커스텀마이징 했는데... iOS 에서 Native Player가 실행되어서 많이 당황 하셨죠? 아래 옵션을 넣기만 하면 된다고 합니다. 참조 : https://stackoverflow.com/a/43617296 다른 건 크게 신경 안쓰셔도 되고, playisinline 옵션을 넣어주세요. 중요한건.. iOS 9이상 부터 가능하다는 설명이 있는데... iOS8을 테스트 해보질 못해서 첨언을 못하겠네요. 하지만.. 더 중요한 부분이.. 테스트를 해보니 iOS 에서는 전체 화면 버튼을 넣을 경우, Native 플레이어가 적용 되더라구요. 결국... iOS 사파리인지 체크 해서 그 때만 전체 화면 버튼을 제외 시키는 방식을 했습니다. 아래는 전체화면 버튼을.. 더보기
[Docker] Container 에 Timezone 설정 하기. 혹시 Oracle 을 사용하다가 아래와 같은 에러를 본 적이 있는가? ORA-01882: timezone region not found while connecting to Oracle 위 와 같은 에러가 발생 한 이유는 간단한다. Oracle이 설치 되어 있는 타임존과 Oracle에 접속하고자 하는 타임존이 다른 경우 발생 한다. Docker 같은 경우 기본적으로 UTC로 타임존이 지정 된다. 따라서 별도로 지정 하지 않으면 문제가 없지만, 만약 Oracle은 KST 인데 Tomcat은 UTC 일 경우 위와 같은 에러가 계속 발생하게 된다. 그럼... 어떻게 하면 되냐? 내가 여러 조사를 해본 결과 Docker를 다시 run 시키는게 가장 좋아 보였다. 먼저 Ubuntu에 /etc/localtime로 링.. 더보기