Привет! Меня зовут Пётр, я менеджер по отказоустойчивости в QIWI. В этом посте мы поговорим про выбор новых классов продуктов. Как-то раз мы с одним разработчиком из другой компании стали обсуждать, почему бы не выбрать для работы какую-то распределенную СУБД, поддерживающую SQL? Из этой дискуссии родился мой доклад для нашей QIWI Server Party. Представляю вам его текстовую версию.
.NET / Rust Developer
Вырываемся в top10. Бот для игры в телеграме
Вырываемся в top10. Бот для игры в Telegram
Предыстория
Все началось с того, что мне прислали ссылку на бота в Telegram с предложением поиграть.
Выглядит он примерно так.
После моей первой игры я заработал 28 балов, не сильно впечатляющий результат. Значит нужно всего ничего — программа, которая находит слова из букв исходного слова и база существительных русских слов.
Поехали
Для базы решил использовать sqlite3, он мобильный и для этой задачи самое то.
Структура базы выглядит так.
CREATE TABLE IF NOT EXISTS words (
word VARCHAR(225) UNIQUE NOT NULL,
length INTEGER NOT NULL
);
- word — из название понятно, что это хранимое буквенное значение слова.
- length — символьная длина.
Структура есть, для ее заполнения воспользовался списком существительных русских слов.
Заполнение базы и поиск слов было решено реализовать в одном коде, обработку разделить флагами.
Так же само создание файла базы и создание таблицы реализовываются в init()
func init() {
var err error
connection, err = sql.Open("sqlite3", "./words.db")
if err != nil {
log.Fatalf("Failed connection: %v", err)
}
_, err = connection.Exec(`CREATE TABLE IF NOT EXISTS words (word VARCHAR(225) UNIQUE NOT NULL, length INTEGER NOT NULL);`)
if err != nil {
log.Fatalf("Failed create database table words: %v", err)
}
}
Highload++: Как помочь ERP-системе справиться с 500 000 запросов в секунду
Контейнерно-ориентированное интеграционное тестирование
Создадим интеграционные BDD-тесты (behavior-driven development – разработка через поведение) с помощью Cucumber, Protractor и Selenium и выполним их на платформе OpenShift, используя Zalenium.
Octopus Deploy. Улучшаем мир в кровавом энтерпрайзе
Сегодня я хочу рассказать о системе деплоя Octopus Deploy. На данный момент на Хабре есть всего одна вводная статья на эту тему, поэтому в своем материале я хочу расширить описание системы, подробнее рассказать о таких важных понятиях как «жизненные циклы» (lifecycles) и «каналы» (channels), а также о том, как мы внедрили и используем Octopus в своей работе.
Оптимизация веб-серверов для повышения пропускной способности и уменьшения задержки
Привет! Меня зовут Макс Матюхин, я работаю в SRV-команде Badoo. Мы в Badoo не только активно пишем посты в свой блог, но и внимательно читаем блоги наших коллег из других компаний. Недавно ребята из Dropbox опубликовали шикарный пост о различных способах оптимизации серверных приложений: начиная с железа и заканчивая уровнем приложения. Его автор – Алексей Иванов – дал огромное количество советов и ссылок на дополнительные источники информации. К сожалению, у Dropbox нет блога на Хабре, поэтому я решил перевести этот пост для наших читателей.
Как пропатчить K̶D̶E̶ TCP-стек под FreeBSD
Хайлайтинг больших текстовых полей в ElasticSearch
В декабре 2016 года мы с товарищем начали заниматься новым проектом — системой сбора-индексации-поиска по документам. Система построена вокруг ElasticSearch (далее — ES), который мы используем как основной движок для полнотекстового поиска.
Ценными данными, приобретенными в ходе работы над проектом мы бы хотели поделиться с читателями в цикле статей про ES. Начнём с основы любого поисковика — подсветки результатов поиска (далее — хайлайтинг).
Правильная подсветка результатов поиска едва ли не самый важный критерий эффективности поисковой системы для пользователя. Во-первых, видна логика включения документа в результаты поиска, а во-вторых, подсветка блока найденного текста даёт возможность быстро оценить контекст найденного попадания.
Одним из ключевых требований к нашей поисковой системе была возможность быстро и эффективно работать с большими файлами (более 100 Мб). В статье мы расскажем как добиться высокой производительности от ES при хайлайтинге больших полей документа.
На скриншоте ниже показано как работает подсветка результатов поиска в нашем проекте.
Тестируем сервер Fujitsu PRIMERGY RX2530 M2
История моего стартапа: 500000 пользователей за 5 дней на стодолларовом сервере
ASP.NET MVC, WebApi, SignalR и UnityContainer
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity