Skip to content

Instantly share code, notes, and snippets.

@kevin49999
kevin49999 / aoc-d2-pt2-2024.swift
Last active December 3, 2024 01:25
aoc-d2-pt2-2024
func levelSafe(ints: [Int]) -> Bool {
let increasing: Bool
let diff = ints[1] - ints[0]
if diff > 0 && diff <= 3 {
increasing = true
} else if diff < 0 && diff >= -3 {
increasing = false
} else {
return false
}
@kevin49999
kevin49999 / cloud.js
Created December 1, 2020 17:04
cloud func
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
// Update thread after messages
exports.updateThreadAfterMessage = functions.database.ref('/thread_messages/{threadId}/{messageId}')
.onCreate((snapshot, context) => {
const messageData = snapshot.val();
console.log('New message for thread:', context.params.threadId, 'Message:', messageData.text);
@kevin49999
kevin49999 / Midnight.swift
Last active November 12, 2020 00:12
Midnight Today
extension Date {
func midnight(calendar: Calendar = .autoupdatingCurrent) -> Date {
let todayComponents = calendar.dateComponents(
[.month, .day, .year],
from: self
)
var components = DateComponents()
components.year = todayComponents.year
components.month = todayComponents.month
components.day = todayComponents.day
@kevin49999
kevin49999 / ImagePicker.swift
Created September 8, 2020 20:50
ImagePicker
import SwiftUI
struct ContentView: View {
@State var showImagePicker: Bool = false
@State var image: Image? = nil
var body: some View {
ZStack {
VStack {
Button(action: {
@kevin49999
kevin49999 / UIImageView+Resizing.swift
Created May 25, 2020 20:05
Good UIImageView Setting
import UIKit
extension UIImage {
func resizedImage(for size: CGSize) -> UIImage? {
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { (context) in
self.draw(in: CGRect(origin: .zero, size: size))
}
}
}
@kevin49999
kevin49999 / LeetCode.swift
Last active May 25, 2020 16:59
LeetCode Helpers
extension String {
subscript(_ index: Int) -> Character {
return self[String.Index(utf16Offset: index, in: self)]
}
}
extension String {
func sub(_ l: Int, _ r: Int) -> String {
let leftIndex = String.Index(utf16Offset: l, in: self)
let rightIndex = String.Index(utf16Offset: r, in: self)
@kevin49999
kevin49999 / DaysBetween.swift
Last active January 7, 2020 22:48
Days Between
func isLeapYear(_ year: Int) -> Bool {
assert(year >= 0)
if year % 4 == 0 {
return year % 100 != 0 || year % 400 == 0
}
return false
}
func daysInYear(_ year: Int) -> Int {
@kevin49999
kevin49999 / NotificationCenter+TypeSafe.swift
Created June 11, 2018 19:58
Type Safe Notification Extension
import UIKit
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
// Extension
extension NotificationCenter {
func post<T>(name: String, object: T, userInfo: [AnyHashable: Any]?) {
post(name: NSNotification.Name(name), object: object, userInfo: userInfo)
@kevin49999
kevin49999 / PerformantButton.swift
Last active July 11, 2017 16:38
Fixes performance issues (ex: color blended layers) caused by setting layer.cornerRadius to achieve rounded corners
class PerformantButton: UIButton {
@IBInspectable var cleanCorner: CGFloat = 0
@IBInspectable var cleanBackgroundColor: UIColor = .white
override func draw(_ rect: CGRect) {
let path = UIBezierPath(roundedRect: bounds, cornerRadius: cleanCorner)
titleLabel?.backgroundColor = cleanBackgroundColor
cleanBackgroundColor.set()
path.fill()
@kevin49999
kevin49999 / NHLTeams.swift
Created July 6, 2017 20:33
Swift - NHLTeams Dictionaries/Arrays
// Dictionary
let nhlDict : [String : String] = [
"COL" : "Avalanche",
"CHI" : "Blackhawks",
"CBJ" : "Blue Jackets",
"STL" : "Blues",
"BOS" : "Bruins",
"MTL" : "Canadiens",