플러터에서 구글 소셜 로그인을 구현할 때, idToken이 null로 오는 경우가 있다. (현재 파이어베이스 연동을 안 하고, 백엔드 서버로 accessToken이 아닌 idToken을 전송해서 로그인/회원가입을 진행하는 방식으로 구현 중이다.) 이는 안드로이드, 파이어베이스 미사용일 때 발생하는 오류라고 하더라 한글로 정리된 문서를 못 찾아서 플러터 공식 issue 찾아가면서 겨우 해결했다... (개삽질...) 그래서 잊어버리지 않도록 공유하고자 한다. # 환경 애뮬레이터 : Pixel 2 API 30 google_sign_in : ^6.1.5 # 해결 https://github.com/flutter/flutter/issues/20903 대충 해석하자면, 비 파이어베이스 사용 안드로이드 유저들에게 발생..
Vuetify의 v-text-field와 v-time-picker, v-dialog를 활용하여 text field를 클릭하면 time picker를 띄우고, 사용자가 시간을 입력하면 텍스트 인풋에 그 값이 들어가도록 하는 커스텀 컴포넌트를 만들어본다. # TimePicker.vue Cancel OK allowed-minutes는 특정 함수를 전달해주면 time picker의 시간 단위를 제한할 수 있다. (위 처럼 적용하면 5분 단위만 선택 가능) 해당 컴포넌트에서 받은 time 상태를 emit을 통해 상위 컴포넌트로 넘겨주면 다른곳에서 text field 값을 사용할 수 있다.
# 프로젝트 소개 제목 : TalkMoa 분류 : 팀 프로젝트1 - 주제1 팀원 : 4명 기간 : 반 학기 (22.09~22.10 중순) 간략소개 : 카카오톡 대화 내역을 분석하여 어떤 단어를 얼만큼 사용했는지 통계를 내주고, 시각적으로 제공해주는 간단 웹서비스 기획의도 : 메신저 대화 분석 웹 서비스가 없는 것을 보고 기획하게 됨 주요기능 : 대화 내용 분석 후 워드클라우드로 시각화 # 사용 기술 # 배운점/성과 [DB 데이터 Batch 작업 및 성능에 관한 인사이트] 3만개의 단어를 모두 RDBMS에 저장하니 시간이 오래걸렸음. 성능 최적화를 위해 Batch 옵션도 고려해봤지만, 드라마틱한 성능 향상을 이뤄내지 못 했다. NoSQL을 학습해서 도입하기에는 프로젝트 기한이 제한적이라 결국 DB 저장을 ..
https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 힌트 스택. 해답 보기 더보기 public static int solution(int[][] board, int[] moves) { List mat = new ArrayList(); for (int j = 0; j =..
https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 힌트 우선순위 큐. 참고로 DFS로 접근하면 입력 크기가 10만이기 때문에 안 된다. 해답 보기 더보기 문제 풀이의 핵심 아이디어는 B는 A보다 크고 B가 가지고 있는 수 중 제일 작은 수로 이겨야 한다는 점이다. 즉, A = 3 이고 B = 4,5이면 B는 4로 이겨야 한다. 각 배열를 역순으로 정렬한다. A = [7,5,3,1] B = [8,6,2,2] 7, 8 비교 7 < 8 이므로 wi..
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 힌트 단순 구현 + 정렬 문제다. head, number, tail 파싱만 잘하는게 핵심이다. (subString) 파싱한 파일의 정보를 담기 위한 커스텀 객체 생성을 추천한다. 런타임 오류 힌트 : F-15 처럼 tale이 빈 문자열인 경우를 잘 처리했는지 확인 해답 보기 더보기 static class File { int originalIndex; String originalName; Str..
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 힌트 TreeSet을 적절히 사용하면 정렬 코드를 줄일 수 있다. 장르 이름, 플레이 횟수 처럼 하나의 묶음으로 관리해야 하는 정보는 객체를 만든다. 테스트케이스 2, 15 힌트 : 제한 조건 3번을 참조할 것 해답 보기 더보기 static class Music { int id; int playCount; public Music(int id, int playCount) { this.id = i..
https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 힌트 생각보다 쉬운 최단경로 경우의 수 구하는 문제이다. 근데 함정은 이 문제 자체에 있다... 좋은 문제는 아닌 것 같다. 물 웅덩이의 좌표는 x, y가 거꾸로 되어있으니 주의하자. (2,2) 이렇게 되어있어서 심지어 헷갈린다. 본인이 코드를 제대로 작성한 것 같은데 테스트케이스 1개만 성공한다면 웅덩이 좌표를 확인하길 바란다. 효율성 테스트 힌트 : 이것도 좀 문제가 이상한데, 경우의 수를..