Создаём королевскую форму для приёма банковских карт
В этой статье я дам рекомендации по созданию платёжных форм, которые будут выгодно отличаться от форм ваших конкурентов. Каждый пункт рекомендаций будет сопровождаться примером кода. Полный пример кода, включающий адаптивную вёрстку, реализацию валидационных тултипов, и прочих мелочей опущенных для краткости в самой статье вы можете посмотреть здесь.
В рамках этой статьи мы не рассматриваем привязку формы к какому-то конкретному мерчант, мы лишь делаем её более отзывчивой.
Для создания формы мы будем использовать следующие инструменты:
- Нативный JS
- BinKing — вспомогательный сервис для создания платёжных форм: https://github.com/sdandteam/binking
- IMask — инструмент для создания масок полей ввода: https://imask.js.org/
Tippy — инструмент для создания тултипов: https://atomiks.github.io/tippyjs/
Как улучшить DJI Spark на 7%
Друзья, всем привет!
В данной статье я рассказываю о том, как я пытался увеличить время полёта своего квадрокоптера и что у меня из этого вышло.
Сжатие и передача потокового видео по TCP с помощью OpenCV
Задача заключалась в следующем:
1. Написать программу сервер, которая загружает видео из файла, сжимает в JPEG и передает по протоколу TCP программе клиенту.
2. Написать программу клиент, которая принимает видео по TCP, декодирует и отображает.
Ускорение WordPress. Тотальный разбор плагинов для кэширования. Личный опыт (часть 1)
Что делать, если сайт на WordPress грузится медленно? Ответ на самом деле прост – настрой кеширование. Можно ещё заниматься оптимизацией изображений, настройкой lazy loading и прочими хитростями. Но кеширование всё равно остаётся ключевым способом ускорения любого сайта на Вордпресс. Кажется, всё просто, зайди в Google, напиши "WordPress cache", найди статью, где больше всего картинок, скачай упомянутый в статье плагин и выстави настройки согласно скриншотам. При любом раскладе твой сайт сразу начнет работать в разы быстрей.
Но дьявол, как обычно, кроется в деталях. В интернете есть самые разные обзоры и сравнения плагинов кеширования. И за столько лет кто-то же должен был выдать идеальный рецепт? Но нет. Все эти обзоры сводятся к тезису: «мы сделали 10 одинаковых сайтов, установили плагины с дефолтными настройками и смотрим, где страница загрузилась быстрее». При этом все забывают, что нюансов при оптимизации кеширования вагон и маленькая тележка. Похоже, эта статья первая, которая примет во внимание реальное поведение пользователей на сайте, вместо сравнения скорости загрузки одной страницы в тепличных условиях.
Используя бестселлеры с Themeforest или, те же конструкторы, вроде Elementor, WP Backery и прочие, сайт обречен на 5-15 секунд TTFB (time for first byte, время ответа сайта) при загрузке КАЖДОЙ страницы. С одной страницы может быть несколько сотен обращений к базе данных, выполняться большое число php-функций, подключаться множество библиотек. Естественно, что такая скорость недопустима, она влечет за собой понижение в поисковой выдаче, "отказы" посетителей, сливы бюджетов на рекламу и так далее. С этим нужно что-то делать.
Шлюз для почтового сервера
У компании имеются удаленные партнерские филиалы, равномерно распределенные по всей Западной Европе, использующие один почтовый сервер. К сожалению, бюджет IT-отдела не очень большой, а пользователей достаточно много (около 700 почтовых аккаунтов). Использовался, да и сейчас используется для почты Exchange 2010 с последними обновлениями и более-менее настроенными правилами фильтрации спама, а вот с антивирусом как-то не заладилось. Купленное решение отказывалось нормально работать, раздувая очередь входящей корреспонденции до неприличных размеров и вешая намертво всю почту. (Да, я знаю, что все best practice говорят о необходимости и edge-сервера, и отдельно сервера архивации, но что было на тот момент, то и было.)
Берем инициативу в свои руки. К большому своему удивлению, найти развернутый мануал по решению такой проблемы сходу не удалось, так что возникла идея поделиться своими пробами и ошибками в рунете.
Управляем освещением в квартире (NooLite, Raspberry Pi и WebIOPi)
О системе NooLite неоднократно писали на хабре:
- NooLite — система радиоуправления освещением, или первый шаг к умному дому
- NooLite-2, или умный дом для чайников
- поискать на Хабре по тегу «noolite» или набрать в поисковой строке гугла «site:habrahabr.ru noolite»
В данной статье я расскажу:
- об установке и настройке WebIOPi на предустановленную Raspbian в контексте использования UART для передачи команд на модуль MT1132 NooLite
- о макросах в фреймворке WebIOPi для связывания запросов в стиле HTTP REST с GPIO UART
- о написании простого клиента на платформе Android для управления светом через REST дырки
Deprecated! Автоматизация получения сведений из ЕГРЮЛ с помощью Freepascal
В своей работе (юридической) я готов автоматизировать всё, что только поддаётся этому. Но пока прокачанные нейросетями роботы из утопии Германа Грефа не появились и не отняли всю работу у рядовых юристов, рутина надолго останется нашим главным спутником. Автоматизация этой рутины — то, чем я периодически занимаюсь на протяжении последних лет, будь то многочисленные таблицы в excel с кучей формул, позволяющих быстро распечатать сотню однотипных документов-рассылок в word'е, ну или автоматически генерируемые отчеты. Но есть и такие вещи, которые простыми формулами и подстановками не сделаешь. Здесь на помощь приходит программирование, которым я увлекаюсь с детства, и так уж вышло, что началось это с delphi. Сейчас мне проще, чем в C# или python, осваивать которые начал недавно, сделать быстро какой-то проект в среде Lazarus, используя freepascal. И да, я на полном серьёзе считаю, что возможностей этой среды более, чем достаточно. Поэтому автоматизировать ЕГРЮЛ, как вы догадались, предстоит с помощью паскаля.
Комментировать или не комментировать?
без которого вам удалось обойтись.
Дядюшка Боб
В последнее время меня стали очень утомлять оживлённые дебаты о том, нужно ли комментировать код. Как правило, по одну сторону баррикад — самоуверенные джуниоры, имеющие непререкаемую позицию вида «А как же его не комментировать, ведь без комментариев непонятно будет!». По другую — умудрённые опытом сеньоры. Они понимают, что если возможно обойтись без комментариев, то «Лучше бы, чёрт возьми, так и сделать!». Наверное, у многих жажда комментировать идёт со студенческой скамьи, когда товарищи преподаватели заставляли комментировать каждую строчку, «чтобы студент лучше разобрался». В реальном проекте не должно быть кучи комментариев, которые только и делают, что засоряют код. Впрочем, я не агитирую вообще не писать комментарии, но если вам удалось написать такой код, который не требует пояснений, то расценивайте это, как свою маленькую победу. Сразу хотелось бы сослаться на нескольких очень умных книжек, на основе которых формировалась моя позиция. Я люблю и уважаю авторов этих работ, полностью разделяя их мнение.
SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс
Введение
Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как один из вариантов упрощения реализации этих требований, рассматривалась возможность встроить в устройство считыватель смарткарт или установить смарткарточный чип, в котором уже были реализованы многие необходимые сценарии работы с ключевой информацией.
К сожалению, тогда подобное решение не подошло по некоторым причинам, хотя если бы удалось использовать уже готовую российскую аппаратную криптографию, то это должно было значительно ускорить разработку и последующую сертификацию конечного изделия. А причины невозможности использования USB токенов или смарткарты были весьма банальны: устройство должно было быть довольно компактным (небольшой модуль для M2M или IoT устройств), эксплуатироваться преимущественно в необслуживаемом режиме и работать в широком температурном диапазоне.
В этой статье я хочу рассказать о возможном решении подобного кейса с использованием чипа A7001, который подключается к системе через I2C интерфейс.
Главное здание МГУ в Wikipedia
Начинаем читать с Истории строительства…
ru.wikipedia.org/w/index.php?title=%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B5_%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9C%D0%93%D0%A3&oldid=4224409
Практические аспекты использования DHCP relay+option82
Базовые подходы к парсингу
Вступление
У меня бывают ситуации на проектах, когда нужна база данных какой-то статической информации. Но увы, пошарив в интернетах, какого то публичного хранилища найти не удалось, но тем не менее, я вижу кучу ресурсов, которые это используют.
В моем случае мне понадобилась база данных пород кошек, но среди этих примеров может быть что угодно, от базы данных имен, названия городов, областей и т.д. Эта статья о базовых подходах и практиках парсинга данных с веб ресурсов.
Хочу подметить, что хоть в моих жилах течет дотнет, в этом примере я буду использовать Node JS, потому что так быстрее, и удобнее в плане парсинга. Чем именно удобней - я расскажу позже в статье.
Можем ли мы спарсить?
Да, к сожалению (или счастью) веб - он не однообразен, и каждый ресурс может быть уникален по своему, но в нашем деле, ключевым моментом будет то, есть ли на этом ресурсе Server-Side Rendering (SSR), или там Client-Side Rendering и важная для нас информация подтягивается позже с помощью JS.
К примеру, нативные апки на React или тот же Angular by default есть CSR. И что бы прикрутить там SSR нужно порой очень сильно попотеть.Тем не менее, большинство сайтов с топ серч результатов любой поисковой системы будут поддерживать именно SSR, потому что таков мир SEO-оптимизаций.
Флейты, программист и производство
Я запустил производство флейт Пана "Arra Lazur" и продолжаю его развивать по настоящее время.
Удалось достигнуть определенных успехов и я хочу поделиться ими, а также результатами проделанных экспериментов. И ответить на ряд вопросов:
Чем плохи существующие подходы к изготовлению?
При чем тут программирование?
Как удалось автоматизировать процесс производства?
С какими трудностями столкнулся?
Ускорение WordPress. Тотальный разбор плагинов для кэширования. Личный опыт (часть 2)
В этой части я подробно рассмотрю принцип работы каждого плагина, о которых говорил в первой части, а также приведу код с доработками для закрытия проблем плагинов. Кратко все преимущества и недостатки, основные выводы я уже сделал в первой части статьи.
Умный в гору не пойдет
Всем привет!
Небольшая статья о нахождении оптимального маршрута
Роботрон. Как восстановить клавиатуру из 1987г. для чайников
Очень давно на Хабре мною была прочитана статья о механических клавиатурах, свичах их разновидностях и всём таком. Естественно мне захотелось причаститься к секте кнопкопоклонников и сделать свою также для себя же. Но вместе с тем я не хотел кидаться с места в карьер неизведанных знаний (да и куча других незавершённых проектов давила на совесть) и решил потренироваться сначала «на кошечках». Желание засело в мозгу, запрос был сформирован, отослан в ноосферу и осталось только ждать.
И вот однажды «кошечки» ко мне постучались сами…
Дамп разделов TV-бокса на чипе RK3528
Заметил в продаже новенький TV-бокс H96 MAX M1 на чипсете Rockchip RK3528, с 4Гб памяти, новым 13-м Андроидом, и подозрительно дешевый. Зная, что на старых чипах Rockchip уже запускали Линукс, я решил заказать и попробовать.
Можете заметить разъёмы питания/USB/HDMI/AV... Как думаете, в чём подвох? Наверное на другом боку еще пара USB и слот для карты памяти, но нет - других разъёмов для вас нет. Сразу напишу - разработчикам такое покупать не стоит, это создаёт много проблем, но раз уж купил - то работаю с чем есть.
Для запуска Линукс первым делом надо получить оригинальный Device Tree, вытащив .dtb из boot или recovery раздела. Этим я и занялся. Rockchip устройств у меня еще не было и по отзывам у меня складывалось ощущение производителя, что не ставит палки в колёса разработчикам, но оказалось - это уже в прошлом.
Инструкции написаны для пользователей Линукс.
Об этимологии логотипа Хабрахабра / On ethimology of Habrahabr's logo
Ну и вот, вспоминая тесты Роршаха, в сознании родился след. мысленный ряд:
1. Шаб-Ниггурат
Материал из Википедии — свободной энциклопедии
ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1-%D0%9D%D0%B8%D0%B3%D0%B3%D1%83%D1%80%D0%B0%D1%82
Шаб-Ниггурат (англ. Shub-Niggurath), также Чёрный Козерог Лесов с Тысячным Потомством (иначе Чёрный Козёл Лесов с Тысячью Младых) — богиня плодородия, персонаж мифического пантеона (см. Мифы Ктулху), выдуманного Говардом Лавкрафтом. Впервые упоминается в его рассказе «Последнее испытание» («The Last Test», 1928). У самого Лавкрафта ни разу не описывается, в отличие от его продолжателей, но неоднократно поминается
в заклинаниях и воззваниях.
Шаб-Ниггурат описывается как туманная, облакоподобная масса cо множеством длинных, чёрных щупалец, роняющими слизь ртами и короткими козлиными ногами. Её сопровождают множество порождённых ею мелких монстрообразных существ, которых она постоянно извергает из себя, а затем снова пожирает и переваривает.
Из всех существ мифического пантеона Мифов Ктулху, культ Шаб-Ниггурат описывается как наиболее распространённый. Ей поклоняются даже внеземные Ми-го.
Проведя должным образом обряд, можно вызвать Шаб-Ниггурат в любом лесу в новолуние.
Имя Шаб-Ниггурат использовано в компьютерной игре Quake: порождённые ею монстры прорываются в мир людей, и герой должен пробиться через полчища чудовищ в причудливом готикоподобном мире, чтобы уничтожить тварь, в которой нетрудно опознать представителя Тёмного Потомства Шаб-Ниггурат. По странному стечению обстоятельств, этот представитель сам носит имя Шаб-Ниггурат, хотя явно ею не является.
Заключение: вот мы кто, Хабралюди! (мелкие монстрообразныe существа)
2. Flying Spaghetti Monster (за минусом фрикаделек)
From Wikipedia, the free encyclopedia
en.wikipedia.org/wiki/Flying_spaghetti_monster
Машинный перевод:
www.google.com/translate?u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFlying_spaghetti_monster&langpair=en%7Cru&hl=uk&ie=UTF8
Flying Spaghetti Monster — это божество в религии пародия называется Церковь Flying Spaghetti Monster. [1] The religion was founded in 2005 by Oregon State University physics graduate Bobby Henderson to protest against the decision by the Kansas State Board of Education to require the teaching of intelligent design as an alternative to biological evolution .[1] религия была основана в 2005 году, Oregon State University физике выпускников Бобби Хендерсон протеста против Решение Канзас штата по вопросам образования требовать преподавания умный проект в качестве альтернативы биологической эволюции. In an open letter sent to the education board, Henderson professes belief in a supernatural Creator called the Flying Spaghetti Monster, which resembles spaghetti and meatballs.В открытом письме, направленном управлением образования, Хендерсон исповедует веру в сверхъестественное Организатор называется Flying Spaghetti Monster, напоминающая спагетти и meatballs. [2] He furthermore calls for the «Pastafarian» theory of creation to be taught in science classrooms.[2] Кроме того, он призывает к «Pastafarian» теории творения, которые будут преподаваться в учебных науки. [3] Followers of the Flying Spaghetti Monster (FSM) call themselves Pastafarians, a portmanteau of pasta and Rastafarian .[3] Последователи Flying Spaghetti Monster (ФСМ) называют себя Pastafarians, обобщающим пасты и растафарианство.
Because of its recent popularity and media exposure, the Flying Spaghetti Monster is used by atheists and agnostics (known by Pastafarians as «spagnostic») as a modern version of Russell's teapot.Благодаря своей популярности и недавно в средствах массовой информации, Flying Spaghetti Monster используется атеистов и агностиков (известных как Pastafarians «spagnostic») в современной версии Рассел в чайник.
Заключение: а это — идеи еретиков!
Вывод: тысячи Ми-го не могут ошибаться! ru.wikipedia.org/wiki/%D0%9C%D0%B8-%D0%B3%D0%BE
Iä! Shub-Niggurath!