Skip to content

Instantly share code, notes, and snippets.

View timbaev's full-sized avatar
💭
📱

Timur Shafigullin timbaev

💭
📱
View GitHub Profile
@timbaev
timbaev / WeakSwift4Demo.swift
Created February 28, 2021 06:44
[Weak not thread safe] Swift 4 #memorySwift
import Foundation
class Target {}
class WeakHolder {
weak var weak: Target?
}
for i in 0..<1000000 {
print(i)
@timbaev
timbaev / FullResume.swift
Created February 27, 2021 07:49
[FullResume class] #memorySwift
class FullResume {
let id: String
let age: Int
let hasVehicle: Bool
}
@timbaev
timbaev / PaidService.swift
Created February 27, 2021 07:40
[Class] #memorySwift
class PaidService {
let id: String
let name: String
let isActive: Bool
let expiresAt: Date?
}
MemoryLayout<PaidService>.size // 8
MemoryLayout<PaidService>.alignment // 8
MemoryLayout<PaidService>.stride // 8
@timbaev
timbaev / Test.swift
Created February 27, 2021 07:35
[Test] #memorySwift
struct Test {
let firstBool: Bool
let array: [Bool]
let secondBool: Bool
let smallInt: Int32
}
@timbaev
timbaev / ShortResume.swift
Created February 27, 2021 07:22
[ShortResume] #memorySwift
struct ShortResume {
let age: Int32
let hasVehicle: Bool
}
@timbaev
timbaev / FullResume.swift
Created February 27, 2021 07:12
[FullResume] size check #memorySwift
struct FullResume {
let hasVehicle: Bool
let id: String
let age: Int
}
MemoryLayout<FullResume>.size // 32 ???
MemoryLayout<Bool>.size // 1
+ MemoryLayout<String>.size // 16
@timbaev
timbaev / FullResume.swift
Created February 27, 2021 07:02
[FullResume] #memorySwift
struct FullResume {
let id: String
let age: Int
let hasVehicle: Bool
}
@timbaev
timbaev / badgy.sh
Last active December 24, 2020 17:16
[Добавить badge на иконку] #utils
badgy long DEV App.png --angle 15 --position bottom --color '#FFD700' --tint-color '#8B7500'
# --color '#FFD700' - цвет фона
# --tint-color '#8B7500' - цвет текста
func refreshToken(request: Request, refreshTokenDto: RefreshTokenDto) throws -> Future<AccessDto> {
let refreshTokenModel = RefreshToken
.query(on: request)
.filter(\.token == refreshTokenDto.refreshToken)
.first()
.unwrap(or: Abort(.unauthorized))
return refreshTokenModel.flatMap { refreshTokenModel in
if refreshTokenModel.expiredAt > Date() {
return refreshTokenModel.user.get(on: request).flatMap { user in
func signIn(request: Request, user: User) throws -> Future<AccessDto> {
return User
.query(on: request)
.filter(\.login == user.login)
.first()
.unwrap(or: Abort(.badRequest, reason: "User with login \(user.login) not found"))
.flatMap { persistedUser in
let digest = try request.make(BCryptDigest.self)
if try digest.verify(user.password, created: persistedUser.password) {