본문 바로가기

전체 글53

[MySQL] 리눅스(wsl)에서 MySQL 사용하기 리눅스 터미널에서 DB를 다뤄야 할 때가 있다. 평소에는 SQLyog와 같은 GUI 툴을 사용해서 DB설계와 쿼리 입력 등을 하지만, Stored Procedure를 사용한다거나 할 때, 터미널에서 지속적인 실행결과를 보고 싶을 땐 터미널로 실행해야했다. 현재, 서비스하고 있는 프로젝트에서 로그 집계하는 부분을 더 의미있게 하기 위해 텀을 5분~10분을 두고 특정 쿼리를 계속 실행하면서 그 텀 동안의 집계 결과 들을 보고 싶었다. 따라서 내 개발환경인 WSL2에서 MySQL을 설치하고 DB에 접속해 쿼리를 실행시켜보았다. WSL에 MySQL 설치하기 # mysql 설치 sudo apt-get update sudo apt-get install mysql-server MySQL 실행하기 터미널로 mysql을.. 2024. 3. 31.
[Wandb] YOLOv8 & Wandb sweep 함께 사용하기 Wandb란? wandb는 ML/AI 모델 학습 시, 학습 상황을 tracking(추적) 하여 진행이 잘 되고 있는지 확인할 수 있는 툴 또한, 여러 하이퍼파라미터 조합으로 학습을 시도하여 최적의 하이퍼파라미터를 찾아내도록 돕는 툴 학습 결과를 기록하고 관리하여 성능 개선을 돕는 툴 wandb와 yolov8 (ultralytics) 모델 함께 사용하기 import wandb wandb.login() from ultralytics import YOLO import ultralytics from wandb.integration.ultralytics import add_wandb_callback wandb.login() -> wandb 사이트에서 API 확인 -> 입력 wandb.init(project='sa.. 2024. 3. 26.
[웹/인터넷] 서버에서 URL을 호출하면 에러 페이지(error page)가 나올 때 내 웹 서비스 페이지가 에러나는 경우(X) 웹 서비스에서 외부 URL을 호출할 때 에러나는 경우(O) 처리 방법 웹 서비스를 개발하다가 외부 URL(기사, 블로그 등)을 입력해 활용하는 기능을 추가하려는데, 페이지를 직접 접속하면 잘 열리지만, 서비스에 URL을 넣고 호출하면 error code가 나오면서 의도한 기능이 수행되지 않는 경우가 생긴다. 이 때는 직접 에러 페이지(403, 404, 500, 503 등)을 접속해서 확인할 수가 없으니, 해당 페이지의 예외처리를 따로 해줄 필요가 있다. 다만, 이 예시에서는 실제로 접속해서 에러를 확인할 수 있는 페이지를 다뤄보도록 한다. 이렇게 에러 페이지가 나오는 경우, html코드로 판단해 처리할 수 있다. F12를 눌러 개발자 도구를 열면, > 에 "40.. 2023. 8. 30.
EDA - 서울시 CCTV 현황 분석 제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다. 📍 분석용 데이터 준비 데이터셋 : 서울시 구별 CCTV 수, 서울시 구별 인구수 import pandas as pd cctv_df = pd.read_csv("/content/drive/MyDrive/zerobase/seoul/01. Seoul_CCTV.csv", encoding="utf-8") cctv_df.head() cctv_df.rename(columns={cctv_df.columns[0]: "구별"},inplace=True) - df.rename 이용하여 첫번째 컬럼명을 "구별"로 바꾼다. pop_df = pd.read_excel( "/content/drive/MyDrive/zerobase/seoul/01. Seoul_Popul.. 2023. 6. 4.
파이썬 알고리즘 - 근삿값, 재귀, 병합정렬, 퀵 정렬 제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다. 📍 근삿값 특정 값과 가장 근사한 값을 배열에서 찾기 inputNum = 17 minNum = 30 num = [25, 15, 20, 10, 30] for n in nums: absNum = abs(n-inputNum) if absNum 0: return num * f.. 2023. 6. 1.
파이썬 알고리즘 - 이진탐색, 버블정렬, 삽입정렬, 선택정렬 제로베이스 데이터 취업 스쿨 과정 학습 내용을 정리한 포스팅입니다. 📍 이진탐색 정렬되어 있는 자료구조에서 중앙값과의 크고 작음을 이용해서 데이터를 검색한다. nums = [4, 10, 22, 5, 0, 17, 7, 11, 9, 61, 88] nums.sort() searchData = 17 result_idx = -1 start_idx = 0 end_idx = len(nums) - 1 mid_idx = (start_idx + end_idx) // 2 mid_value = nums[mid_idx] while True: if searchData == nums[len(nums) -1]: result_idx = len(nums) - 1 break if searchData > mid_value: start_id.. 2023. 5. 29.