Дата: 20 фев в 00:42
Вышло глобальное обновление платформы до версии 4.0.
     - Полный рефакторинг кода.
     - Поддержка PHP 7.
     - Ускорение в несколько раз.
     - Подключение, как модуль.
     - Работа с контекстом.
Больше
Дата: 12 фев в 22:02
Продолжаю серию статей о WebRTC. 
Предыдущая статья: Простой чат через WebRTC DataChannel

За основу возьмем код чата, и немного изменим, вместо канала данных будем создавать трансляцию. Серверный скрип остается без изменений. Напомню только, будет работать в соседних вкладках браузера, т.к. используется сессия для хранения данных, а не база данных.
Демо видео чат 
Больше
Дата: 11 фев в 20:36
WebRTC - (web real-time communications — коммуникации в реальном времени).
Данная технология позволяет обмениваться данными напрямую между пользователями, без сервера. Сервер участвует только на начальном этапе, для соединения. Через данную технологию можно передавать видео/аудио трансляцию, файлы, текстовую информацию. В данной статье рассмотрим создание простого текстового чата. Тестировать будем в Google Chrome. 
Демо чат 

Схема действия:
Больше
Дата: 13 дек 2016 в 18:39
Разберем создание динамической матрицы на cnavas. Которую можно использовать, как шапку сайта, то есть должна должна адаптироваться к ширине окна. По желанию и к высоте.
Демоmatrix.js 
Больше
Дата: 11 дек 2016 в 01:44
Наконец, на gusevcore.ru появилась возможность размещать изображения в блоге. Для этого написал небольшую штуку для загрузки картинок с предпросмотром.
План следующий:
1. Размещаем, но скрываем обычный input.
2. При клике на нашу кнопку, которую мы можем украсить, через JS кликаем на input.
3. Открывается диалог выбора файла.
4. После выбора файла по событию onchange выводим файл в base64 в img.
5. При клике на другую кнопку загрузить, отправляем файл ajax запросом.
6. Сохраняем.
Больше
Дата: 9 дек 2016 в 22:59
Добавлял в библиотеку GCF.js возможность работы с глобальным контекстом. Которая позволит подписывать элементы на так называемый объект, при смене значения в котором, элементы бы меняли значения в себе. Либо хранить информацию в стандартном виде, а в разных местах получать подогнанную под нужный формат. 
Так как сайты за частую динамические, а подписывать на нужное поле контекста хотелось через атрибуты в HTML, значит нужно уметь отслеживать изменение DOM и выполнять определенную функцию.

Речь пойдет о MutationObserver.
Он позволяет отслеживать, как появление, удаление новых узлов, так изменение атрибутов и текстовых блоков.
Больше
Дата: 11 сен 2016 в 19:50
Для gusevgroup.ru потребовалась форма обратной связи. 
E-mail'ы, очень не оперативны, если не жду, какое-нибудь письмо, могу в ящик по недели не заглядывать. А как загляну, требуется минимум 15 минут, для сортировки всей почты.

Как вариант хранить сообщения в БД на сайте, но здесь то же не совсем оперативно. Будем отправлять сообщения в мессенджер Telegram, из которого мы сразу сможем ответить. Отвечать будем на E-mail, так как предположим, что пользователь будет ждать ответа)
Больше
Дата: 4 сен 2016 в 01:12
Осуществился переезд с временного сайта на этот.
Каждое последующее обновление будет отмечаться на вкладке "Обновление", на страницах продуктов.

GusevCore:
     Небольшие доработки в стандартных шаблонах.
     .htaccess - в маску для переадресации на index.php добавился /(слейт)
     Глобальная переменная $_URL - с ссылкой на запрошенную страницу
     Функции:
          replaceParams - Заменяет параметры в коде
          initUserScripts - Инициализация пользовательских скриптов
     GCF:
          В функцию codeText, добавился тип baseToHtml
          Функции:
               format - Вставляет в строку параметры
     Конфигурация:
          $scripts - Пользовательские библиотеки.

GCF.js:
     По умолчанию инициализируются только прототипы. Для работы с полноэкранным режимом, необходимо вызвать GCF.devise.fs.init();
     Прототипы:
          Удален прототип Object.prototype.forEach, появилась анологичная функция
          Element.prototype.subscribe - Подписка на события
          Element.prototype.send - Отправка события
     Функции:
          clone - Клонирование данных
          forEach - Перебор элементов объекта
          devise.media.init - Инициализирует работу с медиаустройствами
          devise.media.getVideo - Получить трансляцию с камеры
Дата: 26 авг 2016 в 18:33
Все больше и больше появляется новых фото-приложений, значит нужно сделать еще одно.
О нем расскажу в следующей статье, а пока о том, как вывести изображение с камеры телефона к себе на сайт.

Важно! Работать с камерой можно только на сайте с защищенным протоколом https.
Больше
Дата: 23 авг 2016 в 21:31
Привет, меня зовут Андрей Гусев.
Достаточно долго подходил к идеи завести технический блог, даже пару лет назад решил довериться WordPress, но наши с ним пути разошлись. Думаю сейчас подходящее время.

Этот блог еще сырой, т.к. сайту и 3 дней нет, но со временем превратим его в космический корабль.

О чем пойдет речь..
Программирую, много, очень много. Пишу на JS, CSS, HTML, PHP, SQL. Python, Delphi, Java, как в добавок, но на них очень редко. В последнее время, много занимаюсь графикой, провожу эксперименты с дополнительной реальностью, и как следствие JS API девайсов, работа с камерой, гео-локация, акселерометры, и другие фичи смартфонов.
Так что речь может идти и о паре строчек кода, и о этапах разработки крупных проектов. По плану есть одна игра, как говорится, серваки могут не выдержать)

Если о менее абстрактном, то в ближайшие дни буду писать визуальный HTML редактор для блога. Так же в очереди на половину готовая библиотека для рисования графиков. Делаю пару ботов для Telegram и ВК, скорее всего тоже превратиться в библиотеку, об этом тоже пару слов расскажу.

Соседом этого блога, является платформа GusevCore, все сайты делаю исключительно на ней. История её довольно большая, первое упоминание о ней фигурирует 2 года назад, а первые функции появились задолго до платформы около 7 лет назад, побывали в сотнях проектах и успешно дошли до наших дней в GusevCore 3.12. Можно сказать, с этих функций и началась платформа. У GCF.js примерно такая же история.

Не давно к нам добавился GCOnline. 
В связи с проектами, где нужно было скачивать и обрабатывать очень большие объемы данных, а стандартный cron планировщик не давал возможность управлять очередью, пришлось написать свой.

Для связи скоро сделаю Telegram бота, а пока пишите:
Telegram: @Gusev
ВК: Андрей Гусев