← All posts tagged JS

Вчера вечером побывал на MoscowJS 30 и вот мой отчёт:

итак.
————
Первый доклад был про GraphQL и Relay от Вячеслава Слинько

GraphQL это такая штука которая позволяет на фронте задать формат данных в котором прилетит ответ от сервера

То есть вместе с запросом мы указываем формат в котором будет ответ

Это позволяет не насиловать бекенд запрашивая у них новые коннекторы , возможно с повторными дублирующими данными но в новом виде

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

СИТУАЦИЯ, когда мы ставим лайк а затем нужно обновить вьюхи(добавить+1) где этот же лайк также отображается, РЕШАЕТся легко этим фреймворком.

Ну не прямо легко в плане программирования, но легко в плане готовых решений во фреймворке, и потом это можно будет поддерживать легко...

Чувак который делал доклад говорил что документация скудная. и многое надо докуривать из исходников
————
Также среди докладчиков был чувак Вадим Макеев из фирмы опера. , который рассказывал про цсс-гриды

Ну в общем это интересная штука в основном для построения лейаута страницы.

Допустим у нас есть родительский контейнер в котором куча детей. и нам их надо расположить по сетке.

В гридах это делается просто добавлением родителю инфы о ширинах колонок и о высоте строк и их кол-ве.

И дети магическим образом могут поместиться в эту модульную сетку..

В общем я думал это чтото сложное, а оказалось сложное в плане наличия 20 разных свойств, и простое в плане пониманияя принципа
————
Следующий доклад был от
Копылова Егора, из Яндекс

Он рассказывал про их опыт создания изоморфного SPA приложения с использованием react redux express.

Это лучше видеть самому.
Чувак разжевывает сложные темы простым и понятным языком. Мне очень понравился этот доклад.
————
Ещё был чувак в очках и с бородой(Алексей Фомкин) пишущий на scala и он говорил про то какой язык scala приятный и клёвый.

В нём всего 40 ключевых слов, в отличие от Javascript в котором их 46

Докладчик долго говорил про сам язык а затем рассказал что у них юзается транспиллер — scala.js который превращает это в код на js.

Этот доклад мне не очень был интересен.

В хроме мною найден способ^Wхак позволяющий добавлять любой код в уже имеющийся джаваскрипт на странице "на лету". Это бывает полезно когда вам нужно отладить какойнить участок кода в котором сервер должен что-то возвращать но упорно не хочет этого делать. Делается это добавлением самовызывающейся функции в conditional breakpoint в то место где нам необходимо сделать вставку кода. Главное чтобы эта функция возвращала false или ничего не возвращала (то есть андифайнед)
Если словами сложно объяснил то можно посмотреть картинки вот i.imgur.com и вот i.imgur.com

Нашёл способ довольно мощно подвесить вебсайт с использованием  одного лишь жыквери. Тестил в 1.9.1 а также в крайней версии 1.11.2.
Хром просто кушает 99% процессора и молчит, фаерфокс тоже, но потом предупреждает что сайт завис, и предлагает его прибить . 
За глюками далеко ходить не нужно, достаточно написать $($) и сайт зависнет.

букмарк для браузера позволяющий на сайте otvety.google.ru, одним кликом, выполнить действие "проголосовать_против" на всех участниках обсуждения вопроса...

Использование:
1. Выделите и перетащите на панель закладок Вашего браузера. Появится кнопка букмарка
javascript:(function(){for(var i in document){if((i).indexOf('rateloadcsuid')!=-1){document.getElementById(i.replace('load','down')).click();}}})();
2. Заходите в любой вопрос и жмите на кнопку букмарка

и фсё :)

Здравствуйте товарищи!
Я тут недавно понял что я ламерьё джаваскриптовое... Не до конца знаю особенности работы событий...
Короче. Для новосозданных элементов старые события не работают... как это исправить?
исходник: jsbin.com

JS

Изучая исходники jquip, открыл для себя страшную тайну javascript!. Оказывается можно не только назначать переменные через запятую типа var a=1, b=1,c=1,d=1,e=1,f=1,g=1; Но так-же можно делать вот так var a = b = c = d = e = f = g = 1; Обе эти записи эквивалентны :)