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

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

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

Базы данных: большой обзор типов и подходов. Доклад Яндекса

Время на прочтение28 мин
Количество просмотров79K
Это конспект лекции Татьяны Денисовой tdenisova — бэкенд-разработчика в Яндекс.Учебнике. Вы узнаете, какие бывают базы данных, какие их особенности важно помнить, как в работе с данными учитывать характеристики системы и планы масштабирования, в какую из тем нужно углубиться для решения конкретной задачи. А также как при возникновении багов определить, является ли работа с БД источником проблемы (и если да, то в какую сторону копать).



— О чем именно мы будем говорить? Не о примитивных селектах и джойнах — о них, я думаю, большинство из вас уже знает.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии15

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

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


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Всего голосов 262: ↑220 и ↓42+178
Комментарии257

Python: Работа с базой данных, часть 1/2: Используем DB-API

Время на прочтение6 мин
Количество просмотров520K
часть 1/2: Используем DB-API часть 2/2: Используем ORM
Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

В статье рассмотрены основные методы DB-API, позволяющие полноценно работать с базой данных. Полный список можете найти по ссылкам в конец статьи.

Требуемый уровень подготовки: базовое понимание синтаксиса SQL и Python.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии38

Можно ли писать скрипты на C++?

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

Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет?
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии73

Простое обнаружение проблем производительности в PostgreSQL

Время на прочтение5 мин
Количество просмотров54K
Существует ли в мире очень большая и крупная база данных, которая время от времени не страдает от проблем с производительностью? Держу пари, что их не так уж много. Поэтому каждый DBA (администратор базы данных), отвечающий за PostgreSQL, должен знать, как отслеживать потенциальные проблемы производительности, чтобы выяснить, что на самом деле происходит.

Повышение производительности PostgreSQL после настройки параметров


Многие думают, что изменение параметров в postgresql.conf — это реальный путь к успеху. Однако это не всегда так. Конечно, чаще всего хорошие параметры конфигурации базы данных очень полезны. Тем не менее, во многих случаях реальные проблемы будут возникать из-за странного запроса, скрытого глубоко в некоторой логике приложения. Даже вполне вероятно, что запросы, вызывающие реальные проблемы, не являются теми, на которые вы обратили внимание. Возникает естественный вопрос: как мы можем отследить эти запросы и выяснить, что на самом деле происходит? Мой любимый инструмент для этого — pg_stat_statements, который всегда должен быть включен по моему мнению, если вы используете PostgreSQL 9.2 или выше (пожалуйста, не используйте его в более старых версиях).
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии6

Базовые команды Linux для тестировщиков и не только

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

Предисловие


Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
Читать дальше →
Всего голосов 75: ↑63 и ↓12+51
Комментарии50

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть вторая

Время на прочтение7 мин
Количество просмотров5.8K
Первая часть — здесь.



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

Чаще всего все старые наработки подвергаются забвению и всё начинается сначала. В чужом коде копаться никто не любит, а при наличии времени почему бы не заняться созданием собственной системы? Это типичный подход, и он во многом правильный. Но в своём проекте мы поступили не так. В основу будущей системы автоматического тестирования мы заложили наработки по unit-тестам на utPLSQL от предшественников, а затем пошли работать в нескольких параллельных направлениях.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии5

Собираем InnoDB cluster из mysql 5.7 на centos 7

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

Как-то раз появилась по работе задача — есть вроде бы настроенный тестовый innoDB cluster на нескольких виртуалках с centos 7.5, надо его поизучать и добавить еще пару нод. Можно ломать и издеваться как угодно. Звучит заманчиво.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии13

Постгресовая стата без нервов и напрягов

Время на прочтение3 мин
Количество просмотров13K
Пару-тройку лет назад, разбираясь с очередной проблемой в производительности постгреса, мне надо было покопаться в постгресовой статистике. Копаясь во вьюхах и функциях я поймал себя на мысли что работать с тем что есть по дефолту, довольно не удобно.

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

В тот же раз, мне нужно было не просто так разово посмотреть на какую-то стату, мне нужно было отслеживать её изменение. Не помню что это было точно, возможно надо было смотреть на изменение лага репликации, или с какой частотой вызывался какой-то конкретный запрос…
Так вот, поймав себя на мысли что мне мне хватает инструмента я начал поиски утилит под свою задачу, но увы, не нашел ничего того что мне бы зашло. Так появился pgCenter.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии19

Вышла Oracle Database 18c XE

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

Oracle Database XE Logo
Свершилось! Можно открывать шампанское и закатывать вечеринку — спустя более, чем 7 лет с момента выпуска предыдущего релиза, для скачивания наконец доступна свежайшая Oracle Database 18c XE. Пока только для Linux x64, но версии для других платформ, также как и Docker и Vagrant образы обещают появиться совсем скоро.



Для тех, кто не в курсе, Oracle Database XE или Express Edition — это бесплатная редакция одной из самых мощных реляционных СУБД. Традиционно этот тип редакции обладал минимальным доступным функционалом, определенными ограничениями на используемые ресурсы, и малым размером дистрибутива. Тем не менее, даже эта версия СУБД всегда пользовалась большой популярностью среди тех, кто только познаёт возможности этой СУБД, небольших компаний, которых на данный момент устраивают все ограничения и они хотят оценить технологию и среди простых энтузиастов как мы с вами.


Новая же, 18-ая версия XE открывает просто небывалый простор для использования данной СУБД, так как в этот раз компания Oracle сменила тактику, и вместо предоставления минимального функционала, включила в эту редакцию практически все самые популярные опции самой дорогой и функциональной редакции Enterprise Edition. Но по-прежнему с ограничениями по используемым ресурсам.

Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии28

Не потерять себя: новый метод диагностики деменции

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


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

Сегодня мы поговорим об исследовании нового метода диагностики деменции с использованием машинного обучения, визуального/звукового анализа и виртуального собеседника-диагноста. Насколько эффективен этот метод и какие, ранее неизвестные, симптомы он обнаружил мы узнаем из доклада ученых. Поехали.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии10

Книга «Основы Microsoft Azure»

Время на прочтение17 мин
Количество просмотров16K
В этой книге приводится наиболее важная информация о ключевых службах платформы Azure для разработчиков и ИТ-специалистов без опыта работы с облачными технологиями. Приведены подробные пошаговые инструкции, которые помогут читателю изучить основы работы со всеми важными службами.

Материал будет полезен не только для начинающих освоение Azure, но и для специалистов, которым требуется восстановить материал в памяти, а также для людей, знакомых лишь с некоторыми из рассматриваемых тем. Главы книги являются независимыми: чтобы понять содержимое какой-либо главы, изучать примеры из предыдущих глав не требуется.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Разбираем популярный миф: «Вещество на 99% состоит из пустоты»

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

При обсуждении строения атома и вещества часто можно прочитать, что вещество на 99.99…% состоит из пустоты, с разными версиями количества девяток. Как мы сейчас увидим, это утверждение имеет весьма шаткие основания, а попытки оценить долю пустоты в веществе могут с одинаковым успехом дать любое число от 0 до 100%. Последовательное же рассмотрение вопроса в рамках квантовой механики показывает, что от пустоты вещество отличается довольно сильно.
Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии354

А нам все «вертикально» — СУБД Vertica

Время на прочтение8 мин
Количество просмотров47K
Привет! Меня зовут Сергей, я работаю главным инженером в Сбертехе. В ИТ-сфере я примерно 10 лет, из которых 6 занимаюсь базами данных, ETL-процессами, DWH и всем, что связано с данными. В этом материале я расскажу о Vertica — аналитической и по-настоящему колоночной СУБД, которая эффективно сжимает, хранит, быстро отдает данные и отлично подходит в качестве big data решения.


Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии15

Обзор систем мониторинга серверов. Заменяем munin на…

Время на прочтение9 мин
Количество просмотров183K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


Читать дальше →
Всего голосов 79: ↑76 и ↓3+73
Комментарии111

Информация

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