Трудно добиться быстродействия ядра, организовать параллельную работу потоков и при этом писать ясный код. Блокировки помогают параллельным потокам работать корректно, но иногда блокировки использовать трудно. Глава расскажет о хитрых сценариях с блокировками в xv6 и о сценариях без блокировок.
Администрирование
Интеграция Grist и Metabase
Привет! Меня зовут Александр Ежков, я Backend-разработчик в AGIMA. Занимаюсь созданием и поддержкой внутренних сервисов для компании. А конкретно сейчас — нашей DWH-системой. Мы построили ее из Open-source продуктов. В этой статье расскажу, какие продукты мы используем, какие хитрости придумали для работы с ними как вся система работает вместе.
«Open source в России» — интервью с сооснователем и CTO компании-разработчика веб-сервера Angie
Продолжаю рассказывать о российских разработчиках open source решений и технологий. На этот раз удалось пообщаться с Валентином Бартеневым, сооснователем и руководителем отдела разработки компании-разработчика российского веб-сервера Angie. Мы обсудили развитие компании, работу в формате open source, взаимодействие с партнерами и не только.
Хорошие практики нагрузочного тестирования: гайд для тех, кто успел до «пожара»
В каждом проекте рано или поздно наступает момент, когда нужно провести нагрузочное тестирование. Чаще всего это происходит поздно: сайт уже крашится под наплывом пользователей, стартовая страница не загружается, а обработка запросов в базе данных длится больше минуты. В такие моменты в «Джире» тестировщика появляется новая задача на поиск узких мест в системе.
Конечно, в подобной ситуации уже не до проведения нагрузочного тестирования по всем правилам, но если получилось выиграть пару дней или выпал редчайший шанс провести тестирование до «пожара», то эта статья для вас. Меня зовут Алена Вахтина и я ведущий специалист по тестированию в Лиге Цифровой Экономики — поделюсь своим опытом.
Истории
zVirt Hosted Engine: практика развертывания в картинках
Привет, друзья! С этой статьи компания Orion soft начинает вести свой блог на Хабре. Сегодня я расскажу о том, как происходит развертывание системы виртуализации zVirt. Текст предназначен для тех, кто еще ни разу не работал с нашим гипервизором, но в тайне (или явно) мечтает об этом. Мы с коллегами решили помочь вам сэкономить свое время, познакомившись с процессом деплоя виртуально, и подготовили инструкцию how-to (можно повторять все прямо за нами). Под катом — подробный гайд по развертыванию zVirt в режиме Hosted Engine (то есть прямо на ваших хостах) с примерами значений, рекомендациями по базовым настройкам и понятными скриншотами. Так что если вы ждали знак, чтобы решиться установить у себя zVirt, вот он. Время пришло сегодня :)
Huawei продвигает собственную ОС и планирует дистанцироваться от Android, Windows и других операционных систем
На Хабре не раз и не два писали про Harmony OS, китайскую операционную систему, которая изначально базировалась на Андроиде, но потом стала постепенно удаляться от своих корней. Китайская компания Huawei, разработавшая Harmony OS, планирует продвигать свою операционную систему в качестве основного продукта для всех своих девайсов. Что происходит и какие у этого проекта перспективы — читайте под катом.
И снова дискеты: американская система управления поездами в Сан-Франциско полностью зависит от флоппи-дисков
В начале 2024 года мы публиковали статью «Тонешь-тонешь – не потонешь: 2024, похоже, последний год для дискет. Или нет?». В ней говорилось о том, что этот достаточно древний носитель информации никак не выйдет из употребления: флоппи-диски используют как компании, так и частные лица. И вот, на днях появилось еще одно подтверждение сказанному. Подробности под катом!
Ликбез по методологиям проектирования хранилищ данных
Хранилище данных — это информационная система, в которой хранятся исторические и коммутативные данные из одного или нескольких источников. Он предназначен для анализа, составления отчетов и интеграции данных транзакций из разных источников.
Рассмотрим сильные и слабые стороны самых популярных методологий.
Числа и байты: как работает память в Linux?
❯ Часть первая: физическая память
При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.
Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.
Понимание работы с памятью в компьютере важно для всех, кто работает с техникой и программным обеспечением. Важно знать, как устроена память, какие ее типы существуют и как эти типы могут влиять на производительность и функционирование компьютера.
Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?
Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Пет-проект: путь от «простого получения опыта» до «продукта, способного приносить пользу IT сообществу»
В мире современных технологий и инноваций роль аналитика становится все более важной и востребованной. Однако, каким образом можно развивать свои аналитические навыки и экспертизу, чтобы выделиться среди конкурентов и создать что-то уникальное?
Один из способов – ведение пет-проектов. В этой статье я затронул тему, как пет-проект может стать не только практичным инструментом для развития аналитических навыков, но и возможностью создания полезного продукта, способного удовлетворить потребности рынка.
А также расскажу о своем пет-проекте, который может стать таковым.
3. Nix в пилюлях: Погружаемся в среду
Третья статья из цикла Nix в пилюлях. Наконец-то, практика! Разбираемся, что такое окружения и поколения, учимся откатывать изменения, выясняем, как работать с каналами
Континент 4 Getting Started 2.0. VPN
Рады приветствовать вас уже в шестой статье цикла «Континент 4 NGFW Getting Started 2.0» на образовательном портале TS University!
В предыдущей статье мы детально изучили веб-фильтрацию: настраивали фильтрацию по SNI, работали с Web/FTP фильтрацией, тестировали потоковый антивирус.
В этом материале мы в подробностях рассмотрим организацию VPN-сети (Site-to-Site, Remote Access).
Python streaming (spark+kafka)
В этой статье, посвященной Python streaming с использованием Spark и Kafka мы рассмотрим основные шаги по настройке окружения и запуску первых простых программ
Ближайшие события
Вышел релиз GitLab 16.10 с семантическим версионированием каталога CI/CD
Мы с радостью объявляем о релизе GitLab 16.10 с семантическим версионированием каталога CI/CD, шаблонами вики-страниц, возможностью перенаправлять трафик CI на вторичные ноды Geo, новой интеграцией ClickHouse для высокопроизводительной аналитики DevOps и многими другими фичами!
Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как
Конечная цель проектов импортозамещения в ИТ — полный отказ от операционной системы Windows. Но, как говорится, гладко было на бумаге, да забыли про овраги. Может так оказаться, что быстро заменить какие-то клиентские корпоративные приложения, написанные под эту операционную систему, не получится. В этом случае вам может пригодиться возможность присоединения Windows-компьютеров к домену ALD Pro.
В этой статье я расскажу, как добиться максимальной функциональности от такого сценария развертывания, и презентую утилиту нашей собственной разработки aldpro-join. С ее помощью можно решить проблему настройки рабочих станций всего за пару кликов. Если это именно то, о чем вы хотели узнать, но не знали, кого спросить, — вы на правильном пути. Поехали!
Материал будет полезен даже в том случае, если в вашей инфраструктуре пока еще используется «ванильная» система FreeIPA.
Transient storage в EVM (EIP-1153): на грани добра и зла
В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерациональное использование газа, когда слот хранилища смарт-контракта изменяется в ходе транзакции и затем возвращается к исходному значению, например, при блокировке функции для защиты от атак reentrancy. Иными словами, в ситуациях, когда постоянное хранилище используется как временное, а также в случаях необходимости безопасной передачи данных между фреймами вызовов.
В этой статье рассмотрим нововведение хард-форка Dencun (Cancun-Deneb), где в рамках обновления слоя выполнения был представлен EIP-1153: Transient storage opcodes, предлагающий решение этой проблемы за счет введения двух новых опкодов (TSTORE
, TLOAD
) и создания нового типа памяти в EVM - transient storage
.
Анализ навыков data-специализаций в вакансиях HH.ru
Всем привет!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Проблема: Wi-Fi работает только во время дождя
Давайте сделаем шаг назад, чтобы осознать смехотворность этой ситуации.
В то время я был студентом колледжа (это произошло больше десяти лет назад). Перед началом осеннего семестра я на пару недель приехал к своим родителям. Я не был дома почти целый год, потому что колледж находился на другом континенте.
Мой отец — инженер, он работал с сетевым оборудованием, ещё когда я не родился. В основанной им компании он проектировал и внедрял множество сложных сетевых систем в организациях по всей стране: от гигабитного Ethernet для офисного здания до междугородных соединений при помощи микроволновых линий связи прямой области видимости.
Он последний, кто мог бы сказать нечто столь абсурдное.
«Что?», — удивлённо произнёс я. «Wi-Fi работает, только когда идёт дождь. Это началось пару недель назад, у меня пока не было времени с этим разобраться», — повторил он терпеливо.
Как выявить токсичных сотрудников в коллективе
Один из ключевых факторов, влияющих на атмосферу — наличие или отсутствие токсичных сотрудников в коллективе. Но почему так важно уметь выявлять токсичных сотрудников, и как это влияет на общий успех компании?
Токсичное поведение в коллективе — это не просто мелкие неудобства. Это волна, способная негативно отразиться на всей работе команды, снижая моральный дух, производительность и даже приводя к увеличению текучки кадров. Токсичные сотрудники могут вызывать конфликты, снижать мотивацию и энергию команды, что в итоге отражается на финансовых показателях и имидже компании.
Статья предназначена для руководителей, HR-специалистов, а также для тех, кто стремится создать эффективную и согласованную команду без внутренних конфликтов и препятствий для роста. Мы обсудим, как определить наличие токсичности среди сотрудников, используя инструменты для анкетирования и опросов, и предложим пути решения выявленных проблем.
Как развернуть сайт c помощью Terraform
Привет, Хабр! В этой инструкции я покажу, как развернуть сайт в Kubernetes c помощью Terraform. Разберу интеграцию CRaaS с Managed Kubernetes, которая сократит ручную настройку и поможет публиковать образы контейнеров всего в несколько кликов.
Дисклеймер: мы не будем c нуля разбирать особенности работы с Terraform. Если вы не работали с этим инструментом, изучите сначала материал «Как развернуть свое приложение в Kubernetes».
Хабы
Вклад авторов
alizar 18172.9ru_vds 8701.3amarao 5927.0marks 5856.7it_man 3106.6oldadmin 3023.0BarsMonster 2995.0aleksandrit 2889.4ntsaplin 2841.0eucariot 2797.0