본문 바로가기

분류 전체보기

(91)
Flutter: You need to use a Theme.AppCompat theme (or descendant) with this activity 네이버 로그인 (https://pub.dev/packages/flutter_naver_login)을 구현하다 보니 E/MethodChannel#flutter_naver_login( 7529): java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 이런 에러가 나와버렸는데, 꼭 네이버 로그인에서만 발생하는 문제는 아니고, 카카오 로그인에서 나오는 경우도 있고 그렇다. 이것은 Android Activity(이 경우에는 네이버 로그인에서 사용하는)에 AppCompat theme이 적용되어야 하기 때문이다. 간단하게 수정하고자 하면 styles.xml 에서 Normal T..
7월 3주차 점심로그: 상암동 두레우가 상암동 고기 남바원은 역시 두레우가! 경쟁자 창고와 서동한우가 있었지만, 서동한우는 드라이에이징이랍시고 비싼 고기 배짱장사하다가 망하고, 창고는 치킨체인에 인수되더니 고기가 들쭉날쭉하고... 역시 비싸지만 두레우가지. 여기는 고기를 구워주는데, (셀프로 굽는 고기는 더 싸다) 비싼 고기 불판에 올려놓고 자리 비우면 진짜 마음 아프지... 그러지 않았으면 좋겠다. 생갈비는 예쁘기는 한데 지나치게 기름져서 느끼하고, 채끝(50.0/150g)이 더 맛있더라. 이런데 가서 내돈으로 팍팍 사먹을 수 있는 사람이 되고 싶다. :p 만족지수는 4.0 슬로우캘리 포케집이라고 해서 갔더니, 이건 회덮밥이 아닌가? 초고추장은 안 뿌려주니 회덮밥은 아니라고 한다면 그렇거니 해야지... 한국화된 포케랍니다. 음식의 ..
7월 2주차 점심로그: 상암동 온돈부리 여긴 뭐 유명하니까 크게 설명이 필요하지는 않겠다. 점심에 가서 먹으려면 굉장한 인내심이 필요한 곳이라, 맛있지만 좀처럼 가지 않는데, 어쩌다 드문 야근을 하게 되어서 방문. 야근 보상 차원에서 평소보다 비싼 메뉴로 고고 밥값 오르는 추세가 무섭다. 연어뱃살덮밥이 5월에 14.5 였는데 15.5로 올랐네. 우나기동은 23.0에서 24.0으로 올랐다. 상대적으로 덜 오른 우나기동을 먹어야 하는 찬스인가. 하지만 덮밥 하나에 24.0은 용납할 수 없는 가성비인지라 호기를 쭈굴하게 접고 연어뱃살덮밥을 선택했음. 항상 시켜놓고 하는 생각인데, 뱃살이 생각보다 맛이 뛰어나지 않아서 그냥 사케동을 시키는게 좋겠다는 생각을 또 했음. (주문할 때는 기억이 나지 않았다고...) 우나기동은... 맛있었다고 함...
6월 4주차 중식로그: 상암동, 행주산성 행주산성 원조 국수집 행주산성에 밥 먹으러 몇 번 와도 여기는 그냥 지나치기만 했는데, 어쩌다 처음 가봤다. 잔치국수, 비빔국수, 콩국수(는 여름 한정인 듯) 6천원 일단 엄청나게 많다. 사진만 봐서는 감이 잘 안 오는데, '이걸 안 남기고 다 먹는다는 것은 불가능하다' 라는 생각이 들 정도였다. (하지만 다른 테이블의 사람들은 하나도 안 남기고 다 먹더라는...) 정말 특별한 맛은 아닌데, 평범하게 맛있는 국물이랄까. 오래된 집의 내공이 있는지 면도 잘 삶아서 딱 먹기 좋을 정도였다. 진짜 평범한 맛인데, 사실 평범하게 맛있는 잔치 국수 먹기가 또 쉽지는 않으니까. 만족스럽게 먹었지만, 너무 평범해서 다시 먹으러 가고 싶다고 생각날 것 같지는 않다. 만족지수는 3.5 상암동 월정곰닭 DMC에서 DMC역..
Flutter: Firebase를 이용한 사용자 인증 (1) 이전 프로젝트에서는 사용자 인증에 Firebase를 사용하지 않았다. Custom Backend 에서 별도로 사용자의 부가 정보를 관리해야 할 필요가 있었고, 백엔드에서 사용하는 legacy 회원 정보 테이블과 Firebase의 사용자 정보 간 동기화 문제 등등 복잡함이 예상되는 부분이 있어서 Firebase를 사용하지 않고, 개별 플랫폼 (이메일/암호, 구글, 애플, 네이버, 카카오)에 각각 연동해서 인증 정보를 받아오는 방식으로 구현했다. 이렇게 해도 큰 어려움은 없었는데, 사실 제일 복잡한 부분은 인증 공급자의 인증을 거친 사용자가 백엔드에 REST API로 요청할 때 어떻게 인증할 것인가 하는 문제였다. 인증 공급자별로 제대로 된 인증을 거친 사용자인지 다시 확인해야 했는데, 자세한 내용은 설명하..
6월 3주차 중식로그: 상암동 MBC몰 PORTO7 버거킹 있던 자리에 새로 생긴 PORTO7 여기 저기 흔한 것 같지만 막상 또 가려면 적당한 곳이 없는게 파스타올시다. 일단 메뉴판에 알록달록한 접시가 눈에 들어온다. 맛있어 보이게 잘 찍었네. 적당히 1번 세트를 시켰는데, 아직 초반이라 그런지 음식 나오는데 30분 이상 걸렸다. 가게 벽과 천정 사이를 둥글게 해놔서 소리가 가운데 자리로 모이는 것 같다. 앞에 앉은 사람 목소리가 안 들릴 정도로 시끄러우니 방문한다면 벽쪽 자리에 앉는게 좋겠다. 파스타는 둘 다 그냥 무난했고, 나쁘지 않았지만 내 입맛엔 좀 짰다. 세트에 들어 있지 않으면 안 시켰을 감자튀김(7.8)이 생각보다 맛있었는데, 먹느라 사진을 못.... 전반적으로 음식이 나쁘지는 않았으나 주방에서 음식이 너무 늦게 나오고..
6월 2주차 중식로그: 상암동 어쩌다보니 이번주는 중식이 모두 일본풍 쿠사 푸르지오 지하. 자주 바뀌기도 하고, 항상 뭔가 끌리지 않아서 가 본 기억이 없는 자리에 새로운 집이 생겨서 방문. 사실 간판과 메뉴판 사진을 안 찍어놨더니 가게 이름과 가격이 기억이 안 나서 포스트를 못하고 있었다. 나중에 업데이트해야지. 다음주에 다시 가서 찍어왔음. 주문한 메뉴는 가지덮밥. 익숙한 맛이지만, 그만큼 질리지 않게 먹을 수 있을 것 같다. 양념을 다 먹을 생각하면 좀 짜니까 답을 더 달라고 하던지 아래쪽 국물 부분은 남기던지 하는게 좋을 듯. 반숙 계란과 두부 튀김이 같이 나오지만 인상적이지는 않았다. 재 방문 의사 있음. 주람 역시 푸르지오 지하에 있는 스테이크 덮밥. 항상 사람이 많이 기다리고 있어서 약간 기대를 했는데, 그냥 그랬음. 사..
Flutter: getx routing to same page with different data. (controller 중복으로 만들기 feat. tag) 다른 데이터를 가진 같은 페이지로 이동할 때의 문제다. product id 를 파라미터로 가지는 ProductScreen 페이지 간 이동하는 간단한 예를 보면 import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:route_sample/app_pages.dart'; import 'dart:math'; class ProductScreen extends GetView { const ProductScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { Get.put(ProductScreenController()); ..