실리콘 밸리의 개발자 대부분은 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에서 회사를 차린다면, 리눅스 시스템을 우선으로 제공할 것입니다.

반응형

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 시리즈, 해피해킹 등등

반응형

vscode를 잘 사용하고 있지만, 왠지 terminal 모드를 잘 사용하고 싶어서 다시 한번 vim에 도전을 해보려고 한다.
예전과 다르게 더 간단히 설치할 수 있게 되었다.

준비

python3 용 vim 설치

mac에 기본적으로 설치되어 있는 것은 python2 버전이다.
vim을 다시 설치 해 준다

$ brew install vim

python3 로 빌드 된 버전이 설치 된다.

Note: brew install vim --with-python3 명령어는 이제 지원하지 않는다.
Note2 : 터미널을 종료하고, 다시 실행시키자. vim이 brew 버전으로 변경된다.

VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 23 2019 20:00:52)
macOS version
Included patches: 1-1200
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl               +extra_search      +mouse_netterm     -tag_old_static
+arabic            -farsi             +mouse_sgr         -tag_any_white
+autocmd           +file_in_path      -mouse_sysmouse    -tcl
+autochdir         +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
-balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
-browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +textprop
+byte_offset       -hangul_input      +num64             +timers
+channel           +iconv             +packages          +title
+cindent           +insert_expand     +path_extra        -toolbar
-clientserver      +job               +perl              +user_commands
+clipboard         +jumplist          +persistent_undo   +vartabs
+cmdline_compl     +keymap            +postscript        +vertsplit
+cmdline_hist      +lambda            +printer           +virtualedit
+cmdline_info      +langmap           +profile           +visual
+comments          +libcall           -python            +visualextra
+conceal           +linebreak         +python3           +viminfo
+cryptv            +lispindent        +quickfix          +vreplace
+cscope            +listcmds          +reltime           +wildignore
+cursorbind        +localmap          +rightleft         +wildmenu
+cursorshape       +lua               +ruby              +windows
+dialog_con        +menu              +scrollbind        +writebackup
+diff              +mksession         +signs             -X11
+digraphs          +modify_fname      +smartindent       -xfontset
-dnd               +mouse             +startuptime       -xim
-ebcdic            -mouseshape        +statusline        -xpm
+emacs_tags        +mouse_dec         -sun_workshop      -xsmp
+eval              -mouse_gpm         +syntax            -xterm_clipboard
+ex_extra          -mouse_jsbterm     +tag_binary        -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o vim        -lncurses -liconv -lintl -framework AppKit  -L/usr/local/opt/lua/lib -llua5.3 -mmacosx-version-min=10.14 -fstack-protector-strong -L/usr/local/lib  -L/usr/local/Cellar/perl/5.28.1/lib/perl5/5.28.1/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc  -L/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin -lpython3.7m -framework CoreFoundation  -lruby.2.6     

빌드 설치

$ brew install cmake

YouCompleteMe 설치

vim 플러그인 Vundle설치

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim`

참조:https://github.com/VundleVim/Vundle.vim

YoutCompleteMe 설치

Vundle에 플러그인 설치

$ vi ~/.vimrc

아래와 같은 내용을 추가

Plugin 'Valloric/YouCompleteMe' "항목추가

:w 명령어를 통해 저장하고, :PluginInstall 명령어를 통해서 설치한다.

Note: 용량이 크기때문에 시간이 조금 더 걸릴 수 있다.
~/.vim/bundle/YouCompleteMe/폴더를 확인할 수 있다.

YCM 빌드

YouCompleteMe 폴더로 이동

$ cd ~/.vim/bundle/YouCompleteMe

자동완성 기능을 추가하기에 앞서서 어떤 언어를 지원하는지 확인 할수 있다.

$ python3 install.py --help
optional arguments:
  --clang-completer     Enable C-family semantic completion engine through
                        libclang.
  --clangd-completer    Enable C-family semantic completion engine through
                        clangd lsp server.(EXPERIMENTAL)
  --cs-completer        Enable C# semantic completion engine.
  --go-completer        Enable Go semantic completion engine.
  --rust-completer      Enable Rust semantic completion engine.
  --java-completer      Enable Java semantic completion engine.
  --ts-completer        Enable JavaScript and TypeScript semantic completion
                        engine.

여러가지 옵션들이 있지만, 위의 내용만을 참조해서 사용하자.
go와 javascript 언어를 사용하기에 아래와 같은 옵션을 사용했다

$ python3 install.py --go-completer --ts-completer
Searching Python 3.7 libraries...
Found Python library: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin/libpython3.7.dylib
Found Python headers folder: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/include/python3.7m
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonLibs: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin/libpython3.7.dylib (found suitable version "3.7.3", minimum required is "3.5")
-- NOT using libclang, no semantic completion for C/C++/ObjC will be available
-- NOT using clang-tidy for static analysis.
-- Configuring done
-- Generating done
-- Build files have been written to: /private/var/folders/76/tll39g2x4cz8fyxqk6zxh3_00000gn/T/ycm_build__txi1732
Scanning dependencies of target BoostParts
[  2%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/codecvt_error_category.cpp.o
[  7%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path_traits.cpp.o
[  7%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path.cpp.o
[  9%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/utf8_codecvt_facet.cpp.o
[ 14%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/portability.cpp.o
[ 14%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/operations.cpp.o
[ 19%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/unique_path.cpp.o
[ 19%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/windows_file_codecvt.cpp.o
[ 21%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/c_regex_traits.cpp.o
[ 26%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/fileiter.cpp.o
[ 28%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cpp_regex_traits.cpp.o
[ 28%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/cregex.cpp.o
[ 30%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/icu.cpp.o
[ 33%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/instances.cpp.o
[ 35%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/posix_api.cpp.o
[ 38%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex.cpp.o
[ 40%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o
[ 42%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o
[ 45%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_traits_defaults.cpp.o
[ 47%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/static_mutex.cpp.o
[ 50%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/usinstances.cpp.o
[ 52%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o
[ 54%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wc_regex_traits.cpp.o
[ 57%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o
[ 59%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/winstances.cpp.o
[ 61%] Linking CXX static library libBoostParts.a
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(windows_file_codecvt.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(icu.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(instances.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(regex_debug.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(usinstances.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(w32_regex_traits.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(winstances.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(windows_file_codecvt.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(icu.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(instances.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(regex_debug.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(usinstances.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(w32_regex_traits.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: libBoostParts.a(winstances.cpp.o) has no symbols
[ 61%] Built target BoostParts
Scanning dependencies of target ycm_core
[ 64%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o
[ 66%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CharacterRepository.cpp.o
[ 69%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Character.cpp.o
[ 71%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o
[ 73%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePointRepository.cpp.o
[ 78%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o
[ 78%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CodePoint.cpp.o
[ 80%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o
[ 83%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o
[ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o
[ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o
[ 90%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o
[ 92%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Word.cpp.o
[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o
[ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o
[100%] Linking CXX shared library /Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so
[100%] Built target ycm_core
-- The C compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonLibs: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin/libpython3.7.dylib (found version "3.7.3")
-- Configuring done
-- Generating done
-- Build files have been written to: /private/var/folders/76/tll39g2x4cz8fyxqk6zxh3_00000gn/T/regex_build_5gvorctk
Scanning dependencies of target _regex
[ 66%] Building C object CMakeFiles/_regex.dir/regex_3/_regex_unicode.c.o
[ 66%] Building C object CMakeFiles/_regex.dir/regex_3/_regex.c.o
[100%] Linking C shared library /Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/cregex/regex_3/_regex.so
[100%] Built target _regex
/Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/tsserver/bin/tsc -> /Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/tsserver/lib/node_modules/typescript/bin/tsc
/Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/tsserver/bin/tsserver -> /Users/forteleaf/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/tsserver/lib/node_modules/typescript/bin/tsserver
+ typescript@3.3.3333
updated 1 package in 0.641s
반응형



어느날 갑자기 맥에서 시작하자마자 응용 프로그램이 들어오는 네트워크 연결을 허용하도록 하겠습니까? 라는 메세지가 등장했습니다.

네이버에 검색을 해보니까 어떤 분이 스팀을 설치하고 난 뒤에 이런 문제가 생겼다는 글이 하니 있습니다.
구글에서는 어떤 정보도 나오지 않네요. 어디서 문제가 생기면 알 수 있었을텐데 하나도 없다니 신기하네요.

그래서 파일 찾는 어플 Find Any File 을 이용해서 nosintgdmn 을 검색해 보았습니다.



이러한 결과가 나오네요.
열결되어 있는 프로그램들을 살펴보니 nprotect와 관련 된 파일 인듯 합니다.
아무래도 전에 맥을 이용해서 한국 공공기관에 접속을 하려고 설치했던 보안 프로그램들이 문제 인듯 싶습니다.

[응용 프로그램]에 가보시면 nProtect, nProtect *** 어쩌고 하는 잡라구리한 프로그램들이 많이 보입니다.
다양한 이름들이 존재 할 수록 얼마나 많은 쓰레기 같은 프로그램들이 설치되어 있는지 확인 할 수 있습니다.

이것들을 다 지워주면 됩니다.



[응용 프로그램] 에 nProtect Netizen 폴더에 들어가보시면 이러한 아이콘이 있을 것을 확인 할 수 있습니다.
nprotect를 지우는 건데요. 의미 없습니다. 하지만 실행해서 지워야 합니다.
실행해서 관리자 비밀번호를 입력하고 삭제를 하면 됩니다.

하지만, 결국에 한국에서 은행 업무나 기타 공관을 이용하려면 다시 설치하게 될 겁니다.
결론은, nprotect 다 지우면 안 떠유....


반응형

'개발' 카테고리의 다른 글

윈도우 live writer 설치하기  (0) 2016.11.29
일곱가지 모델  (0) 2016.11.19
android | adb를 이용해서 캡쳐하기  (0) 2016.09.28
[mariaDB] 중복키 관리  (0) 2016.08.05
어떻게 블로그 수익을 올릴까  (0) 2016.07.15
여러 블로그들을 들어가보면, 사진들에 이쁘게 사진의 사이트들을 알리는 마크 또는 사이트 주소들을 사진에 땅땅하고 찍어 놓는 경우가 있습니다.
다른 곳에 사진을 퍼 가더라도 라이센스를 유지하기 위해서 이렇게 만드는 것인데요. 저도 한번 만들어 보았습니다.
개인적인 사이트들을 운영한지는 꽤 되었지만, 한번도 자신의 마크를 가져본 적이 없었는데요. 한번 제대로 블로깅을 해보자 마음을 먹어서 이렇게 만들게 되었습니다.

저는 macupdate.com 에서 watermark 프로그램을 검색하다가 최신날짜로 업데이트가 되어 있는 어플을 사용했습니다.
자주 업데이트 해주는 어플이 사후 관리를 잘 해주는 좋은 어플이라고 생각합니다.

가격은 30$ 입니다.



제공되는 기능들

  • 워터마크 찍기
  • 사이즈 조절하기
  • 사진 필터
  • 등등등 ....

이 어플의 장점은 resize 와 watermark 를 동시에 실행할 수 있다는 점이다.
설정을 한번 해주면, 그에 맞춰서 사이즈를 줄여주고, 다시 워터마크를 찍어준다.

어떤 순서로 진행되는지는 모르겠지만, 아마도 워터마크 해상도를 보아하니, 사이즈를 줄이고 난 다음에 워터마크를 찍는 듯 합니다.



반응형
OSX 기능들 중에 유용한 기능인 화면 저장 단축키가 있습니다.

shift + command + 3 화면 그림을 파일로 저장
shift + command + 4 선택한 영역의 그림을 파일로 저장

기본적인 설정으로 PNG 파일로 저장이 됩니다. JPG 파일보다 용량이 두배이상 높기 때문에 중요하지 그림에 까지 PNG 파일로 저장하는 것은 비효율적인 일입니다. 그래서 과거에는 다른 대안으로 추가 위젯을 이용해서 사용했습니다



간편하게 설정해서 사용할 수 있는 screenshot plus

그러나 이제 간단한 설정으로 이것을 해결할 방법을 찾았습니다.



Finder - 응용 프로그랙 - 유틸리티 - Terminal 를 엽니다.

defaults write com.apple.screencapture type jpg
killall SystemUIserver

대문자 소문자 잘 지켜서 입력하시면 됩니다.
다시 PNG 파일로 저장하려면 jpg 를 png 로 일력하면 됩니다.

defaults write com.apple.screencapture type png

단점
JPG 파일이다 보니 해상도가 낮습니다. PNG파일로 저장 된 상태에서 편집하고 난 뒤에 JPG로 가공하는데 번거롭더라도 좋은 화질을 얻을 수 있습니다. 하지만, 저는 이 작업이 불편하니, 그냥 합니다. ㅋㅋㅋ

반응형
맥북에서 다양한 블로깅툴이 존재합니다만 제가 개인적으로 자주 사용하는 어플은 macjournal 입니다.
evernote(에버노트) 와 비슷한 기능을 갖고 있습니다.
글쓰기에 최적화 된 기능을 갖고 있고, 처음 맥을 접하고 사용한 어플이라 애정이 가는 프로그램입니다.

주의할 점
  1. 여러개 사진도 포스팅 가능합니다. 단, JPG들만 가능합니다.
  2. JPG 파일이름에 영어만으로 합니다 (한글이 안됨)
  3. 포스팅 한 것을 사지 수정에 들어가도 사진들이 나오지 않습니다.

Naver에 로그인 안 상태로
http://admin.blog.naver.com/forteleaf/config/topmenu 에 들어갑니다.
메뉴,글 관리에서 글쓰기 API 설정에 들어가면 필요한 정보를 얻을 수 있습니다.



위와 같은 정보를 얻을 수 있습니다.
이제 Macjournal 로 돌아가서 블로그 세팅을 해야 합니다.
API연결 암호(모자이크 부분)를 얻어야 합니다. 이게 없으면 macjournal에서 포스팅하기가 불가능 해요.
비밀번호를 얻고 나면, API 연결이 가능한 상태입니다. 란 상태가 나와야 가능합니다.



상단메뉴에 있는 [Journal] - [Blog Settings…] 에 들어가면 자신의 포스팅 할 수 있는 블로그를 추가할 수 있습니다.갑니다.

NAME : 아무거나
TYPE : MetaWeblog
URL : 자신의 블로그 주소를 적습니다.
Post URL : https://api.blog.naver.com/smlrpc
User : 사용자 아이디
Blog ID : 비워두셔도 됩니다.

이렇게만 설정을 하고 포스팅을 하면, 띄여쓰기가 망가지는 경우가 생깁니다.
Options 항목에 들어가서 제일 아래에 있는 Format line breaks 를 체크 해 주시면 이 문제가 사라집니다.

이렇게 설정을 하면 모든 것이 끝납니다.
이제 글을 작성하고 난 뒤에 상단메뉴 - [share] 메뉴를 통해서 포스팅 할 수 있습니다.



반응형

+ Recent posts