분류 전체보기
-
[ToyProject] AWS를 이용한 얼굴 인식 시스템 #1클라우드/ToyProject 2023. 2. 26. 15:59
프로젝트 설명- 웹 브라우저에서 사진을 업로드하면 lambda에서 aws rekognition api를 호출하여 등록된 사진과 비교 후 결과를 slack에 전송- 사용한 aws 서비스: ec2, lambda, sns , iot, s3, rekognition,iam 1. 웹 브라우저 구성2. S3 버킷 생성- 버킷을 생성하고 미리 등록할 사진을 올려둠- 퍼블릭 액세스 허용- 버킷에 사진이 업로드 되면 해당 람다 함수로 이벤트 알림 보내기- 버킷 정책 허용 3. 브라우저에서 S3로 사진 업로드 설정하기 1) cors- 브라우저의 scipt로 s3 버킷에 접근하려면 cors를 설정해줘야함- cors : cross-site http request 가능하게 함 / 다른 도메인에서 어떤 http request..
-
[AWS] Lambda - zip 파일로 코드 올리기클라우드/AWS 2023. 2. 23. 18:47
람다함수에서 코드 조작하는 방법은 총 3가지 방법이 있다. 1. 콘솔창에서 직접 조작 2. zip파일 업로드 3. s3이용 코드를 실행하는데 module import 에러가 나서 zip파일로 node_modules, package.json까지 한꺼번에 묶어서 올렸다. 압축할때는 되도록 명령어를 이용하라고 공식문서에 나와있다. 10MB를 초과하면 s3을 이용해서 업로드 해야한다. 그리고 중요한거 !!!!!!! 핸들러 경로를 수정해줘야함 내가 만든 zip파일명 아래에 저렇게 index.handler를 설정해줘야 경로를 올바르게 잡아준다. + 추가로, 나는 node_modules도 같이 올리려고 zip파일로 올린건데 다른 방법으로 layer를 추가하는 방법도 있다. node_modules자체를 zip으로 묶은..
-
[ToyProject] AWS를 이용한 ParkingSystem클라우드/ToyProject 2023. 1. 23. 21:59
카메라 모듈 : 라즈베리파이 사용 - camera.js : 차량의 번호판이 찍힐 수 있는 최소 거리를 미리 설정, 초음파 센서를 이용하여 차량이 감지되었을 때 카메라 모듈을 이용하여 차량의 번호판을 촬영하고 S3에 이미지 업로드 후 ‘carRecog/request’ 토픽으로 publish - index.js : ‘carRecog/request’ 토픽으로 메시지가 들어오면 람다 함수 호출되어 rekognition 실행 후 ‘carRecog/detect/car’ 토픽으로 publish - manage.js : ‘carRecog/detect/car’ 토픽을 subscribe 하고 있다가 메시지가 들어오면 차량 번호와 데이터베이스 비교 후 입차, 출차 처리 1. node.js ..
-
-
[Android] DataBindingAndroid 2022. 10. 15. 15:11
findViewById - 실시간으로 모든 리소스 트리를 뒤져서 해당 데이터를 찾아가야 함 - 실행도중에 발생하는 일이라 프로그램의 수행이 느리게 됨 -> 미리 바인딩 시켜놓고 직접 참조하면 일일이 찾아갈 필요가 없기 때문에 검색 오버레드가 줄어들음 데이터 바인딩 사용하기 1. build.gradle 파일 수정 dataBinding{ enabled = true } 2. xml 파일 수정 - layout 태그로 전체를 감싸줌 - 데이터 바인딩의 사용설정을 해주면 레이아웃xml 파일과 연결되어 자동으로 설계되는 바인딩 클래스가 만들어짐 3. 요소 - 뷰들과 연결되어 보여줄 데이터를 가진 데이터 클래스 지정후 레이아웃 파일 안에서 사용할 식별명 정해주는 요소 출처: https://kitesoft.tistory..
-
[Android] MVVM 패턴 적용 - ACC 예제Android 2022. 10. 11. 23:01
- DAO ? DB의 data에 접근하기 위한 객체 Todo.class (Room) : id, title이 정의된 데이터 package org.techtown.myapplication; import androidx.room.Entity; import androidx.room.PrimaryKey; @Entity //룸에서 사용할수 있는 entity public class Todo { @PrimaryKey(autoGenerate = true) private int id; private String title; public Todo(String title) { this.title = title; } public int getId() { return id; } public vo..
-
[Android] MVVM 패턴 적용 - ACCAndroid 2022. 10. 10. 23:59
- 안드로이드 스튜디오에서 개발하다 보면 보통 Activity 클래스에 모든 앱 동작 코드를 넣음 - 이러한 방법은 추후에 유지 보수가 어려움 -> MVVM 패턴 적용해보자 - 구글에서는 Android Jetpack의 구성요소로써 AAC(Android Architecture Component)를 제공함 MVC 패턴? - 안드로이드 스튜디오에서 MVC 패턴에 따라 Activity에 모든 코드를 넣으면 1. View와 Model간의 의존성이 높아져서 코드가 복잡해짐 2. View의 UI Refresh를 위해 Model을 참조하므로 앱 규모가 커질수록 코드가 복잡해짐 MVVM 패턴? - Controller 에게 막중한 역할을 부여하기보다, 이 동작 자체를 분리하여 동작의 흐름을 체계적으로 만들어주고 유지보수를..
-
그리디(Greedy) 알고리즘알고리즘/이론정리 2022. 8. 3. 16:13
그리디 알고리즘 - 현재 상황에서 지금 당장 좋은 것만 고르는 방법 -> 기준에 따라 좋은 것을 선택함 ex) 가장 큰 순서대로, 가장 작은 순서대로 - 그리디 알고리즘은 자주 정렬 알고리즘과 짝을 이룸 예제 - 거스름돈) : 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정할 때, 손님에게 거슬러줘야할 동전의 최소 개수 구하기 가장 큰 화폐 단위부터 돈을 돌려주자 1260원일때 -> 500 * 2 + 100 * 2 + 50 * 1 + 10 * 1 -> 총 동전의 개수 6개 # 시간 복잡도 o(k) n = 1260 count =0 coin_type =[500,100,50,10] for coin in coin_types: count += n // coin n %= coin print(..