react-native-router-flux 라이브러리를 사용하면서 발생했던 이슈 몇 가지가 있었다. 1. 두 번 이상의 클릭으로 새로운 스크린을 띄우게 되면 그 갯수만큼 스크린이 열림. (2번 누르면 2개 열림) 2. 창 닫기 버튼을 두 번 이상 클릭 했을 때 Actions.pop()이 여러번 호출 되는 증상. (2번 닫기버튼 누르면 2개 스크린이 닫힘) 3. 안드로이드에서 Back 버튼 두 번 누를 때 종료하는 기능 각각을 다음과 같이 해결함! 두 번 이상의 클릭으로 새로운 스크린을 띄우게 되면 그 갯수만큼 스크린이 열리는 증상 actions.js를 생성 후 다음과 같이 push함수를 정의한다. (현재 스크린의 키 값과 비교 후 이미 띄워졌다면 수행하지 않는 코드) 출처 (github.com/akso..
http 프로토콜 통신 방식은 단방향 요청 - 응답으로 동작한다. 클라이언트에서 요청을 보내야 응답하는 것으로 실시간 데이터 반영 하는데에는 적합하지 않은 구조이다. 실시간 반영 문제를 해결하기 위한 몇 가지 해결 방법이 있다. polling, long polling, streamming, websocket 등 방식이다. Polling 방식: Client가 일정 간격으로 요청을 보내는 방식 예) 3초에 한번씩 서버에 데이터 요청 업데이트가 없는 경우에도 불필요한 요청이 생기기 때문에 효율적이지 못함. Long Polling 방식: Client가 요청(응답대기)을 걸어놓고 Server에서 데이터 변경이 있을 때만 응답해주는 방식 응답이 오면 Client는 다시 (요청)응답대기를 걸어놓는다. 요청(응답대기)..
대기업에서 제조한 일반 스마트폰 단말기에서는 좀 처럼 발생하지 않지만 마이너한 제조사의 일부 키오스크나 단말기 등에서는 위 처럼 'Unknown Device'라고 뜨는 경우가 있다. 저렇게 뜨더라도 UI 자체가 빌드 & 실행이 가능해 보인다. 그래서 Run App(^R)을 해보면? 이렇게 실패가 되는 경우가 있다. 이럴 때 ADB에 무선으로 디버깅 설정을 하게 되면 정상적으로 빌드 & 실행을 할수 있게 된다. ADB 무선 디버깅 설정 방법 1. $cd ~/Library/Android/sdk/platform-tools 2. $./adb devices (현재 연결된 디바이스 리스트 확인) 3. $./adb tcpip 5555 ( 무선으로 디버깅을 하기 위한 5555번 포트를 오픈 / 정확한 원인은 모르겠지만..
1. exam.ttf 파일 다운로드 (여기서는 파일명을 exam.ttf으로 예를 들었다) 2. asset/fonts/exam.ttf 디렉토리 구조로 파일 위치 지정 (디렉토리가 없으면 만들 것) 3. react-native.config.js 파일 내용을 다음과 같이 편집 (파일이 없으면 만들 것) module.exports = { project: { ios: {}, android: {}, }, assets: ['./assets/fonts'], }; 4. 터미널 창에서 $ react-native link ( 이 명령 수행 시 각 플랫폼 별 프로젝트에 폰트 파일을 위치시킨다. ) 5. 다시 빌드 후 실행!
React Native 0.62.1에서 개발 중 TextInput을 사용하는데, ios에서 텍스트를 입력 시 뷰 크기가 커졌다 작아졌다 반복하는 증상을 확인하였다. 서치 결과 이는 React Native 버전 0.62 이하에서 발생하는 버그로, 0.63.0 이후 버전에서 수정되었다고 한다. (출시 전이므로 업데이트를 시도해봐야겠다) 임시방편으로 TextInput style props에 fontSize: 17로 지정해주는 것으로 잠시나마 해결 되는 듯 하였으나 각 디바이스마다 설정되어있는 텍스트 크기(설정 - 디스플레이 및 밝기 - 텍스트 크기로 변경 가능)가 중앙 기본값으로 설정 되어있을 때의 해결 방법일 뿐이었다. 사용자가 OS상에서 글씨 크기를 변경하게 되면 소용 없는 해결 방법인 것...
대용량 메일 전송하는 서비스는 비용이 많이 발생할 수 있고 안정성 등을 위해 복잡한 과정을 거쳐야 한다. 이런 과정들을 저렴한 비용으로 구축할 수 있도록 돕는 서비스가 SES(Simple Email Service)이다. 해당 서비스를 이용하기 위해서는 백엔드에서 SDK를 사용하여 돌리는 방법도 있지만, Lambda를 사용하여 백엔드의 비용을 줄이는 것이 좋다고 판단하여 Lambda AWS에서 안내하는 전체적인 과정은 여기 각 서비스 별 요금 정책 SES, Lambda 진행 과정 1. SES에 메일 인증 및 샌드박스 환경 벗어나기 2. Lambda 함수 작성 및 테스트 3. Lambda 함수 배포 (이것를 수행하기 위해 API Gateway 서비스 필요) 4. curl 명령어로 최종 테스트 * 이 문서에서..
solidity로 개발하기 위해서 대부분이 Remix IDE를 추천하였다. 웹 IDE에서 소스 관리가 될까 하는 의문이 있었지만, 두 가지 방법을 찾아낼 수 있었다. (더 있을 수 있다..!) Remix에서 소스 관리를 위한 두 가지 방법 - Remixd 사용(로컬 파일 시스템을 remix ide에 링크시켜주기 위한 툴.) + Git - gitHub gist 사용 (문서 단위의 버전 관리, 테스트 코드 버전 관리로는 유용함) 이 중에서 Remixd 사용방법을 정리 하였다. 관련 정보 (https://github.com/ethereum/remixd) 선행 사항 - npm 패키지 관리자 (node.js를 설치하면 함께 설치 됨) (https://nodejs.org/en/download/) - Remixd 설..
블록체인 - 이더리움에서 사용되는 기술 : P2P, Hash, 마이닝, 스마트 컨트랙트 P2P - 핵심 키워드 탈중앙화, - 토렌트, 소리바다 같은 서비스가 있음. - Server-based(CS)와 대비되는 기술 - 블록체인 자체가 서로 간 정보가 엮여야 하기 때문에 이 기술이 필요. - 자유로운 참여&정보 공유 / 사용자 간 검열을 통해 생태계가 유지되는 구조 장점 - 보안 부분에 있어서 강력한 힘을 갖고 있음. (해킹이 매우 어려운 구조) - 탈중앙화로 인해 서버의 해당하는 중앙장치가 없으므로, 서비스가 죽을 확률이 낮음. 단점 - 활성화 된 노드의 수량이 적거나 없는 경우 서비스 자체가 사라지거나 조작(51%의 공격)이 쉬워짐. - 아무런 보상 없이 노드를 유지하는 자원봉사자는 많지 않으므로, 적..
Android에서는 Back키를 통해 키보드를 내릴 수 있지만, IOS에서의 사용은 입력 칸이 아닌 다른 곳을 누르는 경우 텍스트 입력(키보드)이 취소되는 사용자 UX를 가지고 있다. UI를 그릴 때 TouchableWithoutFeedback의 자식 뷰로 구성하게 되면, 키보드가 보여지는 상태에서 빈 공간 또는 자식 뷰를 터치할 경우 닫히도록 동작시킬 수 있다. TouchableWithoutFeedback 컴포넌트는 자식 뷰를 1개만 가질 수 있으므로 다음처럼 전체 공간을 채우는 뷰를 추가하여 세부 UI를 구성해 줄 필요성이 있다. import React, {Component} from 'react'; import { Keyboard, TouchableWithoutFeedback } from 'reac..
- Total
- Today
- Yesterday
- WKwebview
- uicollecionview
- ReactNative 한글
- zip
- HTML
- png
- jpeg
- TextInput 한글
- proguard
- Monterey
- local
- mac command
- 프로가드
- env: python
- F
- multidex
- idea
- cocoapods
- multiple commands produce
- Gif
- Podfile
- idea command
- DEX
- 12.5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |