Обновить
4
Сергей@Batkovi4read⁠-⁠only

программист

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

Как построить надёжную шину данных на Apache Kafka

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели25K

С помощью Apache Kafka мы в Авито гарантируем соблюдение контрактов публикуемых событий. Рассказываем, как мы переработали архитектуру и сделали работу с Kafka удобнее и надёжнее.

Мы можем пережить даже полный отказ дата-центра. Почему — тоже расскажем в этой статье.

Читать далее

Обучаем с помощью LlamaIndex и OpenAI GPT-3 отвечать по вашей базе знаний

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

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

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

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

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

Читать далее

Postgres: графовая база данных, о которой вы не подозревали

Время на прочтение4 мин
Охват и читатели24K

PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать дальше →

Как работает веб-браузер (с картинками)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели47K

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

Эта статья приоткроет завесу магии, скрывающуюся за кулисами веб-браузеров.

Давайте начнем!

Читать далее

Вкатываемся в ангельский без репетиторов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели20K

Привет, {{ username }}!

Добро пожаловать в очередную статью про изучение английского.

Постараюсь емко обобщить свой опыт самостоятельного изучении языка от A1 до B2 за 1-2 года. Информация релеванта для технарей 25+ лет, однако подойдет для широкого круга интересующихся.

Мнение автора субъективно. Представленные материалы, инструменты и best practices дадут вам базовое знание языка, однако не смогут подготовить к собеседованию, IELTS/TOEFL, чтению классической литературы и т.п.

Вкатиться

Знакомимся с архитектурой Apache Kafka

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели26K

- Вы работали с Кафкой?
- Нет, только читали.

За несколько десятилетий развития ИТ систем разработчики накопили огромный опыт хранения и обработки данных. Различные СУБД позволяют с помощью запросов извлекать нужные данные за определенный период и обрабатывать их так как необходимо. Однако, со временем увеличились вычислительные мощности серверов, пропускная способность каналов связи, и соответственно, возникла необходимость обрабатывать бОльшие объемы данных за единицу времени. И тут выяснилось, что при всем многообразии различных решений для хранения данных, отсутствуют решения для обработки непрерывных потоков больших объемов данных. Для решения этой проблемы стали появляться различные системы, такие как системы обмена сообщениями и агрегирования журналов. Но они не могли в полной мере обеспечить нужную производительность на больших, непрерывных потоках данных.

Для решения этой проблемы в LinkedIn решили создать нужное решение что называется с нуля. Разработчики решили отказаться от хранения больших объемов данных, как в реляционных базах данных, хранилищ пар «ключ/значение», поисковых индексов или кэшей, а рассматривать данные как непрерывно развивающийся и постоянно растущий поток и проектировать информационные системы и архитектуру данных — на этой основе. Так появилось решение Apache Kafka, которое изначально использовалось для обеспечения функционирования работающих в реальном масштабе времени приложений и потоков данных социальной сети. Но сейчас это решение используется во многих крупных компаниях. Посмотрим подробнее как оно устроено.

Читать далее

Как устроено индексирование баз данных

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели203K

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

Как написать первый автотест на Android-приложение

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели25K

Всем привет! Меня зовут Стас, и я Senior QA в компании inDrive и наставник на курсе «Инженер по тестированию» в Яндекс Практикуме. Ещё веду телеграм-канал «Тестировщики нужны».

Многие начинающие автоматизаторы задаются вопросом: «Как же написать свой первый автотест на мобильное приложение?». В данной статье я и хотел бы ответить на этот вопрос. На самом деле, статей на эту тему написано довольно большое количество. Подробно рассказывается применение паттерна PageObject в написании тестов и многое другое. Но наша с вами задача — написать наш первый простенький тест на экран авторизации на языке Java. Поэтому давайте решим эту задачу вместе!

Читать далее

RabbitMQ: терминология и базовые сущности

Время на прочтение8 мин
Охват и читатели155K

При работе с инструментом важно знать теоретические основы. Во-первых, вам будет значительно проще искать ответы на вопросы в Google и понимать официальную документацию. Во-вторых, при обращении в профильные чаты вы будете называть вещи своими именами, что позволит быстрее получить ответ (или вообще получить его: если ваши слова и термины будут непонятны другим, вряд ли они смогут ответить вопрос). 

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет понять терминологию и базовые сущности RabbitMQ.

Читать далее

Получил ВНЖ Цифрового Кочевника в Испании

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели14K

я Андрей Поснов, переехал из Москвы в Барселону с женой и собакой: въехал по туристической визе, получил студенческую, а как только появилась digital nomad visa, подался на нее. Я работаю инжиниринг-менеджером в американском стартапе удаленно и веду свой ютуб и телеграм каналы

Я получил сначала студ резиденцию а потом внж номада потому что раньше внж номада не было, а теперь можно въехать по шенгену и податься на внж цифрового кочевника

Читать далее

Полный гайд по собеседованиям в IT

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели45K

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

Тема собеседований полна загадок. Когда после учёбы идти на первый собес? Как написать резюме, которое не проигнорит HR? Можно ли откликаться на вакансию, для которой не хватает знаний?

Читать далее

Подготовка шаблона приложения на Typescript с Nest, Nuxt 3 и Docker

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

Решил описать свой подход построения окружения на Typescript с Nest на бекенде, Nuxt (SPA) на фронтенде. Все заворачивается в один docker‑образ и запускается как standalone приложение c nginx, healthcheck»ами, тестами и ш…широкой сферой применения.

Читать далее

Туториал по основам Apache Kafka: установка и работа с кластером из одного брокера

Время на прочтение14 мин
Охват и читатели109K

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

Читать далее

Clean Architecture, DDD, гексагональная архитектура. Разбираем на практике blog на Symfony

Уровень сложностиСредний
Время на прочтение91 мин
Охват и читатели136K

Всем привет! Давайте знакомиться ;) Я Аня, и я php разработчик. Основной стек - Magento. С недавних пор начала посматривать налево на Symfony и писать свои Pet Projects на этом фреймворке.

Мне всегда нравилось писать решения которые легко бы расширялись / адаптировались под требования бизнеса (заказчика). И мне всегда хотелось сделать это более 'правильно' и красиво. Так я и познакомилась с понятиями чистой архитектурой.

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

Для нетерпеливых, вот прямая ссылка на гитхаб

Читать далее

Гайд по эвент-сорсингу

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели27K

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

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

Читать

[Личный опыт] Как получить визу цифрового кочевника в Хорватии, почему это совсем не виза и какие возможности она дает

Время на прочтение11 мин
Охват и читатели29K

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

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

Читать далее

Отслеживание местоположения при наведении в SwiftUI

Время на прочтение3 мин
Охват и читатели1.3K

Какое-то время у нас был только модификатор onHover(perform:) в SwiftUI, который вызывается, когда пользователь перемещает указатель над рамкой view (представление, вью, вьюшка) или от неё. Раньше не было официального способа непрерывного отслеживания местоположения указателя. Это изменилось с введением onContinuousHover(coordinateSpace:perform:) в macOS 13 и iPadOS 16.

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

Читать далее

Live Text API в iOS 16 — сканирование данных с помощью камеры в SwiftUI

Время на прочтение7 мин
Охват и читатели1.7K

На WWDC22 Apple представила iOS и iPadOS разработчикам замечательные инструменты сканирования данных на основе Live Text, которые позволяют пользователям сканировать текст и QR-коды с помощью камеры, аналогично интерфейсу Live Text в приложении Camera.

В этой статье я сосредоточусь на новом API под названием DataScannerViewController и поделюсь своим опытом встраивания этого API в существующий код SwiftUI.

Читать далее

Разработка клиент-серверного приложения с помощью Next.js и TypeScript. Часть 2. Разработка клиента

Уровень сложностиСложный
Время на прочтение33 мин
Охват и читатели13K


Привет, друзья!


В этой серии из 2 статей-туториалов мы с вами продолжаем разрабатывать клиент-серверное (фуллстек — fullstack) приложение с помощью Next.js и TypeScript.



  1. Наше приложение будет представлять собой блог — относительно полноценную платформу для публикации, редактирования и удаления постов.
  2. Мы реализовали собственный сервис аутентификации на основе JSON Web Tokens и HTTP-куки.
  3. Данные пользователей и постов будут храниться в реляционной базе данных SQLite.

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


Обратите внимание: данный туториал рассчитан на разработчиков, которые имеют некоторый опыт работы с React и Node.js.


Для тех, кого интересует только код, вот соответствующий репозиторий.


Интересно? Тогда прошу под кат.

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

Фича-тогглы: инструкция по применению

Время на прочтение6 мин
Охват и читатели18K

Всем привет! Я Павел, тимлид команды SLA, и занимаюсь оценкой надёжности Авито. В своей прошлой статье я рассказал про стратегии ветвления и Trunk Based Development. Если не читали, переходите по ссылке. А сейчас я хочу рассказать про фича-флаги, которые появляются именно в контексте TBD.

Читать далее
1
23 ...

Информация

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