Собрали в одном месте самые важные ссылки
консультируем про IT, Python
(08.01.2018 - 14.01.2018)
Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.
Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).
В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.
Это пятый выпуск серии Flask Mega-Tutorial, в котором я расскажу вам, как создать подсистему входа пользователя.
Будущее всё ближе. Лет 10 назад я и не мог подумать, что буду заводить машину с помощью голосовой команды!
Последние годы я с интересом наблюдал за бурным развитием голосовых ассистентов. После выхода Google Home Mini, решил что и мне уже пора попробовать, так как цена стала более-менее адекватной для «игрушки». Первый проект — интеграция голосового помощника с GSM модулем StarLine для автозапуска, контроля координат, напряжения аккумулятора и других параметров, отдаваемых сигнализацией автомобиля. Итак, поехали?
Это шестой выпуск серии Flask Mega-Tutorial, в котором я расскажу вам, как создать страницу профиля пользователя.
Последняя версия конструктора GUI Visual Tclопирается на использование пакета Tcl/Tk версии 8.6. Этот пакет включает в себя как классические Tk-виджеты, так и тематические виджеты (Themed Widgets) TTK. Тем удивительнее, что конструктор vTcl поддерживает только классические tk-виджеты. Отчасти это можно объяснить поддержкой в vTcl виджетов BWidget, которые исторически включают в себя виджеты для создания «записных книжек» (Notebook), combobox-ов и т.д.:
Демонстрация атаки MITM (Man(Person)-In-The-Middle)
Конференция Highload++ 2017 отгремела, и это было круто — как всегда. Мы пересматриваем доклады, вовсю пользуемся опытом, которым с нами поделились коллеги, и с удовольствием вспоминаем разные активности, которые проводились вне зоны докладов.
Недавно я натолкнулся на вопрос на Stackoverflow, как восстанавливать исходные слова из сокращений: например, из wtrbtl получать water bottle, а из bsktball — basketball. В вопросе было дополнительное усложнение: полного словаря всех возможных исходных слов нет, т.е. алгоритм должен быть в состоянии придумывать новые слова.
Вопрос меня заинтриговал, и я полез разбираться, какие алгоритмы и математика лежат в основе современных опечаточников (spell-checkers). Оказалось, что хороший опечаточник можно собрать из n-граммной языковой модели, модели вероятности искажений слов, и жадного алгоритма поиска по лучу (beam search). Вся конструкция вместе называется модель зашумлённого канала (noisy channel).
Ансамбли быстро стали одним из самых популярных и популярных методов прикладного машинного обучения. Практически каждый победитель Kaggle использует ансамбли
Делаем пагинацию статей на сайте с использованием django_bootstrap3, AJAX-запросов и сменой URL без перезагрузки страницы в браузере для уменьшения нагрузки на сайт.
Эта статья является переводом нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность. Оригинальный учебник избавлен от некоторых неточностей, вызванных развитием веб за те 5 лет, что существует эта книга.
Автор планирует завершить его выпуск в мае 2018. Я, со своей стороны, постараюсь не отставать с переводом.
Эта статья является переводом четвертой части нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность.
Это четвертый выпуск серии Flask Mega-Tutorial, в котором я расскажу вам, как работать с базами данных.
На днях мне пришла в голову мысль, что было бы здорово написать простой Redis-подобный сервер баз данных. Хотя у меня значительный опыт работы с приложениями WSGI, сервер базы данных представил новый вызов и оказался хорошей практикой в процессе обучения работе с сокетами в Python. В этой статье расскажу, что я узнал в процессе исследования.
Цель моего проекта заключалась в том, чтобы написать простой сервер, который я мог бы использовать с очередью задач под названием huey. Huey использует Redis в качестве механизма хранения по умолчанию для отслеживания заданий в очереди, результатов выполнения и других вещей. В статье я сократил исходный код проекта, чтобы обойтись без воды; недостающий код вы можете легко дописать сами, но если интересно, можете взглянуть на конечный результат.
Сначала, на момент задумки, в 2014 году, данная статья планировалась как единая публикация, но, проработав материал (лень вынудила растянуть этот процесс), я понял, что необходимо её разделить на две части:
Сегодня мне в голову пришла мысль: «А почему бы не написать Telegram чат-бота с ИИ, которого потом можно будет обучать?»
Сейчас сделать это совсем легко, поэтому, недолго думая, я принялся к написанию кода.
Языком я выбрал Python, т.к. на нём легче всего работать с подобного рода приложениями.
Итак, для создания Telegram чат-бота с ИИ нам потребуется:
Может показаться, что статья о ФП, но я не собираюсь обсуждать парадигму. Речь пойдет о переиспользовании и упрощении кода — я попытаюсь доказать, что вы пишете слишком много кода, поэтому он сложный и тяжело тестируется, но самое главное: его долго читать и менять.
В статье заимствуются примеры и/или концепции из библиотеки funcy. Во-первых, она клевая, во-вторых, вы сразу же сможете начать ее использовать. И да, нам понадобится ФП.
Когда был доеден новогодний оливье, мне стало нечего делать, и я решил скачать себе на компьютер все статьи с Хабрахабра (и смежных платформ) и поисследовать.
Получилось несколько интересных сюжетов. Первый из них — это развитие формата и тематики статей за 12 лет существования сайта. Например, достаточно показательна динамика некоторых тем. Продолжение — под катом.
По мере развития ресурса встала задача внедрить личные сообщения на сайте. В статье описано, как получилось сделать альфа-версию сообщений на сайте с базой для будущих коллективных чатов.
Эта статья является переводом третьей части нового издания учебника Мигеля Гринберга. Прежний перевод давно утратил свою актуальность.
В этом третьем выпуске серии Мега-Учебник Flask я расскажу о том, как работать с формами.
Эта статья является переводом второй части нового издания учебника Мигеля Гринберга, выпуск которого автор планирует завершить в мае 2018.Прежний перевод давно утратил свою актуальность.
Открытая лекция CS центра
План лекции:
- что такое регулярные выражения ("регэкспы", от англ. Regular Expressions), чем они полезны, когда использовать их, а когда выбирать другие инструменты);
- обзор синтаксиса и возможностей;
- особенности регекспов в языке Python;
- неочевидные моменты, грабли и ловушки.
Лекция будет полезной для пользователей языка Python, владеющих им хотя бы на самом поверхностном уровне (диалекты 2.* или 3.*).
Best Shift-Left Testing Tools to Improve Your QA
markitdown: Convert Files and Office Documents to Markdown
Implementing Approximate Nearest Neighbor Search with KD-Trees
SVG-виджеты для tcl/tk. Финальный аккорд. Часть IV
django-liveconfigs - управление настройками в django
Пишем свой PyTorch на NumPy. Часть 1
Царство грибов. Симуляция мицелия на p5py. Битвы гифов. Часть первая
Мэтчинг персонажей. Level Hard
Стратификация: как не облажаться с A/B тестами
Матрица ошибок confusion_matrix() в scikit-learn
Сводка pythonz 15.12.2024 — 22.12.2024