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

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

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

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров192K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии177

Большие данные мертвы. Это нужно принять

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров72K

Уже более десяти лет тот факт, что люди с трудом извлекают из своих данных полезную информацию, сбрасывают на чересчур большой размер этих данных. «Объем собираемой информации слишком велик для ваших хилых систем», — такой нам ставили диагноз. А лекарство, соответственно, заключалось в том, чтобы купить какую‑нибудь новую причудливую технологию, которая сможет работать в больших масштабах. Конечно, после того, как целевая группа по Big Data покупала новые инструменты и мигрировала с устаревших систем, компании снова обнаруживали, что у них по‑прежнему возникают проблемы с пониманием своих данных.

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

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

А дальше будет и того интереснее.

Читать далее
Всего голосов 115: ↑110 и ↓5+140
Комментарии76

Приложение двенадцати факторов — The Twelve-Factor App

Время на прочтение22 мин
Количество просмотров70K
Уважаемые читатели! Представляю вашему вниманию перевод методологии создания веб-приложений The Twelve-Factor App от разработчиков платформы Heroku. Мои комментарии скрыты спойлерами по ходу статьи.

Введение


В наши дни программное обеспечение обычно распространяется в виде сервисов, называемых веб-приложения (web apps) или software-as-a-service (SaaS). Приложение двенадцати факторов — это методология для создания SaaS-приложений, которые:

  • Используют декларативный формат для описания процесса установки и настройки, что сводит к минимуму затраты времени и ресурсов для новых разработчиков, подключенных к проекту;
  • Имеют соглашение с операционной системой, предполагающее максимальную переносимость между средами выполнения;
  • Подходят для развертывания на современных облачных платформах, устраняя необходимость в серверах и системном администрировании;
  • Сводят к минимуму расхождения между средой разработки и средой выполнения, что позволяет использовать непрерывное развертывание (continuous deployment) для максимальной гибкости;
  • И могут масштабироваться без существенных изменений в инструментах, архитектуре и практике разработки.

Методология двенадцати факторов может быть применена для приложений, написанных на любом языке программирования, и которые используют любые комбинации сторонних служб (backing services) (базы данных, очереди сообщений, кэш-памяти, и т.д.).
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии5

Как настроить CI в мобильных приложениях

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

Приветствую! Меня зовут Алексей Денискин, я тимлид мобильной команды СберМаркета. В этой статье я на примере покажу, как организовать CI для мобильных приложений на Android и iOS. Я буду использовать GitLab CI, но описанный подход применим к большинству стандартных стеков.

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

Grafana OnCall — Open Source хаб для алертов и инцидентов

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

Привет, хабр! С удивлением обнаружил, что здесь нет ни одного упоминания Grafana OnCall, Incident Response Tool с открытым исходным кодом от Grafana Labs. И это нужно исправлять, ведь мы бурно растем как по звездочкам на гитхабе, так и как часть Grafana Cloud, а в issues на гитхабе, в основном, встречаются техлиды из FAANG.

Если кратко, OnCall — это инструмент, который поможет организовать надежные оповещения/реагирование на инциденты в команде, соблюдать SLA и не просыпаться ночью от звонков.

Что умеет и как поставить?
Всего голосов 36: ↑36 и ↓0+36
Комментарии15

Что читать DevOps-инженеру: 7 полезных книг

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

DevOps-инженеры знают, как сложно найти действительно познавательную литературу. В этой профессии очень важны постоянное самосовершенствование и изучение новых технологий. Книги помогают систематизировать знания и могут подсказать приемы, которые сделают работу эффективнее. В новой подборке от экспертов МойОфис мы советуем семь стоящих изданий. Подробности — под катом.

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

Load Average в Linux: разгадка тайны

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


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Комментарии25

Отслеживание сетевого трафика в Kubernetes: примеры кода и практические советы

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


Команда VK Cloud перевела статью об основных принципах работы сети в Kubernetes: как кластер принимает и отправляет пакеты начиная с исходного веб-запроса и до размещения приложения в контейнере.

Требования к сети в Kubernetes


Сначала давайте проясним требования к сети Kubernetes:

  • Под в кластере должен свободно взаимодействовать с любым другим подом без использования Network Address Translation (NAT).
  • Любая программа, работающая на узле кластера, должна взаимодействовать с любым подом на том же узле без использования NAT.
  • У каждого пода есть собственный IP-адрес (IP-per-Pod), и любой другой под может обратиться к нему по этому адресу.

Эти требования и ограничения описывают свойства сети кластера в целом и вынуждают отвечать на следующие вопросы: 

  1. Как убедиться, что контейнеры в одном и том же поде ведут себя как на одном хосте?
  2. Может ли под обращаться к другим подам в кластере?
  3. Может ли под обращаться к службам? Обрабатывают ли службы запросы о балансировке нагрузки?
  4. Может ли под получать трафик извне кластера?

В этой статье мы рассмотрим первые три пункта, начиная со взаимодействия на уровне подов и контейнеров.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии0

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

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

Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать".

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

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

Нагрузочное тестирование: что? где? когда?

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

После весны 2020 года слово “тестирование” приобрело некоторые неожиданные значения и неоднозначные коннотации — пожалуй, везде, кроме IT. В нашей сфере без него никуда — и так было всегда.

Видов тестирования ПО — множество: модульное, функциональное, А/В-тестирование, интеграционное, нагрузочное и т д. И на наш взгляд, как раз последнее является как самым важным, так и наиболее сложным. Ведь если ошибки, которые могут быть выявлены с помощью A/B-тестов, модульных, функциональных и интеграционных тестов, проявляются практически сразу после “выкатки” новой версии приложения, то проблемы, на выявление которых нацелено нагрузочное тестирование, — “спящие”. И обнаруживаются они только тогда, когда на новую версию вашего сайта или приложения придет реальный пользовательский трафик, с которым не справится “софтверная” часть проекта (база данных, application-сервер) или “железно-инфраструктурная” (нехватка оперативной памяти в кластере, большая нагрузка на дисковую подсистему при операциях чтения-записи).

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

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

Установка Jenkins используя Ansible и плагин Configuration as Code на виртуальной машине

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

Установка Jenkins используя Ansible и плагин Configuration as Code на виртуальной машине


Jenkins Configuration as Code (aka JCasC) призвана быть инструментом, который позволяет вам запускать свой Jenkins в парадигме Infrastructure as Code или инфраструктура как код (IaC).


Этот пост будет состоять из двух частей. Первая часть — быстрый запуск тестового примера. Вторая часть — подробное описание.

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

18 отборных однострочных команд Linux

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

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

Приступим!
Читать дальше →
Всего голосов 62: ↑42 и ↓20+37
Комментарии55

Как ускорить работу в командной оболочке Bash

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

Любому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.
Читать дальше →
Всего голосов 57: ↑51 и ↓6+65
Комментарии78

Куда уходит время? Боремся за миллисекунды в Kubernetes

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

Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервисов, то иногда можно наблюдать большую разницу в высоких квантилях: клиент считает, что один ответ из сотни ему приходит за сто миллисекунд, сервер же говорит, что успевает ответить за десять.

Куда ушло время? Можно ли его вернуть? Под катом расскажу о том, с какими граблями может столкнуться микросервис, живущий в типичной инсталляции Kubernetes.

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

Ansible: с чего начать и как не перейти на темную сторону

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

Николай Месропян, системный инженер Southbridge, подробно рассказал редакции Слёрма о шестилетнем опыте работы с Ansible. Что стоит за слоганом «Simple IT automation»? Почему нельзя остановить темное движение мысли специалиста? И насколько это ясно на старте работы с Ansible? Николай досконально «разложил» все плюсы инструмента на минусы и наоборот.  

Посмотреть раскладку
Всего голосов 21: ↑17 и ↓4+18
Комментарии3

Современный DevOps и Linux как ключевой элемент

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

Неизбежные изменения, которые произошли с DevOps с началом пандемии, стали поводом для обсуждений специалистами новых стандартов и требований в этой профессиональной сфере. Естественно, *instinctools в рамках своего проекта «Техпора»,  не могла пройти мимо этой горячей темы и собрала экспертов из разных компаний, чтобы поговорить о том, как изменилась работа специалистов в DevOps, какие появились новые требования к новичкам и их последующему росту. Прозвучавшие в дискуссии на YouTube высказывания экспертов мы собрали в этом тексте. 

Читать далее
Всего голосов 6: ↑1 и ↓5-3
Комментарии1

Сбор персональных данных пользователей в Европе и России: что нужно знать и к чему готовиться

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

Любая компания, деятельность которой связана со сбором, хранением и обработкой персональных данных (ПДн), должна соответствовать требованиям регуляторов. Это необходимо делать как в России, так и Европе, причем во втором случае компания столкнется с более жесткими штрафными санкциями в случае нарушений.

В РФ работа с ПДн должна соответствовать Федеральному закону "О персональных данных" N 152-ФЗ от 27 июля 2006 года, в Европе — GDPR, общему регламенту защиты личной информации пользователей. Под катом — описание процесса проведения аудита на соответствие ФЗ № 152 и GDPR, который выполнила компания ITGLOBAL.COM Security для сервиса аренды микромобильного транспорта Whoosh.

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

Архитектура Kubernetes – руководство для «чайников», 5 новых функций Podman, которые стоит попробовать…

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

... а также видео-тур по Ansible Automation Platform 2.0.

Новая порция инсайтов, гайдов, книжек и советов. Оставайтесь с нами – станьте частью DevNation!

Читать дальше: Архитектура Kubernetes...
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Как заставить Ansible работать быстрее – 8 советов по плейбукам

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

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

Читать дальше: Как заставить Ansible...
Всего голосов 13: ↑12 и ↓1+13
Комментарии16

Шард всемогущий: как масштабировать СУБД для highload системы

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

Весной 2021 года во французском Страсбурге случилось яркое событие: полностью сгорел дата-центр одного из крупнейших европейских хостинг-провайдеров (OVH). Всего за несколько часов пожар отрубил доступ к миллиону популярных сайтов и онлайн-сервисов во всём мире. Одна из вероятных причин — человеческий фактор. В результате под угрозой существования оказался не только сам ЦОД, но и весь бизнес провайдера. К слову, и в России ЦОДы тоже горят. К сожалению, пожар — не единственная проблема больших данных. Не менее опасно — highload системы. Это когда, например, приложение перестаёт справляться с моментальной нагрузкой, а вся инфраструктура работает на пределе возможностей, и запаса для роста у неё нет. Забегая вперед, скажу, что решение есть у каждой из перечисленных проблем. Но, обо всём по порядку.


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

Информация

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