Skip to content

Instantly share code, notes, and snippets.

@projectfebr
projectfebr / Mobius 2019
Created January 3, 2024 10:17 — 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
import UIKit
import UserNotifications
final class SceneDelegate: UIResponder, UIWindowSceneDelegate {
private let pushAppLaunchRule = PushAppLaunchRule()
var window: UIWindow?
func sceneDidBecomeActive(_ scene: UIScene) {
// Разное интересное по многопоточности:
// Featured-секция, для любителей архивной документации от Apple:
1. https://developer.apple.com/library/archive/technotes/tn/tn2028.html#//apple_ref/doc/uid/DTS10003065 - про внутренности потоков в MAC OS X в сравнении с MAC OS 9
2. https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/About/About.html - Kernel Programming guide, вы же понимаете, что там будет, да :D
// Для любителей WWDC:
1. https://developer.apple.com/videos/play/wwdc2015/718/ - GCD раз.
@projectfebr
projectfebr / bad_blocs.md
Created September 22, 2021 08:34 — forked from PlugFox/bad_blocs.md
БИНГО ошибок при создании BLoC'а

БИНГО ошибок при создании BLoC'а

ОШИБКИ:

  1. Начать писать логику непосредственно в mapEventToState,
    он у вас быстренько превратится в нечитаемую портянку и придете жаловаться на бойлерплейт.
    Если правильно готовить блок, то бойлерплейтом там и не пахнет,
    эвенты + стейты + блок умещаются все вместе на 1-2 экранах.
    Все запредельно воздушно, даже не надо создавать отдельные файлы под эвенты и стейты.
    Все ультра емко получается.
import 'package:flutter/material.dart';
///
/// Внешний виджет
///
class ExternalWidget extends StatefulWidget {
const ExternalWidget({Key? key}) : super(key: key);
@override
_ExternalWidgetState createState() => _ExternalWidgetState();
}