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

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

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

Хочу купить чужой домен, как это сделать? Шаги от проверки к покупке

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

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

Рассказываю, как проверить и как купить.
Всего голосов 16: ↑14 и ↓2+25
Комментарии9

Python-пакеты для Data Science

Время на прочтение8 мин
Количество просмотров35K
Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуется такой популярностью среди программистов. Можно наугад назвать какую-нибудь сферу деятельности и в экосистеме Python, почти гарантированно, найдутся отличные инструменты для решения специфических задач из этой сферы. В наше время весьма востребованы наука о данных (Data Science, DS) и машинное обучение (Machine Learning, ML). И там и там Python показывает себя наилучшим образом.

Помимо Python в DS-проектах часто используют язык программирования R. R быстрее Python и имеет больше статистических и вычислительных библиотек. Но в этом материале мы будем говорить исключительно о библиотеках (пакетах) для Python, о которых стоит знать каждому, кто хочет добраться до профессиональных вершин Data Science.



Прежде чем переходить к обзору библиотек, остановимся на том, что это такое — «наука о данных», и на том, почему в этой сфере стоит пользоваться языком Python.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+24
Комментарии5

Хороший договор — короткий договор

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

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

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

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

Предлагать клиентам подписать договор, который бы не хотел подписывать сам — хамство.

У нас был договор написанный простым и понятным языком. Но жизнь не стоит на месте и коллеги сказали, что нужен новый договор. И что нужно обязательно обратиться к юристу, чтобы всё профессионально было. Обратились. Получили скучнейшую простыню как у всех. Читать невозможно. 

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

Собеседование по Data Science: что могут спросить и где найти ответы на вопросы

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

Однажды я получил оффер от Deliveroo, в этой компании я должен был стать Data Science Manager. Пока я готовился к тому, чтобы приступить к выполнению своих обязанностей, оффер отозвали. У меня на тот момент не было подушки безопасности на случай продолжительного отсутствия работы. Я поделюсь с вами всем, что в итоге помогло мне получить сразу два оффера на должность Data Scientist от Facebook. Надеюсь, это поможет кому-то из вас выбраться из той сложной ситуации, в которой я оказался несколько месяцев назад.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+18
Комментарии1

Формат таблиц в pandas

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

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


Например, в excel для этого используется условное форматирование и спарклайны. А в этой статье мы посмотрим как визуализировать данные с помощью Python и библиотеки pandas: будем использовать свойства DataFrame.style и Options and settings.

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

Улучшение Python-кода: 12 советов для начинающих

Время на прочтение12 мин
Количество просмотров42K
В мои обязанности входит наём Python-разработчиков. Если у заинтересовавшего меня специалиста есть GitHub-аккаунт — я туда загляну. Все так делают. Может быть, вы этого и не знаете, но ваш домашний проект, не набравший ни одной GitHub-звезды, может помочь вам в получении работы.

То же самое относится и к тестовым задачам, выдаваемым кандидатам на должность программиста. Как известно, мы, когда впервые видим человека, формируем первое впечатление о нём за 30 секунд. Это влияет на то, как мы будем, в дальнейшем, оценивать этого человека. Мне кажется несправедливым то, что люди, обладающие привлекательной внешностью, добиваются всего легче, чем все остальные. То же самое применимо и к коду. Некто смотрит на чей-то проект и что-то тут же бросается ему в глаза. Ошмётки старого кода в репозитории — это как крошки хлеба, застрявшие в бороде после завтрака. Они могут напрочь испортить первое впечатление. Может, бороды у вас и нет, но, думаю, вам и так всё ясно.



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

В чём разница между новичком и более опытным разработчиком? Новичок не работал с устаревшими кодовыми базами. Поэтому он не видит ценности в том, чтобы вкладывать время в написание кода, который легко поддерживать. Часто новички работают в одиночку. Они, в результате, не особенно заботятся о читабельности кода.
Читать дальше →
Всего голосов 43: ↑35 и ↓8+45
Комментарии18

Опенсорсные альтернативы Google Analytics на своём хостинге

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

Веб-интерфейс опенсорсного сервиса аналитики Matomo

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

С точки зрения системного администратора в этих списках отдельно выделяется категория веб-аналитики — замена сервису Google Analytics, который собирает детальную статистику о посетителях сайта. Все знают, как работает такой сервис. Внедряете на страничках JS-код отслеживания, и если человек не установил блокировщик следящих скриптов, то каждый раз при открытии страницы будет срабатывать этот скрипт. Дальше статистика по вашим пользователям отправляется на хранение в корпорацию Google.

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии18

Grafana+Zabbix: Визуализация работы производственной линии

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

В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной автоматизации или IoT. Статья не является подробным руководством, это скорее концепция системы мониторинга, основанная на открытом программном обеспечении для производственного предприятия.

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

Моделирование отказоустойчивых кластеров на базе PostgreSQL и Pacemaker

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

Введение


Некоторое время назад передо мной поставили задачу разработать отказоустойчивый кластер для PostgreSQL, работающий в нескольких дата-центрах, объединенных оптоволокном в рамках одного города, и способный выдержать отказ (например, обесточивание) одного дата-центра. В качестве софта, который отвечает за отказоустойчивость, выбрал Pacemaker, потому что это официальное решение от RedHat для создания отказоустойчивых кластеров. Оно хорошо тем, что RedHat обеспечивает его поддержку, и тем, что это решение универсальное (модульное). С его помощью можно будет обеспечить отказоустойчивость не только PostgreSQL, но и других сервисов, либо используя стандартные модули, либо создавая их под конкретные нужды.


К этому решению возник резонный вопрос: насколько отказоустойчивым будет отказоустойчивый кластер? Чтобы это исследовать, я разработал тестовый стенд, который имитирует различные отказы на узлах кластера, ожидает восстановления работоспособности, восстанавливает отказавший узел и продолжает тестирование в цикле. Изначально этот проект назывался hapgsql, но со временем мне наскучило название, в котором только одна гласная. Поэтому отказоустойчивые базы данных (и float IP, на них указывающие) я стал именовать krogan (персонаж из компьютерной игры, у которого все важные органы дублированы), а узлы, кластеры и сам проект — tuchanka (планета, где живут кроганы).


Сейчас руководство разрешило открыть проект для open source-сообщества под лицензией MIT. README в скором времени будет переведен на английский язык (потому что ожидается, что основными потребителями будут разработчики Pacemaker и PostgreSQL), а старый русский вариант README я решил оформить (частично) в виде этой статьи.


Krogan on Tuchanka

Читать дальше →
Всего голосов 25: ↑23 и ↓2+25
Комментарии53

Как правильно составить ТЗ на администрирование: наши грабли

Время на прочтение10 мин
Количество просмотров14K
Вообще, тема неисчерпаемая. Ковыряется как-то Лёшка (наш инженер) в стойке в ЦОДе повышенной ответственности, где стоит несколько банков. В соседнем ряду наблюдает совершенно дикую картину: парень подошёл к блейду. Выдернул жёсткий диск, что-то записал, ВОТКНУЛ ЕГО НАЗАД, выдернул второй, записал, поставил, выдернул третий. Лёша ему: «Пссс, парень, ты чего?» Он: «Ну так инвентаризация же!» И сразу как-то всё стало понятно.

Я работаю в департаменте вычислительных систем КРОК, мы поддерживаем всё то, что можно кинуть в стену. То есть сервера, системы хранения данных и прочее дорогое железо в дата-центрах. Ну и то, что на нём — операционки, базовую инфраструктуру. Простейшая базовая услуга — ЗИП, то есть замена комплектующих вовремя. Более сложные — это заменять сисадминов заказчика.

Самый страшный момент контракта — это составление техзадания. Расскажу про те грабли, которые мы ощупали вместе с клиентами и о том, как их избежать. Ну и приложу пример шаблона ТЗ, который используем мы.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+51
Комментарии26

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

Время на прочтение4 мин
Количество просмотров25K
В предыдущих статьях был описан шеститочечный метод разворачивания этикеток и как мы тренировали нейронную сеть. В этой статье описано, как склеить фрагменты, сделанные из разных ракурсов, в одну длинную картинку.
Читать дальше →
Всего голосов 101: ↑101 и ↓0+101
Комментарии30

Bash-скрипты: начало

Время на прочтение11 мин
Количество просмотров1.8M
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


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

Продвинутый уровень визуализации данных для Data Science на Python

Время на прочтение7 мин
Количество просмотров51K
Как сделать крутые, полностью интерактивные графики с помощью одной строки Python

image

Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции продолжать посвящать время и ресурсы проигранному делу, потому что мы уже потратили — утонули — так много времени в погоне. Заблуждение о заниженной стоимости применимо к тому, чтобы оставаться на плохой работе дольше, чем мы должны, рабски работать над проектом, даже когда ясно, что он не будет работать, и да, продолжать использовать утомительную, устаревшую библиотеку построения графиков — matplotlib — когда существуют более эффективные, интерактивные и более привлекательные альтернативы.

За последние несколько месяцев я понял, что единственная причина, по которой я использую matplotlib, — это сотни часов, которые я потратил на изучение сложного синтаксиса. Эти сложности приводят к часам разочарования, выясняя на StackOverflow, как форматировать даты или добавить вторую ось Y. К счастью, это прекрасное время для построения графиков в Python, и после изучения вариантов, явным победителем — с точки зрения простоты использования, документации и функциональности — является библиотека plotly. В этой статье мы погрузимся прямо в plotly, изучая, как создавать лучшие графики за меньшее время — часто с помощью одной строки кода.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+23
Комментарии10

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

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

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


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


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

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

Redis на практических примерах

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

Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

Рассмотрим следующие кейсы:

  • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
  • Работа с очередями на базе redis
  • Организация блокировок (mutex)
  • Делаем систему rate-limit
  • Pubsub — делаем рассылки сообщений на клиенты

Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


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

Как коронавирус повлиял на ML-проекты Такси, Еды и Лавки. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров7.7K
Меня зовут Илья Ирхин, я руководитель отдела машинного обучения и анализа данных Яндекс.Такси.


Коронавирус и самоизоляция, безусловно, повлияли на наши ML-проекты. Из моего доклада вы узнаете, как изменились модели, метрики и процессы. Вторая часть доклада тоже связана с нынешней ситуацией. Я рассказал о проектах-бумерангах — мы делаем их не потому, что они улучшают метрики в моменте, а потому, что верим: эти проекты будут полезны в будущем. Например — в такое время, как сейчас.
Читать дальше →
Всего голосов 19: ↑14 и ↓5+19
Комментарии7

Съемочная площадка в офисе — практичный способ не налажать с трансляцией

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


Сегодня каждый день натыкаешься на какую-то вебинар или онлайн-конференцию. На удалёнку переходят вузы и школы, крупные корпорации спешно переосмысливают свои флагманские ивенты в онлайне (вроде двухдневного Microsoft Build), у JUG Ru Group онлайн продлится сразу несколько недель. Отрасль захвачена стремительными инновациями.


Тем не менее, уровень среднестатистического вебинара в интернете всё ещё крайне плох. Наверное, любой разумный человек хоть раз в жизни задавался вопросом: что это за вакханалия? Зачем я в этом участвую? А если за это и деньги уплачены, то обидно до слез. Такое ощущение, что прогресса там нет и не было. Казалось бы, на дворе 2020 год, в любом компьютерном магазине лежат крутые веб-камеры и телефоны, наполненные чудесами вычислительной фотографии. Можно спокойно сидеть дома и, попивая чаек, транслировать в интернет голливудскую картинку.


Вместо этого я собираю вещи и иду в пустой офис. Зачем?


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

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

Мониторим базу PostgreSQL — кто виноват, и что делать

Время на прочтение7 мин
Количество просмотров32K
Я уже рассказывал, как мы «ловим» проблемы PostgreSQL с помощью массового мониторинга логов на сотнях серверов одновременно. Но ведь кроме логов, эта СУБД предоставляет нам еще и множество инструментов для анализа ее состояния — грех ими не воспользоваться.

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


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

Сегодняшняя статья — о том, какие выводы можно сделать, наблюдая в динамике различные метрики баз PostgreSQL-сервера, и где может скрываться проблема.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии11

Тестировщик больших и маленьких данных: тренды, теория, моя история

Время на прочтение10 мин
Количество просмотров22K
Всем привет, меня зовут Александр, и я Data Quality инженер, который занимается проверкой данных на предмет их качества. В этой статье речь пойдёт о том, как я к этому пришёл и почему в 2020 году это направление тестирования оказалось на гребне волны.


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

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих

Время на прочтение6 мин
Количество просмотров29K
Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл, выдавать комментарии, выгружать данные для анализа и шарить результаты в соцсети. Для реализации этой задачи я выбрал Django, DRF, Python и базу данных PostgreSQL.



Все детали — под катом.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+18
Комментарии3

Информация

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