Так можно или нельзя? Попробуем разобраться и проведем эксперимент.
Подробности под катом.
ИТ
В современном мире информационных технологий умение создавать выдающиеся программные продукты уже давно не является единственным критерием успешной карьеры разработчика. В данном материале мы попытаемся уйти от стандартных обсуждений и обзоров бизнес-ресурсов, чтобы пролить свет на роль мягких навыков в разработке, опираясь на академические исследования.
Привет, Хабр!
WebSocket позволяет открыть интерактивный коммуникационный сеанс между пользовательским браузером и сервером. Здесь большое отличие от традиционного HTTP, который ограничен моделью запрос-ответ и не подходит для сценариев, требующих постоянного обмена данными
Go с помощью своей простоты и поддержкой конкурентности становится хорошим кандидатом для работы с WebSocket.
Привет, Хабр!
Fault-tolerant системы — это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения даже при возникновении ошибок или непредвиденных ситуаций. Это достигается за счет ряда архитектурных и программных решений, направленных на предотвращение полного отказа системы при возникновении отдельных сбоев.
Go благодаря своей простоте, производительности и, что наиболее важно, поддержке конкурентности на уровне языка, становится идеальным выбором для создания fault-tolerant систем.
WordPress — это изначально блоговый движок, который появился в 2003 году во времена расцвета LiveJournal и MySpace. Благодаря большому количеству внутренних шаблонов, он стал идеальным инструментом индивидуального паблишмента, позволял быстро собрать свой блог и начать писать.
С тех пор прошло уже 20 лет, WP сильно изменился и стал мощным инструментом для разработки, в том числе коммерческой.
Разбираем c Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации.
У вас есть таблицы, либо ряд таблиц, строки которых нужно очистить и единственный способ, которым вы можете это сделать - это операция DELETE
.
Помимо очевидной цели - очистки ненужных данных из таблицы, хотелось бы также увеличить свободное место в области диска, доступного для данных postgresql. Но при определенных условиях - операция DELETE
не возвращает место, а операция UPDATE
дополнительно его забирает.
Если вы никогда не сталкивались с Rust-ом, а слышали, что он помогает избежать Undefined Behavior (UB), то отчасти это так. Некоторые делят язык Rust на 2 части: safe и unsafe. Я бы поделил на 4 части: safe, unsafe, const и async. Но нас интересуют safe и unsafe.
Получить UB в Rust-е не сложно - нужно открыть документацию и найти любой метод, помеченный unsafe, например, get_unchecked
у Vec
. Метод позволяет без проверки границ получить значение из динамического массива. А есть ли UB в safe-подмножестве языка? Есть. Он возможен из-за бага (проблемы) в компиляторе Rust, который живет с 2015 года.
Всем привет! Меня зовут Леонид, я - владелец проекта по подбору виртуальных серверов Поиск VPS, и внимательно слежу за рынком хостинга. В декабре вступил в силу федеральный закон, регламентирующий работу провайдеров хостинга, и организации, в том числе зарубежные, не вошедшие в соответствующий реестр, будут нарушать законодательство после 1 февраля 2024 года, оказывая услуги хостинга. Кроме того, идентификация клиентов становится обязательной, а оказывать услуги можно будет только верифицированным пользователям (верификация проводится методом подтверждения российского номера мобильного телефона или оплаты картой, выпущенной российским банком, или через СБП - систему быстрых переводов, возможны также, например, авторизация через Госуслуги или личная явка с паспортом). Вскоре после этого Hetzner (крупный европейский провайдер хостинга) и GoDaddy (один из крупнейших регистраторов доменных имен и хостинговая компания) начали рассылать своим клиентам из России письма с сообщением о прекращении обслуживания.
Учитывая большие изменения в законодательстве, я решил побеседовать с руководителем LITE.HOST - Евгением @Yoh, чтобы узнать его мнение по этому поводу.
В этой статье представлен список инструментов Linux и функционала Kubernetes, регулирующих безопасность контейнеров. Статья имеет описательный характер для базового понимания настроек безопасности, а также для систематизации полезных инструментов и полей спецификации k8s для этих целей. Статья основана на книгах, представленных в главе «Литература».
Безопасность контейнеров в Linux
Основной особенностью контейнеров является изоляция процессов средствами Linux. При этом, приложения в контейнере делят общее ядро операционной системы с другими приложениями. Какие же ограничения применяют контейнеры?
Контейнеры должны контролировать права процесса, доступ к ресурсам хоста и доступ к другим файлам файловой системы. Разберемся со всем по порядку.
Ограничения прав процесса
Можно настроить очень простое разграничение доступа для процесса: наличие или отсутствие прав root.
Также можно разрешить запускать некоторые процессы с привилегиями root обычному пользователю, повесив файлу флаг Setuid (если владелец файла - пользователь root). Setuid позволяет вызвать процесс от имени владельца, а не от имени запускающего пользователя.
Обычно флаг setuid (+s) используют вспомогательные программы для назначения capabilities - возможностей, для которых требуются повышенные привилегии.
Это небезопасно, например, можно задать бит +s для bash-скрипта и через него под привилегиями root выполнить любое содержимое этого скрипта. Но это более правильный вариант, чем давать исполняемому файлу полные права админа.
Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, установив их на локальный компьютер, чтобы понять, действительно ли они так хороши.
Есть на свете особо ценные приёмы и инструменты, применимые почти к любой профессии. И речь не о пресловутых софт-скилах, с ними всё достаточно очевидно. Куда интереснее поговорить о «жёстких» навыках, которые, за счёт своей универсальности, здорово прокачивают профессиональную эрудицию и не только.
Показываю, почему стандартные формулы для оформления лендингов работают не всегда и почему у сайта может быть мало конверсий. В конце — 6 советов о том, как увеличить отдачу от запуска рекламы на лендинг.
Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!
Всё началось в далёком 1997 году. С тех пор прошло более 25 лет. Свои первые программы я писал еще под ОС Windows 95 и Windows 98. На тот момент мне было около 12 лет – как раз тот возраст, в котором многие из моего поколения начинали знакомство с программированием. Первым моим языком был Logo, используемый в MicroWorlds от LCSI (Logo Computer Systems Inc). Я получил эту программу от родителей в подарок.
Исчерпав возможности Logo в ограниченной среде MicroWorlds, я перешел на Visual Basic. По очень простой причине — он был мне понятен и к тому же доступен прямо в Microsoft Office. Visual Basic 6 стал первым «настоящим» языком программирования, с которым я познакомился.
В современном мире бизнеса конкуренция становится все более жесткой, а рынки все более насыщенными. В таких условиях успех компании во многом зависит от того, насколько хорошо она знает своих конкурентов и умеет адаптироваться к изменениям на рынке. Один из инструментов, который позволяет собирать и анализировать информацию о продуктах, — продуктовый конкурентный анализ
На этом текст от искусственного интеллекта (ИИ) заканчивается, дальше — авторский материал, так как в описании методологии ИИ не раскрывает ошибки, которые и привели нас к необходимости написать статью.
Технология работы персонифицированной виртуальной вебкамеры для WebRTC: анимирование 3D модели пользователя в браузере для создания видеотрека, заменяющего камеру пользователя и синхронного с аудио от микрофона.
Всем привет! Это моя первая статья на Habr, так что не судите строго за стиль, а вот по содержанию буду рад любой конструктивной критике.
Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.
В Go ввели generics и он потерял одно из своих основных преимуществ: легкую читаемость.
Как же обходились без шаблонов в Go 13 лет? Это не помешало выпустить отличные библиотеки и сделать хорошую стандартную библиотеку! При этом сохранялась лаконичность и легкость языка. А теперь...