Pull to refresh
0
0
Send message

Архитектура маркетплейса

Reading time8 min
Views27K

Как говорит Википедия, маркетплейс — это платформа e-commerce, онлайн-магазин электронной торговли, предоставляющий информацию о продукте или услуге третьих лиц, чьи операции обрабатываются его оператором. Если объяснять проще, то маркетплейс является торговой площадкой, которая работает по принципу связующего звена между покупателями и продавцами. Поначалу его легко перепутать с интернет-магазином, но между ними - кардинальная разница. У маркетплейса непримечательный дизайн, зато в каталоге сотни тысяч товаров. А у каждого товара — десятки цен.

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments3

Пэйволлы: прокачиваем насмотренность

Level of difficultyMedium
Reading time23 min
Views4.1K

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

3000+ просмотренных мной пэйволлов превратились в статью с 200+ гайдлайнами и идеями по их улучшению. Всё во благо прокачки вашей насмотренности.

P.S. Материал доступен без пэйволла😊

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments6

Dolly 2 — открытый аналог ChatGPT со свободной лицензией

Level of difficultyEasy
Reading time9 min
Views20K

В конце марта 2023г., компания Databricks выпустила Dolly, большую языковую модель, подобную ChatGPT, дообученную на платформе Databricks Machine Learning Platform. Результат оценки работы модели Dolly показывает, что модель с открытым исходным кодом двухлетней давности (GPT-J) при дообучении на публичном датасете, собранном в Стэнфорде (Stanford Alpaca), на небольшом наборе данных из 50 000 диалогов (вопросов и ответов), может демонстрировать удивительно высокое качество обучения, не характерное для родительской модели (GPT-J), на которой она основана.

Но с первой версией модели Dolly существует одна проблема - датасет от Stanford Alpaca был собран с помощью автоматизированных скриптов от ChatGPT, что нарушает лицензию и правила использования моделей OpenAI.

Чтобы исправить эту проблему, в апреле 2023г. Databricks выпустила
Dolly 2 - большую языковую модель с открытым исходным кодом и открытой лицензией для научных и коммерческих целей.

Dolly 2 - это языковая модель с 12 млрд. параметров, основанная на семействе моделей EleutherAI pythia и дообученная исключительно на новом датасете высокого качества, созданном сотрудниками Databricks с использованием RL from Human Feedback (RLHF).

Databricks открыли исходный код Dolly 2, включая код обучения, сам датасет и веса модели, подходящие для коммерческого использования. Это означает, что любая организация может создавать, владеть и настраивать комплексные модели, не платя за доступ к API или передавая данные третьим сторонам.

Читать далее
Total votes 34: ↑32 and ↓2+30
Comments9

Адаптивный и многоязычный компонент футера для Vue 3: создание и использование

Level of difficultyEasy
Reading time6 min
Views3K

Вы занимаетесь блогингом или созданием контента на нескольких языках? Или у вас есть множество социальных медиа-аккаунтов, которыми вы хотите поделиться? Тогда вам понравится этот адаптивный и многоязычный компонент футера для Vue 3!

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

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments3

Кодогенерация Dart

Reading time9 min
Views4.1K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments1

LVM — это просто!

Reading time4 min
Views612K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments75

[Личный опыт] Жизнь IT-инженера в Болгарии: недорого, спокойно и идеально для семей с детьми

Reading time7 min
Views42K

В последнее время мы много пишем про страны с околосоветским прошлым вроде Латвии или Польши. Есть еще одна такая интересная страна — Болгария. Там мягкий климат, родственный нашему язык, много русскоговорящих, а в последнее время еще и хорошие условия для работы в IT. Наш герой переехал туда в 2013 году и расскажет, что делает эту страну практически идеальной для жизни и как тут сейчас устроен IT-рынок.

Читать далее
Total votes 46: ↑41 and ↓5+36
Comments117

Тестирование конвейера релизов с помощью Fastlane

Reading time7 min
Views599

Пару недель назад я выступил с докладом о том, как обрести уверенность в процессе релиза, на Mobile Devops Summit, дистанционном мероприятии, организованном Bitrise. В конце концов, я подумал, что было бы неплохо написать статью с описанием специфики выступления и мотивов, стоящих за ним.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments1

Пишем умный поиск по коду с Open AI

Level of difficultyMedium
Reading time6 min
Views8.2K

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

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments3

Принципы проектирования SOLID

Reading time8 min
Views23K

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

Основная цель статьи - познакомить Вас с общими принципами SOLID и показать примеры на языке Python.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments19

Разработка Технического задания по ГОСТ 34 легко и просто

Reading time45 min
Views303K
Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государственном уровне, обобщен опыт сотен проектов автоматизации, сложных проектов. Неужели они могли написать чушь?

На самом деле, при грамотном подходе ГОСТ очень сильно помогает не только при разработке ТЗ, но и в ходе реализации проекта автоматизации в целом (и не только в госконтрактах, но и для коммерческой разработки). Грамотные люди его писали. Но чтобы воспользоваться плодами их трудов, нужно немного понять замысел не только ТЗ, но и ГОСТ 34 в целом.

В данной статье мы пункт за пунктом разберем все требования ГОСТа и попробуем сделать разработку ТЗ по ГОСТ 34 не обременением, а большой помощью в проекте.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments20

Применение расстояния Левенштейна с целью оптимизации работы склада

Reading time14 min
Views9.4K

Активно изучаем различные алгоритмы? Читаем про поиск k-ближайших соседей, задачу о рюкзаке, всякие алгоритмы сортировки, поиска и т. п.? А часто читаем примеры их практического внедрения на каком-нибудь предприятии? Такие истории встречаются реже, чем даже обзоры книг по этим же алгоритмам.

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

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

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

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments35

systemd: как писать юниты с элегантной перезагрузкой

Reading time20 min
Views21K

Разработка системы с элегантным завершением работы может оказаться той ещё пляской с бубном. В идеальном мире каждый сервис управлялся бы юнитом systemd. ExecStart запускала бы процесс, обрабатывающий SIGTERM, а ExecStop оповещало бы процесс и осуществляло блокировку, которая бы корректно завершала процесс и его ресурсы.


Однако многие программы завершаются некорректно, а то и вовсе сбивают все настройки при закрытии. В этой статье мы рассмотрим поведение systemd при завершении работы и методы написания юнитов systemd для выборочной очистки (custom cleanup) перед закрытием. Подробности — к старту нашего курса по DevOps.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments2

Наглядное руководство по SSH-туннелям

Reading time8 min
Views117K

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее
Total votes 75: ↑75 and ↓0+75
Comments17

API-First и микросервисы

Reading time15 min
Views20K

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments11

OUTLINE: как развернуть бесплатный аналог Notion на вашем сервере. Пошаговый туториал

Reading time7 min
Views30K

С российского рынка уже ушли многие ИТ-продукты, которыми мы привыкли пользоваться в рабочих целях. Сложно сказать, какой софт станет недоступен следующим — хочется найти замену заранее, чтобы не остаться без необходимых инструментов. Мы решили потестировать разные продукты и в первую очередь найти альтернативу Confluence или Notion: нужна была удобная база знаний, которая не зависит от внешнего мира и не скажет тебе в один момент «пока». В итоге мы определили интересный вариант, и в этом материале хотим поделиться пошаговой инструкцией по развертыванию стека на собственном сервере.

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments26

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

Reading time8 min
Views29K

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments22

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

Reading time6 min
Views14K

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

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments0

Написать Telegram клиент — легко

Reading time6 min
Views94K


Чем отличается Telegram от других популярных мессенджеров? Он — открытый!
Другие мессенджеры тоже имеют API, но почему-то именно телеграм известен как наиболее открытый из самых популярных?


Начнем с того, что у Telegram действительно полностью открытый клиентский
код. К сожалению, мы не видим комиты каждый день прямо на GitHub, но у нас есть код под открытой лицензией. Архитектура Telegram подразумевает, что и Bot и API имеет практически такие же методы — https://core.telegram.org/methods.


На самом деле, Telegram представляет не просто чат-мессенджер, а социальную платформу, доступ к которой открыт для разного рода приложений. Они могут предоставлять дополнительные фишки пользователям, взамен используя готовую сеть пользователей и сервера для доставки сообщений. Звучит настолько привлекательно, что нам захотелось попробовать написать своего "клиента" для Телеграм.

Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments11

Установка, настройка и эксплуатация стэка OpenSearch в классической среде

Reading time45 min
Views54K
image

Передо мной встала задача сбора логов с парка серверов на ОС Windows и ОС Linux. Для того чтобы решить её я воспользовался стэком OpenSearch. Во время настройки OpenSearch мне не хватало в открытых источниках наглядных примеров, а информация на официальных сайтах ElasticSearch и OpenSearch мне показалась обрывочной, слабо привязанной к реальным ситуациям. Поэтому я решил поделиться своим опытом и описать основные моменты установки и некоторые сценарии настройки и применения стэка OpenSearch, которые я применил в своей практике.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments15
1
23 ...

Information

Rating
Does not participate
Registered
Activity