본문 바로가기

분류 전체보기

(689)
[보강 필요] Selenium 기타 예제 [1. 개요] 상황 별, 예제를 정리하도록 한다. Javascript 실행. 키보드 이벤트 발생 마우스 이동? [2. 예제1] 특정 컴포넌트를 찾고, 해당 컴포넌트의 값 변경하기 from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() url = 'https://www.naver.com/' driver.get(url) anyElem = driver.find_elements(By.CLASS_NAME, "MyView-module__login_text___G0Dzv") driver.execute_script("arguments[0].innerHTML = 'HELLO_WORLD'", a..
Selenium 시작하기 [1. 개요] 웹 자동화를 위한 프레임워크. 자바 스크립트에 의해 동적으로 생성된 정보를 다룰 수 있다. 웹 크롤링 등, 웹 페이지에서 일부 업무를 자동화 할 수 있다. [2. 개발 환경] OS : Windows 10 Language : Python 3.5.0 [3. 설치 과정] pip install selenium # 관리자 권한에서 실행 PC 에 설치 된 Chrome 버전 확인 # 121.0.6167.185 # 같은 크로니움 엔진을 사용하지만, Whale 브라우저에서는 안됨. 버전에 맞는 Chrome driver 다운로드 # https://chromedriver.chromium.org/downloads/version-selection # 최신 버전은 아래 링크 참조 ## https://googlech..
tauri, command 와 event 예제 [1. 개요] tauri 에서 command 는 js 에서 rust 함수를 호출하게 할 수 있다. 반대로, rust 에서 js 함수를 직접 호출하게 할 수는 없지만(?) js 에서 listen 중인 event 를 발생시켜, rust 에서 원하는 시점에 js 에 함수를 간접적으로 호출하게 할 수 있다. [2. 예제] js 에서 rust 함수 호출하기 app 에서 버튼 클릭 시, rust 에서 필요 시, js 로 event 발생 mkdir tauri-test cd tauri_test cargo tauri init # 적절히 입력. # 아래 그림 참조. mkdir ui 이 과정을 거치면 프로젝트는 아래와 같은 구조가 된다. tauri-test\ src-tauri\ ui\ 이제 ui 폴더에 아래와 같은 파일과 ..
[JS] 간단한 예제1 [1. 예제 설명] JS 에서 배열 및 element 생성 및 body 에 추가하기. JS 에서 에 option 추가하기. => 기타 event 처리 JS 에서 에 내용 채우기 => 개행 처리? [2. 예제-1] // main.js // Array const texts = ["Hi", "Hello", "Bye", "Morning", "Evening"]; window.addEventListener("DOMContentLoaded", (event) => { console.log(event); const myul = document.createElement("ul"); for (let i=0; i { console.log(event); const m_select = document.createElement("..
encoding, decoding 관련 crate [1. 개요] [2. 예제] [3. 참조] https://crates.io/crates/encoding_rs https://docs.rs/encoding_rs/latest/encoding_rs/
std::process::Command 관련 [1. 개요] rust 에서 윈도우/리눅스 명령어를 사용하고, 그 결과 등을 캡쳐 할 필요가 있을 때 std::process::Command 를 사용하여 원하는 작업을 할 수 있다. 여기서는 ssh2 에서 처럼 작업을 수행하고, 블로킹 되는 것 없이, 현재 진행 중인 작업 중인 로그를 출력하고, 자식 프로세스의 Exit code 를 받아오도록 한다. [2. 예제] [3. 참조] https://doc.rust-lang.org/std/process/struct.Command.html
[좀 더 작성, 콜 스택 부분] Windows, c++, CallStack [1. 개요] __try ~ __except 를 이용해서 예외 상황 발생 시, 그 처리에 대해서 정리하였고, 여기에서는 예외 상황 발생 시 디버깅을 위한 Call stack 을 남기는 방법을 정리하도록 한다. [2. 예제] 출력 [3. 설명] 먼저 예외가 발생한 위치(주소) 는 GetExceptionInformation() 을 통해 반환 된, _EXCEPTION_POINTERS 에서 ExceptionAddress 를 통해 확인 할 수 있다. 여기서 이 주소를 포함하는 함수를 호출 한 곳으로 되돌아 가야 하는데, 이에 대한 정보는 EBP 레지스터 값을 통해 알 수 있다. 따라서, EBP 레지스터 값이 return address 가 되는 것이다. IsBadCodePtr() 은 인자로 전달 받은 주소가 읽기 ..
ssh2 관련 [1. 개요] rust 에서 ssh 라이브러리 사용 시, 필요 했던 점 정리한다. 필요한 기능 ssh 로 원격 작업 수행 블로킹 되는 것 없이, 실행 로그를 실시간 출력 원격 작업 종료 후, Exit code 를 받는 것 까지 [2. 예제] [3. 참조] https://crates.io/crates/ssh2 https://docs.rs/ssh2/latest/ssh2/
copy 명령어에 대해서 [1. 개요] samba 로 연결된 서버에서 특정 키워드를 갖는 파일 이름으로 갖는 1천여개 이상의 파일을 복사해올 필요가 있었다. cmd 에서 작업을 진행했는데, 복사한 파일이 원본 파일보다 바이트 수가 낮은 문제가 있었다. [2. 해결] 당시 사용한 명령어는 아래와 같다. for /F %a in ('type tclist.txt') do copy "외부 파일경로"\%a_* " 내 파일 경로" 여기서 copy 에 옵션을 추가하였다. copy /b 대상이 이진 파일임을 명시한다. /b 옵션이 없으면 텍스트 모드로 여는지 까지는 확인해보지 않았지만, 문제는 해결 할 수 있었다.
Rust, tauri 개발 환경 설정 [1. 개요] Rust 로 gui 애플리케이션이 만들필요가 있을 때, 유용함. 공식 사이트에 소개된 tauri 장점 https://tauri.app/ 다중 플랫폼 배포를 위한 최적화되어 있고, 안전하며, 프론트엔드 독립적인 앱을 구축가능. 운영체제의 기본 웹 렌더러를 사용하여 Tauri 앱의 크기는 600KB보다 작아질 수 있습니다. Rust로 구축 가능 [2. 개발 환경 설정] Windows 를 기반으로 정리 rust 는 이미 설치되었다고 가정. cargo install create-tauri-app --locked # cargo-create-tauri-app.exe 가 Rust 가 설치된 곳에 위치하게 된다. # os 에 맞는 prerequisites 를 설치 # https://tauri.app/v1..