Pull to refresh
3
0

iOS-разработчик

Send message

SOLID в Swift. Простое объяснение с примерами для начинающих

Level of difficulty Medium
Reading time 3 min
Views 9.4K

Принципы SOLID — это набор пяти основных принципов, которые помогают разработчикам создавать более понятный, гибкий и поддерживаемый код. Так же знание этих принципов довольно часто спрашивают на собеседованиях.

Давайте рассмотрим каждый из этих принципов с примерами нарушения и соблюдения на языке Swift.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 20

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Level of difficulty Hard
Reading time 44 min
Views 112K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Total votes 25: ↑22 and ↓3 +19
Comments 65

Уходим с «Яндекс.Почты» на свой почтовый сервер

Level of difficulty Easy
Reading time 5 min
Views 57K

17 апреля 2023 года «Яндекс» отключает бесплатную почту для бизнеса и предлагает платить от 249 до 1399₽ за юзера в месяц. Если не оплатить услуги, все аккаунты «Яндекс 360» будут принудительно переведены в режим чтения, то есть читать письма будет можно, а отвечать на них — нет.

Переход на платные тарифы обязателен для всех доменов (включая семейные аккаунты) с количеством пользователей больше трёх.

Конечно, легче всего согласиться на условия и оплатить требуемую сумму. На это и рассчитывает провайдер, что 99% клиентов молча заплатят деньги, ведь у них нет другого выхода… Но на самом деле выход есть.

Если в двух словах, можно взять недорогой VPS, поставить туда один из свободных почтовых серверов и сэкономить пару тысяч рублей. Или сотен тысяч, смотря сколько у вас сотрудников. Финансовая раскладка под катом.
Читать дальше →
Total votes 73: ↑68 and ↓5 +63
Comments 186

Музыкальная катушка Тесла

Level of difficulty Medium
Reading time 19 min
Views 3.4K

Хомяки приветствуют вас, друзья!

Сегодняшний пост будет посвящен самой продвинутой полномостовой музыкальной катушке Тесла. В ходе поста узнаем из каких основных модулей она состоит, как их соединить и настроить. На осциллографе рассмотрим основные управляющие сигналы, посчитаем резонансы и полюса первичной и вторичной обмоток воздушного трансформатора, наглядно увидим работу устройства в различных режимах, а так же спалим жменю транзисторов. В общем все как всегда.

Читать далее
Total votes 17: ↑15 and ↓2 +13
Comments 6

Пишем и отлаживаем приложения для Flipper Zero

Reading time 7 min
Views 11K

Недавно я получил свой флиппер и, решив написать первое приложение, столкнулся с проблемой отсутствия информации по отладке программного кода. Есть несколько статей по разработке приложений для флиппера (первое приложение и приложение HewViewer). Однако, когда я приступил к разработке и отладке приложения, опираясь на информацию из указанных статей, то столкнулся с трудностями, которые я опишу далее и укажу способы их решения.

Читать далее
Total votes 59: ↑59 and ↓0 +59
Comments 12

Самая маленькая хеш-таблица в мире

Level of difficulty Hard
Reading time 17 min
Views 11K

1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятия, так как это решение, с одной стороны, сверх всякой меры оптимизировано, а с другой — демонстрирует кое-какие полезные приёмы. Чтобы не усложнять себе жизнь — мы рассмотрим лишь первую часть задачи, но те же приёмы можно применить и к её второй части.

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 12

Превратности диспетчеризации в Swift

Level of difficulty Medium
Reading time 7 min
Views 2.8K

Всем привет, меня зовут Сергей, я работаю в компании Joy Dev в должности iOS TeamLead. Эта статья - моя “проба пера” на Хабре. В ней, вместе с обзором видов диспетчеризации в Swift, мы рассмотрим несколько примеров, когда реализация методов в extension может вести себя неожиданным образом. Итак.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 2

6 Python декораторов, которые значительно упростят ваш код

Reading time 5 min
Views 54K

"Простое лучше сложного".

Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор.

Декораторы могут помочь вам писать меньше кода для реализации сложной логики и повторно использовать его повсюду.

Более того, существует множество замечательных встроенных декораторов Python, которые значительно облегчают нам жизнь, поскольку мы можем просто использовать одну строчку кода для добавления сложных функций к существующим функциям или классам.

Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python.

Читать далее
Total votes 77: ↑73 and ↓4 +69
Comments 26

Насколько круто иметь свой сервер в комнате

Reading time 6 min
Views 110K

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Total votes 148: ↑147 and ↓1 +146
Comments 313

Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN

Reading time 29 min
Views 166K

Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.


Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.


Получается мем.



Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.


Поэтому мы сейчас попробуем «включать VPN чуть-чуть».

Читать дальше →
Total votes 53: ↑52 and ↓1 +51
Comments 73

Управление Mikrotik с помощью Telegram бота

Reading time 3 min
Views 16K

Хочу написать об интересных возможностях связки Mikrotik и Telegram бота. Возможно похожие решения, где то публиковались ранее, предложу свои варианты использования

Бот для блокировки интернета

Вариант подойдет для  блокировки и разблокировки интернета на домашних устройствах (ПК, ТВ приставки и прочие гаджеты) например чтобы дети сделали перерыв или пошли делать уроки. Можно конечно скачать приложение Mikrotik на смартфон, но каждый раз возится в настройках Kid Control и правилах Firewall не очень удобно, а с ботом почувствовать себя властелином интернета сможет даже жена

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 4

Переназначение клавиш в macOS без стороннего софта и консоль как в Quake

Reading time 4 min
Views 9.2K

Зачастую, в ответ на вопрос "Как переназначить клавиши на macOS?" советуют использовать сторонний софт, например, Karabiner-Elements, но простое переназначение клавиш возможно и нативными средствами.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 19

Автоматическое продление wildcard-сертификатов на Synology NAS

Reading time 6 min
Views 6K

В решениях компании Synology присутствует vendor-lock на использование wildcard-сертификатов Let's Encrypt. Решение "из коробки" подразумевает использование wildcard-сертификатов только для динамических DNS компании Synology. На это накладывается требование держать открытым 80 порт, без которого автопродление не работает. В результате, если хочется своё красивое доменное имя, раз в три месяца надо открыть порты (или явно перенаправить с веб-сервера, например), обновить сертификат, закрыть порты, вот это вот всё.

Но есть варианты...
Total votes 8: ↑8 and ↓0 +8
Comments 21

Лучший софт для Zettelkasten (управления знаниями): сравнительная таблица

Reading time 1 min
Views 13K

Программ для этого дела огромное количество, новые варианты появляются чуть ли не каждый день, так как тема управления знаниями сейчас на подъеме.

И чтобы тем, кто только вливается в это увлекательное путешествие, было проще сделать свой выбор , мы в сообществе посвященном этому самому Цеттелькастену, собрали табличку, где сделали сравнение на основе самых важных параметров.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Comments 29

Абстракции и наследование в Си — стреляем по ногам красиво

Reading time 10 min
Views 13K

Иногда нет-нет да и хочется что-нибудь абстрагировать и обобщить в коде на Си. К примеру, хочешь ты принтануть содержимое структуры несколько раз, пишешь везде, как дурак, printf("%s %d %f\n", foo->bar, foo->baz, foo->boom), и интуитивно кажется, что есть способ сделать foo->print(foo), и так вообще со всеми структурами, не только с foo.

Возьмем пример: есть некий чувак с именем и фамилией, и есть птица, у которой есть имя и владелец.

Читать далее
Total votes 31: ↑28 and ↓3 +25
Comments 37

Как работает неточное сравнение строк

Reading time 7 min
Views 26K

https://fakt309.github.io/thisisthewall/

В языках программирования строки сравниваются очень просто, если строка отличается хотя бы на один символ, то возвращает false.

Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):

Расстояние Хэмминга

Расстояние Левенштейна

Сходство Джаро — Винклера

Коэффициент Сёренсена

Читать далее
Total votes 50: ↑47 and ↓3 +44
Comments 43

Погружение в Combine: последовательные и объединяющие операторы для улучшения процесса разработки iOS приложений

Reading time 8 min
Views 6.9K

Добрый день! Я — Иваев Зафар, iOS разработчик в компании Usetech. В этой статье мы узнаем как фреймворк Combine помогает нам разрабатывать функционал приложения с помощью встроенных функций — операторов. В этой статье, мы покроем следующие типы операторов:

1. Последовательные операторы

2. Объединяющие операторы

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 0

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами

Reading time 16 min
Views 56K

С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологические и поведенческие), по которым вы можете не худеть, не видел, чтобы кто-то описывал в полном объёме и понятным языком. Сегодня я постараюсь сделать это для вас, обобщив все свои знания о лишнем весе. 

Искренне надеюсь, что этот материал может вынуть чью-то надоедливую занозу или пролить свет на новые пути решения старых проблем. 

Читать далее
Total votes 103: ↑93 and ↓10 +83
Comments 103

Моя борьба с санкциями или как появился умный VPN

Reading time 3 min
Views 74K

Зачем людям ранее был нужен VPN (кроме мошенников конечно) - чтоб ходить на Linkedin и обходить всякие разные запреты РКН.

Когда ввели санкции и некоторые сайты перекрасились в сине-желтый цвет, то многие по старой памяти подумали - включим VPN и всё сразу станет как раньше, разве что русские сайты начнут открываться на 50мс медленнее.

Но не тут-то было. Вместе с перекраской сайтов, началась волна DDoS и хакерских атак на различные сервисы в РФ. В итоге, российские сайты закрылись от остального интернета. И с VPN стало очень некомфортно - хочешь пользоваться Terraform или там MatterMost скачать - включаешь VPN и сразу же не можешь сходить ни на Ozon ни на Госуслуги.

Интернет разделился на InnerNet и OuterNet.

Читать далее
Total votes 46: ↑39 and ↓7 +32
Comments 130

Как отлаживать bash-script-ы по шагам или, возможно, самая короткая статья о программировании/отладке на Хабре

Reading time 1 min
Views 41K

Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.

Читать далее
Total votes 190: ↑189 and ↓1 +188
Comments 37

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity