Как стать автором
Обновить
4
Карма
2.4
Рейтинг

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

  • Подписчики
  • Подписки
  • Публикации
  • Комментарии

Настройка PostgreSQL под Linux

Open source *PostgreSQL *Администрирование баз данных *
Tutorial

Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать высококвалифицированных администраторов, которые будут администрировать все эти open-source системы.

На наших бизнес-приложениях, использующих в качестве СУБД PostgreSQL, работают 70% крупнейших розничных сетей в Беларуси. Во всех из них одновременно работают от 500 до 1500 пользователей. В приложениях реализованы практически все основные процессы розничных сетей (демо, чтобы оценить сложность). Размер баз данных на данный момент составляет от 2 до 4ТБ. И все они работают практически со стандартными настройками PostgreSQL на одиночных серверах без какой-либо кластеризации. При этом даже в самых загруженных серверах есть еще значительный резерв по ресурсам для дальнейшего увеличения нагрузки без потребности в кластеризации.

Да, конечно же, многое зависит от запросов к СУБД, и несколькими кривыми запросами можно положить весь сервер. Однако, точно также можно положить и Oracle, и MSSQL. Да, платформа lsFusion, на которой написаны наши приложения, делает много различных оптимизаций запросов конкретно под PostgreSQL. Но вручную SQL-запросы можно оптимизировать еще лучше.

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

Читать далее
Всего голосов 44: ↑41 и ↓3 +38
Просмотры 9.5K
Комментарии 15

Performance review как инструмент для оценки результатов работы и развития сотрудников

Блог компании Miro Управление разработкой *Управление персоналом *Карьера в IT-индустрии IT-компании

Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.

Статья будет полезна, если вы задаётесь вопросами: 

•Как оценить вклад каждого сотрудника в результаты компании?
•Как сформировать понятные ожидания?
•Как оценить грейд сотрудника и понять, что ему нужно сделать, чтобы вырасти в компании?
•Как проводить оценку сотрудника, не перегружая этим процессом всех остальных?
•Как сделать процесс оценки прозрачным?

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 5.6K
Комментарии 13

Практические рекомендации по работе с Docker для Python-разработчиков

Блог компании Wunder Fund Разработка веб-сайтов *Python *
Перевод

Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.

Читать далее
Всего голосов 66: ↑65 и ↓1 +64
Просмотры 22K
Комментарии 8

Записки юного TeamLead: Рост и эффективность команды или как не забыть о себе

Управление разработкой *Управление проектами *Учебный процесс в IT Управление персоналом *Читальный зал

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

Но нет, не так хорошо ты выполняешь свою работу. Спринты не закрываются, таски льются рекой, два seniora объявили друг другу войну из PR, а менеджеры решили пойти войной на тебя, объявив тебя виновником всего этого беспорядка. И вот очередное утро, дейли, и после чашки кофе ты задаешь себе вопрос: "А эффективен ли я и моя команда?"

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 5.4K
Комментарии 4

Как автоматизировать развертывание баз данных с помощью Liquibase?

Блог компании OTUS SQL *Администрирование баз данных *
Перевод

Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.

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

1. Пайплайн Jenkins 

2. Shell-скриптов

Я не буду говорить ни об одном из этих двух способов, поскольку это не является темой данной статьи — только для того, чтобы все было просто и понятно.

Существует два способа записи наборов изменений в Liquibase, т.е. XML и SQL. Я выбрал SQL, чтобы избежать записи соответствующих изменений XML для каждого выполняемого нами обновления SQL. Таким образом, тот же SQL-файл, который мы пишем для разработки, используется для развертывания Liquibase.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.2K
Комментарии 3

VueUse — обязательная библиотека для Vue 3

Разработка веб-сайтов *JavaScript *VueJS *

Для тех, кто незнаком с этой библиотекой, советую попробовать, так она может де-факто стать стандартом для использования в проектах на Vue 3, как, например, в свое время была библиотека lodash для почти любых проектов на js.

Остальные наверное уже успели заценить весь обширный функционал, который она предоставляет. Некоторые уже использовали ее на Vue 2, но далеко не все новые функции поддерживают старую версию. Арсенал библиотеки впечатляет, тут и простые утилиты вроде клика вне элемента, и различные интеграции с Firebase, Axios, Cookies, QR, локальным хранилищем, браузером, RxJS, анимации, геолокации, расширения для стандартных Vue-хуков, медиа-плеер и многое другое. Среди спонсоров отмечен сам Эван Ю, что как бы намекает. Библиотека регулярно получает обновления, баги закрываются, а сообщество растет. В общем у нее есть все для успеха.

Update: Исправлен баг очистки предыдущей истории изменений.
Update 2: Добавлен более актуальной код примеров.

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Просмотры 7.6K
Комментарии 17

Лучшие экспериментальные протоколы для исследования реального мира

Блог компании SkillFactory Тестирование IT-систем *Машинное обучение *Читальный зал Робототехника
Перевод

Золотым стандартом исследований в области машинного обучения служит «последовательная» модель эксперимента: у вас есть базовый уровень, ваш эксперимент и фиксированный, заранее определённый набор тестов. Вы оцениваете свой базовый уровень на наборе тестов, получаете базовое значение. Затем вы выполняете свой эксперимент на наборе тестов и получаете другое значение. Затем вы сравниваете эти два результата. Допустим, вы публикуете все эти артефакты и предположительно любой может воспроизвести данные результаты. Это пример хорошей науки. Но я люблю невоспроизводимые исследования.

И вот почему
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.5K
Комментарии 0

Traefik, docker и docker registry

*nix *DevOps *
Tutorial

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 9K
Комментарии 14

Docker для самых маленьких автоматизаторов

Блог компании Maxilect Тестирование IT-систем *Тестирование веб-сервисов *Тестирование мобильных приложений *DevOps *

Привет, меня зовут Руслан, я руковожу тестированием в Максилекте. Сегодня поговорим о базовых понятиях Devops, которые пригодятся автоматизатору. Расскажу про CI/CD в целом - что это такое и для чего оно нужно, а также про Docker. Объясню на пальцах, как развернуть тестируемый сервис в Docker-контейнере и пробросить к нему порты, как запустить тесты снаружи или внутри контейнера.

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 15K
Комментарии 7

Компилируем математические выражения

Программирование *.NET *Алгоритмы *C# *Математика *

Хочу рассказать свою реализацию компиляции математических выражений. Будем компилировать в функцию от произвольных аргументов. В планах:

1. Арифметические операции, тригонометрия, и другие численные функции.

2. Булева алгебра (логика), логические операторы (и, или, и т. д.), а так же знаки сравнения.

3. Произвольные типы в качестве входных, выходных, и промежуточных.

Приятного чтения!

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 5.2K
Комментарии 25

Стратегии выплаты технического долга

Блог компании QIWI Программирование *Управление разработкой *Управление персоналом *DevOps *
Перевод
image

Технический долг: он есть у всех, и каждый достойный своего звания разработчик хочет его выплатить, но как же организовать этот процесс?

Реализуем севооборот


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

Эта метафора остаётся подходящей и для разработки ПО; кроме того, она содержит в себе намёки на возможные стратегии, которые можно использовать для выплаты технического долга.

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

В рамках этой статьи мы будем предполагать, что вы работаете в методологии agile-разработки, однако многие принципы при условии творческой переработки применимы и к другим методологиям.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 4.3K
Комментарии 1

Код ревью: как быть хорошим автором

Блог компании Joom Программирование *Совершенный код *Управление разработкой *
Tutorial

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

Читать далее
Всего голосов 40: ↑38 и ↓2 +36
Просмотры 11K
Комментарии 36

Что тимлиду спросить о компании на собеседовании

Управление разработкой *Управление персоналом *
Tutorial

По мотивам своих собеседований, а также собеседований коллег и mentee, составил список вопросов от тимлида к компании, что стоит прояснить на собеседовании — что спросить собеседующего.

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

Каковы финансовые показатели компании?

Является ли компания прибыльной или тратит деньги инвесторов? Или даже до инвесторов ещё не дошло, и основатели пока платят из своего кармана? Как выглядит бизнесовый план развития?

Если компания имеет представительство в РФ, официальное ли (по ТК РФ) трудоустройство и полностью ли "белая" зарплата?

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

Расскажите про ваше понимание «хорошего тимлида»

У собеседника должно быть четкое и непротиворечивое понимание, что он вкладывает в понятие «тимлид» и какие критерии используются для оценки работы тимлида.

Возможно, это понимание даже прописано в должностных инструкциях.

Где-то тимлид должен быть разработчиком (то есть, писать код) с минимальной общественной нагрузкой, где-то руководителем, где-то пытаться совместить.

Читать далее
Всего голосов 44: ↑40 и ↓4 +36
Просмотры 17K
Комментарии 87

Чек-лист тестирования WEB приложений

Тестирование веб-сервисов *
Привет! После публикации статьи «Чек-лист тестирования мобильных приложений», поступило большое количество сообщений про такой же чек-лист, только для WEB приложений. Чтобы ответить на этот вопрос была подготовлена универсальная шпаргалка, которую можно использовать при тестировании практически любого WEB приложения.


Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 58K
Комментарии 9

BPMN простым языком

Блог компании OTUS Управление проектами *Бизнес-модели

Данный цикл статей предназначен для всех, кто собирается приступить к созданию моделей с использованием BPMN.

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

Зачем люди моделируют бизнес-процессы
Всего голосов 23: ↑12 и ↓11 +1
Просмотры 5K
Комментарии 4

5 диаграмм, необходимых для документирования архитектуры решений

Блог компании EPAM Подготовка технической документации *
Перевод

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

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 20K
Комментарии 2

Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

JavaScript *Node.JS *API *Визуализация данных Финансы в IT

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.

Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели. 

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

Облигации как замена вклада в 2021 году
Всего голосов 60: ↑59 и ↓1 +58
Просмотры 29K
Комментарии 65

Разбираемся с middleware в ASP.NET Core

Блог компании OTUS Программирование *.NET *ASP *C# *
Перевод

Этой статья раскрывает концепции Middleware в ASP.NET Core. К концу этой статьи вы получите четкое представление о следующих моментах:

- Что такое Middleware?

- Почему порядок расположения Middleware имеет значение?

- Методы Run, Use и Map.

- Как создать собственное Middleware?

- Как реализовать просмотр каталогов с помощью Middleware?

Приступить к прочтению!
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 23K
Комментарии 6

Введение в Traefik 2.0

DevOps *
Из песочницы
🔥 Технотекст 2020
Tutorial

Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями.


Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо серверам/сервисам внутренней сети (например веб-сервера, БД или файловые хранилища) и позволяет:


  • обеспечить сокрытие структуры внутренней сети и подробностей о находящейся в ней сервисах;
  • осуществлять балансировку нагрузки (load balancing) между экземплярами одного и того же сервиса или серверами с одинаковыми задачами;
  • обеспечить зашифрованное (HTTPS) соединение между клиентом и любым сервисом, в таком случае SSL сессия создается между клиентом и прокси, а между прокси и сервисом во внутренней сети устанавливается незашифрованное HTTP соединение, если сервис поддерживает HTTPS то можно организовать зашифрованное соединение и во внутренней сети;
  • организовать контроль доступа к сервисам (аутентификацию клиента), а также установить файрвол (брандмауэр).

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


image

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 47K
Комментарии 29

Code review в Gitlab CE: если Merge request approvals нет, но очень хочется

Программирование *Git *Системы управления версиями *Управление разработкой *DevOps *


Одной из самых нужных функций, которой нет в бесплатной версии GitLab, является возможность голосования против обнуления репозитория контролировать Merge request (MR), используя обязательный code review.

Сделаем минимальный функционал сами — запретим Merge, пока несколько разработчиков не поставят «палец вверх» на MR.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 12K
Комментарии 41
1

Информация

В рейтинге
937-й
Зарегистрирован
Активность