Как стать автором
Обновить
5
0
Konstantin Kuzminov @KonstantinKG

ML, DL, Online Marketing

Отправить сообщение

Новые фичи в Python 3.9

Время на прочтение4 мин
Количество просмотров31K
Обзор лучших функций, включенных в последнюю итерацию Python.

image

Пришло время, выход новой версии Python неизбежен. Сейчас она в бета-версии (3.9.0b3), но скоро мы увидим полную версию Python 3.9.

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

  • Операторы объединения словарей
  • Тайп хинтинг
  • Два новых строковых метода
  • Новый Python Parser — это очень круто

Давайте сначала рассмотрим новые функции и то, как мы их будем использовать.

Объединение словарей


Одна из новых и уже моих любимых фич с синтаксисом. Если у нас есть два словаря a и b, которые нам нужно объединить, мы теперь используем операторы объединения.

У нас есть оператор слияния “|”:

a = {1: 'a', 2: 'b', 3: 'c'}
b = {4: 'd', 5: 'e'}
c = a | b
print(c)

[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

И оператор обновления “|=”, который обновляет исходный словарь:

a = {1: 'a', 2: 'b', 3: 'c'}
b = {4: 'd', 5: 'e'}
a |= b
print(a)

[Out]: {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

Если наши словари имеют общий ключ, будет использована пара ключ-значение из второго словаря:

a = {1: 'a', 2: 'b', 3: 'c', 6: 'in both'}
b = {4: 'd', 5: 'e', 6: 'but different'}
print(a | b)

[Out]: {1: 'a', 2: 'b', 3: 'c', 6: 'but different', 4: 'd', 5: 'e'}
Читать дальше →
Всего голосов 37: ↑25 и ↓12+13
Комментарии36

Самая сложная задача в Computer Vision

Время на прочтение13 мин
Количество просмотров67K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Всего голосов 127: ↑127 и ↓0+127
Комментарии42

Что делать, если к твоему хостеру пришли siloviki

Время на прочтение8 мин
Количество просмотров52K
кдпв — Reuters

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

Вы очень не хотите, чтобы логи вашего веб-сервера или данные пользователей попали кому-то еще. Идеальную защиту построить не получится. Защититься от хостера, который владеет гипервизором и предоставляет вам виртуальную машину почти невозможно. Но, возможно, получится немного снизить риски. Шифрование арендованных машин не так бесполезно как кажется на первый взгляд. Заодно посмотрим на угрозы извлечения данных из физических серверов.
Всего голосов 89: ↑87 и ↓2+85
Комментарии141

Как я использую AirDrop вместо Тиндера

Время на прочтение10 мин
Количество просмотров169K


В устройствах Apple есть прекрасная функция Airdrop — она сделана для пересылки данных между устройствами. При этом никакой настройки и предварительного сопряжения устройств не требуется, все работает из коробки в два клика. Для передачи данных используется надстройка над Wi-Fi, и поэтому данные передаются с огромными скоростями. При этом используя некоторые трюки, можно не просто пересылать файлы, но и узнать телефонный номер человека, находящегося с тобой в одном вагоне метро.

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

Под катом я расскажу за всю хурму.
Компания RUVDS.COM не несёт ответственности за повторение действий описанных в данном материале.
Читать дальше →
Всего голосов 308: ↑294 и ↓14+280
Комментарии174

Правила компоновки во Flutter, которые должен знать каждый

Время на прочтение14 мин
Количество просмотров74K


Когда новичок во Flutter спрашивает, почему какой-то виджет с width: 100 не ширины 100 пикселей, обычно ему отвечают, что надо обернуть этот виджет в Center, верно?


Не надо так делать


Если так отвечать, то к вам будут возвращаться снова и снова, спрашивая, почему какой-то FittedBox не работает, почему этот Column переполнен или как работает IntrinsicWidth.


Сначала объясните, что Flutter компоновка очень отличается от HTML компоновки (особенно, если говорите с веб-разработчиком), а затем скажите, что необходимо запомнить следующее правило:


Ограничения для виджетов объявляются в родителях. Размеры (желаемые) задаются в самом виджете. Позиция виджета на экране устанавливается родителем

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

Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Время на прочтение12 мин
Количество просмотров204K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 201: ↑196 и ↓5+191
Комментарии342

Реальная стоимость жизни в Кремниевой Долине для разработчика

Время на прочтение5 мин
Количество просмотров153K

Зачем это читать?


Всем привет! Меня зовут Винсент, и я с 2018 года живу в Кремниевой Долине со своей супругой и сыном.


Своим фильмом, Дудь хотел поднять стартапный ажиотаж в России, но в итоге возбудил всех моих товарищей гораздо больше здесь, в Silicon Valley.


Этот пост — расчет стоимости жизни "обычного разработчика" (не "стартапера"), который работает "на дядю". Все максимально честно и подробно.

Читать дальше →
Всего голосов 278: ↑269 и ↓9+260
Комментарии899

Дайджест управления продуктом за декабрь и январь

Время на прочтение11 мин
Количество просмотров2.6K


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

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

Давайте разбираться последовательно со следующими темами

Чего я хочу? — сформулируем список хотелок, а не целей, объясню позже. 

Что я умею?  — сформулируем список навыков и умений, над которыми стоит работать. 

Истории из жизни — поделюсь своим опытом планирования.

Делитесь тем, а как вы планируете свой год? Приятного прочтения.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

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

Время на прочтение12 мин
Количество просмотров40K
Не работать и получать кучу денег — мечта практически любого человека. Но если ты не грудастая, смазливая блондинка, которая готова на всё ради своей мечты, все таки работать придется. 

И чтобы не проклинать каждый день, за то, что ты тратишь свои лучшие годы на эту контору, нужно иметь решимость уйти туда, где тебя будут ценить. Проходишь пару интервью — и ты в лучшем месте. Что сложного? Мне искренне непонятно, почему многие спотыкаются на этом этапе, ведь всё не так трудно, как может показаться на первый взгляд.
Читать дальше →
Всего голосов 57: ↑45 и ↓12+33
Комментарии56

Практическое руководство по разработке бэкенд-сервиса на Python

Время на прочтение57 мин
Количество просмотров174K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии48

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO

Время на прочтение9 мин
Количество просмотров78K
Darknet YOLOv4 быстрее и точнее, чем real-time нейронные сети Google TensorFlow EfficientDet и FaceBook Pytorch/Detectron RetinaNet/MaskRCNN.

Эта же статья на medium: medium
Код: github.com/AlexeyAB/darknet
Статья: arxiv.org/abs/2004.10934
Обсуждение YOLOv4-tiny 1770 FPS: www.reddit.com/r/MachineLearning/comments/hu7lyt/p_yolov4tiny_speed_1770_fps_tensorrtbatch4
Обсуждение: www.reddit.com/r/MachineLearning/comments/gydxzd/p_yolov4_the_most_accurate_realtime_neural


Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов.

Нашей целью было разработать алгоритм обнаружения объектов для использования в реальных продуктах, а не только двигать науку вперед. Точность нейросети YOLOv4 (608x608) – 43.5% AP / 65.7% AP50 Microsoft-COCO-testdev.

62 FPS – YOLOv4 (608x608 batch=1) on Tesla V100 – by using Darknet-framework
400 FPS – YOLOv4 (320x320 batch=4) on RTX 2080 Ti – by using TensorRT+tkDNN
32 FPS – YOLOv4 (416x416 batch=1) on Jetson AGX Xavier – by using TensorRT+tkDNN


Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии37

Искусственный интеллект пишет картину сам, реально сам — без обучения на примерах других картин

Время на прочтение3 мин
Количество просмотров8.6K
25 октября на аукционе Christies ушел с молотка необычный лот за полмиллиона – картина, нарисованная искусственным интеллектом. Хотя само художество от ИИ стало темой избитой. Но лишь в области плагиата — нейронные сети натаскивают на определенный круг картин. А мы решили заставить компьютер создать своё собственное произведение искусства – без художественной школы программистов. Что-то из этого вышло.

Читать дальше →
Всего голосов 24: ↑12 и ↓120
Комментарии20

Памятка по работе с Canvas API

Время на прочтение2 мин
Количество просмотров15K


Доброго времени суток, друзья!

Данная статья представляет собой небольшую подборку примеров работы с Canvas API, к которой удобно обращаться при необходимости вспомнить изученный материал.

Это не руководство по работе с холстом, а лишь демонстрация его возможностей.

Для меня это также своего рода промежуточный итог в изучении холста.

Код разбит на отдельные блоки-песочницы, которые для удобства чтения помещены под «кат».

Парочка важных моментов.

Ширину и высоту холста лучше определять с помощью атрибутов:

<canvas width="300" height="300"></canvas>

Если мы хотим, чтобы холстом была вся область просмотра, то делаем следующее:

const width = canvas.width = innerWidth
const height = canvas.height = innerHeight

Холст и двумерный контекст рисования я обычно определяю следующим образом:

const canvas = document.querySelector('canvas')
// не путать с объектом jQuery
const $ = canvas.getContext('2d')

Довольно слов.
Всего голосов 22: ↑21 и ↓1+20
Комментарии2

Spring-анимации во Vue

Время на прочтение12 мин
Количество просмотров8.4K
Привет, Хабр!

Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого.

Но наконец я решил разобраться, как оно все устроено и написать свою реализацию!

Если вы тоже хотите использовать Spring-анимации везде, заходите под кат. Там вы найдете немного теории, реализацию Spring на чистом JS и внедрение Spring-анимации во Vue с помощью компонентов и composition-api.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии5

Вставляем палки в колеса на аудиторских проверках, или Как сделать аудит ИБ максимально некомфортным для аудитора

Время на прочтение10 мин
Количество просмотров22K
Привет, Хабр! Спустя 9 лет на проектах по аудитам ИБ за спиной мне нестерпимо хочется взять и написать книгу «1000 и 1 попытка обмануть аудитора». Начну, пожалуй, с первой главы — поделюсь вредными советами, как можно «успешно» пройти аудит, получив минимальное количество замечаний от аудитора.

Зачем вообще компании проводят аудит информационной безопасности? Причин может быть несколько:

  • чтобы получить объективную оценку состояния ИБ (для себя);
  • потому что аудит является обязательным (для регуляторов);
  • потому что аудит требуют партнеры или головная организация (для других).

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

  • Аудит «навязан» вышестоящей организацией.
  • Непрохождение аудита (например, PCI DSS) влечет за собой санкции со стороны контролирующих органов
  • ИБ-служба боится получить «по шапке» от руководства.

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

P.S. Перечисленное под катом не является вымыслом, все это случалось и периодически встречается на реальных проектах.

Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии24

Data Scientist: воспоминания о жизни до карантина и надежды на будущее

Время на прочтение4 мин
Количество просмотров4.7K


Привет, Хабр! Сидеть в самоизоляции немного грустновато, хотя у нас работа и не прекращалась. Из дома работается неплохо: всегда под рукой печеньки, кот и безлимитный доступ к холодильнику. Но всё же иногда накатывает тоска по старым добрым временам.

Вы спросите, о чем вообще может тосковать Data Scientist? Что за старые добрые времена? Неужели кто-то скучает по опенспейсу и втыканию в монитор с 10 до 19?

Погодите-погодите, далеко не везде и не всегда Data Science – это статистика, запросы, R, Python, MapReduce и прогулки на обед и обратно. У наших специалистов найдётся, что рассказать о жизни до карантина.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии6

GoLang и OpenCV (OpenVino && Cuda)

Время на прочтение4 мин
Количество просмотров8.8K
Всем доброго времени суток. На хабре (да и вообще в интернете) уже немало статей о работе с OpenCV на Go.

Готовый код — это конечно интересно, а более подробную информацию об установке драйверов приходится собирать по кусочкам — постараюсь объединить все нужные телодвижения в одну статью.

image

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями

Время на прочтение6 мин
Количество просмотров72K


Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.


Я попробовал использовать Colaboratory для работы над kaggle задачами. Мне больше всего не хватало возможности удобно сохранять натренированные tensorflow модели и использовать tensorboard. В данном посте, я хочу поделиться опытом и рассказать, как эти возможности добавить в colab. А напоследок покажу, как можно получить доступ к контейнеру по ssh и пользоваться привычными удобными инструментами bash, screen, rsync.

Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии29

Что дает рознице машинное обучение: пример проекта

Время на прочтение6 мин
Количество просмотров11K
У розницы очень разнообразный круг покупателей. Их много – всевозможных профессий и уровней дохода, от молодёжи до пенсионеров. Такое разнообразие не получится корректно описать двумя-тремя бизнес-правилами, потому что вы просто не сможете охватить все сочетания критериев и неизбежно потеряете часть клиентов. Поэтому для розницы очень важно как можно точнее сегментировать свою аудиторию, но это неизбежно усложняет модели. Здесь на помощь приходят технологии Machine Learning, дающие бизнесу более точные прогнозы и ответы на важные вопросы.




Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии18

Data Science проект от исследования до внедрения на примере Говорящей шляпы

Время на прочтение25 мин
Количество просмотров30K


Месяц назад Лента запустила конкурс, в рамках которого та самая Говорящая Шляпа из Гарри Поттера определяет предоставивших доступ к социальной сети участников на один из четырех факультетов. Конкурс сделан неплохо, звучащие по-разному имена определяются на разные факультеты, причем схожие английские и русские имена и фамилии распределяются схожим образом. Не знаю, зависит ли распределение только от имен и фамилий, и учитывается ли как-то количество друзей или другие факторы, но этот конкурс подсказал идею этой статьи: попробовать с нуля обучить классификатор, который позволит распределять пользователей на различные факультеты.

Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии2

Информация

В рейтинге
Не участвует
Откуда
Калининград (Кенигсберг), Калининградская обл., Россия
Дата рождения
Зарегистрирован
Активность