Skip to content

Instantly share code, notes, and snippets.

View kmadiar's full-sized avatar
🐪

Kostiantyn Madiar kmadiar

🐪
View GitHub Profile

Keybase proof

I hereby claim:

  • I am kmadiar on github.
  • I am kmadiar (https://keybase.io/kmadiar) on keybase.
  • I have a public key whose fingerprint is C64D D73B 9BEB 87CE 31CA 27D0 3528 E4E3 DED1 E3C7

To claim this, I am signing this object:

@kmadiar
kmadiar / AutoLayoutDSL.swift
Created January 11, 2021 22:04 — forked from V8tr/AutoLayoutDSL.swift
Auto Layout DSL
import UIKit
/// Represents a single `NSLayoutConstraint`
enum LayoutAnchor {
case constant(attribute: NSLayoutConstraint.Attribute,
relation: NSLayoutConstraint.Relation,
constant: CGFloat)
case relative(attribute: NSLayoutConstraint.Attribute,
relation: NSLayoutConstraint.Relation,
@kmadiar
kmadiar / ViewController.swift
Created October 6, 2020 22:31 — forked from bricklife/ViewController.swift
UIPanGestureRecognizer on UIScrollView
//
// ViewController.swift
// PanOnScroll
//
// Created by Shinichiro Oba on 2018/03/08.
// Copyright © 2018 bricklife.com. All rights reserved.
//
import UIKit
@kmadiar
kmadiar / ViewController.swift
Created October 6, 2020 22:31 — forked from bricklife/ViewController.swift
UIPanGestureRecognizer on UIScrollView
//
// ViewController.swift
// PanOnScroll
//
// Created by Shinichiro Oba on 2018/03/08.
// Copyright © 2018 bricklife.com. All rights reserved.
//
import UIKit
import PlaygroundSupport
import RxSwift
PlaygroundPage.current.needsIndefiniteExecution = true
extension ObservableType where E: Sequence {
typealias T = E.Iterator.Element
/// Create an observable which is an Array of the projected values
@kmadiar
kmadiar / selfsizingtextview.swift
Created April 27, 2020 21:57 — forked from edmonston/selfsizingtextview.swift
Self Sizing UITextView
import UIKit
extension UIEdgeInsets {
var horizontal: CGFloat { return right + left }
var vertical: CGFloat { return top + bottom }
}
extension CGSize {
func paddedBy(_ insets: UIEdgeInsets) -> CGSize {
return CGSize(width: width + insets.horizontal, height: height + insets.vertical)
@kmadiar
kmadiar / AZTextFrame.swift
Last active January 2, 2020 20:34 — forked from azimin/AZTextFrame.swift
Helper for calculating String and NSAttributedString frame
import UIKit
class AZTextFrameAttributes: NSObject {
// MARK: - Properties
fileprivate(set) var width: CGFloat = 0
fileprivate(set) var string: String?
fileprivate(set) var attributedString: NSAttributedString?
@kmadiar
kmadiar / Mobius 2019
Created December 8, 2019 19:49 — forked from katleta3000/Mobius 2019
Список материалу к докладу "Работаем с сетью эффективно" Ртищев Евгения для Mobius 2019 22-23 мая
1. Очень крутая книжка по сетям (стек OSI) – Charles Severance “Introduction to Network: How the Internet works”
2. URLCache – https://nshipster.com/nsurlcache/
3. Ресёрч HTTP-кеширования с использованием URLCache https://qnoid.com/2016/04/10/A-primer-in-HTTP-caching-and-its-native-support-by-iOS.html
4. Анализ доступности сети:
* SimplePing – https://developer.apple.com/library/archive/samplecode/SimplePing/Introduction/Intro.html
* https://github.com/dustturtle/RealReachability
* https://github.com/ankitthakur/SwiftPing
* https://github.com/lmirosevic/GBPing
* https://github.com/rwbutler/Connectivity
* Баг с 2009 года – https://lists.apple.com/archives/macnetworkprog/2009/May/msg00056.html
@kmadiar
kmadiar / ios-questions-interview.md
Created November 19, 2019 23:48 — forked from arturlector/ios-questions-interview.md
Вопросы на собеседование iOS разработчика.

Вопросы на собеседование iOS разработчика (дополненное издание):

General:

  • Что такое полиморфизм?

  • Что такое *инкапсуляция? Что такое *нарушение инкапсуляции?

  • Чем абстрактный класс отличается от интерфейса?

  • Расскажите о паттерне MVC. Чем отличается пассивная модель от активной?

@kmadiar
kmadiar / fix_twitter_warnings.sh
Created August 22, 2019 22:50 — forked from npu3pak/fix_twitter_warnings.sh
This script fixes all TwitterKit related warnings in XCode 10.1. Add new run script build phase with this code:
readonly MODULEMAP="${PODS_ROOT}/TwitterCore/iOS/TwitterCore.framework/Modules/module.private.modulemap"
readonly HEADER="${PODS_ROOT}/TwitterCore/iOS/TwitterCore.framework/Headers/TwitterCore.h"
if ! grep -q "TwitterCore_Private" "${MODULEMAP}"; then
cat >"${MODULEMAP}" <<EOL
module TwitterCore_Private {
}
EOL
fi