Базы данных и программирование
Базы данных и программирование
  • 159
  • 66 704
Задачи на собеседовании: SQL, Python, Go
Друзья, сегодня обновил свой старый сайт. На нём теперь актуальные задачи для собеседования (SQL, Python, Go). Разумеется, проект полностью бесплатный. Кстати, в этом году проекту исполнилось 20 лет.
Переглядів: 26

Відео

Как просто и быстро сохранить результат SQL-запроса в CSV?
Переглядів 54Місяць тому
Полезный пример исходного кода на Python, который сохраняет результаты SQL-запроса в удобном формате CSV. Далее вы сможете использовать удобные вам инструменты для визуального отображения данных (например: график, гистограмма) или для анализа собранной статистики.
Как в SQL найти различия между строками?
Переглядів 44Місяць тому
Напишем SQL-запрос, который показывает различия с предыдущий строкой. На мой взгляд, удобнее всего решить задачу с применением оконной функции. Для этого буду вычитать от текущего значения предыдущее. Обратите внимание, что следует явно указывать сортировку в оконной функции. Набор данных настоящий. Таблица разгона моего автомобиля в обычном режиме, то есть, с умеренной нагрузкой на двигатель и...
Что делать, если уже оптимизированный SQL-запрос медленно работает?
Переглядів 187Місяць тому
Предположим, что вам нужно ускорить API, который работает в режиме экстремальной нагрузки. При этом вам нельзя вносить изменения в базу данных. Как один из вариантов решения этой задачи - получать нужные данные только из кэша, который обновляется в фоновом режиме. Можно использовать управляемую деградацию, другими словами, не отображать соответствующий виджет при невозможности получить данные.
Красивое копирование таблиц в PostgreSQL
Переглядів 513 місяці тому
Задача начального уровня. PostgreSQL позволяет достаточно красивым и лаконичным способом создавать копии таблицы. Более того, мы можем выбирать только нужное подмножество. Допустим, что в целях снижения экстремальной нагрузки на СУБД я перенесу часто используемые данные в отдельную таблицу.
Что такое string_agg в PostgreSQL?
Переглядів 903 місяці тому
Задача начального уровня. Есть удобный способ собрать несколько значений в одном поле. Например, мы хотим создать таблицу, которая будет содержать год открытия станций метрополитена, а также список всех станций, открытых в соответствующем году. Почти все станции Калининской линии (от «Марксистская» до станции «Новогиреево») были открыты 30 декабря 1979 года.
Создание различных рейтингов
Переглядів 233 місяці тому
Задача начального уровня. По сути, рейтингом можно назвать вершину упорядоченного списка. Другими словами, для получения рейтинга нужно воспользоваться функцией сортировки и показать требуемое число объектов. Для примера посмотрим рейтинг самых глубоких станций одной из веток метрополитена города Москвы.
Как выглядит формула на разных языках программирования?
Переглядів 2743 місяці тому
Код написал на популярных языках программирования, которые я использую на работе или ранее использовал на предыдущих местах работы. Теперь к самой задаче. Пример будет банальный: закон Ома для участка цепи. Нам известна сила тока (current) и сопротивление (resistance), а мы хотим найти напряжение (voltage).
Анализ скорости запросов в PostgreSQL
Переглядів 1593 місяці тому
В продолжении предыдущего видео вторая часть эксперимента. На этот раз добавлена фильтрация по условию “больше, чем константа” и сортировка полученных результатов. Вначале запрос выполняется без индекса, а после повторяется с наличием индекса. По результатам нескольких проверок время составило примерно 605 ms без индекса, а после добавления индекса около 0.041 ms. Если посмотреть на план выполн...
Индексы в базах данных: полезные эксперименты
Переглядів 504 місяці тому
Прежде всего, необходимо уточнить, что мой рассказ не заменяет книг и статей про сбалансированные сильно ветвистые деревья (B-tree), а дополняет эти знания практическим примером. Теперь ближе к делу. Создам в PostgreSQL таблицу с очень простой структурой и напишу функцию для генерации случайных данных. Далее выполню запрос, который возвращает количество значений, соответствующих показанному усл...
SciPy: как посмотреть на звук?
Переглядів 284 місяці тому
Как выглядит гудок телефона? Прочитать звуковой файл можно с помощью разных программ, например, с помощью библиотеки для Python, которая называется SciPy (СайПай). Напишем код, который прочитает звуковой файл и покажет его фрагмент в виде графика.
Задача на SQL про делитель напряжения
Переглядів 334 місяці тому
Полезная и интересная задачка про резистивный делитель напряжения. Нужно написать на SQL запрос, который вычисляет напряжение на втором резисторе. Таблица содержит три столбца: входное напряжение, сопротивление первого и второго резисторов. Записываем показанную формулу прямо в запросе и получаем правильный ответ. Если интересно, то можете с помощью мультиметра проверить этот результат на реаль...
Создание и тестирование микросервисов
Переглядів 6896 місяців тому
На электронную почту поступил вопрос от зрителя моего канала. Он интересуется созданием и тестированием микросервисов на языке программирования Go. Вот об этом мы сегодня и поговорим. Но вначале скажу, что в моих видео нет никакой конфиденциальной информации или корпоративных секретов, так как все примеры данных и весь код написаны мной специально для видео.
Компьютерная диагностика автомобиля и гаджетов (загрузка данных)
Переглядів 317 місяців тому
В этом видео я кратко и просто расскажу про очень полезную возможность большинства осциллографов. Сразу уточню, что данный ролик рассчитан на начинающих специалистов и не содержит серьёзной технической информации. Ладно. Ближе к делу. Большинство осциллографов умеют сохранять информацию на карту памяти или передавать её через USB. Важно понять, что показания осциллографа - это просто массив дан...
Оптимизация микросервиса на Golang под экстремальную нагрузку
Переглядів 2857 місяців тому
Существует несколько способов оптимизации микросервиса на Golang под экстремальную нагрузку. Один из таких способов - это предварительная обработка данных и запись их в индекс. Такой способ очень часто используется в поисковых системах. Принцип работы будет следующий: индексатор обходит огромное количество ресурсов (запросы в базу данных и внешние API), а потом записывает результат в индекс. Ва...
Очень важные транзакции в базах данных
Переглядів 758 місяців тому
Очень важные транзакции в базах данных
Основы работы любой компьютерной сети
Переглядів 1168 місяців тому
Основы работы любой компьютерной сети
Автоматическое создание документации
Переглядів 1468 місяців тому
Автоматическое создание документации
Полезные функции на чистом Go
Переглядів 1239 місяців тому
Полезные функции на чистом Go
Проверка факта изменения текстов или файлов на Go и на SQL
Переглядів 819 місяців тому
Проверка факта изменения текстов или файлов на Go и на SQL
Самые основные требования к микросервисам
Переглядів 36910 місяців тому
Самые основные требования к микросервисам
SQL и принятие правильных решений
Переглядів 10310 місяців тому
SQL и принятие правильных решений
Системная архитектура: гигантская нагрузка на чтение
Переглядів 4710 місяців тому
Системная архитектура: гигантская нагрузка на чтение
Системная архитектура: гигантская нагрузка на запись
Переглядів 8810 місяців тому
Системная архитектура: гигантская нагрузка на запись
Как на Golang управлять внешним оборудованием?
Переглядів 23210 місяців тому
Как на Golang управлять внешним оборудованием?
Пишем на Golang свой Redis и Memcached
Переглядів 40510 місяців тому
Пишем на Golang свой Redis и Memcached
Машинное обучение на Golang
Переглядів 25510 місяців тому
Машинное обучение на Golang
Как улучшить полнотекстовый поиск?
Переглядів 7810 місяців тому
Как улучшить полнотекстовый поиск?
Что такое API Gateway?
Переглядів 30710 місяців тому
Что такое API Gateway?
Как генерировать данные в PostgreSQL?
Переглядів 32610 місяців тому
Как генерировать данные в PostgreSQL?

КОМЕНТАРІ

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 години тому

    Примеры кода: aik84from.github.io/

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 години тому

    Примеры кода: aik84from.github.io/

  • @kapik74
    @kapik74 8 годин тому

    Скажите пожалуйста, какие строки подразумеваются в вопросе "Как отобразить крайние строки?"

    • @alexandrkalinin4000
      @alexandrkalinin4000 6 годин тому

      Там есть вопросы: Как отобразить первые 10 строк? Как отобразить крайние 10 строк? Речь про показанный там Pandas DataFrame.

  • @alexandrkalinin4000
    @alexandrkalinin4000 8 годин тому

    Актуальная ссылка aik84from.github.io/ Дзен: dzen.ru/kalinin Telegram: t.me/aik_soft

  • @9285550
    @9285550 2 дні тому

    Без джина было бы столько же кода но минус зависимость.

  • @alexandrkalinin4000
    @alexandrkalinin4000 Місяць тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 Місяць тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 Місяць тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @ayselmammadova5284
    @ayselmammadova5284 3 місяці тому

    здравствуйте,вы можете мне помочь?

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @user-nn6dd2uu7n
    @user-nn6dd2uu7n 3 місяці тому

    Было бы интересно посмотреть видео про оптимизацию запросов SQL и разбор Планов запроса, где бы сравнили разные условия в запросе и как индекс влияет на производительность

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 3 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 4 місяці тому

    Примеры кода выложены в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 4 місяці тому

    Мой канал: t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 4 місяці тому

    Мой канал: t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @user-yx5mj6sm9t
    @user-yx5mj6sm9t 6 місяців тому

    А как потом запрос вызвать? Также select писать и он уже будет вызываться с индексом или отдельно индекс вызывать?

  • @alexandrkalinin4000
    @alexandrkalinin4000 6 місяців тому

    Продолжение ua-cam.com/video/nrizYU1aMk8/v-deo.html

  • @alexandrkalinin4000
    @alexandrkalinin4000 6 місяців тому

    Мой канал: t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @AlexandrSpirit
    @AlexandrSpirit 6 місяців тому

    Если я прикручиваю к апи брокер сообщений Kafka Апи реализовано на асинхронном фреймворке. Что бы понимать, к какому запросу был ответ/сообщение, я в апи генерирую message_id: uuid С RMQ понятно. создаёт канал типа "order" Сообщение подписываем order это сервис сервис прочитал. выполнил действие. пульнул ответ в канал API. ответ так же подписан message_id Или как вариант, создавать каждый раз канал с именем uuid.order, для отправки сообщения сервису order. А сервис api слушает канал uuid.api. в который должен прилететь ответ от сервиса order Вот как работать с Kafka и её топиками?

  • @alexandrkalinin4000
    @alexandrkalinin4000 7 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @Softovick
    @Softovick 7 місяців тому

    Что-то не сходится. В коде показан пример использования кэширования, а не индексации. При этом голосом рассказывают про индексатор, как в поисковых системах - а он вообще то выполняет несколько другую роль. В моем понимании озвучено сразу два разных подхода к оптимизации, причем они используются в разных пограничных случаях. И об этом ни слова.... Боюсь представить, что творится в голове джуна после таких объяснений :) Ну и классически, критикуя - предлагаю: Кэширование, кэш. Если характер получения данных выглядит как - взять часть данных из нескольких уже известных (важно!) источников, собрать их в кучу и эту кучу обработать и выдать - тогда используется кэширование. То есть - мы знаем что у нас есть несколько серверов, допустим с PostgreSQL, мы знаем названия таблиц, где хранятся нужные нам данные. Тогда для ускорения обработки таких данных добавляется обычно СУБД, которая может очень быстро по какому то ключу выдать данные. Обычно это БД в формате ключ-значение, к примеру Redis. Соответственно когда приходит запрос, это запрос обозначается как ключ и по нему запрашиваются данные в кеше, если там такой ключ есть - отдается сразу готовый ответ, не тратится время на запрос источников и обработку данных. Если же такого ключа нет, то происходит полноценны запрос источников, собирается ответ и на всякий случай сохраняется в кеше. Тогда при последующих таких же запросах - ответ уже есть, так и происходит оптимизация за счет кэширования. Индексы, индексирование, индексатор. Если характер получения данных выглядит так - есть запрос и заранее неизвестные (важно!) источники или их количество и/или качество, и надо найти среди этого разнообразия часть данных - то используют индексирование. В этом случае либо индексы заполняются при изменении данных, так работают например индексы в таблице SQL БД (процесс обычно называют - перестраиваются индексы), либо запускают фоновый процесс, который регулярно или постоянно опрашивает все доступные ресурсы, собирает это в какую то отдельную БД и уже из нее получаем данные. Но это не кеширование, это именно индекс - за счет особенностей реализации не тратится время на перебор всех данных и доходим до нужных данных значительно быстрее. Это не кеширование, потому что нет готовых данных, происходит именно поиск нужных данных, а не получение готовых. Это может сочетаться, к примеру кешированные данные отдаются быстрее за счет особого индексирования, а на данные, полученные индексатором можно применить сверху еще и кеширование. Как то так.

  • @alexandrkalinin4000
    @alexandrkalinin4000 7 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @chasubavil
    @chasubavil 8 місяців тому

    1:15 Так а интерфейс то зачем? Метод работает без него. В Го не приняты префиксы «I» и «get», это калька с Джавы.

    • @alexandrkalinin4000
      @alexandrkalinin4000 6 місяців тому

      Смотрите комментарий выше 👍

  • @alexandrkalinin4000
    @alexandrkalinin4000 8 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 8 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 8 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @shonash2651
    @shonash2651 8 місяців тому

    Автор респект за контент Очень лаконично и понятно возможно вам стоит поэсперементировать такой формат в Шортс

  • @googleadmin4749
    @googleadmin4749 8 місяців тому

    Гений, такое видео и нужно, ушел смотреть другие

  • @shonash2651
    @shonash2651 8 місяців тому

    Отличная дикция и приятный голос 👍

  • @alexandrkalinin4000
    @alexandrkalinin4000 9 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 9 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @user-ie3zj8rw5r
    @user-ie3zj8rw5r 10 місяців тому

    нет гарантий, что у вложенного элемента id>главного и наоборот. согласно правилам порядок строк на информацию не должен влиять

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Напишите в комментарии, на какую тему снять следующее видео? Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Напишите в комментарии, на какую тему снять следующее видео? Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Напишите в комментарии, на какую тему снять следующее видео? Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Напишите в комментарии, на какую тему снять следующее видео? Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @user-lh6xe3zi1t
    @user-lh6xe3zi1t 10 місяців тому

    Куйня!

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @SolomatinoO
    @SolomatinoO 10 місяців тому

    мда ппц ну ты и lol что означает 2 ноги and pussy

  • @alexandrkalinin4000
    @alexandrkalinin4000 10 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 11 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 11 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin

  • @alexandrkalinin4000
    @alexandrkalinin4000 11 місяців тому

    Примеры кода будут в t.me/aik_soft Копия блога: dzen.ru/kalinin