Как стать автором
Обновить
10
0
Кирилл Петряев @Recosh

Full Stack разработчик

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

Если вы думаете, что в энтерпрайзе сервис лучше, а жизнь ярче, то у меня есть, что рассказать

Время на прочтение10 мин
Количество просмотров28K
После очередного поста про работу нашего VDS-хостинга под постом одна крупная и уважаемая компания оставила длинный комментарий с оправданиями своего косяка, упомянутого в посте. Что интересно, до этого их представитель позвонила мне и провела диалог, который сводился к «у нас, в мире крупных компаний, так не принято». В голове сразу всплыли контрпримеры, когда сервис в энтерпрайзе хуже, чем в забегаловке где-нибудь в Сочи. Про них я и хочу рассказать.

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


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

Какую СУБД выбрать и почему? (Статья 1)

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

Первая часть в серии статей про СУБД, в которых будут представлены простые и понятные критерии, на основе которых можно будет получить подсказку, какую СУБД выбрать для своего проекта.

В данной статье разберем типы СУБД, какие наиболее популярны, в чем их предназначение и уникальность. Подскажу при каких условиях нужно выбирать ту или иную СУБД, а когда не нужно.

Читать далее

Python микросервисы с Kafka без боли

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

В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana.

Читать далее

Экскурсия в подвал

Время на прочтение5 мин
Количество просмотров7.3K
Математика суть красота, зеркало мысли человека. Грядущие открытия невообразимо прекрасны. Но уже сейчас чтобы добраться до вершины наблюдения известных красот нужно потратить много усилий, и при этом может не получиться. А если получится, то беда придёт с другой стороны — новые вопросы будут подвергать сомнению любые прежние договорённости, не стесняясь. Станет ясно, что по этим обширным загадочным местам бродить — не перебродить. Предлагаю, наоборот, посетить подвал математики — куда любителю красоты вход заказан. Причина проста: там всё очевидно, слишком очевидно.



Тот, кто послал тебя туда, не был к тебе добр. (Этот абзац — лирическое отступление)

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

При входе в подвал можно сразу обратить внимание на скучный пол. Это — понятие «равенство». Оно говорит всего лишь о разделении двух уровней: уровня объектов и уровня их имён. Об одном объекте можно говорить как о двух, ведь сами имена различаются. Объект один, а на словах два — прям достижение. Кроме факта равенства или неравенства об объектах, соответствующих разным именам, ничего не вывести, чистая скука. Ну, для разнообразия можно ещё и не знать, как оно.

Под полом равенства лежит сплошной бетон абсолюта — объект всего один, и равен он себе или не равен — не важно.

Первое что лежит на полу и подпирает всё остальное это вполне себе нескучный предмет.
Читать дальше →

Понять кубик Рубика

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

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

То же самое со сборкой этой головоломки: миллионы людей умеют делать это по формулам, но сколько из них понимают, что они делают? А ведь начать чувствовать кубик Рубика не так сложно!

Но сперва давайте договоримся, зачем нам такая головоломка нужна и чем полезна. Вы же уже слышали шутки про то, что кубик Эрно Рубика – штука многогранная? А видите параллели между кубиком Рубика, шахматами и, например, пианино или гитарой?

Читать далее

Empire ERP. Занимательная бухгалтерия: PostgreSQL

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

Содержание цикла статей: https://github.com/nomhoi/empire-erp.


Попробуем спроектировать базу данных модуля "Бухгалтерия" на PostgreSQL.

Читать дальше →

Osint-San — инструмент, с которым можно стать кибердетективом

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

Привет Хабр! С вами Горшков Максим, специалист по информационной безопасности Cloud4Y. Мне выпала честь первому протестировать новый инструмент киберразведки: OSINT-SAN. Разрабатывал его мой коллега по ИБ Максим Пономарёв (Bafomet).

Что это и зачем

Непрерывная интеграция и развертывание (Deployment) с помощью Jenkins

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

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

Итак, начнем.

Как мы не смогли подобрать подрядчика и внедряли CRM сами. Главные ошибки и их решения

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

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

Год назад нам потребовалось внедрить CRM у одного из заказчиков. Купили Битрикс24, несколько месяцев выбирали подрядчиков по внедрению. С двумя из них поработали, но безрезультатно — потеряли 8 месяцев и в итоге сделали всё сами. В этой статье я расскажу, на что нужно обратить внимание, чтобы не повторять наших ошибок, как сэкономить время и деньги при внедрении любой CRM-системы.

Читать далее

Завершен перевод систематизированного обзора литературы по военным SDN-сетям

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

Аннотация

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

Ключевые слова

военные сети; виртуализация функций сети; SDN; программно-определяемые сети; программно-определяемое радио; систематизированный обзор литературы; опрос; тактические сети; беспроводные сенсорные сети

Читать далее

Как решать сложные (технические) проблемы

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


Мировоззрение


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


Поиск первопричины


  • Постарайтесь воспроизвести проблему
    • Можете ли вы воспроизвести это из командной строки?
      • Другим людям легче воспроизвести проблему
      • Легче проверить исправление
  • Есть ли логи? Что за сообщение об ошибке?
    • Прочтите описание ошибки. Каждое его слово. Дважды.
    • Есть ли где-нибудь опечатка (командная строка / конфигурация / код)?
  • Изолируйте проблему
    • Удалите некоторые части системы и попробуйте воспроизвести ошибку
    • Меняйте одно за раз, сохраняя все остальное постоянным
Читать дальше →

HMM: ловим мошеннические транзакции

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

Три года я проработал в Сербии iOS-евангелистом - было два профильный проекта и один Machine Learning-овый.

Если вам стало интересно - добро пожаловать в мир HMM.

Читать далее

Бесплатные сервисы для разработчиков — огромный список

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

Бесплатное хранилище артефактов PackageCloud

Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

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

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →

Jitsi Meet: опенсорсная альтернатива «шпионскому» видеоприложению Zoom

Время на прочтение4 мин
Количество просмотров141K
В связи с массовым переходом на удалённую работу приложение для видеоконференций Zoom резко выросло в популярности. Но это не идеальный вариант с точки зрения безопасности. Хотя Zoom предлагает end-to-end шифрование для текстовых чатов, а шифрование видеоконференций можно активировать на стороне хоста, если верить разработчикам проприетарной программы.

Но тип шифрования невозможно проверить, потому что код закрыт, а с точки зрения приватности приложение Zoom вызывает вопросы у некоторых экспертов. Например, хост может активировать странную функцию «трекинг внимания» (attention tracking). Она отслеживает, что участник не отвлекается от совещания больше, чем на 30 секунд (окно приложения должно быть открыто и активно).

Вычислительная геология и визуализация: пример Python 3 Jupyter Notebook

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

Сегодня вместо обсуждения геологических моделей мы посмотрим пример их программирования в среде Jupyter Notebook на языке Python 3 и с библиотеками Pandas, NumPy, SciPy, XArray, Dask Distributed, Numba, VTK, PyVista, Matplotlib. Это довольно простой ноутбук с поддержкой многопоточной работы и возможностью запуска локально и в кластере для обработки больших данных, отложенными вычислениями (ленивыми) и наглядной трехмерной визуализацией результатов. В самом деле, я постарался собрать разом целый набор сложных технических концепций и сделать их простыми. Для создания кластера на Amazon AWS смотрите скрипт AWS Init script for Jupyter Python GIS processing, предназначенный для единовременного создания набора инстансов и запуска планировщика ресурсов на главном инстансе.

Визуализация с помощью Visualization Toolkit(VTK) и PyVista это уже далеко не Matplotlib

Читать дальше →

6 принципов эффективной визуализации данных

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

Ключевые принципы создания полезных и информативных графиков


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

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

Тем не менее при написании этой статьи я черпал вдохновение в книге Эдварда Тафта «Beautiful Evidence», которая содержит шесть принципов, посвящённых тому, как сделать графики данных полезными. Именно эти принципы отделяют полезные графики от бесполезных.

Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.

Давайте ближе познакомимся с этими принципами.


Пример визуализации данных на Our World in Data
Приятного чтения!

Безумный дом

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

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

Под катом - подробный гайд по настройке системы умного дома: сделаем возможным работу устройств ZWave и кастомных MQTT-устройств на базе ESP8266, настроим управление домом при помощи HomeKit и Яндекс Алисы.

Читать далее

Как смартфоны обрабатывают фотографии? Разбор

Время на прочтение6 мин
Количество просмотров13K
Берем современный смартфон. Открываем камеру. Фотографируем. И сразу получаем хороший снимок. Вообще ничего не настраивая, вообще не задумываясь, а справится ли эта камера!

Сырой снимок, до обработки всеми алгоритмами, выглядит довольно серо и уныло. Но мы получаем яркий, насыщенный кадр.

Но как мы дошли до жизни чудесной такой, что современные смартфоны делают такие крутые снимки, как по волшебству? Но это не волшебство…


Сегодня мы поговорим про шесть этапов, которые проходит цифровая фотография прежде, чем превратиться в шедевр в памяти вашего смартфона.

Как бы я сейчас объяснил молодому себе… зачем существуют требования ACID для баз данных?

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

Я – выскочка. По крайней мере, так я себя иногда ощущаю. Закончив второй курс политологии и журналистики в университете, я увидел американский рейтинг профессий по уровню оплаты труда. Журналист в этом рейтинге был на последнем месте, а на первых местах были data scientists и data engineers (политолога в этом списке, почему-то, не было). Я не знал, кто составлял этот список, и понятия не имел, кто такие эти data-челы с первых строк, но он меня впечатлил. Я бросил пить и начал проходить курсы на Coursera, а потом каким-то чудом заполучил студенческую подработку в стартапе. Так я сделал своё «войти в IT».

Когда человек, не имеющий университетской подготовки, пытается начать программировать, то он чувствует себя несчастным, который, увидев из окна солнце, вышел на улицу и попал под неожиданный в столь прекрасный день град: шаблоны проектирования, функции, классы, ООП, инкапсуляция, протоколы, потоки, ACID… Хочется прокричать, как Виктор Фёдорович в своё время:

Окно в удивительный мир баз данных...

Wolfenstein 3D: трассировка лучей с помощью WebGL1

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

После появления прошлым летом графических карт Nvidia RTX трассировка лучей (ray tracing) снова обрела былую популярность. За последние несколько месяцев мою ленту в Twitter заполнил бесконечный поток сравнений графики со включенным и отключенным RTX.

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

Страдая синдромом неприятия чужих разработок, я в результате создал собственный гибридный движок рендеринга на основе WebGL1. Поиграть с демо рендеринга уровня из Wolfenstein 3D со сферами (которые я использовал из-за трассировки лучей) можно здесь.
Читать дальше →

Информация

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