Как стать автором
Обновить
48
0.1

Пользователь

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

ESLint. Анатомия правил линтинга: разбираем структуру, создаём собственное правило для React-приложения

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров21K

Всем привет! Меня зовут Анастасия Щедрина, я технический лидер по фронтенду проекта размещения объявлений в компании Домклик. Сегодня я расскажу вам немного о том, как устроены правила в ESLint, и покажу на примере, как можно разработать собственные.

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

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии1

Как оценить идею? Сортируем продуктовый бэклог с RICE (с примерами)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.8K

Привет! Если ты тут, то у тебя уже есть целый список идей, которые помогут обрести счастье, славу и богатство.

В этой статье я хочу рассказать про RICE – одни из самых простых способов оценки и приоритизации бэклога.

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

Парсим строки с SMT-решателем

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

Этот пост о том, как можно решить задачу разбора строки по контектстно-свободной грамматике с помощью SMT-решателя. Здесь будет введение в тему, описание принципов работы и ссылка на github с работающей программой.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии9

Планирование производственных операций

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

Недавно столкнулся с интересной задачей в интернете. Компания BIA Technologies организовала конкурс для математиков, в рамках которого предлагалось решить реальную прикладную задачу, а именно — построить оптимальное расписание производственных заданий для предприятия на горизонт планирования в 30 дней. Я решил поучаствовать в конкурсе, так как данный вызов показался мне интересным, плюс у меня уже был за плечами опыт реализации подобных задач на практике. В этой статье я хотел поделиться с вами результатами и продемонстрировать лучшие, на мой взгляд, подходы к решению таких задач.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии15

Глубокое погружение в Java Memory Model

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


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

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

Настройка badges в репозиториях Gitlab, с помощью Gitlab API, в CI/CD

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.8K

Простая визуализация версий установленных релизов, результатов сканирования, версии интерпретатора и прочего с помощью Gitlab Badges. Создание Gitlab Badges с помощью Gitlab API и Gitlab CI.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Практическое использование JCStress

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

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

Цель данной статьи - показать читателям использование JCStress не только в лабораторных работах для демонстрации эффектов связанных с JMM, но и для доказательства правильности преобразований кода. Тренироваться будем на кошках JDK.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Даже Amazon не может разобраться в serverless и микросервисах

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров38K

Эта заметка является переводом поста в блоге Дэвида Ханссона под заголовком «Even Amazon can't make sense of serverless or microservices». Здесь минимум редактуры для сохранения оригинальной авторской подачи.

Команда Prime Video из Amazon опубликовала довольно примечательное тематическое исследование, посвящённое их решению отказаться от своей микросервисной serverless-архитектуры и заменить её монолитом. Этот шаг сэкономил им ошеломляющие 90% (!!) эксплуатационных расходов, а также упростил систему. Какая победа!

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

Читать далее
Всего голосов 70: ↑44 и ↓26+27
Комментарии95

Полезные материалы по Data Science и машинному обучению, которые помогут пройти сквозь джунгли из терминов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров25K

Привет, Хабр! Меня зовут Ефим, я MLOps-инженер в Selectel. В прошлом был автоматизатором, ML-инженером, дата-аналитиком и дата-инженером — и уже несколько лет падаю в пропасть машинного обучения и Data Science. Это буквально необъятная сфера, в которой почти нет ориентиров. Основная проблема в том, что разделов математики довольно много и все они, на первый взгляд, нужны в том же машинном обучении.

В этой статье делюсь полезными материалами, которые помогут найти и заполнить теоретические и практические проблемы и основательно подойти к своему профессиональному развитию. Добро пожаловать под кат!
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии15

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров37K

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+93
Комментарии94

Spring Security и архитектура наследования ролей в не плоской модели

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров16K

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

Как увязать все эти детали в коде и при этом не превратить продукт в большую кучу грязи? В рамках этой статьи я расскажу вам:

1. Как реализовать наследование ролей в Java?

2. Как протестировать полученную иерархию?

3. Как применить решение в рамках Spring Security?

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

Современные open-source BI-решения в условиях санкций

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

 

С развитием Data-driven подхода к принятию управленческих решений в современных организациях, возросла роль BI-инструментов как основного инструмента внедрения такого подхода. На сегодняшний день выбор BI-продуктов на рынке сводится к трем большим категориям:

- Лидеры (Power BI, Tableau, Qlik).
- Отечественные BI (Модус, Luxms, Yandex Lens, Visiology).
- Open-sourse (Apache Superset, Metabase, Plotly Dash).

Использование BI с открытым исходным кодом имеет ряд преимуществ и в условиях ухода западных игроков с российского рынка, такой выбор дает пользователю свободу и независимость от конкретного вендора.

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

Введение в библиотеку Transformers и платформу Hugging Face

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

Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time Series.

В этой статье пройдемся по основным ее возможностям и попробуем их на практике.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

Создаем GAN с помощью PyTorch

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

Генеративно-состязательные сети (Generative Adversarial Networks — GAN), предложенные Goodfellow и др. в 2014 году, произвели революцию в области создания изображений в компьютерном зрении — никто не мог поверить, что эти потрясающие живые изображения на самом деле создаются машинами с нуля. И даже больше — люди раньше думали, что задача генерации невозможна, и были поражены мощью GAN, потому что традиционно в этой области просто не существует каких-либо эталонных данных, с которыми мы могли бы сравнить наши сгенерированные изображения.

В этой статье представлена ​​простая идея, лежащая в основе создания GAN, за которой следует реализация сверточной GAN с помощью PyTorch и процедура ее обучения.

Читать далее
Всего голосов 10: ↑8 и ↓2+10
Комментарии1

Максимальная оптимизация игры «Жизнь» на Julia

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

Это очень хорошой case для оптимизации. Алгоритм крайне прост и его знают все. Но сколько можно сделать!

Читать далее
Всего голосов 50: ↑49 и ↓1+62
Комментарии25

Графы в Python: введение и знакомство с лучшими библиотеками

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

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

В этой статье я расскажу вам о наиболее полезных библиотеках Python, которые использовал для сетевого/графового анализа, визуализации и машинного обучения. Если говорить конкретнее, то это будут:

  • NetworkX для общего анализа графов;
  • PyVis для интерактивной визуализации графов прямо в браузере;
  • PyG и DGL для решения различных задач в области машинного обучения на графах.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+34
Комментарии0

Тяжелое расставание с Net-Tools

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

Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.




Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .

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

Продвинутые методы Uplift-моделирования

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

Всем привет! Меня зовут Окунева Полина, я ведущий аналитик компании GlowByte. Сегодня я хочу рассказать о задаче Uplift-моделирования — частном случае такой большой сферы как Causal Inference, или причинно-следственный анализ, — и методах ее решения. Задачи такого типа важны во многих областях. Если вы сотрудник, например, продуктовой компании, то причинно-следственный анализ поможет сократить издержки на коммуникации с людьми, на которых она не повлияет. Если вы врач, то такой анализ подскажет, выздоровел пациент благодаря лекарству или из-за удачного стечения обстоятельств. 

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

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

Оптимизационные задачи в ритейле

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

Привет, Habr! На связи отдел аналитики данных X5 Tech.

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

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

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема

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

Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.

Исследуя большое пространство, нужно собирать сокровища, разбираться с обитателями и охранной системой. При этом важно избегать ловушек, которые можно вычислить по цифрам. Как в игре «Сапёр».

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

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

Читать далее
Всего голосов 50: ↑49 и ↓1+59
Комментарии17

Информация

В рейтинге
3 250-й
Зарегистрирован
Активность