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

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

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

Миграция виртуальных серверов в oVirt

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

Разрабатываем и применяем удобную схему для перевода серверов со старой инфраструктуры oVirt Engine 4.2 на новую — oVirt Engine 4.5. 

У нас в компании Hostkey возникла необходимость в переводе серверов со старой инфраструктуры oVirt Engine версии 4.2 на новую инфраструктуру oVirt Engine версии 4.5. Эта миграция не просто смена минорного релиза — изменилось очень многое:

• появились новые фичи и доработки в API;
• был осуществлен переход на EL8.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Использование slots | Python

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

Когда мы создаем объекты для классов, требуется память, а атрибут хранится в виде словаря (в dict). В случае, если нам нужно выделить тысячи объектов, это займет достаточно много места в памяти.

К счастью, есть выход — слоты, они обеспечивают специальный механизм уменьшения размера объектов. Это концепция оптимизации памяти на объектах. Также, использование слотов позволяет нам ускорить доступ к атрибутам.

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии11

Best Practices для Python

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

Лучшие практики в Python по моему мнению

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

В этой статье я расскажу о подобных негласных правилах, о своих наблюдениях в мире Python и о своих Best Practices.

Читать далее
Всего голосов 33: ↑27 и ↓6+24
Комментарии48

Введение в базы данных

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

Я решила написать эту статью, потому что именно такой статьи мне очень не хватало несколько лет назад, когда я только начала карьеру в аналитике данных. Тогда я часто слышала слова «база данных», «реляционная база», «primary key», примерно понимала, что они означают, но единую картину в голове у меня сложить не получалось.

Читать далее
Всего голосов 13: ↑9 и ↓4+7
Комментарии21

Разбираемся с Redis

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

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее
Всего голосов 46: ↑45 и ↓1+62
Комментарии7

Лучшие книги по Python 2021-2022 года: для новичков и профи

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

Привет, Хабр! Поговорим о книгах?

Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие. 

И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка  ― уже под катом.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии12

[В закладки] Как работает браузер

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

К старту курса по Fullstack-разработке на Python делимся лонгридом от ведущего программиста компании THG. Специалистам материал будет полезен в подготовке к собеседованиям, а новичкам поможет получить целостное представление о том, что происходит у браузера под капотом.

Читать далее
Всего голосов 16: ↑12 и ↓4+9
Комментарии1

Self-hosted EXPLAIN: наглядно и безопасно

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

С момента первой же хабрапубликации о возможностях нашего сервиса визуализации планов запросов PostgreSQL explain.tensor.ru (а было это уже больше 2 лет назад) пользователи задавали резонный вопрос: "Все у вас круто, но у нас в запросах и планах есть коммерческая инфа, которую отправлять куда-то наружу низзя... Можно как-то ваш сервис развернуть на своей площадке?"

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

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии9

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

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

Kubernetes (K8s) по праву считается отраслевым стандартом управления контейнерами, но это вовсе не значит, что решение подходит каждому типу бизнеса. Порог входа в K8s высок, а преимущества не всегда очевидны. Гораздо эффективнее может быть использование альтернативных оркестраторов. OpenShift, Nomad или Apache Mesos при помощи дополнительных утилит умеют многое из того, что предлагает K8s. Эти решения на порядок проще в освоении и настройке, пусть и не обладают таким активным сообществом. Тогда почему их нельзя использовать везде?
Читать дальше →
Всего голосов 30: ↑29 и ↓1+33
Комментарии33

Как сделать интересно: ещё раз о проблемах вузовского образования

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

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

Читать далее
Всего голосов 26: ↑23 и ↓3+30
Комментарии16

Взять и погрузиться в DevSecOps — книги, вебинар и другие ресурсы, которые помогут сделать это

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

Мы продолжаем рассказывать о полезных ресурсах для ИТ-специалистов. В прошлый раз составили подборку для системных администраторов, сегодня — для специалистов, занимающихся автоматизацией разработки безопасных приложений. В список попали тематические справочники, сборники историй с фейлами, курируемый репозиторий на GitHub и тематический вебинар, который пройдет 22 июня.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Лучшие Проекты Для Начинающих Python-Разработчиков

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

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

Можно сколько угодно упираться в сухую теорию, но без применения своих знаний на практике научиться программировать невозможно. В этой статье я подобрал несколько проектов для начинающих python-разработчиков. Эти проекты помогут закрепить теорию, применить полученные знания на практике и набить руку в написании кода. Некоторые из них даже можно добавить в будущее портфолио. Я объясню, чем хорош каждый проект, какие навыки и темы он позволяет проработать, а также сориентирую какие библиотеки и технологии можно использовать для его реализации.

Цель данного "топа" – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Читать далее
Всего голосов 26: ↑23 и ↓3+25
Комментарии43

Atlas: Путешествие Dropbox от монолита на Python до managed-платформы

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

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

Чтобы всегда радовать пользователей, сервис Dropbox должен быть надежным и отзывчивым. С самого начала нам, как компании, приходилось масштабироваться. Сегодня нашими услугами пользуются более 700 миллионов зарегистрированных пользователей со всех уголков планеты. В общей сложности они ежесекундно генерируют минимум 300 тыс. запросов. Увы, системы, отлично подходившие для стартапа, перестали справляться с возросшей нагрузкой. Возникла насущная потребность разработать новую модель для внутренних систем и, конечно, придумать способ перехода на нее без риска угробить основной продукт в процессе.

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

Читать далее
Всего голосов 25: ↑24 и ↓1+27
Комментарии0

Геймификация обучения в IT

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии5

Сказ о том, как мы Python-микросервисы для облака шаблонизировали

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

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

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

Меня зовут Олег Чуркин. Я больше 10 лет занимаюсь разработкой на Python и сейчас руковожу разработкой нового процессинга платежей в QIWI. Расскажу, как мы реализовали boilerplate-шаблон для сервисов — на примере небольшого стартапа внутри нашей большой компании.

Читать далее
Всего голосов 27: ↑26 и ↓1+33
Комментарии8

Оконные функции SQL простым языком с примерами

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

Привет всем!

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи))) 

Для примеров будем использовать небольшую таблицу, которая показывает оценки учеников по разным предметам. В БД табличка выглядит следующим образом

Читать далее
Всего голосов 49: ↑46 и ↓3+58
Комментарии16

Мигрируем БД в продакшене без даунтайма

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

В этой статье мы рассмотрим основные принципы миграции БД без даунтайма и дадим быстрые рецепты для наиболее распространенных случаев.

Читать далее
Всего голосов 49: ↑48 и ↓1+57
Комментарии51

Как избежать 10 частых ошибок в настройке NGINX

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


Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть даже у самих инженеров NGINX! В этой статье рассмотрим 10 наиболее распространенных ошибок и объясним как их исправить.


  1. Недостаточное количество файловых дескрипторов;
  2. Директива error_log off;
  3. Отсутствие keepalive-соединения с вышестоящими серверами;
  4. Упущение механизмов наследования директив;
  5. Директива proxy_buffering;
  6. Неправильное использование директивы if;
  7. Чрезмерные проверки работоспособности;
  8. Незащищенный доступ к метрикам;
  9. Использование ip_hash, когда весь трафик поступает из одного и того же блока /24 CIDR;
  10. Игнорирование преимуществ вышестоящих групп.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии3

Собеседование наоборот: Альфа-Банк, Иннотех, РТ Лабс, ALM Works, Simbirsoft

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

В марте на Хабр Карьере завершилась неделя фронтендеров. Карьерная неделя — это что-то вроде дня открытых дверей, который длится всю неделю. В этот раз в битве за сердца фронтендеров сошлись пять компаний: Альфа Банк,  РТ ЛабсALM Works, Иннотех и Simbirsoft

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии3

Пожалуйста, прекратите писать shell-скрипты

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

Когда вы автоматизируете какую-либо задачу, например, упаковываете свое приложение для Docker, то часто сталкиваетесь с написанием shell-скриптов. У вас может быть bash-скрипт для управления процессом упаковки и другой скрипт в качестве точки входа в контейнер. По мере возрастающей сложности при упаковке меняется и ваш shell-скрипт.

Все работает хорошо.

И вот однажды shell-скрипт совершает что-то совсем неправильное.

Тогда вы осознаете свою ошибку: bash, и вообще shell-скрипты, в основном, по умолчанию не работают. Если с самого начала не проявить особую осторожность, любой shell-скрипт достигнув определенного уровня сложности почти гарантированно будет глючным... а доработка функций корректности будет довольно затруднительна.

Читать далее
Всего голосов 94: ↑70 и ↓24+68
Комментарии251

Информация

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