안경잡이개발자

728x90
반응형

  시리얼(Serial)은 말 그대로 직렬이라는 의미를 가지고 있습니다.

 

  일반적인 시리얼 통신 방식은 UART (Universal Asynchronous serial Receiver and Transmitter) 방식을 의미합니다. UART는 하드웨어적으로 구현이 간단한 편이며, 대표적인 비동기 통신 방식입니다. 다시 말해 통신을 수행하는 두 기기가 클럭(Clock)을 공유하지 않습니다. 그래서 두 기기가 동일한 속도를 가지도록 추가적으로 속도를 맞추어 주어야 합니다.

 

  시리얼 통신 속도 (Speed)는 여러 개의 BPS (Bits Per Second) 중에서 하나를 선택해야 합니다. 4800, 9600, 19200 등이 있는데요. 대표적인 것이 바로 9600입니다. 당연히 호스트(Host) 컴퓨터와 USB 장치랑 이러한 BPS를 맞추지 않으면 통신이 안 되겠죠? 그러한 작업은 기본적으로 수행됩니다.

 

  다른 시리얼 통신 방법으로는 SPI (Serial Peripheral Interface)가 있습니다. SPI는 라인이 더 많아 데이터 송수신을 동시에 할 수 있으며 UART에 비해서 훨씬 빠릅니다.  또한 두 기기가 같은 클럭(Clock)을 사용하여 통신을 하므로 시작 단계부터 동기화 작업이 수행됩니다.

 

  한 번 예시 코드를 확인해 보겠습니다. Serial.begin() 함수를 이용하여 초기화를 수행할 수 있습니다. 다만 기본적으로 Serial 객체가 초기화 될 때까지 기다려야 합니다. 초기화 된 이후에는 바로 Serial.println() 함수를 이용하여 원하는 문자열을 호스트(Host) 쪽으로 보내어 출력할 수 있습니다.

 

void setup() {
    // 시리얼 통신을 열고 포트가 열릴 때까지 기다립니다.
    Serial.begin(9600);
    while (!Serial) {
        ; // 시리얼 포트가 연결될 때까지 기다립니다.
    }
    Serial.println("Setup이 완료되었습니다.");
}

void loop() {
    Serial.println("Loop 함수를 호출합니다.");
    delay(1000);
}

 

  코드를 작성한 뒤에 USB Type으로는 [Serial]을 선택합니다.

 

 

  업로드를 해보시면 1초에 한 번씩 Serial 통신이 수행되어 문자열이 출력됩니다.

 

 

※ 유의할 점 ※

 

  Teensy에서는 기본적으로 Serial 통신을 이용할 때 Serial을 포함하는 USB Type을 설정했는지 확인할 필요가 있습니다. 만약에 RawHID와 Serial 통신을 같이 사용해야 할 때에는 RawHID를 선택할 수 있는데요. 다만 RawHID는 기본적으로 Serial 통신을 메인으로 사용하지 않으며, setup() 함수에 포함되어 있는 Serial 작업은 무시될 수 있습니다. 이 점을 유의하셔야 합니다.

 

 

  예를 들어 이와 같이 USB TypeRaw HID로 설정하여 동일한 코드를 실행하면 다음과 같이 setup() 함수에 정의되어 있던 출력 구문은 출력되지 않는 것을 알 수 있습니다.

 

728x90
반응형

728x90
반응형

  Oracle VirtualBox가상 머신(Virtual Machine)을 위한 소프트웨어 중 하나입니다. 예를 들어 윈도우(Windows) 운영체제 위에서 우분투(Ubuntu)와 같은 운영체제를 구동시키기 위한 목적으로 사용할 수 있습니다. 저는 기본적으로 처음에 가상 디스크의 크기를 설정할 때 [고정 할당]을 이용하여 고정된 크기의 디스크를 할당했습니다. 그런데 이 용량이 다 차게 되었습니다.

 

 

※ 디스크 복사하기 ※

 

  이렇게 고정으로 할당된 디스크를 [동적 할당]으로 바꾸고 그 용량을 자유자재로 늘리고 싶다면 다음과 같이 하면 됩니다. 먼저 [파일]에서 [가상 미디어 관리자]에 들어갑니다.

 

 

  이후에 다음과 같이 기존에 존재하는 하나의 디스크를 확인할 수 있습니다. 이제 여기에서 [복사] 버튼을 눌러서 디스크를 복사할 수 있습니다.

 

 

  복사를 할 때는 그대로 VDI를 이용하겠습니다. 이때 [전문가 모드(E)]를 눌러서 자세한 설정을 적용할 수 있도록 합니다.

 

 

  그러면 다음과 같이 세부적인 설정을 할 수 있습니다. 여기에서는 [동적 할당(D)]을 눌러서 디스크의 형식을 동적 할당으로 변경합니다.

 

 

  이제 다음과 같이 VDI를 저장할 경로를 설정합니다.

 

 

  그러면 다음과 같이 복사가 완료됩니다.

 

 

  복사가 된 이후에는 복사된 디스크를 이용해 우분투를 부팅할 수 있는지 확인합니다.

 

 

  복사된 하드 디스크를 선택할 수 있습니다.

 

 

  이후에 [시작] 버튼을 눌러서 한 번 부팅을 해봅시다.

 

 

  이제 바뀐 디스크로 정상적으로 부팅이 되는 것을 확인할 수 있습니다.

 

 

※ 디스크 용량 올리기 (증가시키기) ※

 

  이제 명령 프롬프트를 관리자 권한으로 실행한 뒤에 다음과 같은 명령어를 입력합니다. 여기에서 VBoxManage.exe는 VirtualBox를 설치했을 때 설치되는 응용 프로그램입니다. 명령어를 확인해 보시면 32GB (32,768 MB)로 크기를 변경하는 것을 확인할 수 있습니다.

 

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "E:\VirtualBox\Ubuntu_2.vdi" --resize 32768

 

 

  다만 저장소 파일 자체의 크기가 32GB가 되었다고 해서, 실제로 사용 가능한 용량이 바로 32GB가 되는 것은 아닙니다. 우분투에서도 실제 사용 가능한 용량이 커질 수 있도록 파티션을 처리해야 합니다. 따라서 가장 먼저 우분투에서 GParted 라이브러리를 설치합니다.

 

sudo apt-get install gparted 

 

 

  이때 불필요한 패키지가 설치되어 있어서 용량이 부족하다는 메시지 때문에 설치가 안 될 수 있습니다. 그럴 때는 다음의 명령어를 사용해보세요.

 

sudo apt autoremove

 

 

  아무튼 GParted를 설치한 뒤에 관리자 권한(sudo)으로 열면 다음과 같은 모양이 됩니다.

 

 

  바로 메인 파티션인 /dev/sda1를 우클릭 한 뒤에 [Resize] 버튼을 눌러서 크기를 바꿀 수 있습니다.

 

※ 만약 GParted에서 Resize가 안 된다면? ※

 

  저는 /dev/sda2를 스와프(swap) 목적의 파티션으로 쓰고 있어서, 메인 파티션인 /dev/sda1의 크기를 바꿀 수 없습니다. 다음과 같이 30,000MB로 새롭게 크기를 설정하려고 해도 설정이 안 됩니다. 다시 말해 /dev/sda1 파티션 바로 오른쪽에 /dev/sda2가 자리잡고 있기 때문에 크기 변경이 안 되는 겁니다.

 

 

  이처럼 리눅스 swap을 위한 목적으로 실행되는 /dev/sda2 때문에 /dev/sda1를 확장할 수 없다면, 먼저 sudo swapoff -a를 입력한 뒤에 swap 파티션이 사용되지 않도록 처리합니다. 이제 해당 파티션의 위치를 이동할 수 있습니다. 즉, 먼저 공간을 비워주는 겁니다.

 

 

  다음과 같이 /dev/sda2를 제일 오른쪽으로 밀어 버립니다.

 

 

  이후에 그 안에 있는 모든 파티션(/dev/sda5)들도 오른쪽으로 밀어 주시구요.

 

 

  이후에 다시 /dev/sda2의 크기를 줄이면 다음과 같이 /dev/sda1의 바로 오른쪽에 자리가 많이 남게 됩니다.

 

 

  이제 /dev/sda1를 오른쪽으로 쭉 밀어주시면 됩니다.

 

 

  최종적으로 [확인] 버튼을 눌러 주세요.

 

 

  참고로 저의 전체 수행 결과는 다음과 같습니다.

 

 

  이제 재부팅 이후에 df -h 명령어로 전체 디스크의 용량을 확인합니다. 그러면 성공적으로 용량이 늘어난 것을 확인할 수 있습니다.

 

728x90
반응형

728x90
반응형

  Teensy는 USB 장치(Device) 개발용 키트로, 새로운 USB 장치를 개발하고자 할 때 아두이노(Arduino) IDE를 기반으로 하여 개발을 진행할 수 있습니다. Teensy는 USB 장치 개발용 키트라는 점에서 원하는 USB Type으로 해당 보드를 이용할 수 있습니다. 저는 Teensy 3.6 보드를 사용하고 있는데, Teensyduino를 설치한 뒤에 다음과 같이 다양한 기본적인 USB 타입들을 확인할 수 있습니다.

 

 

  Teensy는 동시에 여러 개의 인터페이스를 제공하기에 용이하다는 점에서 다목적의 USB 장치를 만들 수 있습니다. 예를 들어 동시에 마우스이면서 키보드인 USB 장치를 만들 수 있습니다. 다만 기본적으로 제공하는 USB Type이 아니라, 자신만의 USB Type을 만들고자 한다면 어떻게 해야 할까요? 새로운 보드를 추가하고 개발하는 방법을 소개합니다.

 

※ 새로운 USB 타입 정의하기 ※

 

  자신만의 USB Type을 정의하고자 할 때는 가장 먼저 boards.txt 파일을 수정해야 합니다. 일반적으로 boards.txt 파일을 열어서 수정할 때는 에디터(Editor) 프로그램을 관리자 권한으로 실행하셔야 합니다.

 

  ▶ Boards.txt 파일 경로: C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3

 

 

  boards.txt를 열면 각 Teensy 보드 버전에 따라서 다양한 보드 타입과 기타 내용들이 정의되어 있는 것을 확인할 수 있습니다. 가볍게 다음과 같은 내용을 추가하여 새로운 USB Type으로 "USB_TEST"를 추가할 수 있습니다.

 

teensy36.menu.usb.test=Test
teensy36.menu.usb.test.build.usbtype=USB_TEST
teensy36.menu.usb.test.fake_serial=teensy_gateway

 

  그러면 다음과 같은 형태로 들어가게 될 겁니다.

 

 

  이제 boards.txt를 저장한 뒤에 아두이노 IDE를 관리자 권한으로 실행합니다. 그러면 다음과 같이 새로운 USB Type으로 "Test"가 추가되어 있는 것을 확인할 수 있습니다.

 

 

※ USB Description 정의하기 ※

 

  (참고: 아두이노 IDE를 관리자 권한으로 실행했다면, 소스코드 편집기도 관리자 권한으로 실행해야 합니다.)

 

  USB 장치는 기본적으로 우리의 컴퓨터 (Host)에 꽂았을 때 기본적인 Description 정보를 보냅니다. "나는 어떤 기능을 제공하는 USB 장치야."라는 의미라고 보시면 됩니다. 당연히 새로운 USB 장치를 개발한다면 Description 정보를 수정할 필요가 있을 것입니다.

 

  Teensy 3.6 버전에서는 usb_desc.h 파일에서 그러한 정보를 담고 있습니다. 이 소스코드를 수정하면 알아서 Teensy 보드가 연결될 때 호스트(Host)에게 자신의 수정된 Description 정보를 보냅니다.

 

 

  예를 들어 다음과 같이 작성할 수 있습니다. 저는 간단히 키보드와 마우스의 기능만을 포함하고 있는 새로운 USB Type을 정의했습니다. 참고로 KEYBOARD_INTERFACE나 MOUSE_INTERFACE 등은 usb_keyboard.h와 usb_mouse.h 코드를 사용할 수 있도록 해주는 전처리 구문입니다. 다시 말해, 일단 저는 이미 Teensy 코어(Core)에 정의되어 있는 키보드와 마우스 기능을 그대로 사용하고자 합니다. (만약 이러한 코어 코드까지 다 새롭게 만드시고 싶을 수 있는데요. 이 또한 원하신다면 처음부터 다 만드실 수 있습니다.)

 

#elif defined(USB_TEST)
  /* USB 장치의 기본적인 ID와 클래스 정보 */
  #define VENDOR_ID 0x16C0
  #define PRODUCT_ID 0x0707
  #define DEVICE_CLASS 0xEF // 기타 USB 클래스 (Miscellaneous) 
  #define DEVICE_SUBCLASS 0x02 // 기타 USB 클래스 (Miscellaneous)의 서브 클래스 
  #define DEVICE_PROTOCOL 0x01 // 다양한 인터페이스 사용 (Interface Association Descriptor)

  /* USB 장치의 이름 정보 */ 
  #define MANUFACTURER_NAME {'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN 11
  #define PRODUCT_NAME {'M','y',' ','T','e','s','t',' ','B','o','a','r','d'}
  #define PRODUCT_NAME_LEN 13

  /* USB 장치의 엔드포인트 및 인터페이스 정보 */
  // 엔드포인트 0번은 Control Transfer 목적으로 고정 
  #define EP0_SIZE 64
  #define NUM_ENDPOINTS 6
  #define NUM_USB_BUFFERS 30
  #define NUM_INTERFACE 5

  /* CDC 관련 정보 */
  #define CDC_IAD_DESCRIPTOR 1
  #define CDC_STATUS_INTERFACE 0
  #define CDC_DATA_INTERFACE 1 // 시리얼 (Serial) 
  #define CDC_ACM_ENDPOINT 1
  #define CDC_RX_ENDPOINT 2
  #define CDC_TX_ENDPOINT 3
  #define CDC_ACM_SIZE 16
  #define CDC_RX_SIZE 64
  #define CDC_TX_SIZE 64

  /* 키보드 (Keyboard) */
  #define KEYBOARD_INTERFACE 2
  #define KEYBOARD_ENDPOINT 4
  #define KEYBOARD_SIZE 8
  #define KEYBOARD_INTERVAL 1

  /* 키보드 미디어 키 (Keyboard Media Keys) */
  #define KEYMEDIA_INTERFACE 3
  #define KEYMEDIA_ENDPOINT 5
  #define KEYMEDIA_SIZE 8
  #define KEYMEDIA_INTERVAL 4

  /* 마우스 (Mouse) */
  #define MOUSE_INTERFACE 4
  #define MOUSE_ENDPOINT 6
  #define MOUSE_SIZE 8
  #define MOUSE_INTERVAL 2

  /* 각 엔드포인트의 데이터 송수신 관련 정보 */
  #define ENDPOINT1_CONFIG ENDPOINT_TRANSMIT_ONLY // CDC ACM
  #define ENDPOINT2_CONFIG ENDPOINT_RECEIVE_ONLY // CDC RX
  #define ENDPOINT3_CONFIG ENDPOINT_TRANSMIT_ONLY // CDC TX
  #define ENDPOINT4_CONFIG ENDPOINT_TRANSMIT_ONLY // 키보드 TX (전송만) 
  #define ENDPOINT5_CONFIG ENDPOINT_TRANSMIT_ONLY // 키보드 미디어 키 TX (전송만) 
  #define ENDPOINT6_CONFIG ENDPOINT_TRANSMIT_ONLY // 마우스 TX (전송만)

 

  또한 USB Function Driver에는 HID (Human Interface Device), CDC (Communication Device Class), MSC (Mass Storage Class) 등이 포함됩니다. 이 때 Mouse, Keyboard 등은 기본적으로 HID에 속하며, 시리얼(Serial) 통신은 CDC에 속합니다.  그래서 usb_desc.h에서 CDC 부분을 빼버리면 아두이노에서 Serial 라이브러리를 사용할 수 없습니다.  마찬가지로 Mouse나 Keyboard 부분을 빼버리면 아두이노에서 Mouse, Keyboard 라이브러리를 사용할 수 없답니다.

 

  참고로 usb_desc.h 부분의 코드가 잘못되어 있으면 호스트(Host)에서 USB 장치로 인식조차 안 할 수 있습니다. 만약에 usb_desc.h 파일을 수정한 뒤에 Teensy 보드로 업로드를 했는데, 아예 인식을 안 하는 경우 (특히 포트조차 못 잡는 경우) Teensy 보드에 있는 작은 버튼을 눌러서 초기화 해주셔야 합니다. 

 

※ 예제 소스코드 ※

 

  예제 소스코드는 다음과 같습니다. Mouse, Keyboard, Serial 라이브러리를 모두 사용합니다.

 

void setup() {

}

void loop() {
    int i;
    for (i = 0; i < 40; i++) {
        Mouse.move(2, -1);
        delay(100);
    }
    delay(1000);
    Serial.println("Hello");
    Keyboard.print("Hello World");
}

 

※ 실행 결과 ※

 

  컴파일 이후에 Teensy 보드에 업로드를 하면 성공적으로 USB 장치가 동작합니다. 반복적으로 마우스를 움직이며, 키보드로 "Hello World"를 입력하고, 시리얼 통신으로 "Hello"라는 문자열을 전송합니다. 리눅스 환경에서 lsusb 명령어를 이용해 USB 장치의 상세 Description을 확인하면 다음과 같습니다.

 

  사실 Vendor ID로 사용한 0x16c0는 이미 정의되어 있네요. 이 값 또한 원래는 바꿔주어야 합니다. 

 

 

  또한 이어서 인터페이스(Interface) 정보를 확인해 보시면, 인터페이스마다 CDC, Keyboard, Mouse 등의 각기 다른 기능이 제공되는 것을 알 수 있습니다. CDC를 이용한 시리얼 통신은 Bulk Transfer를 기반으로 하고 있으며, HID를 이용한 Keyboard 기능은 Interrupt Transfer를 기반으로 하고 있네요. 각각 패킷 크기도 64 바이트와 8 바이트로 다릅니다. 사실 이 내용들도 대부분 usb_desc.h 파일에 정의되어 있습니다.

 

728x90
반응형

728x90
반응형

  아두이노를 설치한 뒤에 하드웨어(hardware) 폴더로 이동하면 boards.txt 파일이 존재한다. 여기에는 아두이노 IDE에서 사용할 수 있는 각종 USB 보드(Board)의 종류에 대해서 다룬다. 필자는 최근에 새로운 타입의 USB 보드를 개발할 필요가 있었다. 그래서 boards.txt 파일에 새로운 타입의 보드를 추가했다. 일단 간단히 "xyz"라는 이름의 보드를 추가했다.

 

 

  그랬더니 다음과 같은 오류 메시지를 만날 수 있었다.

 

 

  아두이노에서 이처럼 컴파일 오류가 발생하는 경우에는 자세히 확인하기 위해서 환경설정에서 컴파일, 업로드와 관련한 자세한 메시지가 출력되도록 설정을 바꿀 필요가 있다.

 

 

  확인 결과 컴파일 과정에서 FQBN (Fully Qualified Board Name)을 제대로 찾지 못해 문제가 발생하는 것으로 보인다. 내가 새롭게 추가한 "xyz" 보드를 제대로 인식하지 못하고 있는 것이다.

 

 

  사실 이 문제의 해결 방법은 간단하다. 아두이노를 관리자 권한으로 실행하면 수정된 boards.txt 파일을 정상적으로 인식하고, 자신이 추가한 보드 정보를 읽어올 수 있다.

 

 

  다만 이 경우에는 기타 모든 코어 코드를 수정할 때에도 에디터를 관리자 권한으로 실행할 필요가 있다. 아두이노 코어(Core) 코드를 수정할 때 에디터를 관리자 권한으로 실행하여 수정하지 않으면, 아두이노 IDE와 연동이 제대로 이루어지지 않을 수도 있다.

728x90
반응형

728x90
반응형

  Teensy Board를 이용하는 경우 다양한 오류를 만날 수 있는데요. 해결하기 어려운 오류는 포럼(Forum)에 글을 남김으로써 다른 개발자에게 도움을 받을 수 있습니다. Teensy 포럼 웹 사이트의 링크는 다음과 같습니다.

 

  ▶ PJRC 포럼(Forum) 웹 사이트: https://forum.pjrc.com/

 

  만약 회원가입을 아직 안 하신 분이라면 다음과 같이 [Register] 버튼을 눌러서 회원가입을 진행할 수 있습니다.

 

 

  회원가입을 진행할 때에는 아이디, 비밀번호, 이메일 등 다양한 정보를 기입한 뒤에 [Complete Registration] 버튼을 눌러서 회원가입 요청을 할 수 있습니다.

 

 

  회원가입 이후에는 자신이 회원가입을 할 때 기입했던 이메일 주소로 등록 완료 메일이 옵니다. 여기에서 링크를 눌러 주시면 실제로 회원가입이 완료됩니다.

 

 

  회원가입이 완료되면 이제 포럼에 글을 작성할 수 있게 됩니다.

 

 

  저는 개발 관련 이슈가 있어서 [Technical Support & Questions] 경로로 이동하였습니다.

 

 

  다음과 같이 [Post New Thread] 버튼을 눌러서 게시판에 글을 작성할 수 있습니다.

 

 

 

  이후에 다음과 같이 글을 작성하시면 됩니다. 가능하면 이미지와 소스코드 및 설명을 최대한 자세하게 첨부하는 것이 좋은 답변을 받기에 유리합니다.

 

 

  이렇게 글을 쓴 뒤에 이메일로 알림을 받도록 설정하면, 누군가 댓글을 달았을 때 다음과 같이 댓글이 달렸다는 이메일이 도착합니다.

 

 

  이후에 댓글에 대하여 다시 댓글을 다는 방법은 다음과 같습니다. [Reply With Quote] 버튼을 눌러서 다른 사람의 글에서 인용할 부분을 설정합니다. 그리고 글의 내용을 작성하면 됩니다. [Post Quick Reply] 버튼을 눌러서 댓글을 등록할 수 있습니다.

 

728x90
반응형

728x90
반응형

  일단 기본적으로 [편집] - [환경 설정] - [미디어 캐시] 창을 열어줍니다.

 

 

  이제 여기에서 사용하지 않는 미디어 캐시 파일을 삭제하면 됩니다. [사용하지 않는 항목 삭제] 버튼을 누르시면 됩니다.

 

 

  이제 하드웨어를 살펴 봅니다. 일반적으로 스피커나 이어폰이 제대로 설정되어 있지 않아서 문제가 발생하기 때문입니다. 따라서 [편집] - [환경 설정] - [오디오 하드웨어]로 들어갑니다.

 

 

  이제 여기에서 [기본 출력] 부분에서 적절한 스피커/오디오가 들어가 있는지 확인하시면 됩니다. 저는 스피커가 이상한 것으로 설정되어 있어서 기본 스피커로 설정했더니 다시 소리가 들렸습니다.

 

728x90
반응형

728x90
반응형

  이번 포스팅에서는 어도비 프리미어(Premiere)의 사용 방법에 다루고자 합니다. 특히 알아두시면 좋은 점은 프리미어(Premiere)의 기본적인 사용 방법은 버전과 상관 없이 거의 유사하다는 점입니다. 예를 들어 어도비 프리미어 CS6과 어도비 프리미어 CC는 거의 사용 방법이 동일합니다. 그렇기 때문에 저는 어도비 프리미어 CC를 이용하지만, 다른 버전을 사용하시는 분들도 거의 동일하게 따라오실 수 있을 겁니다.

 

※ 프로젝트 만들기 ※

 

  어도비 프리미어를 실행하면 다음과 같이 하나의 [새 프로젝트]를 만드실 수 있습니다.

 

 

  이제 왼쪽 아래의 [프로젝트] 탭으로 드래그 앤 드롭(Drag & Drop)을 해서 영상을 불러올 수 있습니다.

 

 

 영상을 불러온 뒤에 [타임라인] 탭으로 영상을 드래그 앤 드롭(Drag & Drop)하면 편집을 진행할 수 있습니다.

 

 

※ 기본적인 오디오 다루기 ※

 

  기본적으로 편집을 진행할 때는 편집에 용이하도록 오디오가 잘 들리게 오디오를 크게 키우는 것이 일반적입니다. 따라서 오디오를 선택해서 우클릭 이후에 [오디오 게인]에 들어가시면 됩니다.

 

 

  조금씩 값을 바꾸어 가며 적절한 음의 세기를 찾으세요.

 

 

  저는 10dB만큼 소리를 키웠는데요. 다음과 같이 오디오의 크기가 적절히 커지는 것을 확인할 수 있습니다.

 

 

※ 동영상 속도(빠르기) 조절하기 ※

 

  또한 교육용 동영상을 편집하거나 할 때는 빠르게 편집하기 위해서 속도(빠르기)를 잠시 2배 정도로 늘려서 편집한 뒤에, 나중에 다시 속도를 원상복귀 하는 방법이 많이 사용됩니다. 속도를 조절할 때는 우클릭 이후에 [속도/지속 시간]을 누르시면 됩니다.

 

 

  이후에 다음과 같은 창이 나오며 여기에서 속도를 설정할 수 있습니다.

 

 

  참고로 속도를 빠르게 하면 일반적으로 음의 높이가 올라갑니다. 이걸 막기 위해서는 [Maintain Audio Pitch]를 체크하시면 되는데요. 저는 어차피 나중에 다시 원상복귀 시킬 거라서 체크하지 않습니다.

 

※ 동영상 (길이) 자르기 ※

 

  동영상의 길이를 자르고 싶을 때에는 간단히 자르기(Cut)를 진행하면 됩니다. 단축키는 C입니다. 자르는 순간 바로 영상이 2등분으로 나누어집니다.

 

 

  자른 뒤에는 선택 도구(V)로 잘라낸 동영상을 선택해서 제거하시면 됩니다.

 

 

  제거 이후에는 빈 공간을 우클릭하여 [잔물결 삭제]를 눌러주시면 빈 공간을 메우게 됩니다. 혹은 그냥 단순히 지우기(Delete) 버튼을 눌러도 빈 공간이 메워집니다.

 

 

  [잔물결 삭제]를 진행하면 다음과 같이 빈 공간이 잘 메워지게 됩니다.

 

 

  또한 참고로 다음과 같이 각 영상 클립 사이에 간격이 다수 존재하는 경우에는, 영상 클립 사이에 있는 모든 간격을 한꺼번에 제거할 수도 있습니다.  일단 다음과 같이 간격을 제거할 영상들을 잡아 주시구요.

 

 

  다음과 같이 [시퀀스] - [간격 닫기(C)]를 눌러주시면 됩니다.

 

 

  그러면 다음과 같이 모든 영상 클립들이 이어집니다.

 

 

  참고로 이전 버전의 어도비 프리미어에서는 [간격 닫기] 기능을 제공하지 않는 경우가 있습니다. 필자는 해당 문제를 해결하기 위해 프로젝트를 저장한 뒤에, 최신 버전의 어도비 프리미어에서 해당 프로젝트를 열어서 [간격 닫기]를 진행하여 해결한 적이 있습니다.

 

※ 편집된 동영상 내보내기 ※

 

  최종적으로 편집된 동영상을 내보낼 때에는 다음과 같이 [파일] - [내보내기] - [미디어]에 들어가서 어떠한 형식으로 영상을 내보낼 지 설정할 수 있습니다.

 

 

  아래와 같은 화면이 나오는데 바로 [내보내기] 버튼을 눌러서 동영상을 내보내시면 됩니다. 일반적으로 .mp4 확장자로 동영상의 용량이 적절히 잘 압축되도록 합니다. 저는 주로 YouTube 업로드 용으로 1080p 화질로 영상을 내보내는 경우가 많습니다.

 

 

  사실 저 같은 경우는 영상의 화면이 많이 바뀌지 않는 강의 영상이기 때문에, 예상 파일 크기보다 훨씬 적은 용량으로 동영상이 만들어진 것을 알 수 있습니다.

 

728x90
반응형

728x90
반응형

  어도비(Adobe) 제품을 설치하면 Adobe Creative Cloud가 설치되고, 컴퓨터의 전원을 켜면 자동으로 함께 실행됩니다. 어도비의 경우 업데이트 또한 기본적으로 진행해준답니다. 이것이 불편한 사람들은 Adobe Creative Cloud의 자동 실행이나 자동 업데이트 기능을 끌 수 있는데요. 그 방법에 대해서 소개하고자 합니다.

 

  윈도우(Windows) 운영체제를 기준으로 먼저 Adobe Creative Cloud을 실행합니다. 그러면 다음과 같은 화면이 나오는데요. 설정 탭으로 이동합니다.

 

 

  이후에 다음과 같이 [로그인 시 Creative Cloud 실행][Creative Cloud를 항상 최신 상태로 유지]를 꺼줍니다.

 

 

  또한 컴퓨터가 부팅되었을 때 자동으로 Creative Cloud 앱이 실행되지 않도록, 작업 관리자를 실행하여 다음의 두 프로그램을 사용하지 않도록 해주시면 됩니다.

 

 

  다음과 같이 두 개 모두 [사용 안 함] 처리를 해주세요.

 

 

  또한 어도비는 컴퓨터가 부팅될 때 자동 업데이트 프로그램을 실행합니다. 이것도 방지하고 싶다면 [작업 관리자][서비스] 탭에서 AdobeUpdateService를 찾아서 [중지]를 적용해주시면 됩니다.

 

 

  참고로 해당 AdobeUpdateService를 완전히 제거하고 싶으시다면 다음과 같이 명령 프롬프트(CMD)를 관리자 권한으로 실행하신 뒤에 sc delete 명령어를 이용하시면 됩니다.

 

 

728x90
반응형

728x90
반응형

  웹 서비스 프로토 타입을 만들거나 간단히 예상 웹 디자인 시안을 보여주고자 할 때, 무료 웹 디자인 템플릿을 이용하면 간편합니다. 제가 자주 사용하는 무료 웹 디자인 템플릿 사이트를 소개해드리고자 합니다.

 

※ 무료 서비스 ※

 

  ▶ HTML5 UP: https://html5up.net/  

 

  먼저 HTML5 UP이라는 사이트인데요. 이 사이트는 기본적인 몇 가지 디자인 예시를 보여줍니다. 아래와 같이 여러 가지 템플릿이 제공되는데요. 자신이 원하는 디자인을 하나 선택해서 다운로드 하실 수 있습니다.

 

 

  저는 간단히 [Editorial] 이라는 이름의 프로젝트를 다운로드 했습니다. 다운로드 이후에 압축을 풀면 다음과 같이 HTML 파일이 등장합니다. 여기에서 index.html을 열어서 확인할 수 있습니다.

 

 

  그러면 다음과 같이 웹 사이트가 등장합니다. 소스코드를 수정해서 원하는 웹 사이트로 디자인 하실 수 있답니다.

 

 

  저는 그냥 간단하게 소스코드 에디터(Editor)를 아무거나 열어서, 한글 웹 폰트를 추가하여 웹 사이트의 기본적인 디자인을 한 번 바꿔보았습니다.

 

 

  그래서 대략 다음과 같이 대충 웹 사이트 디자인을 한글로 바꿔보았어요. 참고로 '나색'이라는 서비스는 그냥 대충 생각나는 대로 떠올라서 붙인 이름입니다. 실제로 존재하지는 않아요. ㅋㅋㅋ

 

 

  혹시나 참고하실 분을 위해서 소스코드를 첨부합니다. 사소한 거 몇 개만 대충 바꾼 코드에요.

 

html5up-editorial.zip
2.53MB

 

※ 유료 서비스 ※

 

  그리고 최근에 괜찮다 싶은 유료 서비스로는 웹 플로우가 있습니다. 웹 플로우를 이용하면 온라인 상에서 바로 웹 사이트를 편집할 수 있어서 간단하게 웹 디자인을 해볼 수 있습니다. 근데 일단 유료 서비스이고... 일반적으로 디자이너들이 사용하는 프로그램은 아닙니다. 그래서 그냥 이런 게 있다 정도만 기억하셔도 될 것 같아요.

 

  저 같이 디자인이 약한 개발자에게는 좋은 것 같아요. 특히, 반응형 웹 사이트를 디자인 하면 알아서 HTML, CSS, JavaScript 소스코드까지 생성해줍니다. 일단 바로 무료 웹 디자인 템플릿으로 시작해 보시면 좋습니다.

 

  ▶ 웹플로우(Webflow): https://webflow.com/templates/free-website-templates

 

  접속을 해보시면 다음과 같이 무료 템플릿이 등장합니다.

 

  

  저는 한 번 인크레더블(Incredible)이라는 이름의 무료 템플릿을 선택해 보았습니다. 접속하면 아래와 같이 화면에서 [Preview in browser] 혹은 [Preview in Designer] 버튼을 눌러서 실제 작업 화면을 볼 수 있습니다. 만약 웹 사이트에서 어떻게 보일지를 확인하고 싶으시면 [Preview in browser] 버튼을 눌러 보시면 됩니다.

 

 

  또한 웹 플로우는 별도의 스케치(Sketch)나 포토샵(Photoshop) 등의 툴을 이용하지 않고도, 웹 사이트에서 바로 디자인을 진행할 수 있도록 지원하고 있습니다. [Preview in Designer] 버튼을 눌러 보시면 다음과 같은 웹 디자인 화면이 나옵니다.

 

 

  아무튼 [Use for Free] 버튼을 누르시면 다음과 같이 프로젝트를 생성할 수 있구요.

 

 

  프로젝트는 다음과 같이 이름을 붙여서 생성할 수 있습니다.

 

 

  프로젝트 생성 이후에는 다음과 같이 글자를 편집하는 등 꾸밀 수 있습니다. 아래 문구는 그냥 제가 임의대로 넣어 본 것입니다.

 

 

728x90
반응형

728x90
반응형

  제플린(Zeplin)디자이너와 개발자와의 협업을 위한 대표적인 디자인 협업 도구입니다. 디자이너가 단순히 포토샵이나 스케치(Sktech)를 이용해 작업한 화면을 개발자에게 전달해 주는 것이 아니라, 실제로 웹 사이트에서의 화면 구성요소 (글자 폰트, 글자 크기, 여백 값, 구체적인 색상 등)을 상세하게 개발자가 확인할 수 있도록 해줍니다. 특히 아이콘이나 그림 파일 등을 개발자가 바로 제플린에서 다운로드 받을 수 있다는 점은 매우 강력한 장점인 것 같아요.

 

  ▶ 제플린 사이트: https://zeplin.io/

 

  제플린을 이용하는 방법은 간단합니다. 가장 먼저 제플린(Zeplin)에 접속하여 로그인을 진행합니다. 다음과 같이 다운로드 버튼을 누르면 제플린을 다운로드 할 수 있어요. 사실 개발자 입장에서는 굳이 다운로드 할 필요도 없습니다. 웹 사이트로 이용할 수 있어요.

 

 

  이후에 다음과 같이 포토샵과 제플린(Zeplin)을 연동할 것인지에 대한 내용을 물어봅니다. 본인이 디자이너라면 포토샵이나 스케치(Sketch)와 같은 디자인 소프트웨어와 연동을 진행하셔야 합니다.

 

.

  다음과 같이 포토샵 실행 파일을 입력하면 됩니다. (사실 최근 제플린은 CC 2015 버전 이상의 포토샵을 지원하고 있기 때문에, 아래 사진에 나오는 CS6은 사용할 수 없답니다.)

 

 

  아무튼 개발자 입장에서는 반드시 포토샵을 연동할 필요는 없기 때문에, 다음과 같이 단순히 로그인 이후에 프로젝트를 생성할 수 있습니다.

 

 

  프로젝트를 생성할 때는 iOS 앱, 안드로이드(Android) 앱, 웹(Web) 중에서 하나를 선택할 수 있습니다.

 

 

  이제 다음과 같이 포토샵 등과 연동할 수 있는 내용이 나옵니다.

 

 

  일반적으로는 팀 단위로 제플린 프로젝트를 하나 생성한 뒤에 디자이너가 작업한 디자인 파일을 업로드 하면, 개발자가 이를 확인하는 방식으로 진행합니다.

728x90
반응형