728x90

소프트랩스 39

웹뷰 안랩 결제에러 관련

플러터로 머니트리 pg사 거져서 우리은행가고 네이버 페이로 결제하려는 중에우리은행에서 네이버 페이로 갈때 안랩이 개입하는 문제가 있었다. 그게 현재 플러터에서 코틀린 통로 연결해서 가고 있었는데,플러터 통해가면서 url이 인코딩은 제대로 되었는데 디코딩할때 깨지는 문제가 발생했다. 하나씩 자바스크립트 폼 주입해서 해결하긴 했는데, 이렇게 모두 할 수 없는게카드 결제사가 60가지 정도 된다. 그래서 해결 방안 하나로1.플러터에서 웹뷰 띄우고 관련 로직 모두를 코틀린으로 돌렸으나 여전히 해결되지 않았다.왜냐하면 결국 웹뷰로 플러터 띄우니 지나가면서 url 깨진것이다. 2.결국 아에 코틀린으로 웹뷰를 띄우기로 했다.하단바나 누를때 데이터 코틀린으로 넘기고 코틀린에서 웹뷰 자체를 띄웠다.결국 해결되었다. 코틀..

웹뷰는 웹의 브라우저

웹뷰(WebView)의 개념을 설명해드리겠습니다.웹뷰의 기본 개념웹뷰는 모바일 앱 내에서 웹 콘텐츠를 표시할 수 있는 컴포넌트입니다.마치 앱 안에 작은 브라우저를 내장한 것과 같습니다.웹 페이지를 앱의 일부처럼 보이게 할 수 있습니다.웹뷰와 일반 브라우저의 차이점일반 브라우저:독립적인 애플리케이션주소창, 북마크, 탭 등 완전한 브라우저 기능 제공사용자가 직접 제어웹뷰:앱의 일부로 동작앱 개발자가 제어할 수 있는 제한된 브라우저 기능앱의 UI와 통합되어 동작웹뷰의 주요 특징네이티브-웹 통합:앱의 네이티브 기능과 웹 콘텐츠를 결합할 수 있습니다.예: 카메라, GPS 등 디바이스 기능을 웹에서 사용 가능커스터마이징:앱의 디자인에 맞게 웹뷰의 UI를 수정할 수 있습니다.예: 주소창 숨기기, 특정 기능 제한 등현..

세션

웹 브라우저의 세션과 관련된 개념을 설명해드리겠습니다.세션(Session)의 기본 개념세션은 사용자가 웹사이트를 방문하고 있는 동안의 상태를 유지하는 메커니즘입니다.사용자가 웹사이트를 처음 방문하면 서버는 고유한 세션 ID를 생성하고, 이 ID를 쿠키를 통해 브라우저에 저장합니다.이 세션 ID를 통해 서버는 사용자를 식별하고, 사용자별 데이터를 관리할 수 있습니다.세션의 주요 특징임시성: 세션은 사용자가 브라우저를 닫거나 일정 시간 동안 활동이 없으면 종료됩니다.서버 측 저장: 세션 데이터는 주로 서버에 저장됩니다.보안성: 세션 ID는 랜덤하게 생성되며, 쿠키에 저장되어 전송됩니다.브라우저에서의 세션 관리쿠키 기반 세션: 가장 일반적인 방식으로, 세션 ID가 쿠키에 저장됩니다.로컬 스토리지/세션 스토리지..

결제 intent 에러

카드사 마다 url 다르게 시작하는게 있는데현제 플러터 인앱웹뷰는 intent 로 시작하는 거 못 끌어온다네이티브 메서드 채널 연결 하여 intent 만 네이티브 코드 작성해서 처리해야 한다. https://dev-in-gym.tistory.com/40 Flutter Webview Intent 처리 ERR_UNKNOWN_URL_SCHEMEModern Collection View 와 MVVM 패턴 가이드 [iOS] Modern Collection View & MVVM 패턴 가이드 - 인프런 | 강의 MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자dev-in-gym.tistory.com https://devfart...

파이어베이스와 도메인,ip, api 관계

개략Firebase에서 도메인, API, IP의 관계를 설명해드리겠습니다:Firebase 서비스와 도메인Firebase HostingFirebase가 제공하는 고유 도메인(예: your-app-name.web.app 또는 your-app-name.firebaseapp.com)을 통해 웹 앱을 호스팅합니다.사용자 정의 도메인(예: yourdomain.com)을 연결할 수도 있습니다.Firebase FunctionsFunctions는 https://region-your-project-id.cloudfunctions.net/your-function-name 형태의 URL로 접근합니다.Hosting과 연결하면 your-app-name.web.app/api/... 같은 경로로도 Functions에 접근 가능합니다..

PG사는 들어가지는데, 은행에서 결제 안들어가지는 이슈 - 헤더 개념

결제하기를 눌렀는데, pg사 -갤럭시 아머트리(주) 에는 들어갔다.하지만 은행에서 세부적으로 들어갔을때 에러 메세지가 뜨면서 결제가 되지 않았다. 결제가 페이지로 갔기 때문에 나의 문제인지도 제대로 몰랐다.하지만 pg사의 문의하고 부장 연결하고 개발팀 연락처 알아내서 간 후에 면담을 했는데 매우 만족스러웠다 문제는 내가 하단바 지우려고 user-agent 헤더를 하드코딩해서 추가했는데, 카드사의 웹킷은  user-agent 헤더를 자동생성하기 때문에 그게 안 맞아서 문제가 생겼던것. 그래서 앱인지 구분하는 하단바를 커스텀 헤더로 넣어서 처리하였다.그렇게 하니 하단바는 다시 2개가 되었지만 서버측에서 해결해 줄거고,결제는 정상적으로 진행되었다. 어떻게든 답을 찾아내었다 늘 그랬듯이...ㅡㅡㅡㅡ면담 노트->..

캐시와 쿠키의 차이

가장 큰 차이는 쿠키: 사용자 식별과 상태 유지(로그인 상태)   캐시: 성능 향상과 로딩 시간 단축인것 같다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ쿠키 (Cookie) 🎫 일상생활 예시: 놀이공원 입장 팔찌   입구에서 받은 팔찌로 놀이공원 내 신분 증명   팔찌 색으로 이용권 종류(종일권/오후권) 구분   재입장 시에도 팔찌만 보여주면 됨   하루가 지나면 팔찌 무효   웹에서의 쿠키   로그인 세션 ID   사용자 기본 설정   장바구니 정보   작은 크기 (4KB 제한)   서버가 클라이언트에 부여캐시 (Cache) 📦 일상생활 예시: 집 근처 편의점   자주 사는 물건들을 가까운 곳에 보관   본사 창고(서버)에서 가져오면 시간 걸림   유통기한 있음 (신선도 유지 필요)   새로운 상품이 나오면 진열대 교체..

const, private, public 차이

const 는 전역 변수 = 글로벌 변수에 쓴다그걸 활용해서 실제 하는 예시 지금 개발서버와 운영서버를 따로 만들어서 작업하고 있다.나도 이미지 검색기능을 구현하는데 api로 서버에서 결과 끌어올 때 운영서버거를 끌어오다가 에러가 났다.app.bijjya 를 dev.bijjya로 바꾸면 되는데,  모든것을 url 그때그때 바꿔줄 수는 없는 노릇이다.나중에 다시 운영서버로 갈것 아닌가. 그래서 const 로 전역 변수  url 설정해주고  const dev.bijjya  = a 대략 이런식으로 써주고 전역변수쪽만const app.bijjya 로 바꿔주면 전역변수 쓴거 모두 다 바꿀 수 있다는 뜻이다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ https://m.blog.naver.com/kijun/222006078637 C#..

728x90