지식메모



보통 파티션은 컴퓨터 관리에서 가능한데

윈도우7에서 하드디스크 파티션 나누기 합치기

https://yonoo88.tistory.com/187


왠걸 SSD 포맷을 하려고 디스크 관리에서 볼륨을 삭제하고 합치려고 했는데 아래와 같은 복구파티션이라는 부분이 삭제가 안됐다

우클릭을 해도 도움말 메뉴만 나오는 상황



이걸 해결하기 위해 CMD를 관리자 권한으로 실행

아래와 같은 명령어를 입력해준다

디스크 0, 디스크 1 구분은 컴퓨터 관리 > 디스크 관리 메뉴에 나오는 걸로 확인하면 된다.


이 과정이 끝나면 복구파티션도 삭제 및 생성 등  파티션 관리가 가능해진다.




다수의 영상이 존재할 때 한번에 영상의 길이를 동일하게 맞추는 방법

다빈치 리졸브 15.2.4 기준





단축키로 공백을 한방에 없애는 꿀팁이 있었따.







영상을 보다보면 종종 아래 사진과 같이 영상과 똑같은 영상을 배경으로 집어넣은 영상이 있다.


다빈치 리졸브 15.2.4 에서 이 기능이 추가되었다









핵심은 Blanking Fill 이라는 효과로 Effect Library 에서 사용할 수 있다. 

Blanking Fill을 끌어다 타임라인에 가져다 놓으면 배경이 삽입되고




우측 상단 OpenFx에서 Blur Background 수치를 조절하여 배경의 흐릿함을 조절할 수 있다



특히 세로영상인 경우 가로영상일 때 양쪽 빈 공간이 생기는데 그럴 때 사용하기 딱 좋은 기능이다.






자동화를 하면 항상 새 크롬창을 띄웠는데 현재 실행 중인 크롬 창에서 실행할 수는 없을까해서 검색해본 결과


무조건 한번은 새로 크롬을 새로 띄워야 한다는 결론에 도달.


그리고 그 크롬에서 적용 할 수 있었다.


첫번째 해야할 것은 (크롬드라이버 다운은 필수)


cmd에서 디버그용? 크롬을 실행시켜야 한다


chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile" 


이걸 cmd에서 실행해보면 크롬이 실행된다.


안된다면 C:\Program Files (x86)\Google\Chrome\Application\ 이 경로로 이동해서 실행해보거나


환경변수에 위 경로를 추가해준다.



이 크롬으로 계속 재활용할 수 있다.


이제 이걸 자바 코드 내에 cmd 실행을 시킨다음 실행해주면 된다.


참고로 코드 내에서 실행할 때는 완전한 경로로 해주어야 실행이 된다.


 Runtime.getRuntime().exec("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe --remote-debugging-port=9222 --user-data-dir=\"C:/selenum/AutomationProfile\"");


위 코드를 먼저 실행해 준 다음


ChromeOptions options = new ChromeOptions();

options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");

driver = new ChromeDriver(options); 


크롬 옵션을 추가해주어 실행된 크롬창을 사용하도록 지정해준다.(9222포트는 위 실행명령어 포트와 동일)



전체적인 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Automation {
 
    private static WebDriver driver;
 
    @BeforeClass 
    public static void setUp() throws Exception { 
        System.setProperty("webdriver.chrome.driver""C:\\chromedriver.exe");
            
        Runtime.getRuntime().exec("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe --remote-debugging-port=9222 --user-data-dir=\"C:/selenum/AutomationProfile\"");
 
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("debuggerAddress""127.0.0.1:9222");
        driver = new ChromeDriver(options);
        
        System.out.println(driver.getTitle());
        driver.manage().window().maximize();
        driver.get("https://www.naver.com");
        
    }
}
cs



 자동화 실행 후 현재 실행중인 크롬에서 확인해보려면  Runtime.getRuntime().exec 코드를 주석처리하고 실행하면 확인해볼 수 있다


주석처리를 안하면 실행할 때마다 새로운 크롬이 생성된다.







셀레니움으로 자동화를 하다보면 작업관리자에 chromedriver.exe가 수두룩하게 누적되어 있는 걸 볼 수 있다


이게 쌓이다보면 메모리를 상당히 잡아먹고 있는데 그래서 자동화가 한번 끝나면 프로세스를 종료하도록 하였다.

셀레니움에서 프로레스를 죽이는 기능이 있다고 하는데 이제 사용하지 않는 기능이라고 문서에 나와있었다




그렇다면 다른 방법으로 메소드를 다시 만들었을 것 같은데 아직 찾지 못했고 일단 급한대로 프로세스 죽이는 코드를 적용했다.



python 파이썬

- cmd에서 pip install psutil 로 설치 필수
1
2
3
4
5
6
7
import psutil 
 
for proc in psutil.process_iter():
    # check whether the process name matches
    if proc.name() == PROCNAME:
        proc.kill()
 
cs



java 자바에서 사용


1
Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T");
cs



자동화 코드 이후에 추가해주면 chromedriver.exe가 없어지는 걸 볼 수 있었다.




영상 도입부에 손글씨 애니메이션을 사용해보고 싶어 유튜브를 검색해본 결과 

손글씨 애니메이션 효과에는 Stroke 라는 기능이 필수적이라는 걸 알게 되었습니다.


Stroke 키워드로 검색해보면 더 자세한 해외 유튜버들의 영상이 있으니 참고 하시면 좋을 것 같습니다.


사실 다 영어라서 영상만 보고 속성으로 익혀서 자세한 건 잘 모르지만

잊어먹을까봐 기록해 둡니다.






https://yonoo88.tistory.com/1210


위 링크에서 만들었던 로그인 창은 암호 입력시 암호가 가려지지 않는다.


암호를 가리기 위해서는 다음 코드가 필요하다.


self.lineEdit_PW.setEchoMode(QtWidgets.QLineEdit.Password)


이 코드를 암호 입력 코드에 추가해준다.





아니면 코드를 추가하지 않고 Qt designer 에서 GUI 를 구성할 때 속성을 변경해주면 자동으로 코드가 추가되어 있다.



echoMode를 password로 변경해주면 다음과 같이 암호가 가려진다.






  1. Kim 2019.01.22 16:53 신고

    파이썬으로 어플개발을 할수있나요?
    어떤책을 봐야할까요..? 시중에 있는 제가 찾는 파이썬으로 앱제작하는 책이 없던데;

    • yonoo88 2019.01.22 16:55 신고

      모바일앱은 못 만들거에요. 피시프로그램만 가능한 걸로 알고 있어요.




다빈치 리졸브 15에서 특정 사물이나 얼굴에 모자이크가 따라다니게 하는 방법입니다.


+ Recent posts