Pull to refresh
2
0
Send message

Выжимаем из Go максимум производительности

Level of difficultyMedium
Reading time11 min
Views15K

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

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

Читать далее
Total votes 73: ↑71 and ↓2+84
Comments40

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Level of difficultyMedium
Reading time8 min
Views194K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024
Total votes 166: ↑157 and ↓9+173
Comments244

Как я тестировал российские фоторедакторы, полжизни проработав в Фотошопе

Level of difficultyEasy
Reading time9 min
Views53K

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

Почитав отзывы и посоветовавшись с друзьями и коллегами, выбрал 3 программы, которые мне показались наиболее интересными и решил их протестировать. Для проверки взял вот такой портрет кота. Фото сделано случайно — я еще не успел выставить свет, да и снимать пришлось без долгой пристрелки. Так что тут понадобится продвинутая техническая ретушь.

Читать далее
Total votes 85: ↑82 and ↓3+102
Comments168

Тестируем отечественную виртуализацию: итоги и выводы

Level of difficultyEasy
Reading time6 min
Views12K

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

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

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

Читать далее
Total votes 18: ↑15 and ↓3+15
Comments16

Тормозящая виртуализация на x86. Небольшая попытка разобраться. Часть 1: Общий обзор

Level of difficultyHard
Reading time10 min
Views14K

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

Про что текст. Я знал, что виртуализация «тормозит по сравнению с baremetal», но заметил, что я, и не только я, порой не понимают «почему» и списывают это на превратности климата, кривой код в кровавом энтерпрайзе, и просто на «так устроен мир». Но ведь так нельзя (можно), надо примерно представлять — почему тормозит, и насколько тормозит.

Читать далее
Total votes 48: ↑38 and ↓10+34
Comments25

Тормозящая виртуализация на x86. Небольшая попытка разобраться. Часть 2: ESXi by Broadcom

Level of difficultyHard
Reading time8 min
Views8.8K

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

Часть 2. Что из этого следует, и как устроен планировщик в Broadcom ESXi. Тут не будет ничего нового для тех, кто открывал документацию про изменение модели планировщика side-channel aware scheduler (SCA) - SCAv2, и дополнительно читал Performance Optimizations in VMware vSphere 7.0 U2 CPU Scheduler for AMD EPYC Processors и Optimizing Networking and Security Performance Using VMware vSphere and NVIDIA BlueField DPU with BWI

Читать далее
Total votes 32: ↑22 and ↓10+17
Comments7

Тестирование производительности 1С на СУБД MSSQL 2022 и PostgreSQL 15 (на 20, 40, 60,80, 100 пользователей)

Level of difficultyMedium
Reading time7 min
Views15K

В начале 2024 года мы решили провести новое исследование производительности 1С:Предприятие на СУБД MSSQL и PostreSQL и вот что получилось...

Читать далее
Total votes 9: ↑7 and ↓2+6
Comments22

Лучшее соединение враг хорошего?

Reading time5 min
Views3.7K

Некоторые структурные проблемы в запросах 1С поменять невозможно без изменения платформы. Сколько производительности мы на этом теряем? На примере простого регистра сведений видно, что достаточно много.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments15

TypeScript тип any против всех

Reading time3 min
Views8.5K

В жизни каждого разработчика на TypeScript наступает момент, когда ему хочется рвать с все связи с типом any. А ведь по началу, он казался таким милым! Сделай переменной аннотацию типа any и используй любое свойство и метод этой переменной так, как привык работать в JavaScript. Никаких тебе ошибок, все чинно и спокойно, по-старому.

Документация TypeScript оправдывает использование any только на время переноса кодовой базы из JavaScript в TypeScript, но считает постыдным его использование в полноценном проекте. Казалось бы, все хорошо, только в описании типов библиотечных функций самого TypeScript аннотации any встречаются. Очень полезный JSON.parse, один из таких методов. Мы можем каждый раз писать as unknown, а можем доопределить библиотечный интерфейс.

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments10

5 причин почему Playwright лучше Cypress

Reading time6 min
Views14K

Перевод статьи Alister ScottFive reasons why Playwright is better than Cypress

На основании проведенного сравнения, могу смело рассказать о причинах, почему Cypress все еще проигрывает конкуренцию.

Читать далее
Total votes 24: ↑24 and ↓0+22
Comments6

Обработка ошибок в Rust

Reading time12 min
Views14K

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

Читать далее
Total votes 32: ↑30 and ↓2+36
Comments23

Vite.js и Vue.js

Reading time7 min
Views43K

Я нашёл только 3 статьи по Vite.js на Хабр, там были некие обзоры функционала и описание фишек данного инструмента.

Хорошо, тогда вопрос, что же это за инструмент такой и в чем преимущества использовать его при разработке? Если мы зайдем на официальный сайт - то здесь выделяется 6 основных фишек:

Читать далее
Total votes 7: ↑4 and ↓3+2
Comments5

Websocket API на nodejs по новому

Reading time5 min
Views19K

О чем эта статья?

1. uWebsockets.js - высокопроизводительная реализация http/websocket сервера для nodejs

2. AsyncAPI - спецификация для асинхронного API, с помощью которой можно создать описание Websocket API

3. Простой пример websocket API с использованием библиотеки wsapix:
- создадим websocket сервер, используя uWebsockets.js
- настроим валидацию получаемых и отправляемых сообщений
- добавим генерацию документации из кода

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments9

«Состояние повышенной вздрюченности» сотрудников: проблематика и последствия

Reading time7 min
Views16K

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

Читать далее
Total votes 12: ↑9 and ↓3+12
Comments17

Генерация документации с использованием JSDoc

Reading time8 min
Views46K

JSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format.

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments6

Повышение скорости написания кода: Emmet и его использование в VSCode

Reading time6 min
Views72K

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments23

Вышла Vue 3.2

Reading time3 min
Views12K

Эта статья — перевод оригинальной статьи Evan You "Vue 3.2 Released!"

Мы рады объявить о выпуске Vue.js 3.2 "Quintessential Quintuplets"! Этот релиз включает в себя множество значительных новых функций и улучшений производительности и не содержит критических изменений.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments30

Руководство по цвету в UX/UI-дизайне

Reading time8 min
Views29K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

Обход 802.1х в LAN

Reading time10 min
Views30K

Внимание! Данная статья носит исключительно информационный характер и предназначена для образовательных целей.

Представим себе типичный внутренний пентест. Вы приезжаете к заказчику, подключаетесь к Ethernet-розетке.Вы заранее предупредили о своём приезде, попросили себе рабочее место с Ethernet-розеткой и договорились отключить 802.1x. В итоге нашли тонну критических уязвимостей и в деталях расписали, как всё плохо исправить. Вы выдали красивый отчёт, оценили риски и составили рекомендации. Заказчик смотрит в отчет, хмурит брови и выдает непробиваемый довод: просто я отключил 802.1х. Добились бы вы таких же результатов без доступов к сети?

В этом посте я продемонстрирую, как легко можно обойти 802.1x на внутреннем пентесте. За редкими исключениями, но их мы тоже обсудим.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments11

Карманная книга по TypeScript. Часть 6. Манипуляции с типами

Reading time18 min
Views24K

image


Мы продолжаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".

Другие части:



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


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


Дженерики


Создадим функцию identity, которая будет возвращать переданное ей значение:


function identity(arg: number): number {
 return arg
}
Читать дальше →
Total votes 18: ↑16 and ↓2+17
Comments1
1
23 ...

Information

Rating
Does not participate
Registered
Activity