Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать полностью »
Рубрика «Веб-разработка» - 59
30 чудных библиотек для PHP программистов
2015-03-12 в 8:02, admin, рубрики: php, Веб-разработка, переводПереписываем Require.js с использованием Promise. Часть 1
2015-03-12 в 7:55, admin, рубрики: amd, javascript, requirejs, tutorial, Веб-разработка, велосипеды на javascript, модулиЧтобы не иметь проблем с зависимостями и модулями при большом количестве браузерного javascript, обычно используют require.js. Также многие знают, что это всего лишь один из многих загрузчиков стандарта AMD, и у него есть альтернативы. Но мало кто знает, как они устроены внутри. На самом деле, написать подобный инструмент не сложно, и в этой статье мы шаг за шагом напишем свою версию загрузчика AMD. Заодно разберемся с Promise, который недавно появился в браузерах и поможет нам справиться с асинхронными операциями.
Основой require.js, является функция require(dependencies, callback). Первым аргументом передаем список модулей для загрузки, а вторым – функцию, которую вызовут по окончании загрузки, с модулями в аргументах. Используя Promise написать её совсем несложно:
function require(deps, factory) {
return Promise.all(deps.map(function(dependency) {
if(!modules[dependency]) {
modules[dependency] = loadScript(dependency);
}
return modules[dependency];
}).then(function(modules) {
return factory.apply(null, modules);
});
}
Конечно, это еще не всё, но основа есть. Поэтому продолжим.
Читать полностью »
Программируем в облаке: обзор популярных IDE
2015-03-11 в 13:23, admin, рубрики: cloud, eclipse, IDE, java, Веб-разработка, Облачные вычисленияЛет пять назад online IDE были такими себе игрушками, вызывающими дикий восторг у гиков и любителей всего нового. Да, что тут говорить, вероятнее всего, сами создатели таких сервисов не до конца понимали, куда же заведут их стремления и проделанная работа. Все начиналось с банального онлайн блокнота с парой-тройкой менюшек и компилятора для пары-тройки языков. Вообще, довольно-таки интересно наблюдать развитие этого рынка. Так, в 2011 был опубликован обзор облачных IDE, среди которых есть и герои нынешней статьи. Два года спустя появилась еще одна статья со сравнением двух сильнейших игроков рынка — Codenvy и Cloud9. Что ж, на дворе 2015 год, а, следовательно, время для очередного обзора.Читать полностью »
Самые нужные плагины для Gulp
2015-03-11 в 10:30, admin, рубрики: css, gulp, html, javascript, node.js, Веб-разработка, плагины, метки: GulpЭто пост можно сказать является дубликатом моей предыдущей подборки “Самые нужные плагины для Grunt”. Дело в том, что спустя много часов поиска я не нашел крутых плагинов для Gulp, которых нет для Grunt за исключением пары весьма специфичных утилит. Всё как раз наоборот, но проигнорировать множество пользователей Gulp я не мог. Все недостающие плагины я выделил, потому что Gulp умеет использовать их из Grunt, как и Grunt из Gulp.
Доброго времени суток, всем! Кто-то умный, не помню в какой статье именно на Хабре, буквально недавно размышлял о процессе разработки с явным призывом автоматизировать все, что только можно автоматизировать. И лучше один раз потратить время на автоматизацию, чтобы потом экономить его на протяжении всего проекта.
У веб-разработчиков есть прекрасный инструмент для автоматизации массы задач, который называется Gulp. И моя страсть к таксономии заставила себя собрать огромную коллекцию почти из 100 ценных плагинов для этого сборщика. Думаю многие кто уже использует Gulp найдут для себя что-то нужное, а кто нет, глядя на возможности, получит хорошую мотивацию установить его и понять как эта штука работает.
А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.
Читать полностью »
Toast-уведомления, теперь и в браузере
2015-03-11 в 8:14, admin, рубрики: html, html-верстка, java script, javascript, toast, Веб-разработка 
Каждый, кто хоть раз пользовался мобильным приложением, думаю, знаком с Toast-уведомлениями. Да, это именно неожиданно всплывающие сообщения, которые привлекают ваше внимание, когда вы увлечены в телефоне какой-то задачей.
В сети вы найдете тысячи готовых решений о том, как сделать Toast уведомления в Аndroid. А вот готового, простого решения из коробки для веб-браузеров, увы, не нашлось. Первой мыслью было взять какой-нибудь BOX-плагин и адаптировать его. Однако подобные плагины явно не способны смоделировать поведение Toast-уведомления.
Учитывая это, была создана небольшая JS-библиотека, эмитирующаю Toast-уведомления в браузере. Надеюсь, кому-то она будет полезной.
Читать полностью »
Защита от накруток в онлайн играх
2015-03-11 в 3:47, admin, рубрики: browser games development, game development, Gamedev, hacking, Блог компании Enterra, Веб-разработка, взлом игр, защита от ботов, защита от взлома, игры, метки: gamedevЭто статья о том, как мы делали систему защиты браузерной HTML5 игры от взлома и подделки результатов, с какими трудностями мы при этом столкнулись, как их решали и что получили в итоге. Основной и всем знакомой проблемой таких игр является возможность написания бота, который эту игру автоматически пройдет. Разработку подобного бота облегчает тот факт, что код игры находится в публичном доступе. Ситуация осложнялась тем, что были объявлены реальные призы, среди которых iPad, билеты на концерт, USB флеш накопители и т.п.

Статья будет полезна в основном тем, кто делает HTML5 / Flash игры и заботится об их безопасности; тем, кто платит за разработку этих игр; и немного тем, кто призван бороться с ботами. Ну и, конечно, тем, кто написал эту статью. Потому что мы надеемся, что она станет началом продуктивной дискуссии о том, как разработчики браузерных игр могут противостоять кибер-мошенникам.
Читать полностью »
CKFinder — размеры картинок
2015-03-10 в 22:25, admin, рубрики: ckfinder, cms, javascript, php, wysiwyg, Веб-разработка, разработка сайтов, метки: ckfinderРешил поделиться здесь своим решением (каламбур). Вероятно, кто-то столкнулся с аналогичной проблемой и мое решение будет очень кстати.
Итак, недавно взял в качестве WYSIWYG для своей CMS связку FCKeditor + CKFinder. Немного изменил настройки, стили и исправил некоторые баги разработки FCKeditor, но об этом напишу в отдельной теме. А вот при настройке файл-менеджера CKFinder столкнулся с простой с виду задачей: надо, чтобы при выводе списка картинок показывались их размеры. Был чрезвычайно удивлён, когда не обнаружил ничего подобного в настройках.
Читать полностью »
OData + Angular.js + Bootstrap + JavaScript Grid = приложение за 5 минут
2015-03-10 в 14:14, admin, рубрики: angular.js, Bootstrap, javascript, json, kendo ui, odata, rest, rest apiful api, RESTful, Блог компании NitrosData, Веб-разработка, интерфейсы, ПрограммированиеПредположим в некотором проекте появилась необходимость добавить некоторую форму опроса пользователей на веб сайте (детальная форма) и форму для просмотра и редактирования списка пользователей для администратора системы (списковая форма).
Рассмотрим процесс создания этих форм с использованием OData, Angular.js, Bootstrap и JavaScript Grid. Все требования к такому приложению уже реализованы в этих инструментах, и нам практически не требуется ничего писать.
Анимация против лагов, или лучшая битва та, которой не было
2015-03-10 в 12:31, admin, рубрики: javascript, анимация, веб-дизайн, Веб-разработка, лаги 
Замечали, когда только открываете веб-сайт, первые секунды всё тормозит? Скрол как-то не ровно работает, параллаксы скачут, а из анимации словно вырезали львиную долю кадров. Но очень скоро всё нормализуется. Не замечали такого? Взгляните на демо-страницу плагина, и сразу поймёте, о чем я.
Проблема в том, что динамика не может нормально работать, пока страница лагает. В качестве решения предлагаю плагин «Afterlag.js». Плагин позволяет отслеживать событие окончания лагов. Лаги прошли, включайте анимацию, тормозить не будет. А пока страница лагает, нечего и динамику запускать, только вид портить.
Читать полностью »
Еженедельник io.js, 6 марта 2015
2015-03-10 в 6:26, admin, рубрики: io.js, javascript, node.js, Веб-разработка, ПрограммированиеРелиз 1.5.0, Buffer.indexOf(), Tessel 2 и многое другое.

