본문 바로가기

Mac

(10)
100DaysOfSwiftUI - Day 16 WeSplit 첫번째 프로젝트 var body: some View { } 는 swift 문법적으로는 computed property 인 것 같다. @State 를 추가하여, immutable 프로퍼티를 변경이 가능하도록 만들어준다. struct 가 아닌 다른 어느 곳에 저장한다고 하는데... 어딜까. @State 를 추가하지 않고, 버튼핸들러에서 프로퍼티를 변경하려 하면, View 가 immutable 이기 때문에 에러메시지가 발생하는 걸 보여주는 설명이 참 좋았다. 안그랬으면 그냥 그런갑다 하고 넘어갔을 것. https://daewonyoon.tistory.com/440
[Swift] swift 단일 스크립트 파일을 컴파일하기 command line arguments 들을 처리하는 기능을 간단한 .swift 스크립트를 작성하여 테스트하려 했다. 간단한 테스트코드들은 컴파일한 실행파일이 아닌, 스크립트로 형식으로 실행하여 테스트하였었는데, 스크립트로 실행할 때에는, 신경쓰지 않았던 많은 실행인자들이 부가적으로 붙어 있었다. 메인 실행파일도 스크립트파일이 아니었다. 그래서, 스크립트 소스를 컴파일하여 단일 실행파일을 만들 수 있는 방법이 있는지 찾아봤다. 아주 간단하게 가능하다. swiftc my_script.swift -o my_program my_script.swift 파일을 컴파일 하려면, 셸에서 위와 같이 실행하면, my_program 이란 이름의 실행파일이 만들어진다. 컴파일러라서 swift 가 아닌 마지막에 c 자가 붙..
Swift 북마크 스위프트 동시성에 대한 모든것 1, 2017년 8월 포스팅 (추가일 : 2022-06-21) https://blog.canapio.com/128 리눅스에서의 스위프트 개발 (스위프트 설치, vscode 설정 등등) (추가일 : 2022-06-08) https://www.raywenderlich.com/8325890-a-complete-guide-to-swift-development-on-linux Pipe Child Process Together https://forums.swift.org/t/pipe-child-processes-together/12527 Running Child Process with Standard Input and Output https://developer.apple.com/fo..
Swift Optional 몇가지 실험 swift 문법을 조금 공부해 봤는데, Optional 이라는 개념이 나한테는 새로운 개념이라 몇가지 실험을 해 보았다. 우선 Optional 을 내가 이해한 것은 아래와 같다. swift 에서 변수는 디폴트로 nil 을 허용하지 않는다. 이렇게 하는 편이 예상치 못한 NPE 오류를 방지하는 디자인이다. (내 추측) 하지만 nil 이 필요한 변수가 있을 수 있다. 그래서 nil 도 assign 할 수 있는 Optional 변수형을 따로 만들었다. Optional 은 nil 또는 값을 assign 할 수 있다. 값이 들어가 있을 때에도 Optional(값) 형태로 한번 포장되어 있는 상태다. 사용하려면 좀 번거롭지만, unwrap 작업이 필요하다. unwrap 을 할 때에는 nil 인지를 먼저 확인하는 것..
swift 코드를 간단히 console에서 실행하기 간략한 swift 스크립트를 간단히 MacOS의 콘솔에서 실행하려면 1. shebang 으로 swift 를 지정하고 실행하기 swift 소스파일 맨 앞에 shebang (#!) 으로 다음과 같이 지정한다. #!/usr/bin/env swift import Foundation print("Hello") 또는 #!/usr/bin/env xcrun swift import Foundation print("Hello") Linux 환경에서는 xcrun 이 없으니까 두번째는 안 됨. vim 등 간략한 소스편집기로 위와 같이 작성하고서, 스크립트에 실행권한 추가( chmod +x )하고, 실행한다. $ chmod +x hello.swift $ ./hello.swift Hello 2. swift 명령의 인자로 swif..
[SO번역] CUPS 를 이용해 "Print to PDF" 필터 또는 백엔드를 프로그래밍하는 방법 https://stackoverflow.com/questions/11192396/programming-a-filter-backend-to-print-to-pdf-with-cups-from-any-mac-os-x-appli/11194723#11194723 답변 : 이렇게 해 보자 : 임의의 프린터 드라이버로 프린트큐를 하나 만든다. (프린터 드라이버로는 PostScript driver/PPD 를 사용하길 권장한다. PostScript PPD 파일에는 *cupsFilter: ... 와 같은 라인이 없다.) 우선은 2dir 이라는 CUPS의 예시용 백엔드를 사용한다. 이건 KDE Printing Developer Tools Wiki 에서 복사해 올 수 있다. 가져올 때 파일의 line ending 을 확인하자..
[BASH] dd 표준입력을 파일로 저장 #! /bin/bash if dd of="output" then echo "INFO: dd successful" 1>&2 exit 0 else echo "INFO: dd failed" 1>&2 exit 1 fi 위 스크립트는 표준입력을 output 이란 이름의 파일로 저장한다. 아래는 위 스크립트가 copystdin 이란 이름으로 저장되어 있을 때의 실행 예이다. input_murmur 란 이름의 파일을 표준입력으로 redirect 하여 실행하면, output 이란 이름의 동일한 파일이 생성된다. (copystdin 을 실행하여야 하므로 chmod +x 로 실행권한 주어야 한다.) ➜ ~ cat input_murmur murmur murmur abcdef ghijkl ➜ ~ ./copystdin < in..
MAC fs_usage 를 실행했으나, ktrace_start: Resource busy 메시지가 출력되며 모니터링이 안 됨. https://world.hey.com/james.pearson/terminal-hacks-view-file-system-usage-ad9ca383 sudo fs_usage -w -f filesystem 위와 같이 명령을 입력하여 파일모니터링을 해보려 하였으나, ktrace_start: Resource busy 라는 메시지만 나오고 모니터링이 안 됐다. 이전에 iterm2 에서 같은 명령을 실행해 보았다가, iterm2를 끄고 기본 터미널에서 실행해 보려 했었다. 재부팅하고 다시 해봐야 하는 것 같다. 링크한 글을 보면, 재부팅하지 않고 두번째로 명령을 실행하면 나타나는 메시지라고 한다.