Удаление лишних пробелов в строке с помощью php


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

Читать далее «Удаление лишних пробелов в строке с помощью php»

Новая версия класса SendMailSmtpClass. Отправка файлов через smtp с авторизацией по протоколу SSL на php


Больше четырех лет назад, я написал для своих нужд небольшой класс, для отправки писем через smtp. Это была первая версия SendMailSmtpClass. Через несколько месяцев после публикации класса и статьи о нем, на блоге прилично увеличилась посещаемость, и почти все поисковые запросы, так или иначе, были на тему отправки писем через smtp. Спустя еще 8-9 месяцев я немного дописал класс, теперь он смог отправлять письме через smtp с возможностью авторизации по ssl. Продолжение темы также стало быстро популярно среди посетителей сайта. И даже спустя 4 года темя не теряет своей актуальности, о чем может свидетельствовать десятки комментарием под статьями. А также, если верить метрике, то за последний месяц эти две статьи прочитало больше двух тысяч человек.
Выходит, что тема нужная и популярность ее не угасает. Но, судя по комментариям и письмам с вопросами, которые мне приходят на почту, то класс имеет свои недостатки. Самым большим, из которых является не удобная отправка файлов. Поэтому я решил немного обновить класс SendMailSmtpClass и добавить в него несколько улучшений.

Читать далее «Новая версия класса SendMailSmtpClass. Отправка файлов через smtp с авторизацией по протоколу SSL на php»

Пример использования EEPROM. Хранение настроек в arduino


Не всегда есть возможность полностью отладить устройство и прошить с нужными настройками. Это может быть связано с разными факторами: иногда подстройка производится только после установки девайса, иногда просто со временем нужно внести корректировки в работу и т.д. Для таких случаев можно использовать подстроечные резисторы, но это не всегда удобно, например, если придется менять сразу десяток конфигураций. В таких случаях можно воспользоваться, встроенной в arduino, энергонезависимой памятью – EEPROM. Ей не страшно отсутствие питания или перезагрузки устройства, данные останутся в памяти.
Я как-то писал статью про подстроечный резистор и обещал продолжение. Пришло время сдержать обещание и немного расширить функционал из старой статьи.

Читать далее «Пример использования EEPROM. Хранение настроек в arduino»

GSM модуль NEOWAY M590. Звонки и отправка SMS с помощью arduino


В одном из устройств, которое должно работать автономно, появилась необходимость периодически отправлять уведомления – уровень заряда аккумулятора, а так же информацию о нескольких датчиках. Поскольку девайс будет находиться в таком месте, где нет интернета и на расстоянии в несколько десятков километров от пользователя, было решено использовать в качестве уведомлений – отправку смс. Покопавшись на сайте aliexpress, я нашел давольно много различных GSM модулей, которые способны отправлять смски. Но как и водится, выбор пал на самый дешевый — GSM модуль NEOWAY M590. У этого модуля есть много различных вариаций исполнения, но смысл работы и набор возможностей везде примерно одинаковый.

Читать далее «GSM модуль NEOWAY M590. Звонки и отправка SMS с помощью arduino»

Радиомодуль nRF24L01+ и arduino. Подключение и пример передачи данных


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

Читать далее «Радиомодуль nRF24L01+ и arduino. Подключение и пример передачи данных»

Регулярка для поиска русских слов в тексте


Последнее время многим отечественным компаниям не хватает русскоязычного рынка и очевидным решением является расширение на европейские просторы. Но почему-то к русским товарам и услугам англоязычные граждане относятся предвзято. Поэтому не редко, для улучшения продаж, организации представляются европейскими. И зачастую одним из инструментов продаж служит сайт, который должен быть на английском языке. А поскольку европейская версия сайта, почти всегда, это копия русского, то нужно максимально качественно перевести ее на иностранный язык. И мало того, что перевод должен быть качественным, еще нужно эти переводы аккуратно добавить на сайт. И тут начинается самое интересное: где-то на страницах остаются русские строчки, в js или html остаются русские комментарии, в alt-ах к картинкам и ссылкам остаются русские подписи и прочие мелочи, которые выдают русский след. С такой проблемой уже несколько раз приходилось сталкиваться, довольно сложно все проверить и протестировать. Поэтому, когда пришел очередной клиент с подобной проблемой, было решено упростить и ускорить работу тестировщика — написать небольшой скрипт, который автоматически будет сканировать страницу на наличие русских символов и слов.

Читать далее «Регулярка для поиска русских слов в тексте»

Автоматическая зимняя удочка на arduino


Я с детства люблю рыбалку и сколько себя помню, всегда лучшим отдыхом считал поездку на природу с удочками. На озере или реке можно расслабиться и отдохнуть от повседневных проблем, природа помогает быстро восстановить психическое и физическое здоровье. А если кроме отдыха на свежем воздухе, удается поймать несколько хвостатых обитателей водоема, то можно неплохо зарядиться позитивом и хорошим настроением.
Но с рыбалкой не все просто – комфортно порыбачить можно только полгода, а иногда и того меньше, когда погода не подчиняется календарю и выделяет всего несколько месяцев теплой погоды в году. Поэтому рыболовный сезон, до недавнего времени, для меня длился 4-6 месяцев в год. И я упорно не понимал любителей зимней охоты на рыбу – как можно в мороз и ветер сидеть на льду и дергать туда-сюда удочку, в надежде, что кто-нибудь по ту сторону льда, позарится на вкусного червячка?
А в прошлом году мне подарили зимние снасти я, незаметно для себя, пристрастился и к зимней рыбалке. Хотя и до сих пор не понимаю, как правильно ловить на льду. Многому еще нужно научиться, но уже сейчас мне пришла в голову идея: попробовать немного оптимизировать и автоматизировать зимний рыболовный процесс. Решение, для программиста и электронщика, очевидное – это автоматическая зимняя удочка, которая сама будет дергать мормышкой, пытаясь приманить рыбу.

Читать далее «Автоматическая зимняя удочка на arduino»

Хранение эмотиконов в базе данных. Mysql и четырехбайтные символы


Буквально в прошлой статье, я сетовал на отсутствие интересных задач на работе. И уже сегодня посчастливилось столкнуться с одной интересной проблемой, которая заставила «порыться» в интернете и поломать голову в поисках решения.
На одном из сайтов, клиент захотел добавлять текста, внутри которых помимо стандартных символов, могут быть использованы emoji symbols. По-русски они называются «эмотиконы» и выглядят как смайлики различных форматов. Если вы частый гость instagram и имеете привычку время от времени выкладывать свои фотки с крутыми фильтрами в сеть, то наверняка могли видеть подобные символы в подписях к фотографиям, а возможно и сами ими пользовались. Эти самые «смайлики» и стали причиной написания статьи.

Читать далее «Хранение эмотиконов в базе данных. Mysql и четырехбайтные символы»

Генерация календаря на месяц с помощью php


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

Читать далее «Генерация календаря на месяц с помощью php»

Как убрать повторяющиеся элементы массива. Аналог array_unique в JavaScript


Короткая статья с небольшой функцией, которая поможет чуть-чуть упростить нелегкую жизнь js-разработчика.
Не понятно, по каким причинам, но в JS нет «родной» функции, которая бы удаляла повторяющиеся элементы массива. Далее в статье вы найдете решение этой проблемы…

Читать далее «Как убрать повторяющиеся элементы массива. Аналог array_unique в JavaScript»