본문 바로가기

프로그래밍94

[android] 배포용 안드로이드 앱 번들 빌드하기 안드로이드 스튜디오를 활용해서 배포용 안드로이드 앱 번들을 빌드해 보겠습니다. 버전 변경 versionCode가 같은 번들은 play console에 업로드할 수 없습니다. 처음으로 앱을 배포하는 상황이 아닌 경우 build.gradle 파일 내 versionCode 와 versionName 을 수정해주세요. 두 변수의 차이점과 기능에 대해선 공식 문서를 참고해주세요. 생성 옵션 선택 새로운 번들에 서명을 해야 합니다. Build -> Generate Singed Bundle / APK 를 선택합니다. 기본 설정(Android App Bundle)을 선택 후 다음 단계를 진행해 주세요. 업로드 키 생성 및 적용 업로드 키가 존재하는 경우 서명 키 비밀번호와 alias를 입력해주시고 서명키가 없는 경우 C.. 2023. 2. 26.
[Python3] dictionary 사용 방법 hashmap 을 구현할 수 있는 python dictionary 사용 방법을 서술합니다. dictionary 는 key 와 value 한 쌍의 집합체입니다. 또한 집합 원소 간 순서가 보장되지 않습니다. (순서가 없음) 선언 hashMap = {} 아래와 같이 초기화 할 수 있습니다. hashMap = dict(apple = 10, banana = 6, grape = 7) key 와 value 추가 및 업데이트 keyName 이 없을 경우 추가, 존재하는 경우 value 를 업데이트합니다. hashMap['keyName'] = value key 와 value 삭제 list 삭제와 동일한 방식입니다. del hashMap['keyName'] key 존재 여부 확인 in, not in 구분을 통해 확인 여.. 2023. 2. 13.
[Python3] 다차원 리스트 생성 계속 까먹는 파이썬 다차원 리스트 생성, 알고리즘 문제 푸는 데 유용한 도구가 되니 더 이상 까먹지 않도록 블로그에 기록합니다. 생성 모든 원소 값 0을 갖는 2차원 리스트를 생성합니다. n = 2 table = [[0 for _ in range(n)] for _ in range(n)] # [[0,0], [0,0]] 주의점 아래 프로그램을 실행하여 동일한 결과를 얻을 수 있으나, 일반적인 다차원 리스트를 생성하는 것이 아닌 각 인덱스에 대한 참조 리스트를 생성합니다. n = 2 table =[([0]*n)] *n # [[0,0], [0,0]] table[1][1] 값을 1로 만들고자 할 때, table[0][1] 또한 1로 변경되는 것을 확인할 수 있습니다. print(table) # [[0,0], [0.. 2023. 2. 12.
[React-Native] Pressable 컴포넌트로 재사용 가능한 버튼 구성하기 Presssable 컴포넌트는 RN 앱 개발을 위해 반드시 알아야 하는 컴포넌트입니다. press 상호작용에 관한 기능을 제공하는 컴포넌트이기 때문에 적절히 커스텀해서 버튼 등의 기능을 대신할 수 있습니다. (RN 기본 컴포넌트 Button 컴포넌트는 너무 빈약합니다.) 구성 그러나 Pressable을 재사용 가능한 버튼으로 바로 사용하기에는 난감한 문제들이 있습니다. 버튼 뿐만 아니라 기타 press event에도 대응하기 위해(버튼 그 이상의 목적으로 광범위한 용도를 위해) 만들어졌기 때문입니다. import React from "react"; import { Pressable, Text } from "react-native"; const ButtonCustom = ({ onPress, text, t.. 2023. 2. 12.
[React-Native] react-native-webview 안드로이드 플랫폼에서 웹뷰를 출력하지 않는 문제 앱 내 웹뷰를 이식하려고 했습니다. 웹뷰를 사용하기 위해 react-native-webview 라이브러리를 사용하려 했으나.. 안드로이드 플랫폼에서 정상적으로 출력이 되지 않았습니다. 빈 공간만 출력되었습니다. IOS 플랫폼에선 정상적으로 원하는 웹뷰가 출력되었습니다. 안드로이드 플랫폼에서만 발생하는 문제였습니다. 깃허브 issue 항목에 비슷한 문제에 대한 해결 방법을 찾을 수 있었습니다. 상위 컴포넌트 없이 리턴 View 나 ScrollView 같은 상위 컴포넌트가 존재할 때 리턴하는 경우 발생하는 문제였습니다. 잘못된 예) return ( ); 올바른 예) return ; 참고 : react-native-webview/issues/1426#issuecomment-1207378759 White bla.. 2023. 2. 12.
[React-Native] react-native-google-singin 앱 심사에 통과하기 위한 앱 서명 인증서(SHA-1) 키 적용하기 debug 빌드에서 잘 기능하는 구글 소셜 로그인이 동작하지 않아 플레이 스토어 심사에서 승인받지 못했습니다. 찾아보니 앱 서명 인증서 SHA-1 키를 파이어베이스 콘솔에 추가해야 한다고 합니다. (디버그 환경에서는 상관이 없으니) 귀찮다고 추가 안했던 기억이 나네요... SHA-1 키 복사 구글 플레이 콘솔 -> 앱 선택 -> 설정 -> 앱 무결성 -> 앱 서명에서 앱 서명 인증서(SHA-1) 지문을 복사합니다. 파이어베이스 콘솔 적용 파이어베이스 콘솔 -> 프로젝트 선택 -> 프로젝트 설정 -> 디지털 지문 추가를 클릭합니다. 복사한 SHA-1 키를 붙여넣은 후 저장합니다. (선택) Release 빌드 SHA-1키 콘솔에 적용하기 구글 로그인이 Release 빌드에서도 정상적으로 기능하도록 Relea.. 2023. 2. 12.