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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
10 Кб, 1052x1052
40 Кб, 300x281
JavaScript #34 #685345 В конец треда | Веб
Ссылка на прошлый тред: >>677826 (OP)

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

Вики:
https://github.com/xxxwww/js-thread/wiki

Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/wiki/FAQ

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

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsbin.com/ для браузерного кода и https://ideone.com/ для серверного кода.
#3 #685369
Оперативненько. Да и шапка поменьше стала может теперь догадаются по ссылкам перейти и сначала все прочитать, а потом писать
#4 #685466
Как подружить koajs и typescript?
#5 #685503
ОП, добавь свежие изменения из шапки - https://docs.google.com/document/d/1x7fY7CIy9o6lrkYA1Y5iQuJWLJdEbtK7z3TjIZBskkg/edit?usp=sharing
Конкретно, вопрос про jQuery из фака был расширен и углублен.
>>685614
#6 #685518
Как предлагать изменения в шапку? Нужно делать форк?
#7 #685543
Форкнул вики. Нужно продумать как сделать в удобном виде, так как то, что сейчас - сырое донельзя. Пул реквесты делать нельзя, а значит все профиты от переезда на гитхаб теряются. Я изменю форму шапки к следующему треду.
>>685614
#8 #685575
Анон, чёто я вобще в непонятках. Пишу мелкое расширение для хрома, которое добавляет ссылку в таблику к каждой строчке в таблице. Нажимаешь на эту ссылку, происходит аякс запрос, а после страничку надо обновить. Использую так:
$.ajax({
"url": url,
"type": "POST",
"contentType": false,
"processData": false,
"data": data,
"success": function(e) {
refreshPage();
},
});

function refreshPage() {
if ($('.pagination-wrapper').length > 0) {
$('.pagination-wrapper .active a').trigger('click');
} else {
$('.search-form form input.btn').trigger('click');
}
}

И какого-то хрена триггер не пашет($('.pagination-wrapper .active a').trigger('click');). При дебаге $('.pagination-wrapper .active a') элемент есть на момент вызова, если просто вбить эту строку в watch - страничка обновляется. Что за беда может быть?
#9 #685577
>>685575
хуево вставило. Вот полный код
http://pastebin.com/mBENkd0s
#10 #685586
>>685575
Тащемта ты описал только одну ситуацию, которую надо дебажить, а у тебя их там вагон:
1) ушел ли яакс?
2) вернулся ли ответ?
3) сработал ли success?
4) сработал ли refreshPage?
5) в какую ветку зашел if?
>>685601
110 Кб, 1333x628
#11 #685601
>>685586
Функция refreshPage срабатывает, т.е. аякс отправляется и success выполняется. If заходит в первую ветку и вызывается
$('.pagination-wrapper .active a').trigger('click');
Но триггер не срабатывает. Вот скрин для ясности
>>685610
#12 #685610
>>685601
Значит селектор не отрабатывает.
>>685623
#13 #685614
>>685503
Обновил

>>685543
Теперь вся вики в репозитории, помогайте дополнятьисправлять
https://github.com/xxxwww/js-thread
>>685639
#14 #685623
>>685610
Как он может не отрабатывать, если на момент вывова нужной строки данный селектор прекрасно возвращает обьект с length == 1?
>>685731
#15 #685628
>>685575
Вобщем я хуй знает, чего оно через триггер не запахало, но после замены
$('.pagination-wrapper .active a').trigger('click');
на
$('.pagination-wrapper .active a')[0].click();
всё пашет.
#16 #685639
>>685614
Спасибо. Есть несколько изменений в шапку, сделаю пулл реквест чуть позже.
#17 #685694
Пишу на жс год, модули импортирую в window. В чем суть амд? Зачем оно надо?
>>685695
#18 #685695
>>685694
Алзо, начал подумывать о переходе на ес6, есть ссылка на сборних всех новых фич? Желательно на русском, я же тупой.
#19 #685698
>>685695
В шапке раньше была.
#20 #685699
Кто-то использовал реакт вместе с ембером?
>>685712
#22 #685711
>>685710

> В шапке


В факе
#23 #685712
>>685699
зойчем?
>>685719
#24 #685719
>>685712
Мне по нраву классические модели и вьюха реакта.
#25 #685731
>>685623
Делай просто .click().
#26 #685736
>>685345 (OP)
Добавь в бесплатные хостинги modulus.io - первый месяц дает бесплатно, а деплой там вообще без гемора.
>>685750>>685814
97 Кб, 1106x680
#27 #685750
>>685736
Добавил. Можешь сам делать изменения прямо на сайте гитхаба
>>688386
#28 #685764
Почаны, суть такова: есть приложение, в котором есть возможность залить файл на сервер (нода), который будет храниться в gridfs на монге. Далее, если этот файл - изображение, надо сделать тамбнейл и как-то его отдать. Я уже умею загружать всё в гридфс, но совершенно не понимаю, как сделать тамбнейл из этого. Даже не знаю с какой стороны подойти. Хелп ми плиз
>>685766
#30 #685772
>>685766
Там же из файла берется, а не из гридфс
#31 #685813

>убрали шапку



>>685695

>вопрос из первых абзацев шапки


>>685575

>простыня кода в тред



Нахуя вы это сделали, а? Нормально всё было, нет, нужно всё переделать.
>>685957
#32 #685814
>>685736

>первый месяц


Хуйня. Таких хостингов с "первым месяцем" я десяток назову. Если написано БЕСПЛАТНЫЕ - значит должны быть полностью бесплатные, а не с короткой демо версией.
#33 #685828
Поправил шапку и отправил pull request. В инструментах добавил CMS, средства автодеплоя для CI систем, движки имиджборд, проставил нормальные ссылки на все указанные инструменты, добавил отдельные ссылки на русскоязычные сайты где есть и убрал платный хостинг из раздела бесплатных. Исправил ошибку в названии. В FAQ добавил конкретики и уточнил некоторые вопросы с точки зрения новичка. В учебных материалах добавил несколько новых, уточнил описание.
Прошлый ОП
>>685961
#34 #685868
Слышал что майкрософт якобы сказали, что на 10 винде все будущие приложения будут на js, правда?
>>685874
#35 #685874
>>685868
зачем им это, если у них есть шарпы?
250 Кб, 1340x1314
#36 #685920
Зачем использовать amd, requireJS и прочее если можно писать как на прикрилейтед, и все файлы склеивать в один во время сборки?
>>685958>>686115
#37 #685957
>>685813
Прошлая шапка была громоздкая, могла многих банально отпугивать, и читать её было неудобно. На гитхабе и читать удобно, и дополнять может каждый.
#38 #685958
>>685920
Вебпак, кажется, так и делает, нет?
#39 #685961
>>685828
Мне кажется, что прямые ссылки на инструменты - это не очень удобно. Я, например, постоянно смотрю на коммьюнити и гайды для инструмента перед тем, как использовать его. То есть, всё равно потом приходится гуглить
>>686132
111 Кб, 720x720
#40 #686050
Ебучие генераторы в js. Зачем они нужны? Какой то костыль без задач и сложный сука. Это ведь из серьезных яп пришло, да?
Анон, поясни мне за применение этих елдов, я тупой пиздец.
>>686139
#41 #686115
>>685920
Какой смысл в этой хуйне если в ES2015 завезли модули полноценные уже, без всяких амд-реквайр-систем костылей и ебли с засраным глобальным объектом.
>>686120
#42 #686120
#43 #686132
>>685961
Если кому то нужно сообщество - он идет и гуглит. А кликая по ссылке с названием продукта ожидаешь попасть на сайт этого продукта, а не в гугл. К тому же, не все из указанных в гугле на первом месте, некоторые нужно ещё искать в выдаче. Да и не во всех продуктах важно комьюнити.
#44 #686139
>>686050
Генераторы нужны для удобного создания "условий итерации" к итерируемому объекту. Итерируемый объект это тот объект, который можно на изичаз обойти в цикле. Но в целом, лучше использовать Map-ы какие-нибудь.
Вот пример. Можешь попробовать закомментировать код функции-генератора и посмотреть на результат.
https://jsfiddle.net/9yty26k3/
>>686162
#45 #686162
>>686139
Пиздосики. Это выходит только на сервер сайде используется?
>>686218
#46 #686218
>>686162
Ноуп, можно использовать всюду, но я не использовал ещё. в этом не было необходимости
#47 #686252
Пишу проект на лайвскрипте, какие подводные?
>>686261
#48 #686261
>>686252
Это переделанный coffeescript штоле?
>>686269
#49 #686269
>>686261
Не знаю. Но кофе руби-подобный, а лайвскрипт пайтон-подобный и живой, хехе.
Пока всё нравится, он охуенный. Производительность раза в 3 выросла
>>686285>>686465
#50 #686285
>>686269
Они видать решили сделать максимум не так, как в жс.
Скобок нет, стрелки не те, :=, yes/no, даже в интерполяции строк единственный символ заменили на другой. Как то непривычно наверное я утенок
В чем пишешь, чем собираешь?
>>686323
#51 #686323
>>686285

> Как то непривычно


Но очень, очень удобно

> В чем пишешь, чем собираешь?


ST3, webpack
#52 #686465
>>686269
Лайвскрипт ответвление коффее. И, к тому же, уже мертвое.
>>686631
#53 #686631
>>686465
Почему мертвое?
>>686680
#54 #686680
>>686631
Сейчас кофее на новый проектах мало кто использует, все в пользу ЕС6. Про лайв уже молчу. Про него так вообще никто не слышал.
>>686714
#55 #686714
>>686680
Но ЕS6 с ними даже в сравнение не идет по объему кода. Неужели нет ничего, что юзают сейчас в продакшене?
inb4 typescript
>>686718
#56 #686718
>>686714

>typescript


Таки да
>>686719
#57 #686719
>>686718
Но это тот же ES6, только с типизацией. Код не сокращает так, как делает это лайвскрипт
>>686724
#58 #686724
>>686719
А в коде важна не краткость, а читаемость. Посмотри на скалу - код очень краток, но не понятно нихуя. А вот тайпскрипт позволяет писать отличный читаемый код, плюс отлавливает часть ошибок на этапе компиляции.
>>686735>>686737
90 Кб, 555x905
#59 #686735
>>686724
Так тот же лайвскрипт куда читаемее, чем нативный жс, пикрел
Для меня было бы идеален лайвскрипт с типизацией, может сейчас как-то получится подружить с тайпскриптом
#60 #686737
>>686724

>тайпскрипт


>отличный читаемый код


doesn't compute
#61 #686779
>>686735
И чем забор из стрелок читаемее забора из скобок? По моему одна хуйня.
>>686792
#62 #686792
>>686779
Ты серьезно не видишь разницу между

(function(){
return console.log(test);
});

и

->
console.log test

?
#63 #686796
>>686792
Символов меньше. Читаемость ровно такая же.
>>686799
#64 #686798
Есть какие-нибудь анонские проектики, на которых можно поточить скилл?
#65 #686799
>>686796
По-твоему код сверху и снизу тут >>686735 одинаково читаем? Поехавший?
>>686804
#66 #686804
>>686799
код снизу менее читаем разве что
#67 #686809
>>686792
Мне первая часть нравится больше - все эксплицитно.
#68 #686818
>>686792
Манька, ты в курсе, что стрелочные функции есть и в жсе?
А вот отсутствие скобок намного ухудшает читабельность.
>>686841
#69 #686841
>>686818

> ты в курсе, что стрелочные функции есть и в жсе?


Ну сделай мне аналогичный вызов функции со стрелочками на es6

> А вот отсутствие скобок намного ухудшает читабельность.


Для меня нет. Я пистонист, и у меня от сишных уёбищных скобочек бахрейн
>>686846>>686855
#70 #686846
>>686841
() => console.log(test)

>Для меня нет.


Ключевое слово "для меня". А для меня без скобочек уёбищно.
>>686857>>687353
#71 #686855
>>686841

>Я пистонист


Я сам пишу на питоне, но там отступы, а в джсе нет.
>>686868
#72 #686857
>>686846

>() => console.log(test)


Ахуеть блядь
мимо из 2012
#73 #686868
>>686855
В лайвскрипте отступы же
>>686871
#74 #686871
>>686868

>в хуйнянеймдиалекте есть это

>>686877
#75 #686877
>>686871
Ну а без диалектов не было бы
#76 #686916
Жаваскриптаны, вот наговнокодил я окошко с кастомным скролленгом: https://jsbin.com/funuhubuwo/edit?html,css,js,output
Как видно, я, как больной ублюдок, в событии прокрутки колеса мыши над окошком каждый раз перевысчитываю статичные данные куролеся как черт по ДОМу навроде высоты окна, высоты содержимого и прочее. Как-то ведь это можно всё один раз заранее положить, но просто во внешку кидать как-то хуево, особенно если моих копроокошек на страницу дюжину разных въебать. Как можно при инициализации для каждого окошка один раз высчитать вот это всё необходимое?
>>687038>>687363
20 Кб, 750x450
#77 #686950
Анан, советуй литературу на ангуляр, только не быдлоуроки на ютубе, ну и русиш желательно.
С меня как всегда
>>686964>>687062
#78 #686964
>>686950

> русиш


> не быдлоуроки на ютубе

>>686970
#79 #686970
>>686964
ну мля, и что делать?
>>686984
#80 #686984
>>686970
Учить инглиш. Или ждать пока русня эволюционирует до второго ангулара
#81 #686999
>>686735
Мне тоже он нравится. Но сопротивляться течению нет cмыла - все и так будут писать на es6+.
И скоро es превзойдет коффее и лайв.
>>687039
#82 #687038
>>686916
Никак, каждый раз считай. Сделай функцию просто, которая эта делает и вызывай её для this.
>>687082
#83 #687039
>>686999

>скоро es превзойдет коффее и лайв.


кофе и лайв это две параши, которые никогда не были валидны
>>687058
#84 #687058
>>687039

> валидны


Шта
#85 #687061
Посоны, я тут пишу вырезалку всей сути странички и уже охуел от ваших вездесущих депрекейтедов. Что не так с кодом?

window.addEventListener ("load", LocalMain, false);

function LocalMain () {
var post = document.getElementsByClassName("post_show");
document.write("<html><head><title>" + post[0].getElementsByClassName("title")[0].textContent + "</title></head><body>" + post[0].innerHTML + "</body></html>");
}

document.innerHTML тоже пробовал. Почему не пишется новый контент в страничку? На стэковерфлоу говорят что надо document.body.innerHTML использовать, но мне надо заменить ВЕСЬ документ, потому что в head целая куча говна.
>>687064
#86 #687062
>>686950
на гитбуке начинали перевод ng-book
>>687069>>688098
#87 #687064
>>687061
Причём если этот код из {} запустить через адресную строку, то он работает блять! Проблема в том что фф не может сохранить страницу которая была изменена таким образом.
А вставленный в гризманки код не работает. И я даже не знаю почему - его банально не видно в девелопер меню.
>>687229
#88 #687069
>>687062
и что там справились?
>>687070
#89 #687070
>>687069
погугли, дебил
>>687076
#90 #687076
>>687070
пашел ты нахуй жлоб
#91 #687082
>>687038
Щито, серьезно нет функционала для запоминания переменных на уровне жквери объекта? Пересчитывать каждый раз охуеть же неоптимально, а массив объектов с параметрами костыльно выглядит.
>>687084
#92 #687084
>>687082

> массив объектов с параметрами костыльно выглядит


Почему? Вполне норм решение
>>687363
#93 #687229
>>687064
Попробуй не нарушать структуру документа, меняй d.head.innerHTML и d.body.innerHTML отдельно.

У меня вот возник вопрос, как вывести текст страничками, т.е. я пилю страничку для отображения текста книги и хочу сделать отображение няшными страничками. Проблема в том, что при использовании не моноширинных шрифтов я не знаю как расчитать количество выводимых символов, для того, что бы честно вывести две странички без "вылезаия" за границы или пустых полей с низу.
>>687257>>687319
#94 #687257
>>687229

>отдельно


Вроде работает. Спасибо.
Если честно, это полный неочевидный пиздец и поле граблей
>>687300
#95 #687300
>>687257
Я, кстати, тоже код в гризманки не вижу ни в стандартном дебагере ни в файрбаге. В таких случаях сохраняю страницу и отлаживаюв ней.
#96 #687319
>>687229
Можно накостылять это - http://jsbin.com/nolupabipo/1/edit?html,css,js,output ( http://stackoverflow.com/a/7668692 ) и в лупе добавлять по слову, каждый раз определяя,в выходит ли за границы или нет. Если выходит, то определяем момент начала новой странциы, слайсим строку и по новой. Начать можно, разумеется, с добавления такого количество символов (округлённых до ближайшего пробела), которое гарантировано не выйдет за пределы.
Но это довольно-таки бредовый способ, я бы сказал.
>>687325
#97 #687325
>>687319
Хотя, лучше просто подсчитать размер твоей "странички" (количество строк и ширину), расчитать ширину текста ( http://stackoverflow.com/questions/118241/calculate-text-width-with-javascript ) и нарезать нужные куски.
>>687351
#98 #687351
>>687325
Годно, спасибо.
#99 #687353
>>686846

>() => console.log(test)


Ну и, ты лишь объявил анонимную функцию, но не вызвал ее.

Алсо, стрелочная функция захватывает this в котором объявлена, а это может быть не всегда нужно.
>>687383>>687451
#100 #687363
>>686916
https://jsbin.com/dadajoyacu/edit?html,css,js,output
Демка-то не работала.
>>687084
Ну хуй знает, казалось в жквери такое должно быть предусмотрено.
>>687399
32 Кб, 413x272
#101 #687383
>>687353
Ну так в примере она тоже не вызывалась.

>Пик


Ну, такое
>>687409
#102 #687399
>>687363
Что не работало? В демке просто фон дива если весь текст не умещался.
>>687407
#103 #687407
>>687399
У меня прокрутка не работала если "http://" вместо "https://" в ссылке на жквери.жс стоял. Текст и не должен умещаться, он же прокручивается колесом мыши.
>>687408
#104 #687408
>>687407
используй // вместо указания потокола явно.
>>687415
#105 #687409
>>687383
Так уже ff и хром поддерживают стрелочные.
Прекомпиляция для них не нужна.
>>687418
#106 #687415
>>687408
Действительно, спасибо.
#107 #687418
>>687409
Ты так говоришь как будто они и лайвскрипт поддерживают, куда ж без прекомпиляции.
>>687424
#108 #687424
>>687418
Надстройки над js не нужны.
>>687433>>687438
#109 #687433
>>687424
Скажи это разработчикам второго ангуляра
#110 #687438
>>687424
Лел, это жс нинужин.
>>687441
#111 #687441
>>687438

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


> нинужен


Хатерс гона хате
#112 #687451
>>687353
В его примере тоже ничего не вызывалось, ты упоротый штоле?
А те, кто используют this, который надо на несколько уровней прокидывать, в коде - тупые пидоры-мудаки
>>687454>>687458
#113 #687454
>>687451

> А те, кто используют this, который надо на несколько уровней прокидывать, в коде - тупые пидоры-мудаки


Лол, ты что-то сложнее слайдера писал?
>>687459
#114 #687458
>>687451
Я проебался, потому что в примере он зачемто заключил анонимную функцию в скобки. Наверное, чтобы просто так увеличить количество скобок, я хз.

А про this

var y = 20;
var x = {
y: 10,
z: () => this.y * 2
}

z захватит y 20 а не 10
#115 #687459
>>687454
Тот же вопрос могу тебе задать.
У нас даже в линтере this запрещен
>>687464
#116 #687464
>>687459
И как вы сохраняете контекст?
#117 #687467
>>687464
This это рак, больше размусоливать даже не буду тут
>>687469
#118 #687468
>>687464
Им он не нужен.
#119 #687469
>>687467
Да, а как и локальные переменные и циклы.

Вы пиздец, я не знаю откуда вы повылезали такие.
>>687474
#120 #687472
>>687464
apply, call
#121 #687474
>>687469
Лол, с этим я кстати тоже согласен, let у нас тоже запрещен через линтер. Нормальные ребята значит появились наконец-то, раз такие мысли высказываются
>>687478
#122 #687478
>>687474
Ну, объясните нам, нормальные ребята, как вы там нормально пишете без this, var, let, и циклов.
Вы под чем?
>>687483
#123 #687483
>>687478
Потому что это всё бесполезные вещи, которые нет никакого смысла использовать. Код гораздо проще и понятней без них становится, меньше багов даже, меньше различий в стиле написания.
>>687502>>687633
#124 #687502
>>687483
По мне так это из разряда - потому что можем.
Лично я не вижу никаких профитов, совершенно.

Баги от криворукости и неосиляторства могут быть разве что. Но никак не от конструкций языка.
#125 #687605
>>685345 (OP)
Есть ли уже какой-то способ (например в html5) использовать асинхронность с многопоточностью.

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

Вот я пытаюсь симулировать частицы, но считать их смещения, когда частиц выше 2 тысяч вызывает лаги. Хотелось бы делить на группы эти вычисления и разделять на потоки, после чего уже одним draw call выводить получившееся изображение.

Можно ли это как-то провернуть? Или в 2016 году js в браузере до сих пор процедурный.
>>687609
#126 #687609
>>687605
WebWorkers
#127 #687633
>>687483
Вы че, Абрамова обсмотрелись на конференции реакта и угорели по иммутабельности и чистоте? Декларативный подход для декларативной илиты?
На самом деле это круто, но я пока ещё ниасилил, хотел бы посмотреть на пример вашего или околотого кода с таким подходом
>>687636>>688089
#128 #687636
>>687633
Доставь видео этой конференции.
>>687640
#129 #687640
>>687636
https://youtu.be/xsSnOQynTHs
Вот тут он рассказывал про хот релоадинг и вроде сказал "иммутабельность это круто, давайте все так делать". Но инфа не сотка, давно смотрел.
Вот тут он хорошо рассказал про ребят который так код пишут и их проекты, а также про возможные проблемы и как их решить, довольно годно.
https://radiojs.ru/2015/07/radiojs-28/
Почему первая функция возвращает хуйню, а вторая число? #130 #687670
var a = +prompt('Введите a','');

function getDecimal(num) {
return num - Math.floor(num);
}

alert( getDecimal(a) ); // butthurt

///////////////////////////////////////////////////////////////////

function getDecimal(num) {
return num - Math.floor(num);
}

alert(getDecimal(a)); // 0.5
>>687735
1 Кб, 314x28
#131 #687678
На четвёртом часу кодинга обнаружил, что отключилась область мозга отвечающая за устные преобразования
>>687697
#132 #687697
>>687678
Магические константы, наканецта
#133 #687735
>>687670
Всмысле? Они же одинаковые
>>687758
#134 #687758
>>687735
Он наркоман просто.
7 Кб, 656x74
#135 #687778
Можете объяснить уёбку, почему поиск подстроки id возвращает 1? она же начинается на 13 символе?
#136 #687787
>>687778

>widget


>widget

#137 #687790
>>687778
На первом и на двенадцатом у тебя.

Учись считать с нуля уже.
#138 #687795
Выучить ноду за неделю.
Реально ли?
>>693079>>693110
#139 #687810
>>687778
wIDget
#140 #687831
Я тут захуячил рекурсивный поиск 80 числа фибоначчи, у меня когда-нибудь развиснет вкладка? Или как ее можно закрыть не перезагружая браузер?
>>687910>>687936
#141 #687910
>>687831
Обосрался, там же после 20-го вроде все виснет к хуям на рекурсивном решении, не?
#142 #687936
>>687831
Если у тебя человеческий браузер, то открой диспетчер задач браузера (или просто найди процесс этой вкладки в ос) и убей.
#143 #687973
Насколько KnockoutJS актуален сейчас?
Недавно устроился на свою первую работу фронтендером после вёрстки. Думал, сейчас меня на ангуляре/реакте научат spa ебашить, а тут королевство программистов на сишарпе. Пишут фронт практически только на Typescript+knockoutJS.
Идея в том, чтобы потом уйти на фриланс или что-то более высоко оплачиваемое. Вот и не знаю, правильно ли я поступил.
#144 #687986
Вот допустим есть длинный список ссылок или любых других кликабельных элементов, неважно. При нажатии на такой элемент загружаются данные и выводятся на экран, но я так и не смог нагуглить что называется "best practices" как отключать эти ссылки пока данные грузятся. Кто-то через сss делает, кто-то через жс добавляет и удаляет обработчики, но это все как-то уебищно выглядит хз. Как вы делаете? Пох на каком фреймворке, основую идею бы. Пока ссылки заменили кнопками и ставлю атрибут disabled когда данные грузятся
>>687988>>688001
#145 #687988
>>687986

>как отключать эти ссылки пока данные грузятся


Вот тут поподробнее. Тебе надо дизаблить только уже нажатую кнопку или все остальные или и те и те?
>>688010
#146 #687999
азаза
#147 #688001
>>687986
Ну так и делается.
Меняется какой-то аттрибут, у элементов которые надо отключить.
А будь то дом-аттрибут, или добавление\удаление класса (и уже в css) изменение стиля, или изменение инлайн-стиля
Это не столь принципиально, и завитт от архитектуры твоего приложения, как там тебе удобнее.
>>688010
#148 #688010
>>687988
И те и те
>>688001
Ясно, спасибо
>>688015
#149 #688015
>>688010
Ты можешь обходить html елементы, а можешь ловить нажатие и отправлять запрос на данные не чаще определенного интервала
#150 #688033
Гайз нужна помощь ньюфагу,пытаюсь написать карусель, нужно что б через определенное время переключался класс.Получился какой то костыль https://jsbin.com/soyisezowe/edit?html,css,js,output
#151 #688089
>>687633
Не очень понял с чего сделал вывод про иммутабельность, если честно. Но нет, у нас как раз используется мутабельность в основном. Хотя есть и иммутабельные места в боттлнеках, но чаще нет.
#152 #688098
>>687062
Скинь ссылку, что то поиском не нахожу.
#153 #688354
>>685345 (OP)
привет, котаны.
Не понимаю почему не работает наследование.
https://jsbin.com/tarenepone/edit?html,js,output
>>688357
#154 #688357
>>688354
https://jsbin.com/qaqiwijuvi/1/edit?html,js,output

Объявлять переменную писать var/let/const только один раз нужно.
>>688535
#155 #688386
>>685750
react native добавь
>>688426
#156 #688426
>>688386
Сейчас добавлю и сделаю пул реквест.
#157 #688439
каково тут отношение к ember?
>>688449>>688462
#158 #688449
>>688439
Классная штука, лучший фронтенд фреймворк после реакт-экосистемы
>>688474
#159 #688462
>>688439
На первый взгляд отдаёт раби. Глубоко не трогал.
>>688589
#160 #688474
>>688449
а есть какой-то продакшен-реди цсс-фреймворк с оберткой под него?
>>688517
#161 #688517
>>688474
Какая обертка если там используется handlebars c обычным html. Ладно реакт там компоненты, хуе-мое, а тут то че.
>>688552
#162 #688535
>>688357
спасибо!
#163 #688552
>>688517
material же есть для ангуляра. нужно что-то такого же уровня.
#164 #688553
Объясните мне этот код. Как работает аякс, promise и жс с сервером, откуда там args?? Из какого еще ключа и значения формируется урл? Я ничего не понимаю.
http://ideone.com/zJxpPY
>>688584
#166 #688589
>>688462
Так и есть, магическая параша
#167 #688593
import { DragSource } from 'react-dnd';

@DragSource(ItemTypes.BOX, boxSource, (connect, monitor) => ({

}))

Что такое тут @?
>>688596>>688597
#168 #688596
>>688593
предполагаемый синтаксис для декораторов вроде
>>688598
#169 #688597
>>688593
Декоратор, и он относится к export default class Card
>>688598
#170 #688598
>>688596
>>688597
Понятно, зря я overview для него не прочитал.
#171 #688604
Начал писать на реакте, есть какие-нибудь комьюнити-аппрувед либы чтобы без боли с рест сервисом общаться?
#172 #688606
>>688604
react-router если правильно тебя понял.
>>688628
#173 #688628
>>688606
Не, мне пока роуты не надо, мне тип загрузить модельку, сохранить ее. Я пока пользую https://github.com/marmelab/restful.js , но зашел спросить советов мудрых
#174 #688673
>>688584
Молоца, дал мне ссылку на источник, откуда я скопировал код.
>>688679
#175 #688679
>>688673
Ну и нахуй ты его скопировал, если я тебе ссылку дал?
>>688686
#176 #688686
>>688679
Потому что я нихуя не понимаю в промиз, вот почему.
>>688711>>688712
#177 #688711
>>688686
Промиз - это обещание.
#178 #688712
>>688686
При создании промис принимает колбэк с двумя колбэками. Во внешнем ты пишешь свою логику типа хттп реквестов, подписываешься на события этого реквеста, если все хорошо - вызываешь resolve первый внутренний колбэк с пришедшим значением из хттп респонса, если все плохо - reject с кодом и сообщением ошибки, например. Но это все внутри. Когда тебе возвращается промис из твоего йоба адаптера - ты просто подписываешься на него через .then и передаешь туда как раз те самые колбэки resolve и reject, в которые приходят данные/ошибка и уже с ними работаешь. Если промисы не чейнить то это очень похоже на обычные колбэки xmlhttprequest'а, колбэки то ты понимаешь?
>>688714>>688723
#179 #688714
>>688712
Да я 30 лет пишу код для сайтов и никогда никакие колбэки не использовал!
>>688718
#180 #688718
>>688714
PHP или WordPress? ))
#181 #688723
>>688712
Почему у меня вызывается reject я не понимаю? Просто проект прислали с отправкой данных на сервис, а оно постоянно reject кидает и я не знаю, почему, там длинный код и не пойму, где именно речект кинуло и вместо ошибки баззворд.
>>688729
#182 #688729
>>688723
Консоль хромоги -> network -> смотри запрос и ответ сервиса
sage #184 #688917
>>688897

>react-router


нинужон без named routes
#185 #689166
Аноны, как можно реализовать такую штуку - есть превьюшка новости и ссылка "читать всю", чтобы по нажатию на ссылку всплывала вся новость на этой же странице(popup, вроде называется такой прием).
Можно пример или где почитать?
>>689189
#186 #689189
>>689166
А что именно тебе не ясно? Вызываешь модальное окно по нажатию на ссылку и подгружаешь через Ajax полную новость
>>689194
#187 #689194
>>689189
Именно вызов модального окна, я совсем недавно начал изучать это все. Смотрел примеры все по-разному вызывают модальные окна. Может один способ предпочтительней другого
>>689195
#188 #689195
>>689194
Да нет каких-либо правильных способов. Есть проще и сложнее.
Советую бутстраповские модальные окна
>>689211
#189 #689211
>>689195
Понял. Спасибо. Буду смотреть
#190 #689216
>>688604
Бамп вопросу
#191 #689246
>>688604
а fetch тебе не подходит?
>>689286
#192 #689286
>>689246
Ну я хотел что-то прям высокоуровневое кнопку сделать хорошо, тип ngResource, только не ng. Но спасибо за fetch, почитал документашку, сделал выводы для себя.
>>689304
#193 #689304
>>689286
Кекнул, а как ты сейчас без фетча рестфул.жс используешь?
>>689308
#194 #689308
>>689304
А там standalone версия была, я ее и взял, не вникая в подробности
#195 #689333
>>689352
79 Кб, 1280x800
#196 #689352
#197 #689730
Парни, посоветуйте какой редактор лучше использовать atom или brackets? Только начинаю изучение жс.
>>689747>>689750
#198 #689742
Бля, какой же метеор ахуенный, только выучить его совсем не получается.
>>689775
#199 #689747
>>689730
webstorm
#200 #689750
>>689730
Попробуй оба, они оба хороши. И сосредоточься на кодинге, а не на выборе редактора.
#201 #689775
>>689742
А я наоборот недавно с него слез, очень сложно было.
#202 #689812
Задачки с собеседований, помогите решить.
http://pastebin.com/tz58x7nk
>>690461>>691034
#203 #689828
Пишу реализацию шифра Цезаря. Если вызвать функцию encrypt(alphabet, 1) то последнее значение будет undefined. Если encrypt(alphabet, 2) то предпоследнее и.т.д...
В чем проблема?
https://jsbin.com/lowuqor/edit?js,console
>>689862
#204 #689862
>>689828
Я олень... В первой ветке, внутри цикла должно быть строгое неравенство...
#205 #690041
Купил книги у learn.javascript.ru
Уже прочитал половину первой книги
Начинаю понимать JS код.
Всем спасибо.
>>690146
#206 #690059
Как мне убить сервер, повешанный на порте. Допустим такой код, он мне вешает сервер и я повторно этот скрипт на том же порте не могу использовать.

var http = require("http");

var server = http.createServer(function (request, response) {

response.writeHead(200, {'Content-Type': 'text/plain'});

response.end('Hello World\n');

}).listen(8082);
>>690073
#207 #690066
ребят, есть у кого оплаченный аккаунт на codeschool? Дайте поюзать, умоляю
sage #208 #690073
>>690059
у сервера есть метод close если ты это имеешь в виду. а так можешь убить через kill или ctrl-c в терминале, хз как ты запускаешь там скрипт
>>690094
#209 #690094
>>690073
А как мне повесить хтмл на этот сервер и порт?
http://127.0.0.1:8080/'

что прямо в скрипте все тэги писать?
>>690142
#210 #690142
>>690094
Читай файл с хтмл и отправляй пользователю
#211 #690146
>>690041
Бумажные или в PDF?
>>690187
#212 #690187
>>690146
PDF, для читалки. А бумага есть?
>>690193
#213 #690193
>>690187
Нет, но можешь купить Флэнегана, он годен. После него и YDKJS у тебя уже отпадёт 95% вопросов по JS.
>>690195
#214 #690195
>>690193
Да у меня и так вопросов не сильно много. Я BE разраб, просто хочу выучить JS чтобы лучше проще было понять глубины ангулара для своих личных проектов.
Думаю, что этих трёх книг мне более чем хватит.

Лушче посоветуй по ангулару на будущее что-нибудь.
>>690198
#215 #690198
>>690195

>по ангулару


>на будущее


Выбери одно
>>690200
#216 #690200
>>690198

>по ангулару


Я ведь написал, что JS изучаю не для работы, а для себя, так что будущее ангулара меня не волнует.
>>690204
#217 #690204
>>690200
ng-book, есть по первому и по второму уже.
>>690208
#218 #690208
>>690204

>ng-book


Замечательно. Спасибо.
#219 #690222
>>685345 (OP)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

Котаны, я так понимаю в квадратных скобках нужно укзывать от 1 до 3 аргументов по желанию, но поясните почему в arr.forEach(callback[, thisArg]) в квадратных скобках первым идет запятая?
Почему пишется коллбек если нужно там писать функцию? Можно ли использовать функцию описаную в другом месте кода?

И еще https://learn.javascript.ru/array-iteration#reduce-reduceright
ТАм есть пример использования reduce, почму там в круглых скобках есть ноль?
var result = arr.reduce(function(sum, current) {
return sum + current;
}, 0);
Зачем он нужен?
#220 #690224
>>690222
Начальное значение.
мимоУмныйBEДев
>>690242
#221 #690226
>>690222

>Кроме callback, методу можно передать «начальное значение» – аргумент initialValue. Если он есть, то на первом вызове значение previousValue будет равно initialValue, а если у reduce нет второго аргумента, то оно равно первому элементу массива, а перебор начинается со второго.


Чтобы было понятнее.
>>690242
#222 #690242
>>690224
>>690226
Точно, в глаза ебусь.
А по поводу запятой? Есть в ней какой то сакральный смысл или так , thisArg просто пишут вместо списка аргументов в функции?
>>690337
#223 #690248
>>690222

>Можно ли использовать функцию описаную в другом месте кода?


можно
#224 #690337
>>690242

>А по поводу запятой?


Мне кажется, так наоборот понятнее. То что в квадратных скобочках - опционально.
func(arg1[, arg2, arg3]);
Т.е. если этого нет, то функция должна работать
func(arg1);
И если ты раскрываешь скобки, то подставляется запятая
func(arg1, arg2, arg3);
мы тут изучаем js или что?
91 Кб, 715x838
#225 #690347
Анонии, эту книжечку ещё не спиратили? Чёт не нахожу её, может кто поделиться?
Become a ninja with Angular 2
https://books.ninja-squad.com/angular2
>>693261
#226 #690349

> IDE/редактор: WebStorm, Atom, Brackets


Почему нету саблайма?
>>690393
#227 #690350

>Онлайн курсы


Почему нет freecodecamp?
>>690393
#228 #690393
>>690349
Потому что не подходит для проектов крупнее хеллоуворлда.
>>690350
Потому что тут рассматриваются курсы несколько другого типа.
Автор шапки
>>690403>>690488
#229 #690400
>>685345 (OP)
Котаны, учу я JS, учу, змейки-тетрисы, а тут Wasm вышел. Два вопроса профессионалам:
1) JS'у пизда?
2) Можно ли будет компилить JS в Wasm или уже начинать учить еще и кресты?
>>690415>>690420
#230 #690403
>>690393

>Потому что не подходит для проектов крупнее хеллоуворлда.


Поясни, почему это так. Раз уж так, Atom и Brackets тоже не подходят. Все три - редакторы текста, а не IDE, не так ли?
#231 #690415
>>690400

>JS'у пизда?


Кекус. Писать сайта на С++ можно и сейчас и 10 лет назад, но проще сразу прострелить себе голову.
Иди скачай cppcms и попробуй, тебе понравки.
>>690437
#232 #690420
>>690400
Доки по васму ты не читал, да? Это для тех случаев, когда ты хочешь запилить крузис в браузере. JS это не касается ровно никак. Разве что браузерки и всякие три дэ экскурсии будут пилить на крестах и подобном.
>>690641
#233 #690437
>>690415
WASM это о клиенте, а не о сервере.
И это совершенно не то же самое что какой-нибудь emscripten
#234 #690461
>>689812
Я тут вот первое накостылял немного, оцените - http://ideone.com/I1AEDq
Но не до конца понял задание. Повторы удалять только если прям все результаты идентичны, т.е. при очках "4 4 4 6" нужно оставить только 6, или "4 4 6"?. Вроде бы, все 4-ки являются lowest score, но мало ли.

Или лучше-таки пересобирать новый массив, потому что там говорят об огромных количествах элементов, и удалять каждый раз хуёвенько будет?
>>690466
#235 #690466
>>690461
Если score идентичны, то нужно оставить только одну любую строчку с этим score. По-моему так.
>>690474
#236 #690474
>>690466
В смысле? "4 4 4 6" -> "4 6", что ли? Точно не так.
В любом случае, это уже детали.

Плох ли такой подход с удалением? Лень замерять.
>>690592
#237 #690476
Ребят, как юзерскрипты учились писать? Я написал пару штук, но учился по отрывочным туториалам, знания очень скудные.

И если у меня есть простой юзерскрипт, осуществляющий поиск/замену текста, то как его заставить работать с данными, подгружающимися ajax'ом?
#238 #690488
>>690393
Ну охуеть, у него атом и брекетс подходят, а саблайм нет. Ты вообще тю-тю что ли?
Не в обиду будет сказано, оп
#239 #690592
>>690474
Честно, вот я не понимаю, как твой скрипт работает? Ты типа парсишь obj методом foreach и если матчит условия, то добавляешь строку в новый объект idx?
Не, минимальные повторяющиеся score надо тоже удалять, если там хоть один score of type yyy будет больше. Если все score одинковые, то оставить только один.
>>690613
29 Кб, 775x874
jsnewfaggot #240 #690594
сап, анон

раскидай за метод решения такой задачки (пик приклеил):

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

вот как на пике по схеме.

мои мысли на этот счет такие:
1. все значения селекта записываю в такой массив
2. потом делаю проверку выбранного селекта
3. если волью селекта совпадает с ключем из массива, то выбираем три нужных значения
4. смотрим что ввели в инпут и умножаем на выбранные из массива значения

вот тут код - http://plnkr.co/edit/NTKG7E15MgIAqeLnQtNd?p=preview

подскажи ананас, все правильно ли делаю? или есть какой-то способ легче и проще? может не через массив, может как то без проверок?
>>690610>>691499
#241 #690610
>>690594
arr[selectSC]
Хватит проебывать запятые
>>690856
#242 #690613
>>690592

>то добавляешь строку в новый объект idx?


Нет, не строку, а индекс элемента. Как только изменяется пользователь, я удаляю тот элемент, в котором был наименьший score (или несколько элементов, как в случае с "4 4 4 6").

На входе там про JSON говорят, который, я предположил, должно быть можно в объект перегнать, иначе нужно php и регэкспы подрубать, наверное.
>>690627
#243 #690614
Что ему нужно-то? Помогите понять.
https://jsfiddle.net/j4njotop/
>>690621
#244 #690621
>>690614
Ненад картинки с чужих серверов грузить
>>690624
#245 #690624
>>690621
А если надо?
>>690634
#246 #690627
>>690613
по ходу у меня все плохо с парсингом джейсона, я бы так не догадался сделать. Хотя вроде и парсил джейсон на java сначала через jsoup, а потом map (key value).
>>690643
#247 #690634
>>690624
То пишешь на бэкэнде прокси метод для загрузки этой картинки и отдаешь ее как со своего сервера
>>690639
#248 #690636
Пацаны, я немношк не понимаю про объекты тут
https://habrahabr.ru/post/223529/

Можете показать, как выглядел бы код, если бы он использовал объекты? Он опустил эту тему.
>>690645
#249 #690639
>>690634
Неужели на клиенте нельзя загрузить картинку с постороннего серва и делать с ней всё что хочется?
>>690645
#250 #690640
Я сейчас доки по ноде читаю, я ничего не понимаю, какие-то чайлд процессы, кластеры. Реально ли вообще работать с проектом, где есть нода, если у тебя на ней ничего нет.
>>693081
#251 #690641
>>690420

>JS это не касается ровно никак


Ну а хули тогда все орут, что в будущем можно писать быстрый фронтенд на своем любимом языке, JS was a mistake, и что это - чуть ли не смерть JS?

>>браузерки и всякие три дэ экскурсии


А что, если любой сайт в будущем будет такой вот три дэ экскурсией? То есть да, пока еще заказчики ничего об этом не знают, а как узнают (и как большинство браузеров начнет поддержку) - появятся фреймворки для создания 3д сайтиков на Wasm без JS и т.д.
И, если подумать, то да, нахуй теперь JS, если он медленнее, чем любой другой язык, перекомпилированный в Wasm? Развитая экосистема с кучей программистов? У Delphi они тоже были.
А вообще, просто успокойте меня, что я не зря учу JS уже почти полгода и скоро найду работу.
#252 #690643
>>690627
Так я там ничего и не паршу, лол, меня obj уже массив изначально.
#253 #690644
>>690641

> учу JS уже почти полгода


а почему так долго?
>>690653
#254 #690645
>>690636
Tags был бы не списком строк, а списком объектов, у которых было бы поле tagName, на него бы биндились инпуты
>>690639
На клиенте вообще мало что можно делать с посторонними серверами если корс выключен, патамушта бизапаснасть
>>690649
#255 #690648
>>690641

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



Еще что пизданешь?
Сходи прочитай про asm.js
Прочитал?
Вот wasm - это asm.js но только в байткоде. Экономит размер и время на парсинг.
#256 #690649
>>690645
Но картинка же загрузилась и поместилась на холст. Почему после этого данные не читаются с холста? Что, блядь, за херня, я же работаю уже с холстом а не с сторонним сервером.
>>690651
#257 #690650
>>690641

>А что, если любой сайт в будущем будет такой вот три дэ экскурсией?


А что если будет ядерная война и не будет инета?
Если что-то подобное и выстрелит, то очень не сразу. Ты за это время и работу найдешь и до как минимум миддла дорастешь, а оттуда уже можно двигаться куда хочешь.
#258 #690651
>>690649
Картинки загрузилась с другого домена - сасай кроссдоменный хуец
>>690654
#259 #690652
Вам так ее хватает скорости жса, что вы смотрите всякие васмы? Я видел только как рендер дома тормозит, но жс тут не причем
#260 #690653
>>690644
Потому, что я тугодум безмозглый
На самом деле - с конца ноября. Все задачи с learn.javascript.ru задрачивал, сейчас остановился на главе "CSS для Javascript-разработчика" + игрушки пишу и не знаю куда двигаться дальше. А тут еще и в браузерах поддержку wasm добавили..
>>690660>>690844
#261 #690654
>>690651

>сасай


Нет, сейчас изобрету костыль.
>>690659>>690664
#262 #690659
>>690654
Для кого пишут вот это вот всё
https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

??

cors обходится либо проксированием либо доп.заголовком на удаленном сервере, если к нему есть доступ.
>>690674
#263 #690660
>>690653

> Потому, что я тугодум безмозглый


поди жс полчаса в день уделяешь.

> и не знаю куда двигаться дальше.


Писал пару дней назад посто в прикрепленном треде. Если говорить вкратце то в игры не суйся. Тем более свои. Оставь это как хобби, но не более.
>>690700
#264 #690661
>>690641

>А что, если любой сайт в будущем будет такой вот три дэ экскурсией?


Это уже будут не сайты, и разработкой подобного заниматься должен не веб-программист.
Подобное и сейчас можно пилить, просто работать будет отдельным приложением. Но зачем?
#265 #690664
>>690654
Можешь попробовать загрузить картинку как datauri и уже ее вставить как src в свой img, может тогда оно не будет знать откуда картинка приехала.
>>690674
#266 #690665
>>690641
Я третий год все эти стеки "учу" уже.
#267 #690666
Скиньте сайт, где бэкенд реализован на ноде (можно экспресс) и ангуляре пожалуйста? Хочу посмотреть на это.
>>690667
#268 #690667
>>690666
в смысле опенсорсный гтихбачик какой-нить.
#270 #690674
>>690659
пасиб
>>690664
Это интересно. Попробую.
#271 #690679
Я не понимаю ажиотажа вокруг wasm'a
Ну пилят его. Ну вот уже почти. И что?
NaCl уже сколько есть. Кто-то из вас написал хоть один плагин?
Wasm лишь способ оптимизировать узкие места.
Вычисления. Всё.
Это лишь дополнение, но не замена.
И никогда не станет заменой.
>>690682
#272 #690682
>>690679
Узко мыслишь, анон.
JS не всегда будет лидером.
Да и говно он как язык, если честно.
>>690687
#273 #690687
>>690682
Да прочитайте вы что сам разработчик этих ваших васмов говорит. Он говорит что васм заполняет пробелы в JS. То что реализуется крайне геморройно, или вообще не принимается во внимание вследствие технических неувязок.
А если быть короче, то процитирую анона выше "крузисы на браузерах пилить".
мимо
>>690688
#274 #690688
>>690687
Да я вообще хз что такое васм, просто решил высказать своё мнение.

JS тоже когда создавался не расчитывался на такое обширное применение.
Так что вполне возможно, что это недоподелие скоро спихнётся.
#275 #690690
>>690688
Ага, 10 лет уже как спихиваете.
А он только развивается и занимает все больше ниш.

>Да и говно он как язык


Не стоит называть говном всё, что не осилил.
>>690694
#276 #690694
>>690690

>Не стоит называть говном всё, что не осилил.


Я его начал учить пару недель назад.

И ведь он реально говно. Ни типизации, ни нормальных сравнений.
А эти ваши lexical environment - вообще жопа для понимания.

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

Function Expression и Function Declaration - замечательный способ сказать МЫ ВАМ ПЕРЕЗВОНИМ, если собеседующему не понравилась рожа того, кто пришёл на собеседование.

В общем, кушай дальше.
>>690708>>690715
#277 #690699
>>690688

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


Веб и браузеры потому что не рассчитывались.
Сегодня браузер это фактически автономная среда. Большинство обычнопользователей и не вылезает за пределы него.
С приходом wasm можно будет пилить в браузере всю тяжеловесную прикладуху.
>>690710
#278 #690700
>>690660

>поди жс полчаса в день уделяешь.


Чуть больше, просто иногда рандомные задачи на Codewars решаю, ну и таскало меня по языкам неплохо - год назад начинал с C#, потом сменил на Java, потом (летом 2015) начинал читать Флэнагана - быстро бросил и решил начать с верстки, параллельно прорешал тысячи, блять, задач на Codehunt (Java), CodeBat (Java) и позднее Codewars (mostly JS), видеоуроки Sorax'a смотрел, думал, что и Python нужен, но послал его и в конце ноября решил начать учить JS по Кантору, параллельно дроча английский, Codewars и задачи с его сайта.
За совет спасибо. Видимо, пора уже переходить к практике, взять Heroku в рот с Нодой и писать вебаппы с ангуляром наперевес для портфолио.
И спасибо всем в этом треде, что пояснили за Web Assembly, хоть буду спать спокойно.
#279 #690708
>>690694
Вот я и говорю, что не осилил.

Все непонимания, тобою перечисленные вытекают из того, что ты ограничиваешь свой кругозор языками одного типа. А у js иначе. Динамическая типизация - просто научись в нее, не будет проблем со сравнениями.
Замыкания\области видимости - что может быть проще?
Функция это объект - смеешься над собою же.
>>690710
#280 #690710

>>>690699


Значит у JS будущее как у того же PHP. Он тоже изначально был кривой и почти не поменялся.

>>690708

>Вот я и говорю, что не осилил.


Ясно.
>>690720
#281 #690715
>>690694

>Function Expression и Function Declaration


вообще простейшая вещь, чтобы понять достаточно уяснить как работает интерпретатор в браузере
>>690717
#282 #690717
>>690715
А ты никак не успокоишься? Я не говорю что это сложно, я говорю что это замечательный повод в отказе.
>>690718>>690720
#283 #690718
>>690717
Я другой анон. И что ты имеешь ввиду под

>это замечательный повод в отказе.

>>690719
#284 #690719
>>690718
Можно написать функцию, используя выражение - тебе скажут, что нужно писать в виде объявления и пошлют нахер.
>>690730
#285 #690720
>>690710

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



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

>>690717

>А ты никак не успокоишься?


С тобою разные люди говорят.
>>690722
#286 #690722
>>690720

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


Я говорил, что

>JS не всегда будет лидером.


это значит, что он не будет оставаться популярнейшим, если что.

> php уже седьмой версии запилили, если вдруг что.


Да, видел. Новое что-нибудь есть, или как всегда?
>>690726>>693111
#287 #690726
>>690722
Есть.
Сам посмотри.
#288 #690730
>>690719
С тем же успехом тебя можно послать нахер, придравшись до любых мелочей, как var\let
шаблонные\обычные строки
обход массива циклом\коллбэком

В общем, бред.
>>690734>>690741
#289 #690734
>>690730
Почитай "мы вам перезвоним" тред. Там и не за такое посылают.
>>690735
#290 #690735
>>690734
Если посылают за подобное, когда задача не была описана предельно четко (для исключения подобных нюансов), то радоваться надо, что послали. Или работать у неадекватного работодаетеля по-твоему лучше?
#291 #690741
>>690730
двачую
33 Кб, 300x281
#292 #690743
На пикче топ-вариант на 2015-2016 год?

мимозалетный
#293 #690790
>>690743

>Mongo


Лол. Это такой мемчик, ньюфагов тралить?
#294 #690813
Есть ли смысл в 2016 году кешировать length как способ увеличения производительности цикла for, или современные браузеры и так с этим справляются?
>>690829
#295 #690829
>>690813
Блять, чето всхохотнул.
#296 #690844
>>690653
Как скоро надеешься найти работу? Как себя чувствуешь дойдя до раздела ЦеЭсЭсдля разработчика? думаешь этого хватит? Или нужно осилисть весь learn.javascript.ru?
>>690903
#297 #690856
>>690610
а это что за конструкция? так не сработает ведь
>>690883
#298 #690883
>>690856
У тебя и собака не сработает
#299 #690893
>>690688
Насчитывался и создавался он для другого, но JS сейчас и семь лет назад - два совершенно разных языка. Он развивается быстрее, чем любой другой язык.
#300 #690895
>>690743
Топ сейчас - это MEAN. KAMN только начал развиваться.
>>690916
#301 #690903
>>690844

>Как скоро надеешься найти работу?


К лету.

>Как себя чувствуешь дойдя до раздела ЦеЭсЭсдля разработчика?


Здоров.

>думаешь этого хватит?


Нет, нужны фреймворки.

>Или нужно осилисть весь learn.javascript.ru?


Можно и осилить, ничего плохого не вижу, но не панацея.
#302 #690916
>>690895
MERN сейчас топ.
>>690970
#303 #690970
>>690916
При всей моей любви к MERN он сейчас мало где используется. А вот MEAN - стандарт.
>>690994
#304 #690990
Аноны, чому не обрезается текст http://codepen.io/anon/pen/YqNezY
>>690996
#305 #690994
>>690970
Проиграл с маньки, ангуляр говнище, а не стандарт
>>690995>>691014
#306 #690995
>>690994
Как и монга, как и экспресс, кстати лол
>>691014>>693113
#307 #690996
>>690990
Ты лалка, двойные биндинги из коробки захотел?
>>691005
#308 #691005
>>690996
Объясни как решить эту задачу, анон
>>691008
#310 #691009
>>691008
Спасибо,а почему не работало?
>>691013
#311 #691013
>>691009
В переменную text ты просто занёс строку, поэтому твоя функция просто урезала эту строку, но ты забыл обновить сам ДОМ
>>691020
#312 #691014
>>690995
>>690994
Что вы делаете в этом треде?
>>691017
#313 #691017
>>691014
А это что, тред по ангуляру штоле?
#314 #691020
>>691013
А как ты обновил DOM вызвав в конце просто document.querySelector('.text').textContent = truncate(text, 20);
>>691023
#315 #691023
>>691020
Ну так и обновил, что тебе не нравится?
У textContent есть и сеттер, и геттер
>>691024
#316 #691024
>>691023
Я просто хочу понять
>>691030
#317 #691030
>>691024
Ну так я и говорю, этим методом можно и получить контент, и установить
>>691043
#318 #691034
>>689812
Помогите решить вторую задачку.
>>691045
#319 #691043
>>691030
А почему если я добавлю второй див с классом text на него трое точие не ставиться? Надо фориком пробежаться по дивам и как ты говоришь получить и установить?
>>691045
#320 #691045
>>691043
Типо того, если в кратце.
>>691034
Вот нах тебе это? Если ты такую простую фигню не можешь решить, зачем тебе вообще собеседования?
#321 #691156
Давайте по новой.

>IDE/редактор: WebStorm, Atom, Brackets


Почему нету Sublime Text?
#322 #691158
>>691156
Блять, возьми и добавь, заебал уже ныть
>>691160
#323 #691160
>>691158
Не рвись на пустом месте, я же просто спросил.
>>691161
#324 #691161
>>691160
Третий раз уже спрашиваешь, ноющее чмо. Нахуй твой саблайм никому не сдался, вот и нет.
>>691163
#325 #691163
>>691161
Второй.

>если я не юзаю саблайм, значит от никому не сдался


Проиграл с этой чудесной логики.
>>691189
#326 #691189
>>691163
От проигрываний саблайм там не появится
#327 #691191
>>691156
Ты пишешь в саблайме?
>>691235
#328 #691212
>>691156
Потому что на саблаймоопущенцев здесь ссут и за людей не считают.
>>691235
#329 #691218
>>691156
Саблаймодауны беспомощные и тупые, не могут добавить его в список редакторов. Вот ты, кстати, яркий пример.
>>691235
#330 #691235
>>691191
Да. Вообще много кто в нем пишет, он популярнее Brackets и Atom. Про WebStorm не говорю, это другой уровень.

>>691212
>>691218
Хех, как будто в /b/ попал.
#331 #691304
Двощ, я постоянно забываю проверять наличие переменных, да и сложно это делать в жс. От этого у меня cannot read property of undefined.
Что делать?
>>691312
#332 #691312
>>691304
поставить ide
>>691316
#333 #691316
>>691312
Не помогает
#334 #691353
Спрошу ещё разок: если у меня есть простой юзерскрипт, осуществляющий поиск/замену текста, то как его заставить работать с данными, подгружающимися ajax'ом?
>>691474
341 Кб, 500x499
#335 #691373
Привет анон. Прочитал шапку и тред.

Все было здорово, писал игрушки на юнити, а потом на флеше. Только вот нихуя именно 0 заработал с этого. Мамкины борщи конечно вкусные, но пора бы уже зарабатывать на свои.

спрашивал в программаче, посоветовали вкатиться во фронт-энд. Настроен я более чем решительно. Моя задача- начать зарабатывать.

Но я походу пошел не с той стороны. А именно начал изучать жс по http://learn.javascript.ru. Как думаешь анон, наверное сначала стоило заняться освоением html/css и верстки в целом?

Думал освоиться с этим, сделать проект для портфолио и начать ходить на собеседования. Может быть html и css стоит заняться уже во время создания своего проектика?

Как думаете, 2.5 месяца достаточно для этого?

И да, такой еще вопрос, имеет ли смысл решать все эти учебные задачи? Попрактиковаться я понимаю что полезно, легкие задачи делаю, но вот требующие времени дропаю.
>>692034
25 Кб, 659x387
#336 #691398
Почему в 21ой строчке два аргумента, а в шестой один? Как определяется, когда два вписывать, а когда один?
>>691402>>691412
#337 #691402
>>691398
Или в шестой получается вызов inBetween(3,6)(val)?
>>691410
#338 #691410
#339 #691412
>>691398
Потому, что в 21-ой строчке ты пихаешь не саму функцию inBetween, а функцию, которую она возвращает.
#340 #691422
двач, хочу начать учить node.js. Но у меня нету линуха. Что делать?
>>691427>>691447
#341 #691427
>>691422
Ну проведи исследование, можно ли под виндой учить, потянет ли твоя пекарня виртуалку, сильно ли хочешь начать учить.
#342 #691447
>>691422
В чем преимущество в обучении на линуксе? Командная строка же и в винде есть (кастомная)
>>691458
#343 #691458
>>691447
гайд только по линуху http://nodeguide.ru/doc/felix/beginner/
>>691462
#344 #691462
>>691458

>от Felixa


>план


>дописать раздел


Ахуительные истории. Но даже тут от лин только установка, ты ведь не совсем отбитый, сможешь далее>далее нажать?
>>691476
#345 #691474
>>691353
В каком смысле? После подгоузки данных заново запускай скрипт
#346 #691476
>>691462
В винде консоль уебанская. А ставить цигвин - это пидором надо быть.
>>691487>>691491
#347 #691487
>>691476
Ну вот и решилось, или ставить линукс или ныть дальше.
#348 #691491
>>691476
mobaXTerm более-менее ничего (хотя тот же сигвин по сути)
#349 #691495
Есть вообще какие-нибудь ахуенные курсы, скринкасты, любая хуйня по линуксу, ну чтоб не быть там как баран и новые ворота. Команды какие что как, чет годного вроде ненагуглиловалось.
Angular JS #350 #691497
С чего начать в Ангуляр? Есть какие нибудь доки или кодскулы по ангуляру?

С JS вроде более-менее понятно все стало, но нужно дальше. Из jQuery кое что беру, но ангуляр по примерам мне больше подходит.

Что почитать?
>>691575>>692036
170 Кб, 619x582
#351 #691499
>>690594
бумп
#352 #691500
>>691495
На официальном сайте убунту что-то есть
#354 #691782
Как установить gulp? Скачал node.js установил его, запускаю командную строку, перехожу в папку /npm ввожу команду npm install -g gulp в ответ мне выводит:
"npm" не является внутренней или внешней командной
>>691798
#355 #691791
Что думаете про это http://node-center.ru/docs/packages/item/56eadba2b29cd9b96850f009 ? Хоть один фреймворк, не построенный на Express. Выглядит любопытно.
>>691802>>691884
#356 #691798
>>691782
введи

node -v

и после ответа

npm -v

должно показать версии. Если не показывает, значит не так установил
#357 #691802
>>691791
Что плохого в экспрессе?
>>691818
#358 #691818
>>691802
Ничего. Но фреймворков вроде много, а откроешь - везде припудренный экспресс. А тут что то новое, при этом хорошо работающее.
>>692281
#359 #691884
>>691791
Владимир, пожалуйста
>>691953
#360 #691953
>>691884
Что-то не так?
#361 #692034
>>691373

>Все было здорово, писал игрушки на юнити, а потом на флеше


Наркоман? Зачем после юнити идти во флеш?

>Как думаешь анон, наверное сначала стоило заняться освоением html/css и верстки в целом?


Да

>Как думаете, 2.5 месяца достаточно для этого?


с головой

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


да
#362 #692035
>>691495
как говна
на edx есть курс introduction to linux
>>692076
#363 #692036
>>691497
Ты аутист, дропай это дело. Если гуглить не умеешь, все тщетно.
sage #364 #692076
>>692035

>introduction to linux


не советую. тупо текст из вики, зато пиар всяких курсов и сертификатов от линукс фаундейшн на каждой странице

мимокрок
#365 #692094
Добрый вечер. Есть одна задача:

"По дате рождения определить к какому знаку зодиака принадлежит человек."

И первой идеей было переписать дату из формата месяц/день в день в году. Т.е., к примеру, у нас есть чел. с датой 29/05. Период близнецов с 21/05 по 20/06. Просто вставить дату между этими числами возможности нет. Поэтому заставил код перерабатывать в период в году. 21/05 - 20/06 это 140 - 170 день.
Но получается огромный говнокод.
>>692101>>692102
#366 #692101
>>692094
Но 12 if это очень, очень плохо по моим представлениям. Может, через свич можно организовать как-нибудь? Или даже через for?
>>692103
#367 #692102
>>692094
Даю подсказку - ориентироваться на последний день для данного знака. Примерно в 5 строчек можно написать.
>>692104
#368 #692103
>>692101
Никакие if или свитчи там не нужны вообще.
#369 #692104
>>692102
т.е. вычитать дату рождения человека из последнего дня знака?
>>692106
#370 #692106
>>692104
Можно и с вычитанием конечно помудрить, но есть гораздо более простой способ.
Ещё подсказка - все знаки начинаются/заканчиваются в определенный месяц, и все месяцы разные, т.е. нету такого, что знак начинается в апреле и заканчивается тоже в апреле, например.
>>692111
#371 #692111
>>692106
Угу. Значит. Мы определяем месяц. Потом по дню определяем к какому из двух месяцев относится дата (знак зодиака).
>>692112
#372 #692112
>>692111
Да, уже ближе.
>>692114
#373 #692114
>>692112
Это всё, разве нет? Написать конструкции if к этому.
>>692115>>692117
#374 #692115
>>692114
Ну у тебя получится в пять строчек написать ифы для всех вариантов? Не думаю. Думай проще
>>692119
#375 #692117
>>692114
Не, вообще там один иф можно заюзать, но лучше тернарным оператором тогда обойтись.
>>692119
#376 #692119
>>692117
>>692115
И правда, что думаешь насчет тернарного оператора?
#377 #692126
Вот так?

if ((i != month) && (day !=20)) {
alert("Ой, чо-то надо для 12 месяцев описать");
}
#378 #692132
Ой, спасибо.

Получилось всё в три функции:
1) for - считает двенадцать месяцев. В нем -
2) if - определяет месяц и день - выдает в переменную число, которая далее идет в -
3) свич - пишет в документе твой месяц. Ура.
>>692138
#379 #692138
>>692132
Ладно, вот тебе вариант в 5 строк.
http://jsbin.com/qigujedafo/edit?js,console
Можно ещё меньше сделать на самом деле, а можно наоборот сделать более подробно, чтобы понятней было потом, тому кто читает, это самое главное, лучше не экономить на строках.
>>692141
#380 #692141
>>692138
Я бы не додумался, честно. В чем твой секрет?
>>692145
#381 #692145
>>692141
Если честно, то подобное решение я просто где-то видел довольно давно (в том плане, что нужно сравнивать последние дни знаков). С тех пор запомнил, на самом деле подобный "паттерн", если можно так выразится, используется много где, если есть список чего-то статичного.
>>692150>>692152
#382 #692150
>>692145
Поясни пожалуйста, как работает эта строчка, что она возвращает.

return day > lastDay[month] ? sign[month + 1] : sign[month];
>>692156
#383 #692152
>>692145
Какой стаж в программировании?
>>692156
#384 #692156
>>692150
Ну это тернарный оператор.
Читается примерно так: если день рождения человека (день месяца от 1 до 31) больше, чем последний день знака для данного месяца, то мы берем знак из следующего месяца, иначе (если д.р. меньше последнего дня знака), то берем знак для текущего месяца.
Хуёво объяснил наверно.
Смотри, ещё объяснение, "последние дни" лежат в массиве, индекс у них от 0 до 11, что совпадает с date.getMonth(). Через "lastDay[month]" мы к ним обращаемся, т.е. берем этот массив с днями и берем наш месяц, и смотрим какой для данного месяца "последний день" знака. А затем уже из массива знаков, опять же с помощью нашего месяца, выбираем нужный знак "sign[month + 1] : sign[month]"
Хз, на мой взгляд всё просто в плане исполнения кода, тут главное саму эту фишку про месяцы знать.

>>692152
Да тут не нужен стаж вообще никакой, просто надо знать фишку с "последним днем" знака
#385 #692223
Cпрашивал вопросы для собеседования в прошлом треде, хоть ответ и не помог, но я устроился джуном за 1.7к белым после налогов.
#386 #692225
>>692223

> 1.7к


Тугриков?
>>692227
#387 #692227
>>692225
Если тугрики это доллары, то да.
>>692228
#388 #692228
>>692227
Джуном за 1.7к? Ты откуда??
>>692229
#389 #692229
>>692228
Украина. У нас тут есть представители больших корпораций, где могут такое позволить. И это они еще урезают теперь расходы, пару лет назад можно было на большее выйти без проблем.
>>692230
#390 #692230
>>692229
Я в ПБ мидлом за 2к работал, что ж это у тебя за корпорация?
>>692231
#391 #692231
>>692230
lohika
#392 #692238
>>692223
Какие технологии? Нода небось?
#393 #692246
>>692223
Э, слышь, я тебе одно из двух решил, комиссию мне, пожалуйста.
#395 #692297
>>692223

Какой город?
45 Кб, 600x800
#396 #692311
Парни, помогите определиться!
Решил получить вышку заочно.
У меня уже есть СПО по направлению "Программное обеспечение средств вычислительной техники и автоматизированных систем", так что есть вариант закончить вуз ~ за 3 года.
В вузике который я выбрал есть 4 направления:

> 1. Программное обеспечение средств вычислительной техники и автоматизированных систем


> 2. Системы автоматизированного проектирования


> 3. Прикладная информатика


> 4. Программная инженерия



Собственно, на какое лучше пойти?

З.Ы. Занимаюсь front-end разработкой.
#397 #692313
>>692311
Похуй же. Учится в любом случае самому надо. Выбирай что круче звучит.
>>692396
#398 #692316
>>692311
Для чего тебе она?
Если для корочки, то выбирай самое халявное направление (если на заочке такое бывает).
Если для обучения, то это глупо.
>>692396
#399 #692321

>Для чего тебе она?


Для корочки.

>выбирай самое халявное


Они все равноценны.

>Похуй же. Выбирай что круче звучит.


Если бы я мог определиться самостоятельно, то не писал бы здесь. :)
>>692381
#400 #692329
>>692311
Я бы выбрал либо 1, либо 4, если бы шел еще раз

специалист прикладной математики-кун
>>692396
#401 #692332
>>692223
Lohika разве набирает джунов? Или это не в Киеве?
#402 #692355
Кекнул с парня
Только что блять написал другану в лохику, спросил зп джунов - 500-600$ потолок.
Что ещё расскажешь?
11 Кб, 604x461
#403 #692381
>>692321

> Для корочки.



Специально для тебя анон, крути рулетку:

> 1. Программное обеспечение средств вычислительной техники и автоматизированных систем


> 2. Системы автоматизированного проектирования


> 3. Прикладная информатика


> 4. Программная инженерия


> 5. Программное обеспечение средств вычислительной техники и автоматизированных систем


> 6. Системы автоматизированного проектирования


> 7. Прикладная информатика


> 8. Программная инженерия


> 9. Идешь учиться на безопастника


> 0. Идешь учиться на юриста



дабл- посылаешь нахуй высшее образование.
#404 #692382
>>692381
Все равно на прикладной математике учусь
#405 #692384
>>692386
#406 #692385
15 Кб, 400x261
#407 #692386
>>692384
Ну и ладненько.

> 1. Программное обеспечение средств вычислительной техники и автоматизированных систем

>>692387
#408 #692387
>>692386
Ох, сам себя наебал.

>4. Программная инженерия

#409 #692389
>>692381
Ролл
>>692390
#410 #692390
>>692389
О, заебись
>>692391
#411 #692391
>>692390
Всегда мечтал быть безопасником?
>>692395
#412 #692395
>>692391
Да, они же илита айти сферы
295 Кб, 917x1200
#413 #692396
Если больше предложений нет значит, иду на программную инженерию.

>>692313 >>692316 >>692329 >>692381
Спасибо вам анончики.
#414 #692564
На лирне дошел до моделей. В одно из примеров дается такой код:

var lodash = (function() {

var version;
function assignDefaults() { ... }

return {
defaults: function() { }
}

})();

И у меня возник вопрос, на который в лирне нет ответа: зачем нужны открывающиеся и закрывающиеся скобки в конце скрипта(для наглядности подчеркнул)?
>>692580>>692614
#415 #692580
#416 #692593
Сап. У меня дебиловопрос. Хочу пойти устраиваться фронтенд-макакой именно макакой ибо JQ и ангуляр, но нужно на собеседовании хоть что-то показать. Хоть какую-то работу. А у меня нет ничего кроме каких-то уродливых фиговин. Собственно вопрос... Какой сайт лучше всего накатать для резюме в неоч крупную фирму? С учётом того, что в бэкэнд я категорически не умею пока.
#417 #692614
>>692564
Когда функция записывается в виде (func() {})() это значит, что написанная функция тут же вызывается. Таким образом, к переменной присваивается не она, а возвращаемый ею объект.
#418 #692616
>>692593
Двачую вот этот вопрос, какого плана проекты следует пилить для портфолию вонаби-фронтендщику?
>>692819
#419 #692633
>>692593
Возьми ВК апи, посмотри что на основе его возможностей можно сделать. Заодно и опыт работы с апи заработаешь.
#420 #692713
Нужен AngularJS разработчик.
Обязательно:
- уверенное знание JavaScript;
- уверенное знание AngularJS;
- знание Twitter Bootstrap 3.

Плюсом будут знания:
CoffeeScript (мы предпочитаем его);
знание gulp или grunt (мы предпочитаем gulp);
понимание работы bower, npm.

Вкатываться сюда: https://goo.gl/jLY5ff
>>692718
#421 #692718
>>692713

>JavaScript, AngularJS, Twitter Bootstrap 3, CoffeeScript, gulp или grunt


Too old
>>692740
#422 #692740
>>692718

>too old


why?
>>692781>>692821
50 Кб, 453x604
#423 #692781
>>692740
ты ведь не надеялся на аргументацию, правда?
>>692789
#424 #692789
>>692781

>двач


>аргументация

#425 #692812
Парни что можно написать на mean стэке? хочу для портфолио на джуниора, какойнить круд или типо того. Хэлп плз
>>692822>>692862
#426 #692819
>>692593
>>692616
Запили небольшой типа-магазин со статическим контентом.
#427 #692821
>>692740
Gulp и Grunt мертвы после выхода Webpack, Twitter Bootstrap заменён Webix с гораздо более широкими возможностями.
>>692864
#428 #692822
>>692812
Блог.
#429 #692852
Парни, есть функция. К ней привязано два объекта через this. Как из одного привязанного объекта получить доступ к свойству второго? Пример кода тут - https://jsfiddle.net/ue1j5wxr/
>>692860
#431 #692862
>>692812
CRM-ку
#432 #692864
>>692821
Зачем жрать капусту и давиться говном пытаясь сделать из вебпака таскраннер когда есть божественный гульп?
>>692870
#433 #692870
>>692864
Чтобы дрочить на циферки даты выхода версии.
#434 #692873
>>692860
Понял, это по сути своей не какое-то решение проблемы в языке, а костыль?
>>692877
#435 #692877
>>692873
Так решения всего три (принципиально).
1. var self = this;
2. IIFE с передачей this в качестве аргумента.
3. Хранить ссылку на this в качестве атрибута каждого объекта.
>>692880
#436 #692880
>>692877

>3. Хранить ссылку на this в качестве атрибута каждого объекта.



this.this = this ?
>>692884
#437 #692884
>>692880
this.parent = this. Но шутейка ок, смешная.
>>692894
#438 #692894
>>692884
Спасибо.
>>692915
#439 #692897
Как решить то? Не выходит.
http://dkab.github.io/jasmine-tests/?spec=4
>>692917
#440 #692915
>>692894
Вопрос в догонку. Есть у меня функция, внутри которой объявляю переменную и вызываю другую функцию с колбеком. При возврате колбека мне нужно иметь доступ к той ранее созданной переменной, как реализовать?
>>692922
#442 #692922
>>692915
Обратиться к переменной по имени?
>>692932
#443 #692932
>>692922
undefined. Я на node.js пишу, если это имеет значение.
>>692944
#444 #692944
>>692932
покожи код
>>692975
#446 #692976
>>692975
Проебался, в консоль логе test вместо next
>>692980
#447 #692980
>>692976
>>692975
Не должно быть undefined по такому коду, всё написано верно.
>>692988
#448 #692988
>>692980
А почему должно работать? test же является локальной переменной, а когда колбек возвращается функция уже должна отработать своё? Или я не так понимаю.
>>692998
#449 #692998
>>692988

>локальной переменной


>жсовые скопы

>>693014
#450 #693014
>>692998
Да не работает нихрена, undefined пишет :(
>>693028
#451 #693028
>>693014
Твой пример с jsfiddle работает, зачем ты нам грустные скобки ставишь
>>693052
#452 #693052
>>693028
Да, я обосрался, не в этом проблема. Вот более полный код : https://jsfiddle.net/5mosgmj1/. Собственно, получаю ошибку, что next() is not a function. На сколько я понимаю, this.test() вызывается в контексте объекта arg, и из-за этого возникает ошибка? Или в чём проблема, как заставить работать?
#453 #693076
>>693052
Покажи как checkDuration вызываешь, твои фрагментарные куски слабо помогают пониманию.
Алсо. когда ты вызываешь next() таким образом - this проебывается
#454 #693079
>>687795
Нет. Ну разве что как простенькие скрипты писать, этакое подобие баша.
А месяц - можно.
#455 #693081
>>690640
Каждый модуль - независимая функция, где роль this выполняет module.exports.
Все операции, так или иначе касающиеся ввода-вывода (работа с файлами, обработка запросов) выполняются асинхронно.

Собственно это вся суть Ноды.
#456 #693110
>>687795
Прочесть исходники ноды - вполне.
#457 #693111
>>690722

>это значит, что он не будет оставаться популярнейшим, если что.


Альтернативы в браузерах нет и не будет. А значит у js будущее надежнее, чем у java.
#458 #693112
>>690743
Монго - залупа без задач. PostgreSQL уделывает по всем фронтам.
>>693116
#459 #693113
>>690995
Экспресс и ангулар охуенны.
#460 #693114
>>693052
Я нахуй не понимаю, что ты хочешь сделать этим кодом.
Если ты вызываешь из объекта метод objName.methodName(), то this будет указывать на этот объект.
Если тебе надо хранить некий state, то два пути:
1. Обернуть в promise и вызывать цепочкой вызовов
2. Хранить глобальный стейт
Объясни задачу.
#461 #693115
>>693052
https://jsfiddle.net/5mosgmj1/1/ - короче, я не понял, что ты хочешь, но может так устроит?
>>693217>>693340
#462 #693116
>>693112
Напоминаю, что разные базы подходят для разных задач. Тащить свою любимую базу на все проекты подряд - признак фанбоя.
>>693128
#463 #693128
>>693116
Я это прекрасно понимаю - выбор инструмента под задачу. Вот только все задачи, которые ставятся перед mongoDB можно решить с помощью postgreSQL, при этом пользуясь всеми преимуществами реляционной модели.
Если я не прав - поправь.
#464 #693217
>>693115
this.test is not a function
#465 #693256
Джеэссаны, какой инструмент сейчас доктор прописывает пациентам, которые хотят обмазаться юнит тестированием JavaScript-a? Jasmine, QUnit?
>>693320
#466 #693261
>>690347
двачую, у когонить есть эта книжка? и кто сможет поделится? а то гуглом не находится
#467 #693320
>>693256
Какой JavaScript то? Браузерный, серверный, десктопный?
>>693322>>693325
#468 #693322
>>693320
А в чем разница будет?
>>693332
#469 #693325
>>693320
Браузерный.
>>693346
sage #470 #693332
>>693322
никакой, все говно
>>693334
#471 #693334
>>693332
В смысле все тест раннеры говно?
>>693343
20 Кб, 659x375
#472 #693339
Кароче, ёбты, бля. Кто знает лучший способ встроить socket.io-client в redux контейнер, не передавая сокет как проперти из родительского контейнера?
Уместно ли пользоваться сокетом как отдельной единицей из вне, не засовывая его в контекст, стейт или проперти компонента?
Если я буду создавать новый сокет в каждом компоненте, насколько это будет накладно, они кэшируются?
>>693351>>693354
#473 #693340
>>693115
Опять обосрался, спасибо за помощь, про bind почитал и разобрался.
#474 #693343
>>693334
Это траль из рабипистонов, не обращай внимания.
#475 #693346
>>693325
CasperJS, Phantomas.
#476 #693351
>>693339
Наверное самый оптимальный вариант подключить сокет в самом родительском элементе.
самоответ
>>693353
#477 #693353
>>693351
самоответ*
#478 #693354
>>693339
Лол, ты какую-то дикую херню делаешь
Если у тебя есть редакс, то все действия сокета происходят внутри редакса, а не в реакт компонентах
>>693357
#479 #693357
>>693354
Он использует сокеты в контейнерах.
https://github.com/raineroviir/react-redux-socketio-chat

Ладно, в какой части редакса я должен положить сокет?
Мне нужно какое-то место чтобы запускать экшены.
#480 #693447
Ребят, как сделать? Подскажите хотя бы направление, пожалуйста.
Реализуйте функцию intersect, которая принимает на вход два многоугольника и возвращает массив многоугольников - их пересечение, либо пустой массив, если многоугольники не пересекаются.
>>693473
#481 #693473
>>693447
Что именно не ясно? Тебе просто один из существующих алгоритмов поиска пересечения реализовать надо
>>693487
#482 #693487
>>693473
Спасибо. Я просто думал что мне самому этот алгоритм придумать надо, а в голове только начальные идеи. Это отборочное задание на одни курсы, кстати.
>>693495
4 Кб, 200x200
#483 #693492
Народ я не знаю нормально это или нет, но я прочел на http://learn.javascript.ru/ главу с основами, и вроде что-то понял, но некоторые задания я так и не смог осилить самостоятельно. Стоит ли продолжать изучать материал или лучше пройти все заново?

Так же прошел вступительные два задания для регистрации в codewars по js, но увидев задания которые дают там, малость охуел.

Вообще не понимаю, как правильно надо учить джаваскрипт. Может я не правильно что-то делаю. Дайте советов что ли.
>>693697
#484 #693495
>>693487
Нахуя на курсы по js задание такого типа? (прям как лабораторка какая-то ей богу)
>>693585
#485 #693585
>>693495
Так преподаватели решили, чтобы отсеять полных нулевиков. Курсы https://twitter.com/kottans_org , кому интересно. Бесплатные, не реклама, лол)
#486 #693606
Сап.
Недавно начал пилить проектик на метеоре и ахуел от него, все очень быстро и красиво, но мой говнокод меня напрягает. Где можно прочитать про стандартные практики на метеоре? Например как прислать заявку в друзья пользователю? как лучше сохранять в базе автора сообщения в чате? Хранить только его айди или целиком хранить пользователя?
35 Кб, 673x569
#487 #693648
Ок, парад тупых вопросов продолжается.
Почитал статей про редакс и сокеты и узнал, что сокеты можно пихать в мидлвейр для отправки сообщений, и поставить прослушивание на сообщения с сервера где-то ещё.
Но вот решил углубиться во все эти сокеты глубже, и впал в непонимание. Вот код
1) строчка `io.sockets.on("connection", function(socket){` выполняется каждый раз, когда к серверу подсоединяется новый сокет, где аргумент `socket` в анонимной функции - новый клиентский сокет. Я правильно понял?
2) В чём разница между `this.emit` и `io.sockets.emit`? Какой контекст у переменной `this` в этой ситуации?
280 Кб, 452x710
#488 #693661
Сам разобрался, пиздос. Всё самому.
#489 #693679
Как мне зареквестировать имейл из процесса регистрации через фейсбук?
FB.api('/me', function(response) {
console.log(response.email);
Пишет, что мейл undefined. Пробовал применить scope: "email" к Fb.getLoginstatus() и добавил опции запрашивания имела в своем приложении на фб, но все равно undefined. Может там какой-то платный доступ нужен, чтобы запрашивать мыло?
#490 #693697
>>693492

> Стоит ли продолжать изучать материал или лучше пройти все заново?


Стоит продолжать. Зазубривать смысла нет. Само войдет в голову. Не бойся возвращаться к готовому материалу.

> но некоторые задания я так и не смог осилить самостоятельно


Это нормально. Просто запомни где лежит их решение на будущее.
#491 #693832
как при наличии oauth-аутентификации в приложухе должна делаться авторизация? на фронте или на бэкенде?
>>693897
#492 #693862
рипост из прошлого:

Проблема с логгированием и pybrain.
В общем, есть примитивный код: http://pastebin.com/wcEhadUm
И, собственно, какого чёрта импорт pybrain'а влиет не только на существующие, но и вообще на все новые логгеры? Как так-то, блин?!

Там в нём есть напрямую вызовы logging.warn(...), которые, вроде как, и есть проблемные места (в рут логгер, что ли, добавляется дефолтный хендлер, который вызывается всегда, так как является "родителем" всех логгеров полученных через менеджер). Но что это за бред-то, блин? Единственный способ получить чистый, личный логгер - это напрямую l = logging.Logger('mojo'), но тогда он в менеджер не запишется и я из другого модуля не смогу его через getLogger получить никак (создастся новый).

Что я не так делаю-то, как мне быть? Хочу логгер через getLogger, но без "чужого" мусора в нём.

Собственно, вот это можно запустить для иллюстрации проблемы (на идеоне не работает logging) — http://ideone.com/8p6md2

Пока что решил добавлением

>logging.root.handlers = []


после импорта pybrain'а, но это какая-то хуйня, а не решение же.
>>693863
#493 #693863
>>693862
Блин, простите. не туда.
Моча, удоли плз.
#494 #693897
>>693832
А ты-то сам как нахуй думаешь? Как ты собрался авторизовывать через фронт?
>>693910>>693913
#495 #693910
>>693897
ну допустим есть админка в /admin, роуты хендлятся на фронте, соответственно даже обычный юзер туда попадает в любом случае, т.е. на фронте должна быть проверка прав (обращением к бэкенду с вопросом: разрешит доступ или нет)
>>693913
#496 #693913
>>693897
>>693910
и если подменить ответ бэкенда, фронт отрендерит админку (пусть без данных)? пиздец?
>>693928
#497 #693928
>>693913
Возьми да сделай, чего боишься? Подводные камни всплывут потом.
#498 #693949
>>685345 (OP)
Фланаган еще актуален или нет ?
>>693986
#499 #693986
>>693949
Не актуален.
>>694028
#500 #694028
>>693986
а кто теперь?
>>694030
#501 #694030
Тред утонул или удален.
Это копия, сохраненная 13 апреля 2016 года.

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

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