Разбираем процесс соединения и шифрования протокола SSH

SSH, или secure shell, — это наиболее распространенный способ безопасного удаленного администрирования серверов. Используя некоторые технологии шифрования, SSH предоставляет механизм для организации безопасного соединения, между двумя машинами. В этой статье мы рассмотрим, какие именно подходы применяются в SSH. Для безопасной передачи данных, SSH использует поочередно различные технологии, которые включают в […]

Запуск PHP скриптов в фоновом режиме

Когда проект растет, появляются ресурсоемкие задачи обработки данных. Например, разбор xlsx (эксель) прайса для обновления цен, или ресайз большой фотографии. Случаи могут быть самыми разнообразными, когда мы не хотим, чтобы пользователь ждал, пока наш скрипт отработает. В данном посте расскажу, как можно запускать фоновое выполнение PHP скриптов. Следует отметить, что без использования […]

Рисуем простую капчу на PHP

Сегодня кое-что о защите сайта от роботов. На сегодняшний день наиболее эффективным способом остается использование картинки, которую предлагается «распознать» и напечатать результат в соответствующем поле. То есть закрыть действие на капчу. Самая распространенная ситуация: защитить от спам-роботов комментарии, или регистрацию на вашем сайте. Ну, поскольку сайты чаще всего строятся на […]

Наложение ватермарков (ватермарок, watermarks) на фотографии с помощью PHP

Нередко возникает необходимость защитить фотографии на сайте от воровства. Особенно популярно в различных каталогах и т.д. Самый простой и надежный способ — наложение так называемых ватермарков. Создается картинка, размерами MxN с прозрачным фоном и полупрозрачной надписью с именем домена. Сохраняется в формате PNG-24. Вся штука кроется в библиотеке GD при […]

Шаблон фабрика, как способ разделения прав пользователей

В проектах, где требуется разделить права пользователей по ролям, можно использовать шаблон проектирования фабрика (fabric). Данная статья поможет разобраться каким именно образом. Допустим есть простой URI роутер:

URL/URI Router

Всем хорошего настроения! Данная статья поможет понять что такое роутер. Сразу скажу: она НЕ рассчитана для новичков, как и большинство материалов данного ресурса. Если вы имеете опыт программирования на PHP и хотите до конца разобраться что же такое роутер и какое отношение он имеет к ЧПУ — эта статья для […]

PHP. Рисуем круговые диаграммы.

Частенько нужно построить диаграмму для оценки тех или иных количественных параметров. В этом нам поможет библиотека GD и ее PHP API. Нижеследующий класс строит простенькую круговую диаграмму. Пример использования: <?php include(‘dia.php’); $instance = new dia(); $data=array(‘3aad00’=>120, ‘f10d0d’=>20, ‘280df1’=>70, ‘dd0ee5’=>45, ‘000000’=>10); $instance—>generate($data);

Ресайз картинок (фотографий) на PHP

Недавно возникла необходимость изменять размер фотографий (да и вообще картинок) средствами PHP. Покопавшись в интернете, нашел небольшую библиотеку. Но у нее обнаружился ряд недостатков, а именно: 1. Если делать из большой фотографии маленькую — сильно страдает качество (нет экстраполяции) 2. Нет разворота по EXIF. Если загружать прямо с фотоаппарата, без предварительной […]

10 наиболее распространенных вопросов на собеседовании по JavaScript

Проходить JavaScript интервью всегда непростая задача. Вопросы могут быть из самых разных областей, в том числе включать в себя задачи из новой или старой версии языка. Особенности браузеров, работы с HTML, приемы и хитрости связанные с jQuery и т.д. Само собой разумеется, вопросы будут касаться и алгоритмических проблем, работы с […]

Big O. Сложность алгоритмов.

Множество программистов, которые пишут крутые и полезные программы, подобно тем, что мы видим в Интернете, или ежедневно используем, не имеют достаточной теоретической базы в области информатики. Несмотря на это, они все же создают интересные решения и мы им благодарны за это. Однако, теоретические познания в информатике могут быть весьма полезными. […]