Архив за 19 июля 2014

Перевод статьи «Building robust web apps with React: Part 4, server-side rendering», Matt Hinchliffe

От переводчика: это перевод четвертой части цикла статей «Building robust web apps with React»
Переводы:

Несколько месяцев назад я написал первую часть этой серии, я очень заинтересовался возможностями использования React'а для создания разумных приложений, которые могут избежать слабостей, существующих во многих современных JavaScript приложениях. Наконец, я собираюсь сделать так, чтобы мое приложение запускалось сначала на сервере, а потом запускало тот же код в браузере, завершая цикл изоморфного или адаптивно-гибридного приложения.

В предыдущей части этой серии я блуждал в поисках стратегии тестирования, и эта часть не сильно отличается. И хотя здесь есть примеры и базовые демо изоморфного JavaScript, здесь не так много опенсорс реализаций для изучения. В сторону детали реализации, для меня, самое большое отличие, от написания клиентского JavaScript, это то, что e меня изначально есть данные.
Читать полностью »

В этой статье я не буду говорить о том зачем в javascript нужны промисы и в частности JQuery.Deferred. Также не буду приводить справочную информацию, ее достаточно в интернете. Например тут или тут или вот тут.
Эта статья для тек кто уже немного знаком с объектом Deferred из библиотеки JQuery, но не имеет опыта написания сложных цепочек (очередей).

Подготовка

Все примеры кода, рассмотренные здесь, используют асинхронный метод $.ajax(), который возвращает так называемый jqXHR в котором реализованы промис-методы (done, fail, always, then). Нам нужны будут только они, поэтому будем считать что $.ajax возвращает промис (promise).
В некоторых примерах используются методы $.map() и $.each(), которые входят в состав библиотеки JQuery.

Последовательное выполнение

Простейшее использование промисов — это последовательное выполнение асинхронных операций. То есть следующая операция не начинается пока текущая не закончится.

$.ajax('http://echo.jsontest.com/id/1')
.then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/2')
}).then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/3')
}).then(function(result){
    console.log(JSON.stringify(result));
});

Живой пример тут.
Читать полностью »

image

Данный пост является продолжением моей статьи [1] на Хабрахабре об аттракторе Лоренца. Здесь рассмотрим метод построения приближенных решений соответствующей системы, уделив внимание программной реализации.

Динамической системой Лоренца является автономная система обыкновенных дифференциальных уравнений третьего порядка

image

где image, r и b являются положительными числами. Для исследования поведения решений системы обычно берут классические значения параметров системы, т.е.

image

Как было отмечено в статье [1], в этом случае в системе (1) имеет место неустойчивость ее решений на аттракторе. По сути, это делает некорректным применение классических численных методов на больших отрезках времени (а на таких отрезках и строятся притягивающие множества динамических систем). Одним из вариантов преодоления этой проблемы является переход к высокоточным вычислениям, но такой подход ставит исследователя в жесткие рамки: во-первых, малая степень свободы для уменьшения ошибки (изменение величины шага image интегрирования и точности представления вещественного числа для управления вычислительным процессом), во-вторых, большой объем вычислений при очень малых image.Читать полностью »

COOLRF: дайджест новостей проекта #2

Летом мы стали гораздо реже публиковаться на Хабре. Точнее сказать, перестали публиковаться вовсе. Начались сады-огороды, увеличилась нагрузка на основной работе. Наше сообщество ВКонтакте, собравшее уже более 2700 участников, стало вполне подходить для публикации коротких заметок о ходе проекта, чем мы и пользовались всё это время.

Что же произошло за два месяца «молчания»? В сегодняшнем «выпуске»: презентация проекта, два новых модуля системы (термостат NB1 и датчик протечки WS1), облачный компилятор для NRF24LE1 и интерфейс управления умным домом.
Читать полностью »

В Сети появилось изображение, на котором, как утверждается, изображена аккумуляторная батарея смартфона Apple iPhone 6.

Одной из причин увеличения емкости батареи считается увеличение размеров экрана Apple iPhone

Суды по фото, iPhone 6 достался источник питания емкостью 1810 мА∙ч, что на 16% больше емкости батареи смартфонов iPhone 5s и iPhone 5c. Эти аппараты работают от батареи емкостью 1570 мА∙ч.

Читать полностью »

По сообщению источника, учеными удалось обнаружить бактерии, которые «едят» электричество. В конечном итоге в основе жизнедеятельности других организмов тоже лежат электрохимические реакции, но большинству из них для жизни необходимо потреблять углеводы, тогда как бактерии Mariprofundus Ferrooxydans PV-1 питаются непосредственно электронами. В лабораторных условиях они «подключены» к железному электроду, а в дикой природе их удалось в буквальном смысле выманить из глубоководного грунта, приложив к нему напряжение.

Читать полностью »

Очередной пост про то, как кто то написал свою игру

Преамбула

Привет! Сегодня я раскажу вам про свой опыт написания игры для мобильных устройств. Немножко о себе: мне 24 года, имею средний опыт программирования под Android. Начал этим заниматься еще с первых версий Android'а, написал несколько простеньких программок, которые поддерживали меня все это время на плаву и давали возможность не искать работу, а так же одну маленькую игру с очень грустной историей (речь не о ней).
Несколько лет назад я решил доказать себе что способен на что-то большее. Захотелось написать то, чем можно было бы гордиться, что можно было бы долго развивать, поддерживать и портировать на разные платформы. Так сказать свое детище. Наверное у многих есть такая мечта. Поскольку я с детства увлекался созданием игр, то и выбор пал именно на игру. Первая моя поделка была игрой в стиле дум, где надо было отстреливать с двустволки летающие головы учительницы математики.
Сразу скажу, что разрабатывалась игра не все это время, частенько я забивал на нее на достаточно длительное время. Но борьба внутри себя не позволила остановиться на пол пути.
Читать полностью »

Перевод статьи «Use Elements as Background Images with -moz-element», David Walsh

Все мы знаем, что все браузерные вендоры по своему определяют многие CSS и JavaScript фичи, и я благодарен им за это. Mozilla и WebKit предлагают свои интересные проприетарные свойства, и хотя, как мы знаем, утверждение стандартов происходит годами, намного дольше чем стоило бы, мы все должны быть за это благодарны. Есть одно интересное CSS свойство о котором вы наверняка еще не слышали — -moz-element, это реализованное Mozill'ой CSS свойство, которое позволяет разработчикам использовать HTML элементы в качестве фонов для других элементов!

Смотреть демо

Читать полностью »

Доброго времени суток уважаемые читатели. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Basket.js

Несколько интересностей и полезностей для веб разработчика #23
Basket немного похож на RequireJS, только с его помощью все подключаемые скрипты и стили кешируются в localStorage. Тесты Google и Bing демонстрируют улучшение производительности при использовании локального хранилища по сравнению с обычным браузерным кешем. Проект изначально появился как эксперимент, который полностью оправдал результаты этих тестов.

basket
    .require({ url: 'missing.js' })
    .then(function () {
        // Success
    }, function (error) {
        // There was an error fetching the script
        console.log(error);
    });

Читать полностью »

Mail.ru заблокировали в Италии, пишет tjournal.ru со ссылкой на решение суда в газете Corriere Della Sera. Почтовый холдинг попал в список из 24 заблокированных ресурсов — рядом с Mail.ru находятся Mega Кима Доткома, торрент-трекеры и «пиратские» стриминги. Жалобу подали правообладатели из киношной компании Eyemoon Pictures. Технически на Mail.ru нет никакого пиратского контента, однако ссылки на него, якобы, можно найти при помощи поиска.


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js