본문 바로가기
728x90

전체 글42

React 개발자가 반드시 알아야 하는 보안 가이드 (XSS, JWT, CSRF, CSP) React는 대표적인 프론트엔드 라이브러리 중 하나이며, 기본적으로 XSS(Cross Site Scripting)와 같은 대표적인 웹 취약점을 방어하도록 설계되어 있습니다. 그래서 많은 개발자가 "React를 사용하면 보안도 어느 정도 해결된다."라고 생각하기도 합니다.하지만 실제 서비스에서는 이야기가 조금 다릅니다.사용자가 작성한 HTML을 출력하거나, JWT를 LocalStorage에 저장하거나, 서버에서 입력값 검증을 하지 않는 순간 React의 기본 보호 기능만으로는 애플리케이션을 안전하게 지킬 수 없습니다.이번 글에서는 React 프로젝트를 운영하면서 반드시 알고 있어야 하는 보안 요소들을 정리해 보겠습니다.1. React는 왜 XSS 공격에 비교적 안전할까?대표적인 웹 공격 중 하나가 XSS(.. 2026. 7. 10.
2026년, 3년 차 개발자의 상반기 회고 (feat. wiiee) 상반기를 한 문장으로 표현한다면"할 수 있는 것은 많아졌지만, 만들어낸 것은 선명하지 않았던 상반기" 였다. 1. 개발은 빨라졌지만, 무엇을 만들지는 더 어려워졌다기술적으로 크게 어려움을 겪은 일은 없었다. 아무래도 서비스 사용자와 직접 부딪칠 기회가 많지 않았기 때문인 것 같다.AI를 개발에 활용하는 방식에도 생각보다 빠르게 적응했다. 바이브 코딩을 통해 식물 앱 ‘모두의 식물’, 길 찾기 게임 ‘길막의 달인’, 보드게임 ‘십이지크라운’까지 총 3개의 앱을 출시했다.처음에는 AI가 만들어낸 디자인을 원하는 수준으로 구현하는 과정이 쉽지 않았다. 하지만 화면과 기능을 작은 컴포넌트 단위로 나누어 작업하면서 점차 해결할 수 있었다. AI를 잘 활용하는 것도 결국 문제를 얼마나 명확하게 나누고 전달하느냐.. 2026. 6. 24.
Vercel Hobby 플랜에서 협업자 배포 막히는 문제, 우회 경험 상황Next.js 프로젝트를 혼자 개발하다가 다른 개발자와 협업을 시작했다. GitHub 레포에 권한을 주고 같이 작업하는 건 문제없었는데, 문제는 배포였다.협업자가 push를 하면 Vercel에서 이런 에러가 떴다. The Deployment was blocked because the commit author does not havecontributing access to the project on Vercel.Hobby teams do not support collaboration.Please upgrade to Pro to add team members.Vercel Hobby 플랜은 팀 협업을 지원하지 않는다. 즉, Vercel에 연결된 GitHub 계정 이메일로 작성된 커밋만 자동 배포가 허용된다.. 2026. 4. 3.
Flutter에서 백그라운드 위치 수집,어떤 방법을 골랐나 배경신규 기능 개발 과정에서 유저의 이동 경로를 수집해야 하는 요구사항이 생겼다. 단순히 앱을 켰을 때 위치를 한 번 가져오는 게 아니라, 앱이 완전히 종료된 Terminated 상태에서도 위치 데이터가 끊기지 않아야 한다는 조건이 핵심이었다.Flutter 앱이기 때문에 pub.dev에서 라이브러리를 찾기 시작했고, 선택지가 생각보다 복잡하다는 걸 바로 깨달았다.앱 상태 3가지를 먼저 이해해야 한다모바일 앱의 실행 상태는 크게 세 가지로 나뉜다.상태설명위치 수집 난이도상태설명위치 수집 난이도Foreground앱이 화면에 보이고 사용 중쉬움Background앱이 열려 있으나 화면 밖 (홈 화면 등)보통Terminated앱 프로세스가 완전히 종료된 상태어려움이동 경로 수집에서 Terminated가 문제다. .. 2026. 3. 19.
Flutter WebView net::ERR_UNKNOWN_URL_SCHEME flutter Webview를 사용하고 있다면,그리고 결제 모듈을 Webview로 연동하고 있다면 net::ERR_UNKNOWN_URL_SCHEME 라는 에러를 겪고, 고통 받고 있을 수도 있습니다.이처럼 (퍼온 이미지 입니다)그렇다면 해당 포스트를 잘 찾아 오셨습니다 👏🏿👏🏿👏🏿👏🏿👏🏿해당 포스트는 5분안에 해당 문제를 해결 할 수 있게 끔, 예시 코드와 원인을 설명하고 있습니다. GitHub - kimjuno97/webview_err_unknown_url_scheme_solution: Flutter `net::ERR_UNKNOWN_URL_SCHEME` solutionFlutter `net::ERR_UNKNOWN_URL_SCHEME` solution. Contribute to ki.. 2025. 5. 6.
flutter, js_interop 사용 후기 및 언제 사용할까 도입 배경이번 회사 프로젝트에서 드림시큐리티 본인인증을 flutter web환경에 연동을 해야했고,드림시큐리티의 개발가이드에는 flutter 가이드는 없었고, js 연동방식을 택하여 웹뷰로 구현하는 선택을 하게 되었다.하지만 flutter web환경에서의 webview_flutter를 사용할 수 없으므로, js_interop 도입을 결정하게 되었다. js_interop은 Dart와 JavaScript 간의 상호 운용(interop)을 쉽게 해주는 Dart 내장 라이브러리입니다.이 라이브러리를 사용하면 Dart 코드에서 JavaScript 함수, 객체, 타입을 직접 호출하거나 사용할 수 있습니다구현 아래 구현 예시는 기본적으로 드림시큐리티 개발가이드를 이해한다는 전재하에 진행 됩니다.https://mobi.. 2025. 4. 30.
728x90