Собрали в одном месте самые важные ссылки
читайте авторский блог
Тесты необходимы, в первую очередь, для того, чтобы убедить всех (в том числе и себя) в том, что программа ведём себя так, как надо, в тестовых ситуациях. Во-вторых, они обеспечивают работоспособность покрытого тестами кода в будущем. Написание тестов — это полезный процесс, потому что в его процессе очень часто можно наткнуться на проблемные места, вспомнить про какие-то крайние случаи, увидеть проблемы с интерфейсами и т.д.
Это статья для начинающих разработчиков и тех, кто хочет немного ориентироваться в терминах и технологиях современных веб-приложений. В статье написано о том, чем веб-приложения отличаются от сайтов, какие бывают веб-приложения, из чего они состоят и как работают.
12 апреля 2019 года в городе Алматы прошла первая международная IT конференция, организованная объединенной компанией Колёса. Крыша. Маркет.
В этот раз мне удалось выступить в секции Data Science & Analytics в темой ETL на Python, или Построение идемпотентных дата пайплайнов. Цель доклада - познакомить слушателей с инструментами построения batch processing задач в экосистеме Python. В презентации я рассказал про две наиболее популярных тулзы: Luigi и Apache Airflow.
Кто не хочет роскошь иметь помощника, который всегда прислушивается к вашему звонку, предвидит все ваши потребности и при необходимости принимает меры? Эта роскошь теперь доступна благодаря голосовым помощникам на основе искусственного интеллекта.
Голосовые помощники поставляются в небольших упаковках и могут выполнять различные действия, услышав вашу команду. Они могут включать свет, отвечать на вопросы, играть музыку, размещать онлайн-заказы и делать все виды искусственного интеллекта.
Голосовых помощников не следует путать с виртуальными помощниками, которые являются людьми, которые работают удаленно и поэтому могут выполнять все виды задач. Голосовые помощники основаны на технологии. По мере того, как голосовые помощники становятся более надежными, их полезность как в личной, так и в деловой сферах будет расти.
Пост актуальный для майских праздников. 6 недель назад я подал документы, чтобы получить визу в Ирландию. Вылет запланирован на 30 апреля. Существует сайт посольства, на котором публикуются списки решений по визам. Они это делают по понедельникам и четвергам. И вот я сижу в воскресенье, 28 апреля, по моей визе решения еще нет. И дальнейшие мои действия в понедельник зависят от того, будет ли мое заявление в новом отчете или нет. Если нет, то надо будет ехать в посольство и разбираться. Если есть, то дергать визовый центр. Сидеть и обновлять страничку целый день в понедельник казалось унылым времяпрепровождением, поэтому я написал скрипт на Python.
Формальная верификация — это проверка одной программы либо алгоритма с помощью другой.
Это один из самых мощных методов, который позволяет найти в программе все уязвимости либо же доказать, что их нет.
Более подробное описание формальной верификации можно увидеть на примере решения задачи о Волке, Козе, и капусте в моей предыдущей статье.
В этой статье я перехожу от формальной верификации задач, к программам, и опишу,
каким образом можно конвертировать их в системы формальных правил автоматически.
Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов обработки сигналов и анализа данных. Я пользовался им годами, не имея формальных знаний в области компьютерных наук. Но на этой неделе мне пришло в голову, что я никогда не задавался вопросом, как БПФ так быстро вычисляет дискретное преобразование Фурье. Я стряхнул пыль со старой книги по алгоритмам, открыл ее, и с удовольствием прочитал об обманчиво простой вычислительной уловке, которую Дж. В. Кули и Джон Тьюки описали в своей классическойработе 1965 года, посвященной этой теме.
В трудное время мы живем, не находите? Люди эгоистичны, не признают ценность чужих трудов, любят приходить сразу на все готовое. Интеллектуальная собственность для многих вообще выглядит не более чем бюрократической шуткой: «Как же это так, информация должна быть свободной, ведь это ИН-ФОР-МА-ЦИЯ!!!11». Согласен, в идеале это так. Эти ваши анархии, мятежнические настроения и философии андерграундных хакеров/пиратов, стоящих на страже прав простого люда, мне не чужды. Но парадокс в том, что истинная справедливость – это еще и отплачивать всем за их труд и заслуги, поэтому в большинстве случаев пиратство – антагонистическое предприятие. Но вот политика предоставления услуг по защите интеллектуальной собственности, предлагаемая таким замечательным вендором, как ИнфоПротектор, вызвал у меня праведный гнев.
В этом уроке мы собираемся обсудить поверхностное (shallow) и глубокое (deep) копирование с помощью примеров на Python. Мы рассмотрим определение глубокого и поверхностного копирования, а также их реализации на языке Python, чтобы оценить основные различия между двумя типами копирования.
Во многих программах, которые мы пишем, нам часто приходится копировать объекты по какой либо причине, например, из-за улучшения вычислительной эффективности. Есть два способа сделать это: сделать полную копию или поверхностную копию. Прежде чем мы обсудим различия между ними, давайте сначала рассмотрим, что такое глубокое и поверхностное копирование.
На повестке дня интересная тема — будем создавать с нуля собственную нейронную сеть на Python. В ее основе обойдемся без сложных библиотек (TensorFlow и Keras).
Основное, о чем нужно знать — искусственная нейронная сеть может быть представлена в виде блоков/кружков (искусственных нейронов), имеющие между собой, в определенном направлении, связи. В работе биологической нейронной сети от входов сети к выходам передается электрический сигнал (в процессе прохода он может изменяться).
Давайте поможем разработчикам разобраться, подходит ли фреймворк Django для их следующего проекта. Вполне вероятно — подходит.
Не стоит хвататься за определенный язык программирования или фреймворк лишь потому, что вы пользовались им в вашем предыдущем проекте, или просто потому что он вам хорошо знаком. Так дела не делаются.
Прежде чем приступать к новому проекту, следует оценить, какой язык или фреймворк лучше всего подойдет вам для достижения желаемого результата. Что для вас наиболее важно? Безопасность, скорость разработки, масштабируемость, универсальность, поддержка?
Лучше принять информированное решение перед тем как приступать к работе, чем потом раскаиваться в поспешном (или, хуже того, навешивать на проект костыли в процессе реализации – из-за того, что заранее не озаботились его поддержкой).
Хотя в большинстве языков программирование (конечно, не во всех) символ подчеркивание ( _ ) используется только для задания имен переменных и функций в стиле snake-case, в Python он имеет особое значение. Если вы хорошо знаете python, синтаксис подобный этому for _ in range(10), __init__ (self), должен быть вам хорошо знаком. Если нет, то этот пост подробно расскажет о том, когда и как используется символ подчеркивание ( _ ) в Python.