본문 바로가기

프로그램 개발

React Native로 PDF Viewer 앱 만들기; 3. 화면 개발 - JSX 컴포넌트 React Native로 PDF Viewer 앱 만들기1. React Native 개발 환경 설치2. react-native-pdf 테스트 앱3. 화면 개발 - JSX 컴포넌트4. 화면 개발 - Context API5. 화면 개발- 팝업 창 (Modal) 6. TypeScript 전환, Jest 추가 7. React Navigation - 18. React Navigation - 2 6. React Native를 사용하기 전에 알면 좋은 정보React Native는 React과 동일하게 JSX (JavaScript XML)로 화면을 정의하고, JavaScript로 로직을 구현하고, 컴포넌트의 Property를 통해 최상위 컴포넌트에서 하위 컴포넌트로 상태 정보(매개변수)를 업데이트(전달)하는 방식을 원.. 더보기
React Native로 PDF Viewer 앱 만들기; 2. react-native-pdf 테스트 React Native로 PDF Viewer 앱 만들기1. React Native 개발 환경 설치2. react-native-pdf 테스트 앱3. 화면 개발 - JSX 컴포넌트4. 화면 개발 - Context API5. 화면 개발- 팝업 창 (Modal)6. TypeScript 전환, Jest 추가7. React Navigation - 18. React Navigation - 24. PDF Viewer 프로젝트앞에서 안드로이드 스튜디오를 설치하고 Expo로 프로젝트를 생성해서 문제없이 동작하는 것을 확인했으니 이제 PDF Viewer를 위한 프로젝트를 만든다. 이번에는 Sample화면이 없는 blank 템플릿을 사용해서 프로젝트를 생성했다. npx create-expo-app --template blan.. 더보기
딥러닝에서 CPU와 GPU 성능 비교; 2. CNN (Conv2D) 모델 학습 측정 딥러닝에서 CPU와 GPU 성능 비교1. DNN (Dense) 모델 학습 측정2. CNN (Conv2d) 모델 학습 측정 3. CIFA-100 + CNN 모델에서 CPU와 GPU학습 비교이번에는 CIFA-100을 CNN으로 분류하는 모델을 간단하게 만들어서 학습하면서 CPU와 GPU의 학습 속도를 비교해 보기로 했다. 아래와 같이 Conv2D와 Pooling을 겹쳐서 쌓아 특성값을 추출하고 Dense로 분류하는 간단한 모델이다. 그래도 50 Epoch정도의 학습으로도 82% 정도의 정확도를 가질 수 있다. 물론 Conv2D와 Polling을 한 번 더 반복하면 90%의 정확도까지 올릴 수 있지만 속도 비교의 목적으로는 이 정도 모델로도 충분히 비교를 할 수 있을 것이라 생각된다. 이 모델은 975,692.. 더보기
딥러닝에서 CPU와 GPU 성능 비교; 1. DNN (Dense) 모델 학습 측정 딥러닝에서 CPU와 GPU 성능 비교1. DNN (Dense) 모델 학습측정2. CNN (Conv2D) 모델 학습 측정 딥러닝 모델을 만들 때 꼭 GPU가 필요할까?라는 의문을 가진 적이 있을 것이다. LLM이나 해상도 높은 동영상에서 정밀하게 측정할 부분이 있다면 당연히 필요하겠지만, 101 과정에서 연습을 한다면 GPU가 꼭 필요할까? 어느 정도 특성을 가진 데이터를, 어느 정도의 정확도를 가지도록 만드는데 어느 정도의 성능이 필요할까? 어떤 모델에는 꼭 필요하고 어떤 모델에는 CPU도 가능할까? 에 대한 의문을 테스트하기 위해 내가 가지고 있는 노트북을 기준으로 한번 실험해 보았다.1. MNIST + Dense Sequential 모델에서 CPU와 GPU학습 비교첫 번째 테스트할 데이터는 MNIST.. 더보기
엔비디아 Jetson Xavier; 4. PyTorch 설치 후 MNIST 학습 테스트 엔비디아 Jetson Xavier1. Virtualbox로 우분투 PC 만들어 AI 보드 설치2. VMware로 우분투 PC 만들어 AI 보드 설치3. Tensorflow (+ Keras) 설치4. PyTorch 설치 후 MNIST 학습 테스트 5. VNC로 쉽게 연결하기  노트북처럼 설치를 하고 확인을 하기 위해 이전과 유사하게 Hands-On Machine Learning에 있는 Fashion MNIST를 학습시켜 보기로 했다.b. Jetson에 Jupyter Notebook에 설치하고 원격에서 접속하기쉽게 테스트하기 위해 jupyter notebook을 설치하고, 이번에는 같은 컴퓨터가 아닌 노트북에서 접속할 수 있도록 하기 위해 ip를 0.0.0.0으로 지정하고 실행한다. pip3 install .. 더보기
엔비디아 Jetson Xavier; 3. Tensorflow (+ Keras) 설치 엔비디아 Jetson Xavier1. Virtualbox로 우분투 PC 만들어 AI 보드 설치2. VMware로 우분투 PC 만들어 AI 보드 설치3. Tensorflow (+ Keras) 설치 4. PyTorch 설치 후 MNIST 학습 테스트 5. VNC로 쉽게 연결하기  4. Jetson Xavier에 Keras + PyTorch 개발환경 설치Jetson은 임베디드 AI가 필요할 때 사용하는 소형 컴퓨터보드이다. 엣지용으로 인기가 좋아서 엔비디아도 Jetson에 공을 들이고 있기 때문에 JetPack SDK 관련 엔비디아 페이지에서 제공되는 샘플도 Nemo LLM부터 이미지 임베딩을 위한 CLIP, 다른 블로그에서 예제로 많이 사용되는 Object detection과 Bounding Box처리에 .. 더보기
NestJS 개발 시작하기(로그인 인증 개발); 7. 암호화와 해쉬 함수 NestJS 개발 시작하기(로그인 인증 개발)1. NestJS와 Spring의 비교2. NestJS CLI로 개발시작3. API개발과 Swagger4. TypeORM으로 DB연결5. Session, JWT, OAuth 차이6. jwt 인증 (1)7. 암호화와 해쉬 함수 6. 암호화와 해쉬 함수유럽에서 2016년 5월에 GDPR (General Data Protection Regulation)이 발효되면서 많은 나라에서 개인정보보호에 대한 규정을 만들고 있다. 우리나라도 2021년 2월부터는 개인정보보 보호법에 따라 특정 정보, 또는 정보의 조합이 특정 개인을 지칭할 수 있는 경우 민감정보로 규정하고 이를 보호하는 규정을 적용하고 있다. 일반적으로 회사서비스는 어느 정도 개인 정보를 담고 있을 수밖에 없어.. 더보기
NestJS 개발 시작하기(로그인 인증 개발); 6. jwt 인증 (1) NestJS 개발 시작하기(로그인 인증 개발)1. NestJS와 Spring의 비교2. NestJS CLI로 개발시작3. API개발과 Swagger4. TypeORM으로 DB연결5. Session, JWT, OAuth 차이6. jwt 인증 (1)7. 암호화와 해쉬 함수 6. @nestjs/jwta. JWT token 생성이제, JWT와 OAuth를 사용해서 인증하는 프로그램을 만들어 보자. 앞에서 본 OAuth인증절차에서 가장 먼저 해야 할 일은 id, password를 사용해서 로그인하면 Token을 생성하는 일이다. 먼저, JWT Token 패키지를  @nestjs/jwt 패키지를 설치한다. pnpm install @nestjs/jwt 설치된 @nestjs@jwt 패키지를 사용해서 OAuth를 구현하.. 더보기