개요 MySQL에서 MongoDB로 마이그레이션 하는 경우는 많지만, MongoDB에서 MySQL로 마이그레이션 하는 경우는 상대적으로 적은 것 같다. MongoDB는 NoSQL로 대용량 데이터를 처리하기에 적합하다는 장점이 있지만 관계형 데이터베이스 지원이 되지않기 때문에 현재하려는 프로젝트에서는 마이그레이션이 필요하다. 하지만 이 작업에는 여러 에러요소들이 있는데.. 에러요소 1. 대용량 데이터 export했을 때 전체 용량이 12GB로 꽤 큰편이다. 텍스트가 많아서 어쩔 수 없다. 2. 데이터에 ,(콤마) 가 있음 csv는 구분자가 콤마인데 레이블에 콤마가 포함되어있을 경우 import시 에러가 발생한다. (원하는 양식대로 인식하지 못함) 3. json 추출 시 MySQL에서 불러오지 못함 현재 사..
Development
프로세스를 한번에 관리할 필요를 느껴서 프로세스를 종료하는 쉘 스크립트를 작성했다. 필요한 경로에 파일을 생성하고, chmod명령어로 실행권한을 부여한다. 그리고 ./쉘스크립트.sh로 입력하여 스크립트를 실행한다. [root@localhost work]# chmod +x kill_process.sh [root@localhost work]# ./kill_process.sh

어느날 DB에 데이터가 없어서 확인하려고 조회를 해봤더니 테이블이 깨져있었다.ː̗̀(ꙨꙨ)ː̖́ 산넘어 산 .. 갑자기 왜이럴까요 오류내용 select 시 아래처럼 경고창이 표시되었다. Table './DB명/테이블명' is marked as crashed and last (automatic?) repair failed 테이블이 깨졌구나(올것이 왔구나) 이제 작업을 하기전에 먼저 mysql의 버전을 다시 한번 확인해 준다. select version() 확인해보니 5.6.11 버전이다 ㅎ ANALYZE TABLE 명을 통해 테이블을 조회해본다. ANALYZE TABLE 명 MySQL이 테이블의 키 분포에 대한 통계를 수집하도록 한다. 이 통계는 MySQL 쿼리 최적화기가 쿼리를 더 효율적으로 실행할 수 ..

오늘은 아주 유용한 크롬 확장 프로그램을 소개하려고 한다. Sider란 Sider라는 챗지피티를 활용한 프로그램인데, 말그대로 사이드바를 띄워서 챗지피티를 이용할 수 있는 확장 프로그램이다. 웹 브라우저에서 검색과 동시에 챗지피티 기능을 사용을 할 수 있다. 설치방법 아래 링크를 통해 크롬 확장 프로그램을 설치할 수 있다. https://chrome.google.com/webstore/detail/sider-chatgpt-sidebar-gpt/difoiogjjojoaoomphldepapgpbgkhkb Sider - ChatGPT Sidebar with GPT-4 모든 페이지에서 AI 비서로서의 ChatGPT 사이드바 chrome.google.com 설치하고 나면 오른쪽 상단에 아이콘이 활성화된다. 아이콘..
python 에서 keras 모듈이 좋다고 해서 사용해보려고 한다. 하려고 하는 작업은 이미지를 분석하여 캡션을 다는 일이다. 설치 해야할 모듈은 아래와 같다. pip install keras pip install tensorflow 사용 하는 모듈은 아래와 같다. import os from keras.applications.inception_v3 import InceptionV3 from keras.models import Model from keras.preprocessing import image from keras.applications.inception_v3 import preprocess_input from keras.models import load_model from PIL import I..
pass는 파이썬에서 사용되는 특수한 명령어이다. 아무 작업도 수행하지 않고, 단순히 실행 흐름을 건너뛰는 데 사용된다. 구문적으로 블록이 필요하지만 아무 동작이나 작업할 필요가 없는 경우에 주로 사용된다. 일반적인 사용 예 블록 구조에서 미완성한 부분 함수, 클래스, 조건문, 반복문 등의 블록 구조에서 구현할 내용이 없는 경우 pass를 사용하여 구문적으로 블록을 유지할 수 있다. 이는 나중에 구현할 내용이 있을 경우에 유용하다. def my_function(): pass # 나중에 함수 구현을 추가할 예정 if condition: pass # 나중에 조건에 따른 코드를 추가할 예정 for item in my_list: pass # 나중에 반복문의 내용을 추가할 예정 임시로 블록을 비워둘 때 특정 조건..

scrapy란? scrapy는 파이썬 기반의 오픈 소스 웹 크롤링 프레임워크이다. 크롤링 작업을 자동화하고, 웹 사이트에서 데이터를 추출하고, 웹페이지를 크롤링하는 데 사용된다. scrapy는 웹 크롤링에 필요한 다양한 기능과 도구를 제공하여 개발자가 효율적으로 크롤링 작업을 구현할 수 있도록 도와준다. scrpapy의 핵심 기능 스파이더 (Spider): Scrapy의 핵심 개념으로, 크롤링 작업을 수행하는 데 사용된다. 스파이더는 웹페이지를 탐색하고 데이터를 추출하는 룰 기반의 크롤링 로직을 포함한다. 사용자는 스파이더를 작성하여 필요한 데이터를 웹페이지에서 추출할 수 있다. 요청 및 응답 처리: Scrapy는 HTTP 요청을 보내고 웹 서버로부터 받은 응답을 처리하는 기능을 제공한다. 이를 통해 스..
Unix 및 Linux 기반 운영 체제에서 사용되는 명령어로, 새로운 빈 파일을 생성하거나 기존 파일의 수정 시간을 변경하는데 사용된다. 주로 터미널 또는 명령 프롬프트에서 사용된다. touch [옵션] 파일명 옵션: touch 명령어에는 다양한 옵션이 있으며, 가장 일반적으로 사용되는 옵션은 다음과 같다. -a: 파일의 접근 시간(access time)만 변경 -m: 파일의 수정 시간(modification time)만 변경 -c: 파일이 존재하지 않을 경우 새로운 파일을 생성하지 않음 -r 파일: 다른 파일의 수정 시간과 동일하게 변경 파일명: 생성하거나 수정할 파일의 이름을 지정 아래와 같이 입력할 경우, example.txt 의 파일 작성시간이 현재시간으로 업데이트 된다. touch -m exam..