Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Советы по Django
'null' vs. 'blank'
В моделях Django 'null' влияет на хранение данных в базе, позволяя полям хранить значения 'NULL'.
'blank' влияет на валидацию форм, разрешая пустые значения в формах.
👉@BookPython
'null' vs. 'blank'
В моделях Django 'null' влияет на хранение данных в базе, позволяя полям хранить значения 'NULL'.
'blank' влияет на валидацию форм, разрешая пустые значения в формах.
👉@BookPython
Приходите на открытый практический урок «Генераторы и очереди в Python» от OTUS. Спикер Дмитрий Панкрашов — ведущий разработчик в компании-партнере вендора СЭД «Директум».
На вебинаре мы:
- рассмотрим концепции генераторных функций и очередей;
- поговорим о сходствах, различиях и применимости в решении реальных задач;
- разберем несколько практических примеров;
- ответим на все возникающие вопросы.
Встречаемся 13 мая в 20:00 мск в преддверии старта курса «Специализация Python Developer».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Похоже, я придумал свой алгоритм поиска кратчайшего пути
Я реализовал, похоже, собственный алгоритм поиска кратчайшего пути с отрицательными ребрами графа.
Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =)
Додумался я до него путем модификации классического Дейкстры. Прошу адекватно отнестись к содержимому, ибо это моя первая статья, и, возможно, я ничего не придумывал и, вообще, этот алгоритм не работает вовсе (но по многочисленным тестам он работает правильно).
Повторюсь, алгоритм работает с отрицательными ребрами графа (но не с циклическими отрицательными). Чем этот алгоритм отличается от известного Беллмана-Форда?
Эвристической сложностью! У известного алгоритма сложность составляет O(En), где n - количество узлов, Е - количество ребер. У "моего" алгоритма такая же ассимптотическая сложность. Но по моим расчетам худшая сложность в большинстве случаев не достигается. А у Беллмана-Форда худших случаев намного больше (об этом далее). Более того, в среднем алгоритм не превышает оригинальной сложности алгоритма Дейкстры, а именно O(n2+E). Об этом тоже напишу далее. Реализация на языке Python:
P.S.
В статье исправлены многие моменты, спасибо сообществу за тест-кейсы и подсказки. Некоторые комментарии не будут актуальными (в том числе саркастически-оскорбительные), т.к. я считаю, что доказал работоспособность алгоритма.
https://habr.com/ru/articles/811051/
👉@BookPython
Я реализовал, похоже, собственный алгоритм поиска кратчайшего пути с отрицательными ребрами графа.
Почему собственный? Я искал подобное решение, но не нашел, возможно, оно уже было реализовано, просто плохо поискал. Жду Нобелевскую премию =)
Додумался я до него путем модификации классического Дейкстры. Прошу адекватно отнестись к содержимому, ибо это моя первая статья, и, возможно, я ничего не придумывал и, вообще, этот алгоритм не работает вовсе (но по многочисленным тестам он работает правильно).
Повторюсь, алгоритм работает с отрицательными ребрами графа (но не с циклическими отрицательными). Чем этот алгоритм отличается от известного Беллмана-Форда?
Эвристической сложностью! У известного алгоритма сложность составляет O(En), где n - количество узлов, Е - количество ребер. У "моего" алгоритма такая же ассимптотическая сложность. Но по моим расчетам худшая сложность в большинстве случаев не достигается. А у Беллмана-Форда худших случаев намного больше (об этом далее). Более того, в среднем алгоритм не превышает оригинальной сложности алгоритма Дейкстры, а именно O(n2+E). Об этом тоже напишу далее. Реализация на языке Python:
P.S.
В статье исправлены многие моменты, спасибо сообществу за тест-кейсы и подсказки. Некоторые комментарии не будут актуальными (в том числе саркастически-оскорбительные), т.к. я считаю, что доказал работоспособность алгоритма.
https://habr.com/ru/articles/811051/
👉@BookPython
Присоединяйтесь к бесплатному практическому уроку «Docker для дата-инженеров» от OTUS!
После участия в вебинаре вы освоите основы работы с Docker, научитесь создавать контейнеры для обработки данных и интегрировать их в процессы ETL. А еще мы разберем:
- что такое Docker и почему он стал таким популярным среди дата-инженеров;
- какие проблемы в работе с данными можно решить с помощью Docker;
- как обеспечить безопасность и изолированность данных при работе с Docker.
Урок пройдет 20 мая в 20:00 мск и будет приурочен к старту большого курса «Data Engineer». После вебинара вы получите специальную цену на обучение и персональную консультацию от наших менеджеров!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Окунитесь в принципы проектирования с учетом доменов и узнайте, как создавать архитектуры программного обеспечения, которые выдержат испытание временем — приходите на открытый практический урок «Дизайн кода и архитектура: Domain-Driven Design (DDD), чистая архитектура» от OTUS. Спикер — опытный разработчик и тимлид.
На вебинаре мы:
- рассмотрим лучшие практики разработки ПО, которые помогут вам строить высококачественные, поддерживаемые и расширяемые системы;
- научимся правильно выстраивать компоненты проекта;
- разберем тему от понимания моделей доменов до реализации чистых и масштабируемых архитектур;
- изучим инструменты для повышения мастерства кодирования и создания производительных систем.
Встречаемся 16 мая в 20:00 мск в преддверии старта курса «Python Developer. Professional».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Слушаем и декодируем в реальном времени радиосигнал точного времени из интернета
Сегодня я хочу поговорить о том, как можно получить и декодировать сигналы точного времени, которые передаются по радио. Чтобы выполнить эту задачу, вам даже не понадобятся специальные устройства. Достаточно будет компьютера с более-менее быстрым интернет-соединением.
Технология передачи точного времени по радио не нова. Сигналы точного времени начали передавать практически сразу, как появился радиотелеграф. Сейчас передача сигналов точного времени осуществляется с помощью различных технологий. Помимо радио, информация о времени с разной степенью точности передаётся:
в интернете (NTP);
в сетях мобильной связи (NITZ);
в системах спутниковой навигации GPS, ГЛОНАСС, BeiDou-3, Galileo.
https://habr.com/ru/companies/ruvds/articles/746122/
👉@BookPython
Сегодня я хочу поговорить о том, как можно получить и декодировать сигналы точного времени, которые передаются по радио. Чтобы выполнить эту задачу, вам даже не понадобятся специальные устройства. Достаточно будет компьютера с более-менее быстрым интернет-соединением.
Технология передачи точного времени по радио не нова. Сигналы точного времени начали передавать практически сразу, как появился радиотелеграф. Сейчас передача сигналов точного времени осуществляется с помощью различных технологий. Помимо радио, информация о времени с разной степенью точности передаётся:
в интернете (NTP);
в сетях мобильной связи (NITZ);
в системах спутниковой навигации GPS, ГЛОНАСС, BeiDou-3, Galileo.
https://habr.com/ru/companies/ruvds/articles/746122/
👉@BookPython
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
argparse
Библиотека argparse является стандартным инструментом для обработки аргументов командной строки в Python. Она позволяет легко определить и обработать аргументы, передаваемые программе при запуске из командной строки.
В данном примере мы просто выводим значения аргументов на экран, но в реальном приложении вы можете использовать их для выполнения конкретных действий, например, чтения входного файла, обработки данных и записи результата в выходной файл.
👉@BookPython
Библиотека argparse является стандартным инструментом для обработки аргументов командной строки в Python. Она позволяет легко определить и обработать аргументы, передаваемые программе при запуске из командной строки.
В данном примере мы просто выводим значения аргументов на экран, но в реальном приложении вы можете использовать их для выполнения конкретных действий, например, чтения входного файла, обработки данных и записи результата в выходной файл.
👉@BookPython
Как начать развиваться в профессии дата-инженера?
👨💻 Освойте лучшие практики работы с данными на онлайн-курсе «Data Engineer» от OTUS.
➡️ За 4 месяца вы научитесь собирать данные, разрабатывать архитектуру данных в компании и создавать сервисы для обработки данных больших объемов. Одна из фишек курса — метод кейсов. На занятиях разбираем примеры внедрений, использования инструментов, оптимизации производительности, а также возможные проблемы и ошибки.
Старт занятий — 31 мая.
Успейте пройти вступительный тест и занять место в группе по спец.цене.
👉 ПРОЙТИ ТЕСТ
Приобрести курс возможно в рассрочку.
Старт занятий — 31 мая.
Успейте пройти вступительный тест и занять место в группе по спец.цене.
Приобрести курс возможно в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Быстрая сортировка
Быстрая сортировка (quicksort) — это один из наиболее известных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
В этом коде мы выбираем элемент в середине списка в качестве "опорного". Затем мы создаем три списка: один для элементов меньше опорного, один для элементов равных опорному, и один для элементов больше опорного.
Мы рекурсивно применяем быструю сортировку к списку элементов, которые меньше и больше опорного элемента. Это продолжается до тех пор, пока не останется список, который нужно сортировать. В конце мы объединяем отсортированные списки вместе.
👉@BookPython
Быстрая сортировка (quicksort) — это один из наиболее известных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
В этом коде мы выбираем элемент в середине списка в качестве "опорного". Затем мы создаем три списка: один для элементов меньше опорного, один для элементов равных опорному, и один для элементов больше опорного.
Мы рекурсивно применяем быструю сортировку к списку элементов, которые меньше и больше опорного элемента. Это продолжается до тех пор, пока не останется список, который нужно сортировать. В конце мы объединяем отсортированные списки вместе.
👉@BookPython