본문 바로가기

분류 전체보기219

Python 음수 인덱스: line.split('+')[-1] 또는 line.split('/')[-1] 의미 C 언어인 경우 array에 '음수'인덱스는 허용하지 않지만, Python인 경우 음수 인덱스를 허용하고 있습니다. list 나 array와 같은 sqeunce 객체의 인덱스를 음수로 지정하면 마지막 항목부터 접근하게 됩니다. 음수 인덱스는 "마지막 항목"부터 접근하면 다양한 경우에 유용하게 사용할 수 있습니다. 예제 #1 a = (0,1,2,3,4,5,6) a[-1]=6 a[-2]=5 a[-3]=4 a[-4]=3 예제 #2 line = http://abc.example.com/def/ghi line.split('/') → ['abc.example.com', 'def', 'ghi'] line.split('/')[-1] → 'ghi' 예제 #3 line = 'a+b+c+d' line.split('+') →.. 2021. 1. 8.
Python에서 URL 한글 깨짐 현상: quote_plus()와 unquote_plus() Python으로 URL 처리 시 한글이 포함되어 있는 경우 한글 깨짐 현상이 있을 수 있습니다. 이는 URL 처리 시 특수 문자는 포함될 수 없어 ascii로 변환하여 발생하는 현상으로 url.parse 모듈의 quote_plus()와 unquote_plus()를 통해서 해결할 수 있습니다. ※ 만일 quote()와 unqute() 함수로도 한글이 깨져 있다면 인코딩 scheme을 확인해야 합니다. 기본적으로 'utf8'로 인코딩 되어 있는 경우 문제가 없으나, euc-kr이나 cpc-949로 인코딩 된 경우라면 아래 함수 encoding 값을 설정해야 합니다. URL에 한글이 포함되어 있는 경우 Before https://apkpure.com/t-map-%EB%82%B4%EB%B9%84%EA%B2%8C.. 2021. 1. 8.
Python BeautifulSoup으로 만든 Apk download 자동화 (Sample code) 이전 포스팅에서 Python 크롤러인 Selenium으로 https://apkpure.com 사이트에서 Android apk를 package name을 기준으로 apk으로 다운로드하는 방법을 설명하였습니다. [모바일 SW 개발/Android] - 파이썬으로 Apk Download 자동화: Selenium기반의 Apk 크롤러 Python selenium 모듈을 활용 방법은 chrome driver를 사용하고 있기 때문에 ① Chrome 버전 업데이트되면 driver도 같이 업데이트해야 하고 ② apk 다운로드를 완료를 시점을 정확하게 모르기 때문에 일정 시간 동안 sleep()으로 대기를 해야 합니다. 일반적으로 apk 사이즈가 100MB 이하에는 1~2분 안에 다운로드가 완료하지만, 일부 게임은 2GB가.. 2021. 1. 8.
파이썬으로 Apk Download 자동화: Selenium기반의 Apk 크롤러 Android를 개발하다 보면 목적에 따라서 APK를 다운로드해야 하는 경우가 있습니다. Google Play Store에서는 APK 자체를 다운로드할 수 있는 방법은 없고, APK Mirror 사이트를 통해서 다운로드할 수 있습니다. 일반 사용자인 경우에는 Android로 기반의 내비게이션에 APK를 다운로드하고 SD 카드로 복사하여 설치 가능합니다. 본 포스팅에서는 다운로드하고자 하는 APK 의 package name의 list를 기반으로 Python의 selenium과 chrome webdriver를 사용해서 '자동'으로 apk를 다운로드합니다. 이 방법은 APK 뿐 만 아니라 다른 Web site에서 특정 파일을 다운로드하는데 활용될 수 있습니다. 참고로, 다운로드한 apk를 상업적인 목적이나 추.. 2021. 1. 8.
IKnowWhatYouDownload.com에 대한 Torrent 개인 정보 노출 방지법: Socks5 및 익명모드 토렌트는 Peer to Peer 방식으로 파일 공유 방식을 제공합니다. 특정 서버에 파일을 다운로드하는 것보다 토렌트로 다운로드하는 것이 더 빠른 경우도 있고, 큰 게임이나 OS 자체를 토렌트 파일로 배포하기도 합니다. 토렌트 자체를 사용하는 것은 불법이 아니지만, 토렌트를 통해서 저작권이 있는 파일을 배포하거나 불법적인 영상을 공유하는 것은 명백한 불법이니 주의해야 합니다. 토렌트 다운로드 시 개인 정보가 유출됨 다른 큰 문제점은 토렌트 파일을 다운로드하는 것 자체만으로도 사용자 동의 없이 개인 정보가 특정 서버에 의해서 수집, 검색되고 있습니다. 문제의 사이트는 IKnowWhatYouDownload.com이며 수집하는 정보는 ① 개인별 IP 주소와 다운로드한 토렌트 파일과 ② 특정 파일별 다운로드 통.. 2020. 12. 31.
광고 없는 Android 토렌트 앱: LibreTorrent 토렌트는 BitTorrent Inc. 에서 관리, 개발하고 있는 Peer to Peer(P2P) 방식의 파일 파일 공유 방식입니다. P2P 방식은 서버를 거치지 않고 클라이언트끼리 직접 통신하는 방식이다. P2P 방식이라 특정 서버에 종속되지 않고, 파일을 가지고 있는 클라이언트가 많다면 충분히 빠른 속도를 보장할 수 있습니다. 토렌트 클라이언트 운영체제에 상관없이 많은 프로그램이 개발되어 있습니다. uTorrent 나 BitTorrent 등 많은 프로그램이 있고, Android에서도 많은 클라이언트가 있습니다. 대부분의 토렌트 프로그램이 광고를 포함하고 있거나, 스팸 등 비 정상적인 행동(?)을 하는 경우가 많아서 광고도 없고 오픈 소스로 개발된 프로그램인 LibreTorrent를 설명하고자 합니다. .. 2020. 12. 30.
라이딩 앱 Strava API 사용해보기: Webhook 구현 Webhook 이란 Webhook은 'user-defined http callback'으로 서버에서 데이터 변경이 발생한 경우 클라이언트로 변경 사항을 알려주는 메커니즘입니다. 서버에서 데이터 변경이 있을 경우 사용자가 등록한 Trigger URL(callback url)을 호출하는 방식을 사용합니다. Webhook의 유용한 점은 서버에서 데이터 변경 시점을 알려주시기 때문에 클라이언트에서 주기적으로 서버 데이터를 체크하는 Polling을 사용하지 않아 데이터 Traffic을 줄일 수 있고, Polling으로 인한 서버 부하를 줄일 수 있습니다. Webhook 이란 (출처: 위키 백과) A webhook in web development is a method of augmenting or altering.. 2020. 12. 26.
라이딩 앱 STRAVA API 연동 방법 (Sample code) STRAVA는 전 세계적으로 유명한 자전거 기록 어플입니다. 자전거 이외에 달리기, 사이클, 등산, 테니스 등 많은 운동에 대한 활동량 기록(Activity Record)을 지원합니다. 활동량 기록은 SNS를 통해서 공유 가능하고, 상대 기록과 순위를 볼 수 있습니다. 최근 한국에서도 많은 자전거 매니아 분들이 사용 있으며, 특히 유럽과 미국에서 상당한 수의 사용자를 가지고 있습니다. STRAVA에서는 운동 기기나 스마트 와치를 직접 연동을 하지는 않지만, 각종 운동 데이터를 연동을 통해서 데이터를 수집하고 있으며, 무료/유료 서비스로 활동량 분석에 대한 분석 데이터를 제공합니다. STRAVA가 제공하는 서비스는 REST API 형태로 공개하고 있어 STRAVA 서버에서 데이터를 얻어와 자신만의 웹 페이.. 2020. 12. 26.
티스토리 블로그에서 구글 서치 콘솔 CLS(0.25 초과)문제 해결법 CLS 0.25 초과 문제 현상 확인 티스토리 블로그를 구글 서치 콘솔에 등록하고 특별한 문제없이 잘 사용하고 있었습니다. 그동안 구글 검색 실적이 꾸준히 증가하다가 지난주 금요일부터 검색 실적이 '반토막'이 나서 주말 내내 문제점을 확인하기 시작했습니다. 구글 서치 콘솔에 접속해서 '핵심적인 웹 지표'를 확인해 보니 모바일 웹 페이지의 오류 URL이 137개나 되었고, 모든 오류가 "CLS 문제:0.25 초과" 문제였습니다. CLS 문제의 세부 사항을 확인하기 위해서 아래와 같이 ① 문제 URL을 클릭, ② 오른쪽 '세부 사항 예시'를 선택하면 문제가 되는 URL을 표시하고 PAGESPEED INSIGHTS에서 해당 웹 페이지를 성능을 확인할 수 있습니다. PAGE SPEED INSIGHTS에서 웹 페.. 2020. 12. 20.
회사에서 방화벽으로 막혀 있는 사이트 우회 방법: SSH tunneling 과 Socks5 활용 회사 보안 정책으로 인하여 비업무 사이트, 특정 커뮤니티 등이 방화벽에 의해서 막혀 있는 경우 이를 우회하는 방법을 설명합니다. 일반적으로 회사 보안 정책이 강하더라고 인터넷 포트(80, 443)와 SSH 포트(22)의 Outbound는 허용하고 있는 경우가 많아 이를 전제로 방화벽 우회하는 방법을 설명합니다. 방화벽을 우회하는 방법은 기본적으로 Proxy 서버나 VPN 서버를 활용하는 것입니다. 무료 Proxy, VPN 서버를 제공하는 상용 서비스도 많으나 개인 정보를 판매한다는 소문(? 링크)도 있어, 직접 Google Cloud나 Oracle Cloud의 VM (Virtual machine)에 Proxy server를 설치할 예정입니다. Goolge Cloud에서 http/https proxy 서버.. 2020. 12. 17.
외부 망에서 Localhost를 접속하기: ngrok (일부 무료) 집에 있는 로컬 PC를 외부 인터넷 망에서 http 또는 https로 접속하는 방법은 공유기에 포트 포워딩을 설정하는 방법을 많이 사용했습니다. 공유기 포트 포워딩 설정보다 간단하게 외부 인터넷망에서 로컬 PC로 접속하는 방법을 제공하는 ngrok을 설명하도록 하겠습니다. 개발 목적으로 임시로 domain을 할당을 받거나, WebHook을 테스트할 때 유용합니다. 현재는 ngrok은 오픈 소스로 개발되는 툴이 아니고, 유료 서비스로 무료 서비스인 경우 일부 기능에 제한이 있습니다. 1. ngrok 이란 ngrok는 NAT 및 방화벽 뒤에 있는 로컬 서버를 보안 터널을 통해 공용 인터넷에 접속하는 방법을 제공합니다. snap의 ngrok 설치 페이지에서는 아래와 같이 설명되어 있습니다. ngrok: Sec.. 2020. 12. 16.
외부 망에서 Localhost를 접속하기: localtunnel (무료, domain제공) 이전 ngrok 포스팅에서 언급한 것처럼 내부망 PC의 Localhost를 외부 인터넷 망에 노출하는 방법으로 ngrok는 사용할 수 있습니다. ngrok의 단점은 무료 계정 사용자에 대해서 재 시작할 때마다 sub-domain 이름이 랜덤하게 설정되어 매번 URL을 변경해야 하는 불편함이 있습니다. 이러한 ngrok의 단점을 보안할 수 있는 대안은 www.softwaretestinghelp.com/ngrok-alternatives/에 자세하게 설명되어 있고, 이 중에서 Localtunnel을 사용해보기로 했습니다. Localtunnel: 무료, sub-domain name 지원 Serveo : 현재 접속 안됨 Teleconsole : ssh sharing에 적합. ssh tunnel를 통해서 http .. 2020. 12. 15.
무료 REST API 테스트 프로그램: Postman (설치, 활용법) RESP API를 사용하는 클라이언트를 개발하는 경우 서버와의 API 인증과 동작을 먼저 확인 후 파이썬, 자바, NodeJS, PHP 등의 언어로 소스 코드를 작성하는 경우가 많습니다. 이러한 목적으로 전통적인 curl을 사용하여 다양한 옵션으로 API를 테스트할 수 있지만, command line 기반의 툴이기 때문에 많은 '타이핑'이 필요합니다. Postman은 REST API 설계, 개발, 테스팅하는 GUI 툴로 개발 생산성을 높여주는 프로그램입니다. 윈도우 뿐 아니라, 리눅스와 macOS의 설치 프로그램을 지원하며, Web 환경 하에서도 Web Postman 사이트를 통해서 로컬 PC의 설치 프로그램과 동일한 기능을 사용할 수 있습니다. 여러 개의 PC를 사용하는 경우 Web Postman은 유.. 2020. 12. 5.
Python: 날짜와 시간 처리 함수(현재 날짜, 어제 날짜, UTC 시간) Python에서 날짜와 시간을 처리하는 datetime 모듈을 제공합니다. 현재 날짜와 시간 구하기 import datetime today =datetime.datetime.now() → 2020-11-29 21:21:22.933386 d1 = today.strftime("%Y%m%d") → 20201129 어제 날짜와 시간 import datetime today =datetime.datetime.now() → 2020-11-29 21:21:22.933386 yesterday = today - datetime.timedelta(1) → 2020-11-28 21:21:22.933386 d2 = yesterday.strftime("%Y%m%d") → 20201129 timedelta 함수 (출처: Ptyho.. 2020. 11. 30.
Python: xmltodict를 활용하여 XML를 JSON으로 변환하는 방법 일반적으로 REST API를 사용할 때 JSON을 많이 사용하고 있지만 일부 사이트는 XML 포맷을 사용해서 결과를 내려주고 있습니다. 본 포스팅은 XML을 읽어 JSON형태로 변환하는 방법을 설명합니다. Python에서는 XML 처리를 위해서 Elementary Tree를 지원하고 있습니다. 이는 tree구조로 데이터를 읽어 Dictionary 데이터 타입 대비해서 코드의 양이 다소 증가하게 됩니다. 기존 포스팅에서 설명을 했기 때문에 xmltodict 모듈 사용하도록 하겠습니다. xmltodict모듈은 아래 github 사이트와 참조 링크를 확인해주세요. Python xmltodict 모듈 사용이 필요한 경우: XML 을 JSON으로 변환할 때 사용 REST API 중 일부는 XML로 결과를 내려주는.. 2020. 11. 26.
공공 데이터 Open API 사용법: 코로나 확진자 현황 API (sample code) 공공 데이터 포털(Data Portal)은 행정안전부에서 운영하는 대기환경, 도로명 주소 서비스, 코로나 현황 등의 공공데이터를 REST API로 제공하는 시스템입니다. 대한민국 정부에서 운영하기 때문에 공공데이터 포털 사이트에서 아이디만 만들면 손쉽게 API를 사용할 수 있으며, '무료'로 사용 가능합니다. 정부부처 및 산하기관에서 발행하는 백서, 주제별 전문가가 선정한 최신 이슈와 관련된 지식, 지역/분류체계/제공기관/활용방법 별 공공데이터 개방 현황 등이 제공됩니다. 2020년 11월 현재 6,300개의 API와 36,384개의 파일 데이터를 제공합니다. 공공 데이터를 이용하는 절차는 아래와 같습니다. 사이트 회원 가입 API 분류 검색 API 사용 신청 및 API key 확보 API 호출 및 사용.. 2020. 11. 25.
티스토리 블로그 글을 구글 디스커버에 노출시키는 방법 구글 디스커버(Discover)는 구글 뉴스 앱이나 스마트 폰 오른쪽에 위치한 Feed에서 확인이 가능한 기능입니다. 구글 검색은 사용자가 적극적으로 키워드를 입력하면 원하는 결과를 찾아주는 서비스라면, 구글 디스커버는 사용자에 알맞은 내용을 구글이 먼저 추천하는 뉴스 피드 서비스입니다. 본 포스팅은 티스토리 블로그 글이 구글 디스커버에 노출된 경험을 소개합니다. 구글 문서에 의하면 디스커버와 웹 사이트 관련해서 아래와 같이 소개하고 있습니다. 출처: 구글 링크 구글 검색과 디스커버 차이점: Google 검색에서는 검색어를 입력하여 검색어와 관련된 유용한 정보를 찾지만 디스커버에서는 다른 방식이 사용됩니다. 디스커버는 검색어에 대한 결과를 표시하는 대신 Google의 자동화된 시스템에서 사용자의 관심분야.. 2020. 11. 23.
우분투 20.04에서 nVidia HDMI 소리 송출 안되는 문제 해결 방법 우분투 20.04에서 nVidia graphic 드라이버가 기본으로 설치되어 있지 않습니다. nVidia Graphic 드라이버 설치 후에 HDMI를 통해서 사운드를 송출할 수 있으나, 가끔 사운드가 드라이버가 올라가 있지 않는 경우가 있습니다. 본 포스팅은 이에 대한 해결 방법을 설명합니다. HDMI 사운드 송출 안 되는 현상 확인 우분투의 시스템 설정의 소리 메뉴에서 출력 장치를 확인을 하면 '내장 오디오'만 설치되어 있다. 이전에 nVidia 드라이버를 설치가 되지 않은 상태라면 nVidia 드라이버를 먼저 설치하면 해결됩니다. nVidia 그래픽 드라이버를 설치한 상태에서도 HDMI 사운드가 송출되지 않는다면 nVidia Sound 커널 모듈을 비정상적으로 로딩된 상태입니다. 제 경우 (우분투 2.. 2020. 11. 22.
CentOS 7에서 SW 개발용 패키지 설치 명령어 CentOS는 리눅스 배포판 중 하나로 Community Enterprise Operating System의 약자입니다. 현재 버전은 8.1까지 배포되었고, 안정적인 버전인 7.0 버전을 많이 사용하고 있습니다. 리눅스 서버의 1위인 RedHat기반으로 만들어진 리눅스 배포판으로 RedHat은 유료 버전인 반면 CentOS는 무료로 배포하고 있습니다. CentOS는 웹 호스팅 업체와 많은 회사에서 상용 서비스의 OS로 많이 사용하고 있어, 우분투에서 개발한 프로그램을 CentOS에서 확인하는 과정이 필요했습니다. 우분투에서 docker의 CentOS 이미지로 container를 설치하고 C언어와 파이썬으로 개발한 소프트웨어를 빌드했습니다. 이 과정에서 필요한 패키지는 아래 명령어로 설치가 가능합니다. $.. 2020. 11. 11.
21:9 모니터 사용 시 화면 분할 기능 사용하기 (우분투, 윈도우10) 제가 최근에 구입한 모니터는 3440x1440(Ultra WQHD) 해상도로, 일반 16:9 모니터와 비교하면 옆으로 길게 늘어진 화면을 가지고 있어 윈도우 2개를 띄우고 작업하기 딱 좋은 사이즈입니다. 모니터 2개를 사용하는 경우 창 크기를 윈도우 사이즈에 맞춰주는 기능을 OS에서 기본적으로 지원하지만 하나의 모니터에서 화면의 크기에 맞게 윈도우 분할하는 기능이 단축키로 숨겨져 있습니다. 본 포스팅은 넓은 화면을 가지 모니터에서 화면을 나눠서 사용하는 방법을 설명합니다. 아래 동영상은 21:9 모니터에서 우분투의 화면 분할 기능을 사용하는 사례입니다. 프로그램을 실행하여 오른쪽으로 배치 또는 왼쪽으로 배치하고 작업 공간을 상/하로 추가하는 사용 예시입니다. 본 동영상에 사용된 단축키 리스트는 아래 테이.. 2020. 11. 11.
Website 전체 백업 방법: HTTrack (티스토리 백업에 활용) 웹 사이트에 있는 html, images, javascript 등의 파일을 PC에 백업할 때 사용할 수 있는 툴인 HTTrack 를 소개합니다. HTTrack 은 웹사이트를 GPL 라이선스의 오픈소스로 개발하고 있으며 우분투, 윈도우, Mac 등의 여러 OS에서 무료로 사용할 수 있습니다. HTTrack은 URL을 입력하면 링크를 분석하여 웹 상에 있는 파일(이미지, JS 파일, 첨부파일)을 모두 다운로드하고 폴더 구조까지 '그대로' 컴퓨터로 저장합니다. 컴퓨터에 저장된 파일은 인터넷 브라우저를 통해서 백업한 내용을 원형 그대로 확인할 수 있습니다. 각 문서에서 연결된 링크 또한 로컬에 저장된 문서로 변경됩니다. 한 가지 주의해야 할 점은 웹 사이트 링크 개수에 따라서 백업 시간이 오래 걸립니다. 예를 .. 2020. 11. 2.
파이썬 Selenium을 활용한 네이버 서치어드바이저 URL 입력 '자동화' 티스토리 블로그는 네이버에서 검색 노출 빈도가 구글이나 다음 대비 상대적으로 떨어지는 것이 사실인 것 같습니다. 네이버 검색 엔진에 노출도를 향상시키기 위해서 티스토리 블로그를 네이버 서치 어드바이저에 등록을 하고 계실 것입니다. 네이버 서치 어드바이저에서 블로그 사이트를 등록하고 사이트 맵을 제출 하면 네이버 검색 로봇이 블로그에 방문하여 주기적으로 웹 페이지를 수집하지만, 간혹 수동으로 네이버 서치 어드바이저에 웹 페이지 수집을 요청하는 경우 URL을 '하나씩' 입력해야 해야 합니다. 실제 네이버에서 블로그를 검색해보면 오래된 게시글은 네이버 검색에서 제외되는 경우가 있다고 합니다. 실제 제 블로그에도 수입 현황을 보면 이유는 알 수 없지만 색인 생성수가 줄어드는 현상이 있습니다. 따라서 네이버 검색.. 2020. 11. 1.
윈도우10 로그인 시 Win32Bridge.Server.exe 에러 발생 시 조치법 Windows 10에서 로그인 시 아래와 같이 Win32Bridge.Server.exe 에러 팝업이 발생하는 경우에 대한 조치법입니다. 현상: Win10에서 로그인 시 Win32Bridge.Server.exe 에러 팝업 조치법 1: Cortana 관련 에러로 작업 관리자의 시작 프로그램에서 해당 서비스를 Disable 합니다. CTRL+ALT+DEL 키로 '작업관리자'를 실행 작업관리자에서 '세부 정보' 보기 '시작 프로그램'에서 Cortana 선택하고 마우스 오른쪽 키 선택하여 '사용 안함' 으로 변경 조치법2: 앱 및 기능에서 Cortana 데이터 초기화 (시스템 설정 - 앱 및 기능 - Cortana 고급설정 - 데이터 초기화) 시스템 설정에서 앱 및 기능 선택 Cortana '고급' 옵션 선택 데.. 2020. 10. 26.
티스토리에서 테이블 편집 방법: 가로, 세로, 외곽선, 복잡한 테이블 만들기 티스토리 에디터에서 글을 작성하다 보면 테이블을 삽입하는 경우가 많습니다. 티스토리 에디터에서 테이블의 크기를 조절하는 방법을 2가지 방법이 있습니다. 기본 모드에서 테이블의 선을 누른 상태에서 셀의 가로, 세로 크기를 조절 HTML 모드에서 html을 수정하는 방법 마우스로 조정하는 것은 원하는 크기를 실시간으로 보면서 조절하기 때문에 직관적입니다. 사실 포스팅을 준비하면서 마우스로 표 크기 조절이 가능하지 알았습니다. 그 전에는 에디터 기본 값으로 설정된 크기만 사용했습니다. Html을 의 style을 조정하는 경우는 html와 CSS를 활용해서 티스토리 에디터에서 지원하는 않는 복잡한 테이블 스타일까지 적용할 수 있습니다. HTLM으로 테이블 편집 사례 Table 크기와 Boarder 크기 조정: .. 2020. 10. 17.
IP Address CIDR 표현법과 사용 예 Google Cloud나 Oracle cloud에서 방화벽 설정 시 아래와 같이 소스 IP 주소의 범위를 CIDR 표기법으로 사용합니다. GCP에서 CIDR 사용 예 CIDR 표기법이란 위키 백과에서는 CIDR은 아래와 같이 정의하고 있습니다. 출처: 위키 백과 사이더(Classless Inter-Domain Routing, CIDR)는 클래스 없는 도메인 간 라우팅 기법으로 1993년 도입되기 시작한, 최신의 IP 주소 할당 방법이다. 사이더는 기존의 IP 주소 할당 방식이었던 네트워크 클래스를 대체하였다. 사이더는 IP 주소의 영역을 여러 네트워크 영역으로 나눌 때 기존 방식에 비해 유연성을 더해 준다. 특히 다음과 같은 장점이 있다. . 급격히 부족해지는 IPv4 주소를 보다 효율적으로 사용하게 해.. 2020. 10. 13.
ffmepg 에러: trun track id unknown, no tfhd was found MPEG4 DASH 파일을 ffmpeg으로 처리 시 발생하는 에러입니다. 에러 메시지:[mov,mp4,m4a,3gp,3g2,mj2 @ 0000013e88baca00] could not find corresponding trex (id 1) [mov,mp4,m4a,3gp,3g2,mj2 @ 0000013e88baca00] could not find corresponding track id 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000013e88baca00] trun track id unknown, no tfhd was found [mov,mp4,m4a,3gp,3g2,mj2 @ 0000013e88baca00] error reading header video.m4s: Invalid data fou.. 2020. 10. 12.
우분투 20.04에서 Grub 편집: grub-customizer 와 Grub theme 설정 리눅스와 윈도우 등의 멀티 OS 부팅 환경에서는 Grub는 기본 설치되면 이를 통해서 부팅 시 OS를 선택할 수 있습니다. 예를 들어, 우분투 20.04와 윈도우 10 멀티 부팅 환경에서는 아래와 같이 5개의 메뉴가 기본으로 생성되고 부팅 시 우분투와 윈도우를 선택할 수 있습니다. 본 포스팅은 Grub 설정을 보다 쉽게고 이쁘게하는 방법에 대해서 설명합니다. ※ Grub (GRand Unified Bootloader)란 (출처: 나무위키) GNU 프로젝트의 부트로더이다. (중략) LILO(LInux LOader)와는 달리 리눅스에 한정되지 않고 다양한 운영 체제를 지원한다. 일명, 멀티 부트로더. 부트로더가 커널의 하드 디스크상의 물리적 위치를 알고 있어야 하는 LILO와 달리, 단지 파일명과 커널이 위.. 2020. 10. 1.
OneDrive를 활용한 파일 공유 방법: URL 생성 및 삭제 방법 최근 코로나 때문에 재택 근무나 원격 수업을 많이 진행하고 있습니다. 예를 들어, 원격 수업에서 선생님이 수업 내용을 동영상으로 만들고 이를 학생들에게 공유하고자 하는 경우 Microsoft Office 365의 One Drive를 활용하여 쉽게 파일을 학생들에게 공유할 수 있습니다. OneDrive에서 파일 공유는 인터넷 상의 URL을 생성하기 때문에 인터넷 연결이 가능한 PC나 스마트 폰만 있으면 특별한 프로그램 설치가 없이 누구에게나 쉽게 공유하는 것이 가장 큰 장점입니다. 또한 파일 변경 내용이 실시간으로 반영되기 때문에 업데이트 또한 간단합니다. OneDrive로 파일 공유 시 장점은 아래와 같습니다.OneDrive로 파일 공유 시 장점폴더/파일은 URL로 공유되며, 인터넷 연결 가능한 PC나 .. 2020. 9. 30.
Windows 10에서 한글 오타 발생 시 조치법 Windows 10 최신 업데이트에서 Microsoft 한글 IME가 최신 버전으로 업데이트 되었습니다. MS에서 개발하고 있는 한글 IME가 아직까지는 각 앱들과의 호환성을 100% 확보하지는 못 한 것 같습니다. Windows 10에서 Microsoft 한글 IME 오류가 발생하는 경우 아래 방법으로 조치 가능합니다. Test 버전: Windows 10 2004 (Build ID 20190) 제가 사용하는 버전은 MS Official release의 2004 버전은 아니며, 개발자 Preview 버전으로 Build ID 20190 버전에서 발생하는 문제점입니다. 공식 Release 버전에서 수정되기 희망합니다. 현상: Windows 10에서 한글 입력 시 간헐적으로 마지막 글자가 없어짐 (e.g. 가.. 2020. 9. 6.
Oracle Cloud SSH Key 여러 개 등록하기 (여러 PC에서 Cloud Access) 오라클 클라우드를 집에서 하나의 PC에서만 SSH 원격 접속을 하다가 다른 PC에서 SSH 접속해야 하는 상황이 생겨 삽집(?)을 했던 내용을 정리해서 포스팅합니다. Google Cloud에서는 GCP 콘솔에 접속해서 SSH Key을 여러개 등록이 가능하고, Web 상태에서 SSH 터미널을 지원합니다. 하지만 Oracle의 경우에는 Web UI의 클라우드 콘솔에서는 '하나'의 SSH KEY만 등록 가능합니다. 오라클 인스턴스 메뉴에서 콘솔 접속 메뉴를 확인하면 '콘솔 접속 생성' 메뉴는 SSH Key가 입력된 상태에서는 다른 키가 추가가 불가능하도록 비활성화되어 있습니다. 오라클 클라우드에서는 Web UI 대신 VM Instance에 접속해서 authorized key 파일에 다른 PC의 SSH Key를.. 2020. 9. 4.