jupyter notebook 가상환경 연결하기 (아나콘다)
·
Python/Anaconda
문제 발생 scikit-learn, seaborn, graphviz만 설치된 가상환경을 아나콘다로 새로 생성. vscode에서 작업 후, mark-down으로 ML 학습을 정리하려 jupyter notebook을 열어 실행결과를 확인하려는데, scikit module을 찾을 수 없다는 ModuleNotFoundError: No module named 'sklearn' 에러가 발생. 이를 해결하기 위해 구글링 후, jupyter notebook에 원하는 가상환경을 연결하는 방법을 찾아서 해결함. 이 포스팅은 해결 과정을 작성함. 본인의 환경 - macbook m1 macOS - brew로 python 3.10.7 설치 (python 설치 경로: /opt/homebrew/bin/) (명령어: brew ins..
[python] 대입 연산자 (:=)
·
Python/Python Distilled
표현식이란 구체적인 값으로 평가하는 계산을 의미한다. 표현식은 항상 대입문의 오른쪽에 나타난다. 이 포스팅은 리터럴, 이름, 연산자, 함수 등의 조합으로 표현식이 주어질 때, 대입 연산자를 사용하는 방법에 대한 글이다. 대입 연산자는 := 로 표현하는데, 바다코끼리 엄니와 비슷하게 생겨서 바다코끼리 연산자라고도 한다. While (n:=f.readline()): print(n) 위의 예시에서 n:=f.readline() 부분은 괄호로 감싸주지 않으면 문법 오류로 실행되지 않는다. 다른 예시로, 표현식을 평가에 사용하는 경우가 있다. if (len(n):=f.readline) >= 10: print(n)
[MySQL] 프로세스 확인과 프로세스 죽이기
·
MySQL
MySQL Workbench를 통해 스키마를 수정하거나, 조회를 할 때 종종 이런 에러가 발생한다.Error Code: 2013. Lost connection to MySQL server during query원인은 2가지 정도로 보인다.`쿼리 수행 시간`이 `제한 시간`보다 초과되서 강제로 연결이 끊어짐특정 쿼리에서 `교착상태`가 발생 이번 글은 `교착상태`가 원인일 때 해결하는 방법이다. 프로세스 확인show processlist;여기서 팁스토리님의 글을 참고하여, 각 컬럼의 뜻을 보자.ID : 클라이언트의 프로세스 ID (스레드 번호)USER : 프로세스와 관련된 사용자 이름 (스레드에 접속하고 있는 MySQL 유저명)HOST : 클라이언트가 연결된 호스트 (유저가 접속하고 있는 호스트명 및 IP주..
[MySQL] 계정 조회, 계정 생성, 계정 삭제, 권한 조회, 권한 부여, 권한 삭제
·
MySQL
등록된 계정 확인# mysql 데이터베이스 접근, 최초 한 번만 사용.use mysql;-- 등록되어있는 계정 조회. password는 암호화되어 정확한 확인이 불가SELECT host, user, password FROM user;계정 생성-- 사용방법CREATE user '아이디'@'접근허용 ip' IDENTIFIED BY '비밀번호';-- local 환경에서만 접근 허용할 때 -> 'localhost'CREATE user 'temp_id'@'localhost' IDENTIFIED BY 'abcd';-- 외부 모든 ip에서 접근 허용할 때 -> '%'CREATE user 'temp_id'@'%' IDENTIFIED BY 'abcd';-- 외부의 특정 ip만 접근 허용할 때 -> 예시: '192.20...
[python] 이스케이프 표현식(escaped expression)
·
Python/Python Distilled
문자열 앞에 f가 붙으면 문자열 안에 있는 이스케이프 표현식이 평가된다. 예시) year = 2022 principal = 0.01666 print(f'{year:>3d} {principal:0.2f}') >>> 2022 0.02 첫 번째로 {year:>3d}의 의미를 하나씩 뜯어보자. (1) year 변수 뒤 :> 는 우측으로 정렬한다는 뜻이다. (2) :> 뒤 숫자 3 은 3칸(공백 문자)을 확보한다는 뜻이다. 만약 입력되는 year의 길이가 3 이상이면 칸을 확보하지 않는다. (3) 숫자 3 뒤 d는 int형으로 출력한다는 뜻이다. (1) (2) (3)의 뜻을 모두 합치면, (1) 우측으로 정렬하면서 (2) 문자열 변수의 길이가 3 미만일 때 길이가 3 이 되도록 공간을 확보하고 (3) 변수를 in..