Pull to refresh
12
0
Юрий @yurish

User

Send message

24 совета javascript-разработчику

Reading time9 min
Views85K
От переводчика: Не смотря на то что оригинал данной статьи датирован январем 2009 года, она не потеряла актуальности и теперь. Я надеюсь что даже те, кто используют JavaScript не первый год, почерпнут для себя что-то полезное.

1. Используйте === вместо ==


В JavaScript существует два разных типа операций сравния: === / !== и == / !=. Считается хорошим тоном всегда использовать первую пару для сравнения.
“Если два операнда одного типа и значения, то === вернет true, а !== false”
JavaScript: The Good Parts
Читать дальше →
Total votes 145: ↑92 and ↓53+39
Comments185

Vow: самые быстрые промисы

Reading time1 min
Views13K
Хочу предоставить вашему вниманию библиотеку Vow, которую написал мой коллега Дмитрий Филатов dfilatov.

Библиотека реализует Promises/A+, работает очень быстро и требует малого объема памяти. По тестам производительности сильно опережает Q, но при этом сохраняет асинхронную манеру работы.

Работа с Vow выглядит так же просто, как работа с Q. Из недостатков (по сравнению с Q) можно лишь выделить отсутствие progress.

Пример кода с использованием Vow:
function readFile(filename, encoding) {
    var promise = Vow.promise();
    fs.readFile(filename, encoding, function(err, data) {
        if (err) return promise.reject(err);
        promise.fulfill(data);
    });
    return promise;
}
Vow.all([readFile('test1.txt', 'utf8'), readFile('test2.txt', 'utf8')]).then(function(results) {
    console.log(results.join('\n'));
});

Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments19

Javascript умирает или перерождается?

Reading time4 min
Views21K
Заранее прошу прощения за некоторые обороты в переводе. Буду рад услышать здравую критику и поправки, лучше в пм. Спасибо. – пер.

Стартапы имеют много общего с JavaScript'ом. Когда вы только начинаете, вам нужно быть динамичными. Вы должны быть гибкими. Вы должны иметь возможность мгновенно выпустить прототип, который просто работает, и вам нужно уметь быстро и дешево менять его без перекомпиляции вашего кода. JavaScript появился когда война между браузерами только начиналась, и он раздавил Java и Flash по тем же причинам, по которым стартапы рушат рынки и вытесняют признанных игроков: быстрота и гибкость.
Умрет или не умрет?
Total votes 24: ↑12 and ↓120
Comments64

Адаптивный дизайн на основе медиа-запросов

Reading time5 min
Views218K
Уровень подготовки веб-мастера: средний/высокий

Нам нравится работать с данными. Мы уделяем много времени изучению аналитической информации о наших веб-сайтах. Любой веб-разработчик, которому это тоже интересно, наверняка заметил, насколько увеличился в последнее время объем трафика с мобильных устройств. За последний год значительно вырос процент просмотров страниц наших основных сайтов со смартфонов и планшетных ПК. Это значит, что все больше посетителей используют устройства с современными браузерами, поддерживающими последние версии HTML, CSS и JavaScript. Однако ширина экранов таких устройств обычно ограничена 320 пикселями.

Мы стремимся повысить доступность наших продуктов, то есть предоставить всем пользователям оптимальные возможности для работы с ними. Перед нами стояла дилемма: создать специальные мобильные версии сайтов или адаптировать существующие сайты и новые проекты для просмотра как на настольных компьютерах, так и на мобильных устройствах. Создание двух версий сайта позволило бы нам оптимизировать каждую из них для конкретного оборудования, но использование одного общего сайта дает возможность сохранить канонический URL. При этом исключаются сложные переадресации и упрощается совместное использование веб-адресов. Удобство обслуживания является важным фактором, поэтому мы решили не создавать разные версии страниц, а начали обдумывать, как обеспечить выполнение следующих условий:

  1. четкое отображение страниц на экране с любым разрешением;
  2. возможность просмотра группы контента на любом устройстве;
  3. отсутствие горизонтальной полосы прокрутки независимо от размера окна.

Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments5

Видеокурс по DevTools от Google и Codeschool

Reading time1 min
Views24K
image

Известные нам по гениальным обучающим скринкастам Rails for Zombies, Try Ruby и Try Git — команда Codeschool объединилась с корпорацией добра для создания Try DevTools — подробнейшего обучающего курса из семи глав, который, конечно же, является абсолютно бесплатным.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments18

Запись и модификация звука в браузере

Reading time6 min
Views23K
Недавно решил for fun сделать сайт, на котором будет происходить запись и модификация звука. А ещё хотелось какой-нибудь соответствующей анимации. Как работать со звуком на С++ или C# я знаю, опыт есть, однако ни разу не делал этого в браузере.
Немного погуглив, выяснилось что не так уж и много возможностей записать звук. Самая широко распространенная — использование Flash. У меня нет опыта во Flash, к тому же весь UI и функционал я хотел сделать на JavaScript + HTML, поэтому нужно было как-то обойтись без Flash или с минимальным его участием. В итоге, я нашел jQuery плагин jRecorder для записи звука, который внутри себя в итоге использует Flash, а точнее ActionScript код. Но так как работа со звуком была обёрнута в JavaScript, то такой вариант мне подошел.

Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments12

Jasmine — дополнительные возможности

Reading time4 min
Views44K
Данная статья является продолжением первой части «Введение в Jasmine». Здесь рассматриваются дополнительные возможности тестового фреймворка Jasmine, а именно:

  • Spy — эмуляция функций/объектов
  • Clock — синхронизация вызовов при использовании setTimeout/setInterval
  • Runner и Reporter — запуск тестов и оформление отчета


Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments1

Кастомные фильтры в CSS

Reading time15 min
Views22K

Приступая к кастомным фильтрам на CSS (Custom Cascading Style Sheets Filters)



Вступление


Кастомные CSS фильтры (далее CCSSF)(ранее известные как CSS шейдеры) — это новая браузерная фича, накладывающая созданные руками визуальные эффекты на элементы HTML документа.
Кастомные фильтры являются частью Filter Effects 1.0 specification. Они дополняют другую часть этой спецификации, определяющую некоторые общие CSS фильтры, уже встроенные в браузеры (blur, sepia, contrast, grayscale).
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments16

Красивые чекбоксы и радиокнопки на CSS3 без JavaScript

Reading time1 min
Views117K
Благодаря псевдоклассу :checked, появившемуся в CSS3, можно стилизовать формы с чекбоксами и радиокнопками как угодно. В этом топике рассмотрен один очень простой способ, причем без использования JavaScript.



Демонстрация Скачать исходники
Читать дальше →
Total votes 91: ↑80 and ↓11+69
Comments89

Необходимые ресурсы для геймдизайнеров

Reading time3 min
Views82K
В данном топике я хочу представить подборку ресурсов, имеющих непосредственное отношение к дизайну и разработке игр. В первую очередь, эта информация будет полезна начинающим или будущим геймдизайнерам, которые только задумываются о выборе профессии, но, возможно, и профессионалы своего дела найдут что-то полезное или интересное для себя. Кроме того, я предполагаю, что читатели хорошо владеют английским языком, что в наше время для айтишников, настоящих или будущих, подразумевается практически по умолчанию.
Итак, поехали.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments25

Инструкция начинающего разработчика игр

Reading time12 min
Views222K
Голая бабаВ данной инструкции я попытался осветить основные моменты разработки игр. Инструкция будет полезна для людей, собирающихся заняться разработкой игр в роли лидера (главного разработчика и организатора).

Хочу отметить, что игры бывают разные – большие и маленькие, сложные и лёгкие, и поэтому для каждой игры эта инструкция верна в какой-то своей определённой степени. Охватить всё не удалось, но передать общие моменты, думаю, получилось.
Читать дальше →
Total votes 142: ↑104 and ↓38+66
Comments138

Как я писал Футболоид под iOS

Reading time15 min
Views41K
Приветствую достопочтеннейших Хабралюдей!


Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!

Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.

В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Поехали
Total votes 89: ↑69 and ↓20+49
Comments25

leOS — многозадачное ядро для Arduino

Reading time1 min
Views31K
Итальянский разработчик Леонардо Милиани выложил в открытый доступ исходники leOS (little embedded operating system) – маленького многозадачного ядра для Arduino. В своем блоге он пишет:
To be honest, it should more correct to say that leOS is actually something that is halfway a simple prototype of an real-time operating system (RTOS) and a scheduler. [...]
leOS can run simple tasks that don’t require excessive CPU time but it can be useful in all of those situations where the user wants to let a task run itself out of the main loop.

Ядро leOS обеспечивает диспетчеризацию вызовов пользовательских функций согласно заданным временным интервалам. Для этого leOS использует аппаратный Timer2 для отсчета интервалов между вызовами пользовательских функций, поэтому теряется доступ к функциям ШИМ на пинах D3 и D11. В ядре используется 64-битный счетчик, так что переполнение планировщика произойдет только через 584 942 417 лет.
Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments13

Padrino для frontend разработчика

Reading time3 min
Views4.6K
Видимо, только второй пост на хабре с участием Padrino за 2 года ;)



Используйте HAML для генерации HTML



Используйте SASS для генерации CSS



Используйте Coffee Script для генерации JS



Скачайте шаблонное приложение, установите инструментарий и начните разработку немедленно.

10 минут и все работает даже под Windows.

Ага! Вот чем я займусь в выходные!
Total votes 26: ↑16 and ↓10+6
Comments40

Отладка сложных веб-приложений — эффективная багодробилка на production-серверах

Reading time12 min
Views26K
Всем привет!

Сегодня расскажу, как на боевых серверах во время нагрузки, в пыли и грязи, эффективно отлавливать узкие места в производительности больших веб-приложений на PHP, а также искать и устранять «нестандартные» ошибки. Многие из описанных техник мы с успехом применяем на нашем облачном сервисе «Битрикс24».
Информация, надеюсь, пригодится системным администраторам и разработчикам, обслуживающим сложные веб-проекты, а также менеджерам, которые хотят выстроить эффективный и быстрый процесс поиска и устранения узких мест и ошибок проектов на PHP.

Читать дальше →
Total votes 109: ↑91 and ↓18+73
Comments30

60+ средств для разработки мобильных приложений

Reading time19 min
Views149K
Появилось желание сделать свое приложение — быстро дешево и максимально полезно. Начал собирать информацию о современных инструментах разработки. Чтобы не потерять, а так же получить отзывы, мнения, комментарии и вообще любую полезную информацию, оформил в виде статьи.
Планирую использовать некоторые инструменты, и позже написать по ним более развернутый обзор. Итак, встречайте

1. Appmakr
appmakr.com
Платформы: iOS
Стоимость: free-$999, FREE- if you submit yourself to your own app store
Дополнительные услуги: Бесплатный доступ к ресурсам сайта.
Описание: Appmakr.com — веб-приложение, которое поможет вам создать приложения для айфона быстро и просто.
Замечания: Если вы не знаете как создать приложение для айфона, вы можете запросить помощь по телефону.
Владельцы могут размещать рекламу в своих приложениях и зарабатывать на ней.
Читать дальше →
Total votes 106: ↑79 and ↓27+52
Comments25

Определяем все классы, которые использует приложение на Java

Reading time12 min
Views19K
Без сомнения каждый, кто в своем резюме указывает опыт разработки на Java, хоть раз в жизни писал строки
public static void main(String[] args)
компилировал их и запускал на выполнение командой наподобие java HelloWorld.
Но многие ли знают, что происходит внутри JVM от момента выполнения этой команды до того как управление передается методу main, как Java находит и загружает необходимые пользователю классы? Возникшая однажды производственная задача заставила автора разобраться в этом вопросе. Результаты изысканий под катом. Сразу стоит оговориться, что статья не претендует на полноту охвата всех существующих JVM, тестирование проводилось только на Sun HotSpot JVM.
Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments12

Архитектура Android-приложений. Часть III — основные части приложения

Reading time7 min
Views69K
Итак, мы уже говорили о происхождении архитектуры ОС Android и о шаблонах, реализованных в этой архитектуре. Теперь настала пора поговорить о том, из чего состоит Android-приложение.

В этой статье будут представлены основные «персонажи» архитектуры Android-приложения.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments7

Архитектура Android-приложений. Часть I — истоки

Reading time8 min
Views110K
В этой статье мы рассмотрим архитектуру Android-приложений.

Откровенно говоря, официальную статью Google по этой теме я считаю не очень полезной. Детально отвечая на вопрос «как», она совсем не объясняет «что» и «почему». Итак, вот моя версия, и, я надеюсь, она внесёт некоторую ясность. Да, кстати, я полностью одобряю чтение статей Google, поскольку они содержат полезную информацию, повторять которую я не собираюсь.
Читать дальше →
Total votes 86: ↑80 and ↓6+74
Comments52

Архитектура Android-приложений. Часть II — архитектурные стили и шаблоны

Reading time5 min
Views43K
В этой статье мы поговорим об архитектурных шаблонах, используемых в Android-приложениях.

Почему важно понимание шаблонов, реализованных в рамках некой архитектуры? Потому что таким образом изучаемая нами новая архитектура укладывается в контекст нашего предыдущего опыта и позволяет нам более эффективно использовать накопленные знания и навыки.

Возможно, я плохо искал, но в документации Android нет упоминания о каких-либо шаблонах. Не смотря на это, в Android реализованы некоторые шаблоны и архитектурные стили, о которых мы сейчас и поговорим.
Читать дальше →
Total votes 68: ↑58 and ↓10+48
Comments12

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Date of birth
Registered
Activity