본 프로젝트는 여러 장소의 조회수를 실시간으로 분석하여, 사용자에게 인기 있는 장소를 추천하는 시스템입니다.
- 장소별 조회수를 랜덤으로 증가시키고, 실시간 조회를 통해 데이터가 항상 최신 상태로 유지.
- 실시간 조회수 기반 장소 소개를 제공하여, 변화하는 데이터를 시각적으로 확인.
| 장송하 | 문민경 |
|
|
리눅스/유닉스 계열에서 주기적 작업을 자동으로 실행하게 해주는 도구
특정 시간, 특정 요일, 일정 간격 등으로 명령어나 스크립트를 자동 실행 가능
반복적인 업무를 사람이 수동으로 하지 않아도 처리할 수 있음
crontab 파일 : 어떤 작업을 언제 실행할지 정의하는 설정 파일
주기 표현식 : 분 시 일 월 요일 명령어 형태
cron 파일 수정 명령어
crontab -e
을 사용하여 cron 설정 파일을 수정 및 예약을 걸 수 있음
예약걸기
* * * * * ${파일위치명}.sh
매분(* * * * *) 쉘 스크립트 실행
- IDE / OS: VS Code / Ubuntu 22.04
- 사용한 라이브러리: Nginx / Cron / Awk
- 가상 환경: VirtualBox (Linux VM)
- 협업 도구: Slack
/home/ubuntu/YGJG/
├── place_list.csv # 장소 목록 (추천 데이터의 원본 CSV)
├── rank_log.log # 추천 내역 로그 파일
├── top_rank.txt # 랭킹 top5개만 저장하는 파일
├── range_rank.html # 웹에서 보여지는 실시간 랭킹 페이지
├── update_range_rank.sh # 데이터 갱신 및 로그 기록용 스크립트
└── tmp.csv # 임시 파일 (데이터 갱신 시 사용)
AI 에이전을 활용하여 더미 데이터 100개를 생성하고, 아래 컬럼 구조에 맞춰 데이터를 구성.
| 컬럼명 | 설명 | 예시 |
|---|---|---|
| 카테고리 | 데이터 유형 (예: 맛집, 카페 등) | 맛집 |
| 파일명 | 리뷰가 저장된 파일 이름 | 광안리_20240315.txt |
| 장소 | 방문한 위치 이름 | 광안리 해수욕장 |
| 방문 날짜 | 실제 방문한 날짜 | 2024-03-15 |
| 별점 | 1~5점 척도로 평가 | 5 |
| 리뷰 | 방문 경험에 대한 상세 설명 | 직원분들이 친절해서 기분 좋게 다녀왔습니다. |
| 조회수 | 리뷰 조회 횟수 | 88 |
| 폴더 주인 | 리뷰 데이터 폴더 소유자 정보 | 3040 |
| 폴더 마지막 수정 시간 | 폴더가 마지막으로 수정된 날짜와 시간 | 2024-11-27 01:48:13 |
- 목표: 조회수 랜덤 증가, 상위 3개 항목 로그 기록, 파일명 중복 처리
- 문제: 컬럼 번호 오류, 랜덤 증가 누락, 정렬 오류
- 해결: 컬럼 수정 + TMP 파일로 안전 덮어쓰기,
srand()적용, 중복 제거 후 조회수 기준 정렬
- 목표: txt 파일 브라우저 표시 + 실시간 반영
- 문제: 403 Forbidden, 정적 HTML 변경 반영 안됨
- 해결: 디렉토리/파일 권한 조정, 소유권 변경, Nginx 설정으로 실시간 HTML 서빙 가능
- cron과 스크립트를 활용하여 로그 파일을 주기적으로 업데이트하고, awk를 이용해 데이터 처리 및 상위 5개 항목 집계 기능을 구현하며 실시간 데이터 처리와 자동화 경험 능력을 향상시켯다.
- 개발 중 발생한 권한 문제나 파일 접근 오류를 디렉토리 및 파일 소유권/권한 조정을 통해 해결하며 실무적인 트러블슈팅 경험을 쌓으며, 문제 해결 능력을 강화 시켰다.


