Сегодня Rob Eisenberg представил свой JavaScript-фреймворк.
Несколько месяцев назад он покинул команду AngularJS, чтобы вернуться к своему собственному проекту, с которым можно начать работать прямо сейчас.
Читать полностью »
Сегодня Rob Eisenberg представил свой JavaScript-фреймворк.
Несколько месяцев назад он покинул команду AngularJS, чтобы вернуться к своему собственному проекту, с которым можно начать работать прямо сейчас.
Читать полностью »
Примерно полгода назад я прочитал статью «Почему стоит использовать препроцессоры». В ней автор описывает преимущества препроцессоров на примере реализации кастомных кнопок. Статья оказалась познавательна и очень интересна. Автор приводил в примеры разные препроцессоры и объяснял, почему остановился на Sass. На счет цвета карандашей и вкуса я не в праве спорить, у каждого свои взгляды. Но еще тогда мне показались не справедливыми описания о том, что Less не достаточно мощный. Еще тогда хотелось сделать что-то подобное, воплотить идею автора на других препроцессорных языках (Less, Stylus). На момент прочтения статьи времени что-то сделать свое не было. И вот недавно, в один из выходных, я вспомнил об этой статье и решил реализовать идею автора — только средствами Less. Делать что-то новое я не видел смысла, поэтому решил помочь автору в развитии проекта, сделал форк с его репозитория, проделал необходимую работу и создал pull request.
Читать полностью »
Мы никуда не пропали и все так же предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости.
В современном мире, где границы между странами уже просто абстрактные понятия, КНДР остается необычным примером государства, где доступ в интернет практически полностью закрыт. Связано это, в первую очередь, с тотальным контролем со стороны правительства. Интернет в Северной Кореи служит только для одной цели – обслуживать нужды властей, а у обывателей страны отсутствует фактически любая информация, за исключением пропаганды из телевидения и газет. Хотя, в последнее время, все больше становится заметна тенденция открытия «железного занавеса» и, конечно, это коснется и интернета.
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Когда я начинал писать свою первую игрушку на three.js
я и не думал, что на самом деле three.js
это верхушка айсберга в мире WebGL
и что есть десятки разнообразных фреймворков и у каждого из них свой специфический уклон, а three.js
просто один из них.
Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Читать полностью »
Не так давно вышла статья, в которой автор описывал свой framework для написания приложений с использованием Ruby, Sinatra и websoсket. Но в том решении не был затронут вопрос горизонтального масштабирования. Так при подключении к одному из узлов, пользователи могут получать уведомления/данные только о событиях/изменениях, вызванных пользователями этого же узла, а при изменениях, внесенных через другой, они не узнают. Для решения данной задачи необходимо организовать общую шину данных. Рассматривать данную задачу буду в контексте обмена сообщениями клиент-клиент.
Читать полностью »
Доброго времени суток, уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.
В последнее время в интернете все чаще и чаще встречаются проекты, где различные интерфейсные элементы сопровождаются определенными звуками. Я бы даже сказал, что UX/UI в вебе переходит на новую ступень эволюции. А Buzz.js одним из первых готов помочь вам в озвучке вашего интерфейса. Это библиотека для работы с HTML5 Audio API с рядом подходящих обработчиков событий.
var mySound = new buzz.sound( "/sounds/myfile", {
formats: [ "ogg", "mp3", "aac" ]
});
mySound.play()
.fadeIn()
.loop()
.bind( "timeupdate", function() {
var timer = buzz.toTimer( this.getTime() );
document.getElementById( "timer" ).innerHTML = timer;
});
Хотелось бы рассказать свое видение об одной достаточно новой тенденции автоматизации разработки статичных сайтов. Это набор решений которые упрощают разработку статичных сайтов и позволяют конечным клиентам легко вносить корректировки самостоятельно.
Читать полностью »
В первую очередь поясню что эта технология находится на ранней стадии разработки, и я бы хотел подискутировать в этом топике о её рентабельности и полезности. Поэтому прототипа еще нет.
Большинство уязвимостей в веб сайтах являются результатом изменения HTTP запроса, подмены URL или заголовков, и прочие неожиданные для сервера действия. Обычный пользователь не должен иметь возможности так делать, но так как современное приложение состоит из клиента и сервера, то в реальности сервер не имеет контроля над тем как пользователь использует клиентскую часть.
Из-за этого «двойная валидация» встречается повсеместно — на экране нужно показывать только объекты доступные пользователю, плюс нужно на сервере проверять имеет ли пользователь доступ к данному объекту.
Так возникла идея SecureCanvas — превратить сайт в подобие АТМ/терминала, где пользователь может только печатать и двигать мышку. Вместо попытки перехватить вредоносные запросы мы просто переводим игру в другую плоскость и снижаем поверхность атаки до нуля, разрешая пользователю делать лишь то что он и должен делать — взаимодействовать с сайтом.
Читать полностью »