@Flasher, да. Этот ресурс больше расчитан на понимание. Если вам лабу сдать нужно - то это не туда, а если разобраться - то лучше примеров я не встречал.
поставили node.js + npm, и npm install bower gulp и пошло поехало. Вообще рекомендую для начала познакомиться поближе с gulp (ну или grunt), bower и прочими прелестями фронтендеров.
@sanchezzzhak, не использую ни то ни другое, если честно.
Проблемы с IDE решаются, в Laravel отличная система маршрутизации запросов (symfony/routing), HMVC, DI-контейнер с автоконфигурированием сервисов на основе рефлексий (чем может похвастаться только Zend, насколько я помню и PHP-DI), удобненько покрывать код тестами, даже то что всюду люди норовят всунуть эти фасады, это не так бьет по связности кода как горы статических вызовов в Yii. Преимущества же Yii - очень простой фреймворк, исходники которого вполне по силам просмотреть от начала до конца по мере необходимости.
@lw1 Ruby on Rails - самый популярный в мире Ruby фреймворк. Настолько популярный, что немалый процент людей считают их одним и тем же и не представляю себе Ruby без Ror. Что немного печально.
@Taraflex, и потом распаковывать на клиенте, делать перевод из бинарных данных в base64 и расставлять по местам? Мне кажется это будет еще более тормозным способом, чем просто позволить браузеру в несколько потоков загружать по одной картинки.
@for7raid, у вас из примера строки независимы. Они разделены переносом. Так что если в какой-то строке что-то будет не правильно - то можно забить.
сильно - это значит что у нас нашло только 3 значения из 4-ех, это значит что какого-то значения нету. Какого значения - можно судить по максимальному расстоянию. Скажем если все расстояния более мение невелеки, то значит у нас пропущено последнее. Если у нас между 2 и 3-им значением большое количество проблелов, значит 3-е смещаем и делаем 4-ым, а настоящее третье у нас соответственно пропущенно.
pack/unpack насколько я помню нужен только для конвертации raw данных в типы данных python. То есть если у вас уже есть бинарные данные, и вам нужно только структуру поменять, можно обойтись операциями побитовых смещений и тому подобным. Извернуться можно.
Еще можно чуть уменьшить задержки путем использования неблокироемого или асинхронного I/O (вынести чтение/запись в отдельные потоки), то есть пока вы обрабатываете блок, вы можете запрашивать следующий. Эдакая конвееризация.
Что до последнего - можно не писать e.stopPropogation разве что, но из задачи как раз следует что нужно проверять на каком элементе сработало условие. Нам нужно детектить только кейсы, когда кликнули непосредственно по элементу, но не по вложенным.
@rhamdeew, на самом деле я не знаю что еще добавить кроме как ссылка на список соответствующих пакетов. Я бы вообще посоветовал вам AngularJS.