Pull to refresh
27
0

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

Send message

Система резервного копирования

Reading time25 min
Views79K


Эта статья — часть цикла о построении NAS, и написана под конкретный вид системы.


Резервное копирование — вторая основная задача, которую я хотел решить, используя NAS, после системы управления репозиториями.


Решение её затянулось...


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


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

Читать дальше →
Total votes 18: ↑9 and ↓90
Comments2

Дефицит чипов увеличился уже до 30%, индустрии грозит кризис продолжительностью в год

Reading time4 min
Views29K

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

Основная причина — цифровизация всего и вся, переход в онлайн, увеличение объемов трафика и т.п. Промышленность оказалась не готова к пост-ковидной реальности. В итоге мы получили глобальный дефицит на рынке микросхем, который угрожает нормальному ходу работы многих отраслей, от автомобилестроения до производства ноутбуков и промышленных систем.
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments49

Компактный контроллер для паяльника Ersa i-Tool. Часть 1

Reading time5 min
Views23K

Те, кому приходится паять время от времени, хорошо понимают, как влияет удобство и качество инструмента на результат работы. Лично мне нравится оборудование немецкой фирмы Kurtz Ersa, в частности паяльные станции, оснащенные паяльником i-Tool. Однако блок станции (например серии i-CON) представляет собой весьма громоздкое и тяжелое устройство, предназначенное для стационарного использования. А ведь иногда так хочется взять привычный инструмент с собой в отпуск на море в командировку или на выездную работу.


И тогда я озаботился вопросом создания более компактного варианта контроллера для паяльника от Ersa. Что из этого получилось, под катом. Первая (текущая) часть посвящена анализу оригинальной станции. Во второй (будущей) части будет рассмотрена разработка аппаратной части компактного контроллера, а также его программирование.

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

Поддержка C++ на avr в gcc

Reading time9 min
Views39K
Компилятор avrgcc поддерживает C++, однако в его поставку не входит ни стандартная библиотека, ни реализация ABI: служебных функций, вызовы которых вставляет сам компилятор. В результате люди пытаются реализовать те части, которые им нужны, самостоятельно и зачастую делают это не очень хорошо. Например, часто предлагается отстрелить себе ногу определив пустую функцию __cxa_pure_virtual(void) {} или подложить себе грабли, написав заглушки для __cxa_guard_acquire, __cxa_guard_release и __cxa_guard_abort. В данной статье я предлагаю разобраться, чего не хватает для счастья, где это взять или как написать.
Я знаю, что немло людей считает, что C++ на микроконтроллере не нужен. Их я прошу прочитать последний раздел статьи перед тем, как писать комментарии.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments33

Восстановление расфокусированных и смазанных изображений. Практика

Reading time10 min
Views347K
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.

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

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →
Total votes 459: ↑456 and ↓3+453
Comments141

Проприоцепция для неспециалистов. Часть 1: Ровная спина стоя за 10 секунд

Reading time2 min
Views81K
Совсем недавно мою статью о чувствах человека сильно штормило – оценка пользователей колебалась от +5 до -4. В комментариях отмечались такие забавные моменты, как:

Но да, я почитал про проприоцептивную чувствительность. Не занимательно — вычурные слова для того, чтобы показать превосходство профессионалов данной сферы
И при чем здесь количество чувств? По логике вашей статьи, вы не можете пользоваться кишечником, пока не осознаете как он работает.
Собственно, расписывание на более подробные «чувства» является лишь бесполезным уточнением. Автор же просто вводит удобные ему «чувства», ведь он «Врач-невролог, сертифицированный преподаватель соматики» и учит людей «двигаться легко и без боли» (с).

Урок из данной статьи займёт 10-15 секунд и он позволит вам найти то внутреннее ощущение, которое позволит удобно держать ровную спину стоя длительное время. Вы на собственном опыте сможете убедиться в том, стоит ли выделять отдельно проприоцепцию (суставно-мышечное чувство).
Total votes 35: ↑30 and ↓5+25
Comments65

VIM как IDE для разработки на Python

Reading time10 min
Views157K
image
Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.
Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.
Читать дальше →
Total votes 70: ↑58 and ↓12+46
Comments47

Привет из свободного от libc мира! (Часть 1)

Reading time5 min
Views28K
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →
Total votes 138: ↑126 and ↓12+114
Comments61

Mikrotik. Failover. Load Balancing

Reading time12 min
Views284K
Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

Давайте рассмотрим что же мы можем сделать:

Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments45

Дружим Git с Putty

Reading time2 min
Views51K
Disclaimer
Предварительно делал поиск по хабру с надеждой на подобный пост, смог найти только вот этот пост, в котором вся работа производятся через TortoiseGit.

Но это не наш метод. По той причине, что в этом случае все наши IDE не смогут сами сделать Push на сервер. Да и через Git Bash ничего не получится сделать на сервере.
почему мне нужно использовать Git в связке с Putty?
Так уж получилось, что я активно использую Putty с настроенными ключами для доступа к серверам. Ключей у меня не один. Git-репозитариев тоже не один.
Конечно же, можно нагенерить OpenSSH ключей для Git-а и разрулить их через ~/.ssh/config, но это получается двойная работа – поддержка ключей в Putty и отдельная поддержка для Git.



Итак, представим, что у нас девственно чистая система, в которой нет ни Putty, ни msysgit. Приступим к настройке нашего рабочего окружения.

Установка Putty


Качаем, устанавливаем, генерим и настраиваем ключ c Pagent (инструкция, ?).

Добавляем ключ на git-сервер


Копируем публичный OpenSSH ключ из Putty-ключа
Запускаем Putty key Generator
Открываем (кнопка «Load») наш PPK-ключ
Копируем весь текст из блока «Key»

Открываем страницу с SSH ключами и добавляем из буфера наш ключ
В картинках (на примере GitHub)






Создаём и сохраняем в Putty профиль «git@github.com» и проверяем, что удаётся зайти по ключу – должна открыться и сразу закрыться консоль.
В картинках





Устанавливаем и настраиваем msysgit

Дайте весь текст!
Total votes 39: ↑27 and ↓12+15
Comments23

Вторая жизнь старых стрелочных индикаторов

Reading time2 min
Views196K
Как-то попались мне в руки старые стрелочные индикаторы уровня от старого магнитофона, и я решил вдохнуть в них новую жизнь, сделав из них «хардварные виджеты» для отображения загрузки процессора и оперативной памяти компьютера.

image
Читать дальше →
Total votes 255: ↑251 and ↓4+247
Comments48

Трактат о радиотрактах или некоторые маркетинговые заблуждения о радиосвязи

Reading time9 min
Views35K
Написать данную статью побудило наличие в сети большого количества маркетинговых заблуждений, информации типа «радиооборудование, работающее на дальности в 100км», «радиооборудование работает на полностью закрытых трассах» и т.п. В принципе, маркетинг на то и существует, чтобы приукрасить тот или иной продукт, однако сейчас всё чаще и чаще сталкиваюсь с тем, что многие коллеги воспринимают данные маркетинговые заявления за чистую монету. В статье постараюсь озвучить и обосновать некоторые утверждения, которые конкретизируют некоторую «маркетинговую информацию».
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments19

Паяльная станция своими руками на базе Arduino

Reading time6 min
Views286K
Всем привет! Как-то я затронул тему паяльной станции на Arduino и сразу меня завалили вопросами (как/где/когда). Учитывая массовость запросов, я решил написать обзор простой паяльной станции (только паяльник) на базе Arduino.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments73

Переходим с STM32F103 на К1986ВЕ92QI. Или первое знакомство с российским микроконтроллером

Reading time8 min
Views171K

Введение


В преддверии нового года я, как и многие россияне, активно следил за состоянием зарубежной валюты. Но не просто из-за собственного интереса, а из-за того, что на тот момент заканчивал свое устройство, которое требовалось показать на школьной и районной конференции. Так как в названии работы было такое слово как «бюджетное», то приходилось в презентации указывать стоимость каждого компонента, вплоть до резисторов и перемычек. Изначально, когда доллар стоил порядка 30 рублей, устройство и вправду было бюджетным. Как при домашней сборке, так и при конвейерной. Но когда цена доллара перевалила за 100 рублей, я решил, нужно искать альтернативу зарубежным компонентам.

К этому моменту уже как несколько месяцев изучал работу микроконтроллеров STM32F100 и STM32F103, применяя их на практике в презентационном устройстве. От таких гигантов, как STM32F429, мне пришлось отказаться. Так как стоимость в 1800 рублей за корпус является заоблачной для «бюджетного» устройства, функционал которого только начал превосходить возможности AVR Atmega32.
Читать дальше →
Total votes 81: ↑72 and ↓9+63
Comments56

Как происходит рендеринг кадра видеоигры

Reading time5 min
Views65K
Deus Ex Human Revolution — это компьютерная игра 2011 года, которая является более успешным продолжением оригинальной Deus Ex, чем Invisible War. Но этот пост не о качестве игры, а о демонстрации её технических принципов. Адриан Курреж провёл несколько часов за реверс-инжинирингом, пытаясь понять с помощью инструмента Renderdoc, как происходит обработка каждого из кадров Human Revolution. Затем Адриан изложил результаты в своём блоге.
Осторожно, трафик
Total votes 101: ↑98 and ↓3+95
Comments8

Wi-Fi термометр на ESP8266 + DS18B20 всего за 4$

Reading time3 min
Views311K


В последнее время всё большую популярность набирают Wi-Fi модули на основе ESP8266. Я тоже решил приобщиться к прекрасному, задумав реализовать термометр, отдающий данные по HTTP. Итак, поехали.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments74

Документируем код эффективно при помощи Doxygen

Reading time18 min
Views344K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

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

В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоиться и начать работать с этой замечательной системой.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments39

IPv6 теория и практика: введение в IPv6

Reading time7 min
Views136K
Этой статьёй я хочу начать цикл, посвященный IPv6. Я являюсь инструктором академии Cisco, поэтому, если вы в совершенстве знаете материал нового CCNA Routing & Switching, то скорее всего, не найдёте в цикле ничего нового. Речь пойдёт о структуре и особенностях протокола IPv6, а также, применении его на маршрутизаторах Cisco (маршрутизация RIP, OSPF, EIGRP, списки контроля доступа, и др. – как пойдёт). В первой статье мы поговорим о структуре IPv6 пакета, записи адресов, префиксе. Вторая статья цикла доступна здесь. Информация подойдёт для новичков, имеющих, тем не менее, некоторые знания по IPv4 и модели OSI.
Цикл статей основан на материалах моего блога, которые, в свою очередь, основаны на опыте преподавания, работы с оборудованием и вольном переводе и обдумывании официального курса CCNA Routing & Switching.
Итак, начнём. Не буду останавливаться на стандартных рассуждениях о том, что IPv4 адресов мало, о том, что NAT и прокси – это костыли, о том, что костыли пока работают, и никто не хочет переходить на IPv6, вместо этого – сразу к сути.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments42

Строим стенд для подготовки к CCIE при помощи IOU Web Interface

Reading time3 min
Views56K
Данная статья посвящена созданию собственного виртуального стенда для подготовки к лабораторной работе CCIE RS.

Как известно подготовка к экзамену CCIE является своеобразным подвигом в сетевом мире. Для успешной сдачи кандидат должен вложить уйму ресурсов: времени и денег. Помимо оплаты за сам экзамен необходимо, оплатить учебные материалы, оплатить поездку и.т.д. Одной из статей затрат является организация учебного стенда для подготовки. Рассматривая популярную топологию INE из одноименного воркбука, видно, что понадобится 9 роутеров и 4 свитча. Перечислю классические способы реализации в порядке убывания стоимости:

1. Покупка полного стенда домой из старого железа на ebay.
2. Аренда стойки.
3. Смесь виртуальных роутеров из GNS3 и реальных коммутаторов.
4. IOU.

Про плюсы и минусы каждого из методов уже писали на хабре. Остановимся на самом дешевом (что выгодно, если ваш работодатель не оплачивает вам обучение).
Прежде чем поставить задачу и начать её выполнение стоит упомянуть, что использование IOU не законно, если ты не сотрудник Cisco. Даже для обучения.

Задача статьи: организовать учебный стенд используя топологию INE и веб интерфейс для IOU.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments10

Information

Rating
5,110-th
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity