Skip to content

Instantly share code, notes, and snippets.

View kkebo's full-sized avatar
📱
Using iPad Pro 13” (M5)

Kenta Kubo kkebo

📱
Using iPad Pro 13” (M5)
View GitHub Profile
@kkebo
kkebo / Demo.swift
Created April 7, 2021 13:53
PlaygroundHandler
import Logging
LoggingSystem.bootstrap { label in
var handler = PlaygroundHandler(label: label)
handler.logLevel = .trace
return handler
}
let logger = Logger(label: "hoge")
extension Result {
func expect(_ message: String) -> Success {
switch self {
case let .success(value):
return value
case let .failure(error):
preconditionFailure("\(message): \(error.localizedDescription)")
}
}
extension Optional {
func expect(_ message: String) -> Wrapped {
guard let value = self else {
preconditionFailure(message)
}
return value
}
}
@kkebo
kkebo / main.swift
Created August 12, 2020 14:04
EditButton on a header of a section
import PlaygroundSupport
import SwiftUI
struct ContentView {
@State var rows = ["hoge", "fuga", "piyo"]
}
extension ContentView: View {
var body: some View {
Form {
@kkebo
kkebo / main.swift
Created June 13, 2020 17:03
XMLCoder experiments
import XMLCoder
struct Root: Equatable {
let elements: [Choice]
let name: String
let description: String?
}
extension Root: Codable {
enum CodingKeys: String, CodingKey {
@kkebo
kkebo / main.swift
Created June 6, 2020 17:24
SwiftUI TextField 日本語入力問題
import PlaygroundSupport
import SwiftUI
final class ContentViewModel {
@Published var text = ""
}
extension ContentViewModel: ObservableObject {}
struct ContentView {
[Unit]
Description=Run usb0.sh
[Service]
Type=oneshot
ExecStart=/root/usb0.sh
[Install]
WantedBy=multi-user.target
@kkebo
kkebo / usb0.sh
Last active August 18, 2021 09:10
Pi4 USB-C Gadget for Arch Linux ARM (参考: https://www.hardill.me.uk/wordpress/2019/11/02/pi4-usb-c-gadget/)
#!/bin/bash
set -e
modprobe libcomposite
cd /sys/kernel/config/usb_gadget/
mkdir -p pi4
cd pi4
echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
@kkebo
kkebo / workarounds.md
Last active December 21, 2019 23:29
Workarounds for crash of clang on a-Shell
@kkebo
kkebo / camera_playground_base.swift
Last active April 4, 2019 18:22
Swift Playgrounds 3.0 でカメラデバイスを使うときのテンプレート
import AVFoundation
import UIKit
import PlaygroundSupport
class ViewController: UIViewController {
lazy var session: AVCaptureSession = {
let deviceResult = getDefaultDevice()
var device: AVCaptureDevice
switch deviceResult {
case let .success(value):