일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Kotlin
- 프로그래머스
- Python
- Django REST Android
- RxJava
- Django REST
- Java
- Android
- C
- NDK
- Android P
- livedata
- kodility
- Django REST framework
- FLUTTER
- RxAndroid
- UWP
- C++
- 코틀린
- android push
- 안드로이드 구글맵
- 알고리즘
- 안드로이드
- android architecture component
- Flutter TextField
- flutter firestore
- Rxjava2
- C/C++
- dart
- mfc
- Today
- Total
목록2017/12 (9)
개발하는 두더지
Dalvik , ART 란 ? Dalvik, ART 를 알아보기전 배경을 먼저 알아보자. 일반적인 컴파일 언어는 CPU의 아키텍쳐와 플랫폼의 환경에 맞추어 기계어로 번역된다. 한마디로 사람이 작성한 언어를 CPU가 알아 볼 수 있는 언어로 번역하는 것이다. 하지만 자바의 경우, 한가지 CPU의 아키텍쳐나 환경에 맞추는 것이 아닌 바이트코드라는 것으로 컴파일 되며, 이를 실행하기 위해 자바 가상 머신이 필요하다. 자바는 바이트코드만으로 여러가지 아키텍쳐나 플랫폼에서 작동할 수 있도록 하는 것이 목표이기 때문이다. 자바 가상 머신인 JVM을 사용할 수 있지만 라이선스 문제로 구글에서 Dalvik VM을 따로 개발해서 안드로이드에 넣었다. Dalvik VM32비트만 지원JIT 컴파일러 사용 ( Just In ..
ADB ( Android Debug Bridge ) 란 ? 간단하게 설명하자면 에뮬레이터나 단말기에 연결해주는 명령줄 도구입니다.설치된 App 리스트를 볼 수 있고, Shell 명령어를 직접 입력할 수 있습니다. adb 도구 경로는 android_sdk/platform-tools 에 위치합니다. WINDOWS의 경우 Users\사용자명\Appdata\Local\Android\sdk\platform-tools MAC의 경우 (확인중) 자세한 내용은 아래 링크 참조 https://developer.android.com/studio/command-line/adb.html?hl=ko#directingcommands 자주 쓰일만한 목록 명령어 기능 adb devices 어떤 에뮬레이터/기기가 연결되어 있는지 출력..
비밀 댓글 남겨주세요. 주기적으로 확인하여 초대장 보내겠습니다. 네이버, 구글등 이름있는 도메인 이메일만 보내겠습니다. 가급적이면 IT 관련자 분들 위주로 드립니다. ( 월 마다 초대장 갱신되니 리셋되는대로 해당 날짜에 가장 가까운 분들께 드립니다. 마감 댓글 확인안하시고 댓글다시면 그 분은 초대권 생겨도 안줄것 같네요.)
null value was assigned to a property of primitive type setter of 에러가 발생한다면 ??! 테이블 수정 중에 int type의 컬럼을 추가했는데 위와 같은 에러가 발생했다. 해결책은? https://stackoverflow.com/a/3154585/6602341 와 같이 Java code에서 int 대신 Integer 으로 만들어주면 null 이 들어갈 수 있다. null exception 은 반드시 해줘야 함! 또 다른 방법은 update 테이블명 set 컬럼명 = 0 where 컬럼명 is null Query를 이용하여 모든 row의 값을 초기화 하는 방법이다. 위의 명령어를 입력하면 아래의 에러가 발생할 수 있는데 Error Code: 1175. ..
샘플을 테스트하는데 아래와 같은 에러 메세지가 출력되었다. object references an unsaved transient instance - save the transient instance before flushing 무엇인가? 개체가 저장되지 않은 일시적인 인스턴스를 참조합니다. 플러싱하기 전에 임시 인스턴스를 저장합니다. 왜 뜨는 것 일까? @OneToMany 또는 @ManyToOne 을 사용할 때 Parent에 추가하는 Child 개체가 아직 데이터베이스에 저장되지 않아서 생긴 문제입니다. cascade = CascadeType.ALL 을 포함해야 에러 메시지가 출력되지 않습니다.
Windows 또는 Mac 에서 STS에 Lombok을 설치하여 사용하는 방법을 알아보겠습니다. 보일러플레이트 코드 많은 부분에서 거의 변경되지 않고 반복되는 코드 Lombok Annotation을 사용해 보일러플레이트 코드를 줄여주는 것에 초점을 둠간단하게 Getter/Setter 를 자동으로 생성시켜주는 라이브러리다. 아래 링크에서 Jar 파일을 다운로드 받습니다. https://projectlombok.org/download Gradle에서 설정방법 https://projectlombok.org/setup/gradle Jar 파일 더블 클릭 Specify location.. 클릭 & sts.exe 선택 Install / Update 클릭 설치확인 메시지lombok.jar 를 반드시 프로젝트에 추가I..
compileSdkVersion, targetSdkVersion 등 SDK 버전 설정 알아보기 개념은 어설프게 알아와서 이번 포스팅으로 정확하게 이해하기 위해 정리했습니다.안드로이드는 상위호환성을 중요시하기때문에 compileSdkVersion, minSdkVersion, targetSdkVersion 라는 개념이 있습니다. 본문에 들어가기 앞서 상위호환, 하위호환에 대한 개념을 알아보겠습니다.상위호환성예전 버전이 최신 단말기에서 실행이 잘된다면 '상위 호환'예를들면, 최신 단말기에서 핀치 투 줌(터치로 확대/축소)인 기능이 나왔을때 예전 버전을 실행해도 핀치 투 줌이 동작하면 상위호환이 된다는 말입니다. 하위호환성이전 버전에서 만든 입력값을 처리할 수 있다면 '하위 호환'이전 버전에서 만든 메소드를 다..
실시간 동영상 스트리밍 프로토콜 종류 Progressive Download HTTP 프로토콜을 사용하여 미디어 파일을 서버에서 클라이언트로 보내며 재생하는 스트리밍 방식 현재 사내 스트리밍 DRM 서비스는 Progressive Download 방식을 이용함미디어 플레이어는 동영상 파일의 헤더에 위치한 메타데이터에 의존하여 재생을 하므로 moov의 영향을 받음 moov 헤더 이동방법(http://duzi077.tistory.com/118)구현이 쉽지만 파일을 네트워크 사용량이 크다. 시청한 만큼의 데이터가 나가는 것이 아니고 한번의 요청으로 전체 파일을 받기때문에 데이터를 받은 만큼 나간다. Youtube에서 Progressive Download 방식을 사용하다가 Adaptive HTTP Streaming..