본문 바로가기

전체 글119

python에서의 OpenCV 활용 OPENCV란 Open Source Computer Vision Library 의 약자로 , 이미지 처리 및 영상 처리를 할 수 있는 라이브러리의 종류이다. 머신러닝에서도 이미지 처리 관련해서는 많이 이용하며 , 활용성이 다양하다. 지원언어는 파이썬 이외에도 C++ , java 등이 있다. 나는 머신러닝에서의 이미지 전처리를 위하여, OpenCV를 사용하려고 한다. 라이브러리 설치는 , 기존, streamlit 가상환경에 pip install opencv-python 를 실행해 설치하였다. 2021. 4. 20.
Git hub, serverless를 이용한 CI/CD 이 전에 serverless프레임워크를 이용하여, 배포를 해봤다. 이때 우리가 업데이트한 내용을 새롭게 배포를 하려면 , sls deploy 라고 매번 쳐서 수동으로 업데이트를 했어야했다. 이것은 매우 번거롭고, 팀원들과 함께라면 더욱 더 많은 일이 요한다. 그래서 CI / CD 라는것이 필요하다 CI / CD 란 CI는 Continuous Integration 즉, 지속적인 통합이라는 의미입니다. 지속적인 통합이란, 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합히는 것을 의미한다. Continuous Delivery는 공유 레포지토리로 자동으로 Release 하는 것, Continuous Deployment는 Production 레벨까지 자동으로 depl.. 2021. 4. 19.
AWS Lambda 이용 Serverless Application 람다를 이용하여 배포를 해보려고 한다. 이때 손쉽게하기 위하여 프레임워크를 이용하는데 , Serverless를 이용한다. Serverless는 배포 관련한 복잡한 절차들을 손쉽게 할 수 있게 해주는 어플리케이션이다. 사용하기에 앞서 , AWS IAM의 권한을 필요로 한다. AWS 홈페이지에 접속하여, 콘솔 로그인을 한뒤 IAM 을 찾아 들어가준다. 사용자 탭으로 들어가 , 사용자 추가를 선택한다. 적당히 이름을 지어준 후 , 프로그래밍 방식 엑세스로 선택 후 다음, 권한 설정 부분에서 기존 정책 직접 연결로 가서, 제일 위에 있는 AdministratorAccess 선택후 다음, 그 후에 계속 다음을 누르면 아래와 같은 화면이 나오는데 , 엑세스 ID키는 중요하니 CSV 파일로 저장해 놓도록 한다. 그러.. 2021. 4. 19.
데이터베이스의 테이블 인덱스 생성 데이터베이스의 테이블의 인덱스는 쉽게 이야기하면 해당 컬럼을 그룹화하여 , 조회시 더 빨리 할 수 있도록 하는 역할을 한다. ( where 절이 있는 쿼리문에서 사용한다. ) 만약에 만개의 데이터가 들어있는 테이블이 있다고 가정하면 , 일반적으로는 , 첫번째 데이터부터 만번째 데이터까지 순 서대로 읽어내려오면서 where 절에 있는 조건에 맞는 것들을 scanning해서 select한다고하면 , 인덱스를 설정하면 , 만개의 데이터 중 where 절에 있는 조건이 맞는 것들만 따로 추려서 해당 데이터를 찾는다. 이러한 과정으로 데이터를 찾기때문에 좀 더 빠른 데이터 찾기가 가능하다. **** SQL 쿼리중 where 절이 있는 쿼리를 할때는 scanning방식은 전체데이터를 다 스캔하기 때문에 처리속도가 .. 2021. 4. 12.
토큰을 통한 유저 인증 , 로그인,아웃관리 ( flask-jwt-extended ) 파이썬의 flask-jwt-extended 라는 라이브러리는 java web token 으로 사용자의 로그인, 로그아웃 기능을 구현하며, 그때마다 사용자에게 새로운 토큰을 발행하여, 그 토큰이 권한을 갖게 한다. 아래서 만든 레시피 API에서 레시피를 만들어서 추가하려고 하는데 그 부분을 로그인한 회원만 할 수 있도록 설정 할 수 있다는 것이다. ( 토큰은 회원간에도 다 다르기 때문에 사용자 간의 구분이 가능하고, 내 정보보기등에 설정을 해놓으면, 내가 가진 토큰과는 맞지 않는, 다른 사람은 나의 정보를 볼 수 없다.) 1) 회원가입 먼저 jwt를 사용하기 위해서는 시크릿키를 만들어야 하고, jwtmanagerf 를 활성화해야한다. jwt사용을 위해 JWTManager를 변수에 옮겨닮고, 함수를 적었다... 2021. 4. 8.
API개발 경로와 리소스 이해. 이전에 바로 앞에서 나는 레시피관련 API를 작업하고있었다. 그 이후에 api를 추가함에 경로와 리소스를 연결하는 코드를 몇개 더 추가하였다. 경로와 리소스를 연결하는 코드를 몇개 추가하였다. 제일 위는 나의 호스트/포트번호/recipes 라는 경로로 RecipeListResource 를 연결 한것이다. ( 다른 페이지에 클래스형식으로 되어있음) 여러가지 추가된 것 중에 , 클래스명이 같은것이 하나도 없다. 이는 서로간에 경로가 다르면 클래스명, 연결되는 부분도 다 달라져야한다. 는 플라스크의 방법으로 /recipes/ 숫자 /를 넣겠다는 뜻으로 , 그 숫자는 recipe_id라는 내가 정한 변수로 넣는다는 것이다. 두 번째 코드는 한가지의 레시피를 불러오는 코드인데 , 그 한가지의 음식의 id를 rec.. 2021. 4. 8.
728x90