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

Trust me. I'm an Engineer.

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

Практический гайд по процессам и потокам (и не только) в Python

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

За то время что я занимаюсь менторством я заметил, что большинство вопросов новичков связаны с темами: конкурентность, параллелизм, асинхронность. Подобные вопросы часто задают на собеседованиях, в работе эти знания позволяют писать более эффективные и производительные системы.

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

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии7

Как я работал в Дубае

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


Предисловие


Здравствуйте, меня зовут Александр Зеленин, и я инженер-программист. В 2018 году я получил приглашение в Дубай в компанию Careem (поглощён Uber’ом за 3.1ккк$) архитектором/тимлидом в команду по финансовому взаимодействию с водителями.


В этой статье я постараюсь покрыть все ключевые темы проживания в ОАЭ: от вакансий и интервью до ипотек и бессрочного резидентства с конкретными цифрами на конец 2020 года и ссылками на релевантные сервисы. Секции не упорядочены и могут читаться в любом порядке.

Как там, в Дубае?
Всего голосов 78: ↑77 и ↓1+108
Комментарии152

АДСМ6. Интерфейсы взаимодействия с сетевыми устройствами

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

Это вторая статья - техническо-практический разбор протоколов и интерфейсов автоматизации сети.

Если хочется исторической справки, я отсылаю читателя к статье-спутнику, в которой мы двигаемся от начала времён в будущее человечества. Какую роль сыграли в нашем настоящем IETF, ISO, олдовые и современные вендоры и даже просто люди.
В этой же мы раскрываем дерево XML, пробуем на вкус капабилити NETCONF, шлём первые RPC и наконец уже расставим в правильном порядке буквы YANG, OpenConfig, gNMI.

Практическую пользу вам принесут только обе прочитанные статьи. Вторая без первой будет непонятна. Первая без второй - беллетристика.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии9

АДСМ5. История сетевой автоматизации

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

Асинхронный python без головной боли (часть 1)

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

Почему так сложно понять asyncio?

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

Но будь я автором самого толстого в мире учебника по python, я бы рассказывал читателям про асинхронное программирование уже с первых страниц. Вот только написали "Hello, world!" и тут же приступили к созданию "Hello, asynchronous world!". А уже потом циклы, условия и все такое.

Съешь красную таблетку
Всего голосов 135: ↑135 и ↓0+135
Комментарии56

Самый крутой бесплатный ресурс по обучению программированию с нуля

Время на прочтение3 мин
Количество просмотров86K
image


Куинси Ларсон, основатель бесплатной образовательной платформы для программистов freeCodeCamp

Куинси Ларсон


Путь Куинси Ларсона в программирование был замысловатым. Он 6 лет был директором школы и вдруг ему захотелось повысить эффективность системы образования, поэтому стал учиться программированию. Куинси Ларсон проанализировал, какие были учебные программы (буткэмпы) на тот момент и понял, что ни о какой доступности и открытости нет речи, и тогда решил сделать свой инклюзивный-диверсити-бесплатный образовательный лагерь в 2014 году. Куинси Ларсон хотел помочь начинающим программистам, чтобы те не шли таким корявым путем как он сам. Благодаря freeCodeCamp теперь никто больше не должен есть стекловату и смотреть в бездну. Узнав про мотивацию Куинси Ларсона, я обрадовался, ибо не один я такой странный и хочу собрать концентрат, Ontol, самых полезных бесплатных материалов в одном месте.

Помимо работы над freeCodeCamp, Куинси Ларсон борется за свободный интернет, контрибьютит в open-source и играется со своими двумя детишками.

freeCodeCamp


Образовательной платформой FreeCodeCamp пользуются 350 000 студентов в день из 160 стран. За 2021 год студенты провели за обучением 2,1 млрд минут или 4000 лет. 217 000 учеников считают себя выпускниками этой школы, 40 000 получили работу ИТишника впервые, после обучения тут.

А еще, говорят, что можно зайти на этот сайт с полным 0, а выйти уже трудоустроенным (дело за малым — разрешение на работу). Ах да, надо же знать английский (или очень хотеть его выучить).

На русском языке про FreeCodeCamp нет странички в Википедии (хотя есть на сербском, албанском, португальском, манипури, румынском, малаяльском языках), зато есть сотни более кривых «пересказов» их курсов на русском языке, но не бесплатно, а за 150к+
Читать дальше →
Всего голосов 26: ↑16 и ↓10+11
Комментарии11

В какую крипту не страшно вкладывать деньги: выбираем самый надежный стейблкоин из USDT, USDC, BUSD, DAI, UST

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

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

Читать далее
Всего голосов 92: ↑87 и ↓5+108
Комментарии52

Как натянуть сову на глобус: разбираем, как децентрализованный стейблкоин DAI может защитить ваши деньги

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

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

Читать далее
Всего голосов 34: ↑31 и ↓3+39
Комментарии20

Гайд: работающие способы вывести деньги за рубеж / завести в Россию

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

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

Читать далее
Всего голосов 91: ↑78 и ↓13+90
Комментарии173

Россия 2022: как хранить криптовалюту в условиях санкций?

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


Peace, Хабр!


Последние дни много разговоров, что криптовалюта — способ: a) сберечь свои рублевые сбережения от обесценивания, b) вывести из под риска национализации валютные сбережения.


И действительно (хорошая новость): на текущий момент ограничений по покупке и хранению криптовалют для резидентов РФ нет. Ну почти нет. По сравнению с фиатными биржами — нет.


Но (плохие новости):


  • Американские сенаторы уже обсуждают меры по ограничению использованию криптовалют для обхода санкций со стороны России [1],
  • Евросоюз занят тем же самым [2],
  • ФБР появилось подразделение по контролю за оборотом криптовалюты ([3], анонс от 17 февраля 2022, хотя межгосударственные финансовые дела вряд ли в их юрисдикции).

Еще хорошая новость (последняя):
Хрустальный шар/магический кристалл Гарри Поттер еще не подвез, поэтому сценарий с обходом санкций через криптовалютные переводы и с противостоянием этому обходу — это потенциальное будущее.


Снова плохая новость (не последняя):
Если Вам кажется, что риски в этом потенциальном будущем для Вас, как для частного инвестора, высокие, то Вам не кажется.


И что с этим делать?
Правильно — разобраться что, где, как (и надо ли) хранить условиях санкций.

Читать дальше →
Всего голосов 29: ↑25 и ↓4+27
Комментарии63

АДСМ4. Жизненный цикл сетевого оборудования и архитектура системы автоматизации

Время на прочтение25 мин
Количество просмотров6.2K
Продолжаем наш забег по сетевой автоматизации.
Итак, сеть спроектирована, IPAM запущен. И вот-вот начнут съезжаться миллионы наших стоек. Будем готовиться к этому.

Мы всё дальше от фантазий и абстрактных разговоров и ближе к практике.

И всё же снова сделаем отступление. Большое дело начинается с большого перекура.

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

Однако рано или поздно всё равно любая задача декомпозируется до уровня отдельных сетевых коробок.

И если про сеть как единый организм мы уже поговорили в 0-й статье, то теперь пришло время разобраться отдельными органами.



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

Естественно, всё это интересует нас с точки зрения автоматизируемости. Поэтому ещё мы нарисуем архитектуру системы автоматизации.

Кстати, не так давно вышла просто восхихитительная обзорная статья Дмитрия Тесля о процессе и инструментах сетевой автоматизации. Он смог лаконично изложить то, вокруг чего я пляшу уже несколько выпусков АДСМ. Настоятельно рекомендую прочитать её перед тем, как приступать к этой.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Алгоритм поиска наилучшего маршрута в linux

Время на прочтение8 мин
Количество просмотров20K
В настоящее время в компьютерных сетях практически повсеместно используется протокол IP. Для того, чтобы отправить IP-пакет каждый маршрутизатор ищет в свой таблице маршрутизации наилучший маршрут для адреса назначения пакета. В данной статье я хочу описать алгоритм поиска наилучшего маршрута, реализованного в ядре linux.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии1

С чего начинается Elasticsearch

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

Elasticsearch, вероятно, самая популярная поисковая система на данный момент с развитым сообществом, поддержкой и горой информации в сети. Однако эта информация поступает непоследовательно и дробно.


Самое первое и главное заблуждение — "нужен поиск, так бери эластик!". Но в действительности, если вам нужен шустрый поиск для небольшого или даже вполне себе крупного проекта, вам стоит разобраться в теме поподробней и вы откажетесь от использования именно этой системы.

Читать дальше →
Всего голосов 39: ↑38 и ↓1+49
Комментарии44

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3+213
Комментарии163

8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить

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

Понимайте свою программу без ущерба для производительности


image


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


Python предоставляет довольно мощный и гибкий встроенный модуль logging со множеством возможностей. В этой статье я хочу поделиться восемью продвинутыми возможностями, которые будут полезны при разработке ПО.

Читать дальше →
Всего голосов 14: ↑12 и ↓2+15
Комментарии6

Трюки с SQL от DBA. Небанальные советы для разработчиков БД

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

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

  • АБД инфраструктуры отвечали за настройку базы данных, конфигурирование хранилища и заботу о резервных копиях и репликации. После настройки БД инфраструктурный администратор время от времени «настраивал экземпляры», например, уточнял размеры кэшей.
  • АБД приложения получал от АБД инфраструктуры чистую базу и отвечал за её архитектуру: создание таблиц, индексов, ограничений и настройку SQL. АБД приложения также реализовывал ETL-процессы и миграцию данных. Если команды использовали хранимые процедуры, то АБД приложения поддерживал и их.

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать дальше →
Всего голосов 52: ↑48 и ↓4+68
Комментарии38

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

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

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Всего голосов 88: ↑86 и ↓2+108
Комментарии67

41 вопрос о работе со строками в Python

Время на прочтение9 мин
Количество просмотров148K
Я начал вести список наиболее часто используемых функций, решая алгоритмические задачи на LeetCode и HackerRank.

Быть хорошим программистом — это не значит помнить все встроенные функции некоего языка. Но это не означает и того, что их запоминание — бесполезное дело. Особенно — если речь идёт о подготовке к собеседованию.

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


Читать дальше →
Всего голосов 47: ↑44 и ↓3+59
Комментарии40

Мое исследование — кто работает в IT — профессии, навыки, мотивация, развитие карьеры, технологии (UPDATED 26.12.2019)

Время на прочтение9 мин
Количество просмотров13K
Недавно я проводил опрос среди специалистов, перешедших в IT из других отраслей. Его результаты доступны в статье.

В процессе того опроса мне стало интересно — а какое соотношение между коллегами, изначально выбравшими карьеру в IT, получившими специальное образование и теми, что получил образование по профессиям, не связанным с IT и перешел из других отраслей. Также мне стало интересно — какое соотношение между разными профессиями в IT (сколько кого) и еще ряд вопросов. Я нашел неплохую прошлогоднюю статью от Мой Круг, который теперь Хабр Карьера.

Однако там не раскрыты некоторые интересные для меня вопросы. А именно — что мотивирует и помогает в развитии карьеры IT-специалиста, какие навыки нужны, какой уровень английского языка у представителей отрасли, какое технологическое окружение преобладает в работе современного IT-специалиста. И я решил снова провести свое исследование и надеюсь на помощь читателей Хабра.

Как и в прошлый раз, я прошу вас пройти опрос (обычно занимает 3-5 минут), а затем ознакомиться с промежуточными результатами под катом.

Ссылка на опрос

Я хочу получить более 1000 ответов на опрос, чтобы данные были более достоверными.
Сейчас уже есть 500 ответов и я подвожу промежуточные итоги. Окончательная версия будет доступна через несколько дней.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+10
Комментарии29

Сети для самых матёрых. Микровыпуск №7. EVPN

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


Как вы помните из прошлого выпуска провайдер linkmeup встал на ступень Tier 2. Но просто предоставлять услуги доступа в Интернет или L2/3VPN-ы (быть по сути трубой для трафика) Linkmeup не устраивает. Сейчас большим спросом пользуются услуги облачного хранения данных, поэтому linkmeup обзавелся несколькими собственными датацентрами, расположенные по экономическим соображениям в Рязани. В связи с этим перед нами встала новая задача — как связать датацентры между собой и предоставить клиентам доступ к корпоративным СХД, расположенные в наших автозалах? Ввиду того, что в core-network уже запущен MPLS, то наш выбор пал на EVPN/MPLS. Его и рассмотрим.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Product Manager, Technical Leader
Lead