Обновить
3
0
Michael Elin@vanelm

Consulting Network Engineer

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

Пишем сканер штрихкодов на c++

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

Штрихкод и с чем его едят на плюсах. Сегодня я покажу вам как я писал простейший сканер штрихкодов EAN-8 и EAN-13. Конечно, я мог бы взять готовые и более функциональные сканеры из интернета, НО зачем? Зачем, если можно сделать самому, если можно развить свои навыки и расширить портфолио? Вот и я так подумал...

Если вы заинтересовались - я сейчас вам раскачаю про код...

Просканировать статью

Google представила Firebase Studio. Создавайте полнофункциональные ИИ-приложения с помощью Gemini

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

Google выпустила Firebase Studio, свою собственную платформу для программирования. Она должна составить конкуренцию таким платформам, как Cursor, Lovable, Bolt и V0. Если вы занимаетесь веб-разработкой, то, скорее всего, знаете Firebase как базу данных от Google.

Но это уже не так.

Это теперь полноценная экосистема, которая поможет вам создавать, тестировать и запускать ИИ-приложения без навыков написания кода.

Итак, что такое Firebase Studio, как она работает и может ли она заменить Cursor или инструменты, которые вы уже используете?

Давайте в этом разберемся.

Читать далее

Это путь воина: как я выучил Python и Go с помощью Цеттелькастена и кому точно не рекомендую метод

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

Привет, Хабр! Меня зовут Дмитрий, я работаю в YADRO. Я прошел большой путь в самостоятельном изучении языков программирования: от SQL до Go. Сначала я вообще не документировал процесс обучения, затем стал вести заметки по «академическому» принципу — писал конспекты, как в университете. Пока не открыл древовидную систему хранения данных, которая лежит в основе метода Цеттелькастен. 

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

Читать далее

Проект Смотритель — удаленно управляемый робот на ESP32-CAM

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

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

Зачем? Ради фана, конечно - этот проект практически квинтессенция моих увлечений - электроника, 3d-печать, программирование микроконтроллеров, ИИ и в целом все, что можно включить в сферу DIY.

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

Поехали

Микросервисы на C#. Часть 1

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

В любой сфере деятельности есть знаковые фигуры. Признанные эксперты. Лидеры мнений. Программирование не является исключением. Всем нам знакомы имена Кернигана, Кнута, Торвальдса, Скита. Не последним в этом ряду будет и имя Мартина Фаулера. Он написал книгу «Рефакторинг», которую обязан прочитать любой профессиональный программист. Он предложил термин Dependency Injection. Он участвовал в подготовке каталога действительно полезных паттернов проектирования. Он был одним из авторов Манифеста Гибкой Разработки Программ.

В 2014-м вместе с Джеймсом Льюисом Фаулер написал статью о микросервисах, которая начинается словами: «Термин „микросервисная архитектура‟ уже несколько лет применяется, чтобы описать способ проектирования программ»… Очевидно, теме микросервисов без малого десять лет. Можно ли добавить что-нибудь к тому, что уже было сказано и написано за это время?

Оказывается, можно.

Читать далее

Что скрывает тупой пульт в вашем умном доме

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

В свободное от работы время занимаюсь хобби — экспериментирую с умным домом на базе Home Assistant (HA) и окружающей его программно‑аппаратной инфраструктурой в виде различных медиасервисов, сервисов мониторинга и прочего.

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

Читать далее

Как бывшая сотрудница передавала данные конкурентам

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

В небольшой компании «ТехноСофт», занимавшейся разработкой ПО для автоматизации бизнеса, пятничный вечер казался обычным. Менеджер по продажам — молодая симпатичная девушка с яркими рыжими волосами и в стильных очках — объявила об уходе.

Она была звездой отдела: обаятельная улыбка и умение закрывать сделки делали её незаменимой. Конкуренты переманили её, предложив лучшие условия. В тот вечер она угостила коллег пиццей, попрощалась и ушла, унося в рюкзаке ноутбук и пачку визиток. Команда пожелала ей удачи, а утром её учётную запись в Active Directory (AD) заблокировали. Но никто не проверил доступы к серверу через Remote Desktop Protocol (RDP) — ошибку, за которую «ТехноСофт» скоро поплатился.

Читать далее

Docker теперь конкурент Ollama?

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

Ребята зарелизили новую крупную фичу, и, как по мне, это самая крупная механика с момента выхода dev containers, так как это показывает, насколько всё-таки AI всё глубже интегрируется в разработку.

Docker Model Runner - фактически инструментарий для запуска моделей локально, и это буквально полный конкурент для Ollama, но, будем объективны, пока что ещё очень сырой.

Читать далее

Как сделать хорошее API

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

Обстоятельно и подробно, на конкретных примерах рассказываю как спроектировать и реализовать API, за которое потом не будет стыдно.

Читать далее

Я устал возиться с кучей VPN и поставил Xray на роутер

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

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

Я долгое время жил в этом хаосе. Сначала я ставил VPN на телефон, потом на ноутбук, потом на телевизор... В какой-то момент их стало столько, что я уже не знал, какой включен, какой отключен, где подписка закончилась, а где опять надо искать новый сервер. Рабочий VPN переставал работать в самый неподходящий момент – например, когда я пытался оплатить что-то онлайн или посмотреть видео.

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

Читать далее

Не буду я подключать посудомойку к вашему дурацкому облаку

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели24K
В эти выходные мне пришлось купить новую посудомоечную машину, потому что моя старая GE умерла.

Я купил машину Bosch серии 500, потому что её рекомендовали в журнале Consumer Reports и, что более важно, она нашлась в магазине.


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

Затачиваем меч для вайбкодинга

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

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

Читать далее

Google представила функцию Canvas в Gemini: что это такое, как получить доступ и чем она полезна

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

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

Canvas - не совсем новая концепция в ИИ-чатботах. Компания Anthropic запустила подобную функцию для Claude под названием Artifacts восемь месяцев назад, а OpenAI запустила аналогичную функцию в ChatGPT пять месяцев назад.

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

Странно, что Google потребовалось так много времени, чтобы реализовать ту же функцию в Gemini, но я рад, что они наконец сделали это. Но как именно работает Canvas в Gemini и что отличает ее от конкурентов? Давайте узнаем.

Читать далее

Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4

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

Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1 — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи.

Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению с сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux.

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

Читать далее

Как быстро найти цены на совместимую с Home Assistant бытовую технику: мой опыт автоматизации поиска цен

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

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

Недавно захотел подобрать себе робот-пылесос, а на сайте Home Assistant как обычно указаны только обобщенные интеграции. При этом на сайте Алисы приведены тысячи конкретных совместимых устройств, правда без цены и даже без указания выпускается ли до сих пор эта модель или нет.

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

Поиск цен через Гугл Таблицу

Уменьшаем размер двоичного файла на C# в 90 раз

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

Я написал на C# консольный клон Wordle, но попытался сделать двоичный файл максимально крошечным.

Я взял популярную игру Wordle с такими правилами:

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

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

В работе с консолью мне помогла игра Console Games - Snake

Проект запускается в новой консоли dotnet.

Читать далее

Linux-десктоп своими руками: Make Computers Fast Again

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

Уже говорил как-то, что в свое время перешел с Windows на FreeBSD в том числе из-за того, что FreeBSD работала быстрее на том же железе, и не требовалось плясок с бубнами, потому что в общем-то всё что нужно - настраивалось от и до.

Потом Linux - потому что лучше поддержка железа, ну и, в общем, никакого желания возвращаться на Windows уже не возникало.

Но время идёт, и вот последние версии Ubuntu до боли напоминают Windows своей неспешностью и сложнопредсказуемостью. А тут еще желание сделать удобный для работы десктоп из TV‑бокса...

В принципе, нашлась уже готовая Armbian‑сборка под мой TV‑бокс, с уже настроенным десктопом XFCE — но несмотря на то, что XFCE считается «легковесной» — она оказалась недостаточно легковесная, не настолько насколько мне бы хотелось.
Заметно подтормаживали окошки, всё в целом как‑то не так...

А ведь несмотря на свою «маленьковость» — компьютер‑то должен быть неплохим: 4Гб RAM, 4 ядра по 1.5ГГц, когда‑то подобные были вообще за пределами доступности, и ведь тогда «всё работало», и работало быстро, на гораздо более медленном железе.
Что же не так, неужели ARM в принципе тормозные процессоры?

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

Читать далее

Практическое руководство по выбору между ChatGPT, Claude, Gemini, Grok и Perplexity

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

Какой модели доверить свои задачи в 2025 году? От редактирования текста и кодинга до анализа видео с контекстным окном в 2+ миллиона слов — узнайте, какая модель решит именно ваши задачи и стоит ли платить за две подписки одновременно.

Читать далее

Использование JSONB-полей вместо EAV в PostgreSQL

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

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

Читать далее

Сериализация в Python с Pickle

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

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

Сегодня мы рассмотрим одну из самых известных, но одновременно спорных технологий Python — библиотеку pickle. Если вы когда‑нибудь задумывались, как сохранять объекты в виде байтового потока и затем восстанавливать их, то эта статья для вас.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Зарегистрирован
Активность