Pull to refresh
0
1
Skillfactory School @skillfactory_school

Школа Computer Science

Send message

Что такое Java Spring и как с ним работать

Level of difficultyEasy
Reading time4 min
Views18K

«Фреймворк фреймворков» — так часто называют Java Spring. Зачем он нужен и какие у него есть плюсы и минусы, рассказывает специалист по Java, техлид в финтех-проекте Егор Воронянский.

Читать далее

Исследование веб-приложений с помощью утилиты Ffuf

Level of difficultyMedium
Reading time7 min
Views12K

В сфере информационной безопасности и тестирования веб-приложений каждая малейшая уязвимость может привести к серьезным последствиям. Надежным помощником в обнаружении скрытых угроз и проведения глубокого анализа безопасности веб-систем может стать утилита Ffuf. Разбираемся с фаззингом с Ffuf и исследуем несколько ключевых методов его применения.

Читать далее

Как избирательное забывание помогает в обучении ИИ

Level of difficultyMedium
Reading time4 min
Views1.5K

Удаление определенной информации в процессе обучения помогает моделям машинного обучения быстрее и лучше осваивать новые языки.

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

Читать далее

Не становитесь безопасниками

Level of difficultyEasy
Reading time5 min
Views40K

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

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

Читать далее

Как работает нативная поддержка категорий в XGBoost

Level of difficultyEasy
Reading time10 min
Views2.5K

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


Ниже объясняется, какие есть варианты, подробно рассказывается об их плюсах и минусах. Особое внимание уделяется встроенной поддержке категориальных функций, представленных недавно в XGBoost и LightGBM.


Если вас интересует градиентный бустинг и его применение к дереву решений, посмотрите мою книгу.

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

Как запустить часть большого ИИ на слабом железе

Level of difficultyEasy
Reading time8 min
Views7.3K

Начало работы с Petals


Этот блокнот познакомит вас с основами Petals — системы логического вывода и точной настройки языковых моделей с сотнями миллиардов параметров без необходимости использования высокопроизводительных GPU. С помощью Petals вы можете объединять вычислительные ресурсы с другими людьми и запускать большие языковые модели с миллиардами параметров, например BLOOM-196B или BLOOMZ того же размера, что и GPT-3.

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

Исследование винтажной компьютерной техники: 4 бита драконов: игра-лабиринт Dungeons & Dragons от Mattel

Level of difficultyMedium
Reading time13 min
Views3.9K


Когда мои родители продали дом и перебрались на белоснежные просторы Великого севера, они вывезли несколько коробок моего барахла, которое долго пылилось в гараже. Мы сейчас разбираем вещи и роемся в этих коробках на случай, если в не столь далёком будущем нам самим понадобится переехать. В одной из коробок нашлась моя старая компьютерная игра-лабиринт DUNGEONS & DRAGONS™ от Mattel Electronics.


Это большая, «делюксовая» из двух игр D&D от Mattel (у Intellivision, конечно, был свой набор, а у нас был Tandyvision), вторая — DUNGEONS & DRAGONS™ компьютерная игра в жанре фэнтези. Это было портативное устройство с неожиданно привлекательной реинкарнацией игры Hunt the Wumpus, о которой мы поговорим в другой раз. Эта игра больше похожа на настолку, но в ней есть компьютерный антагонист и звуковое сопровождение.

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

Градиентные тени на CSS

Level of difficultyMedium
Reading time11 min
Views11K

Мне часто задают вопрос: Возможно ли создать тени из градиентов, а не из сплошных цветов? В СSS не существует конкретного свойства для этого (поверьте мне, я проверял), а в любом посте по этой теме содержится только множество хитростей для того, чтобы получить что-то похожее на градиент. В этой статье я расскажу вам о некоторых из них.


Но для начала… ещё одна статья о градиентных тенях? Серьёзно?

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

Как работает поиск по коду на Github

Level of difficultyEasy
Reading time11 min
Views16K


От запуска ознакомительной версии нового улучшенного поиска кода год назад до публичной беты, которую мы выпустили на GitHub Universe в прошлом ноябре, появилась масса инноваций и резких изменений в некоторых основных продуктах GitHub, затрагивающих то, как мы, разработчики, осознаём, читаем код и ориентируемся в нем.


Нам часто задают вопрос о новом поиске по коду: «Как он работает?». В дополнение к моей лекции на GitHub Universe, я в общих чертах отвечу на этот вопрос, а также немного расскажу о системной архитектуре и технических основах данного продукта.


Так как же он работает? Мы создали собственный поисковый движок с нуля на Rust специально для поиска по коду. Наш поисковый движок называется «Blackbird», но прежде чем я стану описывать как он работает, думаю, что нужно понять наши предпосылки. На первый взгляд, создание поискового движка с нуля выглядит спорно. Зачем это делать? Разве уже нет большого количества существующих решений с открытым исходным кодом?

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

Квантовая теория поля открывает пути к решению математической головоломки

Reading time5 min
Views8.6K

В январе Карен Фогтманн и Майкл Борински опубликовали доказательство того, что в до сих пор недоступном математическом мире, называемом пространством модулей, существует множество математических структур — графов, которые Фогтманн и ее коллеги впервые описали в середине 1980-х.


«Это сверхсложная задача. Удивительно, что у них получилось», — считает Дэн Маргалит, математик из Технологического института Джорджии.

Фогтманн и Борински начали с вопросов, которые Фогтманн, математик из Уорикского университета, задавала себе на протяжении десятилетий. Затем с помощью методов квантовой теории поля учёные перевели задачу на язык физики.

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

OpenAPI Comparator — детектор изменений, ломающих [большие] API

Level of difficultyEasy
Reading time5 min
Views3.9K

Защита от изменений API, которые могут повлиять на ваших клиентов, — одна из самых больших проблем при разработке HTTP API. Если вы вносите критические изменения, то создаете клиентам серьёзные проблемы. Стабильный API — ключ к удовлетворенности клиентов и, в конечном счете, к успеху в бизнесе.


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

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

Сказ о поддержке подсказок типов для функции сложения в Python, или Вот как непросто бывает идти в IT…

Level of difficultyMedium
Reading time8 min
Views5.5K

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


Думаю, многие отнеслись к этому скептически, а потому посмотрим на одну полностью выдуманную ситуацию. Если явно не указано иное, всё в ней вымышлено. Редактируя текст, я понял, что в попытках 4–6 ошибок даже больше, чем предполагалось, но переписывать снова не буду.


Итак, именно вы поддерживаете популярную стороннюю библиотеку slowadd. В ней много вспомогательных функций, декораторов, классов и метаклассов, но вот главная функция:


def slow_add(a, b):
    time.sleep(0.1)
    return a + b
Читать дальше →

Реверс-инжиниринг искусного двоичного сложения в нейросети

Level of difficultyMedium
Reading time10 min
Views4.4K


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

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

[Научпоп с кодом] Что такое «жидкая» нейросеть и как научить её играть в Atari?

Level of difficultyMedium
Reading time12 min
Views9.5K


Алгоритмы в основе традиционных сетей настраиваются во время обучения, когда подается огромное количество данных для калибровки наилучших значений их весов, ликвидные («текучие») нейронные сети лучше адаптируются.


«Они способны изменять свои основные уравнения на основе входных данных, которые они наблюдают», в частности, изменяя скорость реакции нейронов, — рассказывает директор Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института Даниэла Рус.
Читать дальше →

Как я написала веб-плеер с искусственным интеллектом

Reading time10 min
Views5.6K


Идея создать собственный веб-плеер с музыкой лоу-фай пришла мне в голову однажды воскресным днём во время изучения глубоких генеративных моделей. Я занялась этим проектом и закончила его за время каникул. Веб-плеер имеет две опции: пользователи могут выбрать трек лоу-фай на основе реальной песни, преобразованной с помощью библиотеки Tone.js, или трек, сгенерированный искусственным интеллектом. В обоих случаях поверх накладываются барабанные ритмы, атмосферные звуки и цитаты, которые пользователь сам выбрал на предыдущем шаге. В этом посте речь пойдёт в основном о том, как использовать нейросети LSTM для генерации midi-треков, а в конце я кратко расскажу о том, как с помощью Tone.js создаются песни.

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

Представление, кластеризация и подобие в примерах, иллюстрациях и таблицах

Reading time13 min
Views7.9K

Ключевые элементы машинного обучения и скрытых пространств



Эта статья послужит введением в представление (embedding), подобие (similarity) и кластеризацию (clustering).


Знать эти ключевые понятия машинного обучения нужно, чтобы понять, что такое скрытое пространство.


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

За подробностями приглашаем под кат.

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

Логистическая регрессия: подробный обзор

Reading time5 min
Views34K


Рисунок 1. Модель логистической регрессии. Источник.


Логистическая регрессия использовалась в области биологических исследований ещё в начале двадцатого века. Затем её стали применять во многих общественных науках. Логистическая регрессия применима, когда зависимая переменная (целевое значение) является категориальной. Подробности в иллюстрациях — в материале, а практика — на нашем курсе, посвящённом Data Science.

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

Bittorrent с нуля на Go

Reading time15 min
Views24K


BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.

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

PyTorch разоблачил вредоносную цепочку зависимостей

Reading time6 min
Views8.5K

pypi


PyTorch обнаружил вредоносную зависимость с тем же именем, что и у библиотеки torchtriton во фреймворке. Это привело к успешной компрометации через вектор атаки путаницы зависимостей. Подробности — к старту нашего курса «Белый хакер».

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

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

Reading time6 min
Views6.3K

Зачем это нужно?


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

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

Information

Rating
1,416-th
Location
Россия
Registered
Activity