Всем здоровья и свободы разной: внешней и внутренней.
![image](https://habrastorage.org/getpro/habr/post_images/c4d/304/a3d/c4d304a3d59d90d9bddfcd1e0202ad16.jpg)
Пользователь
Некоторые издательства журналов предлагают доступ к научным статьям сразу после публикации, а некоторые через какое-то время.
Однако стоимость одной статьи от платных издателей может составлять 150 долларов, что не так уж и мало по сравнению с размером стипендии студента.
Здесь собраны совершенно бесплатные ресурсы, где вы можете найти интересующую Вас научную статью.
Некоторое время назад я повесил здесь статью с кратким обзором техник векторизации, и мне показалось логичным продолжить эту тему попыткой разобраться с тем, в какую сторону NLP шагнула дальше, как научилась оцифровывать смысл: выбор пал на механизм attention. Мы с коллегой-переводчицей перевели и переработали Youtube-ролик 'Attention is all you need explained' в статью, которую и представляем вашему вниманию.
Заранее прошу прощения за светофор в картинках: по-другому черный фон из скриншотов убрать не получалось :).
В 2017 году, в статье Attention is all you need, исследователи из Google представили архитектуру Transformer. Новизна Transformer заключалась в использовании self-attention (досл. с англ. — самовнимание, внутреннее внимание) — механизма, благодаря которому модель может сосредоточиться не на всех сразу, а на наиболее важных элементах входной последовательности...
Привет всем любителям побрейнштормить и хорошенько развлечься! Команда PVS-Studio на связи. Новый крутой квиз с интересными вопросами из мира программирования уже у нас на сайте. Да не простой квиз, а задачки от Сергея Кушниренко — разработчика игр в 4A Games! Если устали от рутинных задач и хотите поразмять мозг чем-то интересным, welcome!
Летом 2014 года я был на переговорах в офисе компании Kudago. Я брался за проектирование интерфейса рекламного кабинета, это была одна из первых встреч. Собирали функциональные требования, обсуждали всякие детали. Я на переговорах спешил и «подгонял» генерального директора, Александра Прокофьева, периодически перебивая его. В какой-то момент он сказал:
— Чувак, дай я сначала договорю, а потом тебя послушаем.
Меня как в воду опустили. На встрече присутствовало несколько человек, перед которыми мне сделали замечание, и до конца переговоров я сидел и грустил. Уверен, что перемена моего настроения была очень заметна. Разумеется, я в тот момент сильно обиделся на Александра.
После переговоров, придя в себя и хорошенько всё обдумав, я понял две вещи:
На старте карьеры в IT меня очень волновал этот вопрос. Настолько волновал, что в первой же команде, куда я попал, я стал изучать стек технологий, который использовала команда. Начал писать какой-то простой проект на PHP, потом на Java и даже просил дать мне какие-то простые задачки, связанные с тестированием API через Postman и оформлением документации в Swagger. Правильно ли я тогда поступил или нет? И стоит ли всем, сломя голову, погружаться технику?
На мой взгляд, эта тема должна быть раскрыта, так как она актуальна как для начинающих специалистов, так и для опытных.
Дальше предлагаю пройтись по аргументам «за» и «против».
Я был достаточно неосмотрителен, чтобы эта история произошла со мной, но, возможно, достаточно технически грамотен, чтобы рассказать ее детали, сдерживая эмоции и понимая, что происходит, в отличии от большинства людей, оказашимихся в этой ситуации еще и с ощущением полного неведения.
Когда появились госуслуги, на них не было автоматического информирования о входах в аккаунт с непривычного IP, не предлагалась двухфакторная авторизация. Я создал пароль достаточно надежный - не использованный нигде ранее, и считал,что все отлично, не меняя его 5 лет. На портал заходил я редко, но авторизовывал через ЕСИА государственные сервисы. Госуслуги присылали рассылки на почту, а я был уверен, что при авторизации с подозрительного IP или попытки брутфорса меня уведомят, а аккаунт заблокируют, ведь телефонный номер Госуслуги и так знают.
По-видимому, пароль от Госуслуг мне пришел в голову еще раз в качестве пароля от какого-то сайта, где я зарегистрировался с той же почтой, и с тех пор пара "почта-пароль" слилась в базы злоумышленников. Это все, что вам нужно знать о причинах произошедшего. Теперь о последствиях.
Утром 11 июля мне потребовалось авторизоваться на сайте Госуслуг, но "пользователь с таким email не зарегистрирован". Я набрал службу поддержки, назвал свой номер СНИЛС, а мне (не спрашивая всяких контрольных вопросов, что в моем случае было как раз хорошо) техподдержка заявила, что с этим номером СНИЛС аккаунт заведен 5 июля, почта и телефон там другие, а тот, в котором была ваша почта и телефон, удалены того же числа.
Отчитываться за каждый час написания кода. Все мы слышали про подобные практики, многие даже сталкивались. А на самом ли деле это эффективно? Чего боится менеджер? Почему подобная отчетность может сильно ухудшить продуктивность команды? Давайте обсудим это в сегодняшней статье.
В двух предыдущих статьях мы рассмотрели ключевые идеи, лежащие в основе микросервисов. В первой части были описаны качественные характеристики границ микросервисов. Во второй части был представлен предметно-ориентированный подход и методы выделения границ сервисов. В сегодняшней, заключительной статье, мы рассмотрим альтернативы предметно-ориентированному подходу, а затем изучим шаблоны разбиения монолита на микросервисы.
В предыдущих двух статьях мы рассмотрели способы выявления и эксплуатации уязвимости переполнения буфера. Теперь самое время поговорить о тех механизмах защиты, которые можно использовать для борьбы с этими уязвимостями. Лет двадцать назад переполнение буфера можно было эксплуатировать гораздо более безнаказанно, но сейчас многое поменялось.
Многие проблемы, свойственные языку С, неприменимы к другим языкам программирования, например к Python. И наоборот, в Питоне мы можем попытаться реализовать инъекцию команд, а вот в Си это не получится. Посмотрим какие механизмы защиты есть для языка СИ.
В этой статье мы продолжим рассматривать интересную тему эксплуатации уязвимостей кода. В первой части мы выявили наличие самой уязвимости и узнали, какой именно объем байт мы можем передать нашей уязвимой программе для эксплуатации уязвимости. Сейчас мы на время оставим нашу уязвимую программу и поговорим о написании shell-кода.
Понятие DevSecOps (как, впрочем, и DevOps) до сих пор трактуют весьма широко, кто-то считает, что направление в разработке ПО, кто-то считает, что такой специалист «на все руки». Но, пожалуй, наиболее подходящим в контексте этой статьи будет следующее определение DevSecOps — это практика интеграции тестирования безопасности в каждый этап процесса разработки программного обеспечения. Отсюда можно сделать вывод, что и разработчики и тестировщики должны быть знакомы с базовыми уязвимостями, которые можно встретить в коде.
Автор статьи: Артем Михайлов