Blog

  • 일본 뉴스 클립을 활용한 일본어 학습법

    요즘 취미 삼아 일본어 공부를 하고 있는데, 느낌대로 해 본 받아쓰기 요령을 기록한다.

    일본 홋카이도시의 지역 사건 사고를 알려주는 유튜브 방송을 자주 본다. 뉴스에 쓰이는 일본어는 발음도 좋고, 뉴스는 화면에 전달하는 내용을 적당히 요약해 자막으로 달아 주기 때문에 내용을 이해하기에도 좋다. 그리고 지역 뉴스라 그런지 시민들의 생활에 관련된 내용들을 짤막하게 전달하는 내용이 많아 분량상으로도 참 좋다.

    영상 수집

    우선 소스를 수집한다. 이 때 나는 ‘yt-dlp’라는 프로그램을 사용한다. 커맨드라인으로,

    yt-dlp --force-overwrite \
      -qo "$(date +%Y%m%d).%(ext)s" \
      'https://www.youtube.com/watch?v=d8CrKBU99Hg'Code language: JavaScript (javascript)

    이렇게 한다. 이 때 브라우저로 같이 라이브 방송을 시청한다. 그리고 원하는 분량만큼 녹화했다고 생각하면 중지하자. 이 때 영상이 녹화중인 것과 시청중인 것이 완전히 일치하지 않는다. 적당히 여유를 두어 느긋이 영상을 끊어낸다.

    영상 편집

    수집한 영상 소스에서 내가 할 만한 클립을 적당히 골라낸다. 너무 어려운 주제나, 별로 관심가지 않는 주제, 너무 긴 토픽은 과감하게 제외한다. 많이도 필요 없다. 딱 한 개, 1분 내외로만 하자. 적당한 클립을 찾았다면 그곳의 시작지점과 끝지점의 시간을 기록한다. 그리고 그 구간만 잘라낸다.

    ffmpeg -i <input_video> --ss mm:ss --to mm:ss <output_video>Code language: HTML, XML (xml)

    예를 들어, input.mp4 파일의 03분 10초부터 04분 22초까지 잘라내 output.mp4 파일로 만든다면,

    ffmpeg -i input.mp4 --ss 03:10 --to 04:22 output.mp4Code language: CSS (css)

    이렇게 하면 원하는 뉴스 클립만 깔끔하게 잘라낼 수 있다.

    답안지 생성

    이제 받아쓰기를 준비한다. 아직 초심자이기 때문에, 무작정 듣기만 해서는 효율이 나지 않는다. 먼저 인공지능에게 뉴스를 내용을 들려주고 받아쓰기를 시킨다.

    약간의 요령이라면… 인공지능은 아나운서의 목소리에 조금만 지연이 생기면 듣기를 그만 두는 것 같다. 그러니 좀 불편해도 적당히 부분부분 잘라서 스크립트를 얻는다. 챗지피티를 유료로 쓰면 GPT-4o의 음성 대화를 더 쓸 수 있고 이게 좀 더 편하긴 하다.

    매일매일 챗 프롬프트를 새롭게 만드는 것이 좋다. 챗 프롬프트를 계속 재활용하면 지난날의 스크립트와 지금의 스크립트를 막 뒤섞는 일이 있어 불편하다. 안드로이드 폰 자체의 음성 기록 기능도 나름의 대안이 될 것이다. 아무튼 이 부분은 좀 더 방법을 찾아야 한다.

    듣고 적기

    일단 그렇게 참고 자료를 만든 후, 동영상을 직접 듣고 직접 기록한다. 이 때 펜을 쓰지 않고 컴퓨터로 입력한다. 현재 실력으로는 한자까지 다 수기로 하기에는 너무 힘들다. 공부로서 성립되기 어렵다. 입력기의 자동 변환의 도움을 충분히 받아 최대한 소리를 들어 보고 적어 보는 연습을 해 본다. 지금은 정확히 발음을 캐치해서 히라가나로 정확히 적는 것도 어렵다.

    그저 무한히 반복해서 듣는다고 해서 될 일이 아닌 것 같다. 적당히 듣고, 들어지는 것은 적고, 아무래도 안 들리는 것은 무리하지 말고 빨리 정답지(에 최대한 가까운 것)를 보고 이해하는 것이 나은 것 같다.

    그래도 화면에 해당 뉴스의 내용을 요약한 자막이 뜨기 때문에 뉴스 내용에 중요한 한자 부분들은 참고할 수 있다. 힌트로 삼자. 모르긴 몰라도 듣고 히라가나로 적으면 입력기가 그 한자로 정확히 변환해 주고 있다는 것만 알아도 도움이 되는 것 같다.

    도저히 모르겠으면 인공지능이 생성한 스크립트도 이 때 참고한다. 애초에 생성한 스크립트를 한 번 확인한 다음 듣게 되어 있기도 하고. 이쯤하면 거의 정확한 텍스트를 얻을 수 있다.

    여기에 더해 잘 모르는 것은 여기에 번역기까지 써 본다. 이래저리 한일, 일한 번역을 해 보면 어떤 한자인지, 어떤 발음인지 어지간해서는 알아낼 수 있다! 이렇게 짧더라도 꼼꼼하게 아나운서가 어떤 말을 했는지 눈으로 보면서 정확하기 인지해 본다. 그러면 진짜 들리는 내용이 다르다.

    정리

    이렇게 잘 이해가 되었다면, 학습한 내용을 구글 드라이브에 업로드한다. 이거 나름 고행(?)이라 매일 하기는 조금 부담스럽지만 한 번 해 보면 확실하게 느껴지는 것이 다르다. 요즘은 인공지능이 있어 모르는 것에 대한 부담이 확 줄어든 것이 정말 다르다.

    이 방법은 굳이 일본어에만 국한되지는 않을 것 같다. 어떤 언어든 요즘은 내가 관심만 기울이면, 그리고 AI가 지원하는 언어라면 큰 돈 들이지 않고 공부해 볼 수 있을 것 같다.

    사실 예전에 군대에서 Dido의 ‘Thank You’라는 노래의 가사를 직접 적어보려고 애쓴 적이 있다. 당시 군 내에서 어떻게 인터넷을 쓸 수 있었겠나? 그냥 무작정 들리는 대로 적어보려고 했지만 특정 부분은 미친 듯이 들리지 않더라. 정답지도 없고, CD 플레이어가 나름 구간 반복을 지원해도 불편하고, 그 때의 비효율성을 잘 기억하고 있다. 그에 비하면 지금은 비교도 안 될 정도로 발전되어 있다.

  • PhpStorm 환경설정 단축키가 동작 안하는 문제

    원인은 fcitx 입력기가 Ctrl+Alt+S 키를 선점하였기 때문이다.

    1. Fcitx 구성하기 > 전역 설정 탭으로 이동
    2. 하단 ‘추가 설정 보기’ 체크
    3. 모든 구성 및 입력 기록 저장의 단축키를 해제
      • Ctrl + Alt + s 버튼 클릭하고
      • 단축키 조합 받는 창에서 Esc 누름

    이렇게 하면 PhpStorm 이 올바르게 Ctrl + Alt + s 를 수신받는다. 이상.

  • 리눅스 민트 22 마우스 커서 사라짐 문제 수정

    출처: 리눅스 민트 포럼

    리눅스 민트에서 지속적으로 마우스 커서가 사라지는 문제가 발생한다. 사라지는 마우스 커서는 “Win” 키를 눌러 다시 찾아내곤 하는데, 이게 자주 발생하니 매우 짜증이 난다. 커서가 사라져도 바로 나타나면 좋겠는데?

    포럼을 뒤져 보니 이렇게 하라고 한다. /usr/share/X11/xorg.conf.d/10-amdgpu.conf 파일을 열어 아래처럼 수정한다.

    Section "OutputClass"
    	Identifier "AMDgpu"
    	MatchDriver "amdgpu"
    	Driver "amdgpu"
    	Option "HotplugDriver" "amdgpu"
    	Option "SWCursor" "True" # 이 부분을 추가함.
    EndSectionCode language: PHP (php)

    추가: 그래도 가끔씩 커서가 사라진다. 추천된 다른 방법을 적용한다. /etc/X11/xorg.conf.d/20-amdgpu.conf에 아래와 같은 코드를 적는다. 위 코드는 원래대로 돌린다. 그리고 참조 사이트의 코드를 직접 복사, 붙여넣기 하지 마라. 아래 코드를 복사해라. 참조 사이트는 에러가 있다.

    Section "Device"
         Identifier "AMD"
         Driver "amdgpu"
         Option "SWCursor" "True"
    EndSectionCode language: JavaScript (javascript)

    이것도 딱히 별 효과를 못 보는 거 같은데… 리눅스는 아무튼 고통과 함께 참고 사는 법을 배워야 하는 것이 1번 덕목인 듯.

  • PhpStorm Project 설정 자동화하기 – Part 2

    지난 포스트에 이어 설정 파일을 자동화하기 위한 과정을 계속 기록한다. 리포지터리에 계속 필요한 설정을 하고, IDE의 설정 파일의 변화를 추적한다. 추적된 변경 사항은 따로 .md 파일로 기록한다.

    내가 PhpStorm을 주로 사용하는 용도는 워드프레스 플러그인 또는 테마 개발이므로 워드프레스 코어 루트 디렉토리를 기준으로 한 프로젝트를 생성한 후 여러 자투리 설정을 대상으로 한다.

    많은 반복을 거쳐 자동적으로 기억나는 몇몇 필수적인 아래 요소들을 대상으로 기록을 하였고, 차후 나머지 설정들은 생각나는대로 덧붙일 생각이다.

    • 서버와 XDebug 지원
    • Framework > WordPress 지원
    • 단어 사전 추가
    • 올바른 composer.json 경로
    • 프로젝트에서 제외되는 경로
    • 정적 검사를 위한 PHP 언어 레벨
    • 내가 개발하는 영역에만 코드 검사를 하도록 커스텀 스코프 지정
    • 개발 중인 테마/플러그인에 VCS 경로 지정

    이것들은 주로 workspace.xml 파일에 저장되는데, XML 파일을 적절히 편집할 수 있다면 자동화가 그렇게 어렵지는 않을 것으로 보였다.

  • PhpStorm Project 설정 자동화하기 – Part 1

    PhpStorm을 오랜 기간 사용해 왔고, 그동안 많은 프로젝트를 생성해 왔다. 물론 주로 워드프레스 프로젝트였는데, 셋업만 엄청나게 오래 걸린다. 은근해 해 줘야 할 것이 많기 때문이다.

    이런 설정은 프로젝트 파일의 숨겨진 .idea 라는 디렉토리에 저장되고 나름의 규칙이 있다. 그러므로 매번 일일이 손으로 하기 보다는, 구조를 잘 파악해서 셋업된 대로 자동화 하는 것이 효율적이지 않을까?

    그래서 이번에 큰 맘 먹고 자투리 프로젝트를 해 보기로 했다. PhpStorm 프로젝트 셋업을 자동화하자! 재밌겠다!

    우선 공개된 리포지터리를 생성했다. 그리고 여기에 샘플 PhpStorm 프로젝트를 생성하고, 여기에 원하는 셋업을 한 후에 설정 파일이 어떻게 변화하는지 모니터하고 문서를 첨부하였다.