내가 까먹을까봐 만든 블로그

전체 글

Languages/Dart(Flutter)

[Flutter Error] Google Social Login 에러 - PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null) Flutter를 이용해 Android에서 Google 소셜 로그인 기능을 구현할 때 이 에러가 발생하게 되는데, 이미 이 에러를 띄웠을 때는 소셜 로그인을 이용하여 구글 로그인을 위한 API 요청은 실행이 되었을 것으로 생각된다. 아마도 대부분은 아이디와 비밀번호를 정상적으로 입력한 후 로그인을 위한 요청을 보냈을 때 이 에러를 반환한다. 일반적으로 인증서와 관련된 문제가 발생했을 때 아래 에러가 발생한다. 해당 에러가 발생하기 전에 놓친 부분들은 여러가지가 있겠지만 직접 경험해본 케이스는 아래와 같다. Firebase에 디버그..

Languages/Dart(Flutter)

[Flutter] 앱 서명 키 생성과 Debug Key, Release Key 생성 및 Google Firebase 키 등록 - Android

소셜 로그인 기능을 구현하거나 Firebase를 사용하는 경우 키를 생성해야 하는 경우가 있다. 또한 앱을 제작하고 구글 플레이 콘솔이나 애플 앱스토어에 등록하기 위해서는 앱 서명이 필수적이다. ios 같은 경우 맥에서 프로젝트를 진행하면 xcode가 일정 부분 해결해주지만 Android는 직접 앱 서명을 제작하고 등록해주어야 한다. 처음 앱 제작을 하면 갖가지 키들이 나오고 서명이 어쩌고 하는 말들이 막연하게 느껴져 공포스러울 수 있다. 아래 과정들을 천천히 따라 해 보면 조금 해소될 수 있기를 바란다. 순서는 아래와 같다. 자바 설치 키를 저장할 폴더로 이동 키 생성 KEY 확인 KEY 등록 google-services.json 1. 자바 설치 우선 java가 설치되어 있어야 한다. java11 버전..

Computer Science/Software Engineering

[QA 전략] 깃 브랜치 전략(Git Branching Strategy) - Git Flow, GitHub Flow, GitLab Flow, Trunk-based development(TBD)

Git은 알려진 툴 중 가장 널리 사용되고 있는 형상관리 및 협업을 위한 도구이다. 개인이 혼자 프로젝트를 진행한다면 자신이 작성한 코드는 곧바로 메인 master 브랜치에 push와 commit을 해도 본인만 해당 버전에 대해 알아볼 수 있다면 크게 상관이 없다. 하지만 협업을 하거나 누군가에게 코드를 공유해야 하는 오픈소스 프로젝트라면 단순히 메인 브랜치에 commit만 남발했을 때 언제 리비전 되었고 무엇을 위한 수정이었는가 등에 대한 질문들을 무수히 받게 될 수도 있다. 이런 리스크는 깃 브랜치 전략(Git Branching Strategy)을 통해 어느 정도 예방할 수 있다. 더 많은 방법론이 존재하지만 가장 범용적이라 생각되는 4가지를 선별해 보았다. Git Flow 우선 Git Flow이다...

Computer Science/Software Engineering

[Server] 스테이징 서버(Staging Server)란?

주요 개념 개발 서버(Development Server) 스테이징 서버(Staging Server) 프로덕션 서버(Production Server) 스테이징 서버(Staging Server)란 Production으로 가기 전 임시서버라 볼 수 있다. 즉, 운영환경에 적용하기 전에 확인하는 서버를 의미한다. 약어로 "ST 서버"라고도 부르기도 한다. 개발자 로컬PC -> (소스저장소) -> 빌드서버(CI서버) -> 개발서버 -> 테스트서버 -> 스테이징서버 -> 운영서버 간략히 아래의 그림과 같이 표현할 수도 있다. 참고 자료 https://ecogeo.tistory.com/tag/%EC%8A%A4%ED%85%8C%EC%9D%B4%EC%A7%95%EC%84%9C%EB%B2%84 https://conflue..

Computer Science/Software Engineering

[Server] Proxy Server와 Reverse Proxy란?

우선 Proxy Server(프록시 서버)란 클라이언트가 자신을 통해 타 네트워크 서비스에 간접적으로 접속하도록 해주는 서버이다. 서버와 클라이언트를 이어주는 역할을 수행하는 중계 서버로 볼 수 있다. 이 프록시 서버를 통해 보안성과 성능 및 안정성 향상 효과를 기대할 수 있다. 프록시 서버는 Forward Proxy Server와 Reverse Proxy Server로 나눌 수 있다. Forward Proxy Server 우리가 일반적으로 지칭하는 프록시 서버는 Forward Proxy Server를 의미한다. 포워드 프록시 서버는 클라이언트 앞에 연결된 부분이다. 아래 그림과 같이 사용자(You)에 해당하는 클라이언트가 인터넷 웹서버에 요청을 보내면 그 중간에 포워드 프록시 서버가 먼저 요청을 수신한..

Languages/Dart(Flutter)

[Dart] const와 final

프로그래밍 언어에는 컴파일(Compile) 언어와 인터프리터(Interpreter) 언어가 있다. 컴파일 언어는 전체 소스코드를 한 번에 번역하여 컴퓨터에게 전달하고, Python과 같은 인터프리터 언어는 각 라인을 실행하며 순차적으로 명령 줄들을 실행한다. 이 두 가지 타입의 언어 중 Dart는 컴파일 언어에 해당하며, 일반적으로 Dart는 Flutter를 이용해 모바일 앱을 구현할 때 주로 사용되고 있다. 컴파일 언어는 한 번에 번역하여 컴퓨터에게 명령을 전달하는 특성이 있고, 이에 따라 명령어를 실행하는 타이밍을 컴파일 타임(Compile Time)과 런타임(Run Time)으로 나눌 수 있다. 즉, 특정한 라인의 명령은 각각의 할당되어야 하는 실행 시간에 명령이 수행된다. 간략하게 말하면 컴파일 ..

AlienCoder
외부 저장소
loading