안녕
-
이클립스 - heap 메모리 / perm 메모리 부족 해결트러블슈팅 2022. 8. 29.
이클립스가 설치된 폴더 안에 있는데 ini 설정 파일로도 설정이 가능 하지만 이클립스 내부 설정에서 만지는게 관리하기에 더 좋다. ( ini 파일은 만질때마다 다시 로드 해야하는 번거로움이 있음. ) 일단 heap 사이즈 표시를 위해 이클립스 상단 메뉴바에서 Window - Preferences - General 항목에서 Show heap status 체크 그러면 이클립스 하단 메뉴바에 heap size가 표시가 된다. 이제 본격적으로 heap 메모리와 perm 크기 조절을 위해 VM argument를 설정해준다. 설치 및 추가한 서버 설정 페이지를 연다 (Overview) 서버 항목에 있는 서버를 더블 클릭하면 보통 열린다. ( Overview 탭으로 이동해야함 ) 그리고 Open launch conf..
-
프로그래머스 - 실패율알고리즘 2022. 8. 4.
내 풀이 import java.util.Arrays; public class P_41 { public static int[] solution(int N, int[] stages) { int[] answer = new int[N]; double[] rate = new double[N]; // 스테이지 순차 증가 int next_stage = 0; // 총 사용자 수 int total_user = stages.length; Arrays.sort(stages); // 스테이지 정렬 // 실패율 구하기 for(int i=0; i N) { break; } for(int j=0; j
-
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에서 사용하기 위해서 이러한 구성의 ..