Pull to refresh
10
0
Send message

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

Level of difficulty Easy
Reading time 8 min
Views 182K

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

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

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

Читать далее
Total votes 191: ↑184 and ↓7 +177
Comments 177

Какие кабели можно встретить в стойке дата-центра?

Reading time 12 min
Views 25K

Приступая к работе в ЦОД, можно легко запутаться в различных типах кабелей, которые используются для соединения и подключения сетевых устройств и серверов. Некоторые из них распространены и в повседневной жизни, а потому хорошо узнаваемы – Ethernet-кабели (с коннекторами RJ-45) и кабели питания (например, с распространенными вилками C13). Но другие, такие как оптические кабели с коннекторами стандарта SFP, LC, SC, силовые с вилкой типа IEC-309 и т. д., известны не так широко.

Если вы проводите какие-либо работы непосредственно в стойке, любая ошибка может стоить дорого – нажата не та кнопка, и клиенты уже в дауне, а любимые и глубоко уважаемые специалисты техподдержки шлют вам тикеты счастья. Даже Uptime Institute в своем исследовании 2021 года отмечает, что в 79% случаев причиной падения серверов в ЦОДах является человеческий фактор.  Всё надо делать вовремя – и нажимать кнопки, и менять комплектующие, и переключать кабели… 

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

Этот материал как раз об этом. 

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

Читать далее
Total votes 40: ↑38 and ↓2 +36
Comments 26

Упрощаем мониторинг и управление контейнерами Docker при помощи инструментов CLI

Reading time 6 min
Views 11K

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

В этой статье мы сосредоточимся на некоторых простых и эффективных инструментах CLI, которые помогут вам контролировать и управлять контейнерами Docker.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 0

Знакомимся с программированием на ассемблере x86

Reading time 17 min
Views 43K

Архитектура x86 лежит в сердце процессоров, на которых уже более трех десятилетий работают наши домашние компьютеры и удаленные серверы. Умение читать и писать код на низкоуровневом языке ассемблера – это очень весомый навык. Он позволяет создавать более быстрый код, использовать недоступные в Си возможности машин и выполнять реверс-инжиниринг скомпилированного кода.
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 15

Инструменты OSINT: Социальные сети

Reading time 3 min
Views 26K
image

Privacy — это когда все знают кто ты, но не знают конкретно, что ты сейчас делаешь.
Anonymity — это когда никто не знает кто ты, но видят твои действия.

В последнее время возрастает мощь инструментов для разведки на основе открытых данных, особенно на основе тех данных, которыми люди (опрометчиво) добровольно делятся в соцсетях и мессенджерах.

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

Search4Faces


Search4faces — сервис поиска людей в интернете по фотографии. Нейросетка находит нужного человека или очень на него похожего в течение нескольких секунд. Результатом является ссылка на профиль найденного человека в социальной сети vk.com или ok.ru, tiktok, clubhouse, instagram.com.

На текущий момент частично или полностью собраны 4 базы данных: аватарки Вконтакте и Одноклассники (всего лиц в базе: 280,781,743), фотографии профиля Вконтакте (всего лиц в базе: 1,109,563,766), аватарки пользователей Tiktok (всего лиц в базе: 125,443,334 ), аватарки Инстаграм (всего лиц в базе: 6,561,234), аватарки пользователей ClubHouse (всего лиц в базе: 4,594,014).
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Comments 19

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time 14 min
Views 1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →
Total votes 234: ↑231 and ↓3 +228
Comments 138

Хороший Wi-Fi для предприятия: от А до Я

Reading time 11 min
Views 22K

В продолжение двух статей про ЛВС, сегодня поговорим о том, как сделать хороший Wi-Fi для предприятия.

1. Разберем общие вопросы (от юридических моментов до выбора технологий);

2. Кратко и емко пройдемся по вопросам моделирования Wi-Fi;

3. Обсудим настройку сети Wi-Fi (мощность, выбор каналов, роуминг, WMM, Beamforming);

4. Разберем основные ошибки при проведении радио замеров;

5. Проведем эксперимент с микроволновкой на кухне.

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 6

Как мы оптимизировали сетевой шейпер Linux в облаке с помощью eBPF

Reading time 18 min
Views 14K

Меня зовут Леонид Талалаев, я занимаюсь разработкой внутреннего облака Одноклассников one-cloud, про которое уже рассказывали на Хабре. 

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

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

Для управления сетевым трафиком до недавнего времени мы использовали решение на основе дисциплины Hierarchical Fair Service Queue из Linux Traffic Control. Сегодня пойдет речь про проблему масштабирования в Linux Traffic Control, известную как root qdisc locking. И про то, как нам удалось ее решить, переделав управление сетевым трафиком с использованием eBPF.

Читать далее
Total votes 50: ↑50 and ↓0 +50
Comments 18

Funkwhale: наконец-то нормальный децентрализованный музыкальный сервис

Reading time 4 min
Views 13K


Grooveshark уже пять лет как закрыт. За это время появились десятки проектов поменьше с той же идеей — но на базе децентрализованных сетей. Проблема Grooveshark была в его централизации, которая позволила правообладателям завалить компанию исками, в итоге потопившими её. С тех пор любая музыкальная платформа с пользовательским контентом обязательно включает в слоганы «децентрализацию», «peer-to-peer», «криптографию» и конечно, блокчейн. У всех общие проблемы: несмотря на использование федеративных сетей и модных протоколов, всё управление стартапом сосредоточено в одном офисе. Пока платформа слишком мала чтобы её заметили, она слабо развивается. Стоит ей дорасти до более-менее крупной пользовательской базы, и через несколько месяцев она тонет под напором DMCA и судебных исков.
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 14

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

Reading time 26 min
Views 12K

Продолжаем серию статей про BPF — универсальную виртуальную машину ядра Linux — и в этом выпуске расскажем о том, какие типы программ BPF существуют, и как они используются в реальном мире капиталистического чистогана. Кроме этого, в конце статьи приведено некоторое количество ссылок, в частности, на две с половиной существующие книжки про BPF.


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


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 8

Бэкап VM ESXi средствами Bareos

Reading time 14 min
Views 17K


Продолжаем серию публикаций о возможностях бэкапирования с помощью Bareos. В этой статье пойдет речь о резервном копировании VM ESXi средствами Bareos.

Предыдущие посты: «Бэкап с помощью Open Source решения — Bareos»

Для резервного копирования виртуальных машин VMware ESXi зачастую применяют такие средства как Veeam или же скрипт ghettovcb. В этой статье мы рассмотрим способ резервного копирования виртуальной машины средствами Bareos 16.2, а именно будем использовать один из плагинов позволяющего расширить функционал Bareos — vmware-plugin. В 16-й версии изменено расположение конфигурационных файлов, теперь каждый ресурс (pool, client, job и т.д.) распределены по своим директориям, добавлена мультиязычность для web UI, улучшена работа плагина MySQL, более подробную документацию можно просмотреть тут.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 11

Выбираем систему хранения файлов для командной работы

Reading time 5 min
Views 48K


Мы работаем с большими объемами медиа данных: видео, рендеры, фото, иллюстрации. Чтобы обеспечивать коллективную работу, нам нужен постоянный общий доступ ко всем этим файлам.

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

Мы сравним популярные облачные хранилища для бизнеса: Google Drive, DropBox, Citrix ShareFile и Microsoft OneDrive.

Наши требования к облачному хранилищу:

  • Безлимитный объем данных — у нас много данных, в среднем около 10ТБ. Не хочется постоянно думать сколько нужно докупить места в этом месяце и почему вдруг кончилась квота.
  • Версионность файлов и логирование — git приучил нас, что все изменения можно видеть и откатить. Поэтому и с файлами должны быть точно так же: любое изменение, удаление должно быть обратимо и легко контролироваться.
  • Права доступа — никаких больше общих папок доступных всем. Каждый сотрудник должен иметь свою область видимости.
  • Upload без регистрации — клиенты не должны больше искать файлообменники, чтобы прислать нам тяжелый файл. Файлы должны сразу загружаться в наше хранилище без промежуточных сервисов.
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 30

Invidious — альтернативный YouTube-фронтенд

Reading time 3 min
Views 57K

«Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+.

Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 29

Миграция реального приложения со standalone MySQL на Percona XtraDB Cluster

Reading time 17 min
Views 18K
image

К сожалению в интернете довольно мало информации по миграции реальных приложений и продакшн эксплуатации Percona XtraDB Cluster (далее PXC). Своим рассказом я постараюсь исправить эту ситуацию и рассказать о нашем опыте. Тут не будет пошаговой инструкции по установке и статью следует рассматривать не как замену офф документации, а как сборник рекомендаций.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 15

Надежное хранилище с DRBD9 и Proxmox (Часть 2: iSCSI+LVM)

Reading time 9 min
Views 18K

image


В предыдущей статье я рассмотрел возможность создания отказоустойчивого NFS-сервера с помощью DRBD и Proxmox. Получилось довольно неплохо, но не будем останавливаться на достигнутом и теперь постараемся "выжать все соки" из нашей хранилки.


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


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

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 5

Надежное хранилище с DRBD9 и Proxmox (Часть 1: NFS)

Reading time 11 min
Views 31K

image


Наверное каждый, кто хоть раз озадачивался поиском высокопроизводительного software-defiined хранилища рано или поздно слышал про DRBD, а может даже и имел дело с ним.


Правда на пике популярности Ceph и GlusterFS, которые работают в принципе неплохо, а главное сразу и из коробки, все просто немного подзабыли про него. Тем более что предыдущая версия не поддерживала репликацию более чем на два узла, и из-за чего часто встречались проблемы со split-brain, что явно не добавило ему популярности.


Решение и правда не новое, но вполне конкурентоспособное. При относительно небольших затратах на CPU и RAM, DRBD предоставляет реально быструю и безопасную синхронизацию на уровне блочного устройства. За все это время LINBIT — разработчики DRBD не стоят на месте и постоянно дорабатывают его. Начиная с версии DRBD9 перестает быть просто сетевым зеркалом и становится чем-то бОльшим.


Во первых, идея создания одного распределенного блочного устройства для нескольких серверов отошла на задний план, и теперь LINBIT старается предоставить инструменты оркестрации и управления множеством drbd-устройств в кластере, которые создаются поверх LVM и ZFS-разделов.


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


Несмотря на то что DRBD9 имеет инструменты интеграции с Proxmox, Kubernetes, OpenStack и OpenNebula, на данный момент они находится в некотором переходном режиме, когда новые инструменты еще не везде поддерживаются, а старые уже очень скоро будут объявлены как deprecated. Речь идет о DRBDmanage и Linstor.


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

Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 9

Миллион одновременных соединений на Node.js

Reading time 9 min
Views 104K


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Total votes 193: ↑187 and ↓6 +181
Comments 125

Zabbix как сканер безопасности

Reading time 11 min
Views 29K

Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей.


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


Существует масса разнообразных инструментов для решения этой задачи, но у всех них с нашей точки зрения есть одна общая проблема — они требуют отдельного хлопотного развертывания и порождают в вашей инфраструктуре еще один инструмент с root-овой учетной записью. Но ведь для такого простого действия как сбор информации об установленных пакетах root не нужен! Да и обычно в инфраструктуре уже присутствуют развернутые системы с возможностью консолидации данных, совместной работы и удаленного исполнения команд на серверах. Поэтому мы решили сделать инструмент, который позволил бы в пару кликов развернуть в своей среде систему контроля уязвимостей Linux с минимальными изменениями продакшена.


Что развернуто в большинстве продуктовых систем? Конечно же мониторинг. И довольно часто это Zabbix. Так давайте к нему и прикрутимся!

Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 19

Code Basics: бесплатные практические уроки для новичков

Reading time 4 min
Views 35K

Привет, Хабр! Мы в Хекслете запустили в этом году открытый и бесплатный проект для новичков: code-basics.ru. Это интерактивные курсы с практикой, рассчитанные на тех, кто вообще никогда не программировал. Мы учим основам программирования и рассказываем про базовое устройство компьютеров.


Сейчас доступен полный курс по PHP и первый модуль по JavaScript. На подходе Racket и Python. Весь исходный код платформы и самих уроков — в open source.


Сегодня хочу рассказать немного о сути Code Basics, его внутренностях и технологическом стеке.


Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 55

Нужно ли собирать NAS?

Reading time 28 min
Views 169K

image


Как в блогах, так и в журналах есть множество статей о том, как собрать NAS своими руками.
И с первого взгляда кажется, что при наличии прямых рук, свой NAS по всем пунктам бьёт покупное решение.
"Фигак, фигак и в продакшн", — и вот уже быстро, дёшево и качественно реализованное хранилище радует вас высокой производительностью и надёжностью.

Читать дальше →
Total votes 46: ↑39 and ↓7 +32
Comments 289

Information

Rating
Does not participate
Location
Гондурас
Registered
Activity