Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 июля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript #54 #777728 В конец треда | Веб
Ссылка на прошлый тред: >>773362 (OP)

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

Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md

Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md

Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
#2 #777730
>>777728 (OP)

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


Что такое "гибкость" и как она связана с тем что JS используется во всех этих областях?

> Удобный синтаксис позволяет легко писать на нём


Удобный по сравнению с чем?
>>777737>>777739
22 Кб, 872x606
# OP #3 #777732
И хватит фреймворкосрачей. Вы заебали.
Ни реакт, ни второй ангулар на данный момент не сдохли.
Не надо хоронить реакт, пока не релизнулся второй ангулар. И не надо хоронить второй ангулар, пока он не релизнулся.
Релизнется ангулар, потом сритесь, а сейчас это просто флуд.
#5 #777738
тест
#6 #777739
>>777730

> Что такое "гибкость"


https://habrahabr.ru/post/214087/

> как она связана с тем что JS используется во всех этих областях?


Популярность языка позволила ему перейти на другие платформы. Гибкость в популяризации сыграла не последнюю роль

> Удобный по сравнению с чем?


У javascript отличный уровень абстракции на данный момент. Ты не теребишь байты между регистрами, но и всё не так сложно, как в lisp/haskell. Такая вот золотая середина с удобным порогом вхождения.
#7 #777740
>>777737
Охуенная шпаргалка. В топовом ответе все разложено по полочкам, с ссылками на драфт.
Батя грит заебца зделоли!
#8 #777743
>>777728 (OP)
спасибо, информативный тред
#10 #777783
Посоны, мне тут друг ( такой человек, который с тобой общается на постоянной основе ) доказывал что ООП в js зло и дескать надо ФП осваивать, поддерживаемость говорит в разы лучше, тестируемость расширяемость и еще куча всего, не пиздит ли ? А есть че почитать на эту тему годного ?
>>777785>>777820
#11 #777785
>>777783
Так и называется книга: Functional Programming in JavaScript
На it-ebooks.info есть.
>>777796
#12 #777796
>>777785
ага вижу спасибо.
#13 #777820
>>777783
PureScript погугли.
>>777823
#14 #777823
>>777820
В смысле, не "почитать", а на практике попробовать, да.
86 Кб, 604x453
#15 #777825
Добрый день, аноны. Объясните ньюфагу. Вот я прочитал learn.javascript.ru,и вроде бы надо сделать что-то свое типа змейки или калькулятора. Вопрос в том, что можно ли подглядывать другие сделанные работы по змейке или калькулятору, так как я не могу представить с чего надо начать? Знаю, что такие вопросы тут уже задавались не раз, но все же подскажите как мне быть?
>>777827>>777828
#16 #777827
>>777825
Нужно. Смотри больше чужого кода.
#17 #777828
>>777825
Конечно, епта. Потому и говорю, что все эти канторы это по большей части хуйня, т.к. Илюша может и хороший человек, но мылить не учит, а просто рассказывает то, как работает язык.
Правильно предыдущий анон сказал, подписывайся на интересные репозитории, изучай сорсы.
159 Кб, 2000x2000
#18 #777854
>>777668

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


Во-первых, про замыкания, а точнее про Лексикал Енвайромент, так он создается для функции, так как ты используешь переменную, которая хранится в функции, то ты используешь замыкание, просто в настолько явной форме, что ты даже не думал, что это оно, еблан.
Во-вторых, вопрос на хоистинг - всплывет второе значение(переприсваивание) или нет. Функция всплыла бы с телом из любой точки кода, переменная нет, так как работает иначе, потому после ретурна хоистинга не происходит.
Хуле ты такой тупой и категоричный, баклан?
>>777881>>777965
#19 #777881
>>777854

>хоистинг - всплывет второе значение(переприсваивание)


>хоистинг


>всплывёт значение


>потому после ретурна хоистинга не происходит.


Чё несёт...

https://repl.it/C5Pe/2
>>777926
9 Кб, 480x360
#20 #777926
>>777881
Ты туповат, да?
Хорошо, еще раз - там вопрос был с целью запутать нуба, чтобы он хойстинг функций попутал с хойстингом переменных, который отличается. Нуб и попутал. Пример, хойстинга функций
function func() {
var x = "la";
function f(){console.log("ti dolboeb")};
return f;
function f(){console.log("ti TUPORILIY dolboeb")};
}
func()();
Вуаля, вывело, что ты тупорылый долбоеб. Надеюсь теперь ты понял о чем шла речь.
>>777932>>777951
#21 #777932
>>777926
Если бы ты определял через var f = function, то результат был бы иной. Там не хоистинг, а присваивание, а здесь чистый хостинг, функция f в любой точке кода во время исполнения будет равна функции с тупорылым долбоебом.
>>777935
#22 #777935
>>777932
Ебать, а я о чем тебе толкую? Говорю же чел на собеседовании приписал хойстинг ФД к поведению переменных.
>>777946
27 Кб, 320x530
#23 #777946
>>777935
Я другой анон.
Я это упростил до:
Есть два прохода
Во время интерпретации блока кода,
Один, чтобы декларации функций собрать,
Имена переменных в неймспейсе создать,
Второй, чтобы код воедино собрать,
Исполнив все то, что программист соизволил сковать.
#24 #777951
>>777926
Да мне похуй, в чём там вопрос был, у меня к твоему посту претензии. Хоистинг поднимает объявление переменной в начало. И плевать, где именно это было: до, после, или вообще внутри ретурна, если сумеешь вставить.
На присваивание значения переменной хоистинг никак не влияет.
Нет никакого "хоистинга ФД" и "хоистинга переменных". Есть один хоистинг — это вынос объявлений (declarations, значение используемого тобой ФД ведь знаешь?) в начало кода.
>>777973>>777988
#25 #777965
>>777854
что ты несёшь? иди проспись, ты обосрался
#26 #777973
>>777951
Со "внутри ретура" это я погорячился, для эмоционального окраса добавил. А то приебётся сейчас ещё кто.
#27 #777988
>>777951
Ну ты и еблан.
>>778000
#28 #778000
#29 #778007
Сап, треда посвещенного Dartу нет. Вопроса скорее по алгоритму. Мне нужно найти в массиве подмассив: http://pastebin.com/sizN3irk
>>778013>>778014
#30 #778013
>>778007
Объясните, что такое Dart простыми общечеловеческими словами и зачем он нужен.
>>778015>>778017
#31 #778014
>>778007
Да, только первое вхождение меня устраивает. Чтобы возвращал все вхождения тоже не хитрое занятие. Вопрос заключается в том, насколько правилен сам подход
#32 #778015
>>778013

>и зачем он нужен.


Нинужен. Ведь даже

>треда посвещенного Dartу нет

>>778016
#33 #778016
>>778015
По всей видимости, Дарт - худший из компилируемых в JS язык. Быть может хуже только CoffeeScript.
>>778018>>778031
#34 #778017
>>778013
Язык программирования, который компилируется в js или крутится на VM. Поддержка Angular2
#35 #778018
>>778016
Да, он говно, всё говно. По алгоритму что скажешь?
>>778020
#36 #778020
>>778018
Начиная с каждого элемента массива A проверяешь следующие n элементов на равенство элементам массива B, где n - длина "подмассива" B. Если всё чётко, то готово. Для поиска нескольких можно либо перепрыгнуть на n, если пересечения не разрешены, либо продолжить дальше искать. Что тут ещё-то можно придумать?
Ты, вроде, так и делаешь, только c = 0 нахуя? всё равно ведь тут же break'аешься, а потома она завново создаётся. И внешний нужно ограничить на длиной sourceArray, а sourceArray.length - nextArray.length чому next-то?
>>778022>>778025
#37 #778022
>>778020
/me отправил воздушный поцелуй (потому что первое что в голову взбрело)
#38 #778025
>>778020
sourceArray.length - nextArray.length+1
#39 #778031
>>778016

> хуже только CoffeeScript.


Но он же охуенный. Жалко, что забросили развитие
>>778033
#40 #778033
>>778031
С появлением ES6 он стал НИНУЖЕН.
Излишки сахара ситуацию не спасли, вот и забросили.
>>778037>>778040
#41 #778037
>>778033
Как ты это связал вообще, ебан? В es6 из кофескриптового только классы появились
>>778042
#42 #778040
>>778033

> С появлением WebAssembly он стал НЕНУЖЕН.


Очевидный фикс.
>>778310
#44 #778065
>>778042
Пять введений с кофескрипта никак его не заменяют, иначе б я не чувствовал БОЛИ от перехода.
Ты вообще на сайт кофе хоть раз заходил? Посмотри сколько всего НЕ сделали, и, вероятно, никогда не сделают
http://coffeescript.org
#45 #778118
Какие фрейморки позволяют на JS писать десктопные приложения? Например, чтобы вывадить мне окошко с нарисованным графиком.
#46 #778119
>>778118
И да, ДЕСКТОПНЫЕ, в браузере я рисовать и так могу.
#47 #778120
>>778118
Project ELECTRON.
>>778123
#48 #778123
>>778120
Спасибо.
#49 #778147
Как на сервере защититься от банальных задрачиваний API со стороны клиента? Использовать сессии?
>>778158
#50 #778158
>>778147
Юзать nginx, он куда лучше для этого подходит
http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
>>778159>>778169
#51 #778159
>>778158
Спасибо!
#52 #778169
>>778158
Весь сервак перелопачивать с апача на джинкс ради этой функции? Ты серьезно?
>>778177
#53 #778177
>>778169
Нахуй тебе апач? Голая нода в сотню раз эффективнее будет справляться с балансировкой, чем это тормозящее говно, жрущее по несколько мегабайт на коннект
>>778182
#54 #778182
>>778177
Нахуй мне нода? Мен не нужны асинхронные ссаки на серваке.
>>778183>>778191
#55 #778183
>>778182
Ну тогда тормози дальше в своих нулевых, ретроград
>>778187
#56 #778187
>>778183
Ты в курсе, что асинхронность не для всего нужна? Для чего она в интернет-магазине, например?
>>778196
56 Кб, 736x552
#57 #778191
>>778182
Нахуй ты тогда в этом треде спрашиваешь, довен? Или ты решил на стороне клиента запросы к АПИ ограничивать?
#58 #778193
>>778118
electron, nwjs если тебе нужно браузерное окружение. а так есть биндинги ноды к gtk, qt и прочим тулкитам. еще ffi
#59 #778196
>>778187
Для скорости? А процент конверсии напрямую зависит от скорости сайта
359 Кб, 972x972
#60 #778220
Ember в связке с джейквери и хэндлбарами весит 2.7мб.
Кто-то вообще пользуется этим на полном серьёзе?
>>778222
#61 #778222
>>778220

>Ember


>Кто-то вообще пользуется этим на полном серьёзе?


Нет.
>>778282
#62 #778226
ребятки поясните ньюфагу за callback функции. а именно в методах перебора массива например.
#63 #778229
>>778226
1) Перебираешь массив.
2) Вызываешь функцию (ссылку на которую, например, передали в качестве аргумента)
That is.
#64 #778231
>>778226
Или ты про встроенные методы типа forEach, .map и прочие?
>>778238
#65 #778234
>>778237
#66 #778237
>>778234
вот читаю и дупля не даю, что в «arr.map(callback[, thisArg])» означает "callback".
>>778246
#67 #778238
>>778231
да, в них запутался
#68 #778246
>>778237
Можешь считать, что там написано
arr.map(foo[, thisArg])
где foo - это какая-то функция. Вообще наименование callback подчёркивает что в функцию map в качестве аргумента передаётся не просто какое-то значение/объект, а исполняемый код другой функции, но в данном случае тебе необязательно это знать. С колбэками ты познакомишься позднее, когда будешь дрочить nodejs. У того же Кантора есть довольно картавые годные скринкасты про ноду: http://learn.javascript.ru/screencast/nodejs
>>778249>>778250
#69 #778249
>>778246

>С колбэками ты познакомишься позднее, когда будешь дрочить nodejs


Типа в браузере асинхронные функции нинужны? Или ты ожидаешь, что он будет промисы хуярить, если не для него колбеки СЛОЖНА?
>>778251>>778281
#70 #778250
>>778246
уже разобрался, youtube и sorax разжевали.
>>778284
#71 #778251
>>778249

>если для него


фикс
#72 #778280

>если не для него колбеки СЛОЖНА


А мне твоё предложение СЛОЖНА.

Я к тому, что в принципе-то колбек по определению функция foo, переданная в другую функцию bar. Но в то же время колбеком обычно считается бравыми фронтендерами, которые пишут на ноде функция foo, которая будет вызвана после того, как функция bar вернёт значение. У нас тут колбэк по определению, и ни о какой асинхронности речи не идёт.
И кстати, хуй его знает, столкнётся ли он с асинхронными функциями в браузере или нет. eventListener, например, асинхронный, но колбеков там нет. А вот в ноде мимо них не пройти.
>>778281>>778285
#73 #778281
#74 #778282
>>778222
А зачем его вообще делают?
Зачем я трачу время на его изучение?
>>778314
#75 #778284
>>778250

>sorax


Я смотрел у него https://www.youtube.com/watch?v=65O-kmgmRI4, всё правильно сказал, но ЭТОТ ЁБАНЫЙ ПЛАВАЮЩИЙ МОНИТОР СУКА. ЗАЧЕМ ТАК БЫЛО ДЕЛАТЬ НАХУЙ.
#76 #778285
>>778280

>eventListener, например, асинхронный, но колбеков там нет


А эвент тебе аллах атачит к элементу? Или ты всё в html атрибутах делаешь и никогда addEventListener(callback) не пользуешься?
>>778294
#77 #778286
>>778226
Колбэк функция - функция вызываемая внутри другой функции, точка.

>а именно в методах перебора массива например


Функция будет вызвана изнутри переборщика массива для каждого элемента массива.
#78 #778289
>>778286
спасибо. самое лаконичное что я читал
#79 #778291
>>778286

>Колбэк


Нахуя лямбде дали какое-то тупое бессмысленное название, придуманное гуманитарием, не осилившим лямбда-формализм?
Вообще, я смотрю, в программировании полно каких-то сельскохозяйственных названий. Возможно, это потому, что типичный программистишка - это не божественный шизоид-математик, а мещанин с кругозором типичного рашкинского жлоба-семьянина.
>>778293
#81 #778294
>>778285
И действительно, обработчик же колбэком передаётся. Ты прав.
>>778324
#82 #778295
>>778286

>Колбэк функция - функция вызываемая внутри другой функции

>>778297
#83 #778297
>>778295
сраная макака, дай написать нормально

>Колбэк функция - функция вызываемая внутри другой функции


Смотрите, я колбэк поймал:
function bar(){}
function foo(){bar();}
>>778302>>778303
#84 #778302
>>778297
Красивый колбэк.
#85 #778303
>>778297
Можно сказать, что колбэк - это функция-аргумент, которая будет вызвана внтури другой функции.
#86 #778310
>>778040
Поясните за вебасембли, что это и для чего
#87 #778314
>>778282

>2016


>@


>Учить что-то, кроме reactjs и angular2

#88 #778316
>>778314
А у нас meteor.
>>778317
#89 #778317
>>778316
Ну, у метеора есть своя ниша рельс, а первый ангуляр будет жить ещё несколько лет как минимум, дохуя всего на нём написано, что никак не переписать даже за полгода-год.

Но вот учить эмбер, который даже не родившись умер, обладает охуенно высоким порогом вхождения, но во всем сосёт у всех популярных фреймворков и либ - 0 из 10.
28 Кб, 581x246
#90 #778318
>>778314

>то чувство, когда у тебя пишут на говнемамонтовом бэкбоне

#91 #778320
>>778318
Такая же хуйня, бро
#92 #778322
>>778318

> работать где-то, кроме стартапов

>>778327>>778337
#93 #778324
>>778294
>>778294
И в onstatechangeу xhr
и onmessage между окнами\фреймами\воркерами
Да везде, колбэки.
#94 #778325
>>778314

>2016


>@


>не использовать vanila js

>>778326>>778356
#95 #778326
>>778325
Эм, а на чем фреймворки по-твоему написаны?
>>778346
45 Кб, 354x367
#96 #778327
>>778322

>в 50% стартап это 3,5 первокурсника, выучившие вчера как сделать сервер на экспрессе и тудухи на реакте


>в 45% кукан вместо зп


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

#97 #778337
>>778322

> т то чувство, когда ты работаешь в стартапе и всё пишут на бэкбоне, потому что его любит тимлид

#98 #778340
>>778318
Бэкбон охуенен. Это единственный современный фреймворк, который не смешивает код и разметку. За ангулароподход нужно в ебало ссать.
>>778350
#99 #778346
>>778326
На си.
>>778349
#100 #778349
>>778346
пасаси)))
>>778353
#101 #778350
>>778340
Пока весь веб идет в сторону изолированности компонентов, жквери-аутисты и бекбонодауны смотрят названия айдишников
>>778355>>778361
#102 #778353
>>778349
Иди учи матчасть.
#103 #778355
>>778350

>весь веб


Ты и два твоих друга-хипстера - не весь веб.
>>778357
#104 #778356
>>778325

>2016


>@


>не использовать prototypejs

>>778364
#105 #778357
>>778355
Я, корпорация Фейсбук и корпорация Гугл, ты хотел сказать?
>>778360>>778456
#106 #778360
>>778357

>копро-рация


пофиксил тебя, не благодари.
#107 #778361
>>778350
document.getElementById работает быстро, а всё ваше говно работает медленно.
>>778362>>778363
#108 #778362
>>778361
Ты хоть почитал бы сначала. Испанский стыд от тебя
>>778390
#109 #778363
>>778361
window[elementid] еще быстрее
#110 #778364
>>778356
Смешно кстати
39 Кб, 604x453
#111 #778365
То чувство, когда ты просмотрел два видеокурса по эмберу, ~7 часов в сумме. Но это не имело смысла.
#112 #778366
>>778365
Видео-курсы вообще не имеют смысла.
>>778372>>778396
#113 #778367
>>778365
Никогда не понимал, как можно что-то учить по видеокурсам. Куча воды, нудятина. Книга для основ, а дальше статьи и подкасты
>>778372>>778396
#114 #778372
>>778366
Чому?
Они лучше книг, чистая практика. Смотрит как делает мужик на экране и делаешь так же.
Есть вопрос - лезишь в доки, гуглишь.
Ну тут надо знать английский хорошо, правда.
>>778367

>Куча воды, нудятина. Книга для основ, а дальше статьи и подкасты


Ага. И с какой скоростью ты читаешь эти книги? Я просмотрю курс(3-4, может 5 часов) по хуита_нейм за один день, а сколько ты будешь читать книгу на 200-400 страниц? Притом на английском.
>>778375
#115 #778375
>>778372
А дальше писать код, ты хотел сказать?
>>778376
#116 #778376
>>778375
В каком контексте ты задаёшь этот вопрос?
Дальше писать код, чтобы использовать то что ты выучил, да.
953 Кб, Webm
#117 #778377
>>778365

>эмберу

#118 #778379
Напомните, где еще используется виртуальный ДОМ, кроме реакта?
>>778381
#119 #778381
>>778392
#120 #778390
>>778362
Давай пруф, что я не прав. А пока ты в лужу пукнул.
>>778394
#121 #778392
>>778381
Класс. 56кб весит.
>>778395
#122 #778394
>>778390
Ты вообще про другое ответил. Я тебе про количество, а ты мне про цвета
#123 #778395
>>778392
А mithril весит 19кб.
>>778399
373 Кб, 1280x911
#124 #778396
>>778366
>>778367
Имеют, если это нормальные западные курсы от какого-нибудь Абрамова или Джона Папы, не имеют, если это ебучий индус или Васян очередной, который 25 часов рассказывает базовую хуйню, которая в нормальном видео занимает 40 минут.

Учить что-то по рюскей видосам была моя самая большая ошибка, я представить не могу как они только умудряются записывать 3х часовые видосы для 20 минутных тем, при этом почти без примеров, когда в 20минутном дохуя примеров кода и почему именно так стоит делать, а не вот так.

Впрочем, у нас книги писать не умеют, видео записывать тоже, всё как обычно.
>>778409
#125 #778399
>>778395
Кто-нибудь вообще юзает эти фреймворки?
#126 #778401
>>778399
Да и реакт никто не тянется использовать пока.
#127 #778403
>>778399
Любой, кто в мобильных версиях использует тот же код и при этом не настолько тупой, чтобы мегабайтные скрипты пользователю отдавать.
#128 #778408
>>778399
Дохуя кто. Vue.js в Китае очень популярен, например. Inferno сейчас вон как замену React форсят он говно, не ведитесь, автор долбоеб который пиздит код у других и не знает как он работает
#129 #778409
>>778396

>русофобия в посте


>аниме на пике


Всё как обычно.
>>778415>>778416
#130 #778415
>>778409

>Абрамов в посте


>русофобия


Залетный дебил незаметен, всё как обычно)
>>778417
#131 #778416
>>778409
Но джаваскрипт - это русофобский язык для нетрадиционно ориентированных гениев.
#132 #778417
>>778415

>Имеют, если это нормальные западные курсы от какого-нибудь Абрамова


>Учить что-то по рюскей видосам была моя самая большая ошибка


Ранняя деменция детектед.

>)

>>778418
#133 #778418
>>778417
Тупой даун, тебе:
1) в po, рюсня сосёт хуи и ты тоже, страна с мертвым айти рынком
2) Абрамов рюсня, но курс он делал для западного рынка, заметно выше качеством чем наше говно

Ты такой тупой потому что мама много пила и отец её бил во время беременности?)))
>>778512>>778526
#134 #778454
>>778451
Все слабые духом отправляются прямиком нахуй в >>777728 (OP)
#135 #778456
>>778357

>корпорация Фейсбук


Они на таких дурачков срать хотели. Они намеренно разделили html верстку и js код в реакте, тогда как ангулародауны пытаются смешать всё.
#136 #778457
>>778451
Десктоп вырождается, жс уже занимает его нищу всякими SPA
#137 #778458
>>778456
Это в React разделили?
Тогда я не знаю что такое "смешали".
>>778473
#138 #778465
>>778456
Проиграл с дебила, который даже документацию реакта не открывал, а с видом эксперта что-то кукарекает
>>778473
#139 #778473
>>778458
>>778465
Проиграл с дебилов, считающих свой говнокод стандартом.
>>778562>>778567
#140 #778478
>>778456
Ну у реакта html в js коде.
>>778511
#141 #778511
>>778478
що, вибачте?
jsx конпелируется в createElement
декларативно удобнее описывать компоненты
>>778513
#142 #778512
>>778418
Я блеванул от его прононса. Просто больно слушать.
69 Кб, 584x858
#143 #778513
>>778511
конпелироваться он может хоть в txt
в коде все смешано в кучу как говно
посмотри как делается в Vue на картинке
>>778514
#144 #778514
>>778513
Что ты несёшь, даун? Компилят - чистый js, никакого html и похуй.
>>778517>>778518
#145 #778517
>>778514
Чего сказать-то хотел?
>>778519
#146 #778518
>>778514

>Компилят


В этом месте начинается обсёр.
>>778521
#147 #778519
>>778517
Sapienti sat
#148 #778521
>>778518
ты special kid какой-то
>>778523
#149 #778523
>>778521
Ты пихаешь разметку в файл с джсом или не пихаешь?
Пихаешь.
Потом упоминаешь компилятор, но даже это обсёр, потому что тебе надо постоянно перекомпилирывать твою разметку.
>>778524
#150 #778524
>>778523
Это делает tsc при каждом сохранении. Для того же можно настроить галп с вотчером и бабел-парашей, если ты на ES2015. Декларативное описание оче удобно. Его так же можно выносить в модули, что я и делаю.
>>778529>>778532
#151 #778526
>>778418
Экак ты порвался, русофобчик. Остужай.
#152 #778527
В применении JSX, как и в E4X XML-литералах нет ничего плохого.
>>778530>>778533
#153 #778529
>>778524
Ну так ты в любом случае пихаешь разметку в джаваскрипт файл с кодом.
#154 #778530
#155 #778531
>>778529
Это не проблема.
#156 #778532
>>778524

>Декларативное описание оче удобно


Что. Ты. Несешь.
Сейчас выяснится что HTML - не декларативен, а истинно декларативен только JSX в кишках JS-лапши (потому что куча говна и палок, перевязанная изолентой умеет его оттуда выковыривать самым извращенным способом).
И что декларативность изобрели инженеры Фейсбука и к ним теперь разработчики Prolog ходят опыт перенимать.
>>778534
#157 #778533
>>778527
А ничего, что html - это xml?
#158 #778534
>>778532
Это просто другой способ записи. Можешь писать createElement, если тебе так удобнее.
>>778535
#159 #778535
>>778534

>createElement


Тогда будет достигнута полная, окончательная и бесповоротная декларативность?
>>778545
#160 #778545
>>778535
В результате транспиляции или ручного набора - нет html/xml. JSX можно вынести в самостоятельные модули, как шаблоны с разметкой. В чём проблема?
#161 #778556
посоветуйте селект под реакт с кастомным рендером опций, но не react-select ебучая хуйня в таблице сжимается до 5px
#162 #778561
>>778529
Семантически они объединены. Более того, именно на основе семантики кода компоненты делят на два типа (контейнеры, а вторые не помню).
>>778577
#163 #778562
>>778473
Покажи тогда, что такое не говнокод на реакте.
>>778565
#164 #778565
>>778562
ты что-то имплаишь или просто хочешь увидеть чужой красивый код?
#165 #778567
>>778473
В очередной раз поссал на ротешник еблану
http://webcomponents.org
https://developer.mozilla.org/en-US/docs/Web/Web_Components
#166 #778568
Подскажите нубу, что нужно прописать в package.json что npm устанавливал пакет с гитхаба?
Собрал проект, загрузил на гитхаб.
Но при попытке установить его с помощью npm, инсталлятся только зависимости, лол.
Прозреваю, что забыл какую-то хуйню добавить в package.json.
>>778569>>778598
#167 #778569
>>778568
Там должна быть ссылка на репозиторий, не помню как поле называется
А почему ты просто на нпм не зальешь?
>>778584
#168 #778577
>>778561
Умные и глупые контейнеры вроде. Хотя щас уже так не говорят
#169 #778579
Давеча читал сайклджёрк адвокатов ангуляр о судьбе ag2. Пришли к выводу, что моментума не буде. Короче, ковыряние этой бадяги - удел банковских интерпрайз-приматов. Узкая ниша.
Да здравствует Реакт!
#170 #778584
>>778569
Бля, прописано сейчас так:

"repository" :
{ "type" : "git",
"url" : "https://github.com/XYIPIZDA.git"
},

Вообще не подтягивает файлы с гитхаба, но депы исправно ставит.

>А почему ты просто на нпм не зальешь?


Не знай. Не хочу засирать реестр NPM своим говноподелием.
>>778585
#171 #778585
>>778584
Так тоже пробовал ставить:
npm install git+https://[email protected]/xyi/pizda.git#master

NPM выкидвает варны:
npm WARN enoent ENOENT: no such file or directory, open 'D:\experiments\TEMP\package.json
npm WARN TEMP No description
npm WARN TEMP No repository field.
npm WARN TEMP No README data
npm WARN TEMP No license field.

хотя в репозитории есть package.json
>>778588
#172 #778588
>>778585
Надо сначала npm init сделать, поехавший
>>778589
#173 #778589
>>778588
Всмысле? npm init при создании проекта и делал.
Вручную добавил только поле repository.
Сейчас вот проверил тулзой http://package-json-validator.com свое репо на гитхабе - package.json валидный, отсутствует несколько необязательных полей, вроде bugs, contributors, engines.
>>778593
#174 #778592
Джосоны, может кто-нибудь посмотреть код и сказать что доделать, исправить? И подсказать как сделать так, чтобы открытие группы пустых клеток работало? Лучей добра. :)
>>778594>>778840
#175 #778593
>>778589
Тебе нужно в проекте, куда ты хочешь установить свой пакет с гитхаба, сделать npm init. В папке D:\experiments\TEMP\
>>778595
#176 #778594
>>778592
В шапке написано куда код заливать
#177 #778595
>>778593
Лол. Интересная хуйня получается. Сделал, как ты сказал, но теперча npm прячет мой пакет в 'node_modules'.
Я так понимаю, npm работает как и задумано?
Просто я немного другого поведения ожидал. Думал, по команде npm install github/repo
npm распакует репо в папку и поставит зависимости, чтоб вручную git clone не дрочить каждый раз.
По ходу дела такого функционала нет?
>>778613
5 Кб, 251x201
#178 #778596
Аноны, вчера тут спрашивал по поводу калькулятор и змейке. Нашел код калькулятора, повторил за ним все, а что делать дальше с ним теперь?
http://codepen.io/Okhre/pen/begpgg
>>778600>>778863
#179 #778598
>>778568
Ты когда устанавливаешь модуль, должен флаг --save добавлять. Тогда в пэкейдже в свойстве dependencies будет записано имя модуля и версии и так зависимости будут автоматом качаться.
>>778599
#180 #778599
>>778598
Не обращай внимания, я не так понял вопрос.
#181 #778600
>>778596
Ничего. Никому нахуй твои калькуляторы не всрались. Даже на стажировки всякие задания такого уровня подразумевают минимум работы, например, с реактом, а не просто файлик с нативным жсом.
Вот тебе пример заданий на стажировку:
1) сделать калькулятор матриц, чтобы можно было добавлять т убавлять столбцы и строки, проверка валидности вся хуйня.
2) сделать записную телефонную книгу, которая бы хранила в local storage браузера инфу, можно было бы сортировать, искать по любому столбцу
>>778606>>778609
#182 #778606
>>778600
твои задания как я понял, на фреймворках делать надо? Например телефонную книгу на ангуляре?
>>778609>>778619
#183 #778609
>>778600

>2) сделать записную телефонную книгу, которая бы хранила в local storage браузера инфу, можно было бы сортировать, искать по любому столбцу


Джейсану это. Пожалуй, одно из самых частых заданий для юниоров в энтерпрайзе это разработать справочник сотрудников. К примеру, выглядеть UI должен так:
- слева панель со списком подразделений организации;
- наверху панель со списком сотрудников в текущем подразделении;
- снизу область профайла выбранного сотрудника (фото и данные).
Функционал должен включать примитивный менеджер базы данных - добавление, удаление (подразделений и сотрудников), возможность экспорта.

>>778606
MVC сюда вы идеально вписалось. Но можешь во вьюхе все херачить, как то предлагает Реакт.
>>778615
#184 #778613
>>778595

> Я так понимаю, npm работает как и задумано?


Да

> Просто я немного другого поведения ожидал. Думал, по команде npm install github/repo


> npm распакует репо в папку и поставит зависимости, чтоб вручную git clone не дрочить каждый раз.


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

> По ходу дела такого функционала нет?


Нет. Обычно ты должен делать
git clone https://github.com/user/project.git . && npm i
>>778629
#185 #778615
>>778609
ну я еще вообще зеленый в джс, стараюсь все зубрить, чтобы хоть что-то сделать самому. Не знаю приступать ли к изучению всяких фреймворков, но я еще не до конца понял ДОМ. Да и реакт посмотрел сегодня ночью ради интереса для чего нужен. Вроде если я правильно понял, то он отвечает за интерфейс?
>>778646
#186 #778619
>>778606
На любом фреймворке + любой css фреймворк для оформлени
#187 #778629
>>778613
Эх, ну ладно.
Лучи добра за развернутый ответ.
#188 #778646
>>778615
Да, к реакту сразу flux изучи, почитай сначала что это, пойми суть, а потом выбери реализацию redux
>>778669
#189 #778669
>>778646
Redux говно, читай прошлый тред.
>>778670
#190 #778670
>>778669
Это там обсуждалось то, как мейлру запилили голосовалку с редаксом на овер 9000 строк?
>>778673
#191 #778673
>>778670
Тред большой, чего там только не обсуждалось.
Того факта что Redux - переусложненное говно, это не меняет.
>>778675>>778693
#192 #778675
>>778673
Чем редакс радикально отличается от способа хранить все данные одном объекте?
Мимо бросил взгляд на мануалы по редаксу
>>778677>>778682
#193 #778677
>>778675
Звучит умно. Вот спросят тебя, как ты хранишь данные, а ты такой "я юзаю редакс". И все сразу "ооо, какой он умный и продвинутый". А если скажешь что в одном объекте хранишь, то подумают что долбоеб. Хотя по факту разницы никакой.
#194 #778682
>>778675
Просто экономит время на написание кода, описывающее безопасное изменение твоего объекта.
#195 #778693
>>778673
Что можешь предложить в замен inb4: mobx
>>778715
#196 #778715
>>778693
В реакте есть изкоробки хранилище для данных.
>>778753
#197 #778735
Напомните, нахуя вообще во фронтенде все эти фреймворки? Если в 99% в случаях, где их используют, можно заменить это всё простыми скриптами, которые напишет даже школьник.
Фронтенд макаки поняли, что нужно повышать порог вхождения, иначе пиздец их зарплатам? Или просто хотят походить на успешных господ, занимающихся настоящим программированием?
#198 #778737
>>778735
Ты забываешь, что не все приложения ограничены функционалом тудушек.
А когда дохуя и больше строк кода, проблема встает и с поддержкой.
#199 #778739
>>778735
Писать сложные приложения, очевидно.
#200 #778742
>>778735
Для ЛЕНДИНГПЕЙДЖА фреймворк и правда не нужен, макак, не беспокойся
#201 #778745
В шапке книга react-course-ru.pdf еще актуальна?
>>778752
#202 #778750
>>778735

>Или просто хотят походить на успешных господ, занимающихся настоящим программированием?



Да
#203 #778752
>>778745

>ru


Если не можешь читать по-английски, читай хотя бы со словарём и учись, всё равно не уедешь никуда, если не можешь банально документацию осилить, даже от джунов сейчас требуют хотя бы на уровне чтения литературы знать инглиш.
>>778757
#204 #778753
>>778715
Ок, у меня куча компонентов, предлагаешь им все кидать данные друг другу на прямую?
#205 #778757
>>778752
ну в шапке просто книга эта указана, вот и интересуюсь актуальна она еще. Параллельно документацию реакта сейчас смотрю
#206 #778785
Сап, джейсач. Не думал, что запнусь на таком месте, но:
в реакте хочу обернуть в див каждые n-элементов (допустим, всего 12 объектов, и каждые 6 нужно обернуть в див).
Чет никак не соображу как это сделать ПРОСТО в реакте, лол.
Нашел вот это на стаке:
https://stackoverflow.com/questions/36318601/react-js-every-nth-item-add-opening-tag-or-closing-tag
Но чет мап в мапе нихуя не радует.
>>778791>>778793
19 Кб, 554x246
#207 #778791
>>778785
Подойдет что-нибудь такое мб?
>>778793>>778808
#208 #778793
>>778785
реакт визуализирует состояние
чтобы визуализировать как ты хочешь, эти 6 элементов должны быть дочерними

>мап в мапе нихуя не радует


в этом нет ничего плохого
можешь >>778791 с https://facebook.github.io/react/tips/dangerously-set-inner-html.html использовать, но это действительно кривое решение
>>778808>>778911
#209 #778808
>>778791
Оно работает, но не в Реакте, бро.

>>778793
Я, наверное, совсем инвалид, т.к. в Реакте все нужно делать компонентами, но сделал вложенным for'ом:

https://jsbin.com/toyeva/edit?js
>>778829
#210 #778829
>>778808
Чот хуевато. Это решается вложенным мапом.
#211 #778840
>>778592
https://jsfiddle.net/mayzx8qt/

Код по пути проебался.
>>778845>>780358
#212 #778845
>>778840
Не всегда открываются все клетки, если ткнул в пустую область. На области не может быть пустых клеток. Хуевый интерфейс через промты. Нельзя ставить флажки.
#213 #778846

>На области


На границе области
#214 #778863
>>778596
Любая игра работает через цикл: обновил данные, перерисовал.
setTimeout(function(){
обновить_даннные();
перерисовать();
}, 1000/40 );
Грубо говорят так.
#215 #778870
Что-то я не понял, в браузере при создании переменной она всегда на глобальном объекте создаётся? В ноде такой хуйни нет!
#216 #778874
>>778877
#217 #778875
>>778870
Знаком с нодой, но не знаешь про var? Совсем охуел?
>>778877
#218 #778876
>>778870
Все верно, ты что-то не понял.
#219 #778877
>>778874
>>778875

'use strict';
var myval1 = 3;
console.log(window.myval1);

выводит 3

'use strict';
var myval1 = 3;
console.log(global.myval1);

Выводи undefined
#220 #778879
>>778877
В ноде у тебя контекcт модуля, в браузере ты ебашишь переменную в контексте window и удивляешься откуда она там.
Оберни в модуль и удивись, что в window ее не будет
>>778882
#221 #778880
>>778877
Получается, единственный способ в ноде записать в глобальный объект – в нонстрикт моде без var объявить переменную. А как в браузере объявить её вне глобального объекта?
>>778883
15 Кб, 400x331
#222 #778882
>>778879
Ну теперь ясно.
#223 #778883
>>778880
(function(){
'use strict';
var myval1 = 3;
console.log(window.myval1);
})()
>>778887
#224 #778887
>>778883

>function


Ну это и так понятно.
#225 #778888
>>778877
Для каждого ДОМузла c id тоже есть переменная в window

<div id="yoba"></div>

лежит в window.yoba
#226 #778911
>>778793

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


Значит два пробега, первый делит по 6, второй отрисовывает, по-другому не вариант.
>>778982
#227 #778982
>>778911
map все равно медленней, чем for азазаза
#228 #779122
сап, пацаны.

смотрите, довольно таки уверенно могу в реакт+редакс. что посоветуете освоить для фул стак халявки на апворках? ноду или питон/руби/пхп?
#229 #779129
>>779122

> ноду


> пхп


This, это 95% работы
#230 #779143
>>779122
пехапе канешно
правда это не совсем язык
#231 #779185
>>779122
Пхп или руби. На руби много зарубежом проектов, на апворке тоже
3-к кун
#232 #779250
>>779122

>халявки


Халяв - раздача ништяков беднякам по случаю какого-нибудь праздника. Ты хотел сказать халтурки.
Учи ноду. Потому что хайп вокруг реакта в основном из-за изоморфности, которая возможна пока только с нодой.
#233 #779266
Хочу организовать drag&drop так, чтобы указатель мыши "цеплялся" к определённому краю захваченного объекта (независимо от того, где именно на объекте мы кликнули мышкой). А потом сделать акцептором именно тот объект, над которым висел указатель в момент сброса.
Как-нибудь можно это всё в jQuery реализовать? Или что-то другое надо искать?
>>779271
#234 #779271
>>779266
В jqueryui есть модуль DND. Можно использовать только его, сделай кастомную сборку. Ты перемещаешь объект относительно локальной точки клика (из события).
#235 #779272
Сап, гайз. Пилю микросервис на ноде и встал вопрос, а посредством чего лучше отдавать апи? Вебсокеты или обычный HTTP(S)/REST? Высокой нагрузки не предвидится, если что, ресурсы тоже зело ограниченные.
>>779273
#236 #779273
>>779272
Глупый вопрос.
Для кого ты это делаешь?
Вообще, стандарт - REST. Сейчас становится модным - http://graphql.org/docs/getting-started/
>>779335
#237 #779302
>>779250
да, хальтурка, спасибо.
я кста видел проект, изоморфный, там бекенд на ноде был только для собирания странички, а API на Java
>>779307
#238 #779307
>>779302
На nashorn? Видел-видел.
>>779359
#239 #779335
>>779273

>Для кого ты это делаешь?


Да я не публичный API делаю, чисто для клиент-серверного обмена.
#240 #779339
>>779250

>хайп вокруг реакта в основном из-за изоморфности


Смысла в которой для обычного применения ноль.
https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

Но для vue.js тоже есть https://github.com/ngsru/vue-server
>>779352
195 Кб, 1296x730
#241 #779342
>>779250
Он хотел сказать для мунлайтинга.
#242 #779352
>>779339
Не все роботы умные.
На работке подключал статистику, там требовалось, чтобы мета-данные выводились в комментах. Их робот вряд ли будет читать виртуальный дом.
>>779360
#243 #779359
>>779307
Нет, не движок, просто второй сервак для АПИшек, может быть написан на чем угодно
#244 #779360
>>779352
Для неумных роботов есть дохрена сервисов, которые за треть миски риса с радостью возьмут твой джаваскрипт и выдадут статический хтмл, пригодный для роботов.
>>779361
#245 #779361
>>779360
ЭЭЭЭ ЧО Я ЕЩЁ ДЕНЬГИ ДОЛЖИН ПЛАТЕТЬ
#246 #779396
Добавьте в шапку https://github.com/getify/You-Dont-Know-JS
>>779401>>779411
#247 #779401
>>779396
Я думал новый фреймворчек подоспел. Давно чето не выходило ничего
>>779454
#248 #779411
>>779396
Это ж гитхаб, добавь сам, это прям с сайта можно сделать
#249 #779454
>>779401
Соскучился по очередному клубку говнокода?

> Functional, composable, immutable & curried promise sequences with abstract resolution.


> https://github.com/declandewet/pipep

#250 #779461
Надо организовать поиск по странице (типа ctrl+f), подскажите годный плагинчик для этого.
>>779479
#251 #779479
>>779461
Ручками напиши
>>779494
#252 #779494
>>779479
Тимлид не разрешает. Говорит, ищи плагин и не выебывайся, нехуй тут велосипеды изобретать.
>>779503
#253 #779503
>>779494
Напиши плагин и скажи, что нашел, лол
#254 #779517
Как часто для JS выходят новые фрейворки? Вы их все успеваете попробовать? Как в них не утонуть?
>>779529
#255 #779529
>>779517
Выучить один, использовать его и посылать всех нахуй.
#256 #779545
Открою секрет - фреймворки не нужно учить. Нужно учить и понимать принципы, на которых они построены, а также смотреть какую пользу они могут принести/какие проблемы решают в отличие от уже существующих.
Я сейчас могу в любом фреймворке, в любой библиотеке, разобраться за пару часов и начать использовать её в продакшен-реди коде. Потому что сами базовые принципы не так сильно различаются, часто повторяются и т.д.
>>779567
#257 #779567
>>779545
Ну после такого заявления было бы здорово если бы ты дал рекомендации по учебным материалам о принципах, а то пока у большинства получается что их можно выучить только в процессе разучивания фреймворков
>>779569
#258 #779569
#259 #779741
Че за тема пошла с ES2016, почему все на нем стали писать?
>>779743
#260 #779743
>>779741

>Че за тема пошла с ES2016, почему все на нем стали писать?


>ES2016


>2016


Ну, наверное, потому, что время пришло, не?
#261 #779791
А что если написать js engine на golang?
Тогда ведь можно будет использовать мультипоточные горутины вместо однопоточного евент-лупа, для асинхронности.
Ну, я о том, что асинхронность останется той же, но будет уже многопоточной, нет?
#262 #779802
>>779791
Идея хорошая. Я бы написал, если бы получше умел в го.
#263 #779804
>>779791
И в чем смысл? Всё равно оптимально иметь поток на ядро
>>779810
#264 #779805
>>779791

> Ну, я о том, что асинхронность останется той же, но будет уже многопоточной, нет?


В каких случаях тебе не хватает childProcess?
>>779814>>779819
#265 #779810
>>779804
Так в го зеленые треды. Там так и так нативных потоков создается по количеству ядер цпу, а менеджит рутины по ним уже рантайм го.
#266 #779814
>>779805
Я даже объяснять не стану в чем разница между конкуренси подходом горутин и нативными процессами.
#267 #779819
>>779805
у горутин общее адресное пространство
201 Кб, 675x1200
#268 #779833

> inb4


> за реактом стоит фейсбук


> у них такие инженеры


> миллион человеко-лет



https://twitter.com/dan_abramov/status/746508202322305024
34 Кб, 606x604
#269 #779836
Рейтаните задачку для ньюфага, которую можно на фулл JS стеке решить. Идей тред мёртвый, а тут как раз по теме. Что-то я упустил может быть в своих рассуждениях?
>>779825
>>779842
#270 #779842
>>779836
Хорошая идея, попробуй.
#271 #779843
>>779833

>реддит

>>780085
#272 #779853
С какого-то момента перестал воспринимать учебник Кантора как учебник, а не как справочник по основным моментам, написанным для людей, которые уже имеют опыт веб-разработки.

Что почитать для совсем нубных нубасов?
Фак читал.
>>779864
#273 #779859
>>779833

>человеко-лет


lolwut?
#274 #779864
>>779853
иди ящика разгружай
>>779865
#275 #779865
>>779864
Хорошо.
#276 #779932
Посоветуйте годные, годные, годные, годные видеокурсы. Я не умею читать.
>>779984
#277 #779984
>>779932
на рутрекере или nnm клубе в поиске: javascript
#278 #779986
>>779833
вот это поворот
#279 #780085
>>779843
Это пост абрамова, еблан. Ссылка же прикреплена на твит.
Совсем уже деградировали
#280 #780114
Стоит ли тратить свое время на codewars?
>>780116
#281 #780116
>>780114
Неплохо мозги держит в тонусе, особенно, если ты ньюби.
Стоить тратить свое время только тогда, когда нет своих интересных проектов.
#282 #780123
Изучал java, но мне в треде джавы доказали, что она умирает и лучше не тратить на нее время.

С чего начать изучение JS? Хочу с перспективой укатывания в бекенд и ноду.
>>780125>>780128
#283 #780125
>>780123
Монго+Нода+Экспресс.
>>780126
#284 #780126
>>780125
Изучать Ноду, пропустив JS Core? Учить фреймворк, пропустив кор языка?
#285 #780128
>>780123
Хайп на жс тоже скоро пройдёт и намного раньше, чем умрёт жава. Так что изучай, что нравится сейчас, а потом перекатишься, если захочешь.
>>780129>>780131
#286 #780129
>>780128
Мне JS нравится.
#287 #780130
https://litvinenkoevgeny.github.io/cdevs/
Двач выручай, я уже как то спрашивал про енту хуйню, короче когда анимация заканчивается, она исчезает, а должна заново начинаться, я прост вообще никогда с flw не работал, как такое поправить ? Гугл что то вообще ничем не помог
>>780134>>780137
#288 #780131
>>780128
Хайп на язык, который установлен почти в каждом компьютере, имеющий доступ в интернет? Ты себя слышишь, лол?
>>780138
#289 #780134
>>780130
Какая анимация? Требует плагин установить. Закрыл нахуй.
>>780135
#290 #780135
>>780134
заказчиков не выбирают
#291 #780137
>>780130

> кто мы


КТО ВЫ-ТО? ТЫ ОДИН ЗДЕСЬ НАХУЙ
>>780144
#292 #780138
>>780131
Он наверное имел в виду Server-side JS как технология, нежели язык в целом.
Да и появлением Asm.js необходимость в чистом виде JS снижается, да.
>>780139>>780141
#293 #780139
>>780138

>Да и появлением Asm.js необходимость в чистом виде JS снижается, да.


Что, простите?
>>780145
#294 #780141
>>780138
Какой язык может заменить серверный жс?
>>780143
#295 #780143
>>780141
Никакой.
#296 #780144
>>780146
#297 #780145
>>780139
То, что код, скомпиленный из CPP в JS, например, дает на выходе лучшие результаты в производительности выполняемого кода, нежели код, написанный на чистом жс.
>>780151>>780152
#298 #780146
#299 #780151
>>780145
Проиграл. Ты в курсе, что интерпретатор жс уже в два раза быстрее ассемблера?
>>780159
#300 #780152
>>780145
Бенчмарки покаж.
>>780154
43 Кб, 650x638
#302 #780156
>>780154

> 2013

>>780159
#303 #780159
>>780151

>интерпретатор жс уже в два раза быстрее ассемблера?



>>780156

> 2013



Может быть за полтора года что-то и изменилось.
Про какой интерпретатор речь идет? В двигле V8, Chakra или SpiderMonkey?
>>780160>>780192
#304 #780160
>>780159

> за полтора года


Блядь, за два с половиной, конечно же.
#305 #780192
>>780159
http://jsfiddle.net/jtiscione/xj0x0qk3/
На моем FF47 чистый js быстрее на 10мс.

Кажется, на гитхабе pixi обсуждали есть ли смысл переносить операции на asm.js. Насколько я помню и правильно понял, асм работает как веб-воркеры, в том смысле, что имеют собственный контекст и во время перегона данных между ui-тредом и asm теряется производительность. В итоге получается хуже.
170 Кб, 700x908
#306 #780211
Поясните так чем скачивать пакеты, бовером или нпмом?
>>780227
#307 #780227
>>780211
ты что, лох? только cdn ссылки в index.html
>>780231>>780234
#308 #780231
>>780227
Ссылки на сидиэны хороши тем, что керишуются. Есть вероятность, что кто-то уже использовал эту библиотеку и твоя страничка загрузится быстрее.
#309 #780234
>>780227
Я думаю так же. Но смотрю на людей, и они держат файлы в сервере. Хотя в любом случае после первой закачки они закешируются и будет всё равно.
>>780236
#310 #780236
>>780234

>Я думаю так же.


Я думаю, что тот пост был сарказмом
>>780238
#311 #780238
>>780236
А я так думаю без сарказма. В чём минусы?
>>780242>>780243
#312 #780242
>>780238
Только если cdn ляжет или его заблокируют, всё зависнет.
>>780248
#313 #780243
>>780238
Ни в чем, там нет сарказма. Там делают все нормальные ребята.
Ещё лучше делать проверку на доступность пакета, и, если что, другой cdn юзать:
<script>window.jQuery || document.write('<script src="googleCdnUrl">\x3C/script>')</script>
>>780245
#314 #780245
>>780243

> Там


Так
ff
#315 #780248
>>780242
Вероятность того, что ляжет сдн сервер такая же как вероятность что ляжет твой.
>>780252>>780255
#316 #780252
>>780248
Получается, что если использовать cdn ссылки, шанс, что твой сайт работать не будет увеличивается в 2 раза
#317 #780255
>>780248
Ещё бывает ресурсы окукливают для интранет-онли или как у ростелекома, когда у тебя заканчиваются средства на счету, рубятся внешние ресурсы и "кабинет" перестаёт работать. Лал, всегда, когда хочу оплатить кредиткой через дешборд, напоминаю этим даунам, чтобы не резали доступ хотя бы к библиотекам, которые используют.
#318 #780358
>>778840
Первым же кликом попал в бомбу и проиграл. Плохо сделано.
#319 #780374
>>779833
Что там написано? Переведите.
#320 #780380
>>780374

>2016


>pr


>не знать английского


Иди языки учи, хули ты тут забыл вообще?
#321 #780383
>>780374
Если я правильно понял, там говорится о том, что написание документации идет в ущерб проекту
>>780422
#322 #780401
>>780374
Хотят, чтобы коммьюнити им в дырки что-то вставило.
#323 #780413
>>780374

> У нас и так 5 человек в реакте задействовано, какая ещё документация))

#324 #780415
>>780374

>Нас тут три с половиной инвалида, времени на написание полноценной документации нет, хотите - пишите сами.

#325 #780422
>>780383
Но дьявол в деталях.
Гитхаб, коллаборация, все дела, только как сказал абраша, цукербук может выдернуть штепсель, как гугол с первым ангуляром.
>>780426
#326 #780426
>>780422

> как гугол с первым ангуляром


Как же вы доебали, суки. Как будто гугел ещё в начале 14-го вторую версию не анонсил и не сетовал, что первому уже 5 лет, и он уже технологически подустарел
>>780428
#327 #780428
>>780426
Факт остаётся фактом.
>>780430
#328 #780430
>>780428
Как будто они у тебя его отобрали. Ты все обновления так воспринимаешь?
>>780436
162 Кб, 460x578
#329 #780435
А что если установить ссылки прямо на npm репозитории?
#330 #780436
>>780430
Это совсем другой фреймворк с тем же названием, а не обновление.
Пилю стартапчик. Из-за отсутствия обратной совместимости, мои многотысячноLOC скрипты устарели, так и не успев дойти до продакшена.
>>780444
#331 #780444
>>780436
Это ж веб, всё быстро меняется. Если бы они этого не сделали, ангулар бы помер, потому что не удовлетворяет современным требованиям, и не может соперничать даже с тем же реактом
Но они, кстати, постарались написать о миграции, где объясняют тонкости работы со вторым, если ты знаешь первый, что уже довольно неплохо
https://angular.io/docs/ts/latest/guide/upgrade.html
>>780452>>780458
#332 #780452
>>780444
Второй не взлетит. Гугол делает ставку на полимер. Не хочу ещё раз лохонуться.
>>780457
#333 #780457
>>780452
Гугол делает ставку на компонентность, это уже околостандарт
И компонентность есть что в ангуларе, что в полимере. Только в полимере компонентов куда меньше, не совсем понимаю зачем он вообще нужен и для кого делался
#334 #780458
>>780444

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


Проиграл.
В каком модно бложике это написано?
>>780465
#335 #780460
Куда делся метод toFixed();?
>>780464
29 Кб, 753x285
#336 #780464
>>780460
Он тут.
>>780468
#338 #780468
>>780464
Спасибо, понял.

var number = 1.123;
number.toFixed(2);
Такая конструкция не работает по какой-то причине. То ли переменную нельзя перезаписать, то ли после применения объектного метода на выходе получается то же число, что и на входе, потому что метод-то обектный и число представляется в виде поля объекта. Интересно.
>>780473>>780480
74 Кб, 891x614
#340 #780474
Хочу запилить дизайнерскую прожку на ангуляре, и выложить ее на гитхаб-пейджес. Подскажите, удастся ли обойтись без бэк-энда (PHP/MySQL), и реализовать с помощью localstorage структуру хранения данных (пикрилейтед).
>>780476
#341 #780476
>>780474
Удастся.
>>780479
#342 #780479
>>780476
Это понятно, что если перезаписать переменную, то резалт схоронится. Интересно другое, после применения к примитиву напрямую объектного метода сам примитив не изменяется. Значение можно лишь переприсвоить.
#343 #780480
>>780468

>Такая конструкция не работает по какой-то причине.


Примитивы немутабельные, наркоман.
>>780484
#344 #780484
>>780480
Буду знать, эспэсэ.
#345 #780511
Сколько еще ждать, чтобы понять, учить ли новый ангуляр или нет?
>>780516>>780517
#346 #780516
>>780511
Уже понятно, что не взлетел. Когда первый Ангулар был близок к релизу, его уже юзали везде. Сейчас второй почти вышел и никто, кроме гугла и двух хипстеров его не использует. Они умудрились проебать все преимущества первого. Хеллоуворлд, выводящий одну страницу с одним h1 заголовком "Hello world!" требует 25 файлов и тащит 170 мегабайт зависимостей. Неудивительно, что это говно оказалось невостребованно. Сейчас пишут либо на первом ангуларе, либо на реакте. Даже самые новые проекты начинают создавать на первом. Провал.
>>780525
#347 #780517
>>780511
Задай себе вопрос - зачем это делать? Кто будет использовать его?
Сами евангелисты говорят, что он займёт интерпрайз-нишу. Это где абстрактные фабрики фасолин. Где angular.min.js весит 500+Кб и всем норм.
8 Кб, 569x192
ОЛОЛО #348 #780521
Байтослесарь унижает JS-даунов.
http://stolyarov.info/books/asm_unix
#349 #780522
Начать с того, что...

в умелых руках JS

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

JS очень повышает юзабилити

Смешно, да. Ну давайте посмотрим, как реально обстоят дела с этой вашей юзабилити. Лично я обычно просто не хожу на сайты, которые не работают без JS, то есть вообще не хожу — точно так же, как не хожу, например, в такие магазины, где продавцы хамят и матерят покупателей. Но, увы, есть парочка сайтов (буквально: два), которые мне использовать приходится, несмотря на наличие там JS и невозможности работы без него. Так вот, чтобы зайти на такой сайт, мне приходится на рабочей машине держать специально для этого пустой аккаунт, на котором периодически сносится всё, что там успел нагвоздить браузер; перед заходом на JS-нутые сайты я делаю ssh -X bolvan@localhost и уже там запускаю браузер. Это вы называете "повышением юзабилити"?!

NB: у любого сколь бы то ни было технически грамотного человека JS в браузере должен быть выключен. Period. А дальше те, кто пользуются *nix-системами, хотя бы могут делать как я — гонять второй браузер из-под чистого и изолированного аккаунта, тогда как пользователи Win и прочей нечисти не имеют даже этой возможности. Но ублюдков-вебразработчиков, разумеется, это не волнует, потому что, видимо, они всерьёз не понимают, почему это всё так.

программы-сайты, например полноценные IDE

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

или музыкальные плееры

Я знаю только одно применение для браузерного плеера — сделать так, чтобы скачанная пользователем музыка при этом не сохранялась локально на компьютере пользователя. При этом неискушенные пользователи уверены, что они вообще ничего не скачали (реально, сам таких видел). Тех, кто это всё делает, следует подвергнуть смертной казни в особо продвинутой форме — например, путём утопления в бочке с дерьмом. Публичного.

код на JS полностью абстрагирован от реального железа и не зависит от среды выполнения

То же самое можно сказать про любой интерпретируемый язык, а равно и про язык, который компилируется в байткод. И это никоим образом не повод иметь в браузере интерпретатор любого алгоритмически полного языка, неважно, JS это или что-то ещё. Кстати, от среды выполнения JS очень даже зависит — если статический HTML ещё более-менее реально заставить выглядеть одинаково в разных браузерах, то заставить JS вести себя всегда одинаково — невозможно в принципе, это превышает возможности человека.
#349 #780522
Начать с того, что...

в умелых руках JS

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

JS очень повышает юзабилити

Смешно, да. Ну давайте посмотрим, как реально обстоят дела с этой вашей юзабилити. Лично я обычно просто не хожу на сайты, которые не работают без JS, то есть вообще не хожу — точно так же, как не хожу, например, в такие магазины, где продавцы хамят и матерят покупателей. Но, увы, есть парочка сайтов (буквально: два), которые мне использовать приходится, несмотря на наличие там JS и невозможности работы без него. Так вот, чтобы зайти на такой сайт, мне приходится на рабочей машине держать специально для этого пустой аккаунт, на котором периодически сносится всё, что там успел нагвоздить браузер; перед заходом на JS-нутые сайты я делаю ssh -X bolvan@localhost и уже там запускаю браузер. Это вы называете "повышением юзабилити"?!

NB: у любого сколь бы то ни было технически грамотного человека JS в браузере должен быть выключен. Period. А дальше те, кто пользуются *nix-системами, хотя бы могут делать как я — гонять второй браузер из-под чистого и изолированного аккаунта, тогда как пользователи Win и прочей нечисти не имеют даже этой возможности. Но ублюдков-вебразработчиков, разумеется, это не волнует, потому что, видимо, они всерьёз не понимают, почему это всё так.

программы-сайты, например полноценные IDE

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

или музыкальные плееры

Я знаю только одно применение для браузерного плеера — сделать так, чтобы скачанная пользователем музыка при этом не сохранялась локально на компьютере пользователя. При этом неискушенные пользователи уверены, что они вообще ничего не скачали (реально, сам таких видел). Тех, кто это всё делает, следует подвергнуть смертной казни в особо продвинутой форме — например, путём утопления в бочке с дерьмом. Публичного.

код на JS полностью абстрагирован от реального железа и не зависит от среды выполнения

То же самое можно сказать про любой интерпретируемый язык, а равно и про язык, который компилируется в байткод. И это никоим образом не повод иметь в браузере интерпретатор любого алгоритмически полного языка, неважно, JS это или что-то ещё. Кстати, от среды выполнения JS очень даже зависит — если статический HTML ещё более-менее реально заставить выглядеть одинаково в разных браузерах, то заставить JS вести себя всегда одинаково — невозможно в принципе, это превышает возможности человека.
>>780531
#350 #780525
>>780516

> Уже понятно, что не взлетел. Когда первый Ангулар был близок к релизу, его уже юзали везде.


Почему ты говоришь о том, в чем не разбираешься, хуила? Он популярность только в 2013 набрал
#351 #780528
>>780521
Поехавший какой-то.
#352 #780529
Есть один rest:
/posts/:post_id/comments

и один говнокод который должен тащить комменты текущего поста:
app.factory('Comment', ['$resource', function($resource) {
return $resource('/posts/:post_id/comments/:id.json', {post_id: '@post_id', id: '@id'});
}]);

почему-то '@post_id' не видит, хотя в модельке он точно есть, чяднт?
>>780530>>780814
#353 #780530
>>780529
алсо, это аngular
#354 #780531
>>780522

> Лично я обычно просто не хожу на сайты, которые не работают без JS, то есть вообще не хожу.


Проиграл с этого бунтаря. Типо назло мамке не буду ходить)))
#355 #780532
>>780521
Зачем ты этого поехавшего притащил?
#356 #780534
Парни, можно ли на js написать сервис который будет собирать инфу с определённых сайтов и выводить в качестве статистики, сравнения. Или для этого похапе нужен еще? И на чем вообще лучше реализовать подобное?
>>780551
#357 #780551
>>780534
NodeJS+MongoDB+cheerio
Для запущенных случаев NodeJS+PhantomJS
>>780567
#358 #780567
>>780551
Ты гуру технологий, что ли, лол?
>>780599
#359 #780598
Ха-ха-ха WebAssembly
33 Кб, 400x480
#360 #780599
>>780567

>mongodb


>гуру технологий

#361 #780605
>>780521
ЖЖ Лебедева уже нашёл?
#362 #780619
Суп, поясните за всякие реактжс, редукс, флакс и т.д.
#363 #780621
>>780619
Пояснил
>>780625
#364 #780623
>>780619
За щеку тебе пояснил. Формулируй вопросы нормально.
>>780626
#365 #780624
>>780619
норм штука, попробуй, сам захочешь.
#366 #780625
>>780621
Спс
#367 #780626
>>780623
Хули не понятно? Нахуй эти хуйни нужны, что сейчас используют?
>>780628
#368 #780628
>>780626
Погуглить не пробовал? Или доки почитать? Охуеть вообще, спроси еще зачем JS используют.
>>780629
#369 #780629
>>780628
зачем JS используют?
>>780640
#370 #780640
>>780629
Макакам нужно на что-то жить
>>780645
#371 #780645
>>780640
тоже хочу стать макакой, чо делать?
>>780659
#372 #780659
>>780645
Деградируй
>>780660
#373 #780660
>>780659
как?
>>780662
#374 #780662
>>780660
В принципе ты уже достаточно тупой, можешь становиться
>>780663
#375 #780663
>>780662
ты конкретней скажи, хули ты как даун
сидите тут как фуфелы с чсв овер 9к
>>780671
#376 #780671
>>780663
Ты даже для макаки слишком глупый
>>780676
#377 #780676
>>780671

>пок пок макака пок пок глупый


ты ничего кроме слов сказать не можешь
>>780679>>780694
#378 #780679
>>780676
Ты даже для макаки слишком глупый
#379 #780694
>>780676

>ничего кроме слов сказать не можешь


А что ещё нужно уметь говорить? Автомобили? Картины? Лампы?
#380 #780750
>>780619
Судорожные попытки высрать что-то удобоваримое. Через год будут переписывать на другие фреймворки, а через два пошлют нахуй js и будут из нормальных языков компилировать в webassembly.
>>781253
#381 #780756
Смешно как все носятся с этим вебассембли, но никто даже не удосужился почитать что конкретно он оптимизирует и насколько.
#382 #780807
Сап, программач. Я надеюсь ты уже достаточно ночной.
Я вот что хотел узнать - js плохой, ко-ко-ко, куча недостатков, все хейтят, это окей-окей, мы знаем. Мне любопытно, сколько людей тут сидящих (ну и разумеется пишущих на js) довольны языком, он вообще им вполне нравится и все такое, а не (он хуевый, но мейнстрим все на на нем приходится писать, нет альтернативы, это не интересует). Отпишитесь именно те, кто доволен языком, может быть кому он любим, и если не трудно, то сопроводите комментариями за что он вам нравится (какие его стороно\аспекты\етк), и можете еще отписать, какими языками владеете помимо него. Будьте добры.

Соу, просто любопытно, ибо хайп хейта настолько велик, что у меня за последние года полтора (а может и два) сложилось впечатление, что язык именно ненавидят все поголовно, а те кто работает с ним постоянно, работают только потому что ниша и нет выбора. Но я думаю (чисто по законам статистики) должны быть и иные.
Спасибо.
#383 #780812
>>780807
ES6 довольно терпим, мне норм.
вкатился с руби
>>780989
#384 #780814
>>780529
Бамп вопросу. Почаны юзают $scope.forum = Forum.get({id: $routeParams.id}) но у меня routeParams пустой почему-то, шаманство с ng-view не помогает.
#385 #780821
>>780807
Так его хейтят именно за очень высокую популярность. Все вещи, достаточно популярные, чтобы быть у всех на слуху, люди начинают ненавидеть просто потому что
>>780830>>780989
#386 #780827
кто-нибудь проходил freecodecamp по js? Что скажете? Очередное говно?
#387 #780830
>>780821
Ну, я не соглашусь.
Я во фронтеде слишком давно и как следствие крутился в кругах html\css\js постоянно (для меня он собственно и популярным то стал незаметно, ибо я как мониторил развитие, так и мониторю). И его впринципе всегда не любили большинство, просто этого большинства тогда было меньше и причины были часто иными (еще не было джита, еще были ранние спеки, огромные проблемы с кроссбраузерным апи и вот это все, находили за что и точно так же большинство) я не помню., чтобы были времена когда большинство его любило. Это как с музыкой, или с какими-то убеждениями еще. В людях (в большинстве) есть такая сущность, что если они ни за что-то, то скорее всего против этого. (кардинально различные музыкальные жанры, политические взгляды, религиозные, социальные, рассы, феминизм, ориентация, вот это все). Большинство из большинства, разумеется ведомы стадным инстинктом. У иных, вполне объективные причины для недолюбливания (я правда не могу судить о их причинах для отровенного хейта, как и хейта чего угодно иного, ибо мне если что и не по душе, то я просто к этому равнодушен и не питаю никаких эмоций, и уж тем более не трачу их на какие-то там осуждения, если мне что-то не нужно, то мне это не нужно. у многих иначе, ну пусть, их дело, я опять же никого не сужу).
В сущности то, мне любопытно сколько, хотя бы на фоне треда, людей к языку относятся именно что позитивно (а не отрицательно или равнодушно от безвыходности). Вот.
>>780835>>780838
#388 #780834
>>780807

>Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.

>>780989
#389 #780835
>>780830
Нет никакой безысходности, кому не нравится жс, используют всякие тайпскрипты, но их меньшинство
Делай выводы
>>780989
#390 #780838
>>780830
У современного ES6, снабженного приличным линтером, который не дает отстрелить себе ногу, крайне мало объективных причин для откровенного хейта. Может быть работа typeof и пара других мелочей.
>>780846>>780989
#391 #780846
>>780838
[] + []
{} + {}
{} + []
[] + {}
>>780854
#392 #780848
>>780807
Всё так. Даунский язык для унтерменшей. Но на него легче всего найти работу.
Ну и замыкания хорошо сделали.
>>780850>>780989
#393 #780850
>>780848
Аргументы?
>>780856
#394 #780854
>>780846
И что? Часто ты конкатенируешь объекты? Да, забавные преобразования типов, но на работе вообще никак не сказывается.
>>780857
#395 #780856
>>780850
Отсутствие контроля над памятью во всех аспектах.
>>780981
#396 #780857
>>780854
Основная проблема, что в примерах

>{} + {}


>{} + []


первый аргумент нихуя не объект, что путает
>>780860
#397 #780860
>>780857
Единственный случай, где это важно — возврат объекта из стрелочной функции — легко ловится линтером. Поэтом я про него упомянул.
>>780863
#398 #780863
>>780860
Из лямбды?
>>780865
#399 #780865
>>780863
const sraka = (yoba) => {yoba}

ты ожидал что sraka(peka) вернёт тебе обьект {yoba: peka}, но соснул, потому что парсер воспринял скобки как блок, и следовательно, нужно:
const sraka = (yoba) => {return {yoba}}
>>780867>>780868
#400 #780867
>>780865

> sraka(peka)... {yoba: peka}


sraka('peka')... {yoba: 'peka'}
кончено-же
самофикс
#401 #780868
>>780865
Нужно const sraka = yoba => ({yoba})
>>780871>>780872
#402 #780871
>>780868
ну да, или так. я чот думал, что если юзаешь скобки, то return нужно.

да и мне не нравится, када параметр в скобки не берут. чисто мой аутизм.
>>780875
#403 #780872
>>780868
Нужно function sraka(yoba){
return {yoba}
}
>>780873>>781258
#404 #780873
>>780872
тогда уже
function sraka(yoba){
return {yoba: yoba}
}
>>780874>>781258
#405 #780874
>>780873
Да, ты прав
#406 #780875
>>780871

>я чот думал, что если юзаешь скобки, то return нужно


Не. Более того, eslint будет ругаться, если там стоит соответствующее правило и ты так сделаешь.
47 Кб, 540x960
#407 #780898
как жить? думал что в скобках, в последнем, сначала синкрементит, а потом уже сравнит, но нихуя.
>>780900>>780915
#408 #780900
>>780898
Очевидно, что нужно инкрементить вот так:
++а. В твоем случае сначала происходит процесс сравнения, а потом уже манипуляции над значением переменной.
>>781045
#409 #780915
>>780898
Пойми разницу между постфиксным и префиксным инкрементами.
>>780921>>781045
#410 #780921
>>780915
Я ему уже ответил ведь, зачем дублируешь ответ?
>>780931
#411 #780931
>>780921
Вдруг и мне звёздочек перепадёт.
41 Кб, 640x480
#412 #780937
>>780807
JS - хорош, особенно посыпанный ES6. Промисы и стрелки как завезли, так две большие проблемы закрыли сразу:
1. хуй знает какой контекст в функции (хотя на самом деле, те кто прогали на JS больше пары дней всегда знали где и какой контекст, но тем не менее)
2. Калбек хелл трансформировался в красивые цепочки промисов
Мне нравится JS - потому что он как конструктор, набрал модулей тяп-ляп и в прод (шучу конечно, но в npm действительно есть почти все что нужно), мне нравится js за асинхронность, мне нравится js потому что он и на ноде и на клиенте, нравится js потому что много хайпа, как следствие много различного материала, хотя много шлака, много и годноты, мне нравится js за его покрытие: и клиент, и сервер, хоть десктопное приложение, хоть мобильное, и все это буквально в два клика. Конечно, и на плюсах можно писать что угодно, вот только крыша съедет, как сядешь какое-нибудь рест апи простое писать на них, добра.
p.s. Другие ЯП не хейчу, люблю питон
>>780989
#413 #780981
>>780856
Кто выпустил байтослесаря из-под шконки?
#414 #780989
>>780812
>>780821
>>780834
>>780835
>>780838
>>780848
>>780937

Спасибо, за ваши ответы.
Берегите себя.
#415 #780990
>>780807
Мне жс нравится. Хейтеров не так много, но они больше других воняют.
>>780996
#416 #780996
>>780990
А можешь сравнить с другим "современным языком"? Ты же программировал на чем то кроме жс?
>>781009
#417 #781009
>>780996
Пишу ещё на жаве, скале и питоне, немного знаю Си и Го. Что ты подразумеваешь под "современным языком"?
>>781017>>781020
#418 #781017
>>781009
Жабка и C отпадает сразу.
Скала достаточно современный язык, а сколько у тебя в ней опыта проф. разработки?
#419 #781020
>>781009
Ну и чем соответственно js лучше scalsjs?
19 Кб, 489x375
#420 #781024
Нужна регулярка.

Регулярка должна найти все слова, которые начинаются с "хуй". Долго думал как бы это сделать, пришел к пикрелейтеду, но как видите если после слова нету пробела окончание строки, например, то регулярка не работает. Как правильно сделать?
#421 #781028
>>781024
хуй.?(\w|$)*, например?
>>781033
#422 #781029
>>781024
\s*? вместо пробела
>>781032>>781044
#423 #781032
>>781029
С последней (или единственной) строкой не сработает жи.
>>781044
17 Кб, 444x390
#424 #781033
>>781035
#425 #781035
>>781033
Звёздочку оставь где и была у тебя, это меня вакаба подставила, я курсив хотел для регэкспа, забыв, что уже в нём она есть.
>>781037
17 Кб, 446x381
#426 #781037
>>781035
Как именно?
>>781044
#427 #781044
>>781037
А вообще, я проебался, \w с \s перепутал, >>781029 прав. Я ещё и звёздочку не увидел, так что пост >>781032 забираю назад.

Оно, однако, только "хуй" выделит, из-за звёздочки в конце. А без неё нужно (\s|$) делать, чтобы с одной/последней строкой работало
>>781049
#428 #781045
>>780900
>>780915
блять, и помнил же когда-то
10 Кб, 805x21
#429 #781046
Макак, рейперов набрал на работу.
>>781052
#430 #781047
>>781024
регехрцом/3dmth
#431 #781049
>>781044
Спасибо, работает.
#432 #781052
>>781046
Што за рейперы? Рэйпист правильно говорить ведь.
201 Кб, 1455x757
#433 #781133
Блядь, я уже полтора часа охуеваю.
По какой причине на пикрелейтеде не может быть показан текст. В стилях color: black.
>>781138
#434 #781138
>>781133
1) Это не верстка тред
2) Может какой - то блок с position absolute/relative загораживает текст?
>>781144
#435 #781144
>>781138
В вёрстка треде могут и скорее всего не знают особенности работы с svg/d3.
.tooltip имеет position:absolute и z-index: 999 так что его никто не может перекрыть.
68 Кб, 1067x425
#436 #781147
Вот я всех соседей по бокам удалил. И всё равно ничего не показывается.
Это очевидно какой-то бажок. Никто не сталкивался?
>>781182
#437 #781164
Аноны, дайте совет\свои размышления.
Выбираю сейчас фреймворк какой-нибудь типа Ember. От angular на работе уже начинает тошнить, react тормозящая наркомания с плохим дизайном.
Неужели спустя 4 года лучше Ember, Backbone, Angular люди ничего не реализовали?
#438 #781166
>>781164
Vue попробуй навернуть. Или полимер.

>react тормозящая наркомания с плохим дизайном


Лил. Тормозящая по сравнению с?
>>781173
#439 #781167
>>781164
Тебе не кажется, что проблема в тебе?
Сам пишу на ангуларе и реакте, мне очень заебись
>>781172
#441 #781172
>>781167
Тебе заебись - это не аргумент. Тиньковцам тоже заебись, да что заебись, им просто охуенно, только пользователи рыдают и уходят
https://habrahabr.ru/company/tcsbank/blog/303580/
>>781174
#442 #781173
>>781166
Да с тем же ангуларом. Тестировал на мобилках одинаковую логику. Виртуальный дом, особенно вставка новых элементов, ппц как тормозила. Хз, может это уже изменилось, ибо около года назад пробовал.
>>781166
>>781171
Спасибо за идею, погляжу.
#443 #781174
>>781172
Куда уходят, о чем ты?
#444 #781182
>>781147
Понял, что было не так.
Если кому интересно, то класс .tooltip уже был занят какой-то библиотекой или даже браузером. Я правда не понял какие свойства применялись к .tooltip, что он не был виден, потому что в computed styles: visibility был visible, display: block, а opacity: 1.
6 Кб, 200x169
#445 #781187
>>781164
Но ведь react не фреймворк
>>781189>>781261
#446 #781189
10 Кб, 252x256
#447 #781253
>>780750

>Через год будут переписывать на другие фреймворки, а через два пошлют нахуй js и будут из нормальных языков компилировать в webassembly ВОТ СЕЙЧАС УЖЕ НАЧНУТ БАЗАРЮ ЕЩЁ ЧУЧУТЬ ТОЛЬКО НУЖНО ПОТЕРПЕТЬ


Эх, сколько лет я уже это слышу.
#448 #781258
>>780873
>>780872
Любители self и _this, вы?
#449 #781261
>>781187
Послушай что умный человек говорит
https://www.youtube.com/watch?v=KTVv9e3NNxM
>>781263
#450 #781263
>>781261

>Пизда поясняет за реакт


Проиграл инстантом.
#451 #781272
Бля, у меня JavaScript Fatigue
Нахуй так жить?
#452 #781284
Анон, помоги договнякать фильтр для телефона!
Немного допилил фиддл какого-то типа, хочу чтобы ещё можно было сразу без +7 вводить, в нынешнем варианте первая цифра затирается.
http://jsfiddle.net/s0xpkgmq/365/
>>781292>>781295
116 Кб, 650x450
#453 #781292
>>781284
Вообще-то есть type="tel"
#454 #781295
>>781284

>в нынешнем варианте первая цифра затирается



var code = (number[0] == '7' || number[0] == '8') ? '+7 ' : '+7 ' + number[0];
>>781305
#455 #781305
>>781295
Спасибо, бро!
903 Кб, 1024x600
#456 #781317
Устанавливал phonegap. Поставил npm и ноду. Гугление не помогло. Только понял, это баги. В чем может быть проблема?
106 Кб, 1918x1057
163 Кб, 1918x1057
#457 #781320
>>781317
Версия npm какая? У меня всё установилось без проблем.
Пробуй nvm использовать, если старая нода в системе.

Кстати, аноны, на ангулар 2(https://angular.io/) уже можно пробовать перекатываться? В теории, скоро это уже будет актуально, не?
>>781330
#458 #781326
>>781317
У тебя не может быть проблемем с разршенеим на установку в папку /usr?
>>781364
#459 #781330
>>781320
>>781317
Вам обоям нужно ноду обновить. В 3.10.х пофиксили кучу багов. Сделайте
npm i npm -g
>>781364
#460 #781364
>>781326
>>781330
Я изначально думал, что проблемы с правами на установку, в дебилиане это вечная проблема.
Поэтому не долго думая, последовал советам вас обоих. Но ничего не изменилось. Потом я еще чуть-чуть погуглил, решил не сдаваться.
Нагуглил эти команды в описании своей проблемы и применил их:
npm config set prefix ~/npm
export PATH="$PATH:$HOME/npm/bin"

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

Не знаю, что именно помогло, может нагугленные команды прописания пути, а может все в совокупности. Кстати, после обновления npm консольная графика загрузчика чуть-чуть изменилась, не знаю, почему, я ведь только час назад поставил npm впервые.
#461 #781411
жсач, https://developer.mozilla.org/ru/docs/Web/API/Window/outerWidth натолкните на идейку как полифил сделать ? Что то не нагуглил придется кажись ручками писать.
>>781416
#462 #781416
>>781411
Полифилл для чего? Для значения, которое либо предоставляет браузер, либо нет? Да ещё и поддерживаемого почти всеми?
#463 #781424
8 осел не поддерживает, ну не предосталяет и хуй бы с ним сам возьму, например document.body.offsetWidth + ширина скроллбара, надо только нагуглить где ее взять
>>781436
#464 #781436
>>781424
http://stackoverflow.com/questions/986937/how-can-i-get-the-browsers-scrollbar-sizes
нашел, охуенно исхитрился кстати, я ради такого и пошел в программисты
#465 #781445
Жаваскриптаны, нужна помощь. Вот дрочу я свой первый фреймворк, Реакт.
Добрался до раутов, возник вопрос.
Вот допустим у меня есть дефолтный раут с компонентом Layout представляющим из себя менюшку,я хочу чтоб всей логикой заведовал он, соответственно у него есть стейт и функции-хендлеры, которые он передает ниже. Но так как эти НИЖЕ - динамически меняющийся компонент и мы пишем его в рендере как {this.props.children}, я хуй знает как красиво передать компонентам-детям эти пропсы. В гугле советуют враппер написать и передавать его в компонент раута, но там речь, похоже, о простых пропсах а не берущихся от внешнего компонента и вообще костыльно как-то. Что делать?
>>781451>>781499
#466 #781451
>>781445

> чтоб всей логикой заведовал он


bad idea ты по мере надобности создавай контейнеры с логикой, а так как ты делаешь можно и в 1 жс файл все писать
>>781459
#467 #781459
>>781451
Ну ладно, не всей, я неправильно выразился. Просто смотри, пишу я тудушку, добрался до раутинга, накидал root менюшку, плейсхолдером about раут в добавок к самой тудушке, и захочет чтоб в менюшке напротив ToDo кнопки у меня счетчик активных тудушек висел, а значит вроде как и стейт с массивом тудушек и методы-хендлеры должны быть у этого компонента. Как-то это же должно быть решаемо. Может флаксы-редаксы, но я пока не хочу ими обмазываться, хочу последовательно учиться.
>>781462
#468 #781462
>>781459

захотелось чтоб в менюшке...

#469 #781499
>>781445
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8&client=ubuntu#newwindow=1&q=react+router+this+props+children+props

а тебя не смутила первая же ссылка в поисковой выдаче по запросу react router this props children props

и пример находящийся в их репозитории по пути react-router/examples/passing-props-to-children/
>>781531
#470 #781531
>>781499
В этом примере пассуется всё независимо от класса компонента, что нежелательно.
>>781877
#471 #781846
Возможно ли как-то посмотреть запросы отправляемые phantomjs в таком виде как в аддоне для браузера live http headers?
Ну или можно как-то настроитьключи в вайршарк чтоб он показывал https не как кашу?
>>781874
#472 #781870
Как обфусцировать серверную часть приложения? Чтоб прям все файлы во всех папках в один app.js
>>781875>>781900
#473 #781874
>>781846
Подними какой-нибудь прокси-сервер для отладки, вроде Fiddler
#474 #781875
>>781870

> в один обфусцированный app.js


ff
#475 #781877
>>781531
то есть ты утверждаешь, что невозможно создать helperFunc которая получает компонент, который сейчас будет рендерится и решает что передавать в пропсах ?
>>781903
#476 #781900
>>781870
Нахуй тебе серверную часть обфусцировать? Ты ебанутый?
>>781905
#477 #781903
>>781877
Я утверждал скорее, что меня интересует корректное/общепринятое решение. Вроде нашел где хранится тип ребенка (this.props.children.type.displayName), буду пилить.
#478 #781905
>>781900
Не доверяю хостингу, очевидно же
>>781906>>781910
#479 #781906
>>781905
Подними серв на своей машине, или отдай на коллок, очевидно же. А не хуйней страдай.
>>781912
#480 #781910
>>781905
Опеншифт используй или vds в хетцнере купи. А не русские васянопомойки используй.
>>781912
#481 #781912
>>781906

> Подними серв на своей машине


Сейчас так, но серв уже не справляется

> отдай на коллок


Что?

> А не хуйней страдай.


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

>>781910

> Опеншифт используй или vds в хетцнере купи


Всё равно это далеко не 100% защита, хетзнер вон вломали недавно. Лучше перестраховаться, чем потом конкурировать с ребятами на твоем же движке
>>781935
#482 #781935
>>781912
А если твой комп взломают и уведут исходники?
Мне кажется ты недостаточно думаешь о безопасности.
Советую разрабатывать только в офлайне, а если надо глянуть что-то в гугле, то перед выходом онлайн переписуй на флешку исходники, а на помне делай erase с перезаписью каждого файла миниму 50 раз.
>>782018
#483 #782018
>>781935
Зачем ты сразу в крайности? Ты школьник?
Это обычная практика в других языках, погугли. В жабе/пыхе в нормальных компаниях исходники прячут, в ноде есть node-obfuscator, но он какой-то кривоватый
>>782028>>782033
1881 Кб, 325x244
#484 #782028
>>782018

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


Они оче просто вскрываются.
Ты параноик.
>>782033>>782034
#485 #782033
>>782018
А зачем исходники жабы на чужом сервере хранить?

>>782028
По-моему, это всё тот же, что хотел на клиенте алгоритм обфусцировать. Посоветовали логику на сервер перенести, но оказалось, что и там есть, от кого обфусцировать...
>>782044
#486 #782034
>>782028

> Они оче просто вскрываются.


Можешь не продолжать. Вот зачем что-то писать о том, в чем не шаришь?
>>782036>>782037
#487 #782036
>>782034
Блядь ты на полном серьезе или тралливалишь так толсто?
#488 #782037
>>782034
Я тоже когда-то был таким же ебланом, пёкся о своём говнокоде, шифровал зенд гардом, но потом нашёл "резидента", который перехватывал код после расшифровки. Миша, всё хуйня!
#489 #782044
>>782033

> А зачем исходники жабы на чужом сервере хранить?


Я на жабе сам не пишу, но часто вижу для неё всякие обфускаторы. На пыхе есть ion, вкупе с обфускатором до исходников добраться невозможно.

> По-моему, это всё тот же, что хотел на клиенте алгоритм обфусцировать. Посоветовали логику на сервер перенести, но оказалось, что и там есть, от кого обфусцировать...


Не, я тоже его хуесосил. Клиентскую логику бессмысленно защищать, а серверную есть смысл. Моя основная цель усложнить модификацию движка тем, кто его может каких-либо образом получить.
>>782781
sage #490 #782144
>>777728 (OP)
обоссал закуток динамопарашников
#491 #782364
ребятки поясните про анонимные самовызывающиеся функции. вот перехожу к методам обектов но чувтсвую что нужно расставить все точки над і, что бы не путатся в самом елементарном.
>>782626
#492 #782368
чувствую*
#493 #782437
Ребята, начал изучать язык, делаю для практики олимпиадные задачки. Поясните почему цикл for не выполняется? в режиме отладки видно что браузер просто пропускает его и переходит сразу в конец. Уже час сижу туплю, непонимая в чем дело.

https://jsfiddle.net/ra9kgqb2/#&togetherjs=Akqoi4m5E2
#494 #782445
>>782437

> for (var i = 4; numbers = 0; i++)


Лiл.
#495 #782459
>>782437
Иди лучше кирпичи складывай, серьезно. Хоть полезное дело будешь делать. Что ты хуйней маешься?
>>782470
#496 #782470
>>782459
Спасибо за помощь, уёбок
#497 #782626
>>782364
Пояснил
#498 #782628
>>782437
Ты точно понимаешь как for работает?
#499 #782646
>>782437

>for (var i = 4; numbers = 0; i++)


В этой строчке, цикл сразу заканчивает свою работу не успев начаться, потому что тестовое выражение равно нулю или фолсу.

>; numbers = 0;


Это тестовое выражение.
Фор луп выполняется пока тестовое выражение не будет равняться фолс.
#500 #782651
>>782437
for (var i = 4, numbers = 0; true; i++)
#501 #782742
http://plnkr.co/edit/evj2JPE4oP3pQWAhRc88?p=preview

Здаров скриптаны, выполняил задание Кантора по учебнику его, даётся html и css который менять нельзя, а самому нужно написать на JS компонент.

Короче скажите, как можно это переписать мне без сетаймаут.

По-поводу почему я не использовал сетинтервал:

Для setTimeout – внутренняя ссылка исчезнет после исполнения функции.
Для setInterval – ссылка исчезнет при очистке таймера.
Так как функция также тянет за собой всё замыкание, то ставшие неактуальными, но не отменённые setInterval могут приводить к излишним тратам памяти.
#502 #782781
>>782044
Так и пиши не на хипстерском говнище тогда, а на статическом языке на сервере и все проблемы решаться. Тема обфускации js кода тысячу раз на cyberforum например поднималась.

Алзо, есть какие-нибудь js шаблонизаторы с наследованием шаблонов как это например в jinja2 сделано?
http://jinja.pocoo.org/docs/dev/templates/#template-inheritance
>>783038
#503 #782810
Ребят, помню давно читал отрывок из какой-то книги по JS, там очень подробно описывался алгоритм конвертации типов данных, вроде "если foo - строка, а bar - число, то при использовании оператора X получим тип данных Y". Обгуглился уже, ничего найти не могу, может помнит кто?
>>782819
#505 #782823
>>782819
Ого, это ещё круче, спасибо.
>>782830
#506 #782830
>>782823
Тут есть на русском, если вдруг что.
http://es5.javascript.ru/#x9-toc
#507 #782879
Пацаны, спалите годноты мне:

есть какие хипсторские и не очень хипсторские бложики по реакт-редакс? или авторы на https://medium.com?
>>782886
359 Кб, 972x972
#508 #782886
>>782879

>реакт-редакс


Это же библиотека на 10 методов. Какие бложики?
>>782897
#509 #782897
>>782886
да хз, оптимизации, трикс, веяния, бест практиз
#511 #783038
>>782781

> Алзо, есть какие-нибудь js шаблонизаторы с наследованием шаблонов как это например в jinja2 сделано?


Jade жи сейчас это pug
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 19 июля 2016 года.

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

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