Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/swift
import Foundation
func timeit(_ f:() -> ()) {
let s = Date()
f()
let e = String(format:"time: %.4fms", s.timeIntervalSinceNow * -1000)
print(e)
}
@sooop
sooop / BigNumber.swift
Last active August 31, 2017 09:15
BigNumber : 큰 수의 덧셈과 곱셈
import Foundation
// 큰 수 덧셈과 곱셈은 특정 단위의 다항식처럼 처리한다.
/*: 큰 수를 다항식처럼 다룰 때, 하나의 항을 표현하는 타입.
각 항은 0~9999999999 까지의 값을 가지며, 차수를 나타내는 값을 별도로 가지고 있다.
*/
struct Node {
static let unitSize = 10000_00000
let level : Int
let value : Int
/// Polynomial.swift
import Cocoa
fileprivate let HOPS = 100
fileprivate RANDFLOAT: () -> CGFloat = {
return CGFloat(arc4random % 128) % 128.0
}
fileprivate let funcRect = CGRect(x: -20, y: -20, width: 40, height: 40)
@sooop
sooop / result.json
Created February 13, 2017 01:55
Serialization (Property List / JSON)
{
"name": "no name",
"raise": 0.100000001490116
}
@sooop
sooop / DragTableController.swift
Created February 9, 2017 06:07
NSTableView reordering row with drag and drop
//
// ViewController.swift
// DragTable
//
// Created by Anna Kim on 2017. 2. 9..
// Copyright © 2017년 Anna Kim. All rights reserved.
//
import Cocoa
@sooop
sooop / BigLetterView.swift
Last active February 8, 2017 14:57
BigLetterView - 입력받은 글자를 표시하는 뷰 (드래그/드롭 지원)
//
// BigLetterView.swift
// TypingTutor
//
// Created by BONGSOO KWON on 2017. 2. 6..
// Copyright © 2017년 BONGSOO KWON. All rights reserved.
//
import Cocoa
@sooop
sooop / paste-image.swift
Created February 1, 2017 06:15
복사한 이미지/URL을 다시 이미지로 붙여넣는 기능 테스트 (Swift3)
//: Playground - noun: a place where people can play
import Cocoa
import PlaygroundSupport
let imageView = NSImageView(frame:NSRect(x:0, y:0, width:100, height:100))
let pb = NSPasteboard.general()
@sooop
sooop / copyAndPaste.swift
Created February 1, 2017 03:11
pasteboard에 복사하고 붙여넣을 수 있는 클래스를 구현 (Swift3)
import Cocoa
class Person: NSObject, NSCoding, NSPasteboardWriting, NSPasteboardReading
{
//: 기본적인 프로퍼티는 3개. NSString, NSNumber가 아닌 Swift 타입으로 했음.
var firstName: String
var lastName: String
var age: Int
@sooop
sooop / StreamReader.swift
Last active June 23, 2024 22:49
Read a large text file line by line - Swift 3
import Foundation
class StreamReader {
let encoding: String.Encoding
let chunkSize: Int
let fileHandle: FileHandle
var buffer: Data
let delimPattern : Data
var isAtEOF: Bool = false
@sooop
sooop / TapCounter-Playground.swift
Created January 17, 2017 13:42
탭, 누르고 있기를 통해서 탭 카운터의 숫자를 올리는 playground code.  인터페이스 빌더 없고, 뷰 컨트롤러 대신 간이 컨트롤러를 사용했다.
import UIKit
import PlaygroundSupport
class Controller: NSObject {
var button: UIButton
var label: UILabel
var view: UIView
var count: Int = 0 {