Как стать автором
Обновить
96
0

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

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

Еще один MultiWan на Mikrotik ROS7 с Балансировкой и QOS. Часть 1

Время на прочтение6 мин
Количество просмотров8.4K

Привет, Хабр! Хочу поделиться своей реализацией, видением MultiWan на оборудовании компании Mikrotik.

Читать далее

CSS-анимации: 20 полезных библиотек для разработчиков

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

Анимации в веб-дизайне давно стали стандартом. Они делают интерфейсы более живыми, помогают привлечь внимание к важным элементам и улучшают пользовательский опыт. Эти 20 библиотек помогут быстро добавить анимации в ваши проекты. 

1. Animate.css

Описание: Простая в использовании библиотека кроссбраузерных анимаций. Подключаете CSS-файл, добавляете классы к элементам, и всё работает. Поддерживает эффекты вроде fade, bounce, slide и другие.

Минусы: Ограниченный набор эффектов. Для сложных кастомизаций потребуется дописывать стили вручную.

2. Magic Animations CSS3

Описание: Базовый набор CSS-анимаций, который подойдет для простых проектов. Легко интегрируется и не требует настройки.
Минусы: Меньше эффектов, чем в Animate.css, и практически отсутствует документация.

3. Animista

Описание: Удобный инструмент для кастомизации анимаций. Сначала вы выбираете эффект в интерфейсе, настраиваете параметры (скорость, задержка, циклы), а затем скачиваете готовый CSS-код.
Минусы: Требуется онлайн-доступ для генерации анимации.

4. Hamburgers by Jonathan Suh
Описание:
Специализированная библиотека для создания анимационных кнопок-гамбургеров. Поддерживает разные стили: стрелки, крестики, линии.
Минусы: Узкая специализация, не подходит для других задач.

5. Whirl
Описание:
Набор простых CSS-загрузчиков: вращение, пульсация, изменение цвета. Легко интегрируется в проекты и не требует сложной настройки.
Минусы: Ограниченный выбор эффектов, подходит только для загрузочных индикаторов.

5. Three Dots
Описание:
Минималистичная библиотека загрузочных анимаций, которые создаются с использованием одного HTML-элемента.
Минусы: Поддерживает только базовые эффекты, не подойдет для сложных анимаций.

Читать далее

Разбираем email по косточкам

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.2K

Привет, меня зовут Елена Тихомирова, я работаю системным аналитиком в Платформе Сфера, разработке Холдинга Т1. Поделюсь своим опытом, полученным в одном из проектов, где я реализовала автоматизированную обработку входящей почты: пользователь отвечает на email-уведомление от help desk или трекера задач, обработчик извлекает из письма необходимые данные, обогащает их и передаёт соответствующему сервису для дальнейшей проверки и публикации.

Читать далее

Упорядочиваем закладки

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

У меня много статей в закладках. Многие из них я добавил, чтобы прочитать позже. Это статья не про то, почему так произошло и как с этим бороться, а про то, как выбрать статью для удаления чтения. Давайте найдем самые лучшие статьи. Критериями могут быть, например, рейтинг, просмотры и т.д. И красиво оформим в виде HTML-файла.

Пример закладок @alizar: 800+ статей.

Упорядочить!

Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров39K

В свете широкого внедрения систем домашней автоматизации возникает потребность в более естественном взаимодействии с «умным домом». Как средство натурального взаимодействия между человеком и машиной, голосовой интерфейс заслуженно занимает высокую популярность. В данной статье я поделюсь своим опытом создания бюджетного автономного голосового ассистента для систем умного дома.
Читать дальше →

Что в голове у змейки? Обучение нейросети играть в «Snake» генетическим алгоритмом

Время на прочтение14 мин
Количество просмотров13K

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

«У самурая нет цели, есть только путь»

Первый блин на производстве не отличается красотой, но опыт был получен. Наиболее привлекательным мне пришелся генетический алгоритм: отбор успешных змеек, скрещивание, частичная мутация генов и так тысячи раз до результата. Змейки, без указания им правил выживания, в тысячном поколении «понимали», что нужно стремиться съесть яблоко и никуда не врезаться, это вызывало ощущение прикосновения к чуду "It's Alive!!!"

Спустя пару лет, закончив курс по аналитике данных, появилось желание переписать проект, попрактиковаться в более серьезных разделах python и сделать тренажёр со сбором статистики.

Читать далее

Ирина, голосовой помощник — теперь и со вкусом GPT-3

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров22K

«Лама... Альпака...Чатгпт...» — раздавалась в уютненьком чатике по Ирине.

Хабр был не лучше — статьи по работе с GPT множились как грибы, а в комментах раздавались возгласы в духе «Дайте мне голосового помощника, с которым можно болтать!»

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

Тем не менее, и меня заинтересовало, насколько весело будет именно болтать с GPT, но самому в коде и платном API‑доступе разбираться не хотелось. Но сегодня утром меня снабдили и примером, и ключиком...

‑-

Это продолжение моих статей о разработке голосового помощника Ирины, не зависящего от крупных корпораций. У нас есть печеньки:

— Полностью оффлайн SpeechToText и TextToSpeech
— Поддержка плагинов
— Готовые команды «таймер», «погода» и ряд прочих. Поддержка HomeAssistant.
— Поддержка работы в клиент‑серверном режиме — сервер + куча микрофонов + Телеграм‑клиент, например.

Расскажу, что улучшилось за прошедший год с момента прошлой статьи.

TL;DR> Добавлен плагин для общения с GPT-3 нейросетью. Сделан пакет упрощенной установки под Windows — «скачай и запусти». Сделано два веб‑клиента — один распознает слова прям в браузере (тяжелый), другой отправляет весь звуковой поток на сервер (легкий) — так что можно запускать клиенты, например, на смартфоне. Добавлен TTS Silero v3 — имхо, лучшее озвучивание доступное в открытом доступе. Сделан докер‑образ для быстрого запуска Ирины без установки зависимостей. Добавлено нечеткое распознавание фраз. Обновлена VOSK‑модель распознавания голоса на специально натренированную для Ирины.

Читать далее

Нужна ли вам Kafka? Разбираемся в технологии и собираем простое приложение на базе managed-решения

Время на прочтение16 мин
Количество просмотров35K

Kafka — стильная, модная, молодежная технология, которую разработала в 2011 году компания LinkedIn и значительно усовершенствовал Apache Software Foundation. Представляет собой надежный, масштабируемый и устойчивый инструмент для обработки и передачи данных в режиме реального времени — шину данных.

Но нужно ли внедрять технологию в угоду моде или амбициям вашего продуктового менеджера? Под катом расскажу про сильные стороны Kafka и задачи, в которых она раскрывается по максимуму. Также напишем быстрое приложение на базе Kafka-as-a-service, которую мы недавно релизнули в Selectel.
Читать дальше →

Веб-консоль для загрузчика U-Boot

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

В данной статье я расскажу, как совместил U-Boot и TCP/IP стек LWIP, и c использованием LWIP написал веб-консоль на WebSocket, очень простой DHCP-сервер и HTTP-сервер. Код лежит на репозиториях U-Boot и LWIP.

Читать далее

Проектируем самодельный 16-битный CPU в 2023 году

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

Для создания самодельного CPU требуется большое количество чипов логики. И в самом деле разумно, что для реализации регистров, счётчика команд, АЛУ и других компонентов CPU на логике TTL или CMOS действительно необходимо существенное число чипов. Но сколько конкретно?

Я попытался оптимизировать свой самодельный CPU, минимизировав количество чипов логики, чтобы ответить на вопрос: какое минимальное число интегральных схем требуется для полного по Тьюрингу CPU без CPU?

Мой ответ: для создания 16-битного последовательного CPU нужно всего 8 интегральных схем, включая память и тактовый генератор. Он имеет 128 КБ SRAM, 768 КБ FLASH и его можно разгонять до 10 МГц. Он содержит только 1-битное АЛУ, однако большинство из его 52 команд работает с 16-битными значениями (последовательно). На своей максимальной скорости он исполняет примерно 12 тысяч команд в секунду (0,012 MIPS) и, среди прочего, способен выполнять потоковую передачу видео на ЖК-дисплей на основе PCD8544 (Nokia 5110) с частотой примерно 10 FPS.
Читать дальше →

Паттерны реактивности в современном JavaScript

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров14K



"Реактивность" — это то, как системы реагируют на обновление данных. Существуют разные типы реактивности, но в рамках этой статьи, реактивность — это когда мы что-то делаем в ответ на изменение данных.


Паттерны реактивности являются ключевыми для веб-разработки


Мы работаем с большим количеством JS на сайтах и в веб-приложениях, поскольку браузер — это полностью асинхронная среда. Мы должны реагировать на действия пользователя, взаимодействовать с сервером, отправлять отчеты, мониторить производительность и т.д. Это включает в себя обновление UI, сетевые запросы, изменения навигации и URL в браузере, что делает каскадное обновление данных ключевым аспектом веб-разработки.


Реактивность, обычно, ассоциируется с фреймворками, но можно многому научиться, реализуя реактивность на чистом JS. Мы можем смешивать и играть с этими паттернами для лучшей обработки обновления данных.


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

Мне нравится изучать паттерны, поскольку они применимы к любому языку и системе. Паттерны могут комбинироваться для решения задач конкретного приложения, часто приводя к более производительному и поддерживаемому коду.

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

JavaScript Live-Coding: Мастерство решения типовых задач на собеседованиях

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

Искусство live-coding в JavaScript становится все более важным для успешной карьеры веб-разработчика. Если ты стремишься преуспеть на собеседованиях и проявить свои навыки в реальном времени, то эта статья для тебя. Я предлагаю тебе углубиться в мир типовых задач на собеседованиях в разделе live-coding, где ты сможешь проявить свои знания JavaScript. В этой статье мы рассмотрим популярные задачи, подходы к их решению и дадим полезные советы, которые помогут тебе справиться с этим вызовом. Давай начнем погружение в мир JavaScript и подготовимся к успешным собеседованиям!

Читать далее

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров76K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →

Обновляем платформу 1С на сервере под управлением Linux

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров54K

Данная статья является, по сути, моей методичкой о том как перевести сервер 1С и прилегающие сервисы, работающие под Linux на новую версию платформы.

Действуя по этой методичке вы сможете пройти короткий путь по переводу своей инфраструктуры на новую версию платформы в конце 2022 года.

Читать далее

Простое развёртывание сетевой лабы на базе контейнеров

Время на прочтение7 мин
Количество просмотров12K

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

Тем не менее развернуть лабу из нескольких устройств с множеством сетевых интерфейсов и подключений, к примеру, для проверки BGP, в том числе между устройствами разных производителей, задача нетривиальная.  Можно, конечно, писать плейбуки Ansible для развертывания виртуалок на ESXi и последующей конфигурации устройств, но это само по себе достойная задача. Может быть что-то с vagrant изобразить…

Но недавно я узнал о проекте ContainerLab.dev и весьма впечатлился. Попробовал, оценил, впечатлился еще больше. Полез на Хабр почитать тонкости и хитрости, но, к удивлению, не нашел ни единого поста на эту тему.

Решил исправить. Вдруг кому-то еще облегчит жизнь.

А дальше?

ROS книги по робототехнике переведенные на русский язык

Время на прочтение6 мин
Количество просмотров15K

Robot Operating System это фреймворк который позволяет эффективно программировать современных роботов.

Читать далее

Ведение систем IPAM и DCIM в NetBox: начинаем с кабельного журнала

Время на прочтение5 мин
Количество просмотров55K

Привет! Меня зовут Дмитрий, в Росбанке я занимаюсь автоматизацией сетевой инфраструктуры. Этим постом я начинаю серию публикаций о NetBox — популярном опенсорс-инструменте для документирования инфраструктуры на уровне IP-адресации (IPAM) и железа (DCIM). NetBox ценен тем, что даже с базовой функциональностью «из коробки» он предоставляет множество возможностей, не говоря уже о допиливании через форки. Далее я представлю NetBox подробнее и на нашем примере расскажу, с чего начинать работу.

Читать далее

Кибербезопасность для самых маленьких

Время на прочтение10 мин
Количество просмотров31K

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

Цель статьи - поделиться практиками, которые я применил для защиты данных при поднятии собственного VPS в публичной сети. Всегда, когда твой IP открыт всему Миру напоказ и доступен извне внутренних контуров сети - это означает, что любой прохожий может устроить тебе неприятности: похитить твои данные, завладеть твоим сервером и сломать твое замечательное приложение. Я буду приводить пример атаки, показывать, как ее можно заметить и после этого будем разбирать возможные способы защиты.

Защитить данные!

15с, 16c или 41c – вам какой? Собираем собственный эмулятор калькулятора HP

Время на прочтение7 мин
Количество просмотров7.6K

Я всю свою жизнь пользовался калькуляторами HP RPN, и мне жаль, что RPN-версии больше не производят. Они были упразднены в угоду стандартным инфиксным калькуляторам. Тем не менее я всегда хотел иметь HP15c, но вот никак не подворачивался случай его купить. Так что это моя первая попытка создать его самостоятельно.
Читать дальше →

15 супер полезных примеров команды find в Linux

Время на прочтение9 мин
Количество просмотров104K

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Читать дальше →
1
23 ...

Информация

В рейтинге
3 962-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность