Как стать автором
Обновить
-5
0
Mikhail Rodin @Phoen

Пользователь

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

Умный дом на основе API Telegram

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

Как реализовать рабочую IoT систему на API Telegram, создавать устройства, предусмотрев масштабируемость и развитие проекта.

Читать далее
Всего голосов 31: ↑30 и ↓1+29
Комментарии21

Лучшие книги по Apache Kafka

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

«Effective Kafka: A Hands-on Guide to Building Robust and Scalable Event-Driven Applications», «Kafka: The Definitive Guide» и другие издания.

В этой статье я расскажу, как изучал Apache Kafka и с какими трудностями столкнулся. Я очень надеюсь, что мои наблюдения помогут тем, кто ещё только приступает к знакомству с платформой. Здесь мы обсудим полезные ресурсы, в основном, книги, которые я прочитал, и мой опыт с платформой#nbsp;— до чтения книг и после.

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

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие

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

Всем привет :) 

Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.

В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях меня спрашивали, с какими сложностями приходится сталкиваться при использовании этой модели, поэтому сегодня я решил поговорить именно о них и заодно поделиться решением, к которому мы пришли.

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

FizzBuzz по-сениорски

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

- Добрый день, я на интервью на позицию старшего разработчика.

- Здравствуйте, давайте начнем с небольшого теста, пока я ваше CV смотрю. Напишите программу, которая выводила бы числа от 1 до, скажем, миллиарда, притом если число кратно трем, то вместо числа выводится Fizz, если кратно пяти, то Buzz, а если и трем, и пяти, то FizzBuzz.

Серьезно, FizzBuzz? Задачка для начальной школы, на сениорскую позицию? Ну ладно.

Читать далее
Всего голосов 383: ↑376 и ↓7+369
Комментарии306

Что нужно знать, чтобы быть синьором?

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

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

Ну-ка, ну-ка...
Всего голосов 190: ↑172 и ↓18+154
Комментарии258

Что принёс нам Pandas 1.0

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


9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25.


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


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

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

Повышение продуктивности при работе с Jupyter Notebook за 5 минут

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

Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.


0. Основные горячие клавиши


  • Esc: Переключение между режимом выполнения и редактирования
  • A: Добавление пустой ячейки сверху
  • B: Добавление пустой ячейки снизу
  • DD: Удаления ячейки
  • C: Копирование ячеек
  • X: Вырезание ячеек
  • V: Вставка ячеек

1. Перезапуск блокнота


Для рестарта просто нажмите ESC + 00.


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

TelegramBot. Базовый функционал. Мухи отдельно, котлеты отдельно. (Часть 2)

Время на прочтение13 мин
Количество просмотров44K
Продолжаем разрабатывать базовый функционал для бота в телеграм. В предыдущих частях обсуждался момент, что работу бота по получению сообщений, обработке и отправке нужно разделять. Давайте попробуем с помощью базовых инструментов Java Core сделать нашего бота многопоточным и асинхронным. Придумаем ему такое задание, которое занимает очень много времени на обработку. Рассмотрим как работают команды в телеграмме и как их нужно обрабатывать.

Это продолжение первой части статьи по программированию ботов для телеграмм на Java
TelegramBot инструкция по созданию базового функционала для бота. (Часть 1)
Кому интересно дальше, милости прошу под кат…
Читать дальше →
Всего голосов 9: ↑4 и ↓5-1
Комментарии7

52 датасета для тренировочных проектов

Время на прочтение5 мин
Количество просмотров104K
  1. Mall Customers Dataset — данные посетителей магазина: id, пол, возраст, доход, рейтинг трат. (Вариант применения: Customer Segmentation Project with Machine Learning)
  2. Iris Dataset — датасет для новичков, содержащий размеры чашелистиков и лепестков для различных цветков.
  3. MNIST Dataset — датасет рукописных цифр. 60 000 тренировочных изображений и 10 000 тестовых изображений.
  4. The Boston Housing Dataset — популярный датасет для распознавания паттернов. Содержит информацию о домах в Бостоне: количество квартир, стоимость аренды, индекс преступлений.
  5. Fake News Detection Dataset — содержит 7796 записей с разметкой новостей: правда или ложь. (Вариант применения с исходником на Python: Fake News Detection Python Project )
  6. Wine quality dataset — содержит информацию о вине: 4898 записей с 14 параметрами.

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

TabPy для работы с данными в ClickHouse из Tableau

Время на прочтение6 мин
Количество просмотров5.4K
Выстраивание коммуникаций между брендами и людьми — то, чем мы в Dentsu Aegis Network занимаемся каждый день, и неотъемлемой частью этой работы является анализ данных. В ряде случаев этот процесс не требует data science (хотя и он у нас есть), тогда мы используем BI платформу Tableau. Ее основная цель — дать нашим сотрудникам и клиентам удобный интерфейс для потребления данных без написания скриптов, SQL запросов и т.п.

В этой статье мы расскажем, как нам удалось решить проблему взаимодействия Tableau с ClickHouse.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Строим домашний CI/CD при помощи GitHub Actions и Python

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

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии15

Видео докладов с Zabbix Moscow Meetup

Время на прочтение1 мин
Количество просмотров20K
Недавно проводили в офисе Zabbix Meetup, который из-за количества участников (приехали ребята из Ярославля, Новосибирска, Уфы, Владивостока, Краснодара, Воронежа, Брянска, СПб и других городов) перерос в конференцию на весь день. И сегодня хотим поделиться с вами видео докладов.

1. «Zabbix: прошлое, настоящее и будущее», Алексей alexvl Владышев, Zabbix.





2. «Zabbix в Badoo или о чем не пишут в мануале», Илья ableev Аблеев, Badoo.

NEW: Наш Screens Controller для Zabbix.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии2

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Время на прочтение5 мин
Количество просмотров114K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Всего голосов 111: ↑96 и ↓15+81
Комментарии102

«Идеальный» кластер. Часть 3.1 Внедрение MySQL Multi-Master кластера

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

В продолжение цикла статей об «Идеальном» кластере хочу поделиться моим опытом развертывания и настройки Multi-Master кластеров MySQL.




Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии71

Сайт с визуализацией работы большого количества протоколов

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

Ссылка

http://www.visualland.net/

Картинка




Примеры визуализаций

Все.
Всего голосов 132: ↑125 и ↓7+118
Комментарии15

Я построю свой почтовый сервер с Postfix и Dovecot

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

В рамках программы по унификации установленных серверных систем встала задача по переделке почтового сервера. Вдумчивое изучение мануалов и руководств показало довольно любопытный факт – нигде не было найдено однозначно достоверного руководства или подобия Best Practice по развёртыванию почтовика.

Мануал пошаговый, основывается на внутренней документации компании и затрагивает совершенно очевидные вопросы. Гуру могут не тратить время, ноу-хау здесь нет – руководство является сборной солянкой и публикуется только потому, что все найденные руководства по развёртыванию почтовика напоминали картинку о том, как рисовать сову.
Очень много текста
Всего голосов 78: ↑74 и ↓4+70
Комментарии65

Трудности администрирования гостевых хотспотов (часть 1)

Время на прочтение4 мин
Количество просмотров6.6K
В этой небольшой статье я расскажу как снять с себя головную боль по администрированию больших подсетей завязанных на раздачу интернета приходящим пользователям.
Основные инструменты:
  • Голова
  • Еще раз голова
  • Руки
  • FreeBSD
  • PF
  • isc-dhcpd
  • memcached
  • perl

Желающие узнать про всё написанное под кат, остальным хорошего просмотра остальных топиков.
Ссылка на вторую часть
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии7

Пишем веб-сервис за 1 вечер

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

Предистория


Заказал я недавно одну вещицу из Англии к себе в родной Санкт-Петербург. Посылка по территории России шла EMS-отправлением. И каким же было мое удивление, когда я обнаружил, что по выданному мне трек-номеру (идентификатор отправления) я не могу отслеживать состояние посылки в автоматическом режиме. Обладая весьма нетерпеливым характером, я буквально каждое утро начинал с проверки состояния своей посылки. И еще больше огорчался, когда понимал, что она все там же, где и была 5 дней назад. Немного поразмыслив я решил, что это ужасное упущение, и решил исправить ситуацию своими силами.
Читать дальше →
Всего голосов 297: ↑229 и ↓68+161
Комментарии80

Про опасность и безопасность в сетях Cisco

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

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

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

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

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

ACL: списки контроля доступа в Cisco IOS

Время на прочтение9 мин
Количество просмотров558K
Сегодня я расскажу вам о том, как отфильтровать трафик в сети с помощью списков контроля доступа. Рассмотрим как они работают соответственно, что собой представляют, для чего предназначены. Позже я покажу как они настраиваются в Cisco IOS и выложу архив с лабораторными работами для закрепления ваших знаний.

Введение


ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии35
1

Информация

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

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

DevOps