Как стать автором
Обновить
1
0

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

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

Создание атомарных коммитов в Git

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

Мы все были там: Вы работали над множеством изменений одновременно, некоторые из которых не имели ничего общего. Для удобства вы решили объединить все эти изменения в один коммит и на этом закончить. Но хотя это может показаться заманчивым, на самом деле это может привести к большим проблемам в дальнейшем. Большие коммиты могут:

Читать далее
Всего голосов 34: ↑31 и ↓3+28
Комментарии41

Фиксим 21-летнюю игру

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

Несколько недель назад я копался в своей коллекции старых CD, и нашёл диск с Salt Lake 2002. В последний раз я играл в неё много лет назад, поэтому решил попробовать снова.

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

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

В Ruby появилась поддержка WebAssemblу: что это значит?

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


С выпуском версии 3.2 Ruby пополнил список языков программирования, поддерживающих WebAssembly. Небольшое на первый взгляд обновление может стать самым значительным изменением языка со времён Rails, так как теперь разработчики смогут работать не только с бэкендом. После портирования кода на WebAssembly его можно будет запускать где и как угодно — на фронтенде, встроенных устройствах, как бессерверные функции, вместо контейнеров или в граничных вычислениях. WebAssembly может превратить Ruby в универсальный язык программирования. Подробности под катом, а практика в вебе — на нашем курсе по Fullstack-разработке на Python.

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

Что под капотом «ответов на вопросы» Маруси?

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

Привет, это команда ответов на вопросы Маруси.

Этот материал состоит из двух частей. Это вторая часть (первая часть). В ней мы чуть глубже копнём технический аспект того, как устроены ответы на вопросы Маруси.

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

Материал может быть интересен тем, кто только начинает свой путь в NLP или разрабатывает аналогичные решения, но не обладает несколькими стойками c DGX.

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

Как мы использовали RabbitMQ для разбиения монолита крупнейшего ритейлера страны*

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

Накопить за 7 лет терабайты данных в монолите и решить, что пора оптимизировать систему и разбивать её на микросервисы — страшный сон для айтишника. Добавим сюда ещё база на решениях от 1С и необходимость обеспечить непрерывность процесса. Стало страшно? А для нас — возможность показать экспертность и решить нетривиальную задачу. О том, как «кролик» помог сдвинуть гору рассказал архитектор 1С компании «Автомакон» Виталий Осиповский.

С 2013 года ВкусВилл проводил внутреннюю автоматизацию с использованием программ на базе 1С. За годы активного развития и эксплуатации база увеличилась до нескольких терабайт, кратно выросло количество операций, что спровоцировало большой объем работы для администраторов, оптимизаторов и команды разработчиков. Например, тяжелые алгоритмы планирования, закрытий, генерации документов могли негативно влиять на работу всей базы.

Любые сбои и простои были неадекватно затратны и влияли на все компоненты системы в целом. А сама система не годилась для быстрого масштабирования бизнеса. Поэтому уже в 2020 году приняли решение о поэтапном разделении монолита на отдельные программные компоненты.  

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

Использование шаблонов проектирования группы GoF в React

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

В этой статье поговорим о том, как написать в React многократно используемый код, используя три шаблона проектирования группы Gang-of-Four.

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

Получил доступ к Dalle-2. Вы не поверите, что может нарисовать машина… Дизайнеры больше не нужны

Время на прочтение4 мин
Количество просмотров149K
Текст генерации: furry monster with green eyes looking at us, the word «habrahabr» in the background, digital art, blue background, 3d

Привет, чемпион!

Недавно мне посчастливилось стать обладателем доступа к API Dalle-2. Если ты ещё не слышал про Dalle, то это такая CLIP-архитектура, обученная на огромном корпусе пар текст-изображение. Иначе говоря — она умеет генерировать очень качественные изображения из текста. Отличить результаты генерации от рисунков человека иногда просто невозможно! Это одновременно впечатляет и в то же время — немного шокирует.

По сравнению с предыдущей версией — DALL-E 2 умеет генерировать изображения в более высоком разрешении (1024×1024 пикселей, что в 16 раз превышает разрешение в предыдущей версии модели) да ещё и намного быстрее. Более того, DALL-E 2 позволяет редактировать уже существующие изображения.

Нет больше терпения ждать, давайте же опробуем её!
Читать дальше →
Всего голосов 234: ↑227 и ↓7+220
Комментарии817

Вашей компании не нужен HR

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

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

Следующий уровень - это гигантские размеры HR отдела, когда на 200 сотрудников компании приходится 30 эйчаров разных цветов и размеров, с настолько узким функционалом, что любой кардиоторакальный хирург позавидует: этот закупает в офис только еду и напитки, а этот - канцелярию, этот нанимает только инженеров, а этот - бэк-офис. Но это уже терминальная стадия, о которой мы сегодня говорить не будем, потому что это заслуживает отдельного поста.

Итак, почему появились эйчары? Если говорить очень простым языком, то однажды кто-то решил, что было бы здорово переложить people management и прочие задачи, отвлекающие, например, от программирования, кому-то отдельному, и высвободить время, например, инженеров для действительно важных вещей. Удобно, если адаптацией, наймом, развитием и утешением страждущих будет заниматься отдельно нанятый человек, который будет профессионально подкован и достаточно терпелив, чтобы общаться в таком количестве с человеками.

Сейчас компании берут эйчаров по той же причине - нанимать надо больше, новичков нужно адаптировать, организовывать курсы и приглашать тренеров (или быть им самому) для сотрудников, и прочая, и прочая. 

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

YouTubeDrive: хранение файлов на YouTube

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


Хостинг неограниченного размера? Звучит как нечто фантастическое и невозможное по законам природы. Примерно как вечный двигатель. Но что, если такое возможно? (не вечный двигатель, конечно, а неограниченный хостинг).

Если подумать, ведь бесплатное хранилище неограниченного размера предоставляют десятки интернет-сервисов, от соцсетей до фотохостингов. Например, ограничение YouTube на размер одного видеоролика — 12 часов или 256 ГБ, но на количество видеороликов ограничений нет.
Читать дальше →
Всего голосов 67: ↑56 и ↓11+45
Комментарии112

Создаём свою БД на PostgreSQL из CSV

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

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

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

Проксируйте всё

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

Читатель, привет!

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

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

А именно: все вызовы из системы вовне и все вызовы системы извне должны быть обёрнуты минимум одним слоем прокси методов.

Как видите, очень просто.

Но разберём чуть подробнее.

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

Как настроить быстрый персональный VPN в Azure

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

Всем привет! Я расскажу о том как в течении 10 минут создать личный VPN сервер в нужном регионе.

Очевидно, что для настройки потребуется доступ к Azure. Я сделал такой доступ через Azure Benefit (google 'how to activate azure benefit for msdn subscribers'). В марте-апреле этого года данная штука активировалась для жителей нашей страны, а вот в этом месяце с этим как мне сказали уже есть проблемы. В таком случае - обращайтесь к друзьям с доступом к Azure.

В статье будет максимально простая инструкция с большим количеством картинок.

Читать далее
Всего голосов 9: ↑5 и ↓4+1
Комментарии18

Имплементируем WebSocket протокол на Go

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

Статья для тех, кто хочет познакомиться с устройством технологии WebSocket или языком программирования Go.

Или узнать с какой простотой Go стал одним из самых популярных языков программирования для написания сетевых приложений.

Читать далее
Всего голосов 39: ↑38 и ↓1+37
Комментарии9

Так все же, насколько быстры каналы в Linux?

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

В этом посте будет проанализировано, как каналы Unix реализуются в Linux. Для этого мы напишем и в несколько итераций оптимизируем тестовую программу, которая записывает и считывает данные через канал.  

Читать далее
Всего голосов 96: ↑91 и ↓5+86
Комментарии31

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

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

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

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

Установка Arch Linux на зашифрованный раздел c LVM

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

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

Почему Arch?

До этого я использовал ALT Linux, Ubuntu, SuSe, Fedora, Debian, Arch. И когда я попробовал арч я понял, что он полностью удовлетворяет моим потребностям.

Что мне в нем нравится:

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

Сбежать с конференции Zoom с помощью браузера Chrome

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

Расширение для Хром-подобных браузеров написанное на JavaScript, цель которого помочь участнику zoom-конференции сбежать с лекции, но при этом все будут его видеть слушающим.

Читать далее
Всего голосов 22: ↑11 и ↓110
Комментарии2

Как создать CDN в отдельно взятой стране

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

Тема задержки доступа и скорости извлечения сетевых ресурсов никогда не перестанет быть актуальной. Максимально близкое расположение источника влияет не только на скорость загрузки и пользовательский опыт, но и на эффективность работы глобальной сети в целом, поскольку позволяет локализовать трафик и сократить загрузку магистральных каналов, предпочитая использовать кэшированные или расположенные локально реплики сетевых ресурсов. Не случайно Google реализует модель сохранения локальных кэшей на оборудовании крупных региональных провайдеров (Google Global Cache) и интеллектуальные алгоритмы в маршрутизации на ближайшую реплики. В этой статье мы обсудим различные подходы к реализации распределенной сети доставки контента (Content Delivery Network, он же CDN), а также акцентируем возможные решения для создания CDN в масштабах отдельно взятой страны или города.

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

Уязвимость в Atlassian Confluence Server и Data Center позволяет злоумышленникам удаленно выполнять команды на сервере

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

Поступают сообщения о массовых атаках на Confluence Server с использованием уязвимости CVE-2022-26134, которая используется хакерами для установки веб-оболочек (например, Behinder).

Согласно бюллетеню Atlassian проблема - не требующая аутентификации уязвимость RCE в Confluence Server и Data Center.

Подробнее и как устранить
Рейтинг0
Комментарии0

Flutter 3: что нового

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

Представляем перевод статьи о свежем релизе Flutter с комментариями Евгения Сатурова, Head of Flutter в Surf.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии38
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность