전체 글 46

RN) Xcode 아이폰 연결 방법 ~ USB 신뢰부터 최신 빌드 설치까지

네이티브 카메라는 결국 실기기에서 확인해야 하네RN 프로젝트를 하면서 시뮬레이터(ios)와 에뮬레이터(android)로 열심히 확인했지만, 카메라 프리뷰는 달랐습니다.실제 렌즈가 어떻게 잡히는지, 권한 팝업이 제대로 뜨는지, 화면을 돌렸을 때 이미지가 어느 방향으로 저장되는지는 시뮬레이터 화면만 보고 알 수 없었습니다. 그래서 "일단 실기기 연결부터 해보자" 하고 케이블을 꽂았는데, 처음부터 "이 컴퓨터를 신뢰하겠습니까?"라는 팝업에서 막혔고, Xcode에 아이폰이 보인 다음에도 최신 코드가 올라간 건지 헷갈렸습니다.이 글은 그 과정을 잊지 않으려고 적어둔 기록입니다... 미뤄왔던 블로그 글 쓰기도 겸사 ㅎㅎ 처음 연결하는 사람도 화면을 보면서 따라 할 수 있도록 USB 연결부터 같은 Wi‑Fi 연결, ..

프로젝트 2026.08.24

RN과 WebView 섞어야만 한다,,,

처음에는 좀 단순하게 React Native로 왔으니까 화면도 다 RN으로 짜야 하는 게 아닌지... 생각했다. 근데 실제로 붙이기 시작하니까 바로 현실이 보였다.핵심 UX(앱 느낌이 중요한 구간)랑, 운영하는 화면(자주 바뀌는 페이지)을 같은 속도로 RN로 다 밀어붙이는 건 생각보다 빡세다.처음에 착각했던 포인트내 머릿속 공식은 이랬다. - 앱 = 무조건 네이티브 화면- 웹뷰 = 임시방편 근데 하다 보니 반대였다. WebView는 대충 때우는 기술이 아니라, 어디를 빠르게 바꾸고, 어디를 네이티브 품질로 가져갈지 나누는 전략에 더 가까웠다. 비유하자면- RN: 집의 뼈대랑 문, 창문 같은 구조- WebView: 벽지/포스터/배치처럼 자주 바뀌는 영역 뼈대는 신중하게 만들고, 바뀔 것들은 갈아끼우기 쉽..

프로젝트 2026.06.22

RN) Next.js 하던 내가 RN 처음 붙잡고 느낀 점 및 초보자 에뮬레이터 실행

React니까 금방 될 줄 알았는데솔직히 처음엔 이렇게 생각했다. "React는 React니까, Next.js 하던 감각이면 금방 되겠지?" 근데 막상 RN 코드를 열어보니까, 엥? 진짜 웹이랑 결이 다르다.페이지가 아니라 화면(screen) 중심으로 생각해야 하고, HTML 태그도 없고, CSS도 알던 방식이 아니었다. 그래도 완전 새로운 세계는 아니었다.React의 상태 관리, 컴포넌트 분리, 이벤트 처리 같은 큰 뼈대는 익숙했다.약간 같은 언어를 쓰지만 사투리가 다른 동네 느낌이었다.엥? 진짜? 하면서 놀란 포인트가장 놀랐던 건 이거였다. 웹에서는 , , 으로 쭉 짜는데,RN에서는 , , 을 쓴다. 처음엔 이름만 바꾼 거 아냐? 싶었는데, 해보니까 생각보다 중요했다.특히 텍스트는 반드시 안에 있어..

프로젝트 2026.05.25

RN(React Native) 시작 전 마음의 준비: RN이 뭔데?

요즘 RN으로 앱 만들어보려고 이것저것 알아보는 중인데, 처음엔 진짜 단순하게 생각했다.React 할 줄 아는데 앱도 비슷하지 않을까?근데 알아볼수록 느낀 건 React Native는 React 느낌의 모바일 개발이지, 웹 React를 그대로 가져온 건 아니었다.그리고 이걸 먼저 이해해야 멘탈이 덜 흔들릴 것 같았다.React Native는 왜 이름이 React Native일까?처음엔 그냥 React로 Native 앱 만든다 정도로 이해했는데, 조금 다르다...핵심은 1. React는 그대로 사용 2. 대신 렌더링 대상이 브라우저가 아니라 모바일 웹은 React → 브라우저 DOM 인데,RN은 React → iOS / Android 네이티브 UI로 간다. 그러니까 RN은 웹사이트를 앱에 넣는 게 아니라,..

프로젝트 2026.05.17

코테를 위한 메소드 완벽 정리글! + 예시!

숫자 관련Math.floor(x) - 소수점 내림Math.ceil(x) - 소수점 올림Math.round(x) - 소수점 반올림Math.trunc(x) - 소수점 버림Math.abs(x) - 절댓값Math.max(a, b, c, …) - 최댓값Math.min(a, b, c, …) - 최솟값Math.pow(x, y) - 거듭제곱Math.sqrt(x) - 제곱근Math.cbrt(x) - 세제곱근Math.random() - 0~1 난수 생성parseInt(str, base) - 정수 변환parseFloat(str) - 실수 변환Number.isInteger(x) - 정수 여부 확인Number.isNaN(x) - NaN 여부 확인~~x - Math.floor(x) 대체 (빠름)배열 관련arr.map(fn) - ..

코딩테스트 2025.03.27

20250322

2의 영역function solution(arr) { if (!arr.includes(2)) { return [-1]; } let start = arr.indexOf(2); let end = arr.lastIndexOf(2); return arr.slice(start, end + 1);}// 다른 사람 풀이function solution(arr) { arr = arr.slice(arr.indexOf(2), arr.lastIndexOf(2) + 1); return arr.length == 0 ? [-1] : arr;}다른 사람 풀이랑 비슷하긴 했는데, 삼항 연산자 쓰신 것 보고 깨달았습니다... 아직도 멀었구만... qr codefunction solution(q, r, code) { ..

코딩테스트 2025.03.22