주말에 서버 접속이 안되어서 확인해보니, 내부 인테리어 공사로 인한 인터넷 사용 불가가 원인이였다.(내부 서버) 다른 서버에서 작업하기 위해 코드를 옮기고 실행해보는데 DB 접속이 안되었다. mysql_connect(): Can't connect to MySQL server on 'ip 주소' 외부 서버에서 사용하는 코드(DB접속 라이브러리)를 그대로 이동시켰는데, mysql_connect가 안되는 것이다. 다른 DB에는 접속하는 코드는 실행이 잘되므로 언어 버전이나 설치의 문제는 아니였다. 코드를 확인해보니 내부 서버에서 접속할 때랑, 외부 서버에서 접속할 때랑 ip가 달랐다. 123.123.123.111 123.123.1.111 이런식으로 끝자리 숫자만 같고, 앞자리 주소가 아예 달랐다. 찾아보니 포..
Development

모니터링 플랫폼으로 Sentry를 사용하길래 (라인, 카카오페이 등) 사용해보려고 한다. 그동안은 log파일을 직접 확인했었다.(....) 현재 php를 사용 중이라서 PHP에서 sentry를 사용하려고 했는데 공식 문서를 찾아보니 PHP 7.2 버전 이상부터 지원된다고 한다. https://docs.sentry.io/platforms/php/ PHP On this page, we get you up and running with Sentry's PHP SDK, automatically reporting errors and exceptions in your application. If you don't already have an a docs.sentry.io 그래서 파이썬으로 먼저 사용해보려고 한다. ..

윈도우에서 테스트용으로 작성한 파이썬 크롤러를 리눅스에도 적용 시키려고 한다. python 버전 업그레이드 현재 centOS7환경을 사용 중이며, 기본적으로 python 2 버전대를 포함하고 있기 때문에 3으로 업그레이드한다. yum install python3.6 업그레이드는 아래 포스팅 참고👇🏻 https://dev-wisdom.tistory.com/141 [centOS7] Python 버전 업그레이드하기 centos7에는 기본적으로 Python 2.7.5 (default, Oct 14 2020, 14:45:30)가 설치되어있다. 현재 사용중인 python 코드의 버전은 3.7.9이여서 버전 업그레이드를 했다. # python -v Python 2.7.5 (default, Oct 14 2020, 14..
centos7에는 기본적으로 Python 2.7.5 (default, Oct 14 2020, 14:45:30)가 설치되어있다. 현재 사용중인 python 코드의 버전은 3.7.9이여서 버전 업그레이드를 했다. # python -v Python 2.7.5 (default, Oct 14 2020, 14:45:30) # yum -y install python3 # which python3.6 /bin/python3.6 # update-alternatives --install /bin/python python /bin/python3.6 1 # vi /usr/libexec/urlgrabber-ext-down #! /usr/bin/python2.7 //2.7로 수정 # vi /usr/bin/yum #! /usr/b..
chromedriver 사용 시 headless 옵션을 사용하면 CPU 및 메모리 소비에 대한 문제가 있다. 확실히 크롬을 사용하다보면 메모리를 많이 잡아먹는다. (ex.확장프로그램 등) 탭을 몇 개만 실행해도 가끔 먹통이 되는 상황이 생긴다. 최적화 방법 사용자 지정 프록시 또는 C++ ProtocolHandlers를 사용하여 스텁 1x1 픽셀 이미지를 반환하거나 완전히 차단 memory-infra를 이용하여 메모리를 많이 소비하는 부분 확인 chromium은 항상 사용가능한 리소스를 최대한 많이 사용하므로, 효과적으로 리소스를 제한하려면 cgroups 사용을 확인해야한다. cgroups(control groups의 약자)는 프로세스들의 자원의 사용(CPU, 메모리, 디스크 입출력, 네트워크 등)을 제..
문자열이 잘리는 경우가 발생해서 확인해보니, 인코딩 문제인 것 같았다. iconv에서 발생한 문제였다. iconv 함수로 캐릭터셋을 변경할 때, 텍스트가 잘리는 경우가 있다. 확인해보니 변환될 캐릭터셋에서 표현하지 못하는 문자를 만날 경우, 해당 문자 이전까지만 return되어 텍스트가 잘리는 현상이 발생한 것이였다. 변환하고자하는 인코딩에 '//IGNORE'을 추가하면 오류 문자는 무시하게 되어 전체 텍스트가 출력된다. $strText = iconv("euckr", "utf8", $strText); # 기존 $strText = iconv("euckr", "utf8//IGNORE", $strText); # 변경 //IGNORE 추가 이 외에도 DB에 데이터가 잘리는 경우에 테이블 인코딩, 이모티콘/이모지..

배열(Array)-인덱스가 있는 데이터 집합. 각 인덱스에 대응하는 데이터로 이루어진 자료 구조이다. -인덱스는 0부터 시작한다. -같은 종류의 여러 데이터를 다룰 때 사용할 수 있다. -선언에 따라 1차원, 2차원 또는 그 이상의 다차원 배열로 선언할 수 있다. (보통 1~2차원 배열을 많이 이용함)배열을 사용하는 이유-하나의 변수에 같은 타입의 데이터를 한 번에 저장하여 효율적으로 관리할 수 있다. -각 데이터의 접근이 쉽고 빨라진다.파이썬 배열 종류튜플소괄호()딕셔너리중괄호{}리스트대괄호[]튜플 ()소괄호()로 작성한다. 튜플은 요소를 변경하거나 삭제할 수 없다.(=불변성) 요소가 변경되지않고, 유지되어야할 경우에 사용한다. 튜플에서 요소를 변경하려고 할 시 에러가 발생한다.리스트 []대괄호[]로 ..

외부에서 ssh 접속할 때는 몇 가지 설정해줘야할 게 있다. ssh 서버 프로그램 설치 및 구동 22번 포트 열기 ssh 클라이언트 접속 허용 ip 확인 openssh-server 설치 최신 버전은 기본적으로 내장되어있다고 한다. 아래 명령어로 설치 여부를 확인한다. rpm -qa | grep sshd* 설치가 안되있다면, 설치한다. yum install openssh-server # systemctl enable sshd // 자동등록 # systemctl start sshd // 서비스 시작 # systemctl status sshd // 서비스 상태 확인 # ps -ef | grep sshd // 프로세스 상태 확인 설치 후 ssh 접속을 위해서는 22번 포트를 열어주어야한다. vi /etc/ssh..