본문 바로가기

terminal

OSX 스크린샷 기본 포맷 변경 jpg,png,gif,tiff,pdf | how to change ScrreenShot Image format to jpg,png,gif,tiff,pdf on OSX 맥을 사용하다 보면, 스크린샷을 찍어 활용할 경우가 허다하다. 그런데, OSX의 기본 스크린샷 포맷은 png 이다. 경우에 따라서 다른 형태로 변환을 할 필요가 생기는데 OSX 자체적으로 손 쉽게 이미지 포맷을 변환해서 스크린샷을 찍을 수 있다. 아주 간단히 터미널 명령어 하나만으로도 가능하다. 기본 터미널 명령어는 아래와 같다.defaults write com.apple.screencapture type 포맷 && killall SystemUIServer포맷 위치에 png, jpg, gif, pdf, tiff 등 다양한 형태의 이미지 포맷을 넣고 터미널에서 실행을 하면, 촬영하는 스크린샷은 해당 이미지 포맷 형태로 뱉어내어 준다. 물론 확장 포맷에 따라 화질의 차이가 있을 수 있으니 이는 사용자의 판단.. 더보기
How to check the length of a media file on bash - bash 를 이용한 동영상 파일 길이 알아내기. There are several methods to do that. I'd like to post one of the easiest way how I can find out the length of a video(media) file by using. First of all, you need to install 'FFMPEG' with homebrew on mac (if you are using it). if you don't know how to install homebrew on MAC, you can check it on my blog link below [MAC TIP] Mac에 Homebrew 설치하기 Here we go~, Something similar to:ffmpeg -i input 2>.. 더보기
Web Crawler 003 - 링크 찾기 및 삭제하기 (Adding and deleting links) 이번에는 기본 URL 에서 크롤링 하려고 찾은 링크들을 파일에 저장을 하려고 합니다. 멀티 프로세싱 혹은 멀티 쓰레딩 작업을 통해서, 하나의 과정은 링크를 찾아 파일에 넣어 저장하고, 다른 하나의 과정은 이렇게 찾은 링크들을 크롤링하게 하려고 합니다. 여기에서 찾은 링크를 파일에 저장을 할 시에 중복되는 링크도 존재하기 마련입니다. 그래서 그런것들의 중복 크롤링을 막기 위해, 애초에 크롤링할 파일에 해당 링크 URL 이 존재하면 추가적으로 append 하지 않게 하면 됩니다. 시작해 볼까요? 우선 이미 만들어 둔 파일에 링크를 더해가는 함수를 정의하겠습니다. ▼ append 모드로 해당 경로를 열어줍니다. 그리고 이것을 file 로 명명하겠습니다.▼ 파일을 열어 전달해 줄 데이터 값을 넣고 뒤에는 개행문.. 더보기
[PYTHON 3] Tutorials 45. Struct (bytes data <-> normal data(human readable)) 안녕하세요. 이번 시간에는 Struct 에 대해서 알아보도록 하겠습니다. 파이썬에서 Struct이 무엇인지부터 얘기를 시작해볼까 합니다. 파이썬에서는 어떠한 형태의 데이터, 가령 numbers, letters, string 와 같은 데이터를 bytes (0,1 으로 이루어진 바이너리 형태의 데이터) 데이터로 converting 할 수 있습니다. 그럼 왜 이렇게 bytes 형태의 데이터로 전환을 할까요? 이는 우리가 사용하는 컴퓨터가 데이터를 저장하거나 네트워크를 통해 이러한 데이터를 주고 받을 때, 이진형태의 bytes data( 0, 1 )로 데이터를 다루기 때문입니다. 그러나 이런 형태의 데이터는 인간이 확인하여 인지하기는 힘든 점이 있습니다. 그러므로 평소에는 인간들이 읽을 수 있는 형태로 스크린에.. 더보기
Advanced scheduling of Mac OS Wake and Sleep Time Mac OS has a settings panel that allows you to schedule the Wake, Sleep and Shutdown time for your Mac, but there is only one sche dule allowed, everyday, or every friday, or every weekend, and so on. I wanted a different wake and shutdown time for the weekend and weekdays. This is possible using cron, and the command line tool pmset. The crontab below wakes the Mac up at 5pm every weekday and s.. 더보기
find files and folders recursively in Python Using glob and iglob. Python 3.5+ Starting with Python version 3.5, the glob module supports the "**" directive (which is parsed only if you pass recursive flag):import glob for filename in glob.iglob('src/**/*.c', recursive=True): print(filename)If you need an list, just use glob.glob instead of glob.iglob. Python 2.2 to 3.4 For older Python versions, starting with Python 2.2, use os.walk to recursively walk a direc.. 더보기
오디오 파일 자동 변환 시키기 by using FFMPEG, PARALLEL with CLI, Automator - (Automatic Converting FLAC files to M4A files using ffmpeg, parallel with CLI, Automator) 안녕하세요. 리눅스 시스템을 사용하는 유저라면 쉽게 접할 수 있지만, 윈도우즈나 맥을 사용하는 유저 중 대다수는 명령어를 사용해서 내가 사용하고자 하는 프로그램을 만든다는게 다소 낯설수 있을 것입니다. 그러나 많은 자동화 시스템 중 비교적 손쉽게 만들 수 있는 부분이 있는데, 그 중 하나인 homebrew 를 사용하여 오디오 자동 변환 프로그램을 구현하는 것입니다. 몇 줄의 명령어만 넣으면 오디오 파일을 변환할 수 있습니다. 여기에 맥에 있는 오토메이터(Automator)를 이용하여 특정 폴더에 변환할 파일 혹은 폴더를 투척(집어넣기)만 하면 자동으로 변환을 시켜주게 만들어 보도록 하겠습니다. 우선 이 시스템은 맥킨토시(MAC) 이기에 여기에 맞추어 작성을 하겠습니다. 오토메이터 부분만 제외한다면 윈도우.. 더보기
Terminal shell 실행가능 VS Automator shell 에러? PATH에 주목. I have a simple Gruntfile that I want to be able to run from an icon in my OSX dock. I have created a very simple shell script (launcher.sh) that I will save as an application so I can add it to my dock. It works great when I run it directly in my Terminal:#!/usr/bin/env bash $(grunt serve --open)It also works fine with this shebang: #!/bin/bash However when I call the shell script from an Autom.. 더보기
[PYTHON 3] Tutorials 32. Make words counters - 1 ( words counter 만들기) 이번 시간에는 'words counter'를 만들어 보겠습니다. 말 그대로 얼마나 많은 단어들이 있는지 카운팅 하는 프로그램입니다. 일반적으로 'words counter'는 문서 작업을 할 때에 얼마나 많은 글자가 사용되어는지 확인하는 용도로 많이 활용되곤 합니다. 대신 이번에는 특정 웹 페이지에서 어떤 단어가 얼마나 많이(빈도수) 사용되어졌는지를 알아보는 프로그램을 만들어보겠습니다. 이는 빅데이터, search engine(검색엔진) 분야 등 다양한 분야에 광범위하게 사용이 되는 개념이기도 합니다. 시작을 하겠습니다. 우선 코딩에 필요한 모듈들을 import 하겠습니다. 이번에는 웹페이지 관련 모듈인 requests, HTML 코드를 예쁘게(?), 단정하게 보여주는 BeautifulSoup, 카운팅 관.. 더보기
[Swift] 004_Diving into Swift (Swift 실행하기) for beginners 이제 Swift REPL을 실행하면 명령어 입력을 기다리는 Terminal에 REPL 화면이 보일것입니다.▼ REPL을 실핼할 때마다 프롬프트는 숫자 1과 부등호 > 를 표시합니다.▼ Return을 눌러 제대로 작동하는지 확인해 보겠습니다. 한 행을 입력하면 프롬프트는 다음 행으로 넘어갑니다. ▼ Help and QuitSwift는 REPL 명령어 관련 도움말이 내장되어 있습니다. 프롬프트에 :help 명령어를 입력하면 관련 명령어 리스트를 보여줍니다. 그리고 이 명령어들은 콜론이 항상 붙어 있습니다. 콜론을 사용함으로써 Swift문과 REPL 명령어를 구분합니다. :help 명령어를 입력해 명령어 리스트를 확인하겠습니다. ▼ 이 리스트의 명령어 중 상당수가 디버깅과 관련된 것을 알 수 있습니다. Swi.. 더보기
[Swift] 003_Interacting with Swift (Swift와 소통하기) for beginners 우선 양방향 인터프리터인 REPL을 통해 Swift 를 시작해 보려고 한다. REPL은 Read-Eval-Print-Loop의 Acronym(앞글자만 딴것)이며 이름 자체가 REPL이 무슨 일을 하는지 알려주고 있다. REPL은 명령을 읽고, 평가하고, 결과를 출력하고 또한 처음으로 돌아가 같은 작업을 반복한다. 실제로 이런 양방향성이 Swift가 가진 훌륭한 기능 중 하나이며 C 언어나 Objective-C와 같은 컴파일러형 언어가 가지고 있지 않은 기능이다. 이미 REPL을 제공하는 루비(Ruby)나 파이썬(Python)과 같은 스크립트 언어를 사용해본 유저라면 새로운 것이 없을테지만 컴파일러형 언어 쪽에서는 새로운 기능이다. REPL의 가장 큰 장점은 C, C++, Objective-C 언어에서 해.. 더보기
[MAC TIP] Homebrew를 이용해 어플리케이션, 유틸 설치하기 - Homebrew for OS X easily installs Desktop Apps and Terminal Utilities Homebrew를 이용해 어플리케이션, 유틸 설치하기 - Homebrew for OS X easily installs Desktop Apps and Terminal Utilities Homebrew는 Mac OS X 에서 가장 인기 있는 패키지 매니저입니다. 그 중 Homebrew Cask 는 Homebrew 가 구글 크롬(Google Chrome), VLC 등등. 수 많은 맥용 어플리케이션을 빠르게 설치하는데 도움을 줍니다. 끌어다놓거나(Dragging) 하거나 앱떨구기(Dropping)등을 할 필요가 없습니다. 이 방법은 맥 터미널 유틸리티나 GUI 기반의 앱을 설치하는 가장 쉬운 방법입니다. 이것은 윈도우즈 상에서 동작하는 Chocolatey 나 OneGet 과 유사하며, 리눅스에서 구동되는 패키지.. 더보기
[MAC TIP] 맥 엘 케피탄에서 레이드(RAID) 구성하기 with Terminal - How to set up RAID on MAC OS X El Capitan using terminal 맥의 최신 운영체제인 OS X 10.11 엘케피탄에 있는 disk utility 에서는 더이상 RAID를 구성할 수 없게 되었다. 이는 이전 버전인 요세미티까지는 있는 기능이어서 더욱 아쉬움을 자아내고 있다. 그러나, 레이드를 구성할 수 있는 방법이 전혀 없는 것은 아니다. 물론 이전의 GUI(Graphic User Interface) 형태는 아니지만 맥에 있는 터미널(Terminal)을 통해 가능하다. 또 다른 방법으로는 요세미티의 Disk Utility(디스크 유틸리티)를 엘 케피탄에서 복원하여 사용할 수 있다. 그러나 여기서는 굳이 2번째 방법인 요세미티 디스크 유틸리티를 복원하지 않고, 터미널을 이용해서 레이드를 구성해 보고자 한다. 1. 시작하기 전에... 만약 레이드를 구성할 디스크에 데이터가.. 더보기
[PYTHON] Python을 이용한 웹사이트 스캐너 만들기 - 3. IP Address 2편에서 tld(Top Level Domain)을 얻었습니다. 이제는 스캐닝을 할 웹사이트의 ip address 를 얻을 필요가 있습니다. 위와 같이 티스토리의 아이피는 180.70.93.117 이네요. 그렇지만 우리가 원하는 정보는 이 IPv4에 해당하는 숫자만 필요합니다. 즉, 프로그램적으로 앞부분의 'history.com has address ' 이 부분을 날려버리면 됩니다. 혹은 뒷 부부만 선택적으로 받아들이게 하면 됩니다. 1. 아이피를 얻기위해 위와같이 파일을 만들어 줍니다. 2. 위의 터미널에서 보여진대로 특정 정보만 취사선택 하기위해 이번에도 os 를 임포트 해줍니다. 3. 아이피 정보를 얻기 위한 함수를 선언. 4. 위의 터미널에서의 명령을 파이썬으로 프로그램적으로 구동 시키기 위한 방법.. 더보기