10 наиболее распространенных вопросов на собеседовании по JavaScript (часть 2)
JavaScript

Продолжаем разбирать часто задаваемые вопросы на интервью. 6. Что такое прототипное наследование (prototypal inheritance) Грамотным ответом будет: изначально каждый объект обладает свойством — прототипом. Вы можете добавлять в него методы и свойства. Создавать другие объекты на основе прототипа. Создаваемый объект автоматически унаследует свойства и своего прототипа. Если свойство в новом объекте отсутствует, то будет произведен […]

10 наиболее распространенных вопросов на собеседовании по JavaScript (часть 1)
JavaScript

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

Как сделать, чтобы Asterisk сам позвонил

Иногда нужно совершить автоматический звонок прямо с АТС Asterisk. Если случилось что-то очень важное в составе системы мониторинга. Или в составе системы умного дома. Я, например, использую эту возможность для сохранения редко используемых SIM карт, — периодически совершаю с них звонки в автоматическом режиме. Звоню на свой же телефон и слушаю, что мне хочет сообщить […]

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

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

Обратный отсчет времени (jQuery плагин)
JavaScript

Таймер обратного отсчета времени. Сегодня поговорим о таймерах для сайтов. К примеру, вам нужно сделать обратный отсчет времени до окончания акции или до события на вашем лэндинге или в интернет магазине. Само собой разумеется, такую штуку возможно реализовать только через JavaScript. Изобретать велосипед не стал, вместо этого нашел подходящий jQuery плагин, с моей точки зрения […]

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

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

VoIP. Настройка Asterisk для работы с Megafon
VoIP

Подключаем сотового оператора через SIP. Однажды подумалось: как было бы замечательно входящие звонки на свой мобильный телефон терминировать самостоятельно. Прикрутить собственный автоответчик, может быть голосовое меню. Ответить на вызов прямо с компьютера, как по скайпу, и в удобной гарнитуре пообщаться с клиентом. Оказывается такая возможность довольно давно имеется. Ее предоставляет оператор Мегафон в рамках услуги […]

PHP. Новая библиотека для работы с изображениями
PHP

Представляю новую версию библиотеки imgresize! Скачать и попробовать! Класс написан на PHP и является оберткой для GD. Перед использованием убедитесь, что ваша инсталляция PHP поддерживает GDlib. А та, в свою очередь, необходимые форматы изображений. Обычно PNG, JPEG (JPG) и GIF. Со времен публикации предыдущей статьи уже много воды утекло. Библиотека стала более «взрослой» и обзавелась […]

PHP. Наложение ватермарков (ватермарок, watermarks) на фотографии.
PHP

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

Ремонт Yaesu VX-6r
Радио

Речь пойдет о легендарной станции Yaesu модель VX-6r. А конкретно об распространенной болезни, связанной с приемником. Иногда мы с сожалением обнаруживаем, что наша станция начинает шипеть (шуметь). Происходит примерно следующее: ухудшается качество прием даже сильных корреспондентов. Не закрывается шумоподавитель, а индикатор приема постоянно показывает уровень около единички. Такие симптомы имеют различные степени тяжести. Более наглядно […]

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

В проектах, где требуется разделить права пользователей по ролям, можно использовать шаблон проектирования фабрика (fabric). Данная статья поможет разобраться каким именно образом. Допустим есть простой URI роутер: В index файле инициализируем следующим образом: $path=dirname(__FILE__); require_once($path . ‘/lib/router/routeurl.php’); require_once($path . ‘/lib/PageError.php’);   $routeurl = new routeURL(); //Создаем объект роутера $routeurl->enableFabric(); //Указываем использовать фабричный паттерн   try […]

Проблема с плагином jQuery validation
JavaScript

Когда сообщения об ошибках высвечиваются на экран, после тэга input добавляется label с соответствующим CSS классом. Каким образом будет отображаться сообщение зависит от стилей. Но существует проблема: поскольку добавляется новый тэг, после применения к нему функции hide и show параметр display не возвращается к указанному значению. Например, мы указали в стилях display: inline-block. Первый раз […]

PHP. Разбиение на страницы
PHP

Если вы занимаетесь разработкой интернет магазинов, каталогов, досок объявлений — то наверняка сталкивались с проблемой постраничного вывода информации. Проще говоря с пагинацией. Представленная ниже функция помогает решить эту задачу. В данной реализации используется враппер MySQLi под названием goDB. Но вы без труда сможете переделать под собственные нужды, главное понимать принцип работы. Он очень простой: передаем […]

PHP. CounterStrike (CS) информер.
PHP

Всем доброго времени суток! Забирать статистику с Counter Strike 1.6 (CS) сервера всегда интересно. Узнать текущую карту, количество игроков и другую полезную информацию. Подобных сайтов в Интернете развелось великое множество, но большинство из них обновляет информацию медленно. Виной всему громоздкие библиотеки. Да, они работают не только с CS серверами но и с множеством других игр. […]

Предметная съемка
Photo

Как снимать предметы Наверняка многие задавались вопросом: как качественно сфотографировать предмет? Для магазина, для аукциона или для блога — не столь важно. Для этих целей существуют, так называемые, лайтбоксы. Сегодня я расскажу о недорогом портативном лайтбоксе, заказанного с ebay.com. Примерно через полтора месяца после заказа, пришла такая сумочка: В ней обнаружились следующие вещи: 1. Сам […]

Fenix HL-30, небольшой обзор
Разное

Понадобилось приобрести налобный фонарь для работы. Выбор пал на Fenix HL-30. Фонарь дорогой, но денег своих определенно стоит. Во-первых, питается от 2-х пальчиковых элементов типа АА. Во-вторых имеет рассеивающую линзу, что особенно важно, если вы, как и я, выбираете фонарь для работы. Равномерная засветка широкого угла позволяет забыть о вращениях головой в поисках освещенной области, […]

URL/URI Router
PHP

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

Объектив Nikkor 18-105 AS-F 1:3.5-5.6G DX VR
Photo

Объектив Nikkor 18-105, который идет в «китовых» комплектациях с фотоаппаратами Nikon. Один из лучших объективов на рынке в своей ценовой категории. Быстрая фокусировка засчет встроенного AF-S (Aftofocus silent/тихий автофокус) мотора. В комплекте: бленда, передняя крышка с логотипом Nikon, чехол из мягкой ткани. Общий вид: Объектив на минимальном фокусном расстоянии (18 мм) вместе с линейкой для […]

Динамометрический ключ Licota AQL-N3030

Сегодня рассмотрим динамометрический ключ от компании Licota модель AQL-N3030 Характеристики: Количество зубцов трещотки 24 Режим измерения только закручивание Диапазон измерений 6-30 Nm Шаг барабана 0,2 Nm Шаг шкалы 2 Nm Размер квадрата 3/8″ Длина 295 Вес 650 г. Производство Тайвань Не смотря на то, что в интернете приведены другие цифры по длине и массе, в […]