Как стать автором
Обновить
10
0

Mobile Developer

Отправить сообщение

Сложно о простом. Самые популярные протоколы и принципы их работы. ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS и DHCP. Часть 1

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров49K

Приветствую, коллеги! Меня зовут @ProstoKirReal.

Сегодня хотелось бы с вами обсудить самые распространенные протоколы, а также принципы их работы.

Читать далее

Сложно о простом. Самые популярные протоколы туннелирования, динамической маршрутизации и принципы их работы. Часть 2

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров19K

Приветствую, коллеги! Меня зовут @ProstoKirReal. Сегодня хотелось бы продолжить обсуждение с вами о самых популярных протоколах, а также принципов их работы. В предыдущей части я говорил о протоколах ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS и DHCP. Сегодня хотелось бы рассказать о протоколах туннелирования GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS и динамической маршрутизации OSPF и BGP.

Читать далее

Сложно о простом. Самые популярные протоколы и принципы их работы. HTTP, HTTPS, SSL и TLS. Часть 3

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров25K

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

Сегодня хотелось бы рассказать о HTTP и HTTPS протоколах, а так же немного затронуть шифрование SSL/TLS.

Читать далее

Domain-Driven Design: чистая архитектура снизу доверху

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров34K

Когда мидл-разработчик дорастает до сениора, его, как правило, мучает вопрос: как правильно писать приложение? Понятно, что когда он был джуном, ему давали совсем атомарные задачи, и он развлекался покрытием тестов или написанием контроллеров. Переход в мидлы знаменуется назначением на разработчика более абстрактных задач вроде реализации сервисов, репозиторной части или интеграции с внешними сервисами посредством клиентов. Но в какой-то момент мидл начинает задавать самому себе вопросы: как найти единственно правильный способ написать приложение с нуля?

Если Вы - мидл, и Вас стали мучать такие вопросы — поздравляю, Вы на верном пути. Ведь профессиональный рост не происходит с переводом на должность - новый сениор должен родиться, и это как раз муки такого рождения.

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Калибровка Life Work Balance. Система планирования, которую я развиваю уже 14 лет

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров26K

У вас бывает ощущение, что год прошел зря? Коллеги влетают на вершины карьерной лестницы, бизнес знакомых активно развивается, друзья объездили весь мир и покупают очередную квартиру? А у нас жопа в огне, мы тонем в рабочих задачах, едва успевая найти время на бытовую рутину, не оставляя время на себя?

Читать далее

Основы Jetpack Compose: как обеспечить стабильность вашего кода

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров11K

Привет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Мы в Диске сейчас активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose есть немало статей, однако ошибки продолжают cовершаться, поэтому решила поделиться своим опытом в формате ликбез‑статьи.

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

Читать далее

REDIS: такой простой и такой сложный

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров27K

Меня зовут Андрей Комягин, я СТО компании STM Labs. Мы занимаемся разработкой очень больших распределённых высоконагруженных систем для различных отраслей и в своей работе широко используем open-source решения, в том числе СУБД Redis. Недавно я подробно рассказывал об этой системе на конференции Saint HighLoad++, а теперь с удовольствием поделюсь основной информацией с читателями Хабра. Итак, поехали.

Читать далее

Как работает интернет

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров113K

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее

Быть или не быть тимлидом: разбираем на пальцах

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров12K

Привет, Хабр! Меня зовут Дима Соломонов, я тимлид в команде Яндекс 360. 11 лет работаю разработчиком, из них 3 года управляю командами от 3 до 10 человек. Кроме того, 6 лет я преподавал программирование начинающим IT-специалистам и был ментором, поэтому опыт в управлении командой накопился немалый. 

В статье расскажу, каким может быть тимлид и как им стать, а также подниму холиварный топик, нужно ли вообще быть руководителем команды. 

Читать далее

Новый компилятор K2 в Kotlin. Часть 2. Гайд по миграции

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.9K

В этой статье эксперт сообщества Spring АйО – Михаил Поливаха рассмотрит процесс миграции с компилятора Kotlin старой версии на новый компилятор K2. В предыдущей статье Михаил рассмотрел компилятор K2, а здесь сфокусировался только на процедуре миграции.

Читать далее

Пирамида тестирования в hh.ru

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6K

Всем привет! Меня зовут Александр, в hh.ru я занимаюсь автотестами. В статье про оценку тестового покрытия мы затронули тему интеграционных тестов. В этом материале я расскажу, как у нас обстоят дела с пирамидой тестирования в целом. В hh.ru более 200 микросервисов, которые тестируются на различных уровнях. У нас, как и в классической пирамиде, таких уровней три, а сейчас мы активно запускаем еще один — контрактные тесты.

Поехали!

Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров10K

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

Многомодульность — это лишь подход. Кому-то он может помочь, а кому-то и навредить. Во многих статьях лишь кратко касаются типов и структуры модулей. В этой статье я бы хотел это исправить, расписав, какие типы модулей вижу лично я. Потому что читая другие статьи мне постоянно не хватало каких-то типов модулей под конкретные ситуации.

Надеюсь, к концу статьи вы станете на чуточку ближе к ответам на вопросы: «Каким образом вообще можно внедрить многомодульность в свой проект?», «Какие типы модулей есть?» и «Нужна ли многомодульность в моём проекте?»

Читать далее

Поиск лишних Component Dependencies с помощью Dagger SPI

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.1K

Многие из Android-разработчиков для Dependency Injection используют Dagger или его «обёртку» Hilt. Но не многие из них используют Dagger SPI. Этот механизм предоставляет нам доступ к графу зависимостей, что позволяет нам добавить свои проверки графа и не только. В этой статье я хочу рассмотреть работу с Dagger SPI на примере поиска неиспользуемых Component Dependencies. После прочтения статьи вы сможете находить их, или при желании сможете писать свои проверки графа зависимостей. Ну или что вам там в голову взбредёт. 

Читать далее

Многомодульный BDSM. Бутылочные горлышки среди модулей

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров2.4K

Часто бывает, что после разбиения проекта на модули скорость его сборки сильно ниже ожидаемой. Причины могут быть разные, от кривых настроек Gradle до неподходящего железа. Сегодня я хочу разобрать одну из причин — бутылочные горлышки среди модулей, и как с ними бороться.

Читать далее

Почти все, что вы хотели бы знать про Docker

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров69K

В этой статье мы расскажем про базовые техники работы с Docker, а также погрузим читателя в основы докеризации приложений.

Предполагается, что читатель что-то слышал про Docker и хотел бы начать знакомство с технологией. Мы постараемся упростить этот процесс.

Читать далее

Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО — обзор книги и рекомендации

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.8K

На рынке не так много книг, которые помогают начинающим тимлидам, которые еще вчера писали код и строили архитектуру, понять, как нужно приступать к работе с людьми и строить свое развитие по ветке управления. Это, естественно, две популярные книги: "Мама, я тимлид!  Практические советы по руководству IT-командой" Перескоковой Марины и "Как пасти котов. Наставление для программистов, руководящих другими программистами" Дж. Ханк Рейнвотера.

И вот на свет вышка книга: "Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs", которую Издательство Питер @ph_piter перевело как: "Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО". Не нужно пугаться позиции "Software Engineering Manager" - это именно что тимлид в понимании рынка РФ. И эта книга по своей сути является такой же отправной точкой в карьере начинающего тимлида, как и две предыдущие, но немного иначе!

Читать далее

Какие параметры компьютера влияют на скорость сборки Gradle проекта

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров7.2K

Как вы думаете, какие характеристики сильнее влияют на скорость сборки вашего проекта: частота CPU или частота оперативной памяти? Количество ядер CPU или количество оперативной памяти? Влияет ли скорость постоянной памяти на скорость сборки? Однажды у меня в голове возникли такие вопросы, и я решил найти на них ответы. Лучший способ для этого — провести тесты. Поэтому представляю вам их результаты и попытаюсь их объяснить в меру своих знаний. Если хотите узнать, что больше всего влияет на скорость сборки, ну или, может быть, хотите обновить компьютер для сборки, но не знаете, во что лучше вложится, то добро пожаловать в статью.

Читать далее

Context receivers — новые extension functions

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.2K

Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в OzonID SDK. Но обо всём по порядку.

Читать далее

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров224K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> её также удалили с веб-архива archive.org.
> Статья на Хабре осталась доступна с IP других стран.
> Да, теперь, чтобы читать про ВПН, нужен ВПН.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от воли одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее

Как работа с ресурсами вызывает микрофризы

Время на прочтение10 мин
Количество просмотров5.7K

Думаю, каждый из нас периодически сталкивается с непонятными микрофризами при взаимодействии с, казалось бы, простым UI…

Просто скролишь список, и тут — бац! Лагнуло! Сегодня я бы хотел разобрать одну из множества причин такого поведения — работу с ресурсами. Мы разберёмся, в каких случаях работа с ресурсами может стать проблемой. Почему это происходит и как лучше всего от этого избавится.

Читать далее
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность