CampusMeet 4

[NKS] NKS를 활용한 배포 (1)

1. NKS(Ncloud Kubernetes Service)2. 클러스터 접속 이번 프로젝트를 진행하면서 클라우드 서비스는 이제 선택이 아닌 필수 요소가 되었습니다. 처음에는 가장 많이 사용되는 AWS를 고려했으나, "제 8회 개방형 클라우드 플랫폼(K-PaaS) 기반 서비스 개발 아이디어 공모전"을 알게 되었습니다. 이 공모전은 NAVER Cloud, NHN Cloud, KT Cloud 중 하나를 제공받아 해당 플랫폼을 기반으로 서비스를 개발하는 것이 목표입니다. 저희 팀은 수상을 목표로 하기보다는 AWS 외의 다양한 클라우드 플랫폼을 경험해보고, 무료로 클라우드 환경을 제공받는 기회를 활용하기 위해 참여하기로 결정했습니다. 그중 Naver Cloud의 NKS를 선택했으며, 이번 포스팅에서는 이 과정에..

CampusMeet 2024.09.08

[CS] .env 파일 유출 문제와 해결 방안

1. 발생 문제2. 해결 과정3. 추가 문제 발생 및 해결 과정 1. 발생 문제CampusMeet 프로젝트를 진행하면서 형상관리는 GitHub를 통해 이루어졌고, 저장소는 public으로 관리하고 있었습니다. 개발 도중 GitHub를 확인하던 중, .env 파일이 그대로 저장소에 노출된 것을 발견했습니다. 다행히 초반이었고 파일에는 로컬 DB에 대한 간단한 정보만 담겨 있었지만, 이후에는 API 키나 비밀번호 등 민감한 정보들이 다뤄질 예정이었기 때문에, 이를 미리 해결하기로 했습니다. 2. 해결 과정1 ) .env 파일 제거 및 .gitignore 설정먼저, .env 파일이 앞으로 푸시되지 않도록 .gitignore 파일에 추가해줍니다. echo ".env" >> .gitignore 명령어를 입력하면 ..

CampusMeet 2024.08.28

[Backend] FastAPI

프로젝트의 백엔드를 FastAPI로 구성하기로 했지만, 실전에 들어가 보니 FastAPI가 상대적으로 덜 대중적이다 보니 자료를 찾기가 쉽지 않고, 디렉토리 구조를 어떻게 잡아야 할지 감이 잘 오지 않았습니다. 그래서 "https://github.com/fastapi/full-stack-fastapi-template"를 참고하여 디렉토리 구조를 작성해보았습니다. 오늘은 이 디렉토리 구조의 각 부분이 어떤 역할을 하는지 간단하게 정리하도록 하겠습니다.1. 디렉토리 구조 시각화2. 디렉토리 구조별 역할1. 디렉토리 구조 시각화디렉토리 구조를 작성했지만, 막상 만들어보니 헷갈리는 부분이 많고 한눈에 들어오지 않아서 구조를 한눈에 보면서 각 디렉토리별 역할을 정리해보기로 했습니다. 외부 사이트를 이용할까 했는데..

CampusMeet 2024.08.14

[Crawling] Crawling 을 통한 데이터 수집

프로젝트에서 지도를 통해 학교 주변의 가게 정보와 자취방 정보를 함께 제공하려고 합니다. 그러나 이러한 정보는 공공 데이터에서 제공되지 않으며, 별도의 API도 존재하지 않습니다. 따라서 이번 기회를 활용해 직접 크롤링을 통해 데이터를 수집하려고 합니다. 오늘은 우선 가게들의 이름만 크롤링을 통해 가져오는 것을 목표로 하겠습니다.1. Crawling 이란2. Python Crawling 라이브러리3. Code Review 1. Crawling 이란웹 크롤링은 웹 사이트에 있는 정보를 자동으로 빠르게 수집하는 기술입니다. 이는 데이터 분석, 웹사이트 자동화, 인공지능 학습 데이터 수집 등 다양한 분야에서 활용되고 있습니다. 저는 이번 프로젝트에서 파이썬을 사용해 크롤링을 진행할 예정입니다. 파이썬 크롤링은..

CampusMeet 2024.08.11