목록투케이 (1987)
투케이2K

[제 목] [일일 보고] 설명 및 작성 방법 예시 [내 용] 1. [일일 보고] 란 회사에서 금일 업무를 수행한 내용을 작성해 상급자에게 보고를 하는 것 입니다 - 일반적으로 같은 팀에 속해있는 팀장에게 보고 합니다 2. [일일 보고] 에는 [ 금일 업무 수행 내용 / 업무 진척률 / 이슈 사항 / 향후 업무를 진행할 예정 사항 ] 등을 작성할 수 있습니다 3. [일일 보고] 작성 예시
[환경 설정] 저장소 : Bitbucket / Git 사용 목적 : 소스 코드 버전 관리 실시 [소스 코드] 1. git pull , push 명령어 수행 시 발생 된 에러 [해결 방법] 1. 외부에서 접속해서 pull , push 명령어 수행 시 발생하는 에러로 내부 사내망에서 명령어 수행 2. 사내망에서도 같은 에러가 발생한다면 인프라 및 정보팀에 문의해서 권한 확인 필요
[로직 정리] 정리 로직 : Android 상태 : [Android] [android 13 / target 33] 안드로이드 모바일 핫스팟 테더링에 연결된 클라이언트 IP 주소 획득 방법 [설 명] 1. Enumeration 를 사용해 현재 핫스팟이 활성화된 부모 IP 주소 획득 실시 - 참고 사이트 : https://blog.naver.com/kkh0977/223071746828 2. 부모 IP 주소에서 C 클래스까지 데이터 파싱 수행 (ex : 192.168.145. / 마지막은 제외) 3. Runtime.getRuntime().exec() ping 핑 명령어를 사용해 1 ~ 255 까지 반복문 수행 - 참고 사이트 : https://blog.naver.com/kkh0977/2231100327..
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : [Android] 안드로이드 모바일 핫스팟 테더링에 연결된 클라이언트 IP 주소 확인 에러 [에러 원인] 1. 안드로이드 OS 11 이상 부터 기존에 사용하던 핫스팟 테더링에 연결 된 클라이언트 IP 확인 시 퍼미션 접근 권한 에러가 발생하는 이슈 - 기존 방법 [1] : 안드로이드 커맨드 명령어를 사용해 추출 Runtime.getRuntime().exec("ip neigh"); - 기존 방법 [2] : 파일을 읽어 데이터 파싱 new FileReader("/proc/net/arp") [해결 방법] 1. Enumeration 를 사용해 현재 핫스팟이 활성화된 부모 IP 주소 획득 실시 2. 부모 IP 주소에서 C..
[환경 설정 및 설명] 프로그램 : Xcode 설 명 : [Ios] aws mqtt pleet provisioning 플릿 프로비저닝 등록 에러 [에러 원인] 1. Ios 에서는 aws mqtt 플릿 프로비저닝을 수행 시 라이브러리 및 인증서 에러가 발생하는 이슈 확인 [해결 방법] 1. Ios 에서는 aws mqtt 필릿 프로비저닝을 수행하기 위해서는 CA 인증서를 사용해 P12 파일 생성 필요 2. 생성된 P12 파일을 프로젝트에 추가해 인증 확인 필요
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : [Android] 구글 플레이스토어 심사 완료 된 앱 버전 관리자 게시형 출시 취소로 심사 완료된 앱 내리기 [에러 원인] 1. 잘못된 기능이 추가된 버전의 앱이 구글 심사를 통과해 앱 출시를 취소해야하는 이슈 발생 [해결 방법] 1. 관리자 게시형 앱 출시 관리 2. 변경사항 게시 취소 선택 3. 앱 빌드 버전 향상 및 새로운 앱 업데이트 심사 요청 수행 4. 새로운 앱이 심사가 완료된 경우 >> 관리형 게시 출시
[구 분] TITLE : DATA FORMAT FORMAT : Socket , Tcp/Ip , Byte [소켓 통신 데이터 포맷 설명] 1. 사전 TCP / IP 소켓 통신을 수행하기 위해 데이터 포맷 프로토콜 정의 실시 (STX / 데이터 길이 / 데이터 / ETX) 2. STX 시작 비트를 확인하면 버퍼에 순차적으로 데이터를 쌓는다 3. 버퍼는 ETX 종료 비트가 들어올 때까지 계속해서 들어온 데이터를 추가한다 4. ETX 종료 비트까지 정상적으로 받은 경우는 >> 데이터 검증을 수행한다 5. 데이터 길이 확인 >> 실제로 데이터 길이 만큼 버퍼에 쌓인 데이터 LENGTH 확인 6. 정상적으로 데이터 길이 만큼 버퍼에 데이터가 쌓인 경우 >> 데이터 파싱..
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : [Android] SmartConfig 스마트콘피그 기능 개발 시 하드웨어 칩셋 호환성 이슈 [에러 원인] 1. Android / Ios 에서 스마트콘피그 개발 시 esptouch 라이브러리를 사용하는데 , 다른 하드웨어 기기와 espresso 회사간 칩셋 하드웨어 호환성 이슈로 개발 진행 이슈 발생 [해결 방법] 1. 방안 [1] : 해당 업체에서 espresso 회사 칩셋과 호환성을 맞게 변경해 esptouch 라이브러리 그대로 사용 2. 방안 [2] : 해당 업체에서 별도로 개발한 스마트콘피그 모바일 sdk 파일 전달 받은 후 다시 코딩 수행 실시
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : Android Api 31 BluetoothAdapter.getDefaultAdapter deprecated 이슈 [에러 원인] 1. Android 타겟 Api 설정 31 버전 이상 시 BluetoothAdapter.getDefaultAdapter deprecated 이슈 발생 [해결 방법] 1. 블루투스 매니저를 사용해 서비스 객체 획득 및 getAdapter 획득 실시 BluetoothManager bluetoothManager = (BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE); BluetoothAdapter ble_Adapter ..
[환경 설정 및 설명] 프로그램 : Xcode 설 명 : 엔터프라이즈 (Enterprise) 인증서 사용해 빌드 및 배포한 앱 재설치 이슈 [에러 원인] 1. 엔터프라이즈 인증서를 사용해 빌드 및 배포한 IPA 파일 1년 경과 후 앱 재설치 이슈 2. 엔터프라이즈 인증서를 사용해 빌드한 IPA 파일은 빌드 시점 부터 인증서를 사용해 배포 된 파일로 1년 경과 후 재설치 이슈 발생 [해결 방법] 1. 새로 발급 받은 엔터프라이즈 인증서를 사용해 맥북 및 Xcode 에 인증서 설정 실시 2. 새로 갱신된 엔터프라이즈 인증서를 사용해 프로젝트 새로 빌드 및 IPA 파일 새로 생성 실시 3. 새로 생성 된 IPA 파일 브라우저에 업로드 및 공지 표시 실시
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : 빌드 에러 - Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter view onItemSelected [에러 원인] 1. 스피너 화면 View Null 발생 이슈 [해결 방법] 1. View 옵셔 널 코드 변경 수행 실시 // [에러 발생 부분] override fun onItemSelected(parent: AdapterView, view: View, position: Int, id: Long) { // [해결 코드 작성] override fun onItemSele..
[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : 빌드 에러 - kotlin.Unit was compiled with an incompatible version of Kotlin [에러 원인] 1. 프로젝트에 local properties 파일이 없어서 빌드 시 발생하는 이슈 com.android.builder.errors.EvalIssueException: SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at [해결 방법] [1]. 안..

[환경 설정 및 설명] 프로그램 : AndroidStudio 설 명 : 빌드 에러 - kotlin.Unit was compiled with an incompatible version of Kotlin [에러 원인] 1. 안드로이드 타겟 SDK 33 버전 향상으로 인한 코틀린 버전 의존성 충돌 이슈 발생 Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1. The class is loaded from C:/Users/KGH/.gradle/caches/transforms-3/5dfff979b..
[제 목] [2023.03.12] [공지사항] 블로그 게시물 4000 개 작성 완료 [내 용] - 투케이2K의 개발블로그입니다. - 2023.03.12 기준 게시물 4000 개 작성을 완료했습니다. - 이제 2023 년도 학교 개학 등 시작 단계인데 , 블로그를 방문해주신 방문자 분들 모두 행복하고 좋은 한해가 되셨으면 좋겠습니다! - 개인 일정으로 최근 블로그 게시물을 자주 올리지 못했는데, 시간이 날 때 마다 더열심히 공부해서 방문자 분들에게 더 나은 개발 소식을 전달해드리겠습니다. - 개발 관련 궁금한 사항은 쪽지든, 메일이든, 댓글이든 어디든 남겨주시면 최대한 성실히 답변을 보내드리겠습니다. - 톨스토이 : 노력은 수단이 아니라, 그 자체가 목적이다. ..
[로직 정리] 정리 로직 : Android 상태 : [Android] SmartConfig 스마트콘피그 와이파이 연결 및 TCP/IP 통신 로직 [설 명] =============================================== [1]. 안드로이드 build gradle 에 EspTouch 라이브러리 추가 실시 - implementation 'com.github.EspressifApp:lib-esptouch-android:1.1.1' =============================================== [2]. 안드로이드 근처 와이파이 검색 수행 =============================================== [3]. 특정 와이파이 선택 >> SS..
[환경 설정 및 설명] 언 어 : Java 설 명 : 문법 - [Observable] http 요청 response 값 Model SerializedName 파싱 및 콜백 확인 [소스 코드] // ------------------------------------- // [로직 처리 실시] // ------------------------------------- try { // [샘플 API 호출 및 Schedulers 설정 및 구독 결과 확인] SampleApi.request() .retry((retryCnt, e)->{ // [retry : onError 발생 시 재요청 시도 : 지정 횟수 동안 재호출] Log.i("---","---"); Log.d("//===========//","====..
[환경 설정 및 설명] 언 어 : Java 설 명 : 문법 - [GSON] SerializedName 사용해 모델 클래스 생성 및 response 데이터 자동 파싱 수행 실시 [소스 코드] // ------------------------------------- // [로직 처리 실시] // ------------------------------------- try { // [String 샘플 JSON 데이터 생성] String sampleJson = "{\"key_age\":30,\"key_item\":[{\"key_lang\":\"Kotlin\",\"key_tool\":\"Android\"},{\"key_lang\":\"Swift\",\"key_tool\":\"Xcode\"}],\"key_..
[환경 설정 및 설명] 언 어 : Java 설 명 : 문법 - [GSON] SerializedName 사용해 모델 클래스 JsonObject , JsonArray 생성 [소스 코드] // ------------------------------------- // [로직 처리 실시] // ------------------------------------- try { // [JSON 생성에 필요한 데이터 선언] M_Person.Note note = new M_Person.Note("twok.blog"); // [JSON 생성에 필요한 데이터 선언] ArrayList items = new ArrayList(); items.add(new M_Person.Item("Java", "Android")); i..
[로직 정리] 정리 로직 : Android 상태 : [Android] Aws Fleet Provisioning 프로비저닝 로직 수행 [설 명] [1]. 사전 프로비저닝 수행에 필요한 정보 전달 받기 - 클레임 인증서 - private key - 엔드 포인트 (접속 주소) - 템플릿 명칭 [2]. 안드로이드 프로젝트에 [클레임 인증서 / private key] 2개를 raw 폴더에 저장 [3]. Aws 라이브러리를 build gradle 에 의존성 부여 실시 [4]. [1 단계] : [인증서 확인] : client id (디바이스 명칭), 엔드 포인트, 클레임 인증서, private key 를 사용해 인증서 확인 수행 [5]. [1 단계] : [인증서 확인] : 인증서 확인에 성공하면 내려오는 ..
[로직 정리] 정리 로직 : Android 상태 : [Android] NFC mifareClassic 마이페어 블럭 (block) 데이터 읽기 [설 명] [1]. 안드로이드 NFC 활성 여부 상태 체크 수행 실시 [2]. 안드로이드 onCreate : NFC 기능이 활성화 된 경우 >> NfcAdapter.getDefaultAdapter 할당 [3]. 안드로이드 onResume : nfcAdapter.enableReaderMode 등록 실시 [4]. NFC 카드를 모바일에 태깅 수행 실시 [5]. 안드로이드 NfcAdapter.ReaderCallback 콜백 메소드에서 NFC 카드 UID 값 확인 실시 [6]. 안드로이드 MifareClassic connnect 연결 수행 실시 [7]. [JN..