남는 맥미니에서 도커로 사이트를 하나 띄웠는데 백엔드가 너무 느리다.
프론트는 vue로 만들어진 정적파일이고, 백엔드는 golang으로 빌드된 실행파일이다.
백엔드에서 API응답이 늦다.

기존에 리눅스에서 서비스되던것이라 다른점은 호스트가 MacOS라는것.

백엔드는 느릴만한 로직이 없고.. 기존에도 빠르게 동작했었다.

결국 답은 찾았는데, 백엔드는 임베디드 데이터베이스를 쓰는데 파일을 로컬에 저장한다.
이 디비를 MacOS에 두고 도커에 마운트해 쓰는데 맥의 경우 파일시스템 동기화에 문제가 있는지 느리다고 한다.

해결방법은 volume 마운트 설정에 :delegated를 붙이라는것.
그렇게 하면 파일시스템 동기화를 비동기로 하면서 좀더 빨라진다고 한다.

version: '3.7'

services:
  app:
    build: .
    container_name: mysite-net
    ports:
      - "8003:80"
    volumes:
      - /Volumes/data/www/mysite.net/db_data:/data/db_data:delegated

실제로 이렇게 설정한 후 다시 돌리니 많이 빨라졌다.

또 문제가 생기면 도커를 포기하는 방법밖에...

맥에 윈도우 키보드를 연결하면 Home키를 누르면 Page Up처럼 동작하고 End키를 누르면 Page Down처럼 이동하는 등 문제가 많습니다.

그런경우 터미널을 열어 아래처럼 명령을 내려 키를 리매핑 해보세요.

mkdir -p $HOME/Library/KeyBindings
echo '{
/* Remap Home / End keys to be correct */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
"^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */
"^\UF72B" = "moveToEndOfDocument:"; /* Ctrl + End */
"$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */
"$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Shift + Ctrl + End */
}' > $HOME/Library/KeyBindings/DefaultKeyBinding.dict

아주 깔끔하게 문제가 해결됩니다~

맥(MacOS)에서 창이 화면 밖으로 나가 돌아올 생각이 없을 때 참 곤란하다..

결국, 맥의 스크립트 편집기로 

tell application "System Events" to tell window 1 of process "Telegram"
    set position to {30, 50}
end tell

이런 코드를 짜서 실행했더니 보이는 영역으로 돌아왔다.

가끔 외부 모니터를 쓸 때 발생하는 문제인 듯 하다.

Objective-C로 개발한 프로젝트에서 Swift라이브러리를 쓰다 보면 이런 에러를 만날때가 있다.

Linker error:
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'
Undefined symbols for architecture arm64:

뭐 이유는 스위프트 라이브러리를 자동으로 링크할 수 없다는 뜻이겠지만, 원인은 Objective-C와 Swift간 브릿지가 없어서 발생된다.

복잡한 해결 방법이 있지만 가장 쉽게 해결하는 방법은
프로젝트에 빈 Swift 파일을 하나 만들어 추가해주면 된다. 생성할때 브릿지 헤더를 생성할거냐고 물어볼때 생성하겠다고 해줘야 한다.

갑자기 잘 쓰던 트랙패드가 어느순간 먹통이었다. 트랙패드로 움직일수는 있는데 클릭(?)이 안되는 문제..

하드웨어적으로 눌러지지 않는다 라는 느낌이라 X됐다... 서비스 받아야 하는건가 하고 생각하다가.

PRAM리셋 해도 안되고, SMC리셋을 하니 정상으로 돌아옴.

 

맥북에서 하드한 윈도우 환경이 필요한데 가상PC환경에서 쓰자니 좀 힘겨워 해서 가상 환경을 실제 환경으로 세팅했다.

근데 드라이버가 제대로 안돼있네?


다시 맥 환경으로 부팅해서 부트캠프지원 켜서 다운로드 기다리고 USB메모리 연결하고..


번거로워 찾아보니 좋은 도구를 만들어놨네?


https://github.com/timsutton/brigadier/releases


맥북용 윈도우 드라이버를 다운받으려면 그냥 exe파일 다운받은 다음에 실행만 하면 딱 맞는 드라이버를 자동으로 다운 받아준다.


다운로드가 끝나면 BootCamp-xxx-xxxxx 폴더가 생기고 안에 들어가서 BootCamp 폴더에 들어가면 Setup.exe가 있다.

실행하면 모든 드라이버가 자동으로 설치된다.

외장하드를 하나 구입했는데 NTFS로만 써야 한단다.

근데 그러면 OSX에서는 못쓴다. 하지만 방법은 있다.

다음 프로그램들을 설치하면 사용이 가능하다.


1. FUSE for OS X

http://osxfuse.github.io/


2. NTFS-3G for OS X

http://sourceforge.net/projects/catacombae/files/NTFS-3G%20for%20Mac%20OS%20X/2010.10.2/ntfs-3g-2010.10.2-macosx.dmg/download


거기에 이건 추가로 설치해주면 더 좋다. (설치 안하면 에러가 많이 난다.)


fuse_wait
https://github.com/bfleischer/fuse_wait/downloads


그러고 나니까 잘 된다.


끝.

회사 업무용 맥미니가 메모리가 부족해서 너무 버벅이길래 안쓰던 적은 용량의 SSD를 이용하기로 했다.

인터넷에 검색해보니 전부 다 복구모드로 부팅해서 어쩌고 저쩌고 하는것만 나온다. 난 그게 귀찮으므로 더 쉬운 방법을 생각해봤다.

외장하드 형태로 연결하고 아래 명령으로 SSD로 스왑파일을 옮긴다.


# hibernate 파일 제거

sudo pmset -a hibernatemode 0

sudo rm /var/vm/sleepimage


# 스왑(페이징) 기능 끄기

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist


# SSD로 심볼릭 링크

mkdir /Volumes/ssd/vm

sudo rm -rf /private/var/vm

sudo ln -s /Volumes/ssd/vm /private/var/vm


# hibernate 기능 시작

sudo pmset -a hibernatemode 1


# 스왑(페이징) 기능 사용

sudo launchctl load /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist


버벅임이 많이 완화되었다.

OSX에서 homebrew로 이미 freetype을 설치했는데 freetype을 쓰는 프로그램 컴파일시에 include를 못한다고 하면,
잘 알려진 디렉토리로 심볼릭 링크를 걸어주면 된다.

예를들면

ln -s /usr/local/Cellar/freetype/2.5.3/include/freetype2 /usr/local/include/freetype

이런식으로...

간단하게 iOS에서 음성인식 이용할 수 있는 프레임웍, SpeechRecognizer.framework v1.2

수정 내용은 


음성인식 실패시 크래시 날 수 있는 문제 수정


입니다. 음성인식 실패시 텍스트가 가끔 nil로 전달되는 경우가 있어서 오류가 발생했었습니다.

프레임웍 파일은 아래 첨부합니다.


SpeechRecognizer.framework.zip


아래 앱을 오픈소스로 전환하였습니다.

https://github.com/heisice/iPhotoExporter

--------------------------------------------------------------------------------------

iPhoto는 폴더구조로 사진파일들을 내보내기 해 주지 않습니다.

내보내기 할 수 있는 플러그인을 설치해도 제대로 돌아가는 것두 없구요..

아이폰으로 찍은 사진을 맥 iPhoto에 보관해 두었는데, 같이 놀러간 친구들에게 보내주려니 힘들더라구요..

그래서 제가 필요해서 만들었습니다.


맥 iPhoto에 앨범단위로 저장해 놓은 사진을 폴더구조로 내보내기 해 줍니다.

(이 프로그램은 MacOSX용 입니다.)


iPhotoExporter.pkg



맥북에 랜선을 꼽을 수 있는 곳이 없어서(맥북에어, 그리고 난 맥북프로인데 최근 모델부터 없어졌나보다 ㅠ)

그렇다고 썬더볼트 이더넷 어뎁터는 비싸고.. (4만원?!!!) 기가비트 네트워크까진... 필요없....

이러저러한 이유때문에 인터넷 쇼핑에서 좀 보다보니, USB 이더넷(LAN) 어뎁터(9천원대)를 발견해서 구입해봤다.  

근데 같이 주는 드라이버 씨디는 윈도우 드라이버밖에 없다고 그러고, 어차피 맥북엔 또 씨디 넣을곳도 없어 ㅠ

그래서 제조사 이지넷 사이트에 접속하니, 맥과 리눅스를 지원하는 드라이버가 있더군요..


http://ez-net.co.kr/new_2012/customer/download_view.php?cid=&sid=&goods=&cate=&q=&seq=34

 

그런데! 젠장.. 자꾸 맥이 크래시나...

그래서 칩셋 제조사 홈페이지에서 드라이버를 다운받아서 설치했더니(여기 드라이버가 OS버전이랑도 맞고..) 잘 된다!!


http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=109;74;109


무선으로 할때는 기껏해봐야 다운로드 20~40mbps 인데, 유선으로 하니 거의 93~95bps 나온다.

이 망의 최고 속도일듯. 


혹시나 쓰실분들은 참조하시라구요~

iOS용 앱의 레티나 이미지 파일명에 @가 들어가서 그런 지 커밋 안될 때가 있다.

파일명은 image@2x.png 라고 하면


svn add image@2x.png

svn: 경고: W155010: '/Develop/Project/Images/image' 이 발견되지 않았습니다
svn: E200009: 모든 대상을 추가할 수 없습니다. 일부 대상이 존재하지 않습니다
svn: E200009: 요구된 명령에 대하여 잘못된 대상

요딴식으로...


그럼 파일명 뒤에 @를 더 붙여주면 된다.

svn add image@2x.png@

추가    (bin)  /Develop/Project/Images/image@2x.png


이건 무슨 견같은 경우지?

'MacOS & iOS' 카테고리의 다른 글

iPhotoExporter 오픈소스 전환  (0) 2013.11.25
저렴한 USB LAN 어뎁터(NEXT-210CA)  (1) 2013.07.25
iPhoto Exporter  (0) 2012.08.01
lipo로 라이브러리 합치기  (0) 2011.12.26
아이폰 OS 4.0 베타 롤백 방법  (0) 2010.04.15

iPhoto는 폴더구조로 사진파일들을 내보내기 해 주지 않습니다.

내보내기 할 수 있는 플러그인을 설치해도 제대로 돌아가는 것두 없구요..

아이폰으로 찍은 사진을 맥 iPhoto에 보관해 두었는데, 같이 놀러간 친구들에게 보내주려니 힘들더라구요..

그래서 제가 필요해서 만들었습니다.


맥 iPhoto에 앨범단위로 저장해 놓은 사진을 폴더구조로 내보내기 해 줍니다.

(이 프로그램은 MacOSX용 입니다.)


iPhotoExporter.pkg



lipo명령으로 여러 아키텍쳐로 빌드된 라이브러리를 합칠 수 있다.


lipo -create -output libuniversal.a lib_i386.a lib-x86_64 lib-arm6.a lib-arm7.a


확인은 이렇게 한다.


lipo -info libuniversal.a
Architectures in the fat file: libuniversal.a are: armv6 armv7 i386 x86_64

'MacOS & iOS' 카테고리의 다른 글

iPhotoExporter 오픈소스 전환  (0) 2013.11.25
저렴한 USB LAN 어뎁터(NEXT-210CA)  (1) 2013.07.25
레티나용 이미지가 add 안될 때....  (0) 2012.08.28
iPhoto Exporter  (0) 2012.08.01
아이폰 OS 4.0 베타 롤백 방법  (0) 2010.04.15

+ Recent posts