프로그래밍
-
파이썬 버전 업그레이드 재 설치 방법프로그래밍/Python 파이썬 2022. 11. 11.
23.05.01 추가 공홈에서 최신 버전 인스톨러 받고 업그레이드 간단하게 가능 기존 메뉴얼 설치 유저들은 가능할지 모르겠음 다만 자릿수가 바뀌는 버전의 경우 폴더 이름이 바뀌기 때문에 그냥 재설치 해야함 윈도우에서 파이썬 업그레이드 방법은 따로 없다. 삭제 후 새로 설치가 답 기존 파이썬에서 쓰던 라이브러리 백업 후 새로 설치 후 라이브러리 한꺼번에 설치까지 해줘야 한다. 이번에 파이썬 3.11버전이 기존 버전들 보다 속도 향상 10 ~ 60%까지 올라갔기 때문에 버전 업그레이드겸 글을 작성한다. https://www.python.org/downloads/windows/ Python Releases for Windows The official home of the Python Programming La..
-
오라클 - DB에서 현재 실행중인 쿼리문 조회, 취소 (kill)프로그래밍/DBMS 2022. 10. 5.
DB가 설치되어 있는 서버에 직접 들어가서 pid 조회 후 kill 하는 방법도 있지만 SQL문(쿼리문) 명령문 만으로 현재 DB에서 돌고 있는 쿼리문들을 조회해서 필요한 정보를 확인 후 해당 명령을 죽일 수 있는 방법도 있다. DBeaver나 SQLdeveloper 같은 툴을 사용하는 요즘 시대에 귀찮게 서버 접속 안하고 툴을 사용하는 방법을 알아보자. -- DB에서 사용중인 쿼리 조회 (오라클) SELECT A.STATUS -- 상태 , A.USERNAME -- 접속 계정명 , A.SID -- SID , A.SERIAL# -- 시리얼번호 , B.SQL_TEXT -- 실행중인 쿼리 내용 FROM V$SESSION A, V$SQLAREA B WHERE A.SQL_HASH_VALUE = B.HASH_VAL..
-
SQL Developer 메모리 부족 (java heap memory)프로그래밍/DBMS 2022. 8. 30.
SQL Developer 사용중 대량의 데이터를 export 하거나 import할때 메모리 부족이 뜰 때가 있다. SQL 디벨로퍼가 설치된 경로 - ide 폴더 - bin 폴더로 이동 sqldeveloper\ide\bin sqldeveloper\ide\bin 이동해서 ide.conf 파일을 메모장으로 연다. 파일 내용중에 64비트 설정이 있다. (32비트면 32비트 설정 해줄 것.) Xms = 최소 메모리 Xmx = 최대 메모리 전부 원하는 만큼 늘려주면 된다.
-
python - selenium shadow dom 트러블슈팅프로그래밍/Python 파이썬 2022. 8. 3.
홈페이지의 구조가 바뀌어 크롤링이 막혔다. 이에 따른 해결 과정을 기록해 둔다. 문제 : HTML의 구조에 변경이 있음 일반적인 구조에서 shadow-root 이라는 dom이 생성되어져 있음. dom은 일반적인 방법으로는 요소 파싱이나 값을 바꿀 수 없음. 해결 : selenium 라이브러리의 자바스크립트를 사용할 수 있게 해주는 메소드를 이용하여 해당 페이지에서의 HTML 태그 내부 value 값을 바꾸었음. # shadow-root dom 회피 id = "'test'" pwd = "'test'" driver.execute_script("document.getElementsByName('name 태그')[0].value=" + id) driver.execute_script("document.getEle..
-
python - selenium 창 크기 옵션 주의점프로그래밍/Python 파이썬 2022. 8. 3.
셀레니움에 아무 옵션을 주지 않는다면 기본적으로 창 모드로 실행이 됨. 즉 셀레니움의 대상 사이트가 자체적으로 창 크기에 따른 반응형 홈페이지라면 HTML의 내부 요소들이 변경이 됨. 요소 파싱을 할 수 없게될 가능성이 있음. ex) 창 크기를 줄이면 모바일 사이즈로 자동으로 변경되는 사이트 나는 항상 풀 스크린 기준으로 요소의 속성들을 따내기 때문에 옵션에 풀 스크린 옵션과, 윈도우 사이즈 옵션을 기본적으로 주고 시작함. options = webdriver.ChromeOptions() options.add_argument('window-size=1920x1080') # pc용 사이즈 options.add_argument('--start-maximized') # 브라우저가 최대화된 상태로 실행 위 옵션을..
-
의존성 주입할때 생성자 생성을 통해 해야하는 이유프로그래밍/Spring 스프링 2022. 7. 26.
의존성을 주입 할 때 보통 @Autowired를 사용해서 의존성을 주입 했었는데. 솔직히 이렇게 주입하는게 편하다. 괜히 auto가 아님. 간단한 코드이거나 프로젝트의 구성이 복잡하기 않을 경우, 개인 테스트용 프로젝트 에는 크게 상관이 없지만 실무에서 사용할때는 어노테이션을 사용해서 의존성을 주입 하는 것 보다는 생성자를 만들어서 의존성을 주입 하는게 좋다. (물론 실무라고 어노테이션을 사용하면 안좋다는 뜻은 아님.) 어노테이션을 사용한 의존성 주입 @Component public class MadExample { @Autowired private HelloService helloService; } 보통 MVC 구성의 프로젝트에서 Service단을 Controller에서 사용하기 위해서 이러한 구성의 ..