grep 을 통해서 해당 text가 포함 된 파일을 찾고, 이 파일들에서 일정 부분을 수정하는 코드를 작성하려고 한다.

LINUX에서는 되는 명령어가 MAC에서는 옵션의 차이로 안되는 상황이 있다.

$ grep 'jquery-3.3.1.min.js' -rl . | xargs sed -i '' -e '/jquery-3.3.1.min.js/jquery-3.4.1.min.js/g'

-r : recursive 하위폴더까지 검색

-l : list 찾은 파일들을 리스트.
pipe 구문을 사용하기 위해서 이 옵션을 추가 한다.

xargs는 유닉스 및 유닉스 계열 운영 체제의 명령어로 표준 입력을 통해 명령 줄을 만들고 실행하는 데 사용한다

-i : 출력하지 않고, 파일로 저장한다.

-e : EOF 또는 지정된 문자열이 나올때 까지 계속 xargs 를 통한 필터링을 수행.

파일 마커 문자열의 논리적 끝을 eof-str로 설정하십시오. 파일 마커 문자열의 논리적 끝이 입력 행으로 발생하면 나머지 입력은 무시됩니다. eof-str을 생략 ( '-e')하거나 공백 ( '-e'또는 '-E')하면 파일 마커 문자열의 논리적 끝이 없습니다. 이 옵션의‘-e’형식은 POSIX 호환‘-E’옵션 대신 사용되지 않으며 대신 사용해야합니다. GNU xargs 버전 4.2.9부터 xargs의 기본 동작은 파일 마커 문자열의 논리적 끝이 아닙니다. POSIX 표준 (IEEE Std 1003.1, 2004 Edition)이이를 허용합니다.
‘-d’또는‘-0’옵션이 유효한 경우 파일 마커 문자열의 논리적 끝은 특별히 처리되지 않습니다. 즉, 이러한 옵션 중 하나가 적용되면‘-E’를 사용하더라도 전체 입력 파일을 읽습니다.

블로그 이미지

부들잎

안녕하세요

Tag FIND, grep, Mac, xargs

댓글을 달아 주세요

타오나스를 구매하고 난 뒤에 시롤로지 시스템을 매번 업그레이드 할때마다 수작업 하는게 싫어서 opensource 로 되어 있는 나스 운영 시스템을 사용하기로 했다.
그 와 중에 freenas 라는 시스템이 눈에 들어왔고 일단 설치해서 사용하는 도중에 JAIL이라는 VM 시스템이 있어서 이를 통해 다양한 시스템을 올려보고 있는 상황이이었다. 그런데 이게 서비스가 돌아가는 시스템이 익숙한 시스템이 아닌지라 공부를 할 필요가 있었다.

minidlna 를 통해서 부모님 집에 파일을 올려주고 있는데, 이게 rwxrwx---권한으로 파일이 올려지는 것이다. 그리고,, dlna 권한은 이 dataset 의 폴더 권한이 없었다.

이를 해결하기 위해서 공부시작.

이렇게 freebsd와 jail 에 대해서 알아간다.

시작

데이터셋에 있는 데이터에 접근하기 위해서는 다음과 같은 설정이 되어야 합니다.

  1. dataset/folder 에 접근할 수 있게 마운트

  2. data folder 의 쓰기 권한

플러그인 jail 에서 접근할 수 있는 dataset 만들기

dataset은 jail 외부에 구성을해서 정기적인 snapshot 또는 백업 환경을 구성해 주는 것이 좋습니다. 이를 jail 에서 마운트 해서 사용하는 것입니다.
일반적으로 jail 에서는 외부의 파일에 접근 할 수 없습니다.

jail 에 dataset 연결하기

Mount points를 통해서 접근하게 설정할 수 있습니다.

Imgur

다음 문서를 참조해서 설정을 합시다.

Permission 설정

플러그인에서 파일에 접근하기 위해서는 4가지 방법이 있습니다.

모든 파일와 폴더는 UNIX Permision level, UID 소유권한(ownership), GID 권한(ownership)을 가지고 있으며, 사용자/그룹 구성원을 권한을 결정합니다. 기본 UNIX 권한은 FreeBSD의 가이드 북에 설명되어 있습니다.

Value Permission Directory Listing
0 No read, no write, no execute ---
1 No read, no write, execute --x
2 No read, write, no execute -w-
3 No read, write, execute -wx
4 Read, no write, no execute r--
5 Read, no write, execute r-x
6 Read, write, no execute rw-
7 Read, write, execute rwx

JAILFreenas HOST는 user/group 에 대한 정보를 공유하지 않습니다.
에직 매핑되어 있는 사용자가 있으면 그 정보가 공유 됩니다.

jail 사용자 영역(plugin) 내에 실행 중인 프로세스는 jail 의 user/group 설정에 따라 파일 파일/폴더 에 읽고 쓸 수 있습니다.

가본적으로 대부분의 플러그인은 특정 UID를 가진 특정 사용자로 실행되며 데이터 디렉토리라고 하는 구성(Configuration)/db/logs 를 유지합니다.

절대 감옥 데이터 세트의 소유권 또는 권한 수준을 변경하지 마십시오.

여기에 포함된 운영시스템과 앱 파일들이 수정되면 시스템이 제대로 동작하지 않을 수 있습니다. 오직, dataset의 소유권한과 권한수준만 변경하시기 바랍니다.

사용자 쓰기 가능

plugin 기본 사용자로 UID 가 일치하는 FreeNas WebUI 사용자를 추가합니다.

dataset/folder 소유권을 새로 추가한 사용자로 변경하십시오.

UIDcat /etc/passwd 명령어를 통해서 알 수 있습니다.

nomad:*:472:472:Nomad Daemon:/var/tmp/nomad:/usr/sbin/nologinminio:*:473:473:Minio Daemon:/var/tmp/minio:/usr/sbin/nologinnetdata:*:302:302:NetData Daemon:/var/cache/netdata:/usr/sbin/nologin

에 있는 302:302 에서 앞에 숫자

사용자 쓰기 가능

  • 이게 잘 작동함

jail안에서 dataset/folder 소유권한이 일치하는 UID 가진 사용자를 추가히십시오.

pw useradd -n USER -u UID -d /nonexistent -s /usr/sbin/nologin

jail 에서 플러그인이 실행되는 사용자를 변경하고 data 디렉토리의 소유권한을 변경합니다.

service 플러그인 onestopchown -R USER:GROUP /var/db/PLUGINsysrc '플러그인_user=USER'service 플러그인 start

그룰 쓰기 가능 추가

그룹쓰기가 가능하도록 dataset/folder의 소유권한을 변경합니다.

jail 에서 일치하는 GID를 가진 그룹을 dataset/folder의 그룹 소유자로 추가 합니다.

pw groupadd -n 그룹 -g GID

jail 에서 플러그인이 실행되는 사용자를 새로 추가 된 그룹에 추가합니다.

pw groupmod 그룹 -m 사용자

다른 쓰기 가능

  • 잘 안됨

dataset/folder 에 다른쓰기 권한을 변경합니다.
smb 를 통해서 파일을 추가할 때 사용자의 기본 user/group 으로 파일이 저장이 된다.
dlna 에서 권한이 없어서 dlna에서 파일을 읽을 수 없는 상태가 된다.

결론

jail안에서 HOST에 있는 그룹(gid)을 추가해서 서비스(dlna)를 그 그룹에 추가 했다

# meida group 생성pw groupadd -n media -g 8888888pw groupmod media -m dlna

그런데 이렇게 하니 권한이 없다며 안되다.

이번에는 media 유저를 추가했다. 이것은 HOST의 media의 사용자 권한을 가져가는 것과 같다

pw useradd -n media -u 8888888 -d /nonexistent -s /usr/sbin/nologin

까지 설정 한 뒤에 /usr/local/etc/minidlna.conf의 설정해서 아래와 같이 실행하는 USER를 변경 해 줬다.

# specify the user account name or uid to run asuser=media

연구를 좀 더 해봐야 한다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

update : 2020.01.06

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

필수 설치 유틸

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

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 (무료)

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

office365를 사용하고 있어서 잘은 안 쓰지만, mac에서 잘 작동하는 것을 역시 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를 바꿔놓고 사용을 하고 있다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

랩탑을 이용해서 일을 하다보니 일하는 장소가 자주 바뀌 때가 있다. 이 때에 자신을 위해서 자세를 신경 쓸 필요가 있다.
그래서 몇가지 컴퓨터를 사용하는데 있어서 주의해야 할 몇가지들을 남겨본다.

무릎에서 랩탑을 꺼내기

무릎에 노트북을 올려놓고 사용하는 자세는 몸을 웅크리게 만들고, 머리를 내밀어 화면을 응시하게 만듭니다. 이 자세는 척추에 무리를 주게 됩니다.

책상이 없이 작성을 해야 할 경우에는 컴퓨터가방이나 서류 가방에 올려놓고 화면을 올리시기 바랍니다.

모니터를 더 높이기

이상적인 랩톱 높이와 각도를 사용하면 목을 구부리거나 회전시키지 않고도 화면을 쉽게 볼 수 있습니다.
노트북을 책상 위로 몇 인치 위로 들어 올려 노트북 받침대 또는 두꺼운 책 더미와 같은 안정된 지지대 표면에 놓고, 똑바로 쳐다 보면 눈이 자연스럽게 화면의 3 분의 1에 닿아야합니다.

별도의 키보드와 마우스, 모니터에 투자하기

노트북을 장시간 작업하는 경우에는 다음 두가지 중 하나를 수행하는 것이 좋습니다.

  1. 별도의 키보드와 마우스를 사용하여 랩톱화면을 눈눞이에 올바르게 배치

  2. 눈높이에서 외장 모니터 사용 어깨와 팔이 긴장을 풀수 있는 높이에 카보드 놓기

팔꿈치는 90도 각도로 몸에 꼭 맞아야하며, 타이핑 할 때는 속목이 중립에 있어야 합니다. 이 자세는 어깨를 둥글게하고 목 근육을 잡아 당기는 것을 방지합니다.

노트북 화면 업그레이드

노트북은 휴대하기 쉽고, 사용하기 쉽도록 설계되어있지만, 화면은 사용자에 맞지 않을 수 있습니다. 화면이 작을수록 텍스트와 개체가 보이도록 목에 긴장을 하게 됩니다. 화면에서 글을 자주 읽을 경우에 글꼴을 늘릴 수도 있습니다.

발 올려놓기

팔과 손목을 편안하게 놓을 수 있도록 의자를 들어야 하는 경우 다리의 각도를 확인하세요. 발은 바닥에 평평해야 하고 무릎은 엉덩이와 고른 높이에 있어야 합니다.
엉덩이가 너무 높거나 평평해야하고, 무릎은 엉덩이와 고른 높이에 있어야 합니다. 엉덩이가 너무 높거나 발이 바닥에 닿지 않으면 발밑을 지탱하기 위해 계단이나 블록을 사용하세요.
이를 통해 중립 요추를 유지하고 허리의 긴장을 줄일 수 있습니다.

인체 공학적 의자 찾기

노트북을 사용하는 동안 앉는 의자의 유형이 중요합니다.

완전히 조절가능하고, 요추 지지대가 있는 모든 사무실 의자가 좋지만 제대로 지지되지 않으면 요추에 무리가 올 수 있습니다. 의자에 기대어 앉으면 요추 지지대가 허리에 자연스러운 곡선을 유지하는 데 도움이 됩니다.

목과 머리의 위치는 귀가 항상 앞이 아닌 어깨 위에 있어야 합니다.

휴식 취하기

전화에 30분 마다 잠깐 휴식을 취하도록 알림을 설정하세요.

화면에서 눈을 떼고 원거리에 있는 물체에 눈을 주시하기 바랍니다. 책상, 목 , 어깨, 팔, 다리, 스트레칭과 같은 간단한 스트레칭을 하세요. 1시간 마다 책상을 두고 걸어다니면서 혈액이 흐르고, 근육이 느슨해 지도독 하세요.

걸을 수 없다면 최소한 서서 스트레칭하고 움직이세요. 사람은 언제나 움직이는 존재이며 하루종일 가만히 앉아있을 수 없습니다.

일어나기

노트북으로 장기간 시간을 보내는 사람들의 경우 의자에 앉아있지 않고, 일어나서 두시간 정도 시간을 보내십시오. 목에 무리를 주지 않으면서 별도의 키보드와 뫄우스와 멀티 설정이 필요합니다.

서서 일하는 책상이 인기있는 옵션 중 하나 입니다.

가볍에 이동하기

일반적으로 회사와 집을 오가며 랩톱을 사용하는 경우 여분의 세팅장비를 사용하여 자리에 잡아두는 방식으로 사용하세요.

가방을 한쪽으로 매지 않는 것이 좋습니다. 너무 무겁다면 캐리어를 이용하는 것도 한 방법입니다.

자세 관련 앱 사용하기

노트북에 사용해서 자세를 모니터링하고 유용한 알림 메세지를 제공하는 기능들을 사용해 보세요. 다음과 같은 다양한 기능을 수행하는 지원을 받을 수 있습니다.

노트북 카메라를 사용해서 자세를 감시하고 언제나 똑바로 똑바로 앉아야 하는지 알려주고, 책상에서 간단한 스트레칭을 지도 해 줍니다.

웨어러블 기기는 당신의 척추 자세를 측정하고 당신의 전화나 태블릿 앱으로 데이터를 보냅니다.

참고 : https://www.spine-health.com/video/video-6-tips-improve-posture-while-sitting

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

(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로 개발되어 있고 톰캣서버를 통해서 서비스가 이뤄지고 있습니다.
실제적인 성능면에서는 뛰어날 것으로 보입니다.
그리고, 엔터프라이즈급으로도 처리가 가능할 것으로 보입니다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

실리콘 밸리의 개발자 대부분은 Linux, Window 보다 MacOS를 선호할까?

두 가지를 모두 사용했으며, Linux가 나를위한 더 나은 선택이라고 확실하게 말할 수 있습니다. 나는 OS선택에 있어서 다른 사람들에 의해서 강요되어 지고 있다고 생각합니다. OSX는 어떤면에서는 Linux보다 좋았지만, 그 혜택은 거의 사라졌습니다.

분명히 리눅스를 주 OS로 사용하는 것이 좋은 생각이라고 생각합니다.

실리콘에서는 개발자들이 마더보드에 16GB를 판매한 2,500달러의 맥북 레티나 프로와 인텔 아이리스 프로 그래픽스 + AMD 라데온 R9 M370X의 트로피를 받을 때까지 "만들 수 없다"는 믿음이 있다.

Mac 하드웨어가 (GPU)보다 더 뒤처지고 소프트웨어의 품질이 계속 떨어짐에 따라, 나는 MBP의 트로피 상태가 떨어지면서 리눅스가 인기를 얻을 것으로 기대한다.

성공의 열쇠는 리눅스에 맞춰져 있고 제조업체가 지원하는 컴퓨터를 사는 것이다. 이는 많은 사람들이 "그냥 일부 오래된 하드웨어"에 로딩할 때 겪는 하드웨어 호환성 문제를 없애는 것입니다.

저는 system76 노트북과 데스크톱을 사용하고 있으며 그들의 컴퓨터와 서비스에 매우 만족해 왔습니다. 노트북 중 하나인 Oryx Pro는 GSync, PCIe SSD, i7, 32GB RAM과 아름다운 IPS 디스플레이를 갖춘 GTX970m GPU를 가지고 있다. 또한 Kubuntu의 선호 소프트웨어에 대한소식지 목록을 유지하는 것입니다. 이외의 건설적인 의견을 존중합니다.
Linux를 개발 및 개인 컴퓨팅 전용으로 사용하는 이유는 다음과 같습니다.

뛰어난 GPU 및 CPU

내 가정용 PC와 노트북은 최상의 디스플레이와 GPU를 갖춘 최고급 기기들입니다. 나와 아이들은 2,000개의 게임 중 많은 게임을 스팀에서 하고, 나는 CUDA와 심오한 학습에도 관심이 있습니다. Mac에서는 이 것을 잘 할 수 없습니다. 강력한 GPU는 나에게 매우 중요하기 때문에 나는 32GB System76 i7 WildDogPro에 3440x1440 커브드 모니터에 GTX980Ti를 구매 했습니다.
아이리스 그래픽으로 데크 아웃한 MBP 레티나와 거의 비슷한 가격이였습니다.

서버와의 진정한 호환성

빌드 스크립트의 절반이 Linux Bash + GNU 도구에 있고, 절반이 Bash + BSD 도구를 사용하고 있습니다.
왜냐하면 개발자들이 MBP를 보유해야 한다고 주장하면서 "거의 Linux"라고 가정했기 때문에 반은 Bash + BSD 툴을 사용하고 있었습니다. 말해두지마,ᆫ 그것은 엄청난 착각이었습니다.
컴퓨터에서 코드를 작성하는 데 수 주일의 시간을 보내는데, "OSX가 다르다해도 상관 없다"고 말하는 사람들은 종종 "... OS X는 거의 리눅스에 가깝다"라고 말하면서 종종 모순됩니다. 그러나 그것은 중요한 문제가 아닙니다.

나를 예민하게 만들어 준다

최소한의 컨텍스트 전환으로, 나는 항상 거의 실물과 같은 툴 세트를 사용하고, 본능적으로 사물을 스크랍트를 작성하고, 서버 간에 원활하게 작읍합니다. 필자는 아직 스크립팅 기술로 저에게 깊은 인상을주는 맥 사용자를 아직 찾지 못했습니다.
나는 여러 클러스터에 있는 100대 이상의 리눅스 서버의 소프트웨어를 관리하곤 했는데, 그 작업에 리눅스에서 작업 하는 것 외에는 상사도 할 수 없습니다.

모든 것을 가능하게 한다

필자는 Mac을 사용하는 동료보다 Linux에 대한 문제점이 적다고 생각합니다.
/homebrew /fink /macPorts가 필요없고 sudo apt-get update & sudo apt-get upgrade를 사용합니다.
나는 몇몇 회원들이 "트로피"맥을 고집하는 팀을 관리했었습니다. 필자는 컴퓨터를 설치하기위한 스크립트와 절차를 작성했습니다. 맥은 꼬박 2 ~ 3 일의 시간이 필요했고, 리눅스에서는 약 1 시간 정도의 시간이 걸려 거의 완전 자동화되었습니다.

리눅스는 맥에서 못하는 일을 한다

요 전날 우리는 초고속 DPI 스크린 샷이 필요했습니다. 간단하게

$ xrandr -output DP-2.8 -s 3440x2880 -panning 3440x2880

그리고 나서 나는 크롬의 스케일 크기를 두 배로 늘리고 몇 분 안에 그것들을 얻기 위해 크스냅샷을 사용했다. Mac이나 Windows 기기를 가진 사람은 아무도 이것을 어떻게 해야 하는지 몰랐습니다.

"비즈니스 소프트웨어는 Linux에서 실행되지 않는다"라는 주장

은 대부분 설득력이 없다.
특히 MS Office가 곤경에 처한 SV에서는 더욱 그러하다. 필자는 Balsamiq 3, Slack, DropBox, Chrome, Hangoutouts, GoToMeeting, WebStorm, Skype, Gimp, Insync, Inkscape 등을 운영하고 있다.
아, 그리고 쉬는 시간에 스팀. 이 모든 것들은 매우 잘 운영되며, 나는 응용 프로그램이나 시스템 충돌은 거의 보지 못했다. 웹스톰(JetBrains IDE)은 Mac보다 Linux에서 더 잘 작동합니다. NodeJS, MongoDB, MySQL, SQLite 및 수십 개의 다른 개발자 도구와 동일합니다.

7 KDE/Plasma 인터페이스가 Windows와 OSX보다 우월하다고 생각한다.

모든 것을 사용해 봤습니다.
sysadmin과 스크립팅 기술이 제한된 수많은 개발자들을 상대하는 것은 답답합니다.
어떤 이들은 명령줄이 아닌 OSX GUI에서 생각하기 때문에 해결책을 생각하지 못합니다. 만약 내가 SV에서 회사를 차린다면, 리눅스 시스템을 우선으로 제공할 것입니다.

블로그 이미지

부들잎

안녕하세요

Tag KDE, Linux, Mac, OSX, window

댓글을 달아 주세요

vscode 에서 nodejs 코딩을 하다보면 코드를 정렬해 주는 툴 중에 prettier라는 것이 있다. 이 기능을 vim에서도 사용할 수 있는 방법이 있다.

https://vimawesome.com/plugin/vim-prettier-who-speaks 에서 설치하는 방법을 따라서 할 수 있다.

Vundle 을 설치했다고 가정하고.

~/.vimrc 파일에 아래 옵션을 추가 한다

Plugin 'prettier/vim-prettier', { 'do': 'yarn install' }
  1. :w를 통해 저장
  2. :source %명령을 통해 소스를 적용 시킨다.
  3. :PluginInstall 을 통해서 설치한다.

이제 yarn 을 통해서 설치해야 한다.

node 가 설치되어 있고, npm 이 설치 되어 있는 상태에서 진행을 해야 한다.
prettier를 사용하기 위해서는 npm이 필요하다.
$ npm -g install yarn를 통해서 global로 yarn을 설치하자.

vim-prettier가 설치되어 있는 폴더로 이동

$ cd ~/.vim/bundle/vim-prettier/

yarn을 통해서 vim-pretter에 필요한 모듈을 설치

$ yarn

참고
: yarn = yarn install 과 같은 동작을 한다

이제 파일들을 수정하고 난 뒤에

:Prettier명령을 통해서 자동으로 정렬되는 것을 확인 할 수 있다.

Imgur

저장할 때 자동으로 Prettier 적용하기

~/.vimrc파일 에 아래 항목을 추가 한다.

vim 8+ 버전에서

let g:prettier#autoformat = 0
autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync

기타 옵션에 대해서

VimAwesome페이지에서 더 많은 옵션을 찾을 수 있다.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

OmniFocus 에서 Webdav 를 이용해서 어디서든 동기화 해서 사용할 수 있는 시스템이 있다. 이렇게 한다면 아이폰이든 맥에서 자동으로 동기화가 되서 같은 DB 를 이용해서 사용할 수 있다.

Omnifocus 설정

동기화 설정에서 아래와 같이 설정하자

example.com:[https 포트]/[시놀로지 계정]

Imgur

지금 동기화 버튼을 누르면, 계정명암호를 입력하는 창이 나온다.
입력하면, webdav폴더에 파일이 생성되어 있는 것을 확인 할 수 있을 것이다

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

맥에서 다양한 키보드를 사용하다 보니 필요에 따라서 설정을 변경해야 할때가 많다.
기본적인 function키들은 설정이 가능한데, 추가 설정해야 할 경우에 karabiner를 사용하면 정말 편하다.

처음에는 단순히 한영 전환을 위해서만 사용했는데, 이 기능은 빙산으 일각에 불과하다.

기본적인 OS 에서 단축키 전환

Imgur
윈도우 키보드를 사용할 때 불편한 사항 중 하나가, 키 배열이 다르다는 점이다. 지 엉도 기능만으로 만족한다면 아래 응용프로그램을 사용 할 필요가 없다.

karabiner에서는 키보드별로 단축키를 설정할 수 있고, 모든 키보드에도 단축키를 전환 할 수 있다.

Karabiner를 설치하면 기본 맥에서 설정할 수 단축키는 작동하지 않는다.

Imgur
현재 왼쪽 OPTION, COMMAND, CAPSLOCK, CTRL키를 전환해서 사용하고 있다. 일반 키보드를 사용하면서도 맥의 키 타입을 사용할 수 있어서 좋다.

키보드자체에서 스위치(DLP SWITCH)로 키를 변경할 수 있는 키보드를 사용할 수도 있는데, 운영체제를 바꿔서 사용할때 번거롭다.
예 ) 레오폴드 660 시리즈, 해피해킹 등등

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요

 

 

맥을 처음 사용하면 어떤 프로그램들을 설치해야 할까 모르는 사람들이 많다. 본인도 처음에는 어떤 프로그램을 사용해야 할지 고민을 많이 했고 검색도 많이 했다.

현재는 필수적인 몇개의 파일을 제외하고는 사용하고 있지 않다.

이유는 :

  1. 용량이 늘어남.
  2. 노트북을 바꿀 때마다 불편함.
  3. 단순한게 좋다.

결국에는 상황에 따라서 추가로 설치하겠지만, 다음 항목은 꼭 설치 했으면 한다.

윈도우 처럼 한영키를 변환하기

Imgur

윈도우에서는 스페이스바 오른쪽에 있는 키로 한/영 전환을 하지만 맥에서는 caps lock으로 전환을 한다. 나중에는 익숙해 지겠지만, 윈도우도 겸해서 사용하게 되면 오타 빈도가 늘어난다. 이를 방지 하기 위해서 아래와 같은 프로그램을 사용하자.

karabiner

키보드 매핑하는 프로그램인데, 기본 프로그램에서는 오른쪽 COMMAND 키를 설정할 수가 없다. 이를 해결하고 오른쪽 키를 한/영 키로 전환 할 수 있는 옵션을 제공한다.

압축프로그램 제어

Imgur

윈도우에서 최고로 치는 압축 프로그램은 알집반디집이다. 맥에서도 사용할 수는 있지만 유료로 사용할 수 있기 때문에 이를 대체할 수 있는 프로그램인 The Unarchiver를 사용하자.

장점

  1. 압축을 풀었을 때, 한글이 깨지는 현상을 방지할 수 있다.
  2. 무료
  3. 가볍다

The Unarchiver

APP STORE에서 무료로 다운 받을 수 있다.

윈도우창을 제어하자

Imgur

윈도우에서는 창을 드레그해서 오른쪽이나 왼쪽 끝에 옮겨놓으면 자동으로 화면이 불할되는 기능을 갖고 있다. 하지만 맥에서는 이 기능을 지원하고 있지 않아서 이 앱을 설치해야 한다

유료 버전이며 5000원 정도 하는 걸로 기억한다.
나중을 위해서 편히 결제하는 것을 추천한다.

MAGNET

반드시 설치하시길 …

앱 삭제를 위한 앱

Imgur

앱이 설치되어 있는데 이를 제대로 삭제 해 주지 않는다면… 윈도우에서 레지스트리 쓰레기에서 오는 속도저하가 맥에서도 일어날 수 있다.
이를 방지하기 위해서 지우려는 앱의 연동되어 있는 저장내용도 삭제를 해야 한다.

현재 앱스토어에서 무료로 풀리고 있는 삭제앱을 추천하다.

App Cleaner
자신은 맥을 보다 깨끗하고 효율성 있게 관리하자.

블로그 이미지

부들잎

안녕하세요

댓글을 달아 주세요