Этого треда уже нет.
Это копия, сохраненная 21 января 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
60 Кб, 1052x1052
6 Кб, 424x228
48 Кб, 600x167
9 Кб, 400x400
JavaScript #25 #601735 В конец треда | Веб
Ссылка на прошлый тред: >>590841 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, Walmart и многие другие.

Всем JS разработчикам обязательно к прочтению - https://learn.javascript.ru/es-modern Новые фичи ES6 на русском.

Краткий FAQ:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса. Сочетает в себе особенности объектно-ориентированного, функционального, событийно-ориентированного и императивного программирования.

2. Какие возможные направления для разработки существуют? - Фронт-энд (Vanilla, jQuery, Angular, Backbone, React, Meteor), бэк-энд (Node.js, Express, Sails), геймдев (Phaser, Cocos, Pixi), 3D графика (Three.js, Babylon.js), мобильная разработка (NativeScript, Phonegap, Ionic), десктопная разработка (NW.js, WinJS).

3. Можно выучить только jQuery и всё писать на нём? - Не стоит, лучше начать писать на jQuery, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и в будущем не испытывать трудностей с изучением сложных фреймворков.

4. Существуют ли стайл-гайды для JavaScript? - Да, вот: https://github.com/felixge/node-style-guide

5. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.

Чистый JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"

Дуглас Крокфорд "JavaScript: сильные стороны"

Стефанов С. - "JavaScript. Шаблоны"

Джон Резиг - "Секреты JavaScript ниндзя"

Николас Закас - "JavaScript. Оптимизация производительности"

Node.js
М. Кантелон , М. Хартер - "Node.js в действии"

Кирилл Сухов - "Node.js. Путеводитель по технологии"

Дэвид Хэррон - Node.js. Разработка серверных веб-приложений

Front-end
Эдди Османи - "Разработка Backbone.js приложений"

Эрл Каслдайн, Крэйг Шарки - "Изучаем JQuery"

Читать онлайн

Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/

Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом. Перевод на хабре: http://habrahabr.ru/post/240219/ На английском :http://eloquentjavascript.net/

http://ru.discovermeteor.com/ - Книга по Meteor.js - одному из самых лёгких и функциональных фреймворков. Полностью на русском.

Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.

http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.

http://nodeguide.ru - Огромное количество переведённых статей по Node.js

http://node-center.ru - собрание информации по Node.js. Особенно интересен раздел со ссылками и книгами.

Бложики и новостные ленты:
http://dailyjs.com/ - DailyJS

http://weblog.bocoup.com/ - Bocoup Weblog

http://perfectionkills.com/ - Perfection Kills

http://www.reddit.com/r/javascript - subreddit на reddit.com

http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.

Онлайн курсы:
Как же можно учить язык, только читая книжки? Нужна практика, и только так изучаемое усваивается, не иначе.

CodeSchool - http://codeschool.com/ Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.

CodeAcademy - http://www.codecademy.com/ Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.

Udacity - https://www.udacity.com/course/ud015 Дает хорошее представление о замыканиях.

Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?

Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/

А потом? Я и так уже гений!!!

Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи Phaser, Pixi и другое, выбор не маленький. Хочешь на сервер сайд? Копай в сторону Node.js, Express, Socket.io. Хочешь писать MVC логику? Angular, Backbone, React, да множество их. Нельзя забывать про NW.js и WinJS, позволяющие создавать десктопные приложения.
#2 #601736
#3 #601758
Сразу спрошу, flux или redux c реактом?
#4 #601775
>>601758
Практически одна хуйня, попробуй редакс, он проще немного
#5 #601781
>>601775
Я просто flux не смотрел еще, посмотрел пока redux, там чет надо мир пересоздовать при каждом действии, это нормально вообще? В связи с этим, Immutable.js норм, или особо не помогает?
#6 #601790
>>601781
Можешь не пересоздавать, это не обязательно совсем.
Immutable практически бесполезная либа, юзай лодаш или просто спред операторы из ес6-7, если хочешь немутабельный стор.
464 Кб, 600x800
#7 #601796
>>601790
Спасибо.
#8 #601850
Как на ангуляре переадресовывать на другой state, если в localStotage нет заданного ключа?
У меня авторизация на jwt сделана, нужно, чтобы если пользователь не авторизирован то есть, у него нет jwt-токена в localStorage, но запрашивает state app, допустим, его кидало на state авторизации
Как это оформить? И каким сервисом? Фабрикой?
#9 #601891
>>601781

>мир пересоздовать при каждом действии


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


>Immutable.js норм?


норм если пытаешься писать чистыми функциями, как тут: https://www.youtube.com/watch?v=CohpRapbXqA
во всех остальных случаях не нужно.
#10 #601925
>>601850
Ну же, братишки. Сроки поджимают
#11 #601927
Я правильно понимаю, что классы в джс появились вот только-только?
#12 #601930
>>601927
Нет. ООП и раньше было, просто прототипное, потому что классы в жс - это функции
#13 #601932
>>601930
А мне хотелось бы объявлять класс как объектный литерал :((
#14 #601960
>>601927
Какие-то долбоёбы решили, что это будет хорошей идеей. Пиздец. Самая бесполезная (и даже очень очень вредная) фича из ес6-7
#15 #601964
>>601960
Мне не нравится ее синтаксис. Я вообще сейчас про кофескрипт читаю, походу буду на него перекатываться.
#16 #601967
>>601960

>Самая бесполезная (и даже очень очень вредная) фича из ес6-7


Это даже не какая-то отдельная фича, просто синтаксический сахар.

>JavaScript classes are introduced in ECMAScript 6 and are syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax is not introducing a new object-oriented inheritance model to JavaScript. JavaScript classes provide a much simpler and clearer syntax to create objects and deal with inheritance.


Почему выбрали именно ее и именно в таком виде действительно неясно.
ajax, get json, cross domain #17 #601975
Помогите тупому.
Есть ссылка, по которой находиться JSON.
Как получить этот json через ajax-запрос?

Ссылка вообще с левого сайта, то есть кросс доменный запрос нужно.
#18 #601981
>>601964

>Мне не нравится ее синтаксис


Синтаксис там суперстандартный. Будто из всех сил пыжились натянуть "стандартный" ООП на JS. Разумеется, если ограничиваться только синтаксическим сахаром, сделать это в полной мере будет невозможно. Но остается вопрос, нахрена тогда эта свистопляска с созданием дополнительного уровня абстракции, подменяющего реальные механизмы языка.
#19 #601985
>>601975

> кросс доменный запрос нужно


Без разрешения в соответствующем заголовке - никак
#20 #601987
>>601985
Мне дали тестовое задание, где нужно получить словарь через ajax-request и ссылку на сайт.

Вот я хочу в свой массив этот json распихать.
https://fathomless-everglades-3680.herokuapp.com/api/dictionary
Как это сделать?
#21 #601988
>>601981
зис ОБЯЗАТЕЛЬНЫЙ, панимаешь?
#22 #601989
>>601987
Это ведь нужно сделать на стороне сервера, а не клиента, не так ли?
#23 #601990
Чем прототипное наследование отличается от "обычного"? В плане поведения, а не то что там цепочки прототипов вместо каких-нибудь виртуальных таблиц Вроде ж и переопредление есть и методы базового класса вызывать можно. Непонимат.
#24 #601993
>>601989
Я не знаю. Мне дали тестовое задание(чтобы попасть на треннинг), где нужно сбацать функцию, которая кое-что делает со словарями.
А словари нужно получить через ajax-request и дали ссылку на эти словари.

Все. Больше ничего не знаю. На клиенте или на сервере - я еще не разбираюсь в этом. Только начал изучать программирование и JavaScript.
#25 #601998
>>601993
Ну хз, по идее, от тебя просят открыть твой сайтец, открыть консольку и ввести:
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/api/dictionary", true);
xhttp.onreadystatechange = function() { console.log(xhttp.responseText) };
xhttp.send();
#26 #601999
>>601990
Например тем, что прототип это тоже объект.
Как "обычным" наследованием сделать такое?
http://ideone.com/PM64Qp
#27 #602003
>>601999
прототип это объект. а объект это переменная. а класс это функция. а функция это переменная. я люблю джаваскрипт.
33 Кб, 705x425
#28 #602007
>>601998
Друг, спасибо. По идее все так и должно быть, как ты и сказал.
Я просто только 2 недели изучаю web, так пробовал с jsbin вообще загрузить их JSON.

ВОт задание, если что
#29 #602016
>>601964
В общем, ухожу на кофескрипт. Никто не против?
#30 #602025
>>601990
в одном посте не расскажешь, люди вот целые книги пишут: https://github.com/getify/You-Dont-Know-JS/blob/master/this%20&%20object%20prototypes/README.md#you-dont-know-js-this--object-prototypes
Вкратце -- "In JavaScript, the [[Prototype]] mechanism links objects to other objects. There are no abstract mechanisms like "classes", no matter how much you try to convince yourself otherwise". Для тех, кто не может без классов, в es6 их совершенно официально завезли, но по факту это просто дополнительный слой абстракции. Возможно я разжигаю флейм, но по большому счету, как ментальная модель классы в js не в фаворе по двум причинам: в js слишком много можно сделать с обычным объектом, по факту, как ни крути, уровень иерархии один, если один объект обозвали "классом", по факту это тот же объект, что и все остальные, во-вторых, иерархические модели -- это все таки о представлении данных -- то есть больше о backend или о модельке для толстого клиента, задачам фронтэнда все-таки скорее отвечает модульность и разумные подходы к взаимозависимостям между частями приложения. То есть в большинстве случаев приложение на компонентах выглядит более здраво и логично, чем на эмуляции "классов", всё что достойно отображения у вас на страничке, одинаково важно, тут нет места иерархии (то есть есть, но уже на уровне v, куда не стоит выносить слишком много логики). По факту, если сесть и рисовать на бумажке схемы, между тем же redux и архитектурой, которую захочет реализовать погромист, только что пришедший из .net может оказаться на удивление мало различий, вопрос в некотором смысле в дефинициях. Во фронтэнде важнее всего вопрос того, как m отображается v, тут главное, чтобы способ был один (и это в принципе могут быть "классы", просто возможно это не всегда будет удобно и оптимально), когда люди, привыкшие мыслить классами, пытаются в непривычную сферу по-привычке внести дополительный слой абстракции, порой начинается беда.
#31 #602028
>>602016
эмм, как говоритца у вас у русских, скатерть-ю дорош-шка!
#32 #602030
>>602028

>вас у русских


Сам-то кем будете?
#33 #602033
>>602025
6 глава заебца
#34 #602047
>>602030
свои, сынок, свои. но вообще когда появился es6 имхо странно писать на кофе. не очень понятно в чем преимущество. лучше уж современный стандарт изучать, чем практиковать девиации (коль скоро разницы не так много осталось).
#35 #602048
>>602047
все просто. я хочу классы, а не функции. иду, смотрю, что мне дает ес6. плачу и иду смотреть на кофескрипт.
#36 #602059
>>602048
Может и норм, js потихоньку становится байткодом, тем, во что компилируют, как и css тот же. Кофе сам-по себе хороший, просто за всем не угонишься нынче, слишком много всего происходит, а стандарт-то заведомо будет развиваться, лучше на него ставить. Если не секрет, чем не угодили классы в es6?
#37 #602066
>>602048
Каким нужно быть дауном, чтобы юзать классы в жсе
#38 #602071
>>602066
Всмысле? Ты писал что-то сложнее отправки аджакс-формочки?
#39 #602073
>>602071
Хахаха, вот как раз для чего-то посложней классы это полная жопа
#40 #602074
>>602073
Эм.. почему?
#41 #602076
>>602074
Ну почитай какие недостатки у классов, я что тебе буду тут разжёвывать? Миллион статей об этом есть, тебе лень жопу поднять, пиздец. Пиши на ебаных классах, если хочешь больше геморроя, никто тебе не мешает.
#42 #602080
>>601967

>Почему выбрали именно ее и именно в таком виде действительно неясно.


Кофескрипт.
#43 #602083
>>602048
Чем не устраивают фабрики?
#44 #602085
>>602059
обязательным зисом и я хотел бы объявлять класс как объектный литерал
>>602066
хочу объектную модель в приложении. я много хочу? как это делается тогда?
>>602076
если классы такое говно, зачем их добавляют в стандарт?
>>602080
а что он? там все совсем иначе.
>>602083
что это? объявление класса через функцию?
#45 #602089
>>602085

>если классы такое говно, зачем их добавляют в стандарт?


Потому что куча долбоёбов пришедших из других языков с классовым наследованием ноют, что им не хватает классов.
У них с мозгом не всё в порядке, поэтому они не понимают, что классы это плохо, 30 лет назад можно было юзать классы, но теперь нет необходимость.
Хочешь услышать больше о классах от профи? Послушай презентацию Дуга Крокфорда the good parts
#46 #602093
>>602089
собственно, это даже не вопрос был, я так и знал, что ты ответишь что-то вроде "нуу туупые". сам прочитай свое сообщение - добавляют фичу в язык потому чтобы порадовать кучку тупых людей, лол. иди нахуй
#47 #602095
>>602093
Сам иди нахуй, мразь классовая
Добавляют фичу ТУПЫЕ ГНИДЫ, которые сидят в коммисии, а не для того, чтобы кого-то порадовать. Такие как ты безмозглые дауны, которые блять не знают что такое фабрики, которые юзают this в 2015 году, которые кодят на кофескрипте. Мрази. Уебки.
#48 #602097
>>602095
во даун. не хочу использовать классы, потому что есть фабрики, кококо. ты понимаешь, что это одно и тоже, просто название разное?

>которые юзают this в 2015 году


конь, ты вообще читаешь что-то кроме своих сообщений? я же писал, что в екмаскрипте классы говно. как раз из-за зиса.
#49 #602099
>>602085

>хотел бы объявлять класс как объектный литерал


ну в js так и делали всегда (не все правда), создаешь {} и наследуешь от него прототипами что угодно если хочется (или просто обращаешься к методам этого объекта с нужным контекстом), https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties в помощь, просто стараются не называть эту структуру классом чтоб не путаться, объект и объект, ну назвать с большой буквы для красоты можно. This при таком подходе не нужен при объявлении, если я правильно понял проблему (меня-то this мало смущает, this бояться -- на js не писать). Если модулями писать, все что внутри одного файла и не export -- приватные свойства, тоже как бы на this не ссылаешься, особой путаницы не должно быть. Вообще я немного теоретизирую конечно ибо все на реакте пишу последнее время, там своя атмосфера, но до реакта писал примерно так, в духе OLOO pattern.
А с es6-классами загадочно выходит, они и тем, кто раньше на js писал не особо нужны, и тех, для кого они появились (мигрантов из других языков, со своими представлениями об ооп) не особо устраивают, вместо того чтобы облегчить вхождение только добавляют путаницы на данный момент, обидно. Авторы стандарта-то явно хотели как лучше.
#50 #602100
>>602097

>ты понимаешь, что это одно и тоже, просто название разное?


Хахаха блять, топ кек в этом треде, пойду пацанам расскажу, что оказывается классовое наследование и фабрики это одно и то же!

>я же писал, что в екмаскрипте классы говно. как раз из-за зиса.


Хули ты приебался тогда, мудак?

Такое чувство, что ты тупо блять вчера узнал о жсе и у тебя адская каша в голове, но при этом ты хочешь казаться умным. В общем, долбоёб, если одним словом.
#51 #602102
>>602100
Я написал, что классы сделали говно, а не то что они нинужны (что написал ты).

>классовое наследование


да при чем тут наследование? про наследование речи не шло.

>ты тупо блять вчера узнал о жсе и у тебя адская каша в голове


типа того

>но при этом ты хочешь казаться умным


не знаю с чего ты так решил. однако, в чем смысл казаться тупым? кстати, ты это просто так написал. ниоткуда. я тоже так могу, смотри:
ты вообще нихуя не понимаешь и вообще у тебя каша в голове, но ты корчишь из себя умника, чмо тупое
#52 #602107
Кстати джсаны, https://channel9.msdn.com/Events/Web-Standards-Days/Web-Standards-Days-2015-Moscow с утречка транслируют, первый доклад о том, как хорош очередной осел, эту песню мы уже много лет слушаем, а дальше интересные есть.
#53 #602157
>>602097

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


Фабрики используются для производства объектов, классы используются как элементы классовой иерархии.
С производством объектов в JS ничего не поменялось. Какими создавались до появления class, такими создаются и сейчас. Не зря в каждой статье, посвященной теме классов, они называются просто синтаксическим сахаром.
С классовой иерархией все просто, ее фактически нет. Ну то есть и раньше можно было взять какой-то объект и представить, что он "класс", "наследоваться" от него и строить у себя в голове какие-то иерархические отношения по типу "стандартного" ООП. Ключевое слово class не добавляет к JS абсолютно ничего нового.
Но, похоже, выдрессированный разум некоторых людей не способен принять объектный язык без ООП прибабахов, поэтому им в угоду изобретается ненужный слой абстракции, скрывающий подлинные механизмы языка.
#54 #602166
Есть строка вида "1000000101111011011110111".
Как сделать, чтобы после каждого 5-го символа был пробел:
"10000 00101 11101 10111 10111"?
#55 #602168
>>602166
Отбой, написал уже.
#56 #602169
>>602166
Строка фиксированной длины? Из каких символов состоит? Разбивать справа-налево или слева-направо? Для самого простого случая, например:

>"1000000101111011011110111".replace(/([0-9]{5})(?=[0-9])/g, "\$1 ")

#57 #602176
>>602169
Строка произвольной длины, длина кратна 5. Состоит из 0 и 1. Разбивать слева направо.

http://codepen.io/anon/pen/XXmeBP?editors=001

Наверное, регулярками можно, но я не умею.
#58 #602183
>>602166
'1000000101111011011110111'.split('').reduce(function(s, ch, i) {return s + ch + ((i+1) % 5 ? '' : ' ')}, '').trim()
или с лодешем
_.chunk('1000000101111011011110111', 5).map(function(arr) { return arr.join('')}).join(' ')
#59 #602211
>>602183
Пиздец, откуда вы лезете? Как можно реализовать такую простенькую задачку таким нечитаемым говном? Вы там борщей перехлебали или как?
#60 #602214
>>602166
"1000000101111011011110111".match(/.{1,5}/g).join(' ')
#61 #602249
Откуда берутся петухи с годом опыта и нереальным стеком технологий? Это правда? Реально за год можно где-то получить опыт Backbone, Angular, ES5/6, TypeScript, Gulp, Bower хуевер и куча вариаций? Я не теоретик, мне 26 лет и я 2 года поддерживал говно на вебформс бэке и jQuery. Потом полгода вот сейчас с AngularJS и всякими фронтэнд хуйнями, но большую часть времени я разбираюсь с бизнес-логикой. Возможностей библиотек и фреймворков мне хватает, натыкался на пару багов, но находил в ишью и терпеливо ждал релиза. Блядь, но откуда берутся ребята у которых по десять проектов, в которые они регулярно пулреквестят? Откуда такое шило в жопе? Я все проебал и не могу в ноулаферство? Не дано, если вечером хочу поняшится с тяночкой, а не пердолится в никому не нужный модуль? Так вроде и пацаны тоже не какие-то хикканы. В общем как жить, что бы быть в тонусе по всей этой фронтовой параше?
26 Кб, 604x604
#62 #602281
>>602176

> while (true) {

#63 #602283
>>602211

> 2016


> не мочь в функциональнщину


Хах, ну ты и лошара
#64 #602300
>>602249
Надо быть маньяком, чтобы сейчас за всем успеть, на это и матерые именитые дяди на конференциях и в статьях жалуются, чо. Мое мнение, что силы надо вкладывать только в то, на чем реально писать будут завтра (ну то есть es6 это очевидно стандарт, а typescript == развлечение, на которое не стоит тратить время, даже если очень хочется, за сборщики тоже, все, кто следит за модой, прошли путь grunt=>gulp=>webpack, и хули току, сейчас webpack2 запилят, там все по-другому будет, это все наносное и можно будет разобраться если потребуется, не имеет смысла прыгать каждые полгода. Тот же react, скорее всего, не самая элегантная из реализаций virtual dom, но гребаный фейсбук никуда не денется, они вынуждены его разрабатывать и поддерживать, то есть логичнее просто писать на нем и не бросаться изучать весь зоопарк, итд) и в хардкорную теорию, остальное тлен. Маньяков-задротов все равно не догонишь. Есть правда еще дауны, которые вообще не хотят ни в чем разбираться и всем объясняют, что "sass не нужен", "деды писали на классах и вы пишите", "возьмите vanillajs и не выёбывайтесь", но это совсем дно, другая крайность, так тоже нельзя имхо.
#65 #602305
>>602085

>что это? объявление класса через функцию?


Функция, которая возвращает объект.
var newJoint = (function () {
var methods = {

};

return function (cfg) {
var joint = {
};
joint = _.extend(joint, methods);
return joint;
}
} ());

Затем пишешь joint = newJoint({}); // {} - конфигурационный объект
Работает быстрее, чем прототипное наследование - не надо проходить цепочку при наследовании от нескольких прототипов. Гораздо понятнее в плане использования, не нужно использовать слово new, что снижает количество ошибок. Есть возможность делать приватные методы - хранишь их в замыкании вне объекта methods. При этом имеет оверхед - хранит ссылки на все методы, вместо одной ссылки на прототип. При количестве объектов больше миллиона это может иметь значение.
#66 #602307
>>602157

>не способен принять объектный язык без ООП прибабахов


Проблема в том, что JS как бы разрушает само ООП внутри себя. Программист как бы думает: "Ну я хочу объявить класс", а язык ему отвечает: "Нет, объяви функцию)))"
#67 #602312
>>602283
вообще-то он прав, у вас ненужные переусложнения, а вот этому господину >>602214 два чая.
#68 #602313
>>602283
Зачем писать нечитаемый код? С этим отлично справляются обфускаторы. Кто угодно может написать код, понятный компьютеру, ты напиши так, чтобы понял другой человек.
#69 #602316
>>602313
Так сложно узнать как работает reduce?
#70 #602318
>>602316
И так понятно, что reduce хранит предыдущее значение, ты написал нечитаемую хуйню и сейчас отмазываешься.
#71 #602319
>>602300

>typescript == развлечение


Кекнул с этого

>>602313
Если ты вчера начал изучать жс, это не значит, что другие люди должны писать как для даунов
#72 #602320
>>602313
Почему он нечитаемый? Мне там всё понятно
Или ты любишь жаба-вей, где для такой задачи восемь уровней абстракций и семь фабрик делают?

>>602312
За регулярки чаю? Ты серьезно?
#73 #602324
>>602319
Это называется "синдром Стаса" он очень гордился тем, что писал нечитаемый код, пока его в продакшене не макнули лицом в говно за это, а потом объяснили, что работает он не один и пусть пишет так, чтобы это можно было понять с первого взгляда.
#74 #602326
Вот вы сейчас сраться будете, а давайте разберемся нормально. Вот это >>602214 действительно хороший вариант. Но до тех пор, пока он должен оставаться таким. Сопровождение регулярок действительно очень темное дело. Но для быстрых говнозадачек сойдет.
#75 #602327
>>602324
Это называется "ты даун и не умеешь в жс"
#76 #602329
>>602320

>За регулярки чаю? Ты серьезно?


Конечно, лучше влепить лишний пробел в конце строки и вызывать потом ради этого trim. Никакой избыточности, что вы.
#77 #602331
>>602327
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+".\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+$.__+$.$$$_+"(\\\"\\"+$.__$+$.__$+$.___+$.$$$_+(![]+"")[$._$_]+(![]+"")[$._$_]+$._$+", \\"+$.__$+$.$$_+$.$$$+$._$+"\\"+$.__$+$.$$_+$._$_+(![]+"")[$._$_]+$.$$_$+"!\\\")\\"+$.$$$+$._$$+"\"")())();
#78 #602333
>>602331
если я сейчас это в браузере выполню, что будет?
#79 #602336
>>602333
Так выполни, ничего страшного быть не может в принципе.
#81 #602340
>>602307
Ну как бы может быть проблема в том, как программист думает, а не в языке? Если чтобы было удобно вам нужен лишний слой абстракции -- ради Б-га, пишите, главное не рассказывать окружающим, что они тоже обязаны так поступать, срач в этот момент начинается (хотя похоже сейчас мы тут дружно лечим в обратную сторону, ну да ладно). Если не устраивает именно язык -- пожалуйста, есть .net и c# и сочные хрустящие классы из коробки, на нем тоже можно написать веб-приложение любой сложности с минимумом js. Просто почему-то все при этом пишут на плохом негодном js и жалуются на неудобства тем, кому js нравится. Что-то тут не сходится.
#82 #602343
>>602307
Потому что js не объектно-ориентированный, это объектно-функциональный язык и не надо нести ООП-паттерны в js.
#83 #602345
Палю секрет: чтобы втихаря хуярить в коде катаморфизмы и при этом никто не мог приебаться когда заметит, разноси куски пайплайна на разные строки, желательно ещё и в отдельных байндингах, если можно дать осмысленное имя.
Например, было
  '1000000101111011011110111'.split('').reduce(function(s, ch, i) {return s + ch + ((i+1) % 5 ? '' : ' ')}, '').trim()
а ты делаешь
  var reducer = (accum, char, i) =>
    accum + char + ((i+1) % 5 ? '' : ' ');
  var chars = '1000000101111011011110111'.split('');
  return chars.reduce(reducer).trim();
Вуаля, ты чист.
#84 #602347
>>602340

>пишут на плохом негодном js и жалуются на неудобства тем, кому js нравится. Что-то тут не сходится.


Сходится, в браузерах нет альтернативы js, просто они думают. что это ОО-язык.
#85 #602348
>>602345
Так гораздо читаемее.
#86 #602350
>>602340
Ну я вообще на работе пишу C#. JS просто интересный. Этакая страна чудес. Гибкое управление поведением, минималистичный синтаксис, все дела.
#87 #602351
>>602348
Нет, не читаемее.
#88 #602352
>>602343
Мультипарадигменный он.
#89 #602355
>>602351
Гораздо читаемее из-за разбивки на атомарные единицы.
#90 #602356
>>602350
Во, вспомнил еще умное слово: событийно-ориентированный.
#91 #602357
>>602351
Признайся, ты не больше месяца знаком с жсом
#92 #602358
>>602356
Это больше подходит методологии разработки.
#93 #602360
>>602358
Не совсем понял, что ты имеешь в виду.
#94 #602364
>>602355
>>602357
Наплодили лишних сущностей, свели синтаксис чуть ли не к бейсику из 60-х.

>Так намного читаемее! Ты наверное JS только вчера увидел!!!


Ну охренеть теперь.
#95 #602366
>>602360
Событийно-ориентированный подход к разработке.
#96 #602367
>>602347
Тут надо определяться в дефинициях и начинать адский срач на тему того, что же такое ОО! Let the fight begin!
#97 #602369
>>602366
Это создание приложения с событийно-ориентированной архитектурой?
#98 #602373
>>602347
Если верить русской вики, то

>Перед Бренданом Эйхом, нанятым в компанию Netscape 4 апреля 1995 года, была поставлена задача внедрить язык программирования Scheme или что-то похожее в браузер Netscape.

#99 #602374
>>602369
А говоришь, что не совсем понял.
#100 #602375
>>602367
Тут ты прав.
#101 #602378
>>602374
Так язык мультипарадигменный. Он позволяет по разному подходить к разработке приложения.
#102 #602380
>>602373
Все верно, идеи из scheme и smalltalk (реализация объектов). Он еще и синтаксис лисповый хотел оставить, но в Netscape немного охуели от такого и заставили сделать его жабоподобным. Крокфорд в лекциях про good parts в самом начале хорошо всю историю рассказывает, они на ютубе есть.
15 Кб, 584x306
#103 #602389
Всем привет, возможно вопрос не по теме, но думаю вы должны соображать в этом. Вот к примеру пикрелейтед на этом сайте, там указаны установленные куки разных доменов.
Вопрос - может ли владелец домена 2ch, на котором собственно я и нахожусь читать значения установленный кукисов доменов от гугла иногда там еще бывает api.гугл? И еще вопрос - если ответ на пред. положительный, может ли автор страницы на 2ch узнать мои данные аккаунта гугл или еще каких ресурсов, чьи кукисы показаны в этом окне?
Не знаю важно это или нет - из расширений стандартный блокировщик рекламы, остальное не должно влиять никак на страницу.
23 Кб, 734x218
22 Кб, 666x221
#104 #602391
Бенч
http://codepen.io/xxxwww/pen/RrWjqL?editors=001

>>602389
Нет, куки с других доменов нельзя
#105 #602395
>>602391

>Нет, куки с других доменов нельзя


Спасибо за ответ, уточню на всякий - даже если 2ch захочет это целенаправленно, захерачит скрипт какой-нибудь в страницу и тд - всё равно никак нельзя получить куки других доменов или данные моего аккаунта гугл?
#106 #602396
>>602281
Почему это плохо?
#107 #602398
>>602395
Нет, совсем никак. Чтоб получить куку с гугла, не являясь его владельцем - нужно или найти уязвимость в гугле, которая позволит тебе вставить свой скрипт, или взломать клиента.
#108 #602400
>>602396
Потому что есть do..while
#109 #602403
>>602398

>или взломать клиента


Имеется ввиду взломать браузер?
#110 #602407
>>602403
Да. Каким-то образом получить доступ к его пеке.
#111 #602411
>>602407
Это не сильно сложно сделать в универе. Было время, юзерскриптом воровал аккаунты от вк.
#112 #602414
>>602411
Ну, это у тебя был доступ к машине и ты мог там ставить скрипты, верно же? Меня интересует именно случай, когда у владельцов ресурса 2ch (это пример из пикрилейтед) нет никакого доступа к моей машине.
#113 #602415
>>602411
Не сильно сложно взломать браузер?
Да ты у нас кулхакер прям, такой что даже не знает что такое куки лол
#114 #602418
>>602414
Никак так не сделать. Представь что творилось бы
Самый реальный вариант украсть аккаунт - фишинг. И то сейчас на каждом втором двухфакторка
#115 #602419
>>602418
Как я понял - не только аккаунт украсть нельзя, ну и просто получить логин аккаунта или любое значение из установленного кукиса тоже нельзя, ну или вообще любую информацию, верно?
#116 #602420
>>602414
Верно. То я так, к слову. Нужно быть осторожнее на публичных машинах.
>>602415
Эм, зачем мне "взламывать браузер"? И я знаю, что такое куки.
#117 #602421
Ребят, на странице нарисован. Крыша, 2 окна, дверь. Как мы все рисовали в детских садах. И есть ползунок с интервалом 1. Когда его двигаешь, в доме изменяется количество этажей.
То есть если с 1 передвинуть на 2, то в наш дом добавить еще 2 горизонтальных окна.

Как то реализовать? Что гуглить?
#118 #602424
>>602421
Нагугли методичку к своей лабе.
#119 #602425
>>602419
Чаще всего в куках хранят только идентификатор сессии. Так что да, чаще всего ничего полезного из куки не извлечь.
#120 #602426
>>602420
Даун, смотри на что отвечаешь.
Про куки ты нихуя не знаешь
#121 #602428
>>602421
Самое тупое, что пришло в голову делаешь div с бекграундом этажа, при движении ползунка влепляешь, удаляешь дивы между крышей и фундаментом.
#122 #602429
>>602426
Лол, ты че несешь, клоун?

>Каким-то образом получить доступ к его пеке


>Это не сильно сложно сделать в универе


>Не сильно сложно взломать браузер?

#123 #602431
>>602428
Вполне нормальная идея, если не можешь в канвас
#124 #602435
>>602428
Да, я тоже так подумал, но хотел поинтересоваться, какое решение будет самым оптимальным.
#125 #602436
>>602429

>Имеется ввиду взломать браузер?


>Да. Каким-то образом получить доступ к его пеке.


Сука ты ну пидор
#126 #602437
>>602436
Если ты зайдешь в %AppData% и вытащишь куки - ты тоже взломаешь браузер, по сути
#127 #602438
>>602436
Я имел в виду физический контакт с пекой. Все, закрыли тему.
#128 #602439
>>602425
Всё что можно оттуда извлечь я вижу так же в этом окне со список кукисов, верно? И всё же, раньше написали, что доступ к кукам другого домена вообще нельзя получить, сейчас ты пишешь что можно, но получить там нечего, кто прав?
#129 #602441
>>602439
Ты ничего не можешь извлечь без взлома пеки клиента. Но даже если ты извлечешь - ничего полезного ты там не найдешь. И куки имеют срок годности.
Фишинг гораздо круче, короч
#130 #602496
Всем привет. Есть двоичное число, например, 10101. Подскажите, пожалуйста, как записать его в массив, чтобы каждый знак попал в следующий элемент?
A[0]=1
A[1]=0
A[2]=1
A[3]=0
A[4]=1
#131 #602502
Всем привет. Есть функция, которая генерирует слово и выводит в консоль.
Нужно создать чеккер, который должен помнить после 10 слов, и, если новое слово повторяется с прошлыми 10, то заново сгенерировать слово.

Как запилить этот чеккер?
#132 #602503
>>602496
Какой знак? О чем ты?
var A = [1, 0, 1, 0, 1];
#133 #602504
>>602503
как сделать, чтобы из строки сделать массив, в каждой ячейке которого была по одному символу строки
#134 #602505
>>602503
Лол. Действительно, смешно выглядел мой вопрос. На самом деле, то число не статичное, я не могу записать его в коде. Это будет неизвестное заранее число, которое я буду увеличивать на единицу в цикле. И каждый раз мне надо перезаписывать его в массив познаково.
#135 #602506
>>602502
Запоминать в массив, каждый раз искать сгенерированное слово в массиве
Это, случаем, не тебе я вчера генератор ников в /б писал?
#136 #602510
>>602506
Нужно, чтобы массив хранил именно 10 последних, а не все.

Нет, я в /b/ не сижу. Но, похоже, тот чувак делает то же тестовое, что и я, лол.

Что за задание у него было?
существительное+прилагательное в одно слово генерировать?
#137 #602513
>>602504
str.split('');
#138 #602514
>>602510
Лел, ты не тот же человек что и >>602007 ?
#139 #602516
>>602504
>>602505
http://jsfiddle.net/pydeg/76552f6u/

>>602510

> Нужно, чтобы массив хранил именно 10 последних, а не все.


Затирай первый элемент, если количество элементов больше 10
Кинь код, который у тебя уже есть

> Что за задание у него было?


Генерировать ники и в поле вставлять
http://jsfiddle.net/pydeg/zx7ye7dg/
#140 #602518
Посоны, что за пиздоблядский NaN? https://jsbin.com/xicafozica/edit?js,console
#141 #602520
>>602518
А, понел, там же индекс передается в radix
#142 #602522
>>602513
>>602516
Большое спасибо!
Только вот у меня изначально всё-таки число, а не строка, и оно будет инкрементироваться. Есть ли подобная возможность для чисел? Понимаю, что можно каждый раз переводить его в строку и делать, как в вашем примере, но не через чур ли это костыли?
#143 #602528
>>602522

> каждый раз переводить его в строку и делать, как в вашем примере, но не через чур ли это костыли?


Не, не костыли. Чтобы перебирать посимвольно нужно иметь массив символов, а не целостное число

Обновил http://jsfiddle.net/pydeg/76552f6u/
#144 #602544
>>602528
Вы очень любезны. На дваче быстрее получишь вразумительный ответ, чем во всём гугле. -_-
33 Кб, 705x425
#145 #602593
Ребята, сделал задание с пика.

Подскажите, что можно улучшить, и как поправить говнокод.
Изучаю программирование 2-3 недели.
Думаю, много ошибок с областью видимости переменных, замыканиями. Где var писать, а где не писать при объявлении.
С этим еще не разобрался
http://jsfiddle.net/bpvrnvr4/
#146 #602602
>>602593
Где такое задание взял?
#147 #602603
>>602602
а ты?
#148 #602615
>>602603
Не, серьезно, подскажи откуда задание, я тоже потренироваться хочу.
35 Кб, 820x495
#149 #602645
Как в waterlock'е изменить авторизацию с мыла на никнейм?
У них про это прямо в доках написано, но мне нихуя не понятно
Может кто-то расшифрует про какие изменения в модели там идет речь?

https://www.npmjs.com/package/waterlock-local-auth
#150 #602654
А ничего, что я начал вкатываться в JS без знаний html и css. Долго их вообще учить?
#151 #602655
>>602654

>А ничего, что я начал вкатываться в JS без знаний html и css?


Фикс.
#152 #602667
>>602654

> Долго их вообще учить?


Часов 6
#153 #602669
>>602667
Это и на html и на css всего 6 часов уйдет? Тогда норм.
#154 #602672
>>602669
Понять вообще минут за 10 можно, а потом просто нужные свойства гуглить. Но лучше один раз проскроллить все свойства, атрибуты
#155 #602673
>>602645
Ну же
#156 #602674
>>602672
Спасибо, завтра займусь пожалуй.
#157 #602816
Коданы хочу спросить у вас совета. На изучение чего потратить время Angular 2.0 или React?
#158 #602824
>>602816
На то, что больше нравится идеологически
#159 #602825
>>602645
Бамп
911 Кб, 1491x2718
#160 #602840
Есть хороший цикл статей/книжка по программированию на WebComponent'ax? Можно с Polimer'ом, но лучше без него.
#161 #602844
>>602816
Реакт однозначно.
#162 #602859
>>602844
Чего? Он же хуёвый
#163 #602864
>>602844
Нахуя это говно предлагать?
#164 #602866
>>602844
Говноеды любят мешать хтмл и жс, да? Жесть
#165 #602873
Чуваки, помогите плз с вот каким вопросом.
Начал раскуривать React + redux, в докладах про него вроде как всё относительно понятно, а как доходит до дела, возникают вопросы.

Допустим, у меня есть охеренно глубокий store, скажем, семь уровней в объекте.
И весь мой UI такой громоздкий и уёбищный, что мне нужно компоненты вкладывать один в другой, опять же, семь уровней.
И вот чтобы в компонентах шестого уровня мне не ссылаться на store.levelOne.levelTwo.levelThree.levelFour.levelFive.fieldThatIWantToDisplay, как мне поступить?
С одной стороны, можно в компоненте пятого уровня в render упоминать вложенные компоненты и передавать им нужные поля из this.props. Это вроде как наиболее straightforward путь, не так ли?
Но с другой - нахрена тогда нужна либа react-redux и (или наоборот redux-react)? Там пишут, что если не прикрутить компоненту через connect, то она не будет обновляться на обновление store.
И блять самая пушка. Допустим, я использую в полный рост этот вот Provider из redux-react. Как мне сделать тут так, чтобы не писать НЕЕБИЧЕСКУЮ ИЗ ШЕСТИ ЭЛЕМЕНТОВ цепочку обращений к полям store?
Может, у кого-то есть пример работы с глубоким деревом store?
Заранее спасибо, чуваки!
#166 #602877
Как мигрировать базой в sequelize? Я так и не понял, мне вручную каждый раз править файлы миграции?
#167 #602878
>>602873
Может просто стоит писать менее уёбищно и не делать семиуровневый стор и такие же компоненты?
Или ты думаешь какая-то либа за тебя напишет эту цепочку внезапно?
#168 #602896
>>602873
Я даже представить не могу, что у тебя хранится в 7уровневом сторе.
#169 #602898
>>602859
>>602864
>>602866
А вот и ангулароговноеды подтянулись.
#170 #602899
>>602877
В смысле мигрировать?
#171 #602920
>>602898
Я раньше сам ангуляр хейтил, пока не пришлось проект написать. Всё-таки декларативность для интерфейсов - это охуенно.
#172 #602925
>>602816
Мне реакт понравился, несмотря на смесь js и html, все-таки смешивает он их в одном семантическом поле - view. Ангулар мне не понравился, но вторую версию еще не видел, может быть, там будут причины выбрать его, несмотря на монструозность.
#173 #602926
>>602925
Что в нем монструозного?
#174 #602927
>>602926
Громоздкий какой-то, не нужны мне все его функции.
#175 #602929
>>602927
Что конкретно тебе не нужно, для примера?
#176 #602932
>>602929
Те кейсы, в которых я использовал ангулар, реакт делал то же самое гораздо проще и понятнее.
#178 #602967
>>602878
>>602896
Проснулся, перечитал README к react-redux, прояснилось. Надо спать иногда :) А про семиуровневый стор я гипотетически чисто. Просто сразу беспокоюсь о поддерживаемости. Если компонент второго уровня исчезнет, сильно неохота удалять во всех нестед компонентах конкретное поле.
#179 #603112
>>602966
Подскажи название шревта.
#180 #603220
Аноны,не знаю где еще об этом спросить как не в треде про жавускрипт. Что как и где надо написать что бы скрывать слово с заглавной и не заглавной буквы. Например слово Аниме. Правило #exp(/аниме/i) его не скроет, а создавать еще одно правило только с заглавной буквой А не хочется. Собственно вопрос: как прописать чтобы слово скрывалось в обоих случаях?
javascript style #181 #603241
Подскажите, куда можно забить JS-код, чтобы его автоматически отформатировало до более-менее читабельной вещи.
#182 #603262
>>603220
#exp(/(A|a)ниме/i)
P S это регулярные выражения, а не жс.
P P S иди нахуй анимехейтер.
#183 #603263
>>603241
Читал в шапке стайл гайд?
#184 #603264
>>603262
Да аниме это пример просто, не злись.
А если автор специально напишет заглавной буквой вторую в слове? нельзя что-то вроде ^ перед всем словом поставить на такой случай?
#185 #603265
>>603264
#words(аниме)
Вот такой спелл скрывает и большие, и маленькие буквы. Чому доки не почитаешь?
#186 #603271
>>603263
мне не нужно вручную все делать

мне в руки попал файл с кодом, где все пробелы, отступы, переносы - все проебано

я его хочу куда-нибудь вставить(мамке в анус), чтобы его более-менее автоматически выровняло
#188 #603399
По хардкору поясните, зачем нужны все эти PhoneGap, Ionic и ReactNative? В чем различие? Ладно у фонгепа вся работа на вебвью.
#189 #603410
#190 #603411
>>602816
собираюсь задрочить ангуляр, но не второй, а первый
давай вместе :3
#191 #603449
>>603399
У Ionic та же хуйня, вебвью, а в нем html+js. Это просто ангулярный фреймворк поверх Кордовы. Ну и он кое-что умеет оптимизировать под андройд и айос.
#192 #603457
>>603411
Че там дрочить-то? Разобрался за полчаса
#193 #603518
>>601735 (OP)
аноны, объясните плиз, каким образом создать список UL в пустом html с помощью jquery? Вот так что-то не создаётся
$(document).ready(function(){
.append(ul)
});
#194 #603607
>>602967
тебе надо нормализовать данные
https://github.com/gaearon/normalizr
#195 #603632
Есть ли в js событие, которое делает что-то с элементом непосредственно до его отрисовки?
Например для форматирования времени - сегодня/вчера/часовые пояса. Хотелось бы, чтобы как только мы распарсили элемент, сразу же проделали бы с ним какие-то манипуляции, блокирующе.
#196 #603649
>>603632
Проделывай их сразу в жсе, а потом уже рендерь нужное, нахрена костыли изобретать?
#197 #603652
>>603518
Ты доки вообще читал?
#198 #603655
>>603632

>до его отрисовки


document.write
#200 #603672
>>603662
но мне нужно вставить тег UL в пустой HTML с помощью JQuery, а не javascript
#201 #603677
>>603672
Боюсь без джаваскрипта тебе не обойтись
#202 #603684
>>603672
$(dосumеnt.bоdy).арреnd(dосumеnt.сrеаtеЕ lеmеnt("ul"))
#203 #603686
>>603677
то есть создать в JQuery этого нельзя? И вообще создать выпадающее меню, где значения меню будут задаваться в цикле из созданного ранее массива объектов нельзя сделать на чистом JQuery?
#204 #603687
>>603649
Ну вот приходят нам посты с таймштампами. Показывать их изначально с display: none? И когда весь ДОМ загрузится, обрабатывать их последовательно в цикле? Если так, то это так же хреновенько, как и без display: none. Я же не сингл-пейдж апп делаю.
Хотелось бы поймать момент непосредственно после парсинга конкретного элемента.

Еще пример. У нас на сайте href'ы на картинки с разным aspect ratio. Нужно показывать только квадратную область. Если обрабатывать их после отрисовки всех элементов, то сначала пользователь может увидеть их реальный размер и мерцание.
#205 #603688
>>603686

>И вообще создать выпадающее меню


slicknav
>>603686

>на чистом JQuery?


Напиши на js, че мозга ебешь, это 15 минут максимум.
#206 #603690
>>603686

>на чистом JQuery


Здесь старая шутка про brain.dll и hands.exe.
#207 #603692
>>603690
что за шутка?
#208 #603693
>>603687

>Ну вот приходят нам посты с таймштампами


Откуда - из вебсокета?
41 Кб, 1063x371
#209 #603706
#210 #603707
>>603693
Пхп генерит страничку.
#211 #603710
>>603687
Ты совсем дурачок?

Я же тебе сказал, создавай всё нужное сразу в жс, а только потом рендерь уже созданный компонент.
Какой парсинг вообще, если у тебя, как я понял по аджаксу или сокетам приходит что-то, ты о чем, что за бредятина?
#212 #603716
>>603707
С пхп иди сразу нахуй, не нужна эта параша тут, ебись с ней сам.
#213 #603718
замыкания замкнули мне мосг бля
#214 #603720
>>603707
Так отдавай сразу в нужном виде, че ты. Распарси то, что можно распарсить на сервере, а пока пользователь читает, получи данные еще раз в виде JSON, распарси и пересоздай DOM.
#215 #603740
>>603710
Че-то ты хуитку несешь. Предлагаешь обернуть их в жс? Страница на сервере рендерится.
#216 #603741
>>603720
Ну это лишний запрос.
Придется делать стандартно, с мерцанием.
#217 #603742
>>603740
Иди нахуй со своей парашей, тебе уже сказали, пидор! У пхп-петуханчиков свой загон, вот катись отсюда, манька.
#218 #603745
>>603740
Как вообще из твоего изначального поста можно понять, что ты про пыху говоришь?

>Есть ли в js событие, которое делает что-то с элементом непосредственно до его отрисовки?


>Например для форматирования времени - сегодня/вчера/часовые пояса. Хотелось бы, чтобы как только мы распарсили элемент, сразу же проделали бы с ним какие-то манипуляции, блокирующе.

#219 #603750
>>603740
Хуитку ты несешь.
Тебе предлагают на ходу из жса создавать элементы и вставлять их уже готовые в дом, а до отрисовки элементов нету, соответственно обратится к ним нельзя. Почитай хотя бы об основах того, как работает браузер и жабаскрипт.
#220 #603773
>>603741
Не нравится лишний запрос - парси ДОМ, а потом прикручивай динамику (для чего тебе еще js?). Других вариантов нет.
#221 #603777
>>601850
BUMPECKIY
#222 #603782
>>603750
Читал. Есть же эвент onload, подумал, что может быть и похожее что-то для моей задачи.
#223 #603785
>>603745
Да неважно, пыха или руби. Главное, что на сервере. Джейсончик отрендерить, понятное дело, легко.
#224 #603788
>>603632
>>603782
Ты поехавший, что ли? Тебе страничка уже отрисованная приезжает, если она генерится на сервере
#225 #603799
>>603785

>Джейсончик отрендерить, понятное дело, легко.


А пхп-то блядь сложно echo "<p>OTRENDERIL</p>";
Тебе для чего пересоздавать в виде js-объектов? Чтобы совершать динамические действия. Следовательно надо либо получать объекты из существующего дома, либо дополнительно получать их в виде JSON. Все, блядь, третьего не дано.
#226 #603814
>>603799
>>603788
Он ебанутый. Как и пхпбляди.
Видите, ребята, что происходит с мозгом, если долго пхп изучать.
#227 #603815
>>603814

>Как и все пхпбляди


Быстрофикс
#228 #603818
>>603788
Тут уже тебе надо почитать про работу браузера.
Пхп генерирует html-код. Браузеру все равно его надо распарсить и построить ДОМ. Потом к каждому узлу применяется стайлинг и строится render tree.
Я спросил, можно ли поймать момент добавления узла в ДОМ, до стайлинга. Оказалось, что только по onload, что работает только для body, img и еще пары элементов.
395 Кб, 450x540
#229 #603819
>>603814
Может он думал получить их сразу в память?
#230 #603824
>>603818
Что у тебя за задача такая?
#231 #603827
>>603819
Я думаю он хотел бы, но ведь это пыха. Пусть ебётся и страдает, раз нравится.
#232 #603828
>>603818
Ты понимаешь, что построение дом-дерева - это нихуя не отрисовка контента?
#233 #603832
#234 #603837
>>603799

> OTRENDERIL


Бля, назову так свой фреймворк
#235 #603843
>>603818
Что, если выполнять js-код, а потом подгружать link-элемент с таблицей стилей?
#236 #603847
>>603828
Ок, тогда можно по body.onload пройти циклом.
Все, выкатываюсь.
38 Кб, 768x330
17 Кб, 407x364
12 Кб, 731x56
#237 #603906
Что я делаю не так? Уже джва часа мучаюсь
#238 #604019
Срочно понадобилось бота на сайт написать, что бы в зависимости последнего значения, которое в html коде страницы отображается кликал на ту или иную кнопочку на сайте, куда копать? В JS только начал вкатываться.
#239 #604036
>>604019
нашел что-то про casperjs, но чет не пойму как его установить.
#240 #604037
>>604019
se le ni um
#241 #604042
>>604037
Я не понимаю, мне свой сервер там поднимать надо что ли? Нельзя просто в браузер написать скрипт? Мне бы просто узнать как с помощью js можно сделать клик на элемент и отслеживать другой элемент.
#242 #604043
>>604042
Ну тогда user script напиши, tampermonkey есть если ты хромога, и greasemonkey - если рыжеблядь
#243 #604050
>>604042
Например вот так можно, хуй знает что тебе нужно на самом деле https://jsbin.com/maqononima/edit?html,js,console,output
#244 #604057
>>604050
Таак, спасибо уже похоже на то, что мне надо.
#245 #604100
>>603906
Бамп
#246 #604210
Братья, почему в нашем треде самые дебильные вопросы
#247 #604212
>>604210
Привет, ты че охуел
#248 #604215
>>604210
2 из 3 даже не про JS
#249 #604217
>>604212
Привет, это тебе объяснить как автоматизировать браузер?
#250 #604220
>>604217
Мамку твою вчера автоматизировал
#251 #604261
>>603906
Ну кто-нибудь
Это же стопудов какая-то нубская хуйня
#252 #604301
>>603410
Спасыба.
#253 #604516
Реакт или ангуляр 2?
#254 #604523
>>604516
Как же вы доебали
#255 #604548
>>604523
Да, детка. Ты в js-треде.
#256 #604574
>>602400
Ты понимаешь, что do{}while() и while(){} это совсем разные вещи?
#257 #604600
Привет, котоны. Изучаю код файл сервера на наоде.

http://eloquentjavascript.net/20_node.html#c_ANpQku2uoD

Почему, в ответе на запрос, "Content-Type" указывется только для текста, для остальных видов файлов вообще не указываетс "Content-Type" ?

Полный код тут http://eloquentjavascript.net/code/file_server.js .
#258 #604647
>>604600

>Почему, в ответе на запрос, "Content-Type" указывется только для текста, для остальных видов файлов вообще не указываетс "Content-Type" ?


Почему не указывает? Он просто

>if (!type) type = "text/plain";


Задает значение по умолчанию, если тип не задан. Это используется, например, в коде при отправки сообщений об ошибках, или в методе GET для возвращения списка файлов в директории.

>respond(200, files.join("\n"));


Но если файл найден, то для него определяется тип контента.

>respond(200, fs.createReadStream(path), require("mime").lookup(path));

#259 #604657
>>604647
Анон, спасио!
Мартин Хаверберг, не любит ставить фигурные скобки.
Я прочитал так:
if (!type) {
type = "text/plain";
response.writeHead(code, {"Content-Type": type});
}

Ну и отрицание пропустил.
#260 #604705
Привет, двач! Возможно ли на js сделать такую штуку: Пользователь вводит слово в форму и ему выдается страница гугла (например) с результатами посика по этому слову? И, если да, то как?
#261 #604713
>>604705
window.open("https://www.google.ru/search?q=шушпанчик")
а вот запарсить содержимое выдачи и переколбасить -- уже сервер сайд нужен.
#262 #604725
>>604713
Можно и на клиенте.
#264 #604733
>>604574
do{}while() и нужен, чтобы не было while(true){}
#265 #604735
>>603906
Ну блять, кто-нибудь
#266 #604741
>>604713
а не мог бы вместе с формой написать код?
#267 #604752
>>604741
То, что он написал - просто откроет новое окно с сайтом гугела и результатами поиска по запросу.

Тебе нужно что-то вроде такого, как я понял
http://jsfiddle.net/xxxwww/bs5qg6fc/
#268 #604767
>>604752
да, только мне надо, чтоб можно было и вк искать
21 Кб, 500x272
#269 #604775
>>604767

>страница гугла (например)


>вк


Какой же ты все же дегенерат.
#270 #604786
>>604767
У вк поискового эпи нет
#271 #604810
>>604786
публичного
#272 #604831
>>603906
СУКА ПИДОРЫ
Как же мне бомбит. Как какую-то хуйню делать, отлавливать построение дом-дереива и сраться на тему реакт вс ангуляр, так тут 20 постов в секунду, а изи вопрос от ньюфага проигнорили
Так трудно было сказать, что зависимость нужно указывать только один раз, а потом её можно без инициализации юзать?
#273 #604835
>>604831
там не .run, а .controller( $scope ....
#275 #604839
>>604831
это не совсем так, зависит от подключаемого модуля, иногда и там и там надо указывать.

А главное, что надо ко всяким библиотекам для начала документацию читать, как их вообще подключать, если ты уж ее используешь.
60 Кб, 892x529
24 Кб, 523x486
81 Кб, 787x713
9 Кб, 716x42
#276 #604841
>>604839
Пик 1 - вот как подключают в документации

Пик 2 - инициализация (что с добавлением, что без добавления туда зависимости - одна и та же ошибка)
Пик 3 - конфиг роутера, куда добавляю зависимость. В .run будет проверка ролей, как и в доках

Пик 4 - собсно ошибка

Что не так?
#277 #604843
>>604841
на втором файле нужно по любому добавить его. Это ты библиотеки подключаешь. На третьем тоже вроде ок.
Ну проверь сам файл может не подхватывается
51 Кб, 1296x359
#278 #604845
>>604843

> на втором файле нужно по любому добавить его.


Ну от этого ничего не меняется. Меняется что-то, если я зависимости .run'а меняю
Я вот сейчас заметил, что в доках как-то иначе подхватывается грант. Там его не передают в .run как модуль, он при передачу в функцию сам откуда-то берется

> На третьем тоже вроде ок.


Но почему-то в упор отказывается видеть библиотеку, не понимаю что такое. Уже больше суток пытаюсь понять в чем дело

> Ну проверь сам файл может не подхватывается


Пикрл, с файлом всё ок
#279 #605323
Страннота.
#280 #605398
>>604845
В хтмле у тебя он подключен?
Если всё в один файл билдится, то туда собирается?
#281 #605407
>>604845

>он при передачу в функцию сам откуда-то берется


Что значит откуда-то, он инжектится в приложение в первой строчке. Тебе тоже так надо делать кстати, если что.
#282 #605509
сколько за это говно платят?
#283 #605516
>>605509
Я 70к получаю версталой в ДС2, учился 2.5 месяца, потом 30к получал, через 6 месяцев до 70к подняли. Скоро попробую в жс миддла переквалифицироваться. Для начала неплохо, но конечно 70 сейчас не деньги, треть на бытовые расходы уходит тупо, а на тачку надо 1.5 года копить, чтобы хоть взять кредит.
#284 #605522
>>605516
на вкус как земля?
#285 #605523
>>605522
Верстка заёбывает конечно, одно и то же каждый день по сути, но ничего не поделать
#286 #605525
еуые
#287 #605530
>>605523
почему в ActionScript не перекатываешься?
9 Кб, 199x293
212 Кб, 1103x875
23 Кб, 507x486
#288 #605559
>>605407
>>604845
Вот, в общем

Пик 1 - структура приложения
Пик 2 - индексный файл
Пик 3 - инициализация приложения

ЧЯДНТ?
#290 #605562
>>605560

>ЧЯДНТ?


1) юзаешь бовер
2) подключаешь 100500 файлов в хтмлку

А если серьезно, то хер знает почему не пашет, вроде все правильно написано. Другие ведь модули пашут? Этот вроде идентично им прокидывается.

Слушай, попробуй написать ui-router.grant, не через точку, а через тире
23 Кб, 1011x77
#291 #605570
>>605562

> Слушай, попробуй написать ui-router.grant, не через точку, а через тире


Пик. Получается, модуль подключается, но что-то как-то где-то не так
Может знаешь какой-то другой модуль для управления правами ui-router, который работает?

> Другие ведь модули пашут? Этот вроде идентично им прокидывается.


Вот я до этого свой модуль подключал, всё нормально прокинулось. Сразу же по аналогии подключил этот модуль - не работает.
Проверил версии зависимостей модуля - вроде всё совпадает. Аномалия какая-то

> подключаешь 100500 файлов в хтмлку


В чем проблема? При билде же всё будет минифицировано и закинуто в app.js
#292 #605572
>>605570

> Получается, модуль подключается, но что-то как-то где-то не так


Всмысле, до этого модуль правильно подключался, но чет он не инициализировался
#293 #605575
>>605570
Хз тогда, аномалия какая-то.
Других модулей не знаю, я этот не знаю, и вообще в ангуляре не шарю.
#294 #605577
>>605575

>я и этот-то не знаю


слоуфикс
#295 #605585
>>605570
А, вот ещё придумал, попробуй его заинжектить в run как просто 'grant', но в самом модуле как сейчас оставь
#296 #605586
>>604841
Т.е. вот здесь натретьей картинке вместо ui.router.grant напиши просто grant тоже
#297 #605593
>>605586
>>605585
Не, не работает. Пустой объект передается
Сейчас подключил версию ангуляра и роутера через сдн из примера - всё равно та же ошибка $injector:unpr
#298 #605595
Тогда точно хз. Если решишь проблему - напиши как.
#299 #606189
>>605595
Удваиваю.
#300 #606321
>>601735 (OP)
аноны, помогите , есть один код, который создаёт выпадающее меню на javascript,а названия элементов меню берутся из массива объектов, вот ссылка на код
http://pastebin.com/RHZMeXaz, помогите пожалуйста переделать этот код на JQuery, я сначала создаю элемент ul с помощью кода
$(document).ready(function() {

$("ul").appendTo("body");

});
но, мне непонятно как написать $.each(), чтобы меню создавалось динамически, объясните пожалуйста как это сделать, и ещё, мне вставлять мой массив объектов перед созданием самого главного элемента ul, или после него?
#301 #606378
Посоны, а никому от кода на ЭС6 не припекает? Раньше как было, функция на функции, объект на объекте и ничего больше. Все просто, понятно и без выебонов. А сейчас шел export default class public static AbstractSingletonProxyFactoryBean {} через default class public const HUY_PIZAA, какие-то деструктуринг-хуйстрактуринг емое, блядь, полный энтерпрайз короч. Как умерить батхерт? эс6 знаю если что
#302 #606433
>>606378
Попробуй "препроцессоры" для жс, мне с ними гораздо проше всё воспринимается
Но вообще да, ты прав, ес6 проебал всю простоту и изящность ес5. Как я понял, они забили на ваниллу и хотят сделать из неё подобие машинных кодов, только для браузера, в которые со временем будут всё компилировать. Низкоуровневый условно, конечно браузерный код, короч. Только человекопонятный, чтобы людям в 2016 году не пришлось байтоёбить
Ангуляр 2 от гугела, например, уже на тайпскрипте пишется. А это пиздец какой большой проект.
#303 #606439
>>606378
>>606433

>джяваскрипт


>2016


Тащемта http://scala-js.org/
#304 #606442
>>606439
Ну вот я про это и говорил. Скоро имплементации всех популярных языков на жс будут, в теории можно будет даже софт портануть
#305 #606494
>>606321
ну помогите же, неужели никто не знает?
#306 #606498
>>606378
Нет, заебись стало. все то же что и раньше, но с деструктуризацией, бесплатным без смс спредом и расовыми лямбда функциями. То, что export вместо module.exports да и хуй с ним, а классы никто не заставляет использовать, по мне так и вовсе зря они прогнулись под широкие массы, только увеличили количество хаоса а холивор никуда не делся.
#307 #606501
>>606378
>>606433
Не устаю проигрывать от экспертов с Двачей.
// Мимо-Senior-Java-Developer, очень сильно ждущий ES6 во всех браузерах.
#308 #606503
>>606494
Мы-то зняем, просто у jq настолько грамотная документация и все это столько раз расписано, что это просто свинство морское спрашивать у живых людей как оно работает. Мы просто дипломатично молчим.
#309 #606531
>>606501

> // Мимо-Senior-Java-Developer, очень сильно ждущий ES6 во всех браузерах.


Вот хотел, кстати, упомянуть жаба-петухов со сломанными мозгами, которые для сложения чисел 18 классов и 13 фабрик пишут
#310 #606534
Полчаса сижу уже не могу никак понять что не так.
В таблице если нажать на клетку должен получаться значение хидден инпута который находится в первом td строки
Первую клетку достать получается а вот значение инпута никак
var td = $('td:first', $(event.target).parents('tr'));
var Id = td.find('input').value;
Выдает в Id undefiend
Перепробовал уже кучу вариантов все равно нихуя.
7 Кб, 237x212
#311 #606553
Люто, бешено советую ангуляр2. Начал писать вебморду для сервисарест имеется одного еще с 46 альфы. Охуевал от УДОВОЛЬСТВИЯ. Даже не представлял, что разработка фронта может быть настолько удобной и приносящей фан. Тогда же в первые познакомился с тайпскриптом, занятная и толковая штука.
Вобщем всем анонам советую. Загляните на angular.io, там вся инфа есть. Конечно, бета версии и недели нету. Но возможно, к февралю запилят.
#312 #606555
>>606531
Как думаешь, почему люди жаба-петухи используют шаблон Фабрика? Какие альтернативы есть у этого подхода?

Ответа я не жду: либо ты погуглишь, все осознаешь, и смысла отвечать (продолжать разговор) уже не будет, либо ты законченный долбоеб и иди на хуй.
#313 #606559
>>601735 (OP)
поясните за MEAN стек? Насколько востребован у буржуев? Стоитли дрочиться или продолжать только фронт на ангуляре ебать?
#314 #606560
>>606559
Node.js востребован, MongoDB востребован, AngularJS востребован, вряд ли прогадаешь.
#315 #606569
Что то я не пойму с новым ангуляром2. Вроде как он написан на typescript. Это что, теперь надо typescript курить? Или так же можно на ваниле писать?
#316 #606573
>>606555
Жаба-петухи используют из-за уебищности жабы.
Нормальным людям такого делать не нужно.
#317 #606574
>>606553
Так его ж ещё очень не рекомендуют в прод выкатывать
#318 #606576
>>606573
Проиграл с выблядка
#319 #606578
>>606559
нет никакого MEAN.
#320 #606589
>>606576
Зачем ты с себя проиграл?
#321 #606612
>>606589
раз ты не пользуешь фактори, значит не тестируешь и не изолируешь, а значет чушкан и чёрт помойный
#322 #606744
>>606560
спасибо
>>606578
есть
sage #323 #606885
>>606612
Кек, по-твоему ничего из того, что написано на ес5 не облагалось тестами?
#324 #606896
Тот момент, когда уже почти год используешь одну библиотеку.
А тут лезишь перепроверять используемые либы в бовере, смотришь на эту либу, она оказывается полифилом.
Лезишь проверять эту фичу, а она оказывается полгода как заимплеменчена в браузераз...
#325 #606931
Хочу запилит скрытие всех картинок на странице как в кукле на чистом жс. Куда копать?
sage #326 #606958
>>606612
Хуяктори. Спасибо ES6, теперь набежит дебилов, которые поверх интерпретируемого языка будут намазывать толстые слои своей жабапараши.

>return {"you" : "are fag"}


вот тебе производящий метод, создающий объект. Зачем в язык не то что без статической типизации а даже без классов, и нет, с ES6 они не появятся, тащить жабакостыли, делающие листинг хелловорлда длинной в несколько экранов?
#327 #606968
>>606896

>полгода как заимплеменчена


Хорошо тебе, когда таргет браузер не из 2012 нет, не ие
#328 #606971
>>606968
Очевидная Опера - очевидна
#329 #606972
>>606971
Nope, firefox
#330 #607135
>>606612
Насчет тестов на фронте это тащемта холиворная тема. В теории круто, а на практике тесты хороши там, где есть логика (много логики), а вот всемозможные хаки под браузеры и шизофрению, которая реализует особо извращенные фантазии дизайнера можно только отсмотреть глазками и проверить ручками, и если эта область занимает в вашем коде занимает приличную долю (например вы работаете в дизайн-бюро, где 3 дизайнера на 1 программиста), польза от тестов уже вопрос дискутабельный. Да и в целом, по мне, если код на фронте стал столь сложен, что там очевидно будут ролять тесты, возможно, что-то пошло не так, это верный знак что клиент стал слишком толстый, возможно впору переписывать модель, неистово мемоизировать или смотреть в сторону модных фреймворков (inb4 реактжежбиблиотекануб), которые умеют рендерить на сервере. Зато если уж покрыли всё тестами хотя бы в одном проекте можно всех остальных свысока обзывать чушканами, что есть то есть. Это пожалуй самое сладкое в tdd.
Алсо, это все о небольших проектах, если вы поддерживаете кадавра десятилетиями, там и тесты и документация и гайдланы и вообще своя атмосфера.
#331 #607147
>>606378

>Худшее нововведение — классы. Они добавлены для Java-программистов, которые не хотят учить JavaScript. Для тех, «кто не подозревает, насколько он жалок»

#332 #607187
Посоны, лень читать километровые простыни об ООП в жс, поясните насчёт классов. До этого реализовывал их только в плюсцах, и то недолго, а тут пришлось пересесть на жс. Существует ли описание класса в отдельности от экземпляра?
Или мне нужно создать первый экземпляр, а потом напихать в него нужные методы через prototype?
#333 #607295
Джсгоспода, как считаете, у Dart есть шансы взлететь? И если нет, то есть ли причины этого в самом языке, а не в экономических затратах?
#334 #607303
>>607187

>Или мне нужно создать первый экземпляр, а потом напихать в него нужные методы через prototype?


Зыс. Но все равно не надо читать простыни и флэнагановскую водичку, почитай Крокфорда и всё быстро поймешь.
#335 #607376
>>607295
Лолчто? Дарт умер два года назад.
3 Кб, 156x104
#336 #607435
>>607376
Ему ангуляр недавно прикрутили, например. Жив.
#337 #607465
На каких сайтах можно посмотреть код с комментариями, желательно на русском?
#338 #607498
>>607465
Палю годноту
github -> правая кнопка мышки -> translate to russian
161 Кб, 1200x800
#339 #607749
>>607465
Неправильно, Антоша, ты бутерброд ешь. Нужно наворачивать английский одновременно с обучением языку. Так время экономится геометрически. Сначала тяжело, но зато быстрее и толку больше. Сидишь читаешь в голос, и охуеваешь своему неумению. Сидишь и дальше читаешь. А как ты думал?
#340 #607808
>>602428
Проиграл
25 Кб, 854x268
#341 #607900
типа безысходность ваще
#342 #607902
#343 #607952
>>607749
поддвачну
#344 #607953
>>607187
классы нахуй не нужны
#345 #607954
>>606958
я разделяю твою боль по поводу долбоёбов с классами, но почему фактори стало парашным паттерном, ты еще скажи депенденси инджэкшон нинужен.
#346 #607964
>>606958
При чем тут вообще типизация и интерпретируемость, колхозник? Другое дело, что 99% поделок, написанных на JS, умещаются в 100 строк, и Factory там как ежу футболка, но туда ее никто и не тащит.
974 Кб, 250x227
#347 #607971
http://ideone.com/cyqR3L

Ретард на связи. Прощу помощи.
14 Кб, 261x243
#349 #607990
>>607975
Спасибо.
Я по примеру с жабастрипт.ру пытался, там тоже с $шаблонами, но так нихуя и не понял.
#350 #607995
>>601735 (OP)
Тред не читал. Котоны, а есть на жс платформа или фреймворк которая бы позволяла разрабатывать веб-приложение как десктопное? Т.е. графическая часть с виджетами, расположением формочек, стилями и пр. так же прописываются через жс.
#352 #608008
>>608004
Угу, пасиб. Просто было интересно.
#353 #608030
А как проверять свой код на ресурсоемкость? Сколько памяти жрет и т.п.?
#354 #608032
>>607995
atom electron
React Native desctop (alpha)
#355 #608049
>>607954

>почему фактори стало парашным паттерном


Это применительно к js и es6 в частности. Фабрика служит для создания объектов определенного класса. Но в js понятие "класса", применительно к объекту довольно расплывчато. Оно скорее в голове у каждого желающего считать "классом" что-либо.
Если смотреть шире и сказать, что фабрика это любой объект, обладающий фабричным методом, производящим новые объекты, то с такой широкой трактовкой обсуждать особо нечего. В js и так куда ни плюнь везде объекты и порождающие их методы.
Как, например, представить абстрактную фабрику на js? Нет, конечно, написать код можно, гибкость и возможности языка позволяют, при этом позволяли это делать спокойно и до es6, но это будет просто натягивание чужеродных концепций на язык, в котором они и близко не являются необходимостью.
В отличии от языков со статической типизацией, там это действительно может быть нужно.
А для депенденси инжекшен, как раз вся суть вроде бы и состоит в том, что ты внедряешь зависимости без привязки к тому, каким образом объект, содержащий зависимость был произведен. Фабрики и DI это сравнение теплого с мягким.
#356 #608053
>>608030
в ff и хроме инструменты разработчика.
17 Кб, 260x345
#357 #608061
Анон, что скажешь об этой книге?
норм скачать, почитывать в универе? учусь на автомобильном транспорте, Пайтон на начальном уровне знаю.
#358 #608064
>>608061
Ты бегу тоже по книгам учишься?
#359 #608068
>>608049
По сути любой модуль, возвращающий тебе объект или массив в зависимости от окружения или параметров есть фабрика.
Так что в JS эти фабрики повсюду.
Почему я спросил про DI?
ну ты или делаешь tell(message, Socket) или tell(message){ socket = fabric.getSocket(dev/test) ...}

и то и другое решает одну задачу.

Добавляешь ЯВАПАРАШИ , АБСТРАКЦИИ!
#360 #608069
>>608064
ну не могу же на леции сидеть и кодить. а так-то хоть что-нибудь.
#361 #608078
>>608069
Доки от мозиллы лучше почитай
#362 #608087
О боги js. Есть такая ситуация. Должна быть взлетная полоса и летающие самолеты по ней. Не обязательно что-нибудь красивое. Главное чтобы они могли хоть как-то передвигаться. Вид сверху. Про что нужно почитать чтобы сделать это?
#363 #608100
>>608087
Canvas
#364 #608103
>>608100

>Canvas


Хуйванс

>>608087
Гугл => gif + анимация, png + анимация, css + анимация на выбор.
#365 #608148
#366 #608149
Привет! Такой вопрос: можно ли как-то изменить значение глобальной переменной из функции? Если можно — как?
#367 #608154
>>608149
Нагуглил. Это window.
#368 #608156
>>608103

> Гугл => gif + анимация, png + анимация, css + анимация на выбор.


Как там, в нулевых? Всё ещё таблицами верстаешь?
#369 #608162
>>608156
Да, давай вместо простой гифки, которая воспроизведется в любом браузере со времен царя Гороха, хреначить канвас, потому что можем.
#370 #608165
Парни кто норм знаком с mongodb и nodejs хэлп плз:
https://toster.ru/questionversion?question_id=276591#version_356650
#371 #608169
>>608162
Может ещё и таблично верстать будем, потому всеми браузерами поддерживается?
#372 #608171
>>608165
Находишь документ в базе
@
Делаешь инкремент
@
Сохраняешь
24 Кб, 470x725
#373 #608173
Что не так? Это типа игра в крестики-нолики (знаю, что графически ничего не выводится), однако, после первого нажатия жаба выдаёт мне сообщение о победе. Не могу понять что я сделал не так — подтолкните, плез.
#374 #608174
>>608171
ну я так пробвал офк и у меня чето не работает(
#375 #608175
>>608174
Ну покажи как ты пробовал
#377 #608178
>>608173
Подозреваю, что проблема в том, что незаполненные элементы массива равны
#378 #608179
#379 #608180
>>608173
Я только учу JS, но, кажется, что-то не так с функцией isWin. Вот эти повторяющиеся инструкции, отсутствие фигурных скобок (необязательны, но рекомендуют всегда ставить), два знака равно вместо трех,
#380 #608181
>>608177
тут я всякие попытки набрасал и нихуя не работает(
#381 #608182
>>608178
А чем можно было бы их заполнить? Заполнять мусором не варик же.
#382 #608183
>>608169
А может ты расскажешь, от чего нужно неинтерактивную анимацию реализовывать не через формат, созданный для анимации, не через css, а через скриптовый язык? Только чтобы показать какой ты модный-продвинутый погромист?
#383 #608186
>>608182
Заполнил мусором и детектор побед отвалился нахуй.
#384 #608188
>>608182
Ну у тебя сам алгоритм хуёвый, поэтому заполнять рандомныи мусором, чтобы они изначально не были равны - варик

http://jsfiddle.net/rtoal/5wKfF/
#385 #608194
>>608183
Кто тебе сказал, что там не будет интерактива?
#386 #608199
>>608194

>Кто тебе сказал


А кто тебе сказал, что будет? В поставленном вопросе ни слова про интерактив.
#387 #608201
>>608199
Вопрос, заданный в треде про жс, намекает на то, что он должен быть.
#388 #608206
>>608201

>намекает


То есть не имея указанной необходимости предлагаем наиболее сложное и наименее поддерживаемое решение? Вместо отображением браузером файла анимации, гоняем туда-сюда скрипт на каждый фрейм? Можно было бы просто уточнит, если есть подозрения, что автор запроса не смог его достаточно четко сформулировать.
#389 #608208
>>608049

>Фабрика служит для создания объектов определенного класса.


Иди читай учебник, идиотина, и больше не сри здесь своей хуетой.
#390 #608214
>>608206
Куда туда-сюда гоняем?
Если у тебя есть подозрения, что человек спрашивал про гифку в треде про жс, то мог бы уточнить, прежде чем свой высер писать.
#391 #608231
>>608206

>наиболее сложное


Хрена ты неосилятор, канвасы даже не смог понять
#392 #608233
Я пришел плакаться нахуй, больше не могу. Черт меня дернул взять реакт. React-dom подкупает своей выразительностью и модульностью, но когда видишь свой проект просто жопа горит: карточный домик из нестабильных говнобиблиотек, написанных хипстерами-пидорами, старающихся запихать в них любую околомодную поеботу. Суки, ебаная солянка из ECMAScript 5 6 7, coffeescript и статищ архитектур. Идите нахуй аывгарыва
#393 #608262
решил войти в js, и начал изучение с http://learn.javascript.ru/
Пока что мало что понимаю, и вообще правильно ли я начала знакомиться с этим языком? Нормально ли, что я не все понимаю? У вас было так же?
#394 #608267
>>608262
Ты не теми вещами занимаешься, качай стриптиз и кулинарию.
22 Кб, 448x491
#395 #608269
>>608267
обоснуй
#396 #608283
>>608233
Жиза жиза
#397 #608288
>>608233

Неосилятор порвался.
#398 #608297
>>608233
100 раз предупреждали, что в IT делать нечего, это ебанная свалка говна, не имеющая ничего общего с ламповым программированием. Нет же, "сейчас как вкатимся, сейчас как начнем по 200 тысяч в день получать за нихуя", вот и страдайте теперь.
#399 #608305
>>608297
Не в айти делать нечего, а в вебе. В вебе круто быть только каким-нибудь менеджером и выше. А программисты и макаки страдают.
#400 #608308
>>608233

>Черт меня дернул взять реакт


Бери Ember.js. Очень продуманная штука
#401 #608309
>>608305

>2015, парашка, кризис


>в вебе круто

#402 #608318
>>608309
У меня в компании рядовые ПМы получает от 100к, делают ровным счетом нихуя, по-моему это достаточно круто. (для не ДС)
#403 #608320
>>608318

>делают ровным счетом нихуя


Дай угадаю, ты в этой компании полы моешь?
#404 #608327
>>608320
Что я там только не делаю, наверно скоро буду и полы мыть.
А им только лишь бы пиздеть, да над душой стоять, "скоро там моя задачку закончишь?"
#405 #608363
>>608262
скриншот_nodejs_developer_girl_pornhub.jpg
#406 #608367
>>608233
Посоны, а можно без фреймворков обходится?
Только-только вкатываюсь в вебопорашу.
Аноним #407 #608373
>>608233
Но тебя же никто не заставлял собирать солянку из чужих компонентов, правда? Если серьезно, у меня только после пяти проектов на реакте стало получаться что-то похожее на приличный код, там порог вхождения довольно высокий и документация к новичкам крайне недружелюбная, первый блин кубом, это норм тащемта.
#408 #608385
>>608367
да. но в зависимости от масштаба проекта. начиная с определенного размера вместо фреймворков просто начинаются свои велосипеды. и многих это не останавливает, в итоге, когда приходит новый чел в команду, он вместо осмысленной деятельности разбирается в тонкостях любительского велосипедостроения. с одной стороны, полезно авторам поделия как жизненный опыт, с другой стороны, породить что-то годное, написать документацию, отладить, поддерживать регулярно etc может либо крупная контора, у которой есть ресурсы на авторскую архитектуру, либо чел, который реально шарит, а такие не станут писать бессмысленные велосипеды, а такие ребята как правило пишут по делу, там где действительно можно написать лучше или там где еще ничего годного не запилили.
#409 #608387
>>608367
нельзя. Никому твои велосипеды не всрались
#410 #608388
>>608373

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


Лолшто?
Реакт один из самых простых фреймворков эвер, а документация там просто класс, всем бы такую документацию.
#411 #608390
>>608388
Возможно потому, что ты, пидор, называешь библиотеку фреймворком.
#412 #608391
>>608390
Да мне вообще похуй как что называть, суть от этого не меняется
#413 #608399
>>608309
В парашке вообще нет айти и никогда не было. Что можно говорить про айти в парашке, когда крупнейшая её "айти"-компания распространяет малвари?
#414 #608400
>>608308
Ембер может заменить ангуляр в общении с рестом?
#415 #608401
>>608388

>Реакт один из самых простых фреймворков эвер, а документация там просто класс


Okay.
#416 #608411
>>608400
Вроде да. К Рельсам без проблем подключается.
#417 #608419
>>608388
реакт не фреймворк, это просто вью-либа,
изначально спроектированная как шаблонизатор
#418 #608444
>>608401
Неосилил штоле?
>>608419
Я же сказал мне похуй, как хочешь называй, в итоге все равно будет import xyu from 'xyu' вот и всё
#419 #608447
>>608444
Импортни мне так ангуляр, пожалуйста
#420 #608453
>>608447
Собираю так ангуляр через вебпак, какие проблемы?
Единственное, что так нихера annotate не работает, приходится инжект через массив делать.
#421 #608456
>>608419
Ну хоть >>608388 и агрит по делу, я не его логику защищаю, а реакт, конечно же, все-таки реакт это несколько больше, чем 'просто шаблонизатор'. Если вам нужен 'просто шаблонизатор', лучше jade еще ничего не придумали (в том числе на клиенте), а реакт -- это таки больше чем библиотека, в чисто идеологическом смысле, в том смысле, что если вы начали его использовать, вы структурируете код предложенным образом, react-way, если вы этого не делаете, react теряет смысл, он просто не нужен. Я вот сколько ни сталкивался, а вот это особое подчеркивание, мол 'это просто библиотека' так и не могу распарсить. Ну да, ну библиотека, ну цукерберги сами его именуют библиотекой, а что могут фреймворки такого, что нельзя реализовать на реакте? Мы можем конечно поупражняться в дефинициях того, что есть фреймворк, но по факту использование реакта с другими фреймворками (настоящими фреймворками, да) порождает некоторую избыточность, конфликт логики. Даже в связке с другими 'просто библиотеками' мы получаем избыточность, react+jq или react+d3 на выходе дают код, который хочется переписать, ибо часть функционала дублирована. По мне -- все-таки фреймворк, а ребята из фб со своим 'ну это у нас тут обычная такая маленькая библиотека' просто кокетничают, на то они и позёры. А если смотреть шире, наверное это хорошо, что уходящий 2015 принес нам новую тему для холивора. Let the fight begin!
#422 #608461
>>608444

>Неосилил штоле?


Да тут не во мне дело, а вот в этом утверждении:

>документация там просто класс


Есть подозрение, что господа разработчики не сталкивались с нормальной документацией. Или просто немного выпендриваются. Все мы ее так или иначе читали, и утверждать, что она дружелюбна к новичкам == очевидно грешить против истины.
#423 #608462
>>608456
Двачую.
>>608461
Не знаю, как для новичков, и вообще кого ты под новичками имеешь в виду, но для человека, который знаком хотя бы с парой библиотек/фреймворков/называйте-как-хотите, документация реакта кажется вполне годной, подробной, понятной, да ещё и нормально оформленной.

Приведи пример нормальной документации, и чем она конкретно нравится тебе больше, чем у реакта.
#424 #608464
>>608419

> реакт не фреймворк, это просто вью-либа,


И неслабых размеров экосистема, которую нужно знать, чтобы сделать на этой либе что-то крупее TODO MVC.
#425 #608466
>>608461
чем неугодили доки реакта, там по-моему все разжевывают и в рот кладут
#426 #608503
>>608462
>>608466
Ну лично мне не нравится тем, что react предполагает некую парадигму, которую вы черпаете из статей и выступлений на конференциях, а не на офф сайте. На уровне конкретных методов-то все норм, но какого-то intro для нубов и пояснений за virtual dom и описания всех преимуществ вы сходу не получите из документации. Заметьте, я не критикую сам react, я все последние проекты писал на реакте и доволен как слон, просто чтобы разобраться с даже с такими банальностями, как то, что внутри {} в render можно творить все, что может быть returned, надо посмотреть видюшки, почитать чужой код или спросить у товарищей, в документации это вежливо замалчивается. Или тот же dangerouslySetInnerHTML, ну извините, если это шаблонизатор, то пишите на главной странице большими буквами таие вещи, все же первый раз спокойно скармливают рендеру разметку и лезут гуглить почему эта херня не работает. Нет, ну если вам нравится считать эту документацию дружественной, все ок. Действительно, разобраться не так сложно, ну пару запросов в гугл, о чем речь. У нас и в магазинах хамят и это норм, но стоит ли называть это дружелюбным? У того же lodash или jq документация такая, что любой нуб постесняется задавать живым людям идиотские вопросы, все разжевано для дебилов. А тут как бы есть нюансы. Но возможно тут еще стоит скинуть на молодость библиотеки (или фреймворка, кому как нравится), на момент появления jq там возможно тоже было уныние и отчаяние во все поля, не застал.
#427 #608516
>>608503
Описание преимуществ для нуба в двух словах:
https://facebook.github.io/react/docs/why-react.html

Виртуальный дом:
https://facebook.github.io/react/docs/advanced-performance.html
https://facebook.github.io/react/docs/glossary.html

Про dangerouslySetInnerHTML даже в самом первом туториале не только говорится, но ещё и юзается на примере маркдауна:
https://facebook.github.io/react/docs/tutorial.html
И есть отдельная статья:
https://facebook.github.io/react/tips/dangerously-set-inner-html.html

Про рендер в куче примеров на самом сайте показывается, что там можно что угодно делать.

Всего этого вполне достаточно, чтобы писать на чистом реакте уж по-крайней мере в раз лучше, чем на какой-нибудь жквери.
Назвать документацию недружелюбной никак не могу, там есть тупо всё что нужно, с примерами, ссылками и т.д.
#428 #608566
>>608516
Да, все так, мне-то эти ссылки не нужны, я и сам те же ссылки буду кидать нубам при случае, но тут видимо тонкая грань между документацией и туториалом, когда я первый раз писал что-то на реакте, было, мягко говоря, неуютно. Вот это: https://facebook.github.io/react/docs/why-react.html
-- это просто пиздец. Шесть заголовков к абзацам из пары строк, пара отсылок на какие-то несвязанные с предметом страницы и ни слова по существу вообще. Вы айфон новый впариваете хомякам или это документация к библиотеке? Вот это еще как-то похоже на туториал: https://facebook.github.io/react/docs/tutorial.html но черт подери, вы масонская блядь ложа или js библиотека, там ебаные сотни строк невнятного (для того кто на реакте не писал) кода и лаконичные комментарии, ну типа вот так у нас все и работает. А зачем/почему/что-тут-вообще-происходит -- читайте туториал с шестью заголовками и 12 строчками о том, как у нас все хорошо и какаие мы реактивные. Не, братцы, если вы считаете это нормальной документацией, вы долбаные гении, ок, но нормальный человек по этим психоделическим страницам научиться ничему не сможет, утверждать обратное конечно можно, но только ради того, чтобы все похвалили ваши телепатические способности.
#429 #608587
>>608566

>Шесть заголовков к абзацам из пары строк, пара отсылок на какие-то несвязанные с предметом страницы и ни слова по существу вообще.


Лолштоа? Ты хотел интро для новичка, ты его получил. Простыми словами сказано в чем суть.

Сорри, дальнейший спор даже не буду продолжать, просто жалко времени, т.к. я считаю тебя тупым, если ты не осилил туториал и посчитал его сложным/непонятным. А с тупыми людьми я не спорю, сорян.

П.С. сравнивать доки лодаша, где тупо набор функций, с доками реакта, где всё от друг друга зависит - это просто топ кек.
#430 #608592
>>608566
Ты видимо плохих доков не видел.
смотрю на вебпак
#431 #608623
>>608456

>2015


>Jade еще в конвульсиях

#433 #608705
>>608648
Лалка, произносится как "мока", а не "моча".
#434 #608805
>>608623
Вполне хороший и живой шаблонизатор. А ты не осилил синтаксис?
119 Кб, 1388x754
#435 #608832
анонсы, ну пожалуйста, поясните за флукс, какую проблему решает, чо полезного он делает, в каком месте приложения его вставлять, нужен ли он на сервере и т.д.?
я тупо не понимаю зачем он нужен, в смысле предназнчения :(
#436 #608936
Я уже другой анон. Подскажите следующий момент. Собрался ты делать сайт наподобие википедии или социалочки какой. Нужно ли делать сайт так в современном мире, чтобы он без жс работал или сразу берёшь и на бустрапе или ангуляре пилишь? Что по этому поводу ведущие лебедевы думают?
#437 #608951
>>608936
Чем проще тем лучше.
#438 #609005
>>608805
отказался т.к. он не развивается
#440 #609142
https://toster.ru/q/276973
Парни кто шарит хэлп плз
#441 #609147
>>609142
Пидары админы удалили вопрос. Кароче вапрос вот в чем че почитать чтобы пофасту реализовать тесты моча или чай в нод жс, в гугле забанили
#442 #609152
>>609147
бля, глянь любой проект в гитхабе.
сейчас, подожди, скину ссылку где я много спиздил.
Expect.js м. джэксона, мока, чай не нужен нах, т.к. экспект его и синон заменяет.

За мочу - щелбан.
https://github.com/rackt/redux/tree/master/examples/todomvc
#443 #609179
>>609008
Это одна хуйня совершенно, парень спросил не про конкретно либу, а про паттерн, хули ты лезешь со своим говном.
#444 #609180
>>609152

>Expect.js


>тесты


Туда ли ты попал, петушок?
#445 #609189
>>609008
редакс - продолжение идеи флакса
если я не понимаю идею флакса, то ну ты понел

кстате, а зачем капсом писать название акшонов?
COMPLETE_TODO, REMOVE_TODO, SET_VISIBILITY_FILTER, SHOW_COMPLETED

я еще понимаю названия констант в начале файла, но когда пишешь логику работы с данными
шифт не заебутся нажимать?
#446 #609192
http://rackt.org/redux/docs/basics/Actions.html

`
/
action types
/

export const ADD_TODO = 'ADD_TODO'
export const COMPLETE_TODO = 'COMPLETE_TODO'
export const SET_VISIBILITY_FILTER = 'SET_VISIBILITY_FILTER'

/

other constants
/

export const VisibilityFilters = {
SHOW_ALL: 'SHOW_ALL',
SHOW_COMPLETED: 'SHOW_COMPLETED',
SHOW_ACTIVE: 'SHOW_ACTIVE'
}

/
action creators
*/

export function addTodo(text) {
return { type: ADD_TODO, text }
}

export function completeTodo(index) {
return { type: COMPLETE_TODO, index }
}

export function setVisibilityFilter(filter) {
return { type: SET_VISIBILITY_FILTER, filter }
}
`

ящитаю, что это чос
#446 #609192
http://rackt.org/redux/docs/basics/Actions.html

`
/
action types
/

export const ADD_TODO = 'ADD_TODO'
export const COMPLETE_TODO = 'COMPLETE_TODO'
export const SET_VISIBILITY_FILTER = 'SET_VISIBILITY_FILTER'

/

other constants
/

export const VisibilityFilters = {
SHOW_ALL: 'SHOW_ALL',
SHOW_COMPLETED: 'SHOW_COMPLETED',
SHOW_ACTIVE: 'SHOW_ACTIVE'
}

/
action creators
*/

export function addTodo(text) {
return { type: ADD_TODO, text }
}

export function completeTodo(index) {
return { type: COMPLETE_TODO, index }
}

export function setVisibilityFilter(filter) {
return { type: SET_VISIBILITY_FILTER, filter }
}
`

ящитаю, что это чос
232 Кб, 1606x1596
#447 #609193
>>609192
так нагляднее
#448 #609195
>>609189
Можешь как угодно писать, просто разрабу редакса так удобнее видимо.

>шифт не заебутся нажимать?


Автодополнение быстрее сработает
#449 #609254
>>609193
Сделай что-нибудь со шрифтами, Джисас Крайст.
#450 #609274
>>609254
Ты долбоёб? Это скриншот из доков
#451 #609288
>>609274
Это не мешает им нормально рендерится.
#452 #609293
>>609288
И что там не так рендерится, лалка?
#453 #609295
>>609293
Хуи из глаз вынь, эти линии как будто сотни саранчи погрызли.
#454 #609297
>>609295
Пизда рулю
Ты понимаешь, что это ебаный скриншот?
#455 #609298
>>609297
Это png.
#456 #609299
>>609254
Дибил што ле? Это обычный моноширинный шрифт, на гитхабе такой же.
#457 #609300
>>609298

>png


>имплаинг, что пнг не может быть скриншотом


Ну о чем с тобой говорить, ты же ебанутый
#458 #609301
>>609300
png предполагает скриншот без сжатия, что позволяет в полной мере оценивать твой уебищный скрин, ублюдина тупая, спрыгни нахуй с крыши, биомасса.
#459 #609302
>>609301
*твой уебищный шрифт
#460 #609305
>>609301

>твой уебищный скрин


>твой уебищный шрифт


Пиздец, даун так и не понял од сих пор, что это скрин из доков с сайта
Пичалька.
47 Кб, 780x560
#461 #609306
>>609305
В этих доках есть текст.
Текст состоит из букв.
Буквы рендерятся твоим ебучим FreeType.
Без патчей твой ебучий FreeType рендерит буквы хуево.
Сделай что-нибудь с этим, тупорылая пиздоглазая блядина.
Вот тебе нормальный рендеринг.
#462 #609310
>>609306
Как же у меня горит жопа с вас, ублюдков, куда вам нахуй программировать, вас даже в дворники не возьмут.
#463 #609311
>>609306
Пиздец мыло лол
#464 #609312
>>609311
Монитор купи нормальный.
#465 #609313
>>609306
Что такое freetype? У меня стандартная винда10, я вообще не в курсе как изменить шрифты.
#466 #609314
>>609313
Тогда забудь.
#467 #609315
>>609314
Не, ну как? Что за фритайп, почему на виндее какая-то фрипараша стоит, как ты говоришь?
#468 #609316
>>609306
Просто сравни

Твой скрин:
http://puu.sh/m3ZuF/4e89638893.jpg

Мой:
http://puu.sh/m3ZyP/bc9e3e5929.jpg

А теперь съеби отсюда, freetype блять, на маке сука freetype
#469 #609319
>>609316
А теперь ты идешь гуглить "разрешение экрана".

>на маке сука freetype


Тогда тебе, пидор, уже ничто не поможет, соболезную.
#470 #609322
>>609319

>Монитор купи нормальный.


Только что про монитор пиздел, теперь у тебя оказывается 800х600 ящик?

У тебя из-за разрешения такое мыльцо пошло, да?
Да у тебя же блять вообще тупо другой шрифт рендерится, что ты нашаманил на своей красноглазой параше?
688 Кб, 2880x1800
#471 #609364
>>609254
у меня в мониторе все ахуено смотрится,
буковки просто вылизаны
и я тоже придирчивый к этому делу
#472 #609370
>>602816
Совету второй ангуляр. Уже успел написать один прототип на нём, остался очень доволен. Всё просто, лаконично и понятно, без лишних замутов. А реакт говно редкостное. Как увидел в джсе хмтл разметку, закрыл сразу.
#473 #609372
>>609370

>джсе хмтл разметку, закрыл сразу.


Слишком толсто, попробуйте ещё раз.
#474 #609373
>>609370
ты в курсе, что можно не использовать jsx если тебе он не нравится?
#475 #609378
>>609372
Чёт совсем вскукареков не слышу. Возможно потому, что реакт и в правду гавно?
#476 #609395
>>609378
реакт - это как новый альбом джастина бибера или рианны там какой-то, прослушиваний на ластфм и мтв дохуя, а толку нихуя
#477 #609407
>>609395
А ангулар - как новая песня Стаса Михайлова. Старухи обожают и крутят, но в цивилизованных местах не слышали.
#478 #609411
>>609407

> ангулар


> цивилизованных местах не слышали


у тебя со СБОРОМ ДАННЫХ проблема
#479 #609413
>>609395
>>609407
Вы так говорите, будто в музыке вообще есть толк.
#480 #609427
>>609180
Да, чепуха. Ты лучше расскажи как ты из Мопса бабапидором стал, гребень
#481 #609428
>>609395
твой папаша про тебя то же самое говорил
#482 #609429
>>609189
вполне норм конвенция
#483 #609436
>>609364

> и я тоже придирчивый к этому делу


> Макось


> придирчивый


Это несовместимо
#484 #609437
>>609407

> А ангулар в цивилизованных местах не слышали.


Топ кек. Ты хоть знаешь кто ангуляр разрабатывает, поехавший?
#485 #609439
>>609370

>в джсе хмтл разметку


Наоборот годнота. Я туда еще и стили пихаю.
#486 #609452
Чет никак не могу осилить код из книги JavaScript The Good Parts. В книге приведен пример реализации оператора `new` как метода, как если бы не было такого оператора. то есть `Constructor.new()` вместо `new Constructor()`

https://jsfiddle.net/y8bw2j0s/
// 1
Метод, с помощью которого удобно добавлять методы к любому объекту (ранее встречался в книге, нужен для работы этого примера).
// 2
Собственно реализация метода `new`

Что делает код `var other = this.apply(that, arguments);` и `(typeof other === 'object' && other)`?

# this в данной ситуации равен Function (паттерн вызова метода, this привязывается к объекту, в котором этот метод находится)
# apply связывается this с that
# that только что созданный объект, свойство __proto__ которого равно Function.prototype или Object.prototype
Короче, более менее все понятно, но нахуя это делается?
#487 #609453
>>609364
А ты хорош
36 Кб, 290x413
#488 #609478
>>609452
Разобрался
#489 #609483
>>609189
Открою секрет: в действительно большом приложении ты заебёшься столько констант писать.
У нас в проекте используется голый flux, но чтобы не плодить бойлерплейт, пишем маленькие экшены инлайн.
Выглядит это примерно так:

В обработке экшенов внутри стора:
switch(action.type) {
case AppConst.UPDATE_STORE:
_state = action.fn(_state)
store.emitChange()
break;
....
}

Дальше экспортим из стора такую функцию
export function updateStore(fn) {
Dispatcher.dispatch({type: AppConst.UPDATE_STORE, fn: fn})
}

И дальше в коде где нужен экшен пишется что-то вроде
onClick={()=>updateStore((st)=>st.update('clicked', false))

Всё это в итоге экономит дохуя времени и делает код более читабельным.
Желательно чтобы в сторе всё хранилось в виде иммутабельных структур данных (immutable-js или mori), чтобы нельзя было ничего сломать (в качестве бонуса, можно будет потом сильно ускорить рендеринг через shouldComponentUpdate)
#490 #609578
>>609453
Всмысли?
#491 #609594
>>609578
Он вычислил тебя по открытым вкладкам, готовь туза.
6 Кб, 272x185
#492 #609843
Анон, хочу вкатиться вд ЖС, знаю С. Есть учебник не для ньюфагов?
Алсо я еврей.
#493 #609858
>>609843
JavaScript The Good Parts.
#494 #609865
>>609858
Это для евреев?
#495 #609869
>>609865
Пошёл нахуй отсюда
#496 #609872
>>609865
Для всех.
#497 #609904
>>609869
Это потому что я еврей?
#498 #610042
>>609843
за умеренную сумму расскажу где продают учебник для евреев.
#499 #610120
>>610042
Только честно?
#501 #610155
Анони, подскажите. Хочу начать задрачивать JS, и так шоп устроится работать фронтэндщиком, а в свободное время игори пилить малюсенькие по фану. А если в голову взбредет свой проект создать под мобилки - юзать NativeScript и всё такое. То есть я выбираю один язык на все случаи жизне.
Правильный ли ход мысле? Понятное дело что: каждой задаче - свой язык. Но блять, хотелось бы так, как хочу.
#502 #610220
Можно ли как-то скриптом проходить по сайту и нажимать на кнопки, сформированные JS? Вот случай, когда JS прямо в исходном коде виден, а не подгружается из сайта: http://www.mobilluck.com.ua/katalog/cushions/craftholic/craftholic-Green_Sloth_Jr__S152-20_-611945.html рейтинг со звёздами.
Я хочу пропарсить сайт и провести манипуляции с JS, с тем же рейтингом, например. Накрутить его в ту или иную сторону по всем товарам, например.
#503 #610238
>>610155

> устроится работать фронтэндщиком, а в свободное время игори пилить малюсенькие по фану


Это легко

> А если в голову взбредет свой проект создать под мобилки - юзать NativeScript и всё такое


Лучше React Native

> Правильный ли ход мысле? Понятное дело что: каждой задаче - свой язык. Но блять, хотелось бы так, как хочу.


Ты главное начинай что-то делать. Если вдруг понадобится изучить другой язык - изучишь. Второй язык учится гораздо быстрее.
#504 #610241
>>610220

>из сайта


*из файла, конечно

Скрипт я думал написать на питоне, например. Но не могу понять, можно ли вообще выцепить JS функции, вызвать их каким-то запросом к странице? А если честно, то вообще не могу понять, где функции в приведённом мной примере страницы, которые отвечают за отправку оценки пользователя в базу. Вижу только описание того, как отображать рейтинг на основе уже проставленных оценок
#505 #610242
>>610220
Там же написано
$.get(
"//www.mobilluck.com.ua/ajx/raiting.php", {
id_arc: id_arc,
user_votes: user_votes,
csi: "ri3u7djp2vjukeebte3mdrn7i3",
type: "item"
});

Что за долбаебы делают get на set rating

id_arc чуть выше:

>id_arc = '611950'; // id статьи



user_votes - оценка, от 1 до 5 inclusive

csi - id сессии, по нему определяется голосовал ты уже за этот товар или нет

Теперь хорошие новости:
id_arc написан в ссылке последним числом, в твоей ссылке - 611945
csi - может быть любым, хоть 123, поэтому хуячишь гуиды на каждый запрос, so much security
23 Кб, 436x436
#506 #610254
>>610242
А еще при отправке надо установить хедер X-Requested-With: XMLHttpRequest
#507 #610256
>>610254
Так мне надо отправить запрос к урлу типа www.mobilluck.com.ua/ajx/raiting.php?id_arc='611950'&user_votes=1&csi='123'&type='item'

И в хедере дописать

>X-Requested-With: XMLHttpRequest



Или я нихуя не понял?
#508 #610265
>>610256
Кавычечки ебаные убери и ссылки. Все ты правильно понял.

>user_votes=1


Ничоси ты зловредный.
#509 #610296
>>610265

>Кавычечки ебаные убери и ссылки. Все ты правильно понял.


Кавычки убрал. А что за ссылки?

Конструкция:
requests.get("http://www.mobilluck.com.ua/ajx/raiting.php?id_arc=611945&user_votes=1&csi=123&type=item", headers={"X-Requested-With":"XMLHttpRequest"})

прекрасно работает, благодарю за помощь! Это питон, если что.

>Ничоси ты зловредный.


Хочется поупражняться, а они мне прислали не тот товар, что я заказывал, да ещё и дороже, а потом не опубликовали отрицательный отзыв. Вот и будут жертвами экспериментов теперь
#510 #610301
>>610296
Там

>из ссылки


должно быть.

>не опубликовали отрицательный отзыв


Ну они и голоса могут скрутить обратно, хех.

>прислали не тот товар


В общем, они получили клиента, которого заслужили.
#511 #610316
>>604733
>>604733
Нихуя у вас в треде аутистище.
#512 #610373
Анон, помоги ньюфагу. Почему не работает?
codepen.io/anon/pen/eJzXNR
#513 #610375
>>610373
a и b давно такого не было у тебя заполняются при загрузке документа и все.
#514 #610383
>>610375
А почему не работает первая функция по очищению полей?
#515 #610387
>>610383
Что такое у тебя clean?
#516 #610390
>>610383
.getElementsByClassName() возвращает массив, а ты обходишься с ним как с переменной
#517 #610395
>>610387
id последней кнопки в html коде
#518 #610412
>>610390
Спасибо, понял как сделать чтоб заработало.
#520 #610418
>>610413
Как же ты доебал, пидорас, вопросы задавать, которые в доках искать две минуты
#521 #610422
>>610418
соси хуй, я искал и не нашёл
#522 #610429
>>610422
Зачем ты тогда этим занимаешься, дегенерат? Пиздуй картоху жарить в бистро
#523 #610430
>>610429
я лучше мамку твою пожарю)
#524 #610488
Интересует вопрос по ES6, туда вроде как нормальное ООП завезли. Слышал, что прежняя реализация ломала мозг всем тем, кто привык к ООП в Java, C#, C++.
И как здесь вкатываться в JS, курить его прототипную реализацию ООП, чтобы забыть её, когда осуществится перекат на ES6?
#525 #610495
>>610488
Классы в es6 - это сахар, сахар, сахар. Это та же самая прежняя реализация с новыми кейвордами.
#526 #610511
>>610238
Да я так то уже на плюсах программки писал, на C# уже довольно неплохо, с WPF'ом и MySQL'ями. HTML и CSS тоже хорошо знаю (ну там и знать то нечего).
А JS только основы языка знаю.
Просто я хочу определится какой язык мне задрачивать для профессиональной работы. Но не знаю какое направление выбрать. Мне все нравится.
И я вот думаю, задрочу ка я JS который везде используется, раз мне все нравится.
#527 #610513
>>610488
А зачем тебе вообще ООП для JS?
#528 #610521
>>610513
Думал, что нет смысла изучать незнакомую реализацию ООП, если на смену ей скоро придёт привычная. Если сахар, то всё понял. Спасибо.
3 Кб, 403x180
#529 #610565
Анон, как создать копию массива и отсортировать ее, не меняя исходный массив?
#530 #610571
#531 #610572
Перекат будет?
45 Кб, 340x220
#532 #610576
>>610571
Что?
#533 #610577
>>610565
.slice()
#534 #610578
>>610577
Понял, спасибо
42 Кб, 560x271
#535 #610595
Кто мне пояснит блядь, почему эта хуйня не работает на 168 cтроке ссылаясь на фигурную скобку, хотя в while работает
#536 #610601
>>610595
Запятые, запятые!

>mass


Some people just need a high-five in the face with a chair.
#537 #610608
>>610601
Это высказывание гораздо эпичнее с точками.
#538 #610610
>>610601
ладно я догадливый, но вообще объяснять ты пиздец. особенно >mass ахуенно в тему
#539 #610624
>>610610
А недогадливые нахуй не нужны.
#540 #610690
>>610595
Меньше пробелов, еще меньше. Вообще на них забей, нахуй форматирование, нахуй читаемый код, браузер и так разберет. Только лапша, только хардкор.
#541 #610708
>>610690
по мне так они стоят именно там где должны и не растягивают код в кашу, зрительно восприятие цельных блоков гараздо лучше, поэтому блядь идите нахуй со своими понятиями что так надо и так, воспринимается и читается он вполне нормально.
#542 #610733
>>610690
Это еще ладно. Вот когда отсутствие и наличие пробелов в перемешку (к примеру: var x= 1,y =123 ;), тогда тотальный пиздец.

>>610708
Пробелы делают код более просторным и чистым, а не растягивают его в кашу.
Каша это как раз таки тот код, на скрине. Все слитно, нераздельно, смешанно.
Ставь больше пробелов и пустых строк. Чтобы хоть как то различать свои действия.

Нужно писать свой код так, чтобы он был понятен не машине или тебе, а другим людям.
Давайте,блять,не ставить пробелымеждусловами и знакамиприпинания.Всё и такпрекрасно читается.Че нам в кашу текстто превращать,а?Норм,че.Давайте не писать с новой строки,нахуй нам смысловую нагрузку разделять.Всё и так ахуенно.
#543 #610790
>>610690
двачюю этого тимлида
#544 #610914
>>610595
Цикл for пишется через точку с запятой, а не через запятую.
Забавно, что пробелоёбы этого не заметили, а отсутствие пробелов заметили.
Сразу видно, что опыта нет в чтении чужого кода, там ко всему привыкаешь.
#545 #610918
>>610914
О запятых ему первым же постом ответили
Зачем повторяться?
#546 #610955
>>610914
А ты смешной
#547 #611112
ньюфажина в треде.
Обьясните пожалуйста когда есть смысл использовать именованные функции, а когда анонимные, а когда как объекты?
И
Можно ли юзать всегда анонимные функции?
блядь, каша в голове. из-за таких возможностей
#548 #611200
>>611112
да пох если честно. Именные круче в плане дебага.
Лучше всего ты используешь IIFE и module pattern
= хорошая сексуальная практика чтобы не разорвать очко по началу
408 Кб, 1000x3392
#549 #611340
>>609483
ок, пасиб за объяснение

еще такие вопроы
к примеру есть компонент и в нем типа ИНКАПСУЛИРОВАНА логика и все такое
например это форма редактирования юзера
ну и они например состоит из 3 полей
- возраст - <input>
- пол - радио баттон
- ориентация - <select>

и кнопка еще есть ОК
при клике, компонент рассчитывает, сколько пользователю дней осталось жить

ну и типа приложение вообще не должно знать что происходит на уровне данных внутри компонента, одно важно, что дает этот компонент на выходе - число какое-то там

вопросы:
у компонента должен быть стор, который обновляется при взаимодействии с элементами формы внутри него?
этот стор где-то скрыт или цепляется к стору приложения?
95 Кб, 836x614
#550 #611390
Ладно, адепты, где я опять запятые проебал? Я уже заебался из-за такой хуйни столько времени тратить. В общем тут задается массив из 3х имен, проверка, чтоб не было забугорных букв, когда есть они все ок работает, но когда отсутствуют if конструкция нихуя не выдает 3 раза "все ок".
Пиздец я смотрю на нее и хочу сказать не ахуела ли она?! По логике после интерации вложенного цикла должно срабатывать, а нихуя. Где я наебался?
#551 #611398
>>611390
Потому что ты мудак блять. Что ты делаешь вообще?
Первое. Нахуя ты делаешь функции, которые ничего не возвращают? Ты просто кусок логики обернул в функцию. Зачем?
Второе. После return функция завершает свою работу и ничего после return выполнено не будет. Поэтому нихуя не выводится.
Ты ж вообще нихуя языка не знаешь.
#552 #611401
>>611398
Функция была до этого я в нее завернул просто, почему бы и нет. Функция мне информацию .write возвращает. Когда я все ввожу верно return не срабатывает ибо он заключен в конструкцию if. Return там для того, чтобы ронять функцию при первой встрече с англ буквой.
#553 #611406
>>611390

>z=0


Надо 0=z
#554 #611407
>>611406
Адеквата двачую этого.
#555 #611408
>>611401
У тебя в условии "z=0". "=" - это оператор присвоения, а не сравнения. Там должен быть оператор сравнения.

> Функция была до этого я в нее завернул просто, почему бы и нет.


Потому что ты используешь её не по назначению.

> Функция мне информацию .write возвращает.


Она не возвращает, а печатает. Это функция делать не должна. Она должна возвращать данные, с которыми ты потом можешь что-то сделать.

> Когда я все ввожу верно return не срабатывает ибо он заключен в конструкцию if. Return там для того, чтобы ронять функцию при первой встрече с англ буквой.


Ну это уже просто пиздец
#556 #611409
>>611406
ты прикалывается?
#557 #611410
>>611409
Ты говорил, что догадливый.
#558 #611415
>>611408
За сравнение спасибо, там и проебался. Знаю, что лучше это все делать просто циклами, и функция нахуй не нужна. И использование returna тут только из-за того, что функция. Как бы это все не к месту было и уебещно не выглядело, но это работает. Чисто сделал чтоб проверить, что можно и так.
#559 #611421
>>611415
Это жс, тут можно как угодно.
Но в твоем случае правильнее сделать функцию, которая будет проверять слово и функцию, которая будет проверять массив слов через эту функцию.
#560 #611424
#561 #611691
>>611200
Понравился module pattern, буду юзать спс анон.
Тред утонул или удален.
Это копия, сохраненная 21 января 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски