Интеграция сайта(ресторана) с API сервиса Quick Resto
Доброго времени друзья! Сегодня хочу поделиться опытом интеграции сайта ресторана с сервисом Quick Resto по API, для автоматизации всех бизнес-процессов, от склада до работы с клиентами. Система Quick Resto позволяет работать с: заказами, чеками, скидками, бонусами, клиентами, номенклатурой, складом, финансами, персоналом, терминалами, а также различными справочниками предустановленными в системе. Простой кейс интеграции сайта с API, это выгрузка на сайт актуального меню с ценами. Далее обо всем подробнее. подробнее
Шифрование в PHP и расшифровка в JavaScript по ключу
Доброго времени друзья! Недавно разрабатывал одно интересное клиент-серверное решение, на JavaScript с одной стороны и на PHP с другой. Взаимодействие клиента и сервера подразумевало передачу данных от сервера на PHP, клиенту на JavaScript, при этом сами данные должны были быть зашифрованы с использованием ключа. Несмотря на то, что для расшифровки данных, ключ необходимо хранить на стороне клиента(делая его потенциально доступным при разборе кода), все же такое шифрование может быть полезным, например для сокрытия данных от различных инструментов просмотра трафика и содержимого HTTP/S запросов (то есть небольшой шаг в строну усложнения процесса деобфускации и разбора клиентского кода). подробнее
Объединить несколько PDF в один документ (linux, php)
Доброго времени друзья! Небольшая заметка о том, как объединить несколько PDF в один документ используя утилиту pdfunite в операционной системой Linux, и вызовом её из PHP. Несмотря на то, что задача предельно простая, я решил написать об этом, чтобы в будущем если понадобиться, данное просто решение, было под рукой. И так задача: — имеем два или более PDF документа, и нам нужно объединить их в один. О решении по шагам, далее подробнее. подробнее
Восстановление работы служб сервера в случае ошибки Mysql —upgrade
Доброго времени друзья! Очередная заметка на тему администрирования сервера. Недавно работал с одним сервером, на котором установлена панель ISP Manager 6, в качестве базы данных используется MySQL 8. При перезагрузке сервера, MySQL не смог запуститься из-за ошибки, возникла проблема с доступом к служебной таблице пользователей, для решения проблемы было рекомендовано обновить базу данных mysql(её структуру, служебные таблицы и т.д.), с параметром Mysql —upgrade=FORCE. Но, результат не оправдал себя, в процесс обновления также произошел сбой. Как итог, также не могла запустить служба панели ISP Manager. В рамках этой заметки расскажу перечень шагов, которые помогли решить проблему. подробнее
Пакетное добавление сайтов в панель ISP Manager 6
Друзья, привет! Недавно столкнулся с задачей, по переносу с сервера на сервер более пятисот сайтов, после переноса все сайты нужно было добавить в панель управления сервером ISP Manager 6, с указанием директории сайта, алиаса, режима работы PHP и его версию, поддержку HTTPS и SSL сертификат. Разумеется вручную, такую работу выполнить невозможно, поэтому я написал скрипт на PHP, который всю работы сделает сам, а именно: — получит нужные данные из конфигурации хостов веб-сервера Apache и добавить сайты в панель. Далее расскажу обо всем подробнее. подробнее
Обрезка документа PDF в Linux из PHP
Доброго времени друзья! Недавно я столкнулся с задачей, реализовать обрезку PDF документа по краям в проекте написанном на PHP. Поиск решений, ничего толкового не дал, как ни странно(в случае работы с PDF из PHP дела обстоят именно так, использование библиотек типа Fpdi тоже не решает задачу, или решает некорректно). В итоге, было принято решение, выполнить задачу используя такую связку: PHP -> внешняя программа PDFCrop под Linux (решение нашлось для CentOS 7, AlmaLinux и Ununtu). подробнее
Прокси веб-сервера Apache и nGinx
Доброго времени друзья! В рамках заметки, решил написать небольшой пост о том, как проксировать веб-сервер Apache и nGinx через настройку его конфигурации(виртуальных хостов), на сторонний внешний сервер. Это может пригодиться например для быстрого переноса сайтов на новый сервер, чтобы не было простоя в его работе, при ожидании обновления DNS записей(типа A) и их кеша на серверах имен, просто перенаправлении трафика или в ряде других случаев. подробнее
Настройка WebSocket на сайте для быстрого обмена данными
Доброго времени друзья! Вкратце решил описать как организовать обмен данными клиент-сервер, на базе протокола WebSocket, в рамках сайта, например для мгновенного обмена сообщениями в чате. Принцип работы следующий — запускаем скрипт на PHP, работающий в фоновом режиме(это сервер WS), вешаем его на порт(например на 8090), далее настраиваем проксирование Apache или nGinx, чтобы все запросы из вне, по протоколу WS(с HTTP заголовком Upgrate: websocket) переправлялись на localhost:8090. Затем подключаемся к серверу из JavaScript, слушаем и обрабатываем данные. Отправляем сообщения в сокет из PHP. Собственно всё. Далее подробно. подробнее
Подключение сайта к доставке DPD по API
Рад поделиться опытом успешного проекта по интеграции сайта с курьерской службой DPD через API. Клиент, владелец крупного интернет-магазина автозапчастей, обратился ко мне по рекомендации. Знакомство с его потребностями прошло быстро и чётко, а последующая работа – без задержек. Проект стал очередным подтверждением эффективности сотрудничества с клиентами, пришедшими по рекомендациям.
подробнее
Бот для автоматических заказов на Wildberries
Друзья, всем привет! Спешу поделиться новой разработкой — «Бот для автоматических заказов на Wildberries», который представляет собой плагин для браузера Chrome (плагин также умеет работать с Ozon). С помощью него, можно отслеживать скидки и акции на маркетплейсе и при достижении заданных условий(например стоимости товара ниже заданной), автоматически выкупать его. Как это работает? — Товар будет добавлен в корзину, его стоимость будет зафиксирована, вам будет отправлено уведомление в Телеграм, после чего останется его только оплатить. Далее обо всем подробнее. подробнее
Full Stack
Senior, Architect
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Обзор Insurance CMS — платформы для сайтов по страхованию к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2025 (3)
- Январь 2025 (3)
- +2024 (35)
- Декабрь 2024 (7)
- Ноябрь 2024 (13)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Плагин WordPress для настройки robots.txt 13.01.2025
- Скрипт проверки товара на оригинал (для WordPress и прочих) 08.01.2025
- Флаги Apache при переадресации RewriteRule 02.01.2025
- Интеграция сайта(ресторана) с API сервиса Quick Resto 23.12.2024
- Шифрование в PHP и расшифровка в JavaScript по ключу 15.12.2024