[인턴] 2023 ETRI (한국전자통신연구원) 하계연구연수생(인턴) 마무리
·
일상&인턴
5~8주차 마무리 하는 포스팅 8월의 무더위에 에어컨 바람을 쐬며 에트리 업무를 처리하다가,,, 8월 막바지 쯔음 활동 발표도 있고 그래서 못썼다는 저의 하찮은 변명과 함께 포스팅이 시작됩니다... 에트리 업무 중 내가 담당한 Jetson 기기들 내가 하계 에트리를 하면서 두가지 메인 업무가 있었다. 하나는 이전 포스팅에서의 '쿠버네티스 분산 클러스터 구축' 과 NVIDIA의 Jetson을 성능 측정하고 젯슨 나노를 포팅하는 일이였다. 진짜 진짜 쉽지않았다. 게다가 Orin 은 구매가 4~500 이 넘어가는 제품이기에 더욱 조심히 다뤄야했었다. 사실 젯슨 나노 포팅하면서 미친듯이 시간 쏟아부어보고 책임연구원님 찾아가서 결과 보고드리고 초기화 하는 과정만 6번정도 한거 같다. 처음으로 박사님께 가서 하소연..
[DB] 동시성 제어(Concurrency Control), 직렬화(Serialization)
·
DataBase(DB)
동시성 제어 란? 동시성 제어는 여러 트랜잭션이 동시에 데이터베이스에 접근하고 수정하는 경우 발생할 수 있는 간섭과 충돌을 방지하며, 데이터의 일관성과 무결성을 유지하는 데 중요한 역할을 한다. 특히 은행, 증권사, 카드사와 같은 기업의 데이터베이스는 다수의 사용자가 거래를 수행하고 동시에 업데이트를 진행할 수 있기 때문에 이러한 환경에서는 동시성 제어가 필수적이다. 동시성 문제를 관리하기 위해 데이터베이스 시스템은 여러 기술과 기법을 사용한다. 예를 들면 트랜잭션 격리 수준, 락(lock) 메커니즘, 교착상태(데드락) 방지 등이 있다. 이러한 기술들은 동시성을 보장하면서도 성능을 최적화하는 데 도움을 준다. 동시성 제어 기법 제어 기법 설명 락킹 트랜잭션이 데이터 잠금 설정시 다른 트랜잭션은 해당 데이..
[DB] 트랜잭션 : 데이터 처리의 기본 작업 단위
·
DataBase(DB)
트랜잭션 특징 데이터베이스의 데이터 무결성이 보장되는 상태에서 DML 작업을 완수하기 위한 기본 작업 단위 트랜잭션을 통해 비정상 종료 및 실패에 대해 데이터 신뢰성과 일관성 보장 이론적 일반 상황에서는 "DML 실행과 실행에 대한 커밋/롤백 단계" 까지를 트랜잭션이라고 한다. 필드에서는 "SELECT 문으로 데이터를 조회하고 DML을 실행하여 종료하는 과정"까지 라고 한다. ACID 란? 개념 내용 원자성(Atomicity) 트랜잭션의 처리가 완전히 끝나지 않았을 경우에는 전혀 이루어지지 않은 것과 같아야 한다. 일관성(Consistency) 트랜잭션의 실행이 성공적으로 완료되면 DB는 모순 없이 일관성이 보존된 상태여야 한다 고립성(Isolation) 어떤 트랜잭션도 다른 트랜잭션의 부분적 실행 결과..
[DB] Database Project - 4 / SQL Developer 설치 및 Oracle DB 구축
·
DataBase(DB)
2023 2학기 홍익대학교 데이터베이스 및 실습 과목 팀프로젝트 게시글입니다. SQL Developer 설치 필자는 Apple 사의 MacBook air(M2) 을 사용하고 있다. 여러모로 이점도 많고 단점도 많은 arm기반 칩이다. 아래의 설치 방법은 Mac OS 기반으로 진행된다. 1. 주소를 통해 SQL Developer 를 다운받기 Mac OSX 용을 다운 받으면 된다. OS랑 버전이 맞지 않는 것인지 모르겠지만 커널 패닉 현상이 빈번하게 일어 났다. (추후 arm64) 버전도 테스트해보고 포스팅하겠습니다. https://www.oracle.com/database/sqldeveloper/technologies/download/ Oracle SQL Developer Downloads This arc..
[DB] Database Project - 3 오라클 데이터베이스 Entity Relationship Diagram 설계
·
DataBase(DB)
2023 2학기 홍익대학교 데이터베이스 및 실습 과목 팀프로젝트 게시글입니다. 1. PROJECT - WORKFLOW 우리 조는 '농수산물 거래 플랫폼' 주제 선정 이후, E-R 다이어그램을 설계 하기로 했다. 간략한 WorkFlow는 다음과 같다. 1. 사용자는 회원가입을 진행한다. 2. 구매하고 싶은 물건을 선택한다. 3. 선택한 물건의 여러 상점에서의 가격을 비교한다 4. 공공데이터의 평균가격을 참조하여 현명한 구매에 도움을 받는다. 5. 상점을 선택한 뒤 구매한다 또한 회원은 회원 계정 정보 페이지를 참고하여 회원이 구매한 품목의 이력을 조회할 수 있다. 2. Designing an “Entity Relationship Diagram” (ERD) 작동 흐름을 토대로 우리는 개체-관계 모델을 구상하..
[DB] Database Project - 2 주제 선정
·
DataBase(DB)
홍익대학교 데이터베이스 및 실습 과목 팀프로젝트 게시글입니다 팀 결성 이후, 우리는 프로젝트를 하기위해 주제 선정을 진행하였다. 전 인원이 다양한 의견을 내어 주었고 다음과 같다. 1. 아르바이트 구인 Web / App - 회원가입 ->[ 아르바이트 / 가게 ] 로 아르바이트 매칭 2. 당근마켓 Web / App - 회원가입 , 중고거래, 경매 제도를 통한 물건 사고팔기 3. 자동차 렌트 서비스 - 회원가입, 지도를 활용하여 특정 SPOT에 자동차 시간별 대여 시스템 1. 물건 찾기 - 회원가입해서 본인 방 구성, 핸드폰으로 물건 사진찍고 구성해놓은 방 카테고리에 넣어두고 물건 이름 검색이나 방 물건리스트를 확인해서 위치 확인 2. 자취생 요리 - 자취생들이 요리할때 쓰는 메인 재료에 따라 간단한 레시피..
[DB] Database Project - 1
·
DataBase(DB)
이번 Database 및 실습 수업에서 프로젝트를 진행하게 되었다. 팀장으로서 처음 팀프로젝트를 진행하게 되었다. 기존에는 팀원으로 참여하거나 , 연구연수생으로 말단에서 열심히 했지만 뭔가 해낼 수 있다는 마음이 생겼다. 팀 프로젝트에 앞서 몇 가지 환경을 생각하였다. 1. 협업 툴 / Github & Notion 최대 활용하기 프로젝트에 앞서 팀이 결성 된 이후 나는 코드 버전 관리 및 레파지토리를 통해 체계적으로 진행하고자 한다. Github의 Organization를 생성하여 관리하기로 했다. https://github.com/DataBase-501-Group2-Project-2023 DataBase-501-Group2-Project-2023 DataBase-501-Group2-Project-202..
[AWS S3] s3fs-fuse 오픈소스 분석
·
AWS
이번 포스팅은 오픈소스의 S3FS-FUSE의 코드 분석에 관한 글이다. 이번 팀프로젝트를 완수하기 위해선, 오픈 소스의 코드를 다 분석해야하지만 S3fs-Fuse의 소스는 어떻게 이루어졌는지 파악해야한다. C++ 소스코드를 보고 함수의 기능을 살펴보며 구동하는 흐름을 학습할 것이다. 아래는 이전 포스팅이다 https://boramchan-corgi.tistory.com/25 [AWS] S3FS-FUSE(Foreign File System in User Space) 란? 대학교 수업 '오픈소스 소프트웨어' 강의를 들으면서 프로젝트를 하게 되었다. 우리 팀은 오픈소스인 s3fs-FUSE를 탐구하고 I/O 속도 개선을 목표로 주제를 선정하였다. 인프라에 관심있는 나에게 boramchan-corgi.tistor..
[AWS] S3FS-FUSE(Foreign File System in User Space) 란?
·
AWS
대학교 수업 '오픈소스 소프트웨어' 강의를 들으면서 프로젝트를 하게 되었다. 우리 팀은 오픈소스인 s3fs-FUSE를 탐구하고 I/O 속도 개선을 목표로 주제를 선정하였다. 인프라에 관심있는 나에게 흥미있는 주제였고 심층적으로 탐색하고 기록하려고 한다. s3fs-FUSE는 Amazon S3 (Simple Storage Service)에 있는 데이터를 파일 시스템으로 마운트할 수 있게 해주는 FUSE(Foreign File System in User Space) 기반의 도구다. S3는 분산된 객체 스토리지 서비스로, 대규모 데이터를 안정적으로 저장하고 검색할 수 있도록 설계되었다. s3fs-FUSE를 사용하면 S3에 저장된 데이터를 일반적인 파일 시스템 명령어로 다룰 수 있어 편리하다. 이를 사용하면 S3..
[React] FireBase를 활용한 Login 기능 구현
·
Develop & Review/React
사용자 생성, 로그인 및 소셜 로그인을 처리하는 기능을 구현하기 이번 포스팅은 소셜네트워크 서비스를 개발하면서 기능 구현하고, 발생한 오류 코드에 대해 작성하여 기술하고 해결한 것에 대한 포스팅이다. 함수 설명 `Auth` 함수 `Auth`는 사용자의 이메일과 비밀번호를 사용하여 로그인 및 계정 생성을 관리하는 React 함수로 구현 `useState`를 사용하여 상태 변수를 초기화하였고 사용자의 이메일, 비밀번호를 저장한다. `newAccount`: 사용자가 새로운 계정을 생성 중인지 또는 기존 계정으로 로그인 중인지 나타내었다. `onChange` 함수를 통해 email, password 상태를 event를 통하여 얻고, 필드의 입력 값이 변경될 때 호출되는 핸들러 함수로 구현하였다. `onSubmi..
Jetson Nano 사용기
·
ML & AI & DL 맛보며 친해지기
지난 두달 간, 인턴(연구연수생)을 하면서 인상 깊었던 디바이스에 대해 소개 및 관련 자료를 정리하려고한다. 나는 실무에서 프로젝트의 업무를 하기 위해 Jetson nano를 대여할 수 있었고 완수하였다. Jetson Nano 란 무엇인가? NVIDIA에서 개발한 소형 컴퓨터 모듈이다. 저전력 시스템에서 고성능 연산을 수행할 수 있도록 설계 되었고, AI & 머신러닝에 적합한 디바이스이다. Jetson Nano 의 사양은? CPU: 64비트 Quad-Core ARM A57 GPU: 128-core NVIDIA Maxwell architecture-based GPU 메모리: 4GB LPDDR4 스토리지: microSD 카드 슬롯 비디오 인코딩/디코딩 기능: 4K @ 30 | 4x 1080p @30 |9x7..
NVIDIA Tensor RT 에 대해 알아보기
·
ML & AI & DL 맛보며 친해지기
Tensor RT란? NVIDIA 에서 제작했으며, 학습된 Deep Learning 모델을 최적화하여 NVIDIA GPU 상에서의 Inference 속도를 수배 ~ 수십배 까지 향상 시키는 모델 최적화 엔진이다. 가장 핵심포인트는 고성능 딥러닝 추론 라이브러리이다. (추론이다, 학습이아니라 추론이다) How to USE? NVIDIA GPU가 있는 로컬환경 혹은 Docker를 통해 설치한다. Jetson은 ARM 기반 아키텍쳐 GPU를 사용하는데, 설치는 간단하다 Jetson nano,Xavier,Orin등 Jetson 계열에서는 기본 설치패키치 JETPACK을 설치하면 자동으로 설치 된다. 또한 , 기본 NVIDIA 제조사의 GPU 를 가지고 있다면 충분히 사용가능하다. 하지만 Driver Versio..