Обновить
512K+

Python *

Высокоуровневый язык программирования

593,07
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Задача с небоскрёбом и яйцами — не бином Ньютона?

Время на прочтение8 мин
Охват и читатели30K
На самом деле, он самый. Но обо всём по порядку.

Постановка задачи


Осваиваю питон, решаю всякое на Codewars. Сталкиваюсь с известной задачей про небоскрёб и яйца. Разница лишь в том, что исходные данные — не 100 этажей и 2 яйца, а чуть побольше.
Дано: N яиц, M попыток их бросить, бесконечный небоскрёб.

Определить: максимальный этаж, с которого можно бросить яйцо, не разбив. Яйца сферические в вакууме и, если одно из них не разбилось, упав, например, с 99-го этажа, то остальные тоже выдержат падение со всех этажей меньше сотого.

0 <= N, M <= 20000.
Время прогона двух десятков тестов — 12 секунд.
Читать дальше →

Определение цвета автомобилей с использованием нейронных сетей и TensorFlow

Время на прочтение9 мин
Охват и читатели14K


Здравствуйте, меня зовут Роман Лапин, я студент 2 курса магистратуры факультета Высшей Школы Общей и Прикладной Физики ННГУ. В этом году мне удалось пройти отбор и поучаствовать в работе Летней Школы Intel в Нижнем Новгороде. Передо мной была поставлена задача определения цвета автомобиля при помощи библиотеки Tensorflow, над которой я работал вместе со своим ментором и инженером команды ICV Алексеем Сидневым.
И вот что у меня получилось.
Читать дальше →

Создаем свой датасет с пришельцами

Время на прочтение5 мин
Охват и читатели16K


Сегментацией людей с помощью нейронных сетей уже никого не удивишь. Есть много приложений, таких как Sticky Ai, Teleport Live, Instagram, которые позволяют выполнять такую сложную задачу на мобильном телефоне в реалтайме.


Итак, предположим планета Земля столкнулась с внеземными цивилизациями. И от пришельцев из звездной системы Альфа Центавра поступает запрос на разработку нового продукта. Им очень понравилось приложение Sticky Ai, которое позволяет вырезать людей и делать стикеры, поэтому они хотят портировать приложение на свой межгалактический рынок.

Читать дальше →

Диаризация на основе модели GMM-UBM и алгоритма MAP adaptation

Время на прочтение11 мин
Охват и читатели16K
Привет, Хабр. Я бы хотел рассказать об одном из подходов в решении задачи диаризации дикторов и показать, как этот метод можно реализовать на языке python. Чтобы не отпугивать читателя, я не буду приводить сложные математические формулы (отчасти потому что я и сам «не настоящий сварщик»), а постараюсь изложить всё простым языком и рассказать всё так, чтобы понял разработчик, никогда прежде не сталкивавшийся с машинным обучением.
Читать дальше →

Настраиваем Web Push Notifications использованием pywebpush шаг за шагом

Время на прочтение5 мин
Охват и читатели18K

Зачем еще одно руководство?


Когда передо мной поставили задачу сделать черновой вариант push notifications, быстрый поиск показал, что на хабре уже есть много статей по настройке push notifications. Вот наиболее, на мой взгляд, годные:

Как работает JS: веб push-уведомления
Web PUSH Notifications быстро и просто924/
Service Workers. Web Push и где они обитают

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

Настройка уведомлений в итоге заняла три дня и мне кажется, что это несколько многовато. Надеюсь, моя статья поможет кому-то настроить push notifications за три часа вместо трех дней.
Проект, на котором я работаю, реализован на Django и описывать ход работы я буду применительно к этому фреймворку, но желающие легко адаптируют его к Flask или чему-либо еще.

Итак, погнали.
Читать дальше →

Увеличиваем случайность того, что и так [наверно] [почти] случайно

Время на прочтение9 мин
Охват и читатели6K

случайные числа вкуснее, если их немножко поперчить

Будем сочетать теорию с практикой — покажем, что улучшение энтропии случайных последовательностей возможно, после чего посмотрим исходные коды, которые это делают.

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

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

Пицца аля-semi-supervised

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

Читать дальше →

Подкасты о Python: вот все, что мы нашли

Время на прочтение4 мин
Охват и читатели29K
image

Запрос “Алиса, что послушать о Python”, заданный Гуглу, скорее всего приведет вас в ступор, на статьи многолетней давности, которые не очень актуальны, либо на давно закрытые темы, которые просто нельзя (или некому) обновить.

Так и родилась идея сделать список тематических аудио-видео-кастов и постараться поддерживать его в актуальном виде. Хотя бы год. Если вы читаете это в 2020-м, тоже стучитесь в личку или пишите о своем подкасте в комментарии — добавим.

13 подкастов и немного Испании

UniSharping: конвертирование кода C# в Java и Python

Время на прочтение4 мин
Охват и читатели23K

Введение


С 70-х годов развивается Simplified English, цель которого — определение подмножества языка, понятного широкому кругу неносителей языка. Рекомендуется, например, для технической документации. Автоматические переводчики на таком подмножестве будут работать заведомо корректнее, в идеале генерируя текст, не требующий ручной корректуры.
Если применить этот подход к C# для задачи автоматической конвертации кода в другие языки программирования, то можно выделить подмножество конструкций языка, системных библиотек и технологий, которые потенциально могут транслироваться в широкий круг других языков. Причём конвертации не однократной (миграция), а постоянной для расширения интеграционных возможностей проекта на C# — чтобы в любой момент можно было получить рабочий код на другом языке без необходимости какой-либо его правки.


Позвольте представить: UniSharping


Ограничение C#.NET для решения этой задачи мы назвали U# (Universal Sharp), а процесс конвертации и его инструмент — UniSharping. Исполняемые модули, настройки и документация выложены на GitHub, система бесплатна для некоммерческого использования (Non-Commercial Freeware).

Читать дальше →

Python тоже частично отказывается от терминов master/slave

Время на прочтение5 мин
Охват и читатели56K
Политкорректность учитывается даже в языках программирования. На прошлой неделе Python-разработчик Виктор Стиннер (Victor Stinner) из Red Hat прислал четыре пул-реквеста на переименование потенциально оскорбительных терминов master/slave (хозяин/раб) в документации и коде Python. Автор предложил заменить их социально нейтральными словами, не оскорбляющими людей, чьи предки были настоящими рабами. В качестве возможной альтернативы есть термины parent/worker.

Предлагаемое изменение — не какая-то прихоть одного разработчика, а общая тенденция для разных языков программирования и технологий. Стиннер привёл примеры аналогичных изменений в Redis, Drupal, CouchDB и Django. Так, Django и CouchDB заменили термины master/slave на leader/follower.

При этом Стиннер высказал мнение, что «рабовладельческую» терминологию всё-таки можно оставить для некоторых терминов, таких как ветка master в Git, веб-мастер и postmaster.

Развернулась жаркая дискуссия.
Читать дальше →

Интересности и полезности python. Часть 3

Время на прочтение4 мин
Охват и читатели37K
В предыдущих частях мы рассмотрели срезы, распаковку\упаковку коллекций и некоторые особенности булевых операций и типов.

В комментариях упоминалась возможность умножения коллекций на скаляр:

a = [0] * 3
s = 'a' * 2
print(a, s)  # -> [0, 0, 0], 'aa'

Более-менее опытный разработчик на языке python знает, что в нём отсутствует механизм копирования при записи

a = [0]
b = a
b[0] = 1
print(a, b)  # -> [1], [1]

Что же тогда выведет следующий код?

b = a * 2
b[0] = 2
print(a, b)
Читать дальше →

Дисковое кеширование деревьев ленивых вычислений

Время на прочтение8 мин
Охват и читатели4.7K

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


По разумению автора настоящего текста нормальный ленификатор должен:


  1. Сохранять вычисления между вызовами программы.
  2. Отслеживать изменения в дереве вычисления.
  3. Иметь в меру прозрачный синтаксис.

Ленивое Дерево

Читать дальше →

Склейка двух apk-файлов в один

Время на прочтение4 мин
Охват и читатели24K
image

Решил я как-то сделать склейку двух apk файлов, но информации о том, как это сделать на просторах интернета не особо то много. Тогда вооружившись трояном Ahmyth для android (его исходниками), началось путешествие в мир склейки apk своими руками. Коротко об этом далее…
Читать дальше →

Ближайшие события

Определение этажности дома по его фотографии без машинного обучения

Время на прочтение3 мин
Охват и читатели10K


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

Читать дальше →

Подборка @pythonetc, август 2018

Время на прочтение5 мин
Охват и читатели11K


Это третья подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки:


Читать дальше →

Простое введение в АЛУ для нейронных сетей: пояснение, физический смысл и реализация

Время на прочтение9 мин
Охват и читатели9.5K
Недавно исследователи из Google DeepMind, в том числе известный учёный в сфере искусственного интеллекта, автор книги "Разбираемся в глубоком обучении", Эндрю Траск, опубликовали впечатляющую статью, которая описывает модель нейронной сети для экстраполяции значений простых и сложных численных функций с большой степенью точности.

В этом посте я объясню архитектуру НАЛУ (нейронных арифметико-логических устройств, NALU), их компоненты и существенные отличия от традиционных нейронных сетей. Главная цель этой статьи — просто и интуитивно понятно объяснить NALU (и реализацию, и идею) для учёных, программистов и студентов, мало знакомых с нейронными сетями и глубоким обучением.

Примечание от автора: я также очень рекомендую прочитать оригинальную статью для более детального изучения темы.
Читать дальше →

KivyMD — жизнь продолжается

Время на прочтение4 мин
Охват и читатели22K

Приветствую!

Сегодня мы поговорим о UI на Android в приложениях, написанных с использованием фреймворка для кроссплатформенной разработки Kivy. Возможно, вы не знали об этом, но для Kivy сущестсвует библиотека KivyMD, которая предоставляет для ваших программ виджеты в стиле Material Design. К сожалению, ничего подобного не существует под платформы iOS. Более того, KivyMD, судя по всему, оставлена своим создателем, так как последний коммит в репе был около года назад. Что делать и как с этим жить, читайте далее…

SAP и Python интеграция или как забрать данные из SAP проще

Время на прочтение4 мин
Охват и читатели25K
Добрый день, Хабр!

Хочу поделится опытом интересной задачи по тому как без труда взаимодействовать с системами SAP с помощью Python — не важно какой модуль или версия платформы.

Если интересно только техническое решение, то пропускайте всю лирику и смотрите пример реализации.

Лирика


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

Собственно, при обсуждениях решения такой задачи мы, как подрядчик, предлагали различные варианты и один из самых очевидных это все сделать именно с помощью внутреннего функционала SAP, по-простому среди «саперов» за Зедить все с помощью ABAP.

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

После долгих разговоров мы поняли, что таким решением может стать SAP Query или BI\BO, но заказчика не очень устроила рассчитанная стоимость решения и не самая удобная гибкость.
Читать дальше →

MongoDB и исследование рынка ИТ-вакансий

Время на прочтение9 мин
Охват и читатели7.3K
Вы когда-нибудь анализировали вакансии?

Задавались вопросом, в каких технологиях наиболее сильна потребность рынка труда на текущий момент? Месяц назад? Год назад?

Как часто открываются новые вакансии Java-разработчиков в определенном районе Вашего города и как активно они закрываются?

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


(Источник картинки)
Читать дальше →

Расти безопасника смолоду — образовательная программа Ростелекома и МФТИ

Время на прочтение3 мин
Охват и читатели6.5K
Информация — один из столпов современного общества. Персональные данные граждан, коммерческие тайны организаций, инсайды и финансовые данные, платежные карты — всё это и многое другое должно храниться и обрабатываться в максимально защищенной среде.

Чем лакомее для потенциальных злоумышленников информация, тем более дорогими и изощренными могут быть методы взлома. Новые поколения киберугроз просто должны найти себе достойного соперника в виде нового поколения киберзащиты. И здесь под новым поколением защиты мы понимаем не просто программные средства и методы, но и самих людей.



С 1 по 24 ноября на базе образовательного центра «Сириус» в Сочи мы в партнерстве с МФТИ запускаем образовательную программу по кибербезопасности — с кучей практических занятий по реверс-инжинирингу, веб-безопасности, киберкриминалистике, криптографии, безопасности IoT, мобильных платформ. Выбирать участников будем с 11 по 15 сентября среди учеников 8–11 классов с помощью онлайн-олимпиады. Все подробности — под катом.
Читать дальше →