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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
JavaScript #49 #753689 В конец треда | Веб
Ссылка на прошлый тред: >>749639 (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 #753696
Я продолжаю своё нубовство с колбеками: зачем делать

function some_function(arg1, arg2, callback) {
var my_number = Math.ceil(Math.random() (arg1 - arg2) + arg2);
callback(my_number);
}

some_function(5, 15, function (num) {
console.log("callback called! " + num);
});

Если можно сделать

function some_function(arg1, arg2) {
var my_number = Math.ceil(Math.random()
(arg1 - arg2) + arg2);
console.log("callback called! " + mynumber);
}

Результат будет одинаковым?
#3 #753706
>>753696
reusability
#4 #753708
>>753696
В первом случае some_function более гибкая чем во втором с захардкоженным консоль.лог. Первую можешь использовать где угодно и как угодно, вторую придется копипастить и менять.
#5 #753710
>>753696
Тут можно и без колбэка обойтись.
Попробуй прочитать файл в переменную без колбэка, например
>>753712
#6 #753712
>>753710
Долго будет?
>>753714
#7 #753714
>>753712
Он не прочитается
>>753720>>753725
#8 #753720
>>753714
Чому? По примерам вроде читало и без колбеков.
>>753728
281 Кб, 1280x1280
#9 #753725
>>753714
fs.readFileSync
>>753728
#10 #753728
>>753720
Каким примерам? У апи ноды есть ещё синхронные функции, вот как тут >>753725, но они морозят весь луп, и, например, все пользователи сайта будут ждать загрузки этого файла, если использовать такую функцию
35 Кб, 1013x567
#11 #753744
>>753689 (OP)

Антон, поясни за релейт, особенно интересует конструкция функция()();

линк https://www.codelect.net/InterviewQuestions/Node.js-Junior-Level-Test
#12 #753785
>>753349
Да дело в том, что бумажные издания лучше усваиваются, легче вспомнить материал, приятнее читать и тд.
Но да, платить по 1500руб. я пока ещё не готов.
#13 #753794
>>753744
функция - просто функция.
>>753797>>753809
#14 #753797
>>753744
>>753794
бля, сорян, куклоскрипт слетел. это вызов функции которую вернёт функция
>>753809
#15 #753809
>>753797
>>753794

оки. а как этот "приём" называется на англ? или что почитать по сабжу?
>>753811
#16 #753811
>>753809
Каррирование.
>>753831
#17 #753829
Ребят, у меня нет мотивации, но мне кажется я знаю как ее достать. Я бы хотел запилить игру на подобии дендивского "чипа и дейла", что мне поможет? По JS прочитаны секреты ниндзя, паттерны и флэнэган, верстку знаю хорошо, рисовать более-менее умею. Что можете порекомендовать?
#18 #753831
>>753811

пасибки, смотрю релейт, эпично. https://egghead.io/lessons/javascript-what-is-currying
>>753881>>753953
#19 #753832
Естественно, я хочу, чтобы это все работало в браузере >>753829
#20 #753860
>>753829
Ищи жс-движок для 2д игорь
#21 #753868
>>753829
Phaser. Он лучше чем кокос хотя бы изкоробочными колижонами и классною документацией + кучей туториалов
>>753878
#22 #753878
>>753868

>Phaser


о, спасибо, щас наверну, а то мне гугл какую-то глупость выдавал
#23 #753881
>>753831
godnota
#24 #753898
Вкатился в JS, неделю назад, полет нормальный. Пытаюсь сделать простейший кликер для саморазвития, и никак не могу понять как вывести статистику?

Количество золота, и тд?

Например, почему такая конструкция не работает?

<script type="text/javascript">
function main()
{
var gold = document.getElementById("stat_gold")
var gold_start = 100
gold.innerHTML = gold_start
}
</script>
<body>
main()
<span>Золото: <span id="stat_gold"></span></span>
</body>

помогите тупому дебилу
>>753900>>753915
#25 #753900
>>753898
Вызов функции тоже должен быть в теге script
>>753903
202 Кб, 1920x1080
#26 #753903
>>753900
Нет, не помогает.
Вот полный код, на всякий случай
#27 #753905
>>753903
иди нахуй, Лёша
>>753914
#28 #753914
>>753905
блядь, не работало, потому что скрипт вызывался до загрузки страницы, и елемента с таким айди еще не существовало.

Перенес скрипт в конец страницы и все ок

Спасибо за помощь, уёбок
>>753922
#29 #753915
>>753898
>>753903
открываешь learn.javascript.ru и начинаешь читать с самых основ, иначе дела не будет
#30 #753918
Поясните за сокеты, как это нагружает сервер? Что лучше, отправлять запрос каждые пять секунд на сервер или держать сокет в плане нагрузки? Что не нагружает на сервер, много запросов или много сокетов? Сокет нагружает сервер только в момент события или на всем времени вашего существования?
>>753940
#31 #753922
>>753914
Леха, иди нахуй
другой анон
#32 #753940
>>753918
В системе есть ограничение на количество соединений (включая сокеты). Сокеты значительно дешевле, чем отправлять запрос каждые пять секунд. Зависит от задачи, но в общем случае, лучше использовать сокеты.
>>754028
#33 #753944
Суп, антоны. Есть такое дело: хочу запилить сервис/приложеньку для визуализации данных, ну, там, графики, диаграммы и пр. Желание такое возникло потому как не устраивают аналоги, уж очень кастрированныееще и с вотермарками, да и просто для себя, интересно как оно в вебе. Сам то я вебе 0, недавно вот JS начал учить, опять же из интереса. Вот и прошу совета: чего покурить, какой фреймворк юзать, чтоб хватило и чтоб не сильно углубляться.
>>754035
#34 #753953
>>754063
#35 #753957
Аноны, вобщем я заебался в универе жопу просиживать. Диплом бакалавра на руках, работал там сям в всяких конторах. Свои проекты есть. Уже лет 5-6 в этом гавне. Не скажу, что прямо вообще пиздец дохуя знаю, но нормально так, редко бывают задачи или проекты, где я бы тупил.

Вобщем хочу в крутую контору года на 2-3 заскочить, чтобы было охуенно, нормальные бабки, охуенные задачи, нормальные люди, опыт, чтобы я прямо сказал - да, это моё.

Дак вот как убедить этих людей, что меня надо брать, что я заебись, что я лучшее что они могут найти? Есть варианты? И как думаете смотрят ли они в репозиторий?
>>753961
#36 #753961
>>753957
Они же сами пишут требования, епта

> И как думаете смотрят ли они в репозиторий?


Конеш. Можешь еще сказать, что ты им так покоммитил
>>753962
#37 #753962
>>753961

> там


ff
>>753973
#38 #753973
>>753962

всмысле покоммитил?
>>753988
#39 #753988
>>753973
У любой норм конторы есть гит зубчик, перед собеседованием неплохо бы послать пару комитетов в их проекты
>>754014
#40 #754014
>>753988

> гит зубчик


Гитхабчик
слоуфикс ебанутого яблока
>>754016
#41 #754016
>>754014

>яблока


Успешный в моем js треде? Непорядок
>>754022
#42 #754022
>>754016
Он за это яблоко еще 2 года будет жопой торговать, чо ты.
>>754140
#43 #754028
>>753940
А что насчет long polling? Клиент подключается к серверу и ждет, пока не появятся новые данные. Сильная нагрузка будет на сервер, если придется держать много живых подключений?
>>754048
#44 #754035
>>753944
Простая же задачка ребятки, чего вы...
>>754038
#45 #754038
>>754035
Проще на голом будет, если реально всё простенько, но раз уж хочешь фрейм, то d3
>>754067
#46 #754048
>>754028
Сокеты легче
#47 #754063
>>753953

google chrome -> f12
#48 #754067
>>754038
Крутая штука, судя по примерам.
Спасибо, анон
#49 #754069
Что вы используете в своих приложениях для тех случаев, когда все пиздец сломалось и надо срочно бежать и чинить даже посреди ночи прямо из-под теплой тяночки?

Ищу что-нибудь подобное, в идеале чтобы звонило мне на телефон и трезвонило, пока сам не сброшу.
#50 #754084
Ребята, предположим у меня есть 2 дива, у которых бэкграундом поставлена какая-то картинка. Можно ли как-то по клику получить адрес этой картинки?

<div style="background: url(img/img1.jpg) onclick="getPic()">
<div style="background: url(img/img2.jpg) onclick="getPic()">

<script type="text/javascript">

function getPic() {
???
}

</script>
>>754106>>754142
#51 #754106
>>754084
Бля ты вообще тупое хуйло, научись в гугл, чмырь

el.style.background
#52 #754140
>>754022

>яблоко


>жопой торговать


а ему и норм
#53 #754142
>>754084
Соколов, бля, тебе же сказали куда пиздовать
#54 #754179
Сап, программач.
Вопрос таков: как в JS работать ну с ОЧЕНЬ большими целыми числами? Перелопатил весь stackoverflow, весь интернет, даже небо, кроме как заполнения нулями ничего больше не советуют.
Например, нужно прибавить 2 числа:
712569312664357328695151392' и '8100824045303269669937, и в результате получить '712577413488402631964821329' вместо '7.125774134884027e+26'. Если что, задание с codewars.

http://www.codewars.com/kata/5324945e2ece5e1f32000370/train/javascript
>>754180>>754181
#55 #754180
>>754179
В столбик складывать. Я не шучу.
>>754182
#56 #754181
>>754179
Есть либы, которые работают с длинными числами, как со строками.
>>754183>>754184
#57 #754182
>>754180
Если строка длиннее 20 символов, то преобразовать ее в массив, пройтись по нему, и прибавлять по 1 элементу из каждого массива и результат вносить в новый? Я правильно тебя понял?
>>754183
#58 #754183
>>754182
Да, логика такая. Эти либы >>754181 примерно так и делают. Получается медленнее и результат в виде строки. Но получается.
>>754185
#59 #754184
>>754181
Пользоваться либами нельзя, я должен написать функцию на чистом JS прямо на codewars.
#60 #754185
>>754183
Спасибо, сейчас попробую. Есть ещё где нужно 30-значное число возвести в степень такого же числа, лол. Не менее эпично.
>>754186
#61 #754186
>>754185

>Есть ещё где нужно 30-значное число возвести в степень такого же числа, лол.


По-моему, тут жёсткого диска не хватит, чтобы вписать его без отрезания низших порядков.
#62 #754187
Math.pow(1e30, 1e30); // Infinity
#63 #754348
>>753903
Сисярпист, шоле?
>>754352
#64 #754352
>>754348
Нет, Соколов.
>>754396
#65 #754360
Почему эта штука не работает в юзерскрипте?
function reload() {
window.location.reload(true);
}
setInterval (reload, 10000);
#66 #754362
>>754360
Хочу обновлять страницу каждые 10 сек.
>>754369
#67 #754364
Какой способ считается бест практикс для задавания ширины враппера в зависимости от размера экрана?
>>754367>>754375
#68 #754367
>>754364
Верстка в /wrk/
#69 #754369
>>754360
>>754362
Что в консольке пишет? Может у тебя прав нет для window
>>754380
429 Кб, 640x615
#70 #754374
Посоны, кто-нибудь проходил платный курс кантора?
Что скажете, годнота, жёстка, НИАСИЛИЛ?
>>754418
#71 #754375
>>754364
40vw или как-то так. vw и vh это проценты от ширины и высоты экрана соответственно.
40vh это 40% от высоты экрана.
Можно ставить больше чем сто, тогда появится скролбар.
>>754381
#72 #754376
>>754360
А ты код как запускаешь? Уж не через консольку ли вручную, случаем?
>>754380>>754397
#73 #754380
>>754369
>>754376
Отдельно скриптом работает это
var time = 12000; //= 10sec

window.setTimeout(
function()
{
window.location.reload() ;
},
time
) ;

Пока так оставлю
>>754384
#74 #754381
>>754375

>vw и vh


Охуенный бест практикс который не работает в ie8
>>754382
#75 #754382
>>754381

>2016


>IE8

>>754383
#76 #754383
>>754382
Ну ты и мудак, пиздец, не пиши сюда больше
>>754870
#77 #754384
>>754380

>12000


>10 sec


лол
>>754386
#78 #754386
>>754384
Просто я хотел чтобы у меня один скрипт и обновлял страницу и делал что-то ещё, но чёт не получается.
>>754389
#79 #754389
>>754386
До или после перезагрузки?
>>754393>>754395
#80 #754393
>>754389
После
>>754397
#81 #754395
>>754389
Впрочем не важно, я же частично решил проблему.
#82 #754396
>>754352
proigral
#83 #754397
>>754393
Вернёмся тогда к этому вопросу -> >>754376

Если какие-нибудь гризманки, то юзерскрипт запускается каждый раз при открытии страницы. Вот загружается страница, запускается твой скрипт, который ждёт 10 секунд, перезагружается страница, запускается твой юзерскрипт, который ждёт 10 секунд и... нутыпонел.
#84 #754418
>>754374
Чо за кантор?
>>754420>>754450
#85 #754420
>>754418
Да есть тут один пидор, постоянно курсы свои в тредах рекламирует, не обращай внимания.
#86 #754430
Есть маркеры на гугл карте. Есть список.
Как при нажатии на элемент списка добавить css класс маркеру?
>>754455
88 Кб, 500x375
#87 #754450
>>754418
Чувак из парашки. Котируется как неплохо знающий джс. Накатал учебник на сайте learn.javascript.ru. В основном сей ресурс известен как справочник для начинающих, потому как на рузком язике, для неспособных в инглиш самое то. Однако учебник на деле весьма посредственный, многие важные моменты на рассматриваются, выучиться чисто по нему не выйдет. Но если совсем нуб, то пойдет для подскока.
#88 #754452
>>754450

> многие важные моменты на рассматриваются


Например?
Мимо кантор
>>754456
#90 #754456
>>754452
Из 6-й спецификации мало что есть, шадовы, дедзоны етц. Поясняешь хуево, сухо, без деталей, для человека несведущего в джс многие моменты остаются недопонятыми. В общем, садись и переписывай.
мимо-Резиг
#91 #754460
Как бы вы ответили на собеседовании на вопрос "Что такое замыкания?"
#92 #754474
>>754460
Я бы тебе ответил, но это будет такая простыня, что заебешся читать. Да и писать мне лень.
>>754488
#93 #754480
>>754460
Одна из особенностей лексического окружения в языке программирования javascript.
>>754488
#94 #754482
>>754450
совсем нубы кантора не могут осилить - уже видал таких и не одного. для них он сильно сложный
>>754554
#95 #754485
>>754460
Ограничение области видимости переменной. Общий вопрос - общий ответ.
>>754488
#96 #754488
>>754474
>>754480
>>754485
Мы вам перезвоним
>>754492
#97 #754492
>>754488
У тебя зарплат нет таких, чтоб даже пытаться.
#98 #754493
>>754450
Какого хуя тогда он в шапке рекомендуется?
Предложи чем заменить, в ингриш могу.
>>754554
#99 #754499
Раз уж пошли разговоры про Кантора. Кто-то может глянуть мое поделие?
Обычная каруселька. Только он в видосе сказал, что надо делать не так, как у него на сайте, а через прототипы.

http://jsbin.com/qupiyagaqu/edit?js,output

буду признателен, если обосрете
>>754505>>754611
#100 #754501
>>754460
С какой целью интересуетесь?
#101 #754503
Я знаю весь JS от корки до корки. Задавайте вопросы.
#102 #754505
>>754499
Юзай на карусели делегирование вместо двух обработчиков на кнопках.
Вынеси логику переключение слайда в отдельную функцию. Пусть она принимает на вход число и в завимости от него включает нужный слайд.
Соответственно, ты просто будешь вызывать по клику на prev, к примеру, changeSlide( activeSlide - 1), а на next changeSlide( activeSlide + 1)
>>754510
#103 #754507
>>754503
Здарова, Брендан Эйх. Как поживаешь? Когда там новый браузер выйдет?
#104 #754509
>>754503
Хочу выучиться на фронт-енд. Более менее задрочил ванильные основы, прочитал книгу по жкверям, думаю начать разбираться в каком-нибудь фреймворке, но отпугивает во всяких видеоуроках на тот же реакт автор тут же использует десятки каких-то плагинов, бабелей, тайпскриптов. Как быть, что учить и по каких материалам?
>>754514
#105 #754510
>>754505
Ок, еще замечания?
>>754526
#106 #754511
>>754503
Нахер нужен delete?
>>754513>>754514
28 Кб, 600x142
#107 #754513
#108 #754514
>>754509
Отсортируй по важности.
jquery - самое основное
angular - после
за всякие тайпскрипты просто бей лица.

>>754511
сейчас это единственный способ удалить ключ из объекта.
#109 #754515
>>754514

>сейчас это единственный способ удалить ключ из объекта.


Так мутабельность же всё? Зочем?
>>754519
#110 #754519
>>754515
Что "мутабельность всё"?
>>754520
#111 #754520
>>754519
Нинужна.
>>754521>>754527
#112 #754521
>>754520
Если ты используешь объект как контейнер для хранения изменяющихся данных, мутабельность как-раз необходима.
#113 #754526
>>754510
Сделай перетаскивание с помощью swipe (как на мобильниках перетаскивают пальцем). Сделай гибкую настройку количества прокручиваемых элементов при инициализации.
>>754531>>754532
#114 #754527
>>754520
Что значит "нинужна"?
>>754530
#115 #754530
>>754527
Не надо.
>>754536>>754826
#116 #754531
>>754526
бля, это задание из раздела основы работы с событиями, там еще даже делегирование не упоминалось (но слава Богу и так знаю че это, так что смогу подправить).

Когда дойду до остального тогда и допилю swipe
>>754537
#117 #754532
>>754526
вот про настройку, да, пожалуй можно
#118 #754536
>>754530
Аргументироать можешь?
>>754553
#119 #754537
>>754531
Тогда еще сделай бегающего Чикатилу при прокрутке слайда слева направо или справа налево.
>>754559
#120 #754551
>>754514

>angular - после


>за всякие тайпскрипты просто бей лица


\0
#121 #754553
>>754536
Иди читай SICP.
>>754562>>754585
#122 #754554
>>754482
Хм, ну я в джс после пы
хи вкатился, мне норм зашел.
>>754493
Потому что он для нуба заебись, потому и в шапке. Дальше You Dont Know, Javascript javascript allonge, eloquent javascript, secrets of js ninja
#123 #754557
>>754514
Вот за тайпскрипт я бы тебе лицо сломал, лошара ты эдакая.
#124 #754559
>>754537
WAT???
>>754584
#126 #754567
>>754562
сразу допишу, что мимо анон и да, я видел что в конце написано "это не повод отказаться от ознакомления "
#127 #754569
>>754562
Охуенная простыня, в которой Сассман пытается скрыть свое "заебало читать студентам SICP" за нелепыми причинами, можешь выкинуть целиком и полностью.
39 Кб, 600x516
#128 #754575
проблевался нахуй
>>754586
18 Кб, 700x394
#129 #754584
>>754559
Прикрепи его рожу к фигурке человечка и пусть будет вместо лоад-спиннера.
#130 #754585
>>754553
То есть аргументировать ты не можешь?
#131 #754586
>>754575
Что это за муйня?
#132 #754611
>>754499
Сделай круговым по булевому значению в объекте настроек
>>754729
#133 #754662
Есть json вида {id: '1', name: 'daw'}. И есть класс с такими же свойствами, но еще и с методами. Как из json'а сделать объект класса, не передавая каждый параметр в конструктор?
>>754664
#134 #754664
>>754662
_.extend, Object.assign.
#135 #754711
ребятюни, выручайте. создаю веб-приложение, использую ext-js

прога компилируется нормально, но когда открывается клиентская часть - на ней ничего нет. в коде страницы следующая ошибка:
"Uncaught TypeError: Cannot read property 'isBufferedStore' of undefined"
кто может посоветовать по этому поводу что-то?
#136 #754721

> Не удается прочитать свойство 'isBufferedStore' неопределенных


Что тебе непонятно?
>>754724
#137 #754724
>>754721
непонятно как это починить
>>754726
#138 #754726
>>754724
Нам тем более непонятно, мы же код не видим
>>754762
#139 #754729
>>754611
ок, добавлю в список на доработку, все-равно думаю вернуться когда до конца пройду учебник и запилить более-менее сносную карусель. Заодно можно будет в собственную библиотеку компонентов это гавно потом добавить, лол)
#140 #754736
кто-нибудь на это пойдет?

http://frontend-science.com/node/
#141 #754758
>>754736
Здесь хохлов нет.
#142 #754759
>>754736
Вот нахуя на курсы ходить? Все самостоятельно читается и усваивается
>>754760>>754769
#143 #754760
>>754759
Чтобы помочь финансово бомжам из Luxoft.
#144 #754762
>>754726
https://github.com/imbaclearic/Bookshelf2

ошибка в файле ext-all.js

просто я в js еще не умею, но в проект вклинить надо. нашел шаблон, а тут такое. вот и пришел к вам за помощью. заранее спасибо
>>754824
#145 #754767
>>754758
Поссал на слепошарую пидораху.
626 Кб, 1080x607
#146 #754769
>>754759
Я бы сказал, что практической пользы(в плане полученных знаний) особой нет, хотя от курса, конечно, зависит, но в основном нет, а вот психологическая есть, по крайней мере для меня. Это как бы создание некоего ритма, когда ты в свободное время учишь хорошие книги. а потом на курсах применяешь, ну или узнаешь эти же вопросы с другой стороны, то есть более комплексно, плюс там стараются структурировать материал и подавать его в рамках поступательного обучения, без разбрасывания на сторонние или несущественные вопросы. В общем, я был на одних курсах и мне нравилось, дало хороший скачок в кодинге(потому как по крайней мере 4 часа в день я был обязан заниматься на курсах и еще пару часов дорабатывать дома, что для таких лентяев как я круто). Главное платные курсы хуесосить, потому как там говно в основном, а на бесплатные по конкурсу врываться, там часто предпрод, чтобы штат джунами пополнить, соотвественно затачивают норм под задачи фирмы, но это с моего личного опыта.
# OP #147 #754782
>>754758
Даже ОП хохол, але
>>754808
19 Кб, 837x408
#148 #754798
Кантор ебанулся или я в глаза долблюсь?
>>754805>>754807
#149 #754805
>>754798
Почему 5 по-твоему?
#150 #754807
>>754798
текстовая нода (перевод строки и пробелы)
ли
текстовая нода (перевод строки и пробелы)
ли
текстовая нода (перевод строки)
>>754809
#151 #754808
>>754782
А у меня тян хохлушка.
автор шапки
29 Кб, 1430x290
#152 #754809
>>754807
ну и проверил в песочнице она тоже 5 выдает
>>754810>>757579
#153 #754810
>>754809

>ul id="ul"


)))
>>754812
#154 #754812
>>754810
да блядь понятно что хуйня, это не относится к вопросу, а на коленке для проверки
>>754813
#155 #754813
>>754812
Нет
>>754816
#156 #754816
>>754813
что блядь нет? ну не задавай id, напиши через document.querySelector('ul'). Ниче не изменится.
#157 #754824
>>754762
Во-первых, давай прямую ссылку на файл, никто не будет среди кучи говна искать твой файл. Во-вторых, даже те идиоты, которые-таки поищут его, точно не будут разбираться в двух мегабайтах обфусцированного дерьма.
#158 #754825
>>754758
та я твою маму їбав, мерзотник
>>754836
#159 #754826
>>754530
Есть у тебя на экране кусочек дерьма. Вдруг в это дерьмо кто-то наступил и оно сильно завоняло. Вот как тут без мутабельности? Заменить дерьмецо новым, сильно пахнущим, вместо изменения его состояния?
#160 #754833
JSаны, как в angular.js внести изменения в DOM шаблона директивы после того, как она скомпилируется. В шаблоне используются другие директивы, в link попадает только сам тэг. В консоли браузера изменения делаются нормально.
#161 #754836
>>754825
Донбасс верни сначала, потом про мамок пиздеть будешь.
Ну серьезно, пацаны, заебало уже под санкциями жить.
>>754948
#162 #754856
>>754736
бля, жаль что я 26летний безработный на шее у мамки и даже мизерных 3к у меня нет, и не у кого одолжить.
#163 #754861
>>754736
Это самому за пару недель можно освоить методом тыка, если жс знаешь. Даже не знаю кому нужен этот курс
Почти такой же курс у кантора, который он бесплатно выкладывал. Он протух, правда, но общие принципы понять можно
>>754871
#164 #754870
>>754383
на ие8- выдавай ссылку на браузеры
#165 #754871
>>754861
н-но... преподавтели... менторы... проверка заданий...
>>754874>>754877
#166 #754874
>>754871
...не нужны
#167 #754877
>>754871
Выкладывай задания сюда, тут тебя забесплатно обосрут
>>754879
#168 #754879
>>754877
я же не обоссаный Алексей Соколов
>>754881
#169 #754881
>>754879
А что ты имеешь против Соколова?
>>754885
#170 #754885
>>754881
мамка его миньет такой-себе делает
#171 #754912
>>754736

>кто-нибудь на это пойдет?


Боюсь, с четырёхлетним стажем в Node.js я не узнаю ничего нового. Разве что какие-то новые хипсторские веяния.
>>754922
#172 #754922
>>754912
Express или Sails?
>>754928>>754929
#173 #754928
>>754922
Сейлс надстройка над экспрессом
#174 #754929
>>754922
Ничего. Вернее, экспресс, но только две строчки, для отдачи статики. Фреймворки для сложных серверов не нужны. У меня браузерная игра.
>>754934
#175 #754934
>>754929
Вручную ответы собираешь, лол? Совсем поехавший?
>>754940
#176 #754940
>>754934
Какие ответы? Приложение одностраничное, всё общение идёт в json'е через сокеты. Конечно вручную.

io.sockets.on('connection', socket => {
sockets.push(socket);
socket.user = new $.User(socket);
socket.on('message', data => $.Manager.handleQuery(socket.user, data));
socket.on('disconnect', ()=>{ socket.user.exit(); sockets = _(sockets).without(socket) });
socket.json.send({event: 'auth_awaiting'});
});
>>754941>>754952
#177 #754941
>>754940
ебучие табы.
#178 #754948
>>754836

>Донбасс верни сначала


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


Ты чего ебнутый? Верни тот маленький кусочек луганской и донецкой областей и будет вам счастье. А у тебя в голове какие-то ВП. пиздец.
>>754954
#179 #754952
>>754940
А авторизация и вся логика приложения где?
>>754957
#180 #754954
>>754948
Крым же еще по минским должны вернуть, тогда все снимут
#181 #754957
>>754952
В других файлах же. Там почти мегабайт чистого кода.
>>754959
#182 #754959
>>754957
Ну так и на чем, на експресе?
>>754963
61 Кб, 1365x729
#183 #754963
>>754959
На JS, блин. Там 99% - тупо игровая логика, экспресс там ни при чём.
#184 #754965
>>754963
Пиздец какой-то
#185 #754966
>>754963

>белая тема


>notepad++


>комменты в строчку


>let everywhere


Бляяяя
>>754971>>754972
#186 #754971
>>754966
Чем тебе let не нравится? Это сервер-сайд.
>>754974
#187 #754972
>>754966

>белая тема


Вот это двачую, люи
>>754973
#188 #754973
>>754972

>люи


Лютое говноедство
#189 #754974
>>754971
Ты не знаешь, что такое const, вот чем не нравится.
>>754975
#190 #754975
>>754974
слишком длинно. да и там всё меняется.
>>754978
#191 #754978
>>754975

>да и там всё меняется.


Ты не знаешь, что такое const, ещё раз говорю.
>>754979
#192 #754979
>>754978
Я знаю, что const запрещает только присваивание. Но по-моему это ебано как-то обозначать константой объекты, которые меняются.
>>754981
#193 #754981
>>754979
Согласен, название даунское. Сделали криво, должна была только let быть, но с функциональностью. const.
Но, это уже всё утверждено в стандарте, и в данный момент твой код говорит о том, что переменные будут переназначены, что скорей всего не так. Тупо семантически твой код - говно.
#194 #754992
Я начинаю игрться с node и у меня сразу вопрос: вот я пишу чтобы при запросе главной страницы експрес выдавал index.html, а если я хочу сделать это же для кучи файлов, как мне это всë сделать проще?
>>754995
#195 #754995
>>754992
let express = require('express');
let app = express();
app.use(express.static(__dirname + '/static'));
>>755014
#196 #754999
function isEven(x) {
if (x < 0){
return;
} else if (x == 0){
return true;
} else if (x == 1) {
return false;
} else isEven(x-2)
}
console.log(isEven(75))

Почему вывод undefined? Помогите пожалуйста.
#197 #755001
>>754999
ну что это за хуйня? у меня друг такой как ты - пишет хуйню не думая, надеясь что все магически выйдет. да пройдись по каждой строчке кода в уме и представь что в каждый момент на ней происходит.
#198 #755002
>>754999

>} else isEven(x-2)


Тут ретурн забыл
А вообще лучше бы сам покопался
>>755003>>755255
#199 #755003
>>755002
ещё один бля.
>>755007
#200 #755007
>>755003
Чё те надо пидор?
>>755008
#201 #755008
>>755007
за щеку тебе на чё надил, проверяй.
>>755009
#202 #755009
>>755008
Нету ничего, ты же петухан без члена, забыл штоле?
Чо вякал-то? По делу есть что сказать, чмошник?
#203 #755014
>>754995
Спасибо, то что искал
#204 #755016
>>754999
Посмотри, где закрывается первый if
>>755017>>755018
#205 #755017
>>755016
В глаза ебусь
#206 #755018
>>755016
Там всё ок по синтаксису, просто нету ретурна в конце, я уже написал
#207 #755019
Пацаны, есть такой сервак, в той же папке что и index.html

var connect = require('connect');
var serveStatic = require('serve-static');
var port = 5000;
var app = connect();

app.use(serveStatic("./"));
app.listen(port, function() {console.log(`Server is running on ${port}`)});

в index.html такое:
<!-- bower:css -->
<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css" />
...
<!-- endbower -->
...
<!-- bower:js -->
<script src="../bower_components/angular/angular.js"></script>
... и ещё много такой малафьи
<!-- endbower -->

почему сервак возвращает только чистый index.html, а на все подключенные файлы срёт эррорами
GET http://localhost:5000/bower_components/bootstrap/dist/css/bootstrap.css
>>755020>>755021
#208 #755020
>>755019
пофиксил, перенёс server.js на уровень выше, а в браузере стучусь на http://localhost:5000/src/
#209 #755021
#210 #755036
Анон, поясни за неймспейсинг, на примере ангуляра.

вот хуярим мы по бэст практис все файлы (каждый контроллер, сервис, хуйня-муйня) в IIFE (function() {... тут вся малафь...}());, чтоб не засорять глобалскоуп. При прогрузке скриптов эти функции вызовут себя, всё норм, но как потом браузер знает откуда ему брать какой контроллер, если с глобал скоупа не видно что там внутри функции.
>>755039
#211 #755039
>>755036
У ангуляра под капотом типо встроенная система модулей (DI), за счёт неё он все знает, и все обновления (так называемый байндинг, или двойной байндинг), тоже за счёт этого говна происходят.
#212 #755048
сап, жс, есть один баг...

onSaveBook: function (button) {
var me = this;
var bookModel = Ext.create('BookShelf.model.BookShelfModel');
bookModel.set(this.getAddBookFormView().down('form').getValues());
bookModel.save({
success: function (operation, response) {
var objAjax = operation.data;
Ext.getStore('BookShelf.model.BookShelfModel').add(objAjax);

me.getAddBookFormView().close();
},
failure: function (dummy, result) {
Ext.MessageBox.show({
title: 'Дубликат!',
msg: 'Такая книга с этим автором уже добавлена',
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR
});
}

});
}

ошибка в строчке me.getAddBookFormView().close();
сама IDE подсвечивает метод гет как нерешаемый
если написать прямо через this никаких угроз нет но проблема остается

а проблема в следующем:
при нажатии кнопки сохранить никакой реакции не происходит
если нажать еще раз при тех же введенных данных выскакивает ошибка дубликата но окно с добавлением информации в БД остается.
кто что может подсказать?
#212 #755048
сап, жс, есть один баг...

onSaveBook: function (button) {
var me = this;
var bookModel = Ext.create('BookShelf.model.BookShelfModel');
bookModel.set(this.getAddBookFormView().down('form').getValues());
bookModel.save({
success: function (operation, response) {
var objAjax = operation.data;
Ext.getStore('BookShelf.model.BookShelfModel').add(objAjax);

me.getAddBookFormView().close();
},
failure: function (dummy, result) {
Ext.MessageBox.show({
title: 'Дубликат!',
msg: 'Такая книга с этим автором уже добавлена',
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR
});
}

});
}

ошибка в строчке me.getAddBookFormView().close();
сама IDE подсвечивает метод гет как нерешаемый
если написать прямо через this никаких угроз нет но проблема остается

а проблема в следующем:
при нажатии кнопки сохранить никакой реакции не происходит
если нажать еще раз при тех же введенных данных выскакивает ошибка дубликата но окно с добавлением информации в БД остается.
кто что может подсказать?
>>755257
#213 #755055
>>754963
Что за игрушка? Сложная?
>>755073
#214 #755073
>>755055
По типу сильно упрощённых Героев. Ещё в разработке.
#215 #755137
Как в объекте бэкбона указать, в каком элемента он будет рендерится?
>>755148
#216 #755141
И ещё вопрос: Как сделать, чтобы один view в бэкбоне рендерило другой?
>>755148
#217 #755148
>>755137
>>755141

> 2016


> бэкбон

>>755157>>755181
#218 #755157
>>755148
Удваиваю.
>>755181
#219 #755181
>>755148
>>755157
Хипстеров забыли спросить.
>>755182
#220 #755182
>>755181
Хипстеры - это все, кто использует софт, изобретенный позже палеолита?
>>755188>>755196
#221 #755188
>>755182
Это хипстерские стартапы типа гугла, майкрософта и фейсбука. Ну знаешь, эти ноунейм стартапы с их хипстерскими технологиями в продакшене, всякими тайпскриптами, ангулярами и реактами, заебали уже.
#222 #755196
>>755182
Нет, хипстеры - это те, кому любой софт старше двух лет - уже палеолит.
>>755221
#223 #755212

>Тодд Мотто - "Учебник AngularJS"


Ну и говно, приходиться каждые 5 минут в документацию лазить, потому что тут даже примером нормальных нет
#224 #755221
>>755196
Зачем нужен backbone, если он лагающее говно по сравнению с react?
>>755222
#225 #755222
>>755221
Зачем тебе реакт если все пишется на jquery?
>>755246
2 Кб, 463x38
#226 #755235
Как вставить input в label ?
#228 #755238
>>755235
Зачем? Так не делают
>>755239
#229 #755239
>>755238
я функцию для генерации элементов форм пишу, если id не введен но label = true сгенерирует лейбл и инпут поместит в него, если нет то у label генерирует аттрибут for
>>755241
#230 #755241
>>755239
Возьми React, зачем ты мозг еще своими костылями?
>>755242>>755244
#231 #755242
>>755241

>еще


еще ебешь
#232 #755244
>>755241
Может тогда ещё и бэкенд phpшный на node.js перенести? Меня заказчик выебет за лишние библиотеки, я на jquery до этого всё делал, счас решил ванильным js писать
>>755247>>755249
#233 #755246
>>755222
Я не делаю лендинги, соре
#234 #755247
>>755244
Делать при помощи фреймворков и библиотек в интересах заказчика: колоссальная экономия денег и работоспособный продукт в минимальные сроки.
>>755250
#235 #755249
>>755244
Заказчику используемые библиотеки важнее скорости разработки?
>>755250
#236 #755250
>>755249
>>755247
Я пишу ему не весь проект, а отдельный модуль, коих там уже штук 20
>>755252
#237 #755252
>>755250
Тем более там любая библиотека в процентном соотношении будет копейками, пользуйся и не страдай, будут проблемы - потом перепишешь.
#238 #755255
>>755002
Спасобо
#239 #755257
#240 #755272
сек. чайка поставлю.

послушайте пока музыку https://www.youtube.com/watch?v=GgxN3691u6g
>>755273
66 Кб, 640x787
#241 #755273
>>755272

а, сука, не туда, каюсь)
#242 #755345
function range(x, y, z) {
var a = [];
if (z == undefined) {
z = 1
}
if (z < 0) {
for (var i = y;i>=x;i +=z) {
a.push(i)
}
} else {
for (var i = 0; x + i <= y; i += z) {
a.push(x + i);
}
}
return a;
}

function sum(a) {
var s = 0;
for (var i = 0; i < a.length; i++) {
s += a;
}
return s;
}

console.log(range(1, 100, -5))

Программа составляет массив принимая нижний порог и верхний, так же есть третий аргумент шаг. Я по-моему написал костыль для отрицательного аргумента, как написать элегантно и правильно.
#242 #755345
function range(x, y, z) {
var a = [];
if (z == undefined) {
z = 1
}
if (z < 0) {
for (var i = y;i>=x;i +=z) {
a.push(i)
}
} else {
for (var i = 0; x + i <= y; i += z) {
a.push(x + i);
}
}
return a;
}

function sum(a) {
var s = 0;
for (var i = 0; i < a.length; i++) {
s += a;
}
return s;
}

console.log(range(1, 100, -5))

Программа составляет массив принимая нижний порог и верхний, так же есть третий аргумент шаг. Я по-моему написал костыль для отрицательного аргумента, как написать элегантно и правильно.
>>755356
#243 #755356
>>755345

>не набирай в тред


сука для кого написано, быстро переписал и оформил
>>755382
#244 #755358
>>755235
апендчилд из элемента в который хочешь добавить
>>755359
#245 #755359
>>755358
Да, я уже нашел
>>755361
#246 #755361
>>755359
мне не жалко, лишь бы время занять, пока гта ставится. недавно винду обновлял, зачем-то потер диски все, опять всю срань ставить
>>755362
#247 #755362
>>755361
купи уже себе мак и консоль, бомжара
>>755366
#248 #755366
>>755362
Погоди, сначала я куплю Юпитер.
#249 #755381
Здрасте, можете помочь объединить три скрипта в один?

Этот скрипт обновляет страницу раз в 12 сек:

var time = 12000; //= 12sec
window.setTimeout(
function()
{
window.location.reload() ;
},
time
) ;

Этот скрипт нажимает на кнопку:

function rand(min, max){
return (max-min)*Math.random()+min;
}

function step() {
document.querySelector('#firebutton').click();
}
setTimeout (step, rand (5000, 7000));

А этот чекбокс проставляет:

(function() {
document.getElementById("walk").checked=true;
})();

Мне хотелось бы чтобы они работали независимо друг от друга, но чтобы это было упаковано в одном скрипте, как это сделать?
#249 #755381
Здрасте, можете помочь объединить три скрипта в один?

Этот скрипт обновляет страницу раз в 12 сек:

var time = 12000; //= 12sec
window.setTimeout(
function()
{
window.location.reload() ;
},
time
) ;

Этот скрипт нажимает на кнопку:

function rand(min, max){
return (max-min)*Math.random()+min;
}

function step() {
document.querySelector('#firebutton').click();
}
setTimeout (step, rand (5000, 7000));

А этот чекбокс проставляет:

(function() {
document.getElementById("walk").checked=true;
})();

Мне хотелось бы чтобы они работали независимо друг от друга, но чтобы это было упаковано в одном скрипте, как это сделать?
>>755383>>756662
#250 #755382
>>755356
https://ideone.com/bg4scE
Программа составляет массив принимая нижний порог и верхний, так же есть третий аргумент шаг. Я по-моему написал костыль для отрицательного аргумента, как написать элегантно и правильно.
#251 #755383
>>755381
Этот скрипт обновляет страницу раз в 12 сек:

var time = 12000; //= 12sec
window.setTimeout(
function()
{
window.location.reload() ;
},
time
) ;
#252 #755390
Bower это что - то типа npm для фронта?
>>755398>>755454
#253 #755398
#254 #755454
>>755390
Забудь про него.
>>755459>>756119
#255 #755459
>>755454
Почему?
>>755462
#256 #755462
>>755459
Потому что используй npm.
>>756119
#257 #755463
https://ideone.com/bg4scE
Программа составляет массив принимая нижний порог и верхний, так же есть третий аргумент шаг. Я по-моему написал костыль для отрицательного аргумента, как написать элегантно и правильно.
>>755465
#258 #755464
Анон, чому у меня не работает?
Хотеть: удваивает var, верхняя планка = 1000, если есть четное - выводит его в консоль, в конце выдает кол-во четных чисел за весь цикл.
var div = 0;
for (var num=1; num<1000; num *= 2) {
if (num%2)
{
div=div+1;
console.log(num);
}
}
alert(div);
>>755479
41 Кб, 400x393
#260 #755479
>>755464
С этим разобрался, как заставить читать prompt ответы в lowercase?

switch (prompt("Red, blue, or green?")){
case "red": alert("red");
break;
case "blue": alert("blue");
break;
case "green": alert("green");
break;
default:alert("wtf");
break;
}
Без костыля с var a = prompt()
a= a.toLowerCase
>>755483>>755486
#261 #755483
>>755479
И еще вопрос хотя всем похуй:
хотеть сделать калькулятор (3 переменных, одна из которых - знак операции)
Т.е. prompt может /,*,+ и скушает, но как нужно записать строку с ответом?
alert( a (тут знак операции) b)
>>755486
#262 #755486
>>755479
prompt("bla-bla").toLowerCase()

>>755483
Я нихуя не понял.
>>755492
#263 #755492
>>755486
Спасибо
2) у меня спрашивается сначала 1 число, затем второе, а затем - операцию, которую с ними нужно провернуть.
В переменную вообще можно записать знаки типа -,,/ и тд?

var a=prompt("a:");
var b=prompt("b:");
var c=prompt("Знак арифметической операции:");
alert(a c b );
/
т.е. между а и б стоит знак математической операции, пример: a = 5, b = 6, c = /
вывести должно ответ - 30
/
>>755498
#264 #755498
>>755492
Для такого у JS нет гомоиконности https://en.wikipedia.org/wiki/Homoiconicity
Записывай как строку, потом через различные вариации if (str === '/') производи нужные действия.
#265 #755667
Как три скрипта уместить в один чтобы они параллельно работали?
>>755716>>755739
#266 #755716
>>755667
нахуя
#267 #755739
>>755667
async.parallel
32 Кб, 536x327
#268 #755884
Подскажите ньюфагу как решить. Правильно ли я начал решать по моему примеру или нет?

https://jsfiddle.net/dvu7m71v/1/
#269 #755895
>>755884
Лол, ты чо все варианты вручную хочешь перебрать?))) Мде
#270 #755897
>>755884
В общем, через хэш-таблицу решается в два счёта.
Если ты не знаешь, что такое хэш-таблица, то советую вместо решения этих говно задачек почитать теорию. Сам так начинал, думал, вот круто, буду решать задачки и учиться, на самом деле это всё хуйня, решения ты будешь забывать через пару дней уже.
>>755900>>755963
#271 #755900
>>755897
чё ты кукарекаешь, возьми реши и выложи ему с пояснениями в два счета, умник.
>>755904
#272 #755904
>>755900
Чего блять, может отсосать ещё, лол? Нахуй иди, пидор.
Пусть сам решает и думает, такие решения с пояснениями хуйня на постном масле, которое опять через пару дней забудется, потому что базовых наний нету (если их нету конечно, скорей всего так и есть)
416 Кб, 692x633
#273 #755910
>>753689 (OP)
Я правильно понимаю что модули, которые экспортили через export default, обычным require-ом прийдется делать require('module').default ? Что это за хуйня?
>>755912
#274 #755912
>>755910
Эта хуйня называется разные стандарты.
Ты также не сможешь сделать вот так
// некий модуль test
module.exports = 5;

// теперь импортим
import Name from 'test';

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

import * as Name from 'test'
>>755927
79 Кб, 778x374
#275 #755917
В сhrome devtools как-нибудь можно сохранить папку с файлами на диск? Может есть какие другие варианты как это сделать? Тупо сохранить и все, а не ебаться с воркспейсками и ручным сохранением каждого файла. Гугл только про воркспейсы выдает. Пикрил, например, сохранить папку resources cо всеми файлами и т.п., ну ты понел
>>755919
#276 #755919
>>755917
Ну думаю, что без воркспейса так можно сделать. Может какие-то сторонние тулзы помогут, но на 99% уверен, что в чистом хроме не получится.
#277 #755927
>>755912
А как модули ноды будут работать? Их переделают под этот стандарт?
>>755929>>755934
#278 #755929
>>755927
Ага, скорее всего да
#279 #755934
>>755927
Никак, вон все решают что менее геморно https://github.com/dherman/defense-of-dot-js/blob/master/proposal.md
#280 #755963
>>755897
так надо прям зазубривать сайт с учебником по джс?
>>755975>>755981
#281 #755975
>>755963
Зазубривать вообще ничего не надо, надо разбираться и понимать.
#282 #755981
#284 #756003
>>755998
Найс подсмотрел решение.
>>756010
447 Кб, 1685x1128
#285 #756010
>>756003

>подсмотрел


Иди регулярки учить, подсмотрел.
>>756018
#286 #756018
>>756010
Всё, кто используют регулярки - пидорасы ебаные.
Алсо, писал парсер на регулярках, уже побольше тебя знаю.
А решение ты подсмотрел, ставлю свой анус.
#287 #756021
>>755998
n^2 решение, мы вам перезвоним.
>>756023
#288 #756023
>>756021
Лол, точняк. По всем пунктам даунское решение.
#289 #756039
>>755884
isIsogram = str => (new Set(str.toLowerCase())).size == str.length
>>756054
22 Кб, 417x435
#290 #756040
Думал быстренько пробегусь по джс и начну пилить что-нибудь из фронтенд штук, а тут оказалось не все так просто. Когда же уже начнется, то зачем я пришел? Не хочу как-то влезать в джеквери из-за хуевых последствий в будущем.
>>756052>>756094
#291 #756041
Аноны, я несколько месяцев назад начал учить свой первый серьезный яп - js.
Потом попробовал nodejs и сейчас учу только ее забив на браузеры.
Смогу ли я найти работу джуниора связанную только с нодой или в любом случае надо сначала идти во фронтенд?
Так же имеются знания серверных ос и технологий, сейчас работаю в хостинге саппорт макакой.
>>756050>>756057
97 Кб, 1959x1959
#292 #756050
>>756041

>первый серьезный яп - js

>>756058
#293 #756052
>>756040

>Не хочу как-то влезать в джеквери из-за хуевых последствий в будущем


Да, братюнь, лучше не надо. Особенно если это твой первый серьезный ЯП. Забьешь голову не тем и там будет оче мало места для полезных вещей. На собеседовании таких сразу валят. Спалишься случайным знанием jQ и все, дорога в ИТ закрыта. Не говоря уже о том что переучиваться на что-то другое будет тяжело, даже если ты умный.
>>756053
#294 #756053
>>756052
стоит ли параллельно тогда зубрить DOM?
>>756060
#295 #756054
>>756039
Ебать, жс могуч
#296 #756055
Анончики, есть у мен такая просьбма. Я ньюфаг и учу html и CSS. Захотелось вот мне сделать первый говнопроект. И вот проблема - поскольку я не дизайнер ни разу, выглядит все как говно. А точнее, например, хочу центральный блок для странички авторизации сделать желтеньким, а фон странички синеньким. В голое выглдит красиво, а на деле говно, какойбы цвет по хексограмме не выбирал. Есть ли статья, или сайт с основами дизайна, что бы я оттуда мог взять простенькие решения для таких задач?
#297 #756057
>>756041

> Смогу ли я найти работу джуниора связанную только с нодой или в любом случае надо сначала идти во фронтенд?


В рашкоконторах -- практически нереально. Только если это большой аутсорс
>>756076
#298 #756058
>>756050
Не ну на самом деле моими первыми серьезными яп были html и css и только потом js
>>756062>>756063
#299 #756059
>>756055
Верстка в /wrk/
#300 #756060
>>756053
Конечно нет! Все та же тормозящая помойка из прошлого века, что и jQuery. Скоро уже в каждом браузере WebAssembly будет и все, DOM забудут как страшный сон, в ту же минуту.
>>756077
138 Кб, 300x300
#301 #756062
>>756058

>на самом деле


>моими первыми серьезными яп


>html


>css

>>756066
#302 #756063
>>756058
А ты серьезно настроен, я гляжу
>>756066
#303 #756065
>>756055
Если ты не дизайнер, зачем что-то выдумываешь с цветами? Иди на https://color.adobe.com/explore/most-popular/ и подбирай нужную палитру
>>756070>>756108
#304 #756066
>>756062
>>756063
Что - то не так?
>>756078
#305 #756070
>>756065

>https://color.adobe.com/explore/most-popular/


>Backbone


ХАХА вот олени. Они ещё не в курсе что бекбоне жуткий L E G A C Y.
>>756072>>756075
#306 #756072
>>756070

>L E G A C Y.


Что это?
#307 #756075
>>756070
Этому сайту уже лет 5 точно, раньше он kuler назывался или как-то так. Название сменили, а движок остался старый
>>756082
#308 #756076
>>756057
Ясно, спс.
#309 #756077
>>756060
тогда я вообще запутался, как это я вкачусь во фронтенд без всего этого? Через месяц заканчиваю универ, после которого надо бы найти работу, чтобы не помереть с голоду. Сижу за джс по 10 часов в день, могу и по 20 часов, но тогда каша будет полной. Помню в ноябре прошлого года в моей мухосране искали человека знающего html и css, и были согласны обучить его джс и устроить на работу через месяц обучения. Зря я тогда зассал, думал что с учебой проблемы будут.
>>756080
22 Кб, 448x491
#310 #756078
>>756066
хтмл и ксс не яп
#311 #756079
>>756078
Почему???
#312 #756080
>>756077
Не слушай того дауна, проходи лернжс и читай требования в вакансиях
>>756101
#313 #756081
>>756078
define яп
#314 #756082
>>756075
Ну ничего, скоро проснутся, поймут что нужно срочно переписать на тайпскрипте со втором ангуларом, ну или на реакте на крайний случай. А то как-то не серьёзно, в самом деле.
>>756084>>756087
#315 #756084
>>756082

>переписать на тайпскрипте со втором ангуларом


На втором ангуляре без тайпскрипта не пишут?
>>756088>>756089
#316 #756086
>>756078
ЦСС тьюринг полный, значит ЯП
#317 #756087
>>756082
Зачем что-то переписывать, если всё работает?
>>756088
#318 #756088
>>756084
Можно конечно, но тут уже легаси может попахивать. Лучше не рисковать.
>>756087
Так заведено.
>>756091
#319 #756089
>>756084
Пишут, но лучше с ним, чем без него
#320 #756091
>>756088

> Так заведено.


Только у здешних аутистов, которые дрочат свои петпроджекты у мамки на шее вместо работы
#321 #756092
Аноны. ТайпСкрипт за вечер покоряется?
>>756093>>756096
#322 #756093
>>756092
Если ты знаешь какой-нибудь строготипизированный язык, то да
#323 #756094
>>756040
Для создания фронта тебе нужен один фреймворк. Ролляй и выбирай:

1 - Angular
2 - Angular 2
3 - React + Redux
4 - Backbone
5 - Polymer
6 - Ember
7 - Riot
8 - ExtJS
9 - Marionette
0 - ScalaJS
Дабл - PureScript
Трипл - Ванильный JS
#324 #756096
>>756092
Да, спокойно.
По сути это почти что ес6 + опциональная типизация и всё. За пол часа можно запомнить как обозначать типы и вперед!
#325 #756098
#326 #756099
>>756094
Где elm?
#327 #756100
>>756094
это нужно пихать в шапку
#328 #756101
>>756080
попробую как можно сильнее подняться за месяц.
Сообщу о себе тут 28 июня о своих результатах, чтобы потом закидали камнями.
>>756106
#329 #756102
#330 #756103
>>756094
ролл

а где jquery?
>>756107
#331 #756104
>>756094

>4 - Backbone


>9 - Marionette


Охуенный лист.
>>756122
#332 #756106
>>756101
Отпишешься о результатах.
Надо запилить страницу с сацесс стори
#333 #756107
>>756103

>jquery


>фреймворк

>>756109
#334 #756108
>>756065
Ну мне для себя, не могу что-то делать когда видок у объекта вырвиглазный.
#335 #756109
>>756107
по твоему он яп?
>>756112
#336 #756112
>>756109
Да, как и html
>>756116
71 Кб, 223x258
#337 #756116
#338 #756119
>>755454
>>755462
Кстати, да. Нахуя он нужен, зачем его вообще придумали, если есть нпм?
>>756120
#339 #756120
>>756119
мне он только для галп таска wiredep нужен, чтоб каждый раз скрипты автоматически подключались в индекс.хтмл
#340 #756122
>>756104
Marionette надо заменить elm.
#341 #756136
пацаны, вот в ангуляре сервисы это синглтоны. если в сервисе изменить что-то, оно там останеться, и их можна юзать для обмена инфы между контроллерами.

но как с билт-ин сервисами? тот-же $timeout например. можна же одновременно несколько тайм-аутов запустить. как так, если они синглтоны?
>>756175
#342 #756175
>>756136
Одна другому не мешает.
Они конечно синглтоны, но при этом они ещё и фабрики. Эти фабрики и отдают тебе утилити функции разные, которые никак уже не связаны с "телом" сервиса.
/roll #343 #756179
>>756094
Если пост заканчивается на четное - учу ангулар.
Если на нечетное - реакт.
#344 #756183
блять, ебучая вёрстка сука заебало. идёшь на вакансию JS developer, а HR-пизда грит ХОРОШО СКИНУ ВАМ ТАСКУ СВЕРСТАТЬ МАКЕТИК

ДА ПОШЛА ТЫ НАХУЙ БЛЯДИНА СУКА КОГДА УЖЕ НА ГАЛЛЕРЫ БУДУТ ОТДЕЛЬНО ВЕРСТАЛ НАБИРАТЬ
#345 #756200
>>756183
Чаю
#346 #756201
>>756183

А мне наоборот, я js говорил только учу а тестовое дали client side single page application с авторизацией и подтягиванием даты по api.

Интересно конечно, но такого еще не делал. С подтягиванием по api разобрался, теперь как SPA организовать изучаю. Как я понял это практически всегда подразумевает фреймворки, но я думал не бежать впереди паровоза пока не буду чувствовать себя комфортно с ванильным js.

Посоветуйте пожалуйста, чего-то годного, гайдики, видосы там, может так на словах. Я так понял это через hashchange делается, а отображение через темплейты? Там всего несколько страниц может без фреймворка легче будет, хз.
>>756206
#347 #756206
>>756201

> может без фреймворка легче будет


Нет. Тебе придется самому его написать
>>756211
#348 #756211
>>756206

Какой посоветуешь, Angular 2 вроде-бы только только вышел, A1 смысла учить нет? React? Это вообще организуемо без сервера?
>>756218
#349 #756218
>>756211

> Angular 2


This, Angular в принципе более востребован

> Это вообще организуемо без сервера?


Да, у тебя на выходе может быть один html-файлик, и всё будет работать
>>756221
#350 #756221
>>756218

Спасибо, попробую.
#352 #756309
>>756306
Почти на 100%
#353 #756311
>>756306
слышал подобное мнение от другого типочка
#354 #756315
>>756183
Будто так называемый ЖС девелопер годится на что-то кроме верстки динамических макетов.
#355 #756319
>>756306
Нет.
#356 #756347
>>756306
Доставьте ту пикчу, где подписаны ебанутые элементы в реакте
#357 #756370
Когда там третий Ангулар? Я переписал приложение с первого на второй и мне скучно, хочу переписать его не третий.
>>756379>>756403
#358 #756379
>>756370
Никогда. Второй получился настолько удачным что в третьем просто нечего уже переделывать/улучшать.
>>756390
#359 #756390
#360 #756403
>>756370
Опять через 7 лет
107 Кб, 750x1000
#361 #756429
>>753689 (OP)
ребята, есть такой вот маленький код :

<div id="sample">'.$PHPvar.'</div>
<script>
alert ( $("#sample").innerHTML )
</script>

В блок #sample вносится переменная из базы данных. С помощью JS хочу прочитать, что именно за текст попал в этот блок. Но alert выдаёт undefined. Как можно считать текст из блока #sample при помощи JS ?
>>756431
#362 #756431
>>756429
<div id="sample">'.$PHPvar.'</div>
<script>
alert ( $("#sample").html() )
</script>

Ты или js используй, или jquery
>>756437
#363 #756437
>>756431
Спасибо, пупсик.
#364 #756487
>>756306

>DSL в реакте нет

#365 #756489
>>756306
В реакте есть api компонентов, пожалуй, все. Остальное это концепты.
>>756491
#366 #756491
>>756489
Это всё конечно хорошо, но на практике ещё стейт менеджеры подтянуть надо, флаксы-хуяксы, редаксы-флумоксы. Роутер покурить плотно, да и все мелкие ui фишки, который исконно через дом строились, теперь по другому писать надо. Вполне себе специфическим образом. Конечно можно утверждать, что мол реакт не монополизирует виртуальный дом и кококо, но на практике так и есть.
И в конце дня, всё, на что влияет изучение реакта или ангулара, это быть трудоустроенным в команду, где пишут на одном из этих фраемворков.
>>756512>>756517
#367 #756508
Народ,а кто нибудь знает,можно ли сделать так чтобы информация из формы html записывалась в файл txt на компе,после нажатия на кнопку
>>756509
#368 #756509
>>756508
Можно
>>756513
#369 #756512
>>756491

>да и все мелкие ui фишки, который исконно через дом строились


А можно учить реакт не вникая в то как они изначально строились? Или и то и то знать надо?
>>756515
#370 #756513
>>756509
а как не подскажите?
>>756516
#371 #756515
>>756512
Антон, всё можно. Но никому ты, к сожалению, не будешь нужен с одним лишь знанием реакта. ДОМ ещё никто не отменял.
#372 #756516
>>756513
Средствами браузера ты можешь предложить файл для скачивания.
65 Кб, 604x559
#373 #756517
>>756491
Prav kak js[prav], добавлю еще, chto react > angular 2.
>>756522
19 Кб, 600x409
#374 #756522
>>756517

>Prav kak js[prav]


Этот мемчик на продоте лет десять назад актуален был. Как же я постарел.
>>756523
#375 #756523
>>756522
Как и я, Антуан де Грегорьян.
93 Кб, 540x960
#376 #756625
Шок! МТС использует нодобэк!
>>756627>>756628
#377 #756627
>>756625
Проиграл
#378 #756628
>>756625
Ну сейчас где хайлоад, там и нода
#379 #756637
Объясните, как это в гугл мэпсах удается программе узнать про уровень пробок? Хочу попробовать сделать, что-то похожее в будущем, но не знаю что надо знать для этого.
>>756642>>756643
sage #380 #756642
>>756637
Гугли. Эта инфа стоит денег, и эта инфа передается по своему протоколу и с доступом через токен.
>>756643
#381 #756643
>>756637
У тебя есть несколько десятков миллионов пользователей?

>>756642
Лол, что ты несешь
>>756644>>756647
sage #382 #756644
>>756643

>Лол, что ты несешь


Ну найди бесплатно вот эту инфу. Максимум, ты найдешь прогнозы.
>>756646
#383 #756646
>>756644
Как по-твоему её собирают, поехавший?
sage #384 #756647
>>756646
>>756643

>Яндекс собирает информацию о средней скорости со смартфонов водителей, у которых запущен Яндекс.Навигатор или мобильные Яндекс.Карты со включённым режимом «Сообщать о пробках»

>>756648
#385 #756648
>>756647
Я ж и сказал

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


А самой инфой этой яндекс не делится
>>756653>>756655
sage #386 #756649
>>756646
+ еще есть протокол у машин, собирающий через gps.
#387 #756650
>>756646
Можно пиздить у гугла
sage #388 #756653
>>756648
Я и написал: Эта инфа стоит денег, и эта инфа передается по своему протоколу и с доступом через токен.

Я читал статью об этой хуйня, не пизди, диванный.
>>756658
#389 #756655
>>756648

>А самой инфой этой яндекс не делится



У одного яндекса, есть эта инфа?

Любое приложение, с "отслеживать gps".
#390 #756658
>>756653
Сагающая вниманиеблядь, это ты?
#391 #756662
>>755381
Вот, объединил - http://pastebin.com/abz7YfsH
28 Кб, 1234x291
#392 #756664
Какой ебанутый язык этот JS. Баги в самом языке. Я только начинаю вкуривать его, и фейспалмом отдавил лицо. Оператор равенства == приводит данные к общему типу, числа можно складывать со строкой. По сути изучение языка сводится к изучению граблей языка. В пайтоне все прозрачнее.
#393 #756666
>>756664
Вам оператор инкремента завезли или всё говно жрёте?
>>756672
#394 #756667
>>756664
да язык конченный, я пытался на борде из него игру сделать. я просто ахуел, лучше изучу кресты, на которых оригинальная библиотека с гайдами написана, ну или на жаве сделаю, если там гайды норм. жиес - это пиздец, что-то сложнее фронта на нем только говноеды делают.
>>756671
#396 #756672
>>756666
Знаю я про унарный плюс. Костыли это все. Самый баттхерт, что кривой JS повсюду. Может я ошибаюсь, и в дальнейшем язык покажет себя няшкой.
#397 #756706
>>756664
еще один
#398 #756707
Кто-нибудь уже щупал этот mobx? Как оно? Жс маньки уже начали везде его форсить. Кококо "пачиму я переписываю с редакса на мобикс" всем похуй, "пачиму мобикс луше редакса" всем похуй, "мобикс заменяет редакс как стандартный стейтменеджер" всем похуй и по 100500 аналогичных постов. Типичное жс сообщество хуле.
>>756717
#399 #756717
>>756707

> судить о сообществе по реактодаунам

#400 #756762
https://github.com/jmcunningham/AngularJS-Learning

есть подобное по реакту?
#401 #756962
https://www.youtube.com/watch?v=CozSF5abcTA

кому не влом пересмотреть по диагонали и сказать что из основ упустили?
>>757104
#402 #756969
А есть примеры регулярного выражения для смены слов в введённом тексте с "Слово1, Слово2, Слово3" всё вводится за один инпут на "Слово2 Слово1 - Слово3"? Что-то нагуглить не могу.
мимоньюфаг
#403 #757104
>>756962
let perdak = (x, y, z) => x+ y + z

perdak(...[1,2,3]) // 6
#404 #757112
стороннику первого ангуляра с чего посоветуете окунуться в мир реакта?
офф туториал норм?
https://facebook.github.io/react/docs/tutorial.html
>>757214
65 Кб, 400x400
#405 #757163

>import _ from 'lodash';


>import { reject } from 'lodash';


>import reject from 'lodash/reject';


Котанчики, поясните за тонкость. Толковые люди пишут, что последний способ импорта самый эффективный в плане съедаемых ресурсов, второй менее эффективный и последний самый не эффективный. Интересует вопрос, будет ли это вообще ощущаться и если будет, то через когда? У меня вот файлов 200 уже в проекте и в почти в каждом я тащу лодаш и активно его пользую, и меня ебёт идти наверх и дописывать нужный мне импорт. Да и поздно уже начинать, пол дня потрачу на рефакторинг.
В конце я собираю всё вебпаком, со всеми плагинами на оптимизацию, дропом неиспользованного когда и так далее. Помогает ли это сглаживать эффекты от ленивого _ импорта?
>>757167
#406 #757167
>>757163
Если вебпаком с шатанием дерева собираешь, то да, всё будет круто, как бы ты не импортил, так что можешь забить.
А иначе у тебя весь лодаш импортится, если ты не используешь последний способ.
>>757182
sage #407 #757173
Блядь, что сделали с моим ламповым js? Какие-то let, const, стрелочки блядь, нахуй мне ваша функциональщина, пиздец. Идите нахуй с таким языком
>>757174>>757177
#408 #757174
>>757173
Схуяли он твой? Он мой
>>757175
sage #409 #757175
>>757174
Нахуй пошёл, толстяк.
>>757176
#410 #757176
>>757175
Может тебе еще и новые классы не нравятся?
>>757325>>757338
#411 #757177
122 Кб, 1123x749
#412 #757182
>>757167
Спасибо, Анон. Обрадовал.
#413 #757187
Ребят, есть див, на который повешен onclick, так же в этом диве есть текст на который повешен onclick, но при нажатии на текст срабатывает и onclick дива-родителя. Как пофиксить?
#415 #757189
>>757187
e.stopPropagation()
#416 #757191
>>757187
tvoiText.onclick = function(event) { tvoiGovnoKod;event.stopPropagation();}
>>757195
#417 #757195
>>757191
Всего скорее я обосрался, но это не сработало. Что за event вообще?
>>757199>>757201
#418 #757199
>>757195
гугли dom bubble
#419 #757201
>>757195
прочитай сперва про eventListeners хорошенько, советую как нубу книжку Eloquent JavaScript, вроде даж по рузке есть.
#420 #757214
>>757112
блядь, да это пиздец, а не туториал. что происходит, блять.
#421 #757325
>>757176
мне не нравятся, изучали с++, ненавидел его, теперь от слова класс применительно к яп тошнит

мимо
#422 #757338
>>757176
Я вообще не понимаю, зачем их ввели? Потому что для Java/C#/C++ быдла прототипное ООП слишком сложно? В интерпретируемом динамическом языке, где объекты можно создавать и полностью изменять во время выполнения классы нужны как собаке пятая лапа. А там, где нужны возможности именно классов, можно использовать паттерн Factory.
#423 #757350
>>757338

> Потому что для Java/C#/C++ быдла прототипное ООП слишком сложно?


This
#424 #757384
>>757338
Не то, что слишком сложно, просто они так привыкли.
>>757388>>757395
#426 #757395
>>757384
блядь, да вам же не поменяли суть ООП, это и дальше прототипное наслеование, со всеми всплывающими. Вам просто сделали немного syntax sugar, чтоб хоть выглядело как у людей. Хотите ебаться дальше в сракотаны Yoba.prototype.vzorvatPookan так ебитесь, кто вам не дает?
>>757396
#427 #757396
>>757395
я тут обосрался чутка, потому что добавлять методы в класс и дальше нужно через прототайп, но суть вы уловили.
>>757760
#428 #757476
Даунский вопрос, что означает релейтед код:
window.app = window.app || {};
Загулить не могу, гугл не принимает знаков в запросе.
>>757482
#429 #757482
>>757476
проверка на наличие app в виндовс, если нет-пустой объект присвоить.
>>757490
#430 #757490
>>757482
Cпс)))
#431 #757540
Боцоны, пытаюсь в веб-игру и возник вопрос по phaser.
У меня есть фазер для клиента и для сервера, которые я собираюсь связать сокетами. Так можно? Может фазер быть не клиентом или клиентом-сервером, а просто сервером? При этом собираюсь делать не одну комнату
>>757550
#432 #757544
>>753689 (OP)
замес: есть статичная страничка - есть ли способ отправлять с неё информацию записанную в переменную с помощью джаваскрипт либо в другой файл, либо еще как либо. Главное это передача информации без использования sql и php со статичной страницы
>>757545
#433 #757545
>>757544
анальные сокеты если говоришь о своëм сайте и fs + jquery для простоты если не твой
#434 #757550
>>757540
Не знаю что такое phaser, но тебе, похоже, нужен какой-то socket.io
#435 #757569
>>753744
Это каррирование ЖС стайл. Вырвиглазно выгладит, намного удобней это делать в ES6:

var add = (a, b) => a + b;
add(3)(5)//8
var add3 = add(3);
add3(10)//13
[1, 2, 3].map(add3);//[4, 5, 6]
>>757571
#436 #757571
>>757569

Блядь, я рукожоп. Не

>var add = (a, b) => a + b;



а

var add = a => b => a + b
#437 #757572
#438 #757579
>>754809
Тебе уже ответили. Всякий мусор вроде пробелов и переводов строки тоже считаются за чайлдноды. А лишек у тебя два. Два + мусор = 5. Смекаешь?
>>757585
#439 #757581
>>756306
Главное достоинство Реакта то, что после него я постиг просветление и угорел по ФП.
#440 #757585
>>757579
ты блядь не разобрался а кукарекаешь, это я говорю что 5 и объяснил почему. а в тесте правильный ответ у Кантора 4. Мне тут никто ничего не сказал внятного только спрашивали почему я считаю, что 5, а не 4
>>757588
#441 #757588
>>757585
Угомонись, нуб. Тебя спросили сколько лишек, ты ответил 5, а лишек всего два, но дочерних нод 5.
>>757590>>757591
#442 #757590
>>757588

>нуб


С какими же дегенератами в одном треде сижу, пиздец.
Там зеленым правильный ответ выделен 4 вот он и спрашивает почему
Мимо
>>757593
#443 #757591
>>757588
сам угомонись, меня спросили сколько дочерних узлов
и я ответил 5
а правильный ответ в тесте 4, что является ошибкой
>>757594
#444 #757592
Как правильно логгировать действия пользователей в ноде? Хочу видеть что где происходит и кто что делает/делал в любой момент времени
>>757602
#445 #757593
>>757590
ну хоть один адекват понял что к чему
#446 #757594
>>757591
Мда, извини, не прав был, в глаза ебусь, виноват.
Напиши разрабам, что они мудаки.
>>757595
#447 #757595
>>757594
да лан, проехали
#448 #757600
Не знал, что к элементам с id можно обращаться как к свойствам window. Зачем тогда document.getElementById?
>>757601>>757606
#449 #757601
>>757600
Тому що добавлять все идшки в window это черезжопно, namespace pollution, вот это вот все.
>>757606
#450 #757602
>>757592
Winston. Не сигареты.
>>757603
#451 #757603
>>757602
Ну это ж обычные логи, а мне хотелось бы как-то это всё с удобным интерфейсом и риалтайм
>>757607
#452 #757606
>>757600
уу, нишячок, я этого не знал.

>>757601
они итак там будут, они сразу сетятся на виндав при рендере страницы.
думаю что просто старыми браузерами не поддерживается
#453 #757607
>>757603
Ну напиши веб морду, там дел на полчаса.
>>757611
#454 #757611
>>757607
Ну это всё равно что-то кривое будет. Как, например, найти действие какого-то пользователя за 5 марта 2016? Парсить целый чанк логов? Это ж пиздос задержка будет
Я сейчас думаю просто в монгу добавлять документы, что-то вроде такого:
Log.create({ user : req.session.user.id, action : "Update page #42" });
Но как-то это по-васянски
>>757657
датафреймы #455 #757650
Ананасы, вопрос.

делаю асинхронные запросы в базу, достаю json.

хочу сделать минимальный отчет по этому jsonу

проект на js, поэтому альтернативы этому языку не видится, но с датафреймами работать это просто пиздец + т.к. запросы асинхронные, то это либо в файл записывать, либо в промисах все делать а потом пересылать на html страницу и прочее.

Есть ли какой-то простой способ работы с dataframe в js для такой темы? Конкретнее.

Построить график x - дата y - количество чего то , x и у храняться как датафрейм.

Спасибо.
>>757654
#456 #757654
>>757650
UPD:
и это все приходит с REST сервиса, как лучше сделать?
+ все на страницу не впихнешь, потому как require все дела.
#457 #757657
>>757611

>Но как-то это по-васянски


Сделай это на уровне middleware и будет не по-васянски.
>>757692
#458 #757692
>>757657
А как middleware будет понимать что это за событие и как информация о нем нужна?
>>757693
#459 #757693
>>757692

> как


какая
ff
#460 #757719
>>753689 (OP)
Cап аноны. Как в js имитировать нажатие клавиши?
Например есть input, мне нужно имитировать введение символа в этот input.
При чем необходима именно имитация нажатия клавиши, т.е .val('someval') и подобные способы не подойдут.
>>757751
#461 #757751
>>757719
jQuery.Event("keydown", { keyCode: 9 });
9 - куд клавиши
#462 #757760
>>757396
Ты во всех местах обосрался. Этот ебучий синтаксический сахар непозволяет дефанйить поля через свой же сахар, онли методы. А конструктор, нельзя использовать в качестве обычной функции без new.
>>757773
#463 #757773
>>757760
Два чаю. Я вот ждал нормальные классы, а они говно какое-то сделали. Правда к моменту запила я уже познал ФП и классы стали нахрен не нужны.
>>757775
#464 #757775
>>757773
Чем в ФП заменены классы?
>>757776>>757777
#465 #757776
>>757775
Структурами данных и функциями.
>>757781>>758043
#466 #757777
>>757775
В фп перманентная иммутабельность и чистые функции.
>>757781>>758043
#467 #757781
>>757776
>>757777
createUser(data) вместо User.create(data)? К успеху идете
>>757784
#468 #757784
>>757781
Да хоть data -> user ## create! Что изменится от этого? У меня синтаксис от подобных замечаний. Всё равно что спорить, кто был важнее в процессе зарождения такого дауна как ты - папа или мама.
>>757786
#469 #757786
>>757784
А, то есть по-твоему неймспейсы не нужны? Бля, кого тут только не встретишь
>>757795
#470 #757795
>>757786
Как это относится к ООП?
>>757796
sage #471 #757796
>>757798
#472 #757798
>>757796
Это не ответ.
#473 #757829
ООП на фронте - оверкилл. Фронт оперирует только выводом ограниченного количества данных и обработкой пользовательских событий. Ему почти не нужно заботиться о том, откуда данные берутся и как ими качественно управлять, чтобы не проебать. Принципиально ООП только в этом выигрывает.
#474 #757834
>>757829
А React с Angular от нехуй делать запилили, да.
>>757841
#475 #757841
>>757834
Назови какие проблемы они решают и всё станет ясно.
>>757845
#476 #757845
>>757841
Из треда в тред одно и тоже:
>>752755
>>757856
#477 #757851
Как получить нормальный ответ от VK openAPI ?

Например:

VK.Api.call('users.get', {}, function(r) {
if(r.response) {
console.log(r.response[0].first_name);
return (r.response[0].first_name);
alert(r.response[0].first_name);
}
});

Запрос асинхронный и получается return срабатывает раньше чем приходит ответ? Почему тогда console.log показывает как надо?
>>757854
#478 #757854
>>757851
Убери скобки после ретурна
>>757868
#479 #757855
>>757829
Можно проще: ООП - говно
>>757858
#480 #757856
>>757845
Замени слова реакт/ангуляр в этой пасте на бэкбон/нокаут и ничего не изменится. Зачем фронт вообще существует я даже не собирался обсуждать. Ты назови конкретно зачем их на замену старым фреймворкам придумали.
>>757860
#481 #757858
>>757855
Пока не начнешь пердолиться с предметной областью вместо рисования кнопочек.
>>757859>>757897
#482 #757859
>>757858
define предметная область
>>757892
#483 #757860
>>757856
Опять же, ответ из прошлого треда:
>>753049
Современные фреймворки делают больший упор на компонентрость, организацию кода. Про нокаут не знаю, но большие приложения на бэкбон - это концентрированная боль
>>757907
#484 #757868
>>757854

Не работает

VK.Api.call('users.get', {"uid":1}, function(r) {
if(r.response) {

return r.response[0].first_name;

}
});

undefined

xhr ответ VK.Api._callbacks[6975603]({"response":[{"uid":1,"first_name":"Павел","last_name":"Дуров"}]}); , опять же думаю проблема в асинхронности, но хз.
>>757872
#485 #757872
>>757868
Бля, чет я протупил. Ты куда вообще это пытаешься возвиатить? В другую функцию? Если да, то так работать не будет, почитай
https://learn.javascript.ru/task/scripts-callback
>>757875
#486 #757875
>>757872
Бля, проебался с ссылкой, уже точно надо поспать
Вот тут про колбэки:
https://habrahabr.ru/post/151716/
>>757885
#487 #757885
>>757875

Спасибо, что-то получается.
#488 #757890
>>757829
Конечно. А все гуи-тулкиты (не веб) спроектированны в объектно-ориентированном стиле от нехуй делать просто, а не потому что это логичнее.
#490 #757897
>>757858
ООП это как раз таки хуйня для рисования кнопочек, и даже это оно умудряется делать через жопу.
>>757898
#491 #757898
>>757897
ООП в голове.
У тебя подмена понятий, между объектно-ориентированным программированием и парадигмо-ориентированным.

Даже если бы будешь писать чисто в императивном стиле, у тебя всегда будет какой-то объект над которым ты производишь манипуляции.
>>757900>>757908
#492 #757900
>>757898
*процедурном
#493 #757907
>>757860
Опять мимо. Это всё побочные эффекты. Суть реакта/ангуляра - дата-байндинг. Больше не нужно трахаться вручную с синхронизацией данных с их отображением. По сути и на бэкбоне такие же компоненты были, почему компонентность не стала популярной раньше? Я думаю, это никому не было нужно. DOM был слишком тормозной, чтобы была видна разница в подходах. А с идеей дата-байндинга надо было как-то решать проблему скорости рендера, поэтому придумали Virtual-DOM => частичное обновление => чем меньше, тем лучше => как-то по-другому, кроме как маленькими компонентами, с ним работать просто бессмысленно. Отсюда и упор.
>>757912
151 Кб, 1948x858
#494 #757908
>>757898
Да, но котлеты у меня будут отдельно, а мухи отдельно, и я не буду насильно запихивать в один контейнер данные с функциями, и извращаться, придумывая название какому-нибудь IProxyAbstractFactoryable
>>757916
239 Кб, 2000x1333
#495 #757912
>>757907
Пиздец, вот это околесица.
>>757920
#496 #757916
>>757908

>IProxyAbstractFactoryable


Это никакого отношения к ООП не имеет.
Алсо, то о чем ты говоришь - всего-лишь синтаксис твоего яп. В итоге у тебя так и так мухи и котлеты отдельно.
А запилить синтаксис можно любой, и транслируй его потом куда нужно. В чем проблема?
>>757933
#497 #757920
>>757912
Послушаю твою версию. Надеюсь что-то разумнее, чем прост))
#498 #757933
>>757916
Да никаких проблем, просто нахера заморачиваться со всей этой поеботой когда она нинужна? Вон в Лиспе можно писать ООП, есть КЛОС, вот только никто им не пользуется, потому что он нахуй не упал.
Я понимаю в какой-нибудь жабе где тебе ООП в горло суют, и без него никуда, но в ЖСе это говно зачем? Тем более типов тут нет.

Вот смотри, есть юзеры, у них есть возраст, надо сосчитать средний возраст. Я бы сделал это так:

var sum = (a, b) => a + b
var pluck = field => obj => obj[field]
var avgField = field => arr => arr.map(pluck(field)).reduce(sum) / arr.length
export var avgAge = avgField('age')

А еще я это flow-ом сдобрю, или тайпскриптом, и вообще будет лепота.
ООП макака же станет писать класс для юзера, с геттерами, сеттерами и гардами, а потом какой-нибудь UserList, с методом добавления/удаления/правки юзверя и тем самым методом подсчитывания среднего возраста.

А потом манагер такой приходит и говорит, а сосчитайте мне средний возраст, ну скажем, собачек. Чтобы не было так уж просто, скажем у собачки возраст в ключе "dogAge", а не "age". "Ок" говорю я:

export var dogAvgAge = avgField('dogAge')

Макаке же придется придумывать на лету какой-нибудь абстрактный класс AvgAgeable, Human < AvgAgeable, Dog < AvgAgeable, да еще и какой-нибудь AvgAgeableList

А теперь вопросы на засыпку:
какое решение читаемее?
какое решение проще тестировать?
какое решение гибче?
у какого решения будет больший code reuse?
ну и т.д.

Сейчас ты скажешь что я утрирую, но я блядь 100500 раз видел ИРЛ именно это, для задачи "У Вани одно яблоко, Маша дала ему 2 яблока, сколько яблок у Вани?" ооп-макака тут же кидается писать классы для Вани, Маши и яблок.
Может, я просто с неправильными ооп-шниками работал?
#498 #757933
>>757916
Да никаких проблем, просто нахера заморачиваться со всей этой поеботой когда она нинужна? Вон в Лиспе можно писать ООП, есть КЛОС, вот только никто им не пользуется, потому что он нахуй не упал.
Я понимаю в какой-нибудь жабе где тебе ООП в горло суют, и без него никуда, но в ЖСе это говно зачем? Тем более типов тут нет.

Вот смотри, есть юзеры, у них есть возраст, надо сосчитать средний возраст. Я бы сделал это так:

var sum = (a, b) => a + b
var pluck = field => obj => obj[field]
var avgField = field => arr => arr.map(pluck(field)).reduce(sum) / arr.length
export var avgAge = avgField('age')

А еще я это flow-ом сдобрю, или тайпскриптом, и вообще будет лепота.
ООП макака же станет писать класс для юзера, с геттерами, сеттерами и гардами, а потом какой-нибудь UserList, с методом добавления/удаления/правки юзверя и тем самым методом подсчитывания среднего возраста.

А потом манагер такой приходит и говорит, а сосчитайте мне средний возраст, ну скажем, собачек. Чтобы не было так уж просто, скажем у собачки возраст в ключе "dogAge", а не "age". "Ок" говорю я:

export var dogAvgAge = avgField('dogAge')

Макаке же придется придумывать на лету какой-нибудь абстрактный класс AvgAgeable, Human < AvgAgeable, Dog < AvgAgeable, да еще и какой-нибудь AvgAgeableList

А теперь вопросы на засыпку:
какое решение читаемее?
какое решение проще тестировать?
какое решение гибче?
у какого решения будет больший code reuse?
ну и т.д.

Сейчас ты скажешь что я утрирую, но я блядь 100500 раз видел ИРЛ именно это, для задачи "У Вани одно яблоко, Маша дала ему 2 яблока, сколько яблок у Вани?" ооп-макака тут же кидается писать классы для Вани, Маши и яблок.
Может, я просто с неправильными ооп-шниками работал?
#499 #757936
>>757933
Лол, просто в точку, анон. Двачую кажду фразу
#500 #757941
>>757933
Ты вообще разные вещи описал
Ты пишешь какие-то прослойки к базе, они менее гибкие, но быстрее пишутся
Попробуй, например, сделать выборку ещё и для определенного места жительства пользователя
>>757947
#501 #757947
>>757941
var filterBy = field => val => arr => arr.filter(item => item[field] == val)
var filterMoscowUsers = filterBy('city')('Moscow')
export var avgMoscowUsersAge = users => avgAge(filterMoscowUsers(users))
>>757955>>757972
#502 #757948
>>757933
Я тебе о том, что ооп это абстракция. Абстракция она нематериальна априори. То, что язык тебе предоставляет синтаксис для этой абстракции, а поверх этого синтаксиса ебашут паттерны проектирования и все такое прочее - это нюансы.

Ядро линукс выполнено чисто в объектном стиле, например. А написано на си.

То, что ты пишешь о макаке - это не вопрос парадигмы\подхода\стиля. Это вопрос головы разработчика. Если тебе надо сложить два числа, разумеется тебе не надо пилить кучу абстракций поверх этого. Но если у тебя в системе очень много сущностей, то ооп подход помогает в дальнейшем поддерживать эту систему и расширять. СИНТАКСИЧЕСКОЕ ООП помогает лишь для отображения архитектуры, понимаешь?

Если ты будешь писать в процедурном стиле еба-системы с милионнами сущностей, у тебя будет тоже самое. А чтобы тысячи раз, не копипастить, ты начнешь вводить макросы. Писать фабрики и вот это всё.
>>757953>>757967
#503 #757953
>>757948
Ой все. По твоему выходит что и Фортран ООП. Да хуле там, машкод тоже. Ну да, на перфокарте регистры и стеки, но у тебя-то в голове чикотило в розовой пижаме!
>>757957
#504 #757955
>>757947
Ну вот и соснул твой способ
Чем свалка из функций лучше свалки из классов? У классов хотя бы наследование есть, какая-то структура-иераихия, а тут вообще пиздец будет на большом проекте
>>757956
#505 #757956
>>757955
Гибкость же. Тестирование же.
>>757960
#506 #757957
>>757953
Ты вообще не умеешь в абстрактное мышление, жа? Чисто в материальное? Что ты вообще в программировании делаешь?
#507 #757960
>>757956

> Гибкость


С тем же успехом можно пилить по классу на каждое поле. Гибко же!
Зато структуры и иерархии нет от слова вообще

> Тестирование


Не понял в чем тут преимущество, какая разница что дергать?
#509 #757967
>>757948
Всё так.

>>757933
Ты охуеешь потом разбираться как ведёт себя вся система. Люди думают образами, т.е. абстракциями. А ты предлагаешь принципиально теперь отбросить этот метод и переходить на метод "прохождения лабиринта", когда нужно что-то узнать.
#510 #757972
>>757947
Оверхед на каждое замыкание тебе вообще поебать?

В суть, ты пилишь то же самоее ооп, просто иным синтаксисом. Реализуешь себе состояние, через жопу.
#511 #758043
>>757776
>>757777
Что почитать про ФП? В частности в js.
3 Кб, 246x50
#512 #758056
Через обычную форму (пикрелейдтед) нужно сделать подсвечивание и переход по словам на странице. Тоже самое как в стандартной функции браузера через F3, только на самой странице. Есть ли у кого-нибудь подобный скрипт?
#513 #758075
Такая проблема. На родительском элементе висит href а в нем дочерний крестик которым я этот элемент удаляю. Вот только при клике на дочерний элемент его onclick срабатывает одновременно с родительским переходом по ссылке href. Как мне отменить переход по ссылке в родительском href?
#514 #758720
>>756055
cлава украiнi
>>758752
#515 #758752
>>758720
Героям слава!
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 9 июня 2016 года.

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

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