전체 글93 [Android] 403. Error: disallowed_useragent Message 403. Error: disallowed_useragent. Google can't sign you safety inside this app. You can use Google sign-in by visiting this app's website in a browser like Safari or Chrome. 발생 원인 발생 조건 내부 구현이 WebView로 된 인앱 브라우저로 Google OAuth 2.0 링크를 여는 경우 2016년 10월 20일 이후로 안드로이드 환경에서 구글 인증을 웹으로 하려고 할 때 발생한다. 구글 인증 링크를 웹으로 열기 위해서는 앱에서 브라우저를 호출해야하는데, 이 때 호출하는 인앱 브라우저의 구현체가 WebView라면 오류가 발생한다. 구글이 2016년 10.. 2020. 7. 6. [프로그래밍 이론] In-app browser, External browser In-app browser, External browser 모바일 프로그래밍 환경에서의 인앱 브라우저와 외부 브라우저의 특징과 차이점을 알아보자 사전 지식 브라우저의 정의 웹 브라우저 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 웹 브라우저 또는 브라우저(영어: web browser 또는 browser, 문화어: 열람기)는 웹 서버에서 이동하며(navigate) 쌍방향으로 통신하고 H ko.wikipedia.org 인앱 브라우저와 외부 브라우저를 나누는 기준 간단하다, 브라우저가 "특정 어플리케이션에 종속되었는지의 여부"를 따지면 된다. In-app browser란? 인앱 브라우저(In-app browser)는 내장 브라우저(Internal brow.. 2020. 7. 3. [Flutter] 여러 페이지를 한 화면에서, PageView 여러 페이지를 한 화면에서, PageView 여러 페이지를 한 화면에서 처리할 수 있게 해주는 PageView 위젯을 알아보자 작업 환경 Flutter : 1.17.3 Dart : 2.8.4 PageView란? PageView는 여러 페이지를 한 화면에서 구현할 수 있도록 해주는 위젯 클래스이다. 보통은 한 화면에 한 페이지를 구현하는데, PageView를 사용하면 한 화면에서 여러 페이지를 책처럼 넘겨볼 수 있도록 구현할 수 있다. flutter 공식 채널의 PageView 소개 영상 페이지를 수직, 수평으로 넘기거나 페이지 전환 애니메이션 등을 적용할 수 있다. PageController 클래스를 등록하여 페이지 전환을 트리거 할 수도 있다. PageView 사용해보기 여러 페이지 추가하기 책을 만드.. 2020. 6. 15. [프로그래밍 이론] 두 점 사이의 절대각도를 재는 atan2 두 점 사이의 절대각도를 재는 atan2 프로그래밍 언어에서 역탄젠트를 계산하는 함수 atan2의 특징을 알아보자 아크탄젠트란? 아크탄젠트(arctangent)는 역탄젠트라고도 하며 탄젠트의 역함수이다. 아크탄젠트를 이용하면 위 사진에서의 θ의 각도를 구할 수 있다. 모든 프로그래밍 언어에는 아크탄젠트를 계산할 수 있도록 Math 모듈에 atan(y / x)과 atan2(y, x) 함수를 지원한다. atan과 atan2의 차이점 atan과 atan2은 두 점 사이의 θ의 절대각을 구하는 함수인데 왜 두가지로 나뉘었을까? atan은 두 점 사이의 탄젠트값을 받아 절대각을 -π/2 ~ π/2의 라디안 값으로 반환한다. (-90 ~ 90도) atan2는 두 점 사이의 상대좌표(x, y)를 받아 절대각을 -π .. 2020. 6. 3. [Algorithm] 평면 좌표 경로 압축 알고리즘 평면 좌표 경로 압축 알고리즘 2D 평면 좌표(x, y)들의 경로를 압축, 요약하는 알고리즘을 만들어보자. 사전 지식 이 알고리즘은 평면좌표 표현 방법과 기초 삼각 함수를 숙지하여야 한다. 라디안 라디안 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 라디안(영어: radian)은 각의 크기를 재는 SI 단위이다. 호도(弧度)라고도 하며, 기호는 rad이다. 단위원의 중심각의 라디안 값은 그 각이 대하는 호의 길이와 같다. 1라디안은 약 57.3도이다. 라디안은 입체각의 단위인 스테라디안과 함께 SI 보조 단위에 속했으나, 1995년에 SI 보조 단위가 폐지되면서 SI 유도 단위가 되었다. 라디안의 표기는 rad 기호가 가장 흔하며, 이는 자주 생략된다. 간혹 c(위첨 ko.wiki.. 2020. 5. 14. [Flutter] Firebase cloud messaging 적용하기 Firebase cloud messaging 적용하기 플러터 앱에 FCM 푸시 알림 기능을 적용해보자. FCM이란? FCM은 Firebase cloud messaging의 약자로 앱이나 웹에 푸시 알림을 전송할 수 있도록 해주는 파이어베이스 서비스 중의 하나이다. 푸시 알림에는 사용자에게 보여지는 제목과 내용, 사용자는 볼 수 없는 데이터를 포함하여 보낼 수 있으며, 데이터 사이즈에는 제한이 있지만 사용량에는 제한 없이 모두 무료이다. FCM 이전에 GCM(Google cloud messaging)이라는 서비스도 있었는데 2019년 4월 11일자로 서비스를 중단해서 이제는 FCM을 써야한다. 선행 작업 이 글은 1. 파이어베이스에 프로젝트 생성 2. 파이어베이스에 Android, iOS 등록 3. APN.. 2020. 4. 20. [Flutter] Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set. Stacktrace Fatal Exception: java.lang.RuntimeException Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.RuntimeException: PluginRegistrantCallback is not set. 발생 원인 발생 조건 v2 embedding이 적용된 플러터 안드로이드 프로젝트 Firebase_messaging 패키지를 사용 사용자 문제는 아니고 Firebase_messaging 패키지가 v2 embedding을 제대로 적용하지 않아서 생긴 문제이다. 플러터에서 네이티브 코드를 호출하기 위해서는 패키지 내부 소스코드에서 .. 2020. 4. 17. [Apple] Apple push notification service (APNs) 설정하기 Apple push notification service (APNs) key 설정하기 iOS 앱으로 푸시 알림을 보낼 수 있도록 APNs 인증서와 키를 발급해보자. APNs란? APNs는 Apple push notification service의 줄임말로, iOS에 표시되는 푸시알림 기능이다. 애플 개발자 페이지에서 인증서와 키를 설정해야만 사용할 수 있다. 선행 작업 이 글은 애플 개발자 페이지의 Identifiers 항목에 iOS 앱을 등록한 이후의 작업을 다루므로, 아직 등록하지 않았다면 아래 링크를 따라 작업을 완료해야 한다. iOS - How to Create an App ID The second step to complete and publish your app is to create a un.. 2020. 4. 11. [Flutter] Firebase를 이용하여 Sign In with Apple 사용하기 Firebase를 이용하여 Sign In with Apple 사용하기 파이어베이스에서 애플 로그인을 사용해보자. 알림 : 2020.04.08 안드로이드 환경에서 애플 로그인을 실행하는 플러그인을 개발하여 내용 추가함 알림 : 2019.12.29 아직 안드로이드나 iOS 12 이하에서 애플 로그인을 쉽게 적용할 수 있는 플러그인이 개발되지 않았으므로, 관련 내용은 추후에 추가할 예정 선행 작업 이 글은 1. 파이어베이스에 프로젝트 생성 2. 파이어베이스에 Android, iOS 등록 3. 애플 개발자 페이지에서 애플 로그인 활성화 4. 파이어베이스 호스팅 활성화 위 프로세스 이후의 작업을 다루므로 앞의 프로세스를 진행하지 않았다면 아래 링크에서 먼저 모든 작업을 완료해야 한다. 1. 파이어베이스 프로젝트 .. 2020. 4. 9. [Node.js] parameter가 있는 middleware parameter가 있는 middleware 매개변수를 사용할 수 있는 미들웨어를 만들어보자. router와 middleware의 기본 형태 router.get('/example', function (req, res, next) { ... }); NodeJS에서는 라우터를 구성할 때 위 소스코드처럼 경로를 지정하고 해당 경로에서 트리거 될 미들웨어를 작성한다. // 미들웨어의 기본 형태 function (req, res, next) { } // 파라미터를 스킵한 미들웨어의 형태 function () { } 미들웨어는 항상 기본 파라미터로 request, response, next 개체들을 받거나 스킵할 수 있는데, 개발자가 원하는 파라미터를 따로 선언할 수 없다는 문제점이 있다. parameterized.. 2020. 3. 27. [Firebase] 파이어베이스에 BigQuery 연결하기 파이어베이스에 BigQuery 연결하기 파이어베이스에 대용량 로그 DB 서비스인 빅쿼리(BigQuery)를 연동해보자 선행 작업 이 글은 파이어베이스 프로젝트 생성 이후의 일을 다루므로 파이어베이스 프로젝트를 생성하지 않았다면 아래 링크에서 선행 작업을 완료해야한다. 1. Firebase 프로젝트 생성하기 [Firebase] Firebase 프로젝트 생성하기 Firebase 프로젝트 생성하기 Google Firebase 프로젝트를 생성해보자. Google Firebase Console 접속 파이어베이스 서비스를 이용하기 위해서는 구글 파이어베이스 콘솔에 접속해야한다. https://console.firebase.. spiralmoon.tistory.com 작업 순서 1. 파이어베이스 프로젝트 요금제 변경.. 2020. 3. 17. [Flutter] Firebase remote config 적용하기 Firebase remote config 적용하기 Flutter 앱에 파이어베이스 원격 구성을 적용해보자 선행 작업 이 글은 파이어베이스 프로젝트가 생성되있어야 하고 파이어베이스 프로젝트에 Android, iOS가 등록된 이후의 작업을 다루므로, 앞의 작업을 완료하지 않았다면 아래 링크에서 먼저 모든 작업을 완료해야한다. 1. 파이어베이스 프로젝트 생성 [Firebase] Firebase 프로젝트 생성하기 Firebase 프로젝트 생성하기 Google Firebase 프로젝트를 생성해보자. Google Firebase Console 접속 파이어베이스 서비스를 이용하기 위해서는 구글 파이어베이스 콘솔에 접속해야한다. https://console.firebase.. spiralmoon.tistory.com .. 2020. 2. 28. 이전 1 2 3 4 5 6 7 8 다음 반응형