Willow

nike 오픈소스라니!

오늘은 nike에서 내 놓은 swift 용 logger 라이브러리가 순위에 올라왔습니다. IT 기업과 비 IT기업의 경계는 점점 없어져 가는 것 같습니다. 스타벅스의 하워드 슐츠가 “우리는 IT기업이다” 라고 이야기 하고 다니는 것도 예삿일은 아닐겁니다.

2016/06/마지막날 Editor’s choice

Nike-Inc/Willow
_Willow is a powerful, yet lightweight logging library written in Swift._github.com


다음과 같은 feature들을 가지고 있습니다.

  • Default Log Levels
  • Custom Log Levels
  • Simple Logging Functions using Closures
  • Configurable Synchronous or Asynchronous Execution
  • Thread-Safe Logging Output (No Log Mangling)
  • Custom Formatters through Dependency Injection per Log Level
  • Customizable Color Formatting for Console Output
  • Custom Writers through Dependency Injection per Log Level
  • Supports Multiple Simultaneous Writers
  • Shared Loggers Between Frameworks
  • Shared Locks or Queues Between Multiple Loggers
  • Comprehensive Unit Test Coverage
  • Complete Documentation

설치하기

실제로 라이브러리를 사용하는 기준으로 설명을 드리면, 먼저 XCODE로 프로젝트를 생성합니다. Carthage를 사용해서 설치하는 것을 기준으로 설명하겠습니다.

그냥 아무 프로젝트나 생성하면 됩니다.

이후 생성된 폴더에 들어가서 Cartfile을 만들고

$carthage update

를 치면 아래 링크asciinema에 보이는 형태 대로 설치가 됩니다.

untitled
_Recorded by keen_asciinema.org

빌드가 되고나면

framework파일이 빌드가 되어 있습니다.

xcode 에 드래그앤 드롭 한 뒤에 사용하면 됩니다.

AppDelegate 파일을 열어 didFinishLaunchingWithOptions 에 다음과 같이 작성하면

**let log = Logger()**

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: \[NSObject: AnyObject\]?) -\> Bool {

// Override point for customization after application launch.

let splitViewController = self.window!.rootViewController as! UISplitViewController

let navigationController = splitViewController.viewControllers\[splitViewController.viewControllers.count-1\] as! UINavigationController

navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()

splitViewController.delegate = self

**log.info { "My app has started" }**

return true

}

아래와 같이 log를 땋 하고 찍어줍니다!

Embed!

혹시 image not found가 뜨면 Embeded Binaries에 추가하시면 에러는 해결이 됩니다.

By Keen Dev on June 30, 2016.

Exported from Medium on May 31, 2017.

mac-cli

오늘은 mac에서 필요한 유용한 cli 툴들을 명령어 하나로 모아 놓은 프로젝트인 mac-cli를 소개합니다.

꽤나 아이디어가 좋다고 느껴지는게 일단 네이밍 부터가 mac으로 시작하는 명령어 라니. 라고 생각했습니다.

> github streak를 볼 수 있는

$mac github:streak

> mac에 지금 열려있는 포트를 확인해 볼 수 있는

$mac ports

mysql!!

>mac 의 시스템 정보를 확인해 볼 수 있는

$mac system

>mac의 메모리 사용량을 확인해 볼 수 있는

$mac memory

등의 유용한 cli들을 가지고 있습니다.

그리고 마지막으로 magento라는 명령어가 있길래, 찾아보니 개발자가 magento의 개발자였습니다. 7년 경력 개발자라고 하는군요.

eCommerce Software & eCommerce Platform Solutions | Magento
_Magento is the eCommerce software and platform trusted by the world’s leading brands. Grow your online business with…_magento.com

By Keen Dev on June 28, 2016.

Exported from Medium on May 31, 2017.