Pull to refresh
4
0.8
Дмитрий Померанцев @pda0

User

Send message

Обзор отечественных компьютерных модулей формата SMARC

Reading time10 min
Views9.9K

В статье кратко описан стандарт встраиваемых компьютерных модулей SMARC. Приведен краткий обзор отечественных производителей и модулей выполненных в данном стандартен.

Компьютерные модули, называемые также компьютерами на модуле (Computer-on-Module) или системами на модуле (System-on-Module), представляют собой компактный вычислитель, содержащий центральный процессор, память, контроллеры периферии и вторичные источники питания. Все периферийные интерфейсы выведены на разъемы в соответствии с той или иной общепринятой спецификацией.

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

Описание преимуществ и наиболее популярных среди разработчиков и пользователей встраиваемых систем стандартов компьютерных модулей: ETX, QSeven, SMARC, СOM Express и COM-HPC представлено в статье «Компьютерные модули. Описание преимуществ применения и обзор популярных стандартов».

Далее будет приведено описание одного из самых молодых стандартов: SMARC и краткое описание отечественных разработчиков и модулей в данном стандарте.

Читать далее

Многоуровневая группировка в SQL: Grouping sets

Level of difficultyMedium
Reading time3 min
Views18K

Описан основной принцип работы конструкции Grouping sets в SQL на примере. Статья будет полезна для тех, кто хочет быстро разобраться с основными принципами группировки с использованием Grouping sets.

Читать далее

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию

Level of difficultyMedium
Reading time11 min
Views88K

Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в себе простоту реализации и безопасность для приложений.

В интернете есть много разных материалов с объяснением, что такое JWT и как им пользоваться. Но большинство примеров ограничиваются выдачей токена для пользователя. В этой статье я хочу рассказать не только о том, что такое JWT, но и как можно реализовать работу с access и refresh токенами и решить сопутствующие проблемы. Будет немного теории и много практики. Присаживайтесь поудобнее, мы начинаем.

Путеводитель:

Что такое JSON Web Token?
Использование и реализация
Простая реализация JWT
Access и refresh tokens
Как отозвать токены
Доступ с нескольких устройств
Удаление старых данных
Резюмируем

Читать далее

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Level of difficultyMedium
Reading time11 min
Views150K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее

Основные варианты применения ИИ в разработке видеоигр

Level of difficultyEasy
Reading time3 min
Views3K

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

Читать далее

5 недорогих механических клавиатур и кое-что ещё

Reading time5 min
Views26K

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

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

Читать далее

Разбираем TLS по байтам. Кто такой этот HTTPS?

Level of difficultyMedium
Reading time32 min
Views44K


Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает.

Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов и ответов. Затем узнал о схеме HTTPS, с которой всё не так наглядно. В ней используется то ли SSL, то ли TLS, и что-то где-то шифруется, и зачем-то нужны какие-то сертификаты. Короче, всё расплывалось в тумане: где пример ответа, запроса, сертификата, как его создать, зачем он нужен и почему гайд по созданию http-сервера уже написал каждый школьник, а https-сервер — недоступная для начинающих разработчиков роскошь?

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

Во второй обсудим, как это дело реализуется в протоколе TLS и разберём формат TLS-пакетов по байтам. Статьи рассчитаны в первую очередь на изучающих веб-разработку, знакомых с HTTP и жаждущих осознать, кто такое https. Но материал актуален для любых применений TLS, будь то веб или не веб.
Читать дальше →

Как запоминать слова в английском языке? И не забывать их

Level of difficultyEasy
Reading time16 min
Views57K

Будучи репетитором, я вижу, что многие, особенно начинающие изучать язык (английский), не могут быстро вспомнить нужное слово, а уже бегло говорящие, обеспокоены своеобразным «барьером» — кажется, что новые слова не запоминаются и хочется уже научиться точнее выражать свои мысли.

(говоря «слова» я конечно имею в виду и фразы и реплики тоже»)

Тема статьи — популярная, обширная (гугл выдаст десятки методов запоминания иностранных слов). И это понятно. Будете знать грамматику и иметь некий запас слов — сможете заговорить. Хорошей новостью является то, что пока вы можете обучаться новому (запоминать новые имена на работе, читать и использоваться инструкции, пересказывать где‑то услышанные истории), нет никаких оснований полагать, что вы не сможете расширять свой словарный запас в английском языке.

Поскольку методов существует множество, то самым правильным ответом будет: запоминайте так, как вам удобно, главное — повторить информацию нужное количество раз.

Читать далее

Управление сервоприводами, часть 2. Управляем сервоприводами с помощью серво-контроллера через USB любых компьютеров

Level of difficultyMedium
Reading time40 min
Views8.4K

В первой статье серии про сервоприводы с названием Сервоприводы: устройство и управление мы рассказывали о том, для чего нужны сервоприводы, как они устроены, и как ими управлять с помощью ШИМ, приведены характеристики некоторых популярных сервоприводов. Мы написали программу на Python для Repka Pi, позволяющую выполнять необходимые операции над сервоприводами с удержанием угла, а также с сервоприводами постоянного вращения.

С помощью этой, второй статьи серии, вы научитесь пользоваться 16-канальным ШИМ-контроллером Robointellect Controller 001. Данный контроллер создан на базе микросхемы PCA9685 и предназначен для управления различными исполнительными устройствами, использующими ШИМ-модуляцию:

Читать далее

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views49K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

И так вышло, что мы действительно занимались, я пытался собрать набор данных для обучения нормальной базовой модели, rulm, а Саша экспериментировал с существующими русскими базовыми моделями и кустарными инструктивными наборами данных.

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

Читать далее

3D-принтеры в 2023 году для дома и для работы. Хороших моделей всё больше

Reading time5 min
Views44K

Привет, Хабр! Не так давно мы публиковали подборку хороших лазерных граверов. Сейчас расскажем о 3D-принтерах, которые могут подойти как для дома, так и для работы. Правда, речь не о профессиональных устройствах, поскольку профи и так знают, что им нужно. Поговорим о любительских принтерах и моделях, которые по классу чуть выше любительских.

Читать далее

Проксируем OpenVPN с помощью Cloak

Level of difficultyEasy
Reading time9 min
Views92K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

Читать далее

Разработка робастного управления сервоприводом

Level of difficultyMedium
Reading time12 min
Views6.7K

Продолжаем открытый проект сервоконтроллера MC50. 

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

Читать далее

Идиоматический код на Rust для тех, кто перешел с других языков программирования

Level of difficultyMedium
Reading time6 min
Views22K

Привет, дорогие читатели! В предыдущей моей статье "Как легко перейти с Java на Rust" я делился с вами советами по переходу на Rust и уменьшению количества "потерянной крови" на этом пути. Но что делать дальше, когда вы уже перешли на Rust, и ваш код хотя бы компилируется и работает? Сегодня я хочу поделиться с вами некоторыми идеями о том, как писать идиоматический код на Rust, особенно если вы привыкли к другим языкам программирования.

Читать далее

WebOne: даём жизнь старым браузерам

Reading time6 min
Views9.8K

Приветствуем любителей ретротехники! Уверены, что каждый из вас сталкивался с разочарованием, пытаясь зайти на современные веб-сайты эпохи Web 2.0 при помощи старых браузеров из операционных систем прошлого века. Современные сайты в большинстве своём уже не используют незашифрованные HTTP-соединения. Установить же шифрованное TLS-соединение древние браузеры не могут.

Казалось бы, стоит оставить эту затею, но всё же есть способ увидеть современные сайты в каком-нибудь Netscape Navigator. Для этого был создан прокси-сервер WebOne, который действует по принципу Man-in-the-Middle (MITM). Он берёт на себя роль посредника, устанавливающего TLS-соединение, оптимизирует полученный код под старые браузеры и отдаёт его уже по незащищённому HTTP. Под катом рассказываем, как установить эту хитрую штуку и настроить старые браузеры для её использования.

Читать далее

Flutter 3.13. Что нового?

Level of difficultyMedium
Reading time11 min
Views5.2K

Двухмерный скроллинг, ускорение работы с графикой, обновления от Material 3 и многое другое.

Привет! Это команда команда веб- и мобильной разработки Surf. Совсем недавно вышло обновление Flutter 3.13. Спешим поделиться с вами нашим переводом статьи со всеми новыми фичами ?

Читать далее

Работа с JSON в Rust. Методичка

Level of difficultyEasy
Reading time5 min
Views12K

Привет Хабр! Меня зовут Алексей, я разработчик Группы "Иннотех" Холдинга Т1.

Цель статьи - познакомить читателя с библиотеками для работы с JSON в Rust. Если вы никогда не парсили JSON на языке Rust и ищите с чего начать, то эта статья для вас!

В статье будут разобраны примеры работы со строками и файлами, познакомимся с библиотеками serde и serde_json

Читать далее

Оптимизация генеративной модели на основе дистилляции

Level of difficultyMedium
Reading time9 min
Views3.2K

Одним из важнейших направлений работы над моделями машинного обучения является их оптимизация. Оптимизированная модель работает быстрее, требует меньше вычислительных ресурсов, и как следствие — снижает себестоимость работы ПО, использующего модель. Для задач, когда существует ограничение по типам изображений при использование генеративных моделей, возможный путь оптимизации — дистилляция существующих "больших" универсальных моделей. Например Stable Diffusion (далее — SD).Также для некоторых задач, связанных с демонстрацией пользователям изображений, необходимо как можно скорее выводить результат генерации.

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

Читать далее

Как разработчику выучить английский язык до высокого уровня для релокации (и не только)?

Level of difficultyEasy
Reading time5 min
Views37K

Всем привет! Сегодня, я хочу поделиться с вами своим личным опытом изучения английского языка с нуля. Данная статья будет полезна как людям только начинающим свой путь в мир прекрасного английского, так и уже погруженным с головой в изучение языка. В данной статье, я расскажу вам о базовых, но крайне полезных, принципах процесса обучения из своего личного опыта. Мой личный опыт был не самым простым, так как интенсивно изучать английский язык я начал в возрасте в 16ти лет, а не с раннего детства, как многие, сменив на своем пути порядка 5ти репетиторов. Однако, уже в 23 года, я смог получить диплом Магистра международных отношений и европейской политики на английском языке в одном из престижных вузов Европы.

Итак, с чего же стоит начать изучение, если ваш уровень новичка? Самая большая ошибка, которая отбивает желание у людей изучать язык еще в школе - это начать изучение с грамматики. Поверьте, ничего скучнее просто представить невозможно, когда вы не обладаете достаточным словарным запасом и толком даже не понимаете, какие предложения составляете, когда ваш преподаватель заставляет вас зацикливаться на Present Perfect, Present Continuous и прочих совершенно непонятных для начинающего вещах. Спросите меня сейчас и я с трудом смогу вспомнить названия всех этих времен, хотя давным давно, на интуитивном уровне, научился их использовать, без особого труда.

Грамматика - это важно, однако, нет никакого смысла сидеть над ней часами, заучивая структуры каждого времени. Переходить к изучении грамматики стоит чуть позже, на уровне А2-B1, когда вы уже начнете обладать достаточным уровнем словарного запаса. И опять же, не нужно пытаться заучить все наизусть. Постарайтесь понять суть каждого из времен, а дальше с практикой вы поймете как данные связки начнут воспроизводиться вашим мозгом сами по себе.

Читать далее

Information

Rating
2,642-nd
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity