Pull to refresh
4
0
Send message

Как сделать интерактивную карту с маршрутами на Python

Reading time7 min
Views30K

Распространённая задача программистов в работе с геопространственными данными — отобразить маршруты между различными точками. Решением, которое может понадобиться в разработке веб-сайта, делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Total votes 11: ↑10 and ↓1+10
Comments5

Век поиска кратчайшего решения задачи о кратчайшем пути

Level of difficultyMedium
Reading time22 min
Views9.9K

TL;DR Очень подробный разбор алгоритмов решения задачи о кратчайшем пути от классики до двунаправленного А* и ALT с кодом и примерами на OSM

Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.

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

Читать далее
Total votes 42: ↑42 and ↓0+52
Comments14

Как мы делаем опенсорс курсы для программистов от программистов

Level of difficultyEasy
Reading time8 min
Views36K
Мы разочаровались в курсах по программированию и поэтому сделали свои собственные. Не для вайтишников, а для типичных разрабов. В процессе нас хакнул инфлюенсер и забанил сервер телеграма.

Покоцанные, но не сломленные, мы представляем проект, над которым работали полтора года по ночам. Курсы по программированию с задачами в online IDE и прагматичной теорией. Никаких сертификатов и гарантий трудоустройства. Сплошной хардкор и опенсорс!


Читать дальше →
Total votes 121: ↑120 and ↓1+137
Comments76

Похоже, я придумал свой алгоритм поиска кратчайшего пути (upd: меня опередили...)

Level of difficultyMedium
Reading time17 min
Views36K

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

Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =)

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

Читать далее
Total votes 102: ↑94 and ↓8+102
Comments111

Людвиг. Победи прокрастинацию. Как перестать откладывать дела на завтра (инструменты из книги)

Level of difficultyEasy
Reading time3 min
Views29K

Одна из самых практичных книг по тайм-менеджменту. Помогает в борьбе с откладыванием дел на потом и в более стоящем использовании своего времени. Расскажу про 3 инструмента, которые взял в работу.

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments20

Топовые подходы к решению алгоритмических задач

Reading time11 min
Views23K

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

Читать далее
Total votes 13: ↑13 and ↓0+16
Comments10

Что мы делаем, когда у нас заказывают аналитику без нормальных формулировок

Reading time18 min
Views8K
«Дайте нам аналитику, — просит бизнес айтишников, — правда, мы глубоко в это погружаться не хотим, чётко сформулировать требования не можем и расчётам BI не очень-то доверяем».

Сюр?

Сюр. Но встречается на каждом шагу.

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

image
Читать дальше →
Total votes 13: ↑12 and ↓1+13
Comments7

Пользовательские атрибуты в Python

Reading time11 min
Views186K
Вы когда нибудь задумывались о том, что происходит, когда вы ставите точку в python? Что скрывает за собой символ str(“\u002E”)? Какие тайны он хранит? Если без мистики, вы знаете как происходит поиск и установка значений пользовательских атрибутов в python? Хотели бы узнать? Тогда… добро пожаловать!
Читать дальше →
Total votes 101: ↑96 and ↓5+91
Comments20

Куда идти дальше, когда перерастаешь уровень сложности senior

Level of difficultyEasy
Reading time6 min
Views9.9K

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

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

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

Читать далее
Total votes 14: ↑10 and ↓4+9
Comments14

Как системному аналитику не делать чужую работу

Level of difficultyEasy
Reading time8 min
Views14K

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

Читать далее
Total votes 26: ↑24 and ↓2+25
Comments14

Введение в Tkinter

Reading time4 min
Views432K
image

Всем доброго времени суток!

Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments45

Мега-Учебник Flask Глава 2: Шаблоны (издание 2024)

Level of difficultyMedium
Reading time8 min
Views7.6K

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

Начать изучение
Total votes 16: ↑16 and ↓0+16
Comments3

Об одной изящной задаче

Level of difficultyEasy
Reading time4 min
Views15K

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

Имеется функция magic(), принимающая три целочисленных аргумента, в теле которой определены константы a, b, c, являющиеся натуральными числами. Требуется определить значения констант a, b и c за минимальное количество вызовов данной функции.

Посмотреть разбор задачи
Total votes 39: ↑36 and ↓3+39
Comments53

Мега-Учебник Flask Глава 1: Привет, мир! (издание 2024)

Level of difficultyMedium
Reading time18 min
Views30K

Добро пожаловать! Вы собираетесь отправиться в путешествие, чтобы научиться создавать веб‑приложения с помощью Python и фреймворка Flask. В этой первой главе вы узнаете, как настроить проект Flask. К концу этой главы на вашем компьютере будет запущено простое веб‑приложение Flask!

Начать изучение
Total votes 46: ↑46 and ↓0+46
Comments12

Основы теории цвета. Система CIE XYZ

Reading time22 min
Views128K
На Хабре периодически появляются статьи, которые так или иначе относятся к понятию цвета: его общая теория, применение цветовых профилей и систем управления цветом, подбор гармоничных сочетаний цветов в дизайне, описание проблем, которые возникают при работе с изображениями, да и множество других топиков, например, на тему обработки изображений, так или иначе затрагивают вопросы цвета и цветовоспроизведения. Но, к сожалению, большинство таких статей описывают понятие цвета и особенности его воспроизведения очень поверхностно или в них делаются поспешные выводы или даже ошибки. Количество статей и вопросов на профильных форумах об практических аспектах точного цветовоспроизведения, а также множество неверных попыток дать ответы на эти вопросы даже самими опытными специалистами, говорит о том, что проблемы при работе с цветом возникают довольно часто, а найти аргументированные и чёткие ответы на них трудно.

Недостаточные или ошибочные знания большинства IT специалистов относительно цветовоспроизведения, по моему мнению, объясняются тем, что на изучение теории цвета тратится очень мало времени, так как её основы обманчиво простые: так как на сетчатке глаза есть три вида колбочек, то смешивая определённые три цвета можно без проблем получить всю радугу цветов, что подтверждается регуляторами RGB или CMYK в какой то программе. Большинству этого кажется достаточно, и ихняя тяга к знаниям в этой области заканчивается. Но, процессы получения, создания и воспроизведения изображений готовят Вам множество нюансов и возможных проблем, решить которые поможет понимание теории цвета, а также процессов в основе которых она лежит. Этот топик призван восполнить пробел знаний в области цветоведения, и будет полезен большинству дизайнеров, фотографов, программистов, а также, надеюсь, другим IT специалистам.

Попробуйте дать ответ на следующие вопросы:
  • почему физика не может дать определения понятию цвета?
  • какая из семи основных единиц измерений СИ основывается на свойствах зрительной системы человека?
  • какого цветового тона нет в спектре?
  • как удалось измерить ощущение цвета человеком ещё 90 лет назад?
  • где используются цвета, которые не имеют яркости?

Если хоть один на вопрос у Вас не нашёлся ответ, рекомендую заглянуть под кат, где Вы сможете найти ответы на все эти вопросы.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments57

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python

Level of difficultyHard
Reading time8 min
Views13K

Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Зачем айтишнику ехать в Екатеринбург

Reading time4 min
Views28K

Екат, Екб, Ебург и Катер – у Екатеринбурга много неофициальных имен. А недавно к ним добавились «Центр мерзотной либероты» и «Город Бесов» – звания, которыми наградил уральскую столицу одиозный журналист Владимир Соловьев. Как бы вы ни относились к пропагандисту, в одном он точно прав – город отличается от всех других в России. Рассказываем, почему в нем стоит побывать всем, кто (на время?) отложил идею о релокации и собирается строить карьеру в российском IT.

Читать далее
Total votes 50: ↑34 and ↓16+30
Comments169

Хочу работать аналитиком. Как пройти собеседование?

Level of difficultyEasy
Reading time5 min
Views8.8K

Привет! Я Женя, ведущий менеджер по персоналу СИГМЫ — каждый день я ищу таланты среди ИТ-специалистов и приглядываюсь к бодрым студентам из технических вузов. Решила остановиться на теме, которая в силу профессиональных обязанностей меня очень волнует — поиск аналитиков. Да, материалов по этому направлению немало, но поиск работы и подготовка к собеседованиям всегда актуальны, особенно для начинающих специалистов. Именно с этой стороны и зайду😊.

Читать далее
Total votes 12: ↑7 and ↓5+2
Comments8

Кратко про Nameko Python

Level of difficultyEasy
Reading time5 min
Views7K

Привет, Хабр!

Nameko, как фреймворк для Python, предлагает удобные абстракции и инструменты для создания микросервисов, ориентированных на сообщения и события.

С Nameko можно получить не только инструмент для создания микросервисов, но и платформу для реализации распределенных систем с поддержкой Dependency Injection, позволяющей легко интегрировать различные компоненты приложения.

Читать далее
Total votes 11: ↑9 and ↓2+11
Comments2

Замыкания и декораторы в Python: часть 2 — декораторы

Level of difficultyEasy
Reading time11 min
Views8K

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

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

Читать далее
Total votes 10: ↑8 and ↓2+7
Comments4

Information

Rating
Does not participate
Registered
Activity