Как стать автором
Обновить
21
0.1

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

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

Фильтр Блума

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



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

Читать дальше →
Всего голосов 42: ↑46.5 и ↓-4.5+51
Комментарии12

Реализуем чистую архитектуру на Flutter с cubit

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

Соблюдать принципы чистой архитектуры – значит обеспечить удобство тестирования, поддержки и модернизации приложения. Понимание архитектуры и state management – это база, необходимая начинающему специалисту для успешной командной работы. В этой статье мы расскажем, как с помощью Cubit реализовать чистую архитектуру на примере стартового приложения Flutter – счетчика нажатий на кнопку. 

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии15

Конфликтология в it

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

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

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

Merlion Framework или как упростить работу с временными рядами

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

Единственная причина для существования времени — чтобы все не  случилось одновременно.

Альберт Эйнштейн

Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.

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

Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени. 

Задача анализа и предсказания временных рядов остаётся актуальной для бизнеса, ведь  для успешного планирования возникает необходимость прогнозирования, например, следующих показателей:

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

Domain Driven Design в Go – это почти не больно

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

Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.

Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.

Читать далее
Всего голосов 22: ↑21 и ↓1+20
Комментарии10

Ищем аномалии: доход, отношения и 10х-программисты

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

Вскоре после того как я, в сентябре 2013, начал вести блог (мне, студенту, тогда больше нечем было заняться), я поставил перед собой цель — писать по статье в неделю. В результате — со дня рождения моего блога и до того момента, когда я начал работать в Wave (тогда мне уже было чем заняться, в результате посты я выкладывал гораздо реже), я опубликовал примерно 150 материалов.

Результаты публикации этих 150 статей оказались очень и очень разными:

— Два поста оказались крайне успешными, добрались до главной страницы Hacker News (первый — о том, что произошло со всеми непрограммистами, второй — о читабельности, хакабельности и абстрагировании кода).

Дэн Луу, после того, как увидел второй из вышеупомянутых постов, подписался на мой блог и начал слать на Hacker News многие мои материалы. В результате ещё штук 5 статей стали довольно-таки популярными. Это привело к приходу в мой блог первой волны подписчиков, с которыми я не знаком лично. Плюс — это дало мне серьёзную мотивацию писать дальше. Я и Дэн, в итоге, стали хорошими друзьями.

— Примерно 95% оставшихся постов получились совершенно непримечательными.

Это — очень типичный разброс результатов публикаций, на который могут рассчитывать блогеры: несколько «хитов» и куча «хлама». Через восемь лет я развил достаточно хорошее чутьё на то, какой пост найдёт отклик у читателей. В результате я смог почти полностью уйти от написания совершенного «хлама». Но, даже учитывая это, несколько моих лучших недавних постов (этот и этот) оказались гораздо успешнее других. Речь идёт о том, что многие делились с другими ссылками на них, и о комментариях к ним, вроде «то, что я узнал, сильно на меня повлияло».

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

Solidity: Путешествие в сердце оптимизации

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

Приветствую, кодеры Solidity!

Если вы здесь, то или у вас есть смарт-контракт, который готов к «похудению», или вы просто пытаетесь нарастить свои мышцы в области оптимизации Solidity. Как бы то ни было, сегодня я предлагаю вам навес золота в виде 27 проверенных методов оптимизации. Это ваш новый тренажерный зал для мозга! Всегда приятно иметь на руках свежий чек-лист перед запуском нового проекта. Итак, погнали!

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Комментарии12

Blockchain-разработка глазами Backend-разработчика

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

Я достаточно давно занимаюсь Backend разработкой и последние несколько лет, все больше и больше пишу разные блокчейн проекты (Solidity на EVM). Погружение в блокчейн мне давалось непросто и мой бэкендерский мозг несколько раз ломался, и я решил поделиться своим взглядом на погружение в блокчейн-разработку.

У этого поста также есть видеоверсия.

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

Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony

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

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

В этой статье мы рассмотрим монаду Maybe и то, как ее можно использовать в Symfony.

Читать далее
Всего голосов 13: ↑9 и ↓4+5
Комментарии19

Инструменты аудита команды

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

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

Почитать
Всего голосов 6: ↑4 и ↓2+2
Комментарии8

Стохастический язык программирования на основе алгоритмов Маркова

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

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии24

Многомерные графики в Python — от трёхмерных и до шестимерных

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

Примеры многомерных графиков

Введение


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


Plotly — это питоновская библиотека с открытым исходным кодом для разнообразной визуализации, которая предлагает гораздо больше настроек, чем известные matplotlib и seaborn. Модуль устанавливается как обычно — pip install plotly. Его мы и будем использовать для рисования графиков.


Давайте подготовим данные


Для визуализации мы используем простые данные об автомобилях от UCI (Калифорнийский университет в Ирвине — прим. перев.), которые представляют собой 26 характеристик для 205 машин (26 столбцов на 205 строк). Для визуализации шести измерений мы возьмём такие шесть параметров.


Здесь показаны только 4 строки из 205

Загрузим данные из CSV с помощью pandas.


import pandas as pd
data = pd.read_csv("cars.csv")

Теперь, подготовившись, начнем с двух измерений.

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

Ловушки мышления, которые мешают пробить стеклянный потолок, но не всегда осознаются

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

Многим известен эффект стеклянного потолка, когда действия есть, а результата нет. Кажется, еще чуть‑чуть и все изменится: бизнес попрет, мастерство выйдет на новый уровень, доходы увеличатся, но несмотря на все усилия — ничего не меняется. Почему?

Читать далее
Всего голосов 63: ↑60 и ↓3+57
Комментарии48

10 лет назад я продал свой стартап за $2.2M и погряз в депрессии

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

Меня зовут Виктор Кох и это моя история одного из громких скандалов в технологическом секторе.

Прежде всего, я рад опубликовать свою первую статью на HabrHabr.

Одна из причин, по которой я не мог свою историю написать ранее, а именно 5 лет назад или даже 8 лет назад — договор о неразглашении, который ограничивал мои действия 10 лет.

Часть пунктов запрета вышла из срока, а вот многие другие, которые раскрывают детали расследования служб находятсв под неразглашением на ещё 90 лет. Кто-то может смеяться, но такая практика существует в американском праве.

Итак, возвращаясь к теме, сегодня мне 35 лет и за моей спиной почти 18 лет опыта создания стартапов. Я начал программировать в 7 лет, благодаря моему другу детства, чей отец работал в МГТУ им. Н. Э. Баумана. Первые 25 тысяч долларов я заработал в 16 лет на продаже сайта, который специализировался по перепродаже телефонов и компьютерной техники — для меня это были огромные деньги в тот период.

Читать далее
Всего голосов 131: ↑62 и ↓69-7
Комментарии124

Как алгоритм 1972 года спас наш проект и при чем тут Тарьян?

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

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

Читать далее
Всего голосов 38: ↑35 и ↓3+32
Комментарии54

Как я помогаю себе справляться с незавершенными делами

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

У вас была ситуация, когда не получалось завершить какое-нибудь дело? Это мог быть рабочий проект, ремонт в спальне или желание сбросить ненавистные лишние килограммы? Если да, то замечали ли вы, что если мы начинаем (или хотим начать) дело, но не доводим его до финала, последствия сказываются не только на нас, но иногда и на окружающих?

Привет! Меня зовут Хусен Гапурхаев, я скрам-мастер в Beeline Казахстан, и в работе часто сталкиваюсь с необходимостью делать одновременно большое количество задач (причем как своих, так и в работе наших продуктовых команд).

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

Читать далее
Всего голосов 24: ↑21 и ↓3+18
Комментарии5

Пусть программирует Серёжа

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

У каждого клиента – свои предпочтения. Не только в выборе автомобиля, блюда на обед или корпоративной информационной системы. Клиенты любят выбирать программистов.

Ну, что программисты разные – ежу понятно. Считается, что клиенты предпочитают профессионалов. Мы тоже так думали, и искренне стремились сделать каждого своего программиста этим самым профессионалом.

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

Читать далее
Всего голосов 189: ↑161 и ↓28+133
Комментарии245

Новые игровые ноутбуки от Alienware получат механическую клавиатуру Cherry MX Ultra Low Profile

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

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

Механические клавиатуры сами по себе не редкость, но в ноутбуках новых поколений их можно встретить не так уж и часто. Компания Dell совместно с Cherry разработали механическую клавиатуру для ноутбуков. За время сотрудничества над проектом, а это более трех лет, компании создали свыше 160 опытных образцов. Результат — Cherry MX Ultra Low Profile, клавиатура со сверхнизкими механическими переключателями.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии13

Информация

В рейтинге
2 824-й
Зарегистрирован
Активность