Как стать автором
Обновить
0
0
Павел Кучеренко @NCC

IT, разработчик ПО, автоматизация бизнеса

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

Уходим с «Яндекс.Почты» на свой почтовый сервер

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

17 апреля 2023 года «Яндекс» отключает бесплатную почту для бизнеса и предлагает платить от 249 до 1399₽ за юзера в месяц. Если не оплатить услуги, все аккаунты «Яндекс 360» будут принудительно переведены в режим чтения, то есть читать письма будет можно, а отвечать на них — нет.

Переход на платные тарифы обязателен для всех доменов (включая семейные аккаунты) с количеством пользователей больше трёх.

Конечно, легче всего согласиться на условия и оплатить требуемую сумму. На это и рассчитывает провайдер, что 99% клиентов молча заплатят деньги, ведь у них нет другого выхода… Но на самом деле выход есть.

Если в двух словах, можно взять недорогой VPS, поставить туда один из свободных почтовых серверов и сэкономить пару тысяч рублей. Или сотен тысяч, смотря сколько у вас сотрудников. Финансовая раскладка под катом.
Читать дальше →
Всего голосов 58: ↑53 и ↓5+63
Комментарии189

«Чистый» код, ужасная производительность

Время на прочтение16 мин
Количество просмотров66K
Один из самых часто повторяемых советов программистам, особенно начинающим — это рекомендация писать «чистый» код. Она сопровождается длинным списком правил, сообщающих, что нужно делать, чтобы код был «чистым».

На самом деле, большая доля этих правил не влияет на среду исполнения кода, который вы пишете. Подобные правила невозможно оценить объективно, да это и необязательно, ведь на этом этапе они достаточно произвольны. Однако есть правила «чистого» кода, на которые делают особый упор — это правила, которые можно измерить объективно, поскольку они влияют на поведение кода в среде исполнения.

Если посмотреть на список правил «чистого» кода и вытащить из него правила, которые действительно влияют на структуру кода, то мы получим следующее:

  • Отдавайте предпочтение полиморфизму, а не «if/else» и «switch»
  • Код не должен знать о внутреннем устройстве объектов, с которыми он работает
  • Функции должны быть маленькими
  • Каждая функция должна выполнять одну задачу
  • Принцип «DRY» — Don’t Repeat Yourself («не повторяйся»)

Эти правила достаточно чётко формулируют то, как должен создаваться конкретный фрагмент кода, чтобы быть «чистым». Но я задам такой вопрос: если мы создадим фрагмент кода, соответствующий этим правилам, какова будет его производительность?
Читать дальше →
Всего голосов 192: ↑156 и ↓36+149
Комментарии372

Тирания позитивного мышления угрожает вашему здоровью и счастью

Время на прочтение7 мин
Количество просмотров81K
Каждый слышал такое: «просто будь на светлой стороне!» или «счастье — это выбор, просто будь счастливым!». Бесконечные книги «помоги себе сам» или «как быть счастливым» заполняют полки книжных магазинов. Книга «Ни Сы» Джен Синсеро (приведено название русского издания, в оригинале «You Are a Badass», прим. перев.) была в списке бестселлеров Нью-Йорк Таймс в течение 32 недель, а «Сила позитивного мышления» Нормана Винсента Пила («The Power of Positive Thinking», Reverend Norman Vincent Peale), опубликованная в 1952 году и переведённая на 15 языков, до сих пор популярна. Идея того, что вы можете быть счастливым, если вы просто захотите этого, глубоко интегрирована в американскую армию, школу, и на рабочие места, и призвана улучшить производительность труда, душевное здоровье и способность справляться с жизненными трудностями.


Читать дальше →
Всего голосов 90: ↑83 и ↓7+76
Комментарии297

Радиомодули для arduino JDY-40

Время на прочтение1 мин
Количество просмотров51K
image

Приветствую всех. На просторах aliexpress наткнулся на очередное китайское творение, из раздела "Беспроводные модули для arduino". Ранее подобные модули с аналогичными возможностями за столь малые деньги мне не попадались. Вот я и решил сделать обзор данного модуля. Возможно, кого-то он заинтересует. Речь пойдет о маломощном трансивере JDY-40, работающем на частоте 2,4 Гигагерца. Работать с модулем очень просто, для настройки модуля используются ат команды, которые передаются по USART.

Всего голосов 54: ↑47 и ↓7+40
Комментарии22

Тёплый ламповый телефон

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


После просмотра первой “Матрицы” все загорелись мобильниками типа слайдер, а вот мне захотелось кошерный карболитовый дисковый телефон. Поглядев на ебее конские цены на подобные аппараты, плюс не менее конские цены на доставку в деревню Москва, то я глянул в сторону молотка, и, о чудо, моему взору предстал сей прекрасный аппарат, всего за 400 рублей (~10 €).

Но интересно же не только получить вещь, но почистить её, починить, настроить и за одно поглядеть, как же она устроена. Так вот и приступим к вскрытию сего ретропациента.
Читать дальше →
Всего голосов 127: ↑92 и ↓35+57
Комментарии92

Проект RetroGSM, или как удивить бабушку

Время на прочтение8 мин
Количество просмотров62K
Для начала посмотрите тизер:

(если вдруг Vimeo отказывается работать, ссылка)
Что это было?
Всего голосов 107: ↑98 и ↓9+89
Комментарии54

Криптография русского крестьянина

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

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

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

Умножение методом русских крестьян


Если вы не знали о нём раньше, то это довольно любопытный подход к умножению, который не требует запоминания таблиц умножения — для него достаточно способности удваивать и делить пополам целые числа. Не очень понятно, как он относится к русским крестьянам: похоже, так же, как «датская сдоба» к Дании. Этот метод был известен ещё древним египтянам, которые явно жили намного раньше русских крестьян.

Общее описание метода просто, но не слишком информативно. Тем не менее, давайте начнём с него.
Читать дальше →
Всего голосов 80: ↑79 и ↓1+78
Комментарии15

Невероятно эффектная цветомузыка на Arduino и светодиодах

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

Чего только самобытные мастера не придумают. От трехцветных моргалок до лазерных многолучевых установок с управлением по MIDI интерфейсу.



Как большой поклонник, так называемых адресных светодиодов, хочу показать вам очень простую и удивительную цветомузыку. Я вообще такой ни разу не видел. Пока не собрал за один вечер. Итак, визуализатор звука!
Всего голосов 51: ↑46 и ↓5+41
Комментарии116

Чатбот, который «как Siri, только круче» на наивном Байесовском классификаторе

Время на прочтение4 мин
Количество просмотров17K
Всем, привет! Не секрет, что в последнее время в мире происходит резкий всплеск активности, по поводу исследования такой темы, как искусственный интеллект. Вот и меня это явление не обошло стороной.

Предыстория


Всё началось, когда в самолёте я посмотрел типичную, на первый взгляд американскую комедию – «Почему, он?» (англ. Why him? 2016). Там, у одного из ключевых персонажей в доме был установлен голосовой помощник, который нескромно позиционировал себя «как Siri, только круче». К слову бот из фильма умел не только вызывающе разговаривать с гостями, иногда ругаясь матом, но также контролировать весь дом и прилегающую территорию – от центрального отопления до смыва унитаза. После просмотра фильма, мне пришла идея реализовать что-то подобное и я начал писать код.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии13

Тестирование БД мобильного Delphi-приложения

Время на прочтение10 мин
Количество просмотров9K
В предыдущем материале «Выбор СУБД для мобильного Delphi-приложения», как следует из его названия, был показан первый этап в разработке той подсистемы приложения, что отвечает за хранение и бо́льшую часть обработки его данных; уточнение про «бо́льшую часть» сделано неспроста, т. к. в итоге обозначенный выбор пал на СУБД Interbase именно из-за возможности применять хранимые процедуры (ХП), которые и стали сосредоточением основной логики по работе с данными, оставляя за Делфи-кодом несложную задачу по их вызову.

Для лучшего понимания необходимости тестирования в данном конкретном случае, нужно отметить, что в описанном проекте изначально была задана довольно высокая планка качества, поддержание которой в части функционала, реализованного в процедурах, достиглось, в том числе, за счёт автотестов, проверяющих ключевые ХП (они ответственны за критический для приложения функционал – систему рекомендаций). Именно один из способов организации такого тестирования – на основе DUnitX и XML – и является предметом статьи.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1

Демо доступ к IOT платформам

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


Не просто найти ресурсы, которые дают возможность познакомиться с возможностями IOT платформ в «живом» демо доступе. Большинство компаний предоставляют этот сервис по специальным запросами или дают возможность познакомиться с системами в демо роликах. В этом посте приводятся ссылки на сайты компаний, которые дают эту возможность. Кроме возможности посмотреть работу платформ, они обладают особенностями, которые выделяют их в большом потоке рождающихся IOT сервисов.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Подключаем Arduino к Mikrotik. Дешевое и сердитое удаленное управление нагрузками

Время на прочтение4 мин
Количество просмотров30K
Хочу рассказать вам об одной интеграции «на коленке», которая тем не менее работает в моей домашней лаборатории уже несколько месяцев без каких-либо проблем.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии16

101 бесплатный сервис для дизайнера

Время на прочтение10 мин
Количество просмотров206K
Представляем вам подборку бесплатных сервисов для дизайнера. Это первый вариант, в дальнейшем планируем расширять, добавляя новые разделы и инструменты.


Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии13

Пилим каталог товаров не притрагиваясь к реляционной алгебре

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

Здравствуйте, меня зовут Дмитрий Карловский и я… давно не занимался бэкендом, но на днях вдруг наткнулся на мучения SbWereWolf по натягиванию ужа на ежа и не смог удержаться от соблазна сдуть пыль со своего мульти-инструмента OrientDB да оттяпать им чего-нибудь этакого.


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


Разбирать мы будем вот этот вот реляционный звездолёт:


17 таблиц


А собирать вот такой вот графовый скворечник:


5 классов

Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии38

Полезные трюки PostgreSQL

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


В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии28

85% сотрудников забивает на системы управления проектами. Как мы делаем свою

Время на прочтение5 мин
Количество просмотров32K
Последние 10 лет для ведения проектов мы пользовались такими системами как YouTrack, Jira, Asana, Slack, SmartSheet, BaseCamp, Trello и даже белой доской, а также постоянно тестировали что-то новое. По нашему мнению, главная проблема всех систем управления в том, что люди в компании попросту забивают на её использование. А было бы здорово, если информация на все отделы распространялась из одной системы и вся команда сама активно постоянно ей пользовалась.

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

Для начала хотели реализовать 2 вещи:

  • Секундомеры на каждой задаче, потому что было ощущение, что это позволит точнее понимать как расходуется время в команде;
  • Универсальность. Предполагали, что отдел разработки, поддержки и все остальные отделы могут работать в одной системе.



Мы с головой ушли в это ответвление компании, разработка идёт уже 10 месяцев, а с нового года взяли ещё человека на мобильные версии. Сейчас открыто бета-тестирование, более 50 команд активно пользуется нашей системой. Под катом хотим поделиться тем, что у нас получилось и рассказать о том, какие кастомные подходы к управлению проектами оказались провальными.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии32

Измеряем концентрацию CO2 в квартире с помощью MH-Z19

Время на прочтение4 мин
Количество просмотров99K
Практически любая метеостанция, включая дешевые китайские модели за несколько долларов, умеет измерять основные параметры воздуха — температуру и влажность. С углекислым газом все сложнее: бытовых приборов, способных его измерять, практически нет в продаже. Усложняет ситуацию и то, что CO2 — газ без цвета и запаха, так что «носом» ощутить его концентрацию практически невозможно.

Подробности и измерения под катом.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии59

Инерционный трекер на базе Arduino и GY-85

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

Привет Хабр. Head tracker, иногда его же называют инерционный трекер — устройство, которое отслеживает движение головы в пространстве, то есть в трёх осях — X,Y,Z.

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


Данное видео, по большей части, дублирует текст статьи.
Подробнее...
Всего голосов 9: ↑9 и ↓0+9
Комментарии28

Интернет магазин с нуля. Часть 1: Начало

Время на прочтение6 мин
Количество просмотров77K
В первую очередь эта статья предназначена тем, кто планирует или только рассматривает вариант запуска своего бизнеса.
Оглядываясь на 15 летний опыт работы в IT c бизнес процессами, решил, написать данный мануал. Это будет серия статей, так как материал выходит объемистый.

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



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

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

Я не буду касаться того, какой товар вам следует продавать или какие услуги стоит оказывать. Этот выбор за вами. Мы возьмем за аксиому, что товар уже выбран и профит (начальный) просчитан.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии76

Загрузка скетчей в Arduino через Bluetooth

Время на прочтение4 мин
Количество просмотров104K
Программируя Arduino, иногда желательно обойтись без физического соединения через USB к компьютеру, например:

  • Силовые цепи — коммутирование 220В. Одна ошибка в соединении и прощай USB-контроллер любимого ситемного блока.
  • Радиочастотные цепи — много наводок по питанию.
  • Собранные и где-то закрепленные устройства, которые желательно перепрошивать, но неудобно к ним подлезать.

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

Плата Arduino подключена к Bluetooth модулю для беспроводной заливки
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии32

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность

Специализация

Software Developer, 1C Developer