Skip to content

Instantly share code, notes, and snippets.

View YutoMizutani's full-sized avatar

Yuto Mizutani YutoMizutani

View GitHub Profile
@YutoMizutani
YutoMizutani / Package.swift
Created December 18, 2018 06:06
LinuxでもSwiftを使ってGUI開発をしたい!【SwiftGtk】 ref: https://qiita.com/YutoMizutani/items/a550b6fa5767a7c55eea
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "test",
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
@YutoMizutani
YutoMizutani / file0.swift
Last active December 11, 2018 14:37
Sketchと1対1を目指すAtomic designなStoryboardの作り方 ref: https://qiita.com/YutoMizutani/items/e14c918232af83f34e29
public protocol ContentResettable {
func resetContents()
}
@YutoMizutani
YutoMizutani / Delegate.swift
Created December 7, 2018 17:16
Swiftで書くシリアル通信 〜macOS - Arduino を例に〜 ref: https://qiita.com/YutoMizutani/items/010697ab2321294482f3
import ORSSerial
class Delegate: NSObject, ORSSerialPortDelegate {
/// 改行が入力されるまでの文字列を格納するテキストバッファ
private var textBuffer = ""
/// 入力
private func input(_ serialPort: ORSSerialPort) {
print("<< ", terminator: "")
let input = readLine() ?? ""
@YutoMizutani
YutoMizutani / .zshrc
Last active September 22, 2019 18:24
今すぐaliasを登録しておくべきGitワンライナー ref: https://qiita.com/YutoMizutani/items/f7c4070887fe41497969
# g: git
alias g='git'
# gs: switch
alias gs='git switch'
fuction gsi (){ git switch issues/$@ }
# gsc: switch with a new branch
alias gsc='git switch -c'
function gsci (){ git switch -c issues/$@ }
@YutoMizutani
YutoMizutani / file0.swift
Created December 1, 2018 15:00
RxSwiftで引数付きの関数を追加 (extension) する場合は気をつけるという話 ref: https://qiita.com/YutoMizutani/items/de082fde1c7c3b111195
extension Observable where E == Int {
func add(_ value: Int) -> Observable<Int> {
return map { $0 + value }
}
}
@YutoMizutani
YutoMizutani / file0.js
Last active October 25, 2018 04:03
JSONからCodable化されたstructを自動生成するツールを作った話 ref: https://qiita.com/YutoMizutani/items/106cae55091f26bba641
{
"user": {
"Name": "Yuto Mizutani"
},
"lib": {
"lib-name": "JSONtoCodable",
"year": 2018,
"version": "1.0.2",
"released": "2018-09-22"
},
@YutoMizutani
YutoMizutani / file0.swift
Created September 19, 2018 07:09
Genericsを用いて安全にJSONをパースする (Alamofire x Swift4) ref: https://qiita.com/YutoMizutani/items/c61fbb0060095939e7ff
import Alamofire
class Foo {
/// Success handler
public typealias SuccessHandler<T> = (_ model: T) -> Void
/// Failure handler
public typealias FailureHandler = (_ error: Error) -> Void
/**
@YutoMizutani
YutoMizutani / file0.swift
Created September 2, 2018 14:06
UILabelへ簡単にグラデーションを適用する方法 ref: https://qiita.com/YutoMizutani/items/a66bb3a3b0d67f3d2547
let frame: CGRect = /* foo */
let view: UIView = UIView(frame: frame)
let label: UILabel = UILabel(frame: frame)
label.text = /* bar */
// ViewにLabelを追加する
view.addSubView(label)
// CAGradientLayerによるグラデーションの適用
let gradientLayer: CAGradientLayer = CAGradientLayer()
@YutoMizutani
YutoMizutani / Cartfile
Last active September 2, 2018 02:01
複数OSに対応したSwift oss library作成チュートリアル ref: https://qiita.com/YutoMizutani/items/20ed0ae2558dbd69f463
github "ReactiveX/RxSwift" ~> 4.0
@YutoMizutani
YutoMizutani / file2.txt
Last active June 29, 2018 02:25
複数の.swiftファイルをSwift Package Managerを用いずにコンパイルする ref: https://qiita.com/YutoMizutani/items/ba8f993ef2ef8b04fb18
$ swiftc main.swift hello.swift
$ ./main