Есть ли жизнь после Scratch, или как познакомить ребёнка с Python

Автор: admin от 12-03-2020, 10:15, посмотрело: 137

У нас в EPAM работает школа программирования для детей сотрудников — e-kids. В школе волонтёры-сотрудники учат детей работать со Scratch — визуальной средой программирования, созданной специально для обучения детей и подростков. Но всегда рано или поздно наступает момент, когда Scratch уже становится детям не интересен.



Путём проб и ошибок нашим учителям удалось найти способ, как развивать детей дальше, чему учить, чтобы они при этом не потеряли интерес к программированию из-за слишком сложных задач. Так в e-kids стали обучать более сложному языку программирования — Python. В этой статье я собрала полезную информацию от коллег, кто преподает в школе, о том, как детей познакомить c Python.



Есть ли жизнь после Scratch, или как познакомить ребёнка с Python

Категория: Программирование

 

Подробно о корутинах в C++

Автор: admin от 12-03-2020, 10:15, посмотрело: 136

Здравствуйте, коллеги.



В рамках проработки темы С++20 нам в свое время попалась уже довольно старенькая (сентябрь 2018) статья из хаброблога «Яндекса», которая называется "Готовимся к С++20. Coroutines TS на реальном примере". Заканчивается она следующей весьма выразительной голосовалкой:



Подробно о корутинах в C++


«Почему бы и нет», — решили мы и перевели статью Давида Пиларски (Dawid Pilarski) под названием «Coroutines introduction». Статья вышла чуть более года назад, но, надеемся, все равно покажется вам очень интересной.

Категория: Программирование

 

CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux

Автор: admin от 12-03-2020, 10:10, посмотрело: 143

В данной статье описана эксплуатация уязвимости CVE-2019-18683 в ядре Linux, которую я обнаружил и исправил в конце 2019 года. Указанный CVE-идентификатор присвоен нескольким аналогичным ошибкам типа «состояние гонки», которые присутствовали в подсистеме V4L2 ядра Linux на протяжении пяти лет. Пятнадцатого февраля я выступил с докладом по данной теме на конференции OffensiveCon 2020 (ссылка на презентацию).



Далее я детально объясню, как работает разработанный мной прототип эксплойта (PoC exploit) для микроархитектуры x86_64. Данный эксплойт выполняет локальное повышение привилегий из контекста ядерного потока, где отсутствует отображение пользовательского адресного пространства. В статье также показано, как эксплойт для Ubuntu Server 18.04 обходит следующие средства защиты: KASLR, SMEP и SMAP.



Начнем с демонстрации работы эксплойта.

CVE-2019-18683: Эксплуатация уязвимости в подсистеме V4L2 ядра Linux

Категория: Информационная безопасность

 

Нишевый контент: как 10% статей дают 61% конверсий из блога

Автор: admin от 12-03-2020, 10:10, посмотрело: 110

Нишевый контент: как 10% статей дают 61% конверсий из блога


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

Категория: Программирование

 

Figmiro. Делаем плагин для Figma (и немножечко для Miro)

Автор: admin от 12-03-2020, 10:10, посмотрело: 146

Figmiro. Делаем плагин для Figma (и немножечко для Miro)



Третьего дня по совету проверенных камрадов решили заняться созданием плагина, который будет экспортировать макеты из Figma в Miro в виде PNG изображений.



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

Категория: Программирование

 

Flask-DJ: Django (mvc) структура для проекта на flask

Автор: admin от 12-03-2020, 10:10, посмотрело: 120

Flask-DJ: Django (mvc) структура для проекта на flask



Всем привет!



Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта.



Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сделать инструмент, благодаря которому не придется задумываться об архитектуре, но при этом можно будет использовать все возможности Flask.

Категория: Программирование

 

Декларативная фильтрация данных на фронте. JS/TS

Автор: admin от 12-03-2020, 10:10, посмотрело: 155

Декларативная фильтрация данных на фронте. JS/TS

Часто ли вам приходилось писать обработчики фильтрации для ваших данных? Это могут быть массивы для отрисовки таблиц, карточек, списков — чего угодно.



Когда фильтрация статическая, то тут все просто. Стандартных функций map, filter и reduce вполне достаточно. Но что делать, если данные имеют сложную структуру или вложенность, да еще и правил для фильтра может быть достаточно много. Правила могут повторяться, данные изменяться, и чем больше контролов фильтра будет появляться, тем сложнее и неустойчивее будет код обработчика.



Как же решить проблему возрастающей сложности?

Категория: Программирование

 

Как объединить две платформы в одну и не обидеть пользователей. Опыт разработчиков Яндекс.Кью

Автор: admin от 12-03-2020, 09:05, посмотрело: 86

Как объединить две платформы в одну и не обидеть пользователей. Опыт разработчиков Яндекс.Кью


В прошлом году к Яндексу присоединился сервис TheQuestion. На тот момент уже был схожий сервис вопросов и ответов — Яндекс.Знатоки. У Знатоков была большая аудитория и много интересных вопросов, но не хватало экспертов, которые могли давать качественные ответы на эти вопросы. TheQuestion же, наоборот, имел сильное сообщество экспертов, но ему не хватало интересных вопросов. Логичным шагом было объединить два сервиса, чтобы взять лучшее у каждого из них. Но как это сделать, если у каждого сервиса своя технологическая база, контент и пользователи?



Сегодня я расскажу о том, как наша команда решила эту задачу с технологической точки зрения. Вы узнаете, какие варианты объединения мы рассматривали и какой в конце концов выбрали. Расскажу про «подменное API», миграцию баз данных, объединение профилей и тестирование бэкенда. А ещё — про ночь переезда без права на ошибку. Вы увидите, что скучать нам не пришлось.

Категория: Компании

 

Визуализация работы сервис-воркеров (Service Workers)

Автор: admin от 12-03-2020, 01:50, посмотрело: 22

Визуализация работы сервис-воркеров (Service Workers)


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



Вероятно, многие из вас слышали о таком новшестве в экосистеме javascript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря популярности прогрессивных веб-приложений (Progressive Web Applications — PWA).



Когда я впервые услышал о них, я задался вопросом: «Когда мы должны использовать сервис-воркеры? В каким сценариях или контексте мы можем их использовать?»



В данной статье мы рассмотрим несколько практических примеров использования сервис-воркеров, что впоследствии, смею надеяться, сделает счастливыми ваших пользователей.



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

Категория: Программирование

 

Трансформеры как графовые нейронные сети

Автор: admin от 11-03-2020, 17:30, посмотрело: 63

TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.

Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — прекрасная идея, но были ли у них хоть какие-то настоящие истории успеха? Есть ли у них какие-нибудь полезные на практике приложения?



Трансформеры как графовые нейронные сети

Можно привести в пример и без того известные варианты — рекомендательные системы в Pinterest, Alibaba и Twitter. Но есть и более хитрая история успеха: штурмом взявшая промышленную обработку естественного языка архитектура Transformer.



В этом посте мне бы хотелось установить связи между графовыми нейронными сетями и трансформерами (Transformers). Мы поговорим об интуитивном обосновании архитектур моделей в NLP- и GNN-сообществах, покажем их связь на языке формул и уравнений и порассуждаем, как оба "мира" могут объединить усилия, чтобы продвинуть прогресс.

Категория: Программирование