Pull to refresh
1
0
Send message

Обзор AI-ассистента Cursor для разработчиков

Reading time9 min
Views3.6K

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

Конечно, сейчас уже есть инструменты на базе искусственного интеллекта, такие как GitHub Copilot, ChatGPT и Claude, которые пытаются облегчить нам жизнь. Но давайте будем честны — они также заставляют нас желать большего.

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

Вот тут-то и приходит на помощь Cursor.

Читать далее
Total votes 16: ↑15 and ↓1+20
Comments14

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

Level of difficultyHard
Reading time10 min
Views4.4K

На устройствах интернета вещей (IoT) зачастую слишком мало ресурсов, и их не хватает, чтобы подтягивать и использовать тяжеловесные образы Docker. В этой статье будет показано, как можно уменьшить образ Docker на 36-91% при помощи инструментов patchelf и strace, не перекомпилируя при этом контейнеризованные приложения. Также рассмотрим, как создавать минимальные образы для собственных приложений, написанных на Rust, Go, C/C++.

Читать далее
Total votes 18: ↑18 and ↓0+26
Comments4

Как устроено хранение разных типов данных в веб-буфере обмена

Reading time16 min
Views1.4K

Если вы уже давно имеете дело с компьютерами, то, вероятно, знаете, что в буфере обмена (clipboard) могут храниться различные типы данных (изображения, текст с форматированием, файлы и так далее). Меня как разработчика ПО начало напрягать то, что я не знаю, как буфер обмена хранит и упорядочивает данные разных типов.

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

Начнём мы с изучения API веб-буферов обмена и их истории. API накладывают интересные ограничения, связанные с типами данных; мы узнаем, как некоторые из компаний обходят эти ограничения. Также мы рассмотрим некоторые из предложений, предназначенных для устранения этих ограничений (самое примечательное из них — это Web Custom Formats).

Если вы когда-нибудь задавались вопросом, как устроен веб-буфер обмена, то этот пост для вас.
Читать дальше →
Total votes 10: ↑10 and ↓0+17
Comments2

«Не могу заставить себя сделать». Что на самом деле стоит за вашим сопротивлением?

Level of difficultyEasy
Reading time4 min
Views18K

Вам это знакомо. Надо сделать дело, но нет ни малейшего желания его делать. Сопротивление настолько сильное, что заставить себя удается или с великим трудом или не удается вовсе. Как понять, в чем тут загвоздка и сдвинуть дело с мертвой точки (или уже забить на него без зазрения совести).

Читать далее
Total votes 27: ↑23 and ↓4+20
Comments14

JavaScript: структуры данных и алгоритмы. Часть 5

Level of difficultyMedium
Reading time26 min
Views3.6K


Привет, друзья!


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



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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 11: ↑11 and ↓0+16
Comments0

Дружим iPhone и ESP32. Часть 1. ESP Arduino Core

Level of difficultyEasy
Reading time8 min
Views3K

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

Читать далее
Total votes 8: ↑8 and ↓0+12
Comments0

Программирование игры для embedded-устройства на ESP32

Reading time25 min
Views12K

Часть 0: мотивация


Введение


Я искал для себя хобби-проект, над которым можно было работать вне моих основных задач, чтобы отвлечься от ситуации в мире. По большей мере меня интересует программирование игр, но также мне нравятся embedded-системы. Сейчас я работаю в игровой компании, но раньше в основном занимался микроконтроллерами. Хотя в конце концов я решил сменить стезю и перейти в индустрию игр, мне по-прежнему нравится с ними экспериментировать. Так почему бы не совместить оба увлечения?

Odroid Go


У меня завалялся Odroid Go, с которым было бы интересно поиграться. Его ядром является ESP32 — очень популярный микроконтроллер со стандартной функциональностью МК (SPI, I2C, GPIO, таймеры и т.д.), но также имеющий WiFi и Bluetooth, что делает его привлекательным для создания IoT-устройств.

Odroid Go дополняет ESP32 кучей периферии, позволяя превратить его в портативную игровую машину, напоминающую Gameboy Color: ЖК-дисплей, динамик, крестовина управления, две основные и четыре вспомогательные кнопки, аккумулятор и устройство чтения SD-карт.

В основном люди покупают Odroid Go для запуска эмуляторов старых 8-битных систем. Если эта штука способна эмулировать старые игры, то справится и с запуском нативной игры, предназначенной специально для неё.

Total votes 34: ↑34 and ↓0+34
Comments11

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views629K

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

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Total votes 360: ↑357 and ↓3+412
Comments1049

Raspberry Pi Pico 2: что нового в одноплатном компьютере за $5?

Reading time4 min
Views13K

Источник.

Представьте себе миниатюрный компьютер, который легко умещается на ладони. Стоит как билет в кино и при этом способен на удивительные вещи — от управления домашними устройствами до обучения программированию школьников. Raspberry Pi Foundation представила обновленную версию своего популярного одноплатного компьютера Raspberry Pi Pico ценой $5, теперь с поддержкой архитектуры RISC-V.
Читать дальше →
Total votes 33: ↑27 and ↓6+33
Comments46

ШИМ в ESP32

Reading time7 min
Views24K


С момента своего появления микроконтроллер ESP32 получил заслуженную любовь своих поклонников и активно применяется во множестве самоделок. Основной причиной такой любви фанатов является его «упакованность» всевозможными функциями и беспроводными способами подключения в том числе. В этой же статье мы поговорим о такой полезной функции, как ШИМ — «широтно-импульсная модуляция».

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments3

5 экспериментов с WiFi на ESP32

Reading time11 min
Views109K
Привет Хабр.

Платы ESP32 весьма популярны в виду низкой цены, неплохой вычислительной мощности (процессор 200МГц), развитого SDK с поддержкой как MicroPython так и Arduino IDE, наличием GPIO c поддержкой периферии (SPI, I2C и пр) и беспроводной связи (WiFi, Bluetooth). Сегодня мы посмотрим, что можно сделать на такой плате ценой всего лишь около 12$.



Мы рассмотрим разные варианты использования WiFi, от простого коннекта к сети до WiFi-сниффера. Для тестов понадобится любая плата с ESP32 (лучше с OLED-экраном, как на картинке) и Arduino IDE.

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →
Total votes 32: ↑30 and ↓2+41
Comments43

ESP32-CAM Video Streaming Server Подключение I2C и SPI дисплеев

Reading time8 min
Views68K
ESP-32 CAM модуль с камерой от Diymore

ESP32-CAM Video Streaming Server


Пример использования находится тут.

Предварительно надо установить библиотеки: Esp32 board in Arduino Ide Windows / Esp32 board in Arduino Ide Linux and Mac

Подробные настройки есть в статье.

В моем случае я использовал модуль AI-THINKER поэтому раскомментировал
#define CAMERA_MODEL_AI_THINKER

У меня не заработала функиональность распознования лиц. Коментарий в статье был полезен.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments0

Игры с Wifi на ESP32

Reading time6 min
Views22K

image


На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула эта статья.


Спасибо им за идею. Мне как раз было нечем заняться.


Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в области сетевых технологий. Не торопясь, по 1..4 часа в неделю, с начала этого года.
Прикладное использование не планировал. Т.е. это НЕ инструмент для хакера.


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

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments7

Программирование игры для embedded-устройства на ESP32: накопитель, аккумулятор, звук

Reading time20 min
Views8.4K
image


Начало: система сборки, ввод, дисплей.

Часть 4: накопитель


Odroid Go имеет слот карты MicroSD, который будет полезен для загрузки ресурсов (спрайтов, звуковых файлов, шрифтов), а возможно, даже для сохранения состояния игры.

Устройство чтения карт подключено по SPI, но IDF упрощает взаимодействие с SD-картой благодаря абстрагированию вызовов SPI и использованию стандартных функций POSIX наподобие fopen, fread и fwrite. В основе всего этого лежит библиотека FatFs, поэтому SD-карта должна быть отформатированной в стандартом формате FAT.

Она подключена к той же шине SPI, что и ЖК-дисплей, но использует другую линию выбора чипа. Когда нам нужно выполнить чтение или запись на SD-карту (а такое случается не очень часто), драйвер SPI будет переключать сигнал CS с дисплея на устройство чтения SD-карты, а затем выполнять операцию. Это значит, что во время отправки данных на дисплей мы не можем выполнять никаких операций с SD-картой, и наоборот.

На данный момент мы выполняем всё в одном потоке и используем блокирующую передачу по SPI на дисплей, поэтому одновременных транзакций с SD-картой и с ЖК-дисплеем быть не может. В любом случае, есть большая вероятность того, мы будем загружать все ресурсы во время запуска.
Total votes 7: ↑6 and ↓1+9
Comments5

Работа с «Ягодой» для новичков: подключение пяти микроконтроллеров ESP32 к микрокомпьютеру Raspberry Pi 4 Model B по SPI

Level of difficultyMedium
Reading time7 min
Views5.7K

Данная статья создана с ознакомительной целью и служит рекомендацией по работе с Raspberry Pi 4 Model B ("Ягода"), WEMOS WiFi & Bluetooth ESP32 ("ESP32") при настройки Serial Peripheral Interface (SPI).

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments4

Telegram бот на ESP32 для удаленного мониторинга и управления насосной станцией

Level of difficultyMedium
Reading time63 min
Views22K

Делаем дешево и сердито!

История создания данного девайса следующая: есть очистная станция, в которой шкафы управления насосами и компрессорами на ПЛК Schneider Electric. При отключении городской электросети и переходе на дизель генератор и обратно оборудование уходит в ошибку, для квинтирования которой необходимо на месте нажать кнопки сброса аварии и запуска компрессоров. В случаи не работы компрессоров бактерии в емкостях умирают. И если рабочий день окончен некому произвести данную процедуру.

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

читать далее...
Total votes 21: ↑21 and ↓0+21
Comments20

ESP32 в окружении VSCode

Reading time15 min
Views43K

В нескольких следующих статьях я хотел бы детально рассмотреть настройку окружения VSCode для работы с фреймворком ESP-IDF. Не совсем популярная комбинация ПО обладает как преимуществами, так и недостатками, которые при детальном рассмотрении мы попытаемся исправить, обойти или превратить в достоинства.

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

Поскольку предполагается многопользовательская удаленная разработка, то мы решили вначале отработать выбор и настройку самой среды разработки. После нескольких экспериментов с Eclipse, Visual Studio и QT Creator выбор пал на кроссплатформенный VSCode и плагин от разработчика Espressif IDF для работы с фреймворком ESP-IDF.

В качестве «сердца» контроллера рассмотрим двухъядерный микроконтроллер ESP32, который обладает рядом преимуществ, и которые планируется использовать и раскрыть в проекте, а именно:

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

Чуть подробнее о настройке среды разработки esp-idf для разработки приложений Esp32

Reading time43 min
Views56K

Эта заметка посвящена установке Eclipse и Visual Studio Code под Linux и Windows. Особенность состоит в том, что для всех IDE и для работы в консоли используется одна и та же установка esp-idf.

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

Как Orange Pi вернула мне Ютуб

Reading time5 min
Views62K

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

В связи с последними событиями вокруг видеохостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero2 от компании Xunlong Software.

Читать далее
Total votes 83: ↑79 and ↓4+83
Comments124

Telegram Боты на Aiogram 3.x: Простой бот на вебхуках с локальным запуском и деплоем

Level of difficultyEasy
Reading time12 min
Views4.7K

Друзья, приветствую!

Если вы следите за моими статьями, то знаете, что на Хабре у меня опубликовано более 10 объемных публикаций на тему разработки телеграмм ботов через замечательный Python-фреймворк Aiogram 3.

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

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

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

В общем, будет интересно и позновательно!

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments7
1

Information

Rating
Does not participate
Registered
Activity