Memo
-
[MySQL] 설치 및 초기 설정Memo/Ubuntu 2023. 2. 14. 21:13
# Ubuntu MySQL 설치 $ sudo apt update $ sudo apt install mysql-server $ sudo systemctl start mysql # 실행 $ sudo systemctl status mysql # 동작 상태 확인 $ sudo systemctl enable mysql # 부팅시 자동 재시작 # MySQL root 계정 접속 초기 root 계정은 비밀번호가 없음, 빈칸 엔터 방법 1) $ sudo mysql -u root -p 방법 2) $ sudo /usr/bin/mysql -u root -p # 계정(root) 비밀번호 변경 방법 1) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '비번'; 방법 2) mysql> A..
-
[Python] 텔레그램 API로 메시지 전송 방법 (마크다운, 이모지, 버튼)Memo/Python 2023. 2. 13. 22:42
# 텔레그램 메시지 전송 기본 API 구조 https://api.telegram.org/bot/sendMessage?chat_id=&text=안녕 # 파이썬에서 json 형식으로 메시지 보내기 import requests data = {"chat_id" : , "text": "안녕"} url = f"https://api.telegram.org/bot/sendMessage?" res = requests.post(url, json=data) 텔레그램 API로 채널에 메시지 보내기 · Wireframe 파이썬에서 텔레그램 API를 사용하여, 특정 채널에 메시지를 보내는 방법을 알아봅시다. API를 통해서 메시지를 게시하려는 채널이 있다면, 텔레그램에서 새로 봇 하나를 만들고, 이 텔레그램 봇 soooprmx...
-
[X11] Unsupported authorisation protocol 오류 해결Memo/Ubuntu 2023. 2. 10. 16:34
이전 AWS를 이용할 때는 아무런 문제 없이 X11이 동작되었는데,오라클 클라우드로 넘어온 뒤로 부터는 브라우저를 실행할 때마다 아래처럼 X11 권한과 관련된 문제가 발생하였다.PuTTY X11 proxy: Unsupported authorisation protocolError: cannot open display: localhost:10.0# 또는MoTTY X11 proxy: Unsupported authorisation protocolMissing X server or $DISPLAYThe platform failed to initialize. Exiting. 이 문제를 해결하기 많은 검색과 시간을 들인 결과 어느정도 힌트를 얻어 해결할 수 있었다.xauth 권한과 관련된 문제로 보이는데, 어째서인..
-
[Oracle Cloud] 오라클 클라우드 MFA 설정Memo/Oracle Cloud 2023. 2. 10. 15:35
개발 공부를 하면서 오라클 클라우드를 유용하게 사용하고 있다. 이러한 클라우드는 계정 보안이 중요하기 때문에 2차 인증이 필수이다. 나는 그중 편리하면서 강력한 MFA(Multi-Factor Authentication)를 이용하려 한다. 최근 오라클 클라우드 UI가 변경된 것 인지, 구글이나 유튜브에서 검색해서 나오는 대부분의 자료로는 MFA 설정을 할 수 없었다. 결국 공식 문서를 보며 MFA 설정에 성공하였지만, 공식 문서에는 글로만 설명되어 있어 따라하기에 어려움이 있었다. 그래서 나와 같이 MFA 설정 정보를 찾는 다른 사람을 위해 글을 작성하게 되었다. #1. 모바일 앱 등록 1. 오라클 클라우드에 로그인하여 '내 프로파일'로 이동한다. 2. 보안 탭으로 이동한다. 3. 모바일 앱 등록 오라클 ..
-
[Django] 템플릿(html)에서 파이썬 enumerate 사용Memo/Python 2023. 1. 30. 20:45
Django 템플릿에서 파이썬 enumerate 기능을 사용하려면 다음과 같이 코드를 for문 내부에 작성한다. {% for n in network %} {{ forloop.counter }} {% endfor %} 위 코드는 1부터 시작하는 코드이다. 만약 파이썬의 enumerate 처럼 0부터 시작하고 싶다면 아래처럼 'counter'뒤에 0만 붙여주면 된다. {% for n in network %} {{ forloop.counter0 }} {% endfor %} how to run this code in django template this is my code : {% for i,j in enumerate(a) %} {{i}} ,{{j}} {% endfor%} but , it show a error..
-
[Selenium] 요소 위치로 스크롤 이동하기Memo/Python 2023. 1. 25. 16:55
selenium으로 요소(element)를 클릭해야 하는 상황에서 다른 요소가 해당 위치를 가리고 있거나, 페이지 아래에 위치해 클릭이 되지 않는 경우가 있다. 이럴 때는 클릭하려는 요소가 가려지지 않도록, 스크롤을 해당 요소의 위치로 이동하면 해결할 수 있다. 그러나 스크롤을 요소의 위치로 이동하기 위해서 JavaScrip의 'scrollIntoView'를 사용하는데, 여기서 문제는 스크롤을 요소 최하단에 맞춰 이동한다는 것이다. 즉 이번에는 요소가 스크롤보다 위에 존재하여 동일하게 클릭을 할 수 없는 상황이다. 그래서 원하는 요소를 페이지 중앙에 위치 하도록 해야하는데, 이럴 때는 scrollIntoView에 옵션 하나를 추가하면 해결할 수 있다. driver.execute_script("argume..
-
[Selenium] 결과 값 텍스트가 빈칸(공백)으로 리턴될 때Memo/Python 2023. 1. 18. 17:38
Selenium으로 크롤링 도중 특정 페이지에서만 요소의 결과 값이 빈칸(공백)으로 반환되는 문제가 발생하였다. 별짓을 해보아도 계속해서 되돌아오는건 빈칸이였다.. 또 한참 검색을 해본 결과 beautifulsoup과 함께 사용하면 문제를 해결할 수 있다는 글이 있었지만, 나는 selenium으로만 사용하여 문제를 해결하고 싶어 계속해서 폭풍 검색을 하였다. 결국 우리의 stackoverflow에서 해결 방법을 찾을 수 있었다. element.get_attribute("innerText") 요소의 DOM에 존재하는 텍스트를 가져오는 방법으로 해결할 수 있었다. getText() method of selenium chrome driver sometimes returns an empty string I ha..
-
[Selenium] 코드 실행 후 브라우저가 자동으로 종료될 때Memo/Python 2023. 1. 17. 19:12
이전에는 그러지 않았는데 언젠가 부터 selenium 코드가 전부 실행되고, close나 quit 명령을 주지도 않았는데 자동으로 꺼지는 현상이 생겼다. 검색결과 vscode 환경에서의 문제?라고 하던데 나의 경우 driver 옵션 하나를 추가해서 해결할 수 있었다. options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) selenium 사용 중 브라우저 종료 하고 싶지 않을 때 python으로 브라우저 컨트롤시에 selenium를 이용해서 컨트롤하는 경우 드라이버 생성을 특정함수 안에서 하게 되면 함수가 종료될때 브라우저도 같이 종료되는데, 가끔 종료되지 않았으면 할때 아 capas.tistory.com