Как стать автором
Обновить
4
0
Константин Ерёмин @ereminkostya

Developer

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

GPT-2 нейросеть от OpenAI. Быстрый старт

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

image


Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.


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


Тем не менее, в OpenAI выложили в общий доступ уменьшенную версию нейросети GPT-2, со 117 млн параметров. Именно ее мы запустим через сервис Google Colab и поэкспериментруем с ней.

Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Комментарии 70

Обзор топологий глубоких сверточных нейронных сетей

Время на прочтение 18 мин
Количество просмотров 107K
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

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

Senior Engineer в поисках работы. Как я прошел 20 собеседований с HR и что я об этом думаю

Время на прочтение 16 мин
Количество просмотров 103K
Предисловие для читателей Хабра — статья о поиске работы на рынке разработки в Украине (который в основном об аутсорсе на иностранных заказчиков), поэтому некоторые вещи могут показаться странными (LinkedIn, собеседования с заказчиками, обязательное требование разговорного английского, обсуждение ЗП в долларах) или нерелевантными для РФ. Тем не менее, статья имела большой успех на локальных ресурсах, и читатели попросили меня перевести её на русский.

Этой статьей я хочу начать цикл рассказов о том, как я на протяжении нескольких месяцев проходил собеседования в примерно 20-и разных компаниях на разные должности. Тут будут мои мысли о рынке труда, процессе найма, советы а так же несколько самых интересных историй. Цикл будет состоять из нескольких частей — HR собеседования, технические собеседования, финальные собеседования. Итак, первая часть.

Немного о себе. Программирую со школьного возраста, за деньги работаю 10 с хвостиком лет. Работал админом, программистом, тимлидом, РМ-ом, линейным менеджером. Выполнял обязанности SRE/DevOps, архитекта, HR, офис-менеджера, эникейщика.

Работал в кровавом энтерпрайзе, в стартапе, в аутсорсе. В основном занимался формошлёпством и крудами, имел дело с Java и бэкендом. За последние несколько лет пересел на фуллстек микс из Java, Ruby/RoR, Python, Node.js.

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

Всего я прошел примерно 20 собеседований с рекрутерами: половина из которых были из агенств и половина — штатные рекрутеры/HR компаний. Так что, могу сказать что некоторая статистика у меня есть.
Читать дальше →
Всего голосов 115: ↑108 и ↓7 +101
Комментарии 172

Continuous Integration для новичков

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

Что такое CI


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


Если вы не знаете как настроить CI в своем проекте, я приглашаю вас "под кат"

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

Эффективные личные финансы. Уровень 1

Время на прочтение 8 мин
Количество просмотров 204K
Я решил написать эту статью для сотрудников нашей компании, так как понял, что они очень образованные и умные люди, но не перестают беспокоиться о пенсионной реформе
эффективно обращаться с финансами их никто не научил. Как руководитель, заботящийся не только о своем благосостоянии, но и о благосостоянии своих коллег, я постарался взять на себя роль финансового наставника. А мои наставления о том, как стать финансово-эффективным вы можете прочесть под катом.


Читать дальше →
Всего голосов 55: ↑45 и ↓10 +35
Комментарии 119

Освоение Vuex — с нуля до героя

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

Привет, Хабр! представляю вашему вниманию перевод статьи «Mastering Vuex — Zero to Hero» автора Sanath Kumar.


Официальная документация Vuex определяет его как паттерн управления состоянием + библиотека для приложений Vue.js. Но что это значит? Что такое паттерн управления состоянием?


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


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

Функциональное программирование для всех

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

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Всего голосов 188: ↑181 и ↓7 +174
Комментарии 151

Искусство публичных выступлений

Время на прочтение 9 мин
Количество просмотров 104K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

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

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →
Всего голосов 235: ↑223 и ↓12 +211
Комментарии 59

Очевидные 3 правила безопасности

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

Правило №1. Делайте все авторизационные куки HttpOnly


Куки с флагом HttpOnly не видны браузерному коду, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.

Читать дальше →
Всего голосов 173: ↑140 и ↓33 +107
Комментарии 117

Руководство по оформлению HTML/CSS кода от Google

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

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Всего голосов 295: ↑286 и ↓9 +277
Комментарии 168

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

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

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

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост
Всего голосов 119: ↑106 и ↓13 +93
Комментарии 38

GraphQL для платформ компании InterSystems

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


GraphQL — это стандарт декларирования структур данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером. Если вы впервые слышите о GraphQL, то вот пара хороших ресурсов: раз и два.


В этой статье я расскажу как вы можете использовать GraphQL в своих проектах на технологиях InterSystems.

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

Практический видеокурс Школы информационной безопасности

Время на прочтение 3 мин
Количество просмотров 33K
Нет смысла лишний раз напоминать, почему при разработке сервисов важно уделять внимание безопасности. Поговорим о том, как строить системы защиты, поддерживать их в актуальном состоянии и развивать с увеличением числа угроз. Довольно много практических знаний по этой теме можно получить из интернета. Теория, в свою очередь, неплохо освещается в нескольких российских вузах. Есть и множество полезной литературы. Но хорошего специалиста по безопасности отличает не просто знание инструментов и теории, а способность применять теорию в реальных ситуациях.

В апреле этого года мы впервые провели бесплатную Школу информационной безопасности. Лекции в школе подготовили и прочитали сотрудники службы ИБ Яндекса — те специалисты, которые непосредственно отвечают за защиту наших продуктов. Мы получили более 700 заявок, 35 человек успешно закончили школу, 9 из них получили офферы в Яндекс (7 — на позицию стажёра, 2 — на штатную позицию).

Сегодня мы публикуем видеокурс со всеми лекциями Школы. Вы можете почерпнуть те же знания, что и студенты — разве что интерактива поменьше и не нужно делать домашнее задание. Для просмотра стоит знать хотя бы один язык программирования (JS, Python, C++, Java), на начальном уровне разбираться в принципах построения и работы веб-приложений, понимать принципы работы операционных систем и сетевой инфраструктуры, а также основные типы атак и виды уязвимостей.


Надеемся, этот курс прокачает вас в роли специалиста по ИБ, а также поможет защитить ваши сервисы от утечек данных и атак злоумышленников.
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 3

Полное практическое руководство по Docker: с нуля до кластера на AWS

Время на прочтение 39 мин
Количество просмотров 1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Всего голосов 125: ↑124 и ↓1 +123
Комментарии 43

Как я осилил английский

Время на прочтение 13 мин
Количество просмотров 347K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Всего голосов 155: ↑151 и ↓4 +147
Комментарии 256

С помощью LAMP я создал SaaS-сервис приносящий $3700 в месяц. Моя история

Время на прочтение 11 мин
Количество просмотров 69K
В этой статье я хотел бы поделиться своим опытом создания SaaS-сервиса на базе LAMP стека, Postio и доведения сервиса до состояния, когда он стал приносить 3 700 долларов ежемесячно (до обрушения рубля было почти 7 000). Сразу надо сказать, что эта история не имеет ничего общего с инвесторами, с золотой лихорадкой Кремниевой долины и с какой-то сверхсовременной технологией. Просто незамысловатая история от независимого разработчика о создании прибыльного SaaS-сервиса, который может сделать любой. Этот веб-сервис был сделан для внутреннего рынка России, поэтому я перевёл всё на английский и в доллары для удобства (пожалуйста, обратите внимание, что это перевод моей статьи, которая изначально была написана для англоязычной аудитории). Но, с другой стороны, этот опыт является довольно универсальным и может быть применён везде. По сути, это инструкция по созданию проектов такого рода.

Три года назад я решил заняться SMM, и самым простым способом сделать это показалось запустить свою собственную группу в какой-нибудь нише и попытаться развить её. Facebook был уже, мягко говоря, довольно конкурентным на тот момент, поэтому я запустил свою тестовую группу на базе «ВКонтакте». Я выбрал очень популярную нишу, потому что всё, что я хотел, — это научиться, а не доминировать на рынке.

Наверное, я должен немного отвлечься и сказать, что VK.com имел и до сих пор имеет процветающую «экосистему» таких групп, которая приносит прибыль их владельцам. Это — своеобразный рынок, который Facebook прикрыл уже давно. И этот базар является прекрасной средой для обучения и экспериментов.
Всего голосов 106: ↑95 и ↓11 +84
Комментарии 101

Разрабатываем игру на SVG + React. Часть 1

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

TL;DR: в этих сериях вы узнаете, как заставить React и Redux управлять SVG элементами для создания игры. Полученные в этой серии знания позволят вам создавать анимацию не только для игр. Вы можете найти окончательный вариант исходного кода, разработанного в этой части, на GitHub.


image

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

Чек-лист из 68 пунктов для продвижения сайта в ТОП10 Яндекса

Время на прочтение 5 мин
Количество просмотров 127K
Чтобы Яндекс показал Ваш сайт в числе первых, нужно чтобы он максимально полно отвечал на запрос пользователя. И это будет уже половина успеха. Оставшаяся половина это удобство, техническая составляющая сайта и его простота. Ниже я привел чек-лист из 68 пунктов, который был разработан специально для системы управления задачами PTYSH, совместно с компанией DFAKTOR. А теперь я делюсь им с Вами. Кропотливое выполнение каждого пункта из данного чек-листа позволит вывести практически любой сайт на самый верх поисковой выдачи. Но придется как следует поработать. Начнем с самого малого.


Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 32

WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров

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

Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают, почему нужно запретить их загрузку на сервер (например, при использовании веб-сервера apache в связке с PHP, наверное, лучше избегать загрузку файлов с расширением «.php» от пользователей). Однако, мне показалось, что остались еще некоторые малоизвестные форматы, которые по-разному воспринимаются различными веб-серверами.

При написании кода, который отвечает за загрузку файлов, разработчики веб-приложений, могут прибегнуть к проверке расширения загружаемого файла либо по WhiteList (и тогда можно загружать только файлы с определенным расширением), либо по BlackList (и тогда можно загружать любые файлы, которые не описаны в списке). Если все-таки используется второй вариант, то это нередко может выливаться в уязвимость (например, XSS или даже RCE).

Как правило, программисты вносят в BlackList уже известные и очевидные расширения. В статье же будут рассмотрены не самые распространенные типы файлов.
Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 5

Вопросы для собеседования бэкенд-разработчика

Время на прочтение 16 мин
Количество просмотров 186K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
Читать дальше →
Всего голосов 83: ↑61 и ↓22 +39
Комментарии 274
1

Информация

В рейтинге
Не участвует
Откуда
Хабаровск, Хабаровский край, Россия
Зарегистрирован
Активность