분류 전체보기 145

개발자의 글쓰기 2장 - 개발 시간을 줄여주는 이름 짓기와 주석 쓰기

01 네이밍 컨벤션, 이유를 알고 쓰자 개발자의 가장 큰 고민은 이름 짓기 모든 개발자는 자기 코드를 읽는 사람이 주석 없이도 금방 이해하게 코드를 작성하고 싶어 한다. 이름 하나 잘못 지었다간 일이 몇 배가 되기도 한다. 무슨 뜻인지, 무슨 기능을 하는지 알아낼 수 있는 이름을 작성해보자 이름 짓기는 창조가 아니라 조합 이름 짓기는 무에서 유를 창조하는 것이 아닌, 라이브러리를 사용하는 것처럼 기존 방식 및 이름을 차용해서 새로운 이름을 짓는 경우가 대부분이다. 창조가 아닌 정해진 원칙으로 적절한 단어를 선택해 조합하는 과정일 뿐이다. 인기 자바 소스를 분석한 '오픈소스의 네이밍 특징들' 자바 네이밍 컨벤션을 철저히 준수한다 클래스는 UpperCamelCase 함수와 변수는 lowerCamelCase ..

Etc. 2023.01.15

개발자의 글쓰기 1장 - 개발자가 알아야 할 글쓰기 기본

[프롤로그] 개발자의 글쓰기는 달라야 한다. 개발자 글쓰기의 특징은 ‘정확성, 간결성, 가독성’이다. 문제는 이 세 가지 원칙이 서로 대치한다는 데 있다. 기업의 테크니컬 라이터가 존재하지 않는 우리도 글을 잘 쓸 수 있을까? . . . 01. 문장과 단락을 구조화하는 법 문장을 구조화하는 법 주어 서술어 보어를 이용하여 문장을 만들 수 있다 주어를 문장의 처음으로 뺀다. 인과관계가 있는 복문은 두 문장으로 나눈다 입력데이터는 색상 RGB값을 각각 사용하기 때문에 3차원 벡터다. → 입력 데이터는 색상 RGB값을 각각 사용한다. 그래서 입력 데이터는 3차원 벡터다. 본인이 잘 아는 내용을 바로 쓴다 ‘입력 데이터는 3차원 벡터다.’ 후에 이유를 어떻게 설명할 것인지 결정 부가 설명을 추가해준다 ‘입력 데..

Etc. 2023.01.15

AWS EC2 : 액세스하려면 22 포트를 개방해야 할 수 있으므로 이 인스턴스에 연결하지 못할 수 있습니다. 해결하기

ssh -i "nolmeong.pem" ubuntu@ec2-3-35-210-62.ap-northeast-2.compute.amazonaws.com ssh: connect to host ec2-3-35-210-62.ap-northeast-2.compute.amazonaws.com port 22: Operation timed out EC2 연결과정 중, timed out이라며 위의 에러가 발생했다. EC2에서 인스턴스 연결하여 SHH 클라이언트 탭을 확인 후, 하단을 보면 액세스 하려면 22 포트를 개방해야 할 수 있으므로 이 인스턴스에 연결하지 못할 수 있습니다. 현재 연결된 보안 그룹에 포트 22가(가) 열려 있지 않습니다. 라는 경고 메시지를 확인할 수 있을 것이다. 22 포트가 허용되지 않은 상태라 ..

카테고리 없음 2022.05.25

AWS EC2 빌드시 메모리 부족 문제 해결

우분투 서버의 프론트 폴더를 빌드하던 중 Creating an optimized production build .. 까지만 진행 후 아무리 기다려도 멈춤 상태로 빌드가 진행되지 않았다. 찾아보니 빌드 멈춘 원인은 aws 메모리 부족 문제였고, 이 경우 본인의 로컬 서버에서 빌드를 진행 후 빌드 결과물인. next를 서버로 전송하여 서버를 실행하여야 한다.  1. (우분투 서버 아닌 본인의 로컬 서버에서 진행) 프로젝트에서 터미널 열고 모든 작업 처리 후, npm run build 2. brew install git-lfs 설치 여기서 git-lfs를 설치하는 이유는, git은 작은 소스코드 파일들을 위한 버전 컨트롤 시스템으로 100Mb부터는 push가 되지 않는다. 그럼에도 위에서처럼 부득이하게 대용..

카테고리 없음 2022.05.24

[React Err] Can't perform a React state update on an unmounted component.. 해결하기

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function. 프로젝트 진행 중, 처음 로그인하는 SignInScreen에서 이와 같은 경고가 발생했다. 무시해도 앱은 잘 구동되지만, 이런 건 바로바로 해결해줘야 속이 시원하다 🤧 에러 메시지를 해석해보면 언마운트 된 상태에서 리액트의 state를 업데이트하려고 하여 발생한 경고인 것을 확인이 가능하고, 밑에 줄에..

카테고리 없음 2022.04.23

Strapi 스트라피로 api 만들기

백엔드에 대한 지식이 없어도 strapi를 이용하여 서버 구축이 가능하다. 주로 백엔드 기술을 다루지 못하거나 MVP를 만드는 상황에서 사용하기에 괜찮은 방법이다 yarn create strapi-app [프로젝트명] --quickstart 로 설치했다가, 버전의 차이인 건지.. 설치가 제대로 되지 않았다 현재 버전이 v4이고, 스택오버플로어 검색 결과 @beta를 붙이니까 v3버전으로 설치되었다 npm install -g strapi@beta strapi new [프로젝트명] --quickstart 위에서 npm 글로벌 베타로 설치 후, 터미널 재실행 -> 밑에 명령어를 입력하니 원하던 데로 설치가 완료되었다. strapi 서버 종료 후 재실행을 하고 싶으면 strapi develop 명령어를 입력한다..

카테고리 없음 2022.02.28

ReactNative 리액트 네이티브 : 리액트 네비게이션 설정

포스팅에선 react-navigation 라이브러리 사용 예정. yarn add @react-navigaiton/nativereact-navigation 설치 yarn add react-native-screens react-native-safe-area-contextreact-navigation 의존 라이브러리 설치 IOS 테스트를 한다면,npx pod-install  1. 리액트 네이티브 내비게이션 설정import {NavigationContainer} from '@react-navigation/native';function App() { return ... }export default App;  ... 안에 내비게이션 설정을 JSX로 선언이 가능하다. 기존 웹의 경우, 웹 브라우저에 탑재되어있는 히..

IT 2022.02.13

Firebase ReactNative 연동 에러 Error: [storage/unauthorized] User is not authorized to perform the desired action.

현재 벨로퍼트님의 리액트 네이티브를 다루는 기술 책의 예제를 익혀가며 리액트 네이티브를 학습하고 있다.이번장에서 Firebase와 ReactNative를 연동하여 Firebase storage에 이미지를 저장하려 하는데,좀 전까지는 잘만 실행되던 시뮬레이터가 튕김 현상과 함께 아무리 켜도 계속 종료되었다.  터미널을 확인해보니 다음과 같은 에러 메시지가 출력되었다 Possible Unhandled Promise Rejection (id: 0):Error: [storage/unauthorized] User is not authorized to perform the desired action.NativeFirebaseError: [storage/unauthorized] User is not authorize..

IT 2022.02.10

리액트 불변성을 지키는 이유와 방법

리액트를 접하면서 불변성 개념에 대해 알게 되었다.리액트 네이티브도 역시나 불변성을 지켜가면서 변화를 줘야 한다. 불변성을 지킨다는 것은?객체 및 배열을 직접적으로 수정하지 않는다는 말이다.즉, 기존 객체는 내버려 두고 새로운 객체를 만들어서 새로운 객체에 원하는 값을 덮어씌워야한다  왜 불변성을 지켜야 할까? 렌더링 성능 최적화 방식 때문이다.리액트에서 부모 컴포넌트가 업데이트될 경우, 그 밑의 자식 컴포넌트도 전부 업데이트(리 렌더링)된다.이는 변경사항이 따로 없음에도 자동적으로 함께 리 렌더링이 된다. 만약 컴포넌트에서 처리하는 데이터 및 연산량이 많을 경우에는 이러한 성능 최적화에 더욱 신경을 써야 한다.리액트의 Virtual DOM이 Props의 변화를 감지하기 위해, 이전의 Props와 새로 ..

IT 2022.02.10

ReactNative 리액트 네이티브 : 키보드 컨트롤하기 (IOS, Android 시뮬레이터 키보드)

1. 시뮬레이터 인풋 창을 눌렀음에도 키보드가 나타나지 않는 경우  시뮬레이터 활성화 상태에서 위에 I/O > Keyboard > Toggle Software Keyboard를 클릭해주면인풋 창을 다시 눌렀을 때, 키보드 입력이 활성화된다. 이렇게 키보드가 나타날 경우, 안드로이드에선 자동으로 화면이 줄어들지만 IOS는 화면을 그대로 다 가려버린다react-native의 KeyboardAvoidingView를 이용하여 키보드가 올라올 때 IOS 화면을 가리지 않도록 할 수 있다   2. IOS 키보드가 화면을 가리는 경우 (키보드 활성화 시 화면 줄어들게 하기)import {KeyboardAvoidingView, Platform} from 'react-native'; ... const styl..

IT 2022.02.10
반응형