일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- styled-components
- rn
- Android
- github
- currying
- GitLab
- xtring.log
- shortcut
- ES6
- HTML
- React Native
- Xcode
- js
- Branch
- REACT
- DevOps
- viewcontroller
- git
- styling
- JavaScript
- npm install
- npm
- nextJS
- commit
- vscode
- Docker
- react-native
- ReactNative
- Swift
- ios
- Today
- Total
목록분류 전체보기 (103)
xtring.dev

React Native 프로젝트에서 .jsx 사용하기 최근 React 프로젝트를 진행하면서 파일 형식을 .jsx로 하다 보니 새 React Native 프로젝트에서 .jsx으로 파일을 생성하니 Error가 터져나왔습니다. 파일 자체를 인식하지 못한다는 메세지를 보고 혹시 jsx 형식 자체가 인식이 되지 않을까 하는 생각에 구글링을 하던 중 찾게 된 jsx 설정 방법입니다. RN > 0.59 일 경우 프로젝트의 Root level에 metro.config.js에서 설정합니다. * 제가 세팅한 RN version은 0.62.2여서 위와 같은 세팅을 진행했습니다. RN 0.57 프로젝트의 Ro..

https://ko.reactjs.org/docs/code-splitting.html 코드 분할 – React A JavaScript library for building user interfaces ko.reactjs.org Code Splitting은 왜 필요할까? 최근 높은 인터넷 속도와 좋은 프로세서가 일반화 되면서 웹서비스를 이용하는데 발생하는 불편한 점들을 잘 인식 못 할 수 있습니다. 그리고 웹 서비스가 배포되어질 때 모든 코드들은 하나의 번들로 묶여(번들링) 집니다. 서비스가 비교적 가벼운 편이라면 큰 문제가 없겠지만 프로젝트가 덩치가 커지고 전달해야하는 데이터의 양이 커지게 되면 성능적 문제가 발생하게 됩니다. 그래서 개발자는 사용자가 위와 같은 불편함을 느끼지 못하도록 하는 것이 큰 문..

React Hooks는 Functional Component에서 Class-type Component의 LifeCycle의 동작 방식을 가능하게 해줍니다. Hooks는 React 16.8에서 새롭게 추가되었습니다. 그리고 Class 작성 없이 state와 React의 특성을 사용하게 해주었습니다. Hooks를 사용하기 위해서는 반드시 지켜줘야하는 몇가지 규칙이 존재합니다. 그리고 자동으로 이 규칙을 강요하게 해주는 linter plugin이 존재합니다. Rules of Hooks Only Call Hooks at the Top Level Hooks를 사용할 때는 꼭 맨 위에서 호출하라! Hooks는 loops, conditions, nested functions 안에서 호출하면 안됩니다. 대신 React..

탐욕 알고리즘. 그리디 알고리즘(Greedy Algorithm)이라고도 불리는 알고리즘에 대해서 알아보겠습니다.(이하 그리디 알고리즘이라고 부름) 그리디 알고리즘은 동적 프로그래밍(Dynamic Programming) 사용 시 지나치게 많은 처리를 한다는 것에 착안하여 고안된 알고리즘입니다. 동적 프로그래밍과 함께 상호보완하는 개념입니다. 그리디(탐욕) 알고리즘이라는 이름이 붙게 된 이유는 '미래를 생각하지 않고 각 단계에서 가장 최선의 선택을 하는 기법'이기 때문에 지어졌다고 합니다. 각 단계에서 최선의 선택을 하는 것이 결국 전체의 최선이길 바라는 알고리즘이죠. 모든 경우에서 그리디 알고리즘이 최대 효율을 만들어주지는 못합니다. 쉬운 예로 마시멜로 이야기와 함께 해보겠습니다. 지금 마시멜로우를 앞에 ..

새 프로젝트를 만들고 앱을 실행하니 React Native version mismatch. JavaScript version: 0.61.5 Native version: 0.62.2 ... 와 같은 에러가 발생했다. 나의 경우엔 기존에 설치되어있는 React Native CLI이 Global로 설치 되어있고 또 다른 프로젝트를 실행한 경우였다. 그런데 여기서 중요한 점은 이제는 React Native가 CLI를 직접 설치하는 것을 권장하지 않으며 npx를 통해 프로젝트를 생성하고 실행하는 것을 밀고 있다. 최근 npx를 통해 프로젝트를 생성하기 때문에 이 문제는 다시는 발생하지 않을 것 같다. 그래도 만약 에러에 허덕이신 분들이 있다면 Global로 설치된 React Native를 제거하고 npx를 통해 ..

최근 iOS 13이 발표되면서 애플이 다크모드를 지원하게 되었습니다. 다크모드를 통해 사용자들은 서비스를 눈이 편하게 볼 수 있는 것이죠. 개발자들은 항상 흰 화면에 많은 텍스트를 보면서 눈이 시리다고 합니다. 그래서 IDE를 사용할 때 검정 배경을 많이 사용하죠.😎 그런데 이제 일반 사용자들에게도 다크 모드를 지원합니다. 현재 많은 서비스들이 이에 대응하고 적용하고 있습니다. 하지만 대부분의 회사들은 이에 대해 바로 대응할 수는 없겠죠? 그런 경우 어떻게 해야할까요?🤔 대응이라는게 플로우를 따라가는 것도 있지만 지원하지 못한다면 서비스에서는 아예 보여주지 않는 방법도 있습니다. 그래서 저희 서비스에서도 당장 적용할 수 없어 다크모드를 강제로 미지원할 수 있도록 앱을 세팅하기로 결정했습니다! 저희 서비스..
postmortem : an analysis or review of a finished event postmortem은 '사후처리'라는 의미를 가지고 있습니다. 이는 SW 프로젝트에서 서비스의 문제가 생겨 서비스가 중단되는 경우 이에 대한 처리를 하는 것을 의미한다. 이를 실행하는 방법은 문제를 해결한 뒤 postmortem meeting을 통해 1) 근본적인 문제가 무엇이었는지(root causes) 2) 이 일로 무엇을 배웠는지(lessons learned) 3) 해결하는 과정이 적절했는지 등등을 점검한다. 이런 절차를 가지는 이유는 서비스 관리, 결과에 대한 책임을 묻는 것이 아닌 더 나은 서비스, 문제에 대한 방지책을 만들기 위한 프로세스를 구축하기 위함이다. 사건에 대한 비판적인 분석을 통해 더..

React Native에서 기본으로 제공해주는 `Platform`모듈을 사용하면 iOS와 Android 두 플랫폼을 호환할 수 있습니다! React Native는 크로스 플랫폼 앱을 만들기 위해서 쓰여지는 만큼 Platform을 통한 플랫폼 별 기능 또는 UI를 적용하는 것이 매우 중요합니다. 아주아주 간단한 앱의 경우엔 큰 문제 없이 한쪽의 플랫폼을 통한 개발을 하더라도 큰 문제가 없을 수 있습니다. 하지만 수 많은 기능이 생기다 보면 Android에서는 되는데 iOS에서는 동작하지 않는 라이브러리가 있거나 다른 UI를 보여줘야한다거나 하는 경우가 발생합니다. 이를 위해서 PlatForm을 사용하는 것은 필수적이라고 할 수 있겠습니다. 사용 방법은 아주 간단합니다. 천천히 이해해 볼까요? https:/..