Сборщик RSS-лент

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: свойство display

Habr.com - 1 час 8 мин. назад


За свою карьеру у меня было достаточно много собеседований. Конечно, одной из основных тем вопросов была вёрстка. Немного похвалюсь. Не было вопроса, на который я не ответил.


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


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


Сегодня я дам ответ на следующий вопрос: «Зачем нужно использовать свойство display?»

Читать дальше →

Уходящий в историю стандарт. Запускаем базовую станцию 3G (UMTS)

Habr.com - 2 часа 7 мин. назад
Приветствую всех!
2023 год стал началом массового отключения ныне уже устаревших сетей третьего поколения. Многие операторы по всему миру уже вывели из эксплуатации эти сети или запланировали это на ближайшие годы. Самое время для того, чтобы поднять такую базовую станцию у себя. И, как выяснилось в процессе, это не так просто, как может показаться.



Итак, в сегодняшней статье разберёмся с тем, как собрать и заставить работать софт для поднятия сотовой сети типа UMTS. Узнаем, как устроены и работают такие сети. Традиционно будет много интересного.
Читать дальше →

Обзор и оживление «японского пенька»

Habr.com - 2 часа 58 мин. назад

Всем привет! Сегодня хотелось бы рассказать про реликвию, с которой началось мое настоящее знакомство с компьютерами, — ноутбук Fujitsu Lifebook 634Tx 1998 года выпуска.

Только не надо записывать меня в счастливчики и «мажоры»: девайс принадлежал моему старшему (на 13 лет) брату, мне же, тогда школьнику, иногда перепадала возможность посидеть за ноутбуком и погонять монстров в Doom.

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

Читать далее

От логарифмической линейки до AutoCad: развитие инструментов инженера-конструктора

Habr.com - 3 часа 7 мин. назад

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

В этой статье для блога ЛАНИТ я попытаюсь представить ретроспективу развития вычислительных приборов.

Читать далее

Как мы автоматизировали и упростили процесс ведения релизов

Habr.com - 3 часа 8 мин. назад


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

После трансформации весь описанный выше функционал перешёл в одну группу — «Управление релизами». Коммуникации, работу с командой тестирования, отчётность и встречи — всё стала вести наша команда.

Большая часть коммуникаций проходила в почте. Сбор, фиксацию состава релиза и отчётность — всё приходилось делать вручную. Процесс подготовки к релизу занимал до пяти рабочих дней. Релиз-менеджер каждый день из confluence сохранял pdf-файл со списком задач и сравнивал состав релиза на предмет добавленных и исключённых задач. После включения задачи в релиз тест-менеджеры самостоятельно вносили её на страницу «Актуализация регрессов» на confluence согласно цветовой легенде и определяли, какие задачи требуют изменения в тестовой модели, а какие ещё не брали в работу. Было много ручных активностей релиз-менеджеров и тест-менеджеров, и это заставило нас подумать над частичной автоматизацией процесса ведения релизов.

Дальше я расскажу в деталях, как всё было «до» и как стало «после». Читать дальше →

Умный офис в «Москва-Сити» на Home Assistant: автоматизируем только нужное

Habr.com - 3 часа 8 мин. назад

Умными домами сегодня никого не удивишь, но как насчет офисов? Могут ли умные функции повысить комфорт и, как следствие, производительность труда в офисе?

Мы попытаемся ответить на этот вопрос, посетив умный офис в башне «Федерация» комплекса «Москва-Сити». Там весьма высоки требования к интеграторам, поэтому решение должно быть проверенным и надежным.

Кроме того, заказчик отказался от всего, с его точки зрения, лишнего: здесь нет ни голосового управления, ни многоцветной диммируемой подсветки — только те функции, которые действительно ему нужны. О них мы и расскажем.

Интересно? Ныряйте под кат.

Читать далее

Quantization Deep Dive, или Введение в современную квантизацию

Habr.com - 3 часа 8 мин. назад

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее

[Перевод] Основы литья под давлением: проектирование литых деталей

Habr.com - 4 часа 22 мин. назад

Дисклеймер: это достаточно вольный перевод статьи с protolabs.com, в который мы добавили немного отсебятины. Но не просто так, а для лучшего понимания, потому что соотношение терминов «там» и «здесь» — отдельный адский котелок. Заметите что-то не то (или у вас так не говорят), без стеснения отпишитесь в комментариях, исправим вместе.

Таблица тоже будет

Исследуем лицензирование Cockroach DB до Enterprise или не случившийся хард-реверс-инжиниринг

Habr.com - 12 часов 3 мин. назад

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

Но как обстоят дела с приложениями написанными на языках компилирующихся сразу в машинный бинарь? Ну что ж, волею судеб пациентом был выбран Cockroach DB, а вернее его Enterprise часть, его мы и будем анализировать в этой статье.

Читать далее

Kiddy -- модуль ядра Linux для защиты от скрипт-кидди

Linux.org.ru - 13 часов 36 мин. назад

Kiddy – модуль для ядра Linux, разработанный с целью снижения рисков эксплуатации (некоторых) уязвимостей ядра.

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

Например, вот как это сделано для CVE-2017-1000112. Там же можно видеть, что идентификация версии ядра осуществляется с использованием uname.

Разработанный модуль является простым в реализации и позволяет:

  • менять идентификацию ядра;
  • ограничивать доступ к журналу ядра (dmesg);
  • ограничивать доступ к некоторым файлам в /proc, также содержащим идентифицирующую информацию;
  • ограничивать доступ к файлам и папкам, потенциально содержащим идентифицирующую информацию;
  • менять идентификацию версии ядра, доступную через vDSO.

В процессе сборки модуль позволяет использовать т.н. «пресеты», реализующие различную логику изменения идентификации. Например, используя пресет «windows» можно получить следующее поведение:

До загрузки модуля

$ ./misc/id.sh ** UNAME identidty leaks - uname -r 2.6.32-754.35.1.el6.x86_64 - uname -v #1 SMP Sat Nov 7 12:42:14 UTC 2020 - uname -a Linux localhost.localdomain 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ** PROCFS identidty leaks - /proc/cmdline ro root=/dev/mapper/VolGroup00-LogVol00 rd_NO_LUKS no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=VolGroup00/LogVol01 rd_LVM_LV=VolGroup00/LogVol00 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet - /proc/version Linux version 2.6.32-754.35.1.el6.x86_64 (mockbuild@x86-02.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) ) #1 SMP Sat Nov 7 12:42:14 UTC 2020 - /proc/sys/kernel/version #1 SMP Sat Nov 7 12:42:14 UTC 2020 - /proc/sys/kernel/osrelease 2.6.32-754.35.1.el6.x86_64 which: no hostnamectl in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)

После загрузки модуля

$ ./misc/id.sh ** UNAME identidty leaks - uname -r Windows - uname -v NT 4.0 - uname -a Linux localhost.localdomain Windows NT 4.0 x86_64 x86_64 x86_64 GNU/Linux ** PROCFS identidty leaks - /proc/cmdline \EFI\Microsoft\Boot\bootmgfw.efi - /proc/version Windows NT 4.0 - /proc/sys/kernel/version NT 4.0 - /proc/sys/kernel/osrelease Windows which: no hostnamectl in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)

Скрипт-кидди не пройдут!

 , , ,

Парочка open source решений по доставке уведомлений

Habr.com - 14 часов 2 мин. назад

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

Читать далее

eNPS (Employee Net Promoter Score) и лояльности сотрудников

Habr.com - 14 часов 35 мин. назад

Этот индикатор, заимствованный из концепции Net Promoter Score, используемой для измерения лояльности клиентов, адаптирован для оценки того, насколько вероятно, что сотрудники будут рекомендовать вашу компанию как место работы своим знакомым и друзьям. Вопрос, лежащий в основе eNPS: «На сколько вероятно, что вы порекомендуете нашу компанию в качестве места работы своим друзьям и знакомым?» ответы на который оцениваются по шкале от 0 (совсем не вероятно) до 10 (очень вероятно). Сотрудники, дающие оценки 9-10, классифицируются как "промоутеры", 7-8 — как "нейтральные", а оценки ниже 7 указывают на "критиков".

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

Читать далее

Первый выпуск дистрибутива TileOS 1.0

Linux.org.ru - 14 часов 55 мин. назад

Доступен выпуск дистрибутива TileOS 1.0 «T-Rex», построенного на пакетной базе Debian и предлагающего рабочий стол, использующий мозаичные оконные менеджеры. TileOS преследует те же цели, что и дистрибутив Ubuntu Sway Remix (развивается тем же автором), предлагая готовый к использованию интерфейс, не требующий дополнительной настройки и ориентированный как на опытных пользователей Linux, так и на новичков, желающих попробовать окружение мозаичных оконных менеджеров, не тратя большое количество времени на их настройку.

Однако, в отличии от Ubuntu Sway Remix, TileOS гораздо более открыт для различных изменений и кастомизаций, а также избавлен от каких-либо потенциальных проблем с авторскими правами (Ubuntu Sway Remix использует зарегистрированные товарные знаки Canonical, но официального ответа по поводу включения дистрибутива в официальное семейство Ubuntu до сих пор не получено). Для загрузки подготовлены сборки для архитектуры amd64 (в будущем планируется обеспечить поддержку arm64, в частности плат Raspberry Pi). Исходный код компонентов TileOS доступен на GitLab.

Основное внимание в TileOS уделяется оконным менеджерам, использующим протокол Wayland. Официально представлены редакции с рабочими столами Sway и River, в разработке находятся редакции с SwayFX (форк Sway, дополненный различными эффектами рабочего стола) и Qtile. Дистрибутив использует пакетную базу Debian Stable, однако из тестовой ветки переносятся различные улучшения, более свежие версии некоторого ПО и графических драйверов. Помимо этого, в состав включён ряд исправлений, оптимизирующих работу дисковой подсистемы и памяти, а также перенесены некоторые улучшения из Ubuntu, например монтирование дисков в файловом менеджере без запроса пароля, и другие.

Ключевые особенности TileOS:

  • Ядро Linux 6.6.15 с улучшенным временем отклика (опция CONFIG_HZ=1000, в Debian используется CONFIG_HZ=300).
  • Набор открытых видеодрайверов, Mesa 23.2.1 и Xwayland 23.2.2.
  • По умолчанию задействован механизм Zram, с использованием алгоритма сжатия zstd.
  • Предустановлено большое число несвободных драйверов и прошивок (firmware), что существенно расширяет поддержку различного оборудования.
  • По умолчанию подключены репозитории с дополнительным ПО, таким как VirtualBox, Visual Studio Code, Librewolf, OnlyOffice и Brave.
  • Реализована возможность выбора дополнительного ПО в установщике Calamares.
  • В качестве реализации системной шины D-Bus задействован D-Bus Broker.
  • В качестве звукового сервера задействован PipeWire.
  • Управление пользовательскими сеансами осуществляется средствами systemd, что позволяет корректно завершать запущенные приложения и компоненты при перезагрузке, выключении или выходе из системы, а также обеспечить корректную обработку автозапуска приложений.
  • В качестве демона OOM Killer в редакции Sway задействован systemd-oomd. В остальных редакциях используется EarlyOOM.
  • Для оформления приложений задействована единая тема Catppuccin, использующая мягкие пастельные цвета.

Особенности редакции Sway:

  • Рабочий стол развивается параллельно с дистрибутивом Ubuntu Sway Remix, обеспечивается взаимный перенос тех или иных изменений.
  • Задействованы многие утилиты из проекта NWG-Shell, такие как скрипт автоматической раскладки окон Autotiling, полноэкранное меню приложений nwg-drawer, утилита для настройки параметров дисплея nwg-displays, утилита для настройки внешнего вида nwg-look, менеджер сеансов nwg-bar и nwg-wrapper, позволяющий выводить на рабочий стол содержимое любых скриптов (через него реализована подсказка по используемым в дистрибутиве горячим клавишам).
  • Предустановлен минимальный набор компонентов, включающий файловый менеджер PcmanFM-Qt, текстовый редактор Pluma, эмулятор терминала Alacritty, архиватор Engrampa и другие. Дополнительное ПО предлагается выбрать на этапе установки системы, либо установить непосредственно после установки системы.

Особенности редакции River:

  • Задействован динамический оконный менеджер River, написанный на языке zig и вобравший себя многое из DWM, Awesome и Bwpwm. River отличается простотой настройки (файл конфигурации — обычный shell-скрипт, последовательно выполняющий команды для шины IPC riverctl), широкой гибкостью и меньшим потреблением ресурсов, чем Sway. Поскольку River находится в стадии активной разработки, и пока значительно уступает в функциональном плане Sway, редакция TileOS River носит экспериментальный характер.
  • Как и в редакции Sway, задействованы компоненты проекта NWG-Shell, кроме тех, что явно не поддерживают River (например вместо nwg-displays используется wdisplays).

 , river, , tileos

Всё ещё храните музыку в формате Hi-Res? Тогда мы идем к вам

Habr.com - пн, 03/18/2024 - 23:49

Люди делятся на 2 лагеря: те, кто слышит разницу между lossless и lossy, и те, кто нет. Формат аудио с потерей качества — это интересная тема, но сегодня мы поговорим о звуке в высоком разрешении — это PCM 24/96 и выше, а также DSD во всех его проявлениях. Я не буду рассказывать теорию, чем отличаются эти форматы, такие статьи легко гуглятся. Лишь вскользь упомяну о теореме Котельникова (Найквиста — Шеннона), которая гласит следующее: «Для того, чтобы оцифровать аналоговый сигнал, а потом его БЕЗ ПОТЕРЬ восстановить, необходимо и ДОСТАТОЧНО, чтобы частота дискретизации была в 2 раза СТРОГО больше максимальной частоты полезного сигнала».

Читать далее

Расчет потерь в MOSFET транзисторах

Habr.com - пн, 03/18/2024 - 23:32

Приветствую!

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

Читать далее

[Перевод] Используйте Arc<[T]> вместо Vec<T>

Habr.com - пн, 03/18/2024 - 23:14

В этой статье я хотел бы поговорить о том, почему вы могли бы предпочесть использование Arc<[T]> вместо Vec<T> в качестве варианта по умолчанию в вашем Rust-коде.

Читать далее

Небольшая компания представила процессор с 900 тыс. ядер. Что это за чудо технологий?

Habr.com - пн, 03/18/2024 - 23:13

О компании Cerebras на Хабре писали несколько раз, чаще всего с упоминанием того, что она создала самый большой в мире процессор. И сейчас та же ситуация — она повторила свой рекорд, разработав гигант с 900 тыс. вычислительных ядер. Конечно, это чип не для обычных пользователей, а для работы в отрасли искусственного интеллекта. Что это за процессор и на что он способен? Подробности — под катом.

Читать далее

[Перевод] Обучение птиц новой информации

Habr.com - пн, 03/18/2024 - 23:01

К этому подступались долго - изучить точный механизм обучения у птиц и узнать заодно - весь этот опыт в распознавании звуков опасности - это врождённое-генетическое или нет? Поскольку статья не роман ( это не первая статья на данную тему, но очень свежая, 2024 года ), то сразу ответ - опыт не сидит в генах ни у птиц, ни у человека с медведями. Всему птицы обучаются от родителей и сородичей. Птенцы рождаются по сути чистым листом. Как родители и среда обучит - так птица и будет ориентироваться в звуках. Скажем, если родители научат, что звук "че-че" это опасность и вокруг все птицы этого вида так же будут делать - птенцы будут "че-че" понимать как опасность, а звук ки-ки - как сигнал к кормлению. И наоборот - обучат что "че-че" это кормление, значит так и будут думать птенцы.

Читать далее

Советские и постсоветские НИИ и КБ как конвейер уничтожения ресурсов развития

Habr.com - пн, 03/18/2024 - 22:14

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

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

В 2008 году я устроился ведущим инженером в НИИ Физических измерений, г. Пенза.

Для меня работа в этом НИИ была более чем знакома, я там работал с середины 80-х по середину 90-х. НИИФИ с момента своего создания было сосредоточено на создании датчиков и специализированной измерительной аппаратуры для космической отрасли.

Начало 2000-х характеризовалось тем, что цены на нефть поползли вверх, в государстве появились какие-то деньги, но одновременно стала происходить череда ярких и красочных неудач с нашими ракетами. И вопрос – а что же там происходит с нашими ракетами – создал на НИИФИ фокус ощутимого финансового потока.

Поскольку в этой организации работает куча людей, связанных между собой родственными связями, то, помимо официального молчания по всем щепетильным вопросам, организация была пронизана слухами, что у нас общий бюджет НИИ достиг сначала 0,7 (примерно 2008–2009), далее 0,9; потом 1,3; 2,1 и 2,7 (2012) миллиарда рублей.

Здесь можно задаться очень простым вопросом – а вот кто будет делать интеллектуальное наполнение проектов под эти в общем-то огромные финансовые потоки.

Читать далее

Security Week 2412: атака на ChatGPT по сторонним каналам

Habr.com - пн, 03/18/2024 - 21:36
Исследователи из Университета имени Бен-Гуриона опубликовали работу, в которой показали новый метод атаки, приводящий к частичному раскрытию обмена данными между пользователем и ИИ-чатботом. Анализ зашифрованного трафика от сервисов ChatGPT-4 и Microsoft Copilot в некоторых случаях позволяет определить тему беседы, причем это не является атакой на собственно алгоритм шифрования. Вместо этого используется атака по сторонним каналам: анализ зашифрованных пакетов позволяет определить длину каждого «сообщения». Примечательно, что для расшифровки трафика между большой языковой моделью (LLM) и пользователем используется еще одна, специально подготовленная LLM.


Атака возможна исключительно в потоковом режиме передачи данных, когда ответ от ИИ-чатбота передается в виде серии зашифрованных токенов, каждый из которых содержит одно или несколько слов. Такой способ передачи соответствует методу работы языковой модели, когда каждое предложение разбивается на отдельные слова либо даже фрагменты слов для последующего анализа. Авторы работы считают уязвимыми большинство современных ИИ-чатботов, за исключением Google Bard и Github Copilot (принцип взаимодействия с которым отличается от Microsoft Copilot, несмотря на использование одной и той же модели GPT-4). В большинстве случаев запрос от пользователя передается на сервер одним куском, а вот ответ представляет собой серию токенов, передающихся последовательно и в режиме реального времени. До шифрования данные никаким образом не изменяются, а значит, появляется возможность вычислить длину зашифрованного фрагмента. А уже из этих данных получить представление о теме беседы.
Читать дальше →

Сейчас на сайте

Сейчас на сайте 0 пользователей и 2 гостя.
Ленты новостей