매번 비밀번호를 사용해서 로그인하는 것은 너무나 번거로운 일이다.
접속할 컴퓨터에서 key-gen을 통해서 키가 생성되어 있어야 한다.

키 생성하기

$ ssh-keygen                                                                                                                                                                                                                                          Generating public/private rsa key pair.
Enter file in which to save the key (/Users/forteleaf/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in idid_rsa.
Your public key has been saved in idid_rsa.pub.
The key fingerprint is:
SHA256:lPQOOLrnc4N2dYOy0snymLKmibxGKTrx9Vijcn/GFOg forteleaf@leaf-macbook.local
The key's randomart image is:
+---[RSA 2048]----+
|        .        |
|       o o       |
|      o.+ .      |
|     ..o.o       |
|  . ..  S...     |
|oo  ..E o o o    |
|+o ..=.B = . .   |
|+oo.*oBo%        |
|o++=.==X..       |
+----[SHA256]-----+

키 복사하기

$ ssh-copy-id forteleaf@[freenas IP]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/forteleaf/.ssh/idid_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'forteleaf@freenas'"
and check to make sure that only the key(s) you wanted were added.

본인은 이미 키가 authorized_keys에 등록되어 있는 상태 이기 때문에 위와 같은 메세지가 나온다.
이제 바로 접속하면 된다.

접속

$ ssh forteleaf@[freenas IP]

참조 (서버 sshd 설정)

# /etc/ssh/sshd_config

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile      .ssh/authorized_keys

#AuthorizedPrincipalsFile none

PubkeyAuthentication 이 설정되어 있어도 authorized_keys파일이 등록되어 있으면, 사용할 수 있다.

블로그 이미지

부들잎

안녕하세요

Tag freenas, SSH

댓글을 달아 주세요

Imgur

Ansible

Ansible은 오픈 소스 소프트웨어 프로비저닝, 구성 관리, 애플리케이션 전개 도구이다. 수많은 유닉스 계열 시스템에서 실행되며 유닉스 계열 운영 체제 및 마이크로소프트 윈도우의 구성이 가능하다.
시스템 구성을 기술하기 위해 자체 선언형 언어를 포함하고 있다. 위키백과

  • 테스트 환경을 구축(다양한 OS)

  • python으로 개발 되었고 YAML 언어를 통해 정의할 수 있고, JSON 방식으로 통신

  • OPEN Source

기본개념

환경설정, 배포를 가능케 하는 언어. 리모트 서버에 접속해서 무언가를 실행시키는 정책을 기술한다. YAML 문법으로 정책이 기술되어 고급 단계에서 로드밸런서를 모니터링하는 복잡한 환경에서도 사용할 수 있도록 한다.

playbook은 하나 또는 하나 이상의 play를 두게 되고, play의 목적은 여러 호스트들을 잘 정의 된 ROLETASK를 매핑하는 역할을 합니다. TASKAnsible모듈의 호출을 의미한다.
ROLE을 더 편하게 관리하기 위해서 YAML파일로 정의해서 사용할 수 있다. 또한 host inventory 파일에 정의한 서버 그룹별로 각각 나누너 provision 할 수 있도록 할 수 있다.

장점

  • 빠른 SSH 통신, 빠른 Provision을 이용가능

  • agent daemon을 사용하지 않음

  • 자동 배포 환경이 구성 쉬움

  • 멱등성
    여러 번 적용해도 결과 변동 없음
    바뀌는 것이 없으면 당연히 배포되어도 변경 없음
    바뀌는 부분이 있으면 그 부분만 반영
    shell, command, file module은 보장 안됨

  • playbook

  • ad-hoc 지원

  • 병렬 Provisioning 지원

단점

  • 시스템 초기 설치 수행은 불가능

  • 시스템 모니터링은 지원 안함

  • 시스템 변경사항 초적하지 않음

할수있는 것

앤서블에는 크게 3가지 요소가 있다.
inventory, playbook, module이 그것이다.
이는 각각 (1) 어디서, (2) 무엇을, (3) 어떻게 수행할지를 정의한다. (엄밀히 말하면 모듈이 플레이북에서 사용되지만, 이해를 위해 구분해 설명한다)

inventory

remote server에 대한 meta 데이터를 기술하는 파일.
인벤터리는 앤서블에 의해 제어되어 Infrastructure as a Code의 대상이 될 서버들의 목록을 정의하는 파일 일반적으로 hosts.ini 파일에 정의해 사용하는 듯 하며, 위 예시에서 작성했던 hosts.ini 파일이 바로 그것이다.
인벤터리에는 여러 서버들의 접속 정보 (SSH 접근 IP, 포트, 리눅스 사용자) 등을 정의.
기본 파일은 /etc/ansible/hosts를 읽게 하거나, 따로 inventory파일을 만들고 옵션을 주어 동작하게 할 수 있다. 만약 고정 ip를 가지고 있고, ghost 파일 안에 들어가 있지 않는 서버가 있다면 설정 파일을 만들 수 있고 테스트 환경을 만들 때 유용하다.

대충 아래와 같은 파일로 구성이 된다.

centos1 ansible_host=172.16.49.133 ansible_user=rootcentos2 ansible_host=172.16.49.134 ansible_user=rootzabbix ansible_host=172.16.49.135 ansible_user=root[server]centos1centos2zabbix

PLAYBOOK

설정을 관리가호 다수의 머신에 대한 배포 시스템에 대한 기본적인 단위. 복잡한 형태의 배포에 매우 적합하다. 설정을 정의할 수 있으며 특정머신의 집합을 오가며 다른 작업을 수행하도록 수동으로 작업 순서를 설정하는 것도 가능하다. 이 때의 작업은 동기 또는 비동기로 수행할 수 이다. /usr/bin/ansible명령을 통해서 AD-HOC 테스크를 실행하는 것에 반해 PLAYBOOK은 소스 컨트롤을 통해 보관하거나 사용자의 설정을 내보내거나 원격 시스템을 구성,보장디는데 더욱 적합합니다.

Module

이미 정의해 놓은 모듈들을 통해서 다중명령어를 보내줄 수 있다. 예를 들어 yum이라는 모듈을 통해서 설치작업을 요청할 수 있으며, shell모듈을 통해서 커맨드 입력을 보낼 수 있다.

ansible -l #모든 module 목록 조회

ad-hoc

adhoc이라는 의미는 임시적 수행을 말한다.
ansible의 playbook을 작성하는 것이 아니라 임시적으로 또는 특별하게 어떤 작업을 수행하기 위해서 사용할 수 있는 실행방법이라고 할 수 있다.

Ansible 시작하기

![](file:///Users/forteleaf/Library/Application Support/marktext/images/2019-09-06-16-16-11-image.png)

기본옵션 (Inventory)

hosts.ini파일을 아래와 같이 설정 된다. 파일 이름은 정해진 틀이 없으므로 편한데로 맞춰서 사용합니다.

centos1 ansible_host=172.16.49.133 ansible_user=rootcentos2 ansible_host=172.16.49.134 ansible_user=rootzabbix ansible_host=172.16.49.135 ansible_user=root[server]centos1centos2zabbix

ssh-copy-id로 자동로그인을 설정해 놓으면 ansible_password와 같은 옵션을 따로 설정하지 않아도 된다.

설정파일 ( ansible.cfg / .ansible.cfg )

ansible.cfg파일을 지정해 줌으로서 옵션에 넣을 변수를 줄이고 편하게 사용할 수 있다

## ansible.cfg[defaults]inventofy=./hosts.iniremote_user=rootprivate_key_file=~/.ssh/id_rsa

host_key_checking=false옵션을 추가하면, 접속시 key 확인하는 작업을 스킵합니다. 일일히 yes칠 상황을 제거해 줍니다

service 상태 조회

ansible all -m shell -a "service status sshd"

모듈 ( MODULE )

모듈들은 정말 다양한 기능들을 제공한다. 이런 기능은 없나? 생각하면 이미 개발되어 있는 상황이고 그게 안된다면, shell또는 command명령을 통해서 작업할 수 있다

shellcommand 모듈의 차이

Module : command

원격 노드에서 명령을 실행

명령 모듈은 명령 이름 뒤에 공백으로 구분 된 인수 목록을 사용합니다. 주어진 명령은 선택된 모든 노드에서 실행됩니다.
쉘을 통해 처리되지 않으므로 $HOME과 같은 변수 및 "<", ">", "|"및 "&"와 같은 조작은 작동하지 않습니다 (이 기능이 필요한 경우 쉘 모듈을 사용하십시오).

Module : shell

노드에서 명령을 실행

쉘 모듈은 명령 이름 뒤에 공백으로 구분 된 인수 목록을 사용합니다. 명령 모듈과 거의 동일하지만 원격 노드의 쉘 (/bin/sh)을 통해 명령을 실행합니다.

Module : template

nginx.ini와 같은 설정 파일을 role을 지정해서 서버마다 다른 설정 값을 넣어서 파일을 생성할 수 있는 기능입니다. 자주 사용되는 기능

PLAYBOOK

# public key 를 server들에 등록하는 playbook---- hosts: all    # inventory 의 모든 대상  tasks:        # 수행할 작업    - name: authorized to server    # 작업 이름      authorized_key:               # 수행할 MODULE 명        user: root                  # MODULE에 들어갈 environment        state: present        key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" 

yml(야믈)의 파일 구조를 갖고 있습니다. 규칙성에서 벗어나면 제대로 동작하지 않습니다. 이를 유의해 주시면서 작업 하시면 오히려 정규화 된 표현에 코드 리딩하기 편할 것 입니다.

authorized_key를 사용하기 위해서는 암호또한 자동으로 입력 해 주는 sshpass가 필요합니다.

참조


블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

remove ibus

Imgur
Fedora에서 기존에 사용하던 ibus를 제거하고 uim를 사용하려고 하는데, ibus를 삭제하는데에 큰 문제가 있다. 하나는 sudo dnf remove ibus를 이용해서 삭제를 하면 의존성 때문에 gnome에 있던 기본 어플들까지도 삭제가 되어버린다. 이를 해결하기 위해서는 의존성을 헤치지 않으면서 삭제를 진행해야 한다.

하지만, 이를 정확히 해결할 수 있는 방법은 지금 존재하지 않고, 이를 해결하기 위해서는 기존에 ibus-daemon를 상주한 상태로 uim를 실행시키는 방법이 제일이상적이라고 할 수 있다.

현재 gnome 3.32.2버전을 사용하고 있고, 아래와 같이 설정을 변경해 주었다.

$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'uim'>}"

uim설치

$ sudo dnf install uim

uim-byeoru를 따로 설치를 과거에는 진행했는데 지금은 기존패키지에 자동으로 설치가 되어있어서 uim-byeoru를 입력하더라고 무방하다. 근데, dnf 항목에는 보이지 않는다.

기본 입력소스 변경


입력소스 에서 기존에 있었던 ibus 설정을 지워주고 위와 같이 영문 키보드 하나만 남겼다. 실제로 이 설정이 실사용에 사용되지는 않습니다. uim설정을 사용하기 때문에 한글 설정에서 이 부분을 수정할 필요는 없습니다.

기존 ibus 단축키 설정 제거

Imgur

Fedora 30 에서는 아래와 같은 명령어를 사용해서 기본 입력기를 변경할 수 있다.

$ im-chooser

사실 이부분을 수정하지 않다고 가능하지만, ibus라는 설정 자체를 빼기 위해서 제거했다.

이제 ibus의 단축설정들을 제거해 준다. <shift> + <space>와 같은 설정이 새로 한영전환키와 중복될 수 있는 부분이 있기 때문에 제거를 하는것이 사용성과 편의성에 이롭다.

ibus 환경설정에서 아래와 같이 설정들을 제거해 준다.

Imgur
Imgur
기본에 설정되어 있는 부분을 제거 했습니다

uim 설정하기

$ im-chooser

명령어를 통해 UIM 환경설정을 통해 진행한다.

[전체적인 설정]항목에서 디폴트 입력기 설정을 진행한다.

사용되는 입력기에 "벼루"만 남기고 제거 합니다.

Imgur
다음은 한영 전환단축키 변경을 아래와 같이 설정합니다. 이부분은 간단하므로 생략

Imgur

이제 최상단에 적혀 있는 명령어를 실행하면 ibus 가 상주해 있는 상태에서도 uim를 사용할 수 있는 상태가 되었습니다.

이 부분에서 리부팅을 진행해 주세요. 부분부분 재부팅을 통해서 진행 해 주면 설정이 자리잡는데 도움이 됩니다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

(2018.7.1 updated)
회사에 개발문서들을 저장할 wiki 시스템을 알아보고 있습니다.

사실 회사 입장에서는 돈이 들어가는 기반이 탄탄한 서비스를 사용하고 싶지만, 기안을 올리는 입장에서 승인이 안 떨어지면 직접 만들어 써야 합니다. 결국에는 지금 글을 쓰고 있는 상황처럼 만들어 써야하는 상황이 되었습니다.

뭐가 있나 고민하기 보다는 빨리 적용해서 사용해 보고, 자신에게 맞는 것을 찾는 것이 제일 중요해 보인다.

Confluence

JIRA Confluence를 사용해서 관리하고 싶었지만, DEMO 버전을 사용했습니다. 이것저것 만져보았지만 추가적으로 테마를 구매하는 비용이 많이 들어갔습니다. 결국에는 데이터를 안정하게 백업하는 용도 이외에는 큰 장점을 찾을 수 없었습니다. 결국에 사용하는 입장에서 많은 것들을 커스텀 해야지 제대로 사용할 수 있는 물건이 되었습니다.

Wiki.js

(2019.8.6 기준)

1.0버전은 아주 심플한 문서 작성만 가능하고 되어있고. 2.0부터 본격적인 개발을 들어간 것 같다. 기반은 Node.js기반으로 돌아가고 있다. 다양한 DB들을 지원하고 있어서 입맛에 따라 적용할 수 있는 범용성을 보여주고 있지만, 1.0버전에서 지원하던 MongoDB는 더이상 지원하지 않는다.

사용해보려고 했지만, 아직은 기능을 너무 미흡하게 지원하고 있어서 사용에는 무리가 있어 보인다.

v1.0 버전

Wiki.js에서 다운받을 수 있으며 오픈소스로 활용할 수 있습니다. 경량화된 wiki를 사용할 수 있으며, node기반으로 작성되어 있어 다른 서비스에 쉽에 붙여서 사용 할 수 있는 장점이 있습니다. 그리고, 데이터베이스를 MongoDB 를 사용할 수 있습니다.
이는 데이터용량이 적으면 무료로 공개되어 있는 MongoDB Atlas, mLab에서 사용할 수 있는 장점이 있습니다

아직 개발중이라서 지원되는 기능들이 적다.
기본 문서 편집기 수준이라고 보면 된다.

v2.x.x 버전 (개발중)

다방면으로 기능이 개선되었으며, 보다 시스템이 무거워 졌다.

DB 구성 관계형 DB만 지원하게 변했다.. 이제는 몽고디비를 사용할 수 없게 되었다. 무료DB를 사용할 수 없게 되었다.

사용해 보기

docker-compose파일을 통해서 한번 사용해 볼 수 있다. (이상하게 동작을 안 한다)

YAML 형식은 스페이스바를 통한 규칙이 중요하기 때문에 여기 블로그 보다는 소스를 직접 공유하는 사이트에 들어가서 불러오는 것을 추천한다.

Heroku for wiki.js 2.x를 통해서 설치해서 사용해 보자.

xWiki

오픈소스.
JAVA로 개발되어 있고 톰캣서버를 통해서 서비스가 이뤄지고 있습니다.
실제적인 성능면에서는 뛰어날 것으로 보입니다.
그리고, 엔터프라이즈급으로도 처리가 가능할 것으로 보입니다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

Fedora에서 텔레그램 설치하기

dnf 를 시용해서 간단히 설치가 되지 않는다.
그래서 다른 패키지 프로그램(ᅟflatpak)을 사용해서 설치를 해야 한다. 또는 직접 사이트에 가서 다운받아서 설치를 하는 방법이 있다.

flatpack을 이용한 설치

$ sudo flatpak install telegram

flatpak을 사용해서 설치하는 방법을 이야기 한다.

단점
: 이상하게 한글 입력이 제대로 되지 않는다. 띄여쓰기도 안되고, 그냥 무지불편하게 사용해야 한다.

Imgur

한글 입력하게 수정하기

~/.var/app/org.telegram.desktop/data/TelegramDesktop/tdata/fc-custom-1.conf파일을 수정해서 다음과 같이 추가해 준다.

    <dir>/run/host/fonts</dir>

내용을 추가 해주면 한글이 문제 없이 보인다.
그런데 이상하게 return key를 누르면 리턴입력이 되는 것이 아니라 깨진다. 아무래도 다른 사연이 있는것 같다.

<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
  <fontconfig>
    <dir>/usr/share/fonts</dir>
    <dir>/usr/local/share/fonts</dir>
    <dir>~/.fonts</dir>
    <dir>~/.local/share/fonts</dir>
    <dir>/run/host/fonts</dir>
    <dir>/usr/X11R6/lib/X11/fonts</dir>
    <dir prefix="xdg">fonts</dir>
    <match target="pattern">
      <test qual="any" name="family">
        <string>mono</string>
      </test>
      <edit name="family" mode="assign" binding="same">
        <string>monospace</string>
      </edit>
    </match>
    <match target="pattern">
      <test qual="any" name="family">
        <string>sans serif</string>
      </test>
      <edit name="family" mode="assign" binding="same">
        <string>sans-serif</string>
      </edit>
    </match>
    <match target="pattern">
      <test qual="any" name="family">
        <string>sans</string>
      </test>
      <edit name="family" mode="assign" binding="same">
        <string>sans-serif</string>
      </edit>
    </match>
    <cachedir>/var/cache/fontconfig_11</cachedir>
    <cachedir prefix="xdg">fontconfig_11</cachedir>
    <cachedir>~/.fontconfig_11</cachedir>
    <match target="font">
      <edit mode="assign" name="antialias">
        <bool>true</bool>
      </edit>
      <edit mode="assign" name="embeddedbitmap">
        <bool>false</bool>
      </edit>
      <edit mode="assign" name="hinting">
        <bool>true</bool>
      </edit>
      <edit mode="assign" name="hintstyle">
        <const>hintslight</const>
      </edit>
      <edit mode="assign" name="lcdfilter">
        <const>lcddefault</const>
      </edit>
      <edit mode="assign" name="rgba">
        <const>rgb</const>
      </edit>
    </match>
  </fontconfig>

직접 설치

  1. 직접 홈페이지에서 다운 받는다

  2. 압축을 푼다.

  3. /opt폴더에 파일을 옮긴다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

가난한 세팅으로 SSL 적용하기

Imgur

집 인터넷은 이렇게 구성되어 있습니다
따로 도메인을 구매하지는 않은 상태이고 외부에서 내부로 접속하기 위해서 기본 DDNS로 설정해서 사용하고 있습니다.

ASUS 라우터에서는 DDN 서비스와 동시에 Let's Encrypt를 통해서 SSL/HTTPS 인증을 해 주는 기능을 가지고 있습니다. 이 인증파일을 가지고 Raspberry Pi에서 운영하고 있는 NGINX 서비스에서 적용할 수 있습니다

SSH를 통해 ASUS 공유기에 접속을 하고 인증파일을 찾습니다.

find / -iname *pem
admin@BLUE_CAVE:/tmp/home/root# find / -iname *pem
/jffs/.le/********.asuscomm.com/fullchain.pem
/jffs/.le/********.asuscomm.com/cert.pem
/jffs/.le/********.asuscomm.com/chain.pem
/rom/dh2048.pem

경로는 /jffs/.le/[DDNS명]으로 기본설정이 되는 것 같습니다.
해당 폴더로 들어가 보면 검색되는 파일명들과는 달리 4개의 파일이 있습니다.

cert.pem
chain.pem
domain.key
fullchain.pem

이 파일들을 nginx 설정엥 삽입 해야 합니다.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name ********.asuscomm.com; 

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
    ssl_prefer_server_ciphers on;

    ssl_certificate /etc/nginx/ssl/********.asuscomm.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/********.asuscomm.com/domain.key;
    ssl_trusted_certificate /etc/nginx/ssl/********.asuscomm.com/chain.pem;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
}

현재는 Proxy 형태로 서비스하고 있는 port를 연결하고 있습니다.

SSL/TLS 설정 파일을 세팅합니다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

이번에 회사에서 지급 된 맥북 프로를 정리하면서 기존에 설치되어 있는 프로그램에 대해서 가록하고자 합니다. 무엇을 사용하고 있었는지 알고, 새로 맥북을 구매했을 때 바로 설치를 하기 위함입니다.

필수 설치 유틸

맥을 사용 있다면 반드시 설치해야되는 프로그램을 모았습니다. 시스템을 구축하는데 도움이 됩니다.

brew

macOS용 패키지관리자입니다. 맥에 설치 되는 대부분의 어플들을 brew를 통해서 간단히 설치 할 수 있습니다.

terminal에서 아래와 같이 입력하세요.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

AppCleaner

맥에 여러가지 app을 설치하고 난 뒤에 지울때 깔끔하게 삭제가 되지 않습니다. 이를 해결해 주는 앱이 Cleaner앱입니다. 무료/유료로 제공되는데 저는 이게 맘에 들어서 이것저것 사용하다가 잠시 이 것으로 정착 했습니다

CheatSheet

Command키를 누르고 있으면, 앱에 기본으로 설정되어 있는 단축키들을 보여줍니다. 단축키를 익히는데 상당히 많은 도움을 줍니다

Firefox

chrome이 너무 무거운 나머지 옮겨갔다. 개발에서도 깔금한 개발자화면을 제공해 줘서 chrome 보다 잘 사용하고 있다.

Language Switcher

영문 상위에서 운영체제를 사용하고 있는 입장에서 한글로 앱을 실행하기 위해서 커맨드를 입력하는 번거로움을 방지해 준다.

Magnet

Window에서 처럼 앱을 드레그 해서 이동할 때, 오른쪽 끝으로 이동하면 화면을 50:50 으로 앱 실행화면을 나눠준다.
얼마 안 하기 때문에 돈이 아깝지 않습니다.

The Unarchiver

압축파일 해제시에 생기는 파일이름 깨지는 것을 방지해 준다.

data cloud

OneDrive

Google Drive

dropbox

최고의 Sync 기능을 자랑한다. 2019년 6월 기준으로 요금을 올리면서 동시사용할 수 있는 기기 목록수도 줄였다. 다른 서비스로 옮기는 것이 어떨가 고민하고 있다.

개발도구

Postman

REST API 문서를 테스트하기 필수앱. 게다가 무료로 사용해도 충분한 기능을 사용할 수 있다.

OracleDataModeler

현재 사용하고 있는 DB가 Oracle 이기 때문에 이를 Model들을 파악하기 위해서 설치한 앱.

Visual Studio Code

말이 필요없는 코딩용 프로그램. MS에서 개발을 하였고, Window, Ubuntu, MacOS 거진 모든 OS에서 지원하고 있은 프로그램입니다.

Docker

말이 필요없는 가상화 프로그램

FileZilla

FTP 전송 필수앱.
과거에 CyberDuck(?)를 자주 사용했는데, window 와 macOS 에서 동시에 사용할 수 있고 자주 업그레이드되는 장점을 갖고 있습니다.
FTP 전송에서는 아직 다른 앱을 사용해 보지 않았습니다.

IntelliJ IDEA

JetBrains에서 판매하는 코딩 IDE. 유료로 제공되고 있지만, 한번 사용하면 다른 것들은 사용할 수 없다. 너무 많은 기능들과 최신 기술들을 빠르게 적용시켜주는 어플이다.

Sourcetree

Atlassian에서 제작한 git 소스 관리용 툴입니다. 애자일 개발 방식에 따른 소스 브런치 관리법이 적용하고자 하면 이를 사용해 보는 것이 좋습니다.

생산성

OmniFocus

최고의 일정관리앱.

Staiton

웹앱들을 모아놓고 실행관리 할 수 있는 앱

TogglDesktop

Time Tracker라고 해서 자신이 한 일을 일일히 시간대 별로 체크

Trello

칠판에 할 일을 작성하듯이 할 일과 스케쥴을 관리하는 앱. 개발 프로젝트를 기획, 트래킹을 하는데 필수적이다

Spark

메일을 관리앱. Android, iOS, macOS 을 지원하고, 메일을 사용하는데 이런 기능이 있어야 하나 싶은 기능들을 제공하고 있습니다.
기본메일함을 사용하는 것도 나쁘지 않은 선택이지만, 한번 사용해 보는 것을 권합니다.

Slack

개발자들간의 의사 소통을 위한 필수 앱이 되었다.

Pocket

브라우저에서 링크를 스크랩 하는 기능. google 계정으로 로그인이 가능.

Skitch

[PhotoScape X]가 나오기 전에 블로그에 수록 된 간단한 사진을 편집하기 좋았다. 단순한 그림에 표시하기 및 텍스트를 추가 하는데 좋다.

PhotoScape X (무료)

사진들을 일괄 편집할 수 있는 앱. Window에서도 제공하고 있다. 간편하게 사진들을 일괄편집 또는 이펙트를 적용하기 좋다.

OmniGraffle (유료)

간단한 그래프를 그리기 위해서 빠르게 작업할 수 있는 앱. 최근에 명함을 구성하는데 사용했는데, AI 처럼 다른 구조체와의 규칙성을 파악해서 알려주는 기능이 끝내준다.

OmniOutliner (유료)

아직 활용 능력이 미흡해서 잘 사용하고 있지는 못하다. 간단한 메모용도로 사용하고 있다. 자료가 쌓이면서 이를 저장해서 어디에 모아놓을지 전혀 생각을 못하고 있다.
확실한 용도를 생각 해 봐야 되겠다.

Notion (유료)

evernote와 같은 메모기능을 주를 이루고 있다. 하지만, Notion이라는 앱은 에버노트를 넘어 더 많은 다양한 기능들을 제공하고 있다.
4$의 유로 결제를 해야지만 더 많은 기능들을 제한 없이 사용할 수 있다.

Microsoft Teams

Office 365를 구독해서 사용하면서 처음으로 첩하게 된 앱. 다른 사람들과 공동작업을 진행할 때 사용하기에 좋다. 무료로는 일정기능만 제공하기 때문에 부족한 점도 있지만, 깔끔한 영상통화와 파일을 공유하는 기능은 정말 깔끔하게 필요한 기능만을 제공하는 것 같다.
다른 3rd party 앱들도 연동해서 사용할 수 있기 때문에 확장성이 좋습니다.

Pages (무료)

최근에 성는이 좋은 맥을 사용하고 난 뒤에는 좋은 앱이라는 것을 알게 됨. 무료이기에 잘 이용하면 좋겠다.

MacJournal (무료)

매일 블로그나 글을 작성하기 위해서 사용하던 프로그램.
현재는 무료로 기능을 제공하고 있다. app store에서 어느날인가 내려왔는데 왜 그런지는 모르겠다.

DEVONThink

여러가지 인터넷에 돌고 있는 내용들을 수집하는데 최고의 어플입니다. 최근에 버전업이 안되고 있지만 많은 이용자들이 논문자료 정리용 앱으로 잘 사용하고 있는 것으로 알고 있습니다.
저는 블로그 글들을 모아놓은데 사용하고 있습니다.

단점 : 맥에서만 사용할 수 있다. 다양한 기기에서 호환이 안된다.

Microsoft Office

회사에서 이를 사용하지 않고 일을 할 수 있을까요?

Adobe

영상이나 그래픽 쪽 일을 한다면 필수적인 앱

취미/놀이

Movist (PRO)

맥에서 제공하는 최고의 동영상 재생기.
PRO 버전을 현재는 app store 정책 때문에 홈페이지에게 판매하고 있다.

Steam

Epic Games

Battle.net

기타 도구들

HapticKey

맥북 터치바에서 키를 누르면 진동을 발생시킨다.
vim을 자주 사용하는 입장에서 esc버튼을 누르면 이 것이 눌러졌는지 알수가 없다. 이를 진동을 통해서 알게 해 준다.

iStat Menus

맥을 상단바에 현재맥의 이더넷, 메모리, 램, CPU 등 다양한 정보를 제공한다. 100MB 정도의 메모리로 상주해 있으며, 현재 상태를 간결히 빠르게 볼 수 있는 점이 좋다.

Karabiner

한/영 키를 window 에서와 같이 오른쪽 command키 부분으로 하고 싶을 때, 또는 개인이 키보드의 키 설정을 변경하고 싶을 때 사용하자.
기본 설정으로 caps lock을 한영으로 사용했는데, 본인은 ctrlcaps lock를 바꿔놓고 사용을 하고 있다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

N49HL7701 4K 49인치 모델을 회사에서 구매하게 되었다.

이마트에 가면 노브래드 상품들이 진열되어 있다. 많은 혜자 상품이라고 해서 저렴한 가격대에 좋은 상품을 구매할 수 있는 기회을 제공해 준다.

이번에 4K TV인데도, 40만원으로 저렴한 가격으로 판매하고 있어서 회사에 건의해서 얻어 낼 수 있었다. 그런데, 좀 불편하다.

Summary

  1. 총알이 부족하다.
  2. 불편은 감수 할 수 있다. (나는 슬로우 라이프를 산다)
  3. 4K를 사용해 보고 싶다.
  4. 가성비를 따진다

위와 같은 내용을 충분히 인지하신 분은 구매하면 좋겠다.
사용자의 편의성은 필요 없으신 분들은 구매해도 괜찮다. 하지만, 큰 브랜드에서 제공하는 DNLA, WIFI, USB, 등등 의 기능들과 최적화 성능을 느껴보고자 한다면 다른 제품을 알아보길 바란다. (본인처럼 이런 후기 남기기 싫으면..)

절대 부모님에게 선물용으로 사지말자. 매일 A/S 기사로 출근하기 싫다면 말이다.

아래는 구매한 상품의 설치 후 화면

Imgur

단점

단촐한 메뉴 구성

없어서는 안되는 기능들만 들어 있다.
편의성을 위한 기능들이 빠져 있다. 사용시 불편한 점이 너무나 많다.

화면크기 저장기능 부재

컴퓨터를 연결해서 회의실 전용으로 사용하려고 구매를 했다.
그런데, TV를 켤 때마다화면 크기를 PC모드로 변경을 해 줘야했다.

매번 하려니 너무나 불편하다.
4K 모니터를 구매 했지만, 화면이 나갔다 들어오는 해상도 변경 작업을 진행하기라도 하면 화면크기 버튼을 다시 눌러줘야 한다.

화면크기 버튼 :
: PC모드는 화면버튼을 무려 3번 눌러야 나온다.

반응속도

채널을 변경할 때마다 수신기가 문제 인지 속도가 느리다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

맥북프로에서 tb16 dock 사용하기

많은 독 제품을 살펴 봤는데, 예전에 사용했던 OWC 는 사용 기능이 조금 떨어지는 느낌을 지울 수 없었다. 그래서 tb16 이라는 제품을 알게 되었는데, 이게 정식으로 Macbook를 지원하지 않습니다.

애플사에서는 인증된 기기가 아니면 독의 모든 기능을 사용할 수 없습니다. 그러나, 저와 같은 생각을 가진 선지분들이 이를 가능케 했습니다.

대표적으로 아래 링크 되어있는 두가지 솔루션이 있습니다.
무엇을 사용할지 모른다면, 개인적으로 Thunderbolt3Unblocker를 추천합니다.

이유는 _mac이 버전업이 되어도 계속 사용_할 수 있다는 점입니다

두가지 방법을 사용해봤습니다만, tb-enabler는 제대로 작동하지 않았습니다.

설치방법

앞으로의 설명의 Thunderbolt 3 Unblocker에 있는 설명을 그대로 가져왔습니다.

소스 받아오기

다운로드에서 받을 수 있습니다. 또는 아래에서 소스를 직접 받아오세요.

    git clone https://github.com/rgov/Thunderbolt3Unblocker.git
    git submodule update --init --recursive
    brew install cmake

리커버리 모드에서 kext 보안 끄기

재부팅을 하고 사과마크가 나오기 전에 COMMAND+R를 눌러 recoverty mode에 진입합니다.

Imgur

터미널에 누르고 다음과 같이 입력합니다

-bash-3.2# csrutil disable

Successfully disabled System Intergrity Protection. Please restart the machine for the changes to take effect.

성공했다는 메세지와 함께, 바뀐 설정을 적용하기 위해는 재부팅을 해 달라고 합니다.

설치

Thunderbolt3Unblocker.kext파일을 /Library/Extensions 폴더에 복사 합니다.

터미널을 열고 명령어를 입력합니다.

sudo sh -c 'chown -R root:wheel /Library/Extensions/Thunderbolt3Unblocker.kext && \
chmod -R g-w,o-w /Library/Extensions/Thunderbolt3Unblocker.kext && \
kextcache -i / && \
nvram -d t3u-incompatible && \
kextload -b es.govost.ryan.Thunderbolt3Unblocker'

Recovery Mode에서 csrutil disable 명령어를 실행을 잊으면 안됩니다.

    $ sudo chown -R root:wheel Thunderbolt3Unblocker.kext
    $ sudo kextload Thunderbolt3Unblocker.kext

Thunderbolt3Unblocker을 사용해서 설치하는 모습

Imgur

설치가 완료 돤 후에 Thunderbolt Bus가 잡힌 것을 확인할 수 있습니다.

Imgur

csrutil enable

설치가 완료된 후에는 다시 kext security를 설정 해 주셔야 합니다.

csrutil enable --without kext

를 해주고 리부팅을 진행합니다.

삭제 방법

sudo sh -c 'kextunload -b es.govost.ryan.Thunderbolt3Unblocker; \
rm -Rf /Library/Extensions/Thunderbolt3Unblocker.kext'

문제점

완벽히 호환되는 기기가 아니기 때문에 번거로운 점이 많다. 집에서 혼자 사용하는 경우에는 잠자기 모드에 들어가지 않게 하는 것이 시간을 아끼는 방법이다. 또는 애플에서 인증을 한 기기를 사용하는 것도 나쁘지 않다.

  1. 잠자기에서 깨면 HDMI 출력이 안 잡힌다.

    해결책
    : [설정]에 [Displays]에 들어가서 화면 구성을 변경하면 다시 들어온다.
    또는 Thunderbolot 케이블을 뺏다가 다시 꼽아준다.

  2. 화면 잠금이 되어 있는 상태에서 꼽으면, 화면이 깜빡 거린다.

    해결책
    : 암호를 눌러 연결한 다음에 케이블을 연결한다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

Summary

집에서 가전 물품들이 늘어나면서 어댑터에 대한 메모도 필요하고, 무엇보다 아가 물건에 대한 메모를 좀 하기 위해서 라벨지를 알아보고 있습니다.

유명한 브라더 라벨기가 있었고, 핸드폰으로 작성 할 수 있는 모델들 3가지를 비교해서 구매하려고 합니다. 한번 구매하는 것 좋은 제품으로 구매해서 사용하려고 하는데, 이미 답은 정해져 있는데 저렴한 가격에 나오기만을 기다리고 있습니다.

  • PT-P300BT
  • PT-P710BT
  • PT-P750W

TZe Tape 타입으로 세가지 공통된 사항을 가지고 있습니다.
반드시 정품 테이프를 사용할 필요는 없지만, 대부분 사람들이 정품을 사용하는 것을 추천하고 있습니다. 저렴하게 Aliexpress를 통해서 구매 가능하다고 합니다. (배송기간은 책임 못짐)

제품 비교

PT-P300BT PT-P710BT PT-P750W
가격 79,000원 140,960원 161,490원
종류 가정용 가정용 비지니스용
Media type TZe Tape TZe Tape TZe Tape
이용 가능한 tape 너비 3.5, 6, 9, 12mm 3.5, 6, 9, 12, 18, 24mm 3.5, 6, 9, 12, 18, 24mm
size 115 mm x 115 mm x 61 mm 128 mm x 67 mm x 128 mm 78 mm x 143 mm x 152 mm
인쇄 해상도 180dpi 180dpi×180dpi('표준' 인쇄) 180dpi×360dpi('고해상도' 인쇄) 180dpi
커터 수동 자동 자동 풀 커터 자동 하프 커터 (라미네이팅 테이프만 적용)
전원 AAA x 6 AC 어댑터 Li-ion 충전용 배터리(PA-BT-005) AA 알카라인 배터리 6개 AC 어댑터 (박스포함) 리튬이온 배터리(별도 구매)
Mirror printer 지원 - 지원
Print speed Max 20mm/sec 20mm/sec 30mm/초 (AC 어댑터 연결 시) 20mm/초 (AC 어댑터 비연결 시)
무게 0.38kg 0.67kg 0.8kg
연결 USB Bluetooth USB 2.0 Bluetooth※2 Ver2.1 + EDR Class2 USB, wireless LAN, Wireless Direct, NFC

구매 고려사항

한국에서 구매하는 것보다 Amazon에서 구매하는 것이 많이 저렴하다.

amazon P750W 가격

Amazon P300bt 가격

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요