공부/etc
-
[Selenium] AutoCloseable이 없는 이유공부/etc 2023. 2. 19. 23:12
자바의 정석 예외처리 파트를 읽고 있는데, try-with-resources문을 사용하는 것이 좋아보였다. 실제로 이게 좋은 것인가?하고 찾아보니 이펙티브 자바에도 이런 내용이 있어서 개선할 코드가 있으면 직접 수정하는 것도 좋아보였다. 그래서 작년에 했던 산학프로젝트에 ChromeDriver를 try-with-resources로 적용해 PR을 보내려고 했는데, 빨간줄이 나와 내부 코드를 확인해보니 AutoCloseable 인터페이스를 상속하지 않은 상태였다. 기여를 해볼만하다는 생각이 들어서 셀레니움 깃허브에 들어갔는데, 이미 나와 같은 생각을 했던 사람들이 여러명 존재했다. 사실 별 기대조차 안했다. 내가 이걸 발견할 정도면 이미 다른 사람들이 발견했을테니... 이유 1. close() 이름 중복 내..
-
powershell, bash gradlew 한글 깨짐 현상 수정공부/etc 2022. 10. 19. 23:50
IntelliJ에서 터미널을 사용하는중 gradlew와 gradlew.bat을 통해 clean test를 실행하려고 하는데, 평소에 잘 나오던 한글 인식을 못해서 컴파일이 불가능한 현상이 나타났다. 디렉토리 목록을 봐도 한글이 잘나오고, git log를 확인해도 한글이 잘나오는데 gradlew를 실행하니 한글을 못 알아먹는 상태여서 정신이 나갈뻔했다. 이때 나왔던 오류는 unmappable character for encoding MS949, illegal character: '\ufffd' 가 섞여서 나왔고, 출력되어야 할 한글은 반절은 제대로 나오고, 나머지는 물음표로 나왔다. 먼저 구글링을 해보니 powershell 인코딩 자체를 UTF-8로 변경하는 방법을 쓰라는데 적용해봐도 그대로였고, 아래 방..
-
[html2pdf, Java] HTML을 PDF로 변환해주는 오픈소스공부/etc 2022. 10. 13. 18:21
1. Flying Saucer https://github.com/flyingsaucerproject/flyingsaucer GitHub - flyingsaucerproject/flyingsaucer: XML/XHTML and CSS 2.1 renderer in pure Java XML/XHTML and CSS 2.1 renderer in pure Java. Contribute to flyingsaucerproject/flyingsaucer development by creating an account on GitHub. github.com 특징 LGPL-2.1 이상의 라이센스를 사용한다. 2021년 10월부터 업데이트가 끊겼다. HTML → XHTML → PDF 순서로 변환을 해야한다. 장점 LGPL 라..
-
[ChromeDriver] close(), quit() 차이공부/etc 2022. 10. 3. 12:42
산학 알앤디 프로젝트 리팩토링을 하는데, 서버를 실행하면 어느 순간부터 CPU 사용량 99%, 메모리 사용량 99%를 점유하여 컴퓨터가 버벅이는 현상이 발생했다. 그러다가 작업관리자를 실행하여 발견한 것이 이게 CPU, 메모리 99% 사용이 되는 주된 원인은 아니지만 크롬드라이버와 콘솔 창 호스트가 엄청 많이 실행되어서 메모리를 어느정도 잡아먹고 있다는 사실을 발견했다. 왜 많이 실행이 되는 것인지 확인을 해보니 셀레니움을 사용할 때마다 새로운 크롬드라이버가 실행되고 있었고, 셀레니움을 다 사용했으면 관련된 프로그램이 전부 종료가 되어야 하지만, 크롤링할 때 사용된 크롬만 종료되고 크롬드라이버와 콘솔 창 호스트가 닫히지 않은채로 그대로 있었다. 그래서 프로젝트에 분석 시작이라는 버튼을 클릭할 때마다 새로..
-
[WebDriverManger] 웹 버전에 맞는 웹 드라이버를 자동 설치해주는 오픈소스공부/etc 2022. 10. 3. 12:20
산학 알앤디 프로젝트에서 1학기에 진행한 코드를 이해할 겸 리팩토링을 하고 있는데, 크롬드라이버에서 자꾸 오류가 났었고, 에러 메시지를 확인해보니 크롬 버전과 크롬드라이버 버전이 서로 다르다는 내용이였다. 크롬드라이버는 처음 사용해봐서 검색을 해보니 크롬 버전에 맞는 크롬드라이버를 설치해야 했었고, 버전이 다르면 에러가 나온다고 한다. 그러면 지금까지 모두가 같은 크롬 버전을 사용해서 에러가 나지 않았거나, 각자 크롬드라이버를 설치해서 사용했다는 것인데 뭔가 좋은 방법이 없을까 검색해보다가 WebDriverManager라는 오픈소스를 발견했다. https://github.com/bonigarcia/webdrivermanager GitHub - bonigarcia/webdrivermanager: Autom..
-
[FE] 부트스트랩 없이 왼쪽으로 펼쳐지는 드롭다운 메뉴 만들기공부/etc 2022. 9. 12. 12:00
사용한 것: html, css, javascript, jquery OSS 활동을 하면서 Export 버튼 확장 기능을 맡았다. 기능 자체는 매우 간단한 기능이였지만, 여기에 삽질한 시간은 상상을 초월했다. 1. HTML 내용을 설명하자면 지금까지 Export라고 적힌 버튼을 클릭하면 기본적인 엑셀 레포트 파일을 다운 받는 것인데, 변경할 사항은 Export 버튼을 누르면 위 영상처럼 드롭다운 기능을 사용해 excel, rdf, yaml, json 같은 확장자를 선택할 수 있는 선택지가 펼쳐지고, 거기서 선택한 확장자를 클릭해 파일을 다운 받는 것이다. 처음에는 현재 기여할 웹페이지에 관련 기능이 있을 줄 알고, 코드를 재사용하려고 페이지를 샅샅히 살펴봤었다. 하지만 드롭다운 기능을 사용하는 것이 없었고 ..
-
[MySQL] RSA public key is not available client side (option serverRsaPublicKeyFile not set)공부/etc 2022. 8. 23. 23:23
OSS 활동중 프로젝트를 pull할 때마다 mysql 연결 정보가 기본값으로 바뀌면서 해당 에러가 나와 실행이 되지 않습니다. 그래서 맨날 구글링해서 복붙을 하는데, 오늘은 갑자기 제가 복붙하는 내용이 궁금해져서 포스팅을 하고자 합니다. 결과적으로는 ?allowPublicKeyRetrieval=true&useSSL=false 내용을 복붙해서 붙이면 됩니다. spring.datasource.url=127.0.0.1:3306/[database_name]?allowPublicKeyRetrieval=true&useSSL=false 클라이언트와 디비가 통신을 할 때 서로 주고 받는 데이터를 암호화해서 보내게 됩니다. MySQL 8.0부터는 보안이 강화되어 생기게 되는 오류 입니다. 1. allowPublicKey..
-
[html] 태그 정리공부/etc 2022. 7. 24. 13:33
1. HTML, CSS, Javascript 차이 HTML: 텍스트, 이미지, 입력창 등 우리가 웹에서 보는 요소(Element)를 정의할 때 사용함 CSS: HTML에 정의된 요소들에 스타일(색깔, 간격, 크디 등)을 부여 JS: 버튼을 클릭했을 때, API 서버와 통신할 때 등 모든 동작들을 처리함 2. HTML html은 2가지의 큰 구분으로 나눌 수 있다. body ~ 줄바꿈이 일어남 제출할 때 줄바꿈이 일어나지 않음 타이핑한 것이 보이는 입력창 타이핑한 것이 안보이는 입력창 전송이라는 이름의 버튼을 생성 3. CSS 선택자는 스타일을 적용할 대상임. 태그, id, class등을 선택할 수 있음 /* 태그를 선택자로 했을 때 */ p { color: red; } /* 태그를 id로 했을 때 */ ..