Обновить
33
0.4
ionicman@ionicman

Пользователь

Отправить сообщение

Многопоточность JavaScript с SharedArrayBuffer и Atomics: основы

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3K

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

Чтобы обойти эти ограничения, были введены Web Workers — они позволяют выполнять JS-код в фоновом потоке, параллельно с основным. Однако, все сложилось так, что простой обмен данными между основным потоком и воркерами через postMessage имеет свои ограничения и может быть недостаточно хорошим для некоторых задач.

Здесь помогают SharedArrayBuffer и Atomics.

Читать далее

Windows 11 Enterprise G – Что за издание для правительства Китая и зачем оно вам?

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели54K

Сегодня я бы хотел рассказать вам немного информации об особенном, в чем-то уникальном издании, существующем в Windows 10 и Windows 11, выпускаемом Microsoft для китайского госсектора. Что такое Windows Enterprise G, она же Windows Enterprise Government China, чем она отличается от других изданий, и самое главное, как (и зачем) вам ее получить.

Читать далее

Как заставить модуль Wemos D1 эффективно спать

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.8K

Сравнительно давно написал на хабре несколько статей

Особенности создания программ в NODEMCU ESP8266 для «интернета вещей» / Хабр

Уменьшаем потребление ESP8266 при автономной работе с датчиками

Как уменьшить потребление wifi модулей в десять и более раз

о ESP8266 и способах уменьшения энергопотребления популярного модуля ESP12x.

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

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

Читать далее

Читаем ключевой контейнер КриптоПро (ч.2)

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели6.1K

В прошлой части я разбирался с транспортным ключевым контейнером от КриптоПро (он же PFX, PKCS12, P12). В этой статье пойдёт речь о собственном формате ключевого контейнера КриптоПро (те самые 6 файлов .key)

Читать далее

Я тебя с вертухи сломаю, если ещё раз заговоришь об ИИ

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели43K

Последние инновации в сфере ИИ, наиболее примечательными из которых стали проекты наподобие GPT-4, очевидно, могут иметь далеко идущие последствия для общества: от утопического избавления от монотонного труда до антиутопического ущерба для работы художников в капиталистическом обществе, а также до экзистенциальных угроз самому человечеству.

Лично я получил формальное образование дата-саентиста, даже выиграв в высококонкурентном конкурсе по машинному обучению в одном из лучших университетов Австралии и написав магистерскую, для которой создал в MATLAB с нуля собственные библиотеки. Я не гений в этой сфере, но, очевидно, лучше большинства конкурентов, то есть практиков вроде меня; я не могу, сидя в пещере, создавать собственные библиотеки на C, но умею читать учебники, реализовывать готовые решения на языках высокого уровня и использовать библиотеки, написанные элитными организациями.

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

Читать далее

Моя б̶е̶з̶умная колонка: часть вторая // программная

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели11K

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

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →

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

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели365K

Десять лет назад я писал пару статей - Как загрузить последний 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

Основы TypeScript

Время на прочтение22 мин
Охват и читатели7.5K
image Привет, Хаброжители!

TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript.

«Основы TypeScript» — это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
Читать дальше →

Пишем веб-компонент для svg иконок

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели3.3K

Всем привет! Сегодня мы рассмотрим один из вариантов интеграции svg иконок в наш фронтенд проект используя веб-компоненты. Основная идея компонента заключается в том, чтобы лениво подгружать в SVG спрайт иконки и переиспользовать уже загруженные иконки при необходимости. Сами иконки будем вставлять в разметке в виде <svg-icon name="arrow-angle-down"> нам понадобится всего сотня строк кода! Кому интересна реализация, прошу под кат!

Читать далее

Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 1

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.1K

Представляю вашему вниманию перевод работы A guide to inter-process communication in Linux. Объём данной работы большой, поэтому перевод будет выполнен в виде нескольких отдельных статей:

Читать далее

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Уровень сложностиСложный
Время на прочтение29 мин
Охват и читатели30K

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

Разработка REST API с использованием Kotlin и Spring Boot: сочетание простоты и мощи

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.1K

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

Почему Kotlin и Spring Boot?

Kotlin, разработанный компанией JetBrains, и Spring Boot, один из наиболее популярных фреймворков для создания веб-приложений на языке Java, образуют мощное сочетание для разработки REST API. Kotlin предоставляет чистый и современный синтаксис, что упрощает разработку и делает код более читаемым. Spring Boot, с другой стороны, предоставляет множество готовых компонентов и упрощает конфигурацию, что позволяет сосредоточиться на бизнес-логике приложения.

В добрый путь

Фоновые асинхронные задачи в FastAPI и их мониторинг

Время на прочтение19 мин
Охват и читатели51K

Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.

Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.

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

В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.

В конце расскажу, как мониторить фоновые задачи.

Читать далее

Мега-Учебник Flask Глава 9: Разбивка на страницы (издание 2024)

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели10K

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

Начать изучение

Выбираем дешёвый VPS-сервер. Что почём в 2024 году?

Время на прочтение12 мин
Охват и читатели158K

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

Читать далее

Асинхронный веб: WebSocket, Server-Sent Events, Long Polling и Short Polling

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели50K

Веб-разработка часто требует реализации механизмов обновления контента на странице в реальном времени. Существуют различные сценарии, где это необходимо, например, отображение прогресса выполнения тяжелых задач на бекенде, обновление каких-либо часто меняющихся данных, будь то курсы валют или мониторинг какой-то активности, чаты, различные уведомления. Эти сценарии объединяет одна общая особенность: источник события необходимости обновления данных находится не на клиентской стороне, поэтому мы хотим получать события с бекенда. В данной статье мы рассмотрим четыре популярных подхода к реализации этой функциональности: WebSocket, Server-Sent Events (SSE), Long Polling и Short Polling.
Мы проанализируем каждый метод, выявим их плюсы, минусы и сложность реализации.

Читать далее

Рекомендации по ведению SQL-кода

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели27K
В этом материале разберем общие рекомендации по ведению SQL-кода на примере СУБД MS SQL (T-SQL). Однако, многие пункты можно также применить и к другим СУБД.
Читать дальше →

Бэкэнд для начинающих или типовые ошибки бэкэндера

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели31K

Всем привет! Я Олег, fullstack‑разработчик в компании Тензор, тимлид небольшой команды.

Одна из моих обязанностей в роли тимлида это code review. За годы работы я видел многое и выделил для себя типовые ошибки, с которыми сталкиваются начинающие backend‑разработчики. Сегодня хочу рассказать о некоторых из них.

Читать далее

Методы расшифровки трафика

Время на прочтение12 мин
Охват и читатели16K

Добрый день, дорогие читатели Хабра!

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

Читать далее

Древовидные структуры в SQL в одну таблицу

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели20K

Как реализовать хранение и работу каталога папок в PostgreSQL? Есть большое количество вариантов. Но хочется, чтобы реализация выглядела лаконично, не нарушала прозрачность выполняемых операций, не вызывала блокировок, не требовала большого вовлечения клиента в специфику работы и т.д. Потому сегодня попробуем реализовать хранение древовидных структур и работу с ними без использования триггеров, блокировок, дополнительных таблиц (представлений) и внешних инструментов в SQL.

Читать далее

Информация

В рейтинге
2 280-й
Зарегистрирован
Активность