М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

109 Кб, 1000x900

292 Кб, 1140x813

9 Кб, 1052x1052

247 Кб, 1000x766

JavaScript #79 31 Май, 16:41 #999208 В конец треда | Веб

Ссылка на прошлый тред: >>988024 (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

Конфа /pr/ в Slack:
https://invite-me-to-2chpr.herokuapp.com/

JS-конфа в телеграме:
https://telegram.me/jsthread

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

Ответы9992189992471000067100053410021701002792100314310049131005584

31 Май, 16:45 #2 #999214

js говно а вы все верстальщики

Ответы999431

31 Май, 16:52 #3 #999218

>>999208 (OP)
>https://jsfiddle.net/
не смог за 10 секунд найти консоль, вердикт - параша
>https://ideone.com/
перекидывает куда-то при запуске кода, вердикт - параша из 2к03
отцы используют
https://jsbin.com/?js,console

sage 31 Май, 17:10 #4 #999229

Когда вы уже передохнете

Ответы999580

31 Май, 17:30 #5 #999247

>>999192
>>999203
Самый простой способ - это преобразовать твоё выражение в обратную польскую нотацию с помощью алгоритма сортировочной станции и вычислить: https://ru.wikipedia.org/wiki/Обратная_польская_запись

>>999208 (OP)
ОП, ты из /b вылез, что за нерелейтед шлюхи на 4-м пике?

Ответы999265

31 Май, 17:45 #6 #999255

>>999192
>Гуглинг ничего не дал
Видимо ты не так гуглил https://jsfiddle.net/gjLzfwuw/

Ответы999279

31 Май, 17:52 #7 #999260

А зачем перекатывать тред после 500 сообщений если бамплимит - 1000? Или я ошибаюсь?

Ответы999263

31 Май, 17:55 #8 #999263

>>999260
В программаче 500. Ну, полгода назад точно было 500.

# OP 31 Май, 17:56 #9 #999265

>>999247
>ОП, ты из /b вылез, что за нерелейтед шлюхи на 4-м пике?
Я считаю, что настоящим JS-разработчиком может быть только Девочка-Внутри. Я постарался подчеркнуть эту идею своими пикчами.

Ответы999279

31 Май, 18:02 #10 #999279

>>999255
Приоритет операций работает неправильно: https://jsfiddle.net/udugeupz/

>>999265
Только связи с JS у этих пикч никакой.

Ответы999295

31 Май, 18:10 #11 #999295

>>999279
Ну только фотография никак не связана, остальные три так или иначе связаны с программированием.

31 Май, 22:44 #12 #999431

>>999214
батхерт пхп-дауна

Ответы999566

01 Июн, 00:28 #13 #999471

с использованием каких пакетов написать парсер товаров у ebay продавца на nodejs?

01 Июн, 07:38 #14 #999511

response.on('data', function (chunk) {
str += chunk;
});
Где смотреть возможные события? В доках не вижу. Может быть неправильно смотрю конечно.

01 Июн, 08:00 #15 #999516

Почему http.request по урлу не хочет посылать запрос? Пишет getaddrinfo ENOTFOUND. По айпишнику нормально отправляет.

Ответы999922

01 Июн, 09:04 #16 #999531

Если соединятся по https, то ругается на сертификат, хотя браузер никаких проблем не видит. Hostname/IP doesn't match certificate's altnames: Похоже тут, что то с проверкой сертификата у ноды. Как пофиксить? Вариант с отключением проверки не подойдет. Нужно разобраться.

Ответы999615999619999972

01 Июн, 12:09 #17 #999566

>>999431
python+js дауна

01 Июн, 12:32 #18 #999580

>>999229
Откуда столько ненависти?

01 Июн, 14:08 #19 #999615

>>999531
Есть некая старинная фишка с некоторыми сертификатами, когда именно запросы не через браузер. Это связано с цепочками там чего-то, я уже не помню. Особенно эта херня проявляется, когда через летсэнкрипт получаешь.

https://stackoverflow.com/questions/32777760/how-to-fix-missing-an-intermediate-chain-certificate-in-nodejs

Ответы999616

01 Июн, 14:09 #20 #999616

>>999615
странная*

162 Кб, 1920x1080

01 Июн, 14:12 #21 #999619

>>999531
Вот нашёл. Смысл был в том, что пришлось вроде из fullchain.pem достать два куска сертификата и распихать по двум файлам. Не знаю, не факт что у тебя похожая ситуация, но у меня были траблы именно с этим.

Ответы999759

sage 01 Июн, 14:48 #22 #999631

Анон, пишу на тайпскрипте и анагуляре 2. Есть цикл, в нём выполняется асинхронный запрос, где дальше через then идёт остальная логика. Как сделать паузу между этими запросами?

Ответы9996329996739996841006278

01 Июн, 14:49 #23 #999632

>>999631
Сажа прилипла, извините.

01 Июн, 16:37 #24 #999673

>>999631
В ЖС нет пауз. Можешь через сетТаймаут отложить.

01 Июн, 16:56 #25 #999684

>>>999631
Можешь заюзать генератор, если есть es6

01 Июн, 17:47 #26 #999702

Нубас на связи. Решил попробовать node.js, чисто поиграться понять что это и зачем, причем на линуксе, чтобы с ним тоже получше разбираться.

Скачал архив ноды с их сайта, распаковал, а что делать дальше- хз. Создаю файл скрипта(script.js) который пишет в консоль- чтобы проверить работоспособность. Топаю в терминал. Пробую "node.js script". Выдает, что такого нет, и возможно я имел в виду "nodejs из такого-то пакета", чтобы установить "sudo apt install nodejs". Делаю. Теперь "nodejs script.js" работает. Все ок, но потом замечаю, что... В скринкасте который я смотрю вводится не nodejs, а просто node. Пробую. Пишеь, что такой не найдено, но можно установить, аналогично предыдущему. Устанавливаю, работает. Я что, установил ее два раза? Или это несколько разные вещи?

Ответы999711

01 Июн, 18:08 #27 #999711

>>999702
Документацию читай, петух.
Скринкасты он смотрит-повторяет.

Ответы999732

01 Июн, 18:50 #28 #999732

>>999711
Злые вы, не приду к вам больше. Радуйтесь

Ответы999738

01 Июн, 19:06 #29 #999738

>>999732
Чувак, ну хуй знает, я не красноглазый пердолер, прост по моим наблюдениям на пердолинг с линуксом времени уходит больше чем на программирование, но ты вообще потрудился там за сам язык узнать, типы данных, операторы, конструкции всякие управляющие если ты нубас? Или сразу решил имиджборду 5к/секунду по скринкастам пилить?

Ответы999739

01 Июн, 19:13 #30 #999739

>>999738
Еще такой вопрос: Запускаю ноду как веб-сервер, открываю в браузере(127.0.0.1:1337)- работает. Иду за другой комп в моей домашней локалке, из брузера пробую мойайпи:1337 и нихуя. Что я делаю не так?

Ответы999741

01 Июн, 19:17 #31 #999741

>>999739
все-все, я все осознал, каюсь, молчу

01 Июн, 20:05 #32 #999759

>>999619
Можно поподробнее. Я не понимат. Где этот сертификат взять?

Ответы1001257

01 Июн, 20:27 #33 #999771

Зачем нужен undefined? Почему недостаточно одного null?

Ответы999773999831999863

01 Июн, 20:32 #34 #999773

>>999771
пусто vs "не определено"

Ответы999775

01 Июн, 20:35 #35 #999775

>>999773
Это не одно и то же?

Ответы10001081000597

01 Июн, 21:14 #36 #999792

Я правильно понимаю, что при рисовании на канве нельзя отключить сглаживание, и если я хочу несглаженную линию, мне надо манипулировать пикселями и фигачить своего брезенхема (что само по себе не сложно, но я боюсь за производительность)

01 Июн, 22:29 #37 #999831

>>999771
Потому, что
>null == undefined
>true

Ответы999920

01 Июн, 22:43 #38 #999841

что то заебся я с вебпаком бороться, остался последний нерешенный вопрос
https://jsfiddle.net/yaefx3by/
почему hmr то не работает ?

01 Июн, 23:14 #39 #999849

Есть у меня reduce, например, обход массива. И во время обхода значение становится протухшим, и мне нет смысла обходить массив до конца. Как выйти из ебаного перебора, если return это return колбэка, а не внешней функции. Можно циклом, но неужели никак из этой анальной карусели переборщиков массивов не выбраться?

Ответы999855999863999912

01 Июн, 23:34 #40 #999855

>>999849
дай задачу полностью.

35 Кб, 764x847

69 Кб, 720x960

02 Июн, 00:01 #41 #999861

Как мне добавить attRemain в код? (кол-во оставшихся попыток).
Я пробовал отдельно от лупа while и закончилось тем, что мне захотелось его всунуть в while. Но когда я начал думать о том, как всунуть в while - я чё-т... Ох вейт.
Надо с помощью 'OR' в while всунуть параметр attRemain > 0 и добавить else if (attRemain = 0) инфу, мол, 'вы проиграли' и break?'

Так? А ещё какие варианты/если не так, то как?

Ответы999866999873

02 Июн, 00:06 #42 #999863

>>999849
Свёртка это о том, как все значения списка свернуть в одно аккумулирующее. Поэтому не нужно пихать её там, где она не уместна.

>>999771
Может потому что прототип языка был написан за 10 дней одним человеком и назывался Mocha (история гуглится), в языке уйма "исторически сложившихся" особенностей, которые никто не будет исправлять, чтобы не рушить обратную совместимость.

Ответы1004834

216 Кб, 1280x1024

02 Июн, 00:11 #43 #999866

Не могу, прост, понять, как мне подсчёт attRemain добавить.
>>999861

02 Июн, 00:34 #44 #999873

>>999861
код говно. кинь его в жсбин

Ответы999879

02 Июн, 00:45 #45 #999879

>>999873
Держи, не нашёл на бине кнопку 'сейв'.
https://jsfiddle.net/ro9tcb3k/

Ответы999948

02 Июн, 05:53 #46 #999912

>>999849
ramda

02 Июн, 08:48 #47 #999920

>>999831
Кулстори, бро.
>1 == '1'
>true

02 Июн, 09:20 #48 #999922

>>999516
Бамп вопросу. Если использовать метод get вместо request, даже в https - то никаких проблем не возникает.

02 Июн, 10:51 #49 #999948

>>999879
Я не он, сам нуб, вот что получилось
https://jsfiddle.net/5h9rzf8b/7/

02 Июн, 11:01 #50 #999953

Да, и вот так по-моему круче, без лишнего алерта и все на видном месте при вводе:
https://jsfiddle.net/5h9rzf8b/9/

02 Июн, 11:30 #51 #999972

>>999531
Я бы предложил тебе сделать связку ноды + nginx. На стороне nginx уже настроить свякую лабуду с сертификатами. Откуда сертификать брать? вот тут: https://letsencrypt.org/getting-started/

Там инструкции на английском

02 Июн, 15:10 #52 #1000067

>>999208 (OP)
Уважаемый ОПчик,
>Изучая только теорию язык усваивается плохо
Проезжая мимо вокзала с меня слетела шляпа. Это в подразделе "онлайн курсы" (где тоже не мешало бы поставить дефис).

Ответы1000106

02 Июн, 16:06 #53 #1000100

Поцаны, у кого нибудь есть идеи как использовать three.js совместно с redux? Мне нужно сделать так чтобы можно было менять состояние сценыНапример отображаемые слои или подсветка в любом месте приложения и чтобы это состояние влияло на другие компоненты.

Ответы1000129

02 Июн, 16:23 #54 #1000106

>>1000067
Спасибо, пофиксим.
один из авторов шапки

02 Июн, 16:25 #55 #1000108

>>999775
null - это пустой объект без свойств и методов.
undefined - это абсолютная пустота, то есть когда отсутствует даже пустой объект.

Ответы1000137

02 Июн, 16:43 #56 #1000114

https://learn.javascript.ru/basic-dom-node-properties#в-инлайн-скрипте-lastchild-nodetype

Объясните почему здесь выводит 1? Ведь перед <script> ещё есть перенос строки, т.е пробельный узел, и должно выводить именно его, че за бред?

Ответы1000119

02 Июн, 16:52 #57 #1000119

>>1000114
Потому что пробельный узел не последний. Последний - сам тег <скрипт>, внутри которого выполняется этот сценарий, его нодТайп == 1.
Там же все разжевано в ответе

02 Июн, 17:18 #58 #1000129

>>1000100
У тебя что-то быстродействующее намечается? Редакс не для шустрых приложух. Используй mobx или хуйню от ребят из Formidable Labs.

Ответы1000141

02 Июн, 17:39 #59 #1000137

>>1000108
>null - это пустой объект
Вводишь в заблуждение. Под пустым объектом можно понять {} или Object.create(null). null - не объект, это единственное значение одноименного типа данных, которое означает "ничего" по смыслу. Ключевое его отличие от undefined в том что null может и активно присваивается явно как раз для того чтобы обозначить что переменная или свойства содержат "ничего". А undefined присваивать нельзя(хотя и возможно), с ним можно только сравнивать чтобы понять есть ли в принципе такое свойство у объекта или нет.

92 Кб, 971x541

02 Июн, 17:45 #60 #1000139

Кстати а почему нельзя просто записать в прототип свойство, зачем для этого использовать Object.defineProperty ?

Ответы1000145

02 Июн, 17:45 #61 #1000141

>>1000129
Проблема в том что я вообще плохо представляю как сделать обмен состояниями между three.js и остальной частью приложения.

02 Июн, 17:56 #62 #1000145

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

Ответы1000183

02 Июн, 18:14 #63 #1000158

Как точно проверить правильно ли я сделал полифил для closest ? Вроде бы убрал условие наличия этого свойства в Elements.prototype и сразу перезаписываю его (дабы проверить будет ли работать) и тут оно внезапно работает с первого раза, но чет у меня сомнения какие-то.

Ответы1000159

02 Июн, 18:16 #64 #1000159

>>1000158
бля сорян, я дебил, не ту проверку вставил.

02 Июн, 19:57 #65 #1000181

Я подсел на эту дичь
function evenUpperChar(str) {
return str.split(' ').map(item => item.split('').map((l,i) => (i%2!=0) ? l : l.toUpperCase()).join('')).join(' ')
}
Как перестать чейнить небо с аллахом и снова писать понятный код?

02 Июн, 20:03 #66 #1000183

>>1000145
Но в данном случае можно было точно также в одну строчку написать и без этого defineProperty. Я помню что Кантор что-то писал про то, вот так напрямую можно только методы записывать, а свойства через defineProperty. Только вот я уже забыл почему так.

Ответы1000198

134 Кб, 1280x1024

02 Июн, 20:06 #67 #1000185

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

Ответы10002111000219

11 Кб, 326x215

02 Июн, 20:27 #68 #1000198

>>1000183
Не также. Попробуй сделать свойство yearsOld которое работает так без defineProperty

02 Июн, 20:31 #69 #1000204

Проебал перекат.

Мобильные приложения с жс на реакт-нейтив делают? А на ноде без этой свистелки можно, учитывая что оно оффлайновое?

10 Кб, 701x156

02 Июн, 20:37 #70 #1000211

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

Ответы1000212

02 Июн, 20:38 #71 #1000212

>>1000211
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md ссылка отклеилась

02 Июн, 20:42 #72 #1000214

Эх, господа, вот возвращаюсь в пт с работы и вкупаю, что заебался и не хочу всю дорогу ебашить по чужим идеям и копошиться в старом дерьмеце на постоянной основе, то бишь 5 в неделю.
По фасту, какие щас стеки для крафта сайтецов на фрилансе топчик? Могу в React , Angular ок, nodeJS чутарик с express-ом. jQ+WP не предлагать.
Что именно по бекенду шарить, мб какой-то RoR там выдрочить или еще чего. Кто в этом варится и может посоветовать чё?

Ответы1000218

02 Июн, 20:52 #73 #1000218

>>1000214
лол так для фриланса jq и вп самое то, даже для апворка, ты че бля зайти на биржи и в поиске понабирать не можешь, сравнить кол-во заказов по jq+wp vs vue + flask
Такие вещи как раз в офисах нужны, это в 5/2 работодателю нужно, чтоб ты умел на острие прогресса быть и все самое эффективное использовал.
на фрилансе 80% нужно хуяк и в продакшн
хотя я прост кукаретик с фриланса

02 Июн, 20:54 #74 #1000219

>>1000185
с маленькой буквы свойство propTypes когда на класс вешаешь

Ответы1000223

02 Июн, 21:02 #75 #1000223

>>1000219
и правда, проебался, спасибо

02 Июн, 22:23 #76 #1000248

Есть идея создать небольшой гайд, типа как у кантора, но совсем для дебилов+включить туда реакт или ноду. Стоит ли мучиться?

Ответы10002491000274

02 Июн, 22:41 #77 #1000249

>>1000248
Начни с гайда по ебаному зоопарку стека реакта. Вот раньше в деревнях-то подрубали одной строкой jQuery и все, а тут какой-то набор школьных мемов - react, flux, redux, jxs, rxjs, typescript, webpack, express, babel - хуй проссышь что зачем и как с этим совладать, но без них никак в 2к17.

Ответы1000264

02 Июн, 22:46 #78 #1000252

На чём пилить всякие юнит-тесты для HTTPS серверов на ноде с VanillaJS чтобы при этом всяких ошибок сертификатов не было?
Кастомный сертификат УЦ, Chai HTTP из-за этого работать не хочет

02 Июн, 23:24 #79 #1000264

>>1000249

Ну, там, на самом деле, ничего страшного, главное начать. Я сам не далеко от ньюфага ушел, но объяснение кому-то чего-то способствует запоминанию. Плюс батьки местные закоммитят верный вариант и если что.
сам кстати час назад начал ориентироваться в тайпскрипте и переписываю на него свой проект

02 Июн, 23:26 #80 #1000265

Кстати, у меня вопрос возник по тайпскрипту: при написании скриптов для ноды, компилятор жалуется, что не знает имён require, process.
А если написать модуль в стиле import fs = require('fs'), то жалуется, что таких модулей не знает.
Как я могу глобально пофиксить проблему, или отключить реакцию на эти слова?

Ответы1000272

02 Июн, 23:49 #81 #1000272

>>1000265
>офиксить проблему
man @types

02 Июн, 23:56 #82 #1000274

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

03 Июн, 00:51 #83 #1000287

Я думаю этому треду пора решить какой редактор самый кошерный для js бояр.
- Atom
- VS Code
- Sublime

Ответы100030110003071006280

03 Июн, 01:59 #84 #1000301

>>1000287
ты какую то чушь несешь
> Я думаю этому треду пора решить
зачем ему это решать ? Вкусовщина же полнейшая.
> - Atom
> - VS Code
> - Sublime
а нахуй ты тогда ограничиваешь выбор тремя редакторами, которые функционально друг от друга почти не отличаются.
короче ты кажись холивар хочешь развести непонятно зачем
но если нет то я за шторм голосую

Ответы1000308

03 Июн, 03:23 #85 #1000307

>>1000287
Ебашу код прямо в соснольку. Я нормален?

Ответы1000330

03 Июн, 03:26 #86 #1000308

>>1000301
шторм как и студия это полноценные ide
я же говорил про редакторы

Ответы1000330

03 Июн, 09:30 #87 #1000330

>>1000308
студия и code - разные продукты
>>1000307
Бля, жиза, я так привык переводить строку на шифт+ентер что и в редакторе и везде теперь жму.

03 Июн, 11:48 #88 #1000361

Раз тут про тс говорят, у меня вопрос всплыл:
Стоит ли учить его вообще? Я вот сейчас им пользуюсь чтоб задавать тип переменных, и все, больше никак. Просто чтоб багов было поменьше, лол.
Стыдно такое даже в резюме писать.

Ответы10062811006313

03 Июн, 14:43 #89 #1000446

Посоны, сколько ЗП у React+Redux-макаки с годом опыта в ДС в среднем?

Ответы1000471

03 Июн, 15:22 #90 #1000471

>>1000446
80+

03 Июн, 15:35 #91 #1000480

Чем отличаются записи
import {variable} ...
от
import variable ...
???

Ответы1000481

187 Кб, 1038x1114

03 Июн, 15:37 #92 #1000481

>>1000480
>import {variable} ...
export variable
>import variable ...
export default variable_or_any_other_id

03 Июн, 18:46 #93 #1000534

>>999208 (OP)
Дайте годный мануал по организации проекта ангуляра.
Интересует как лучше организовать вьюхи. Чтобы все было аккуратненько, чтобы инфа загружалась только по переходу на определенную страницу, удобная навигация, правильное соответствие адресной строке (а то сейчас все по одному адресу, неудобно). Еще желательно чтобы несколько вьюх на одной странице можно было. Сейчас вроде только одну ng-view можно. В общем, надеюсь вектор правильно описал. Спасибо заранее.

Ответы1001995

03 Июн, 20:25 #94 #1000578

Бля, посоны, где же вы, хипсторы, пишушие на редуксе и реакте, и использующие только имутабл.жс? Чё, поясняйте, какие ваши ощущения от такого пердолинга?
Что бы вы выбрали: ангуляр 2 или реакт? Чтобы была МАКСИМУМ МОДУЛЯРНОСТЬ, чтобы один и тот же компонент можно было бы юзать на 100500 страницах.

Ответы1006652

03 Июн, 20:52 #95 #1000597

>>999775

null это placeholder для всех типов, undefined это статус объявления типа

Ответы1004834

208 Кб, 1080x1428

03 Июн, 21:04 #96 #1000609

зашёл сказать, какие всё-таки promises офигенные

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

Ответы10006121000638

03 Июн, 21:08 #97 #1000612

>>1000609
Промисы были всегда, даже в жквери.
Мне жалко жс макак, которые вынуждены дебажить эти промисы - бряки надо ставить именно в эту ебучую функцию, внутрь неё просто так не зайти по ходу дела. Даже в интелидж такое прикрутили уже для жабы, а у жса всё нет, хоть там вообще 99% действий завязано на этих промисах.

Ответы10006291000634

03 Июн, 21:10 #98 #1000614

пацаны, а вот как мне себя идентифицировать в плане скила ? Ну то есть на большинство более менее сложных вопросов на cyberforum.ru/javascript я хоть и с гуглом но даю решения хуйню типа как сложить два числа даже не отвечаю просто я всем грю что я джун вроде как, а вроде как закатываю глаза в тредике верстал и тут после прочтения очередного вопроса в духе как использовать redux-thunk

Ответы100062510006341000647

03 Июн, 21:21 #99 #1000625

>>1000614
Да с гуглом на любой вопрос рано или поздно можно найти ответ. Ты на ключевые вопросы должен уметь отвечать даже без консоли, с одной бумажкой.

03 Июн, 21:27 #100 #1000629

>>1000612

>промисы были всегда
>жиквери

Ответы1000654

03 Июн, 21:35 #101 #1000634

>>1000612
Угу, в jq было подобие, называемое deferred но оно нихера не промис т.к. работало даже не правильно. Где-то в 3 версии починили.
Так что про всегда ты не гони тут.

>>1000614
Тредики не показатель тут адекватов раз два и обчелся. А так похожая ситуация, но продолжаю считать себя джуном пока.

Ответы10006531000654

03 Июн, 21:38 #102 #1000638

>>1000609
> зашёл сказать, какие всё-таки promises офигенные
После rxjs ивентстримов стандартные жс промисы не оче.

03 Июн, 21:38 #103 #1000639

Для декстопа по мимо того, что перечислено в на гитхабе ОП-посте, новых библиотек не появилось?

03 Июн, 21:41 #104 #1000645

Как же закумарило проходить вторую часть учебника про DOM. Это говно вообще кто-то заучивает или просто достаточно уметь найти за 10 секунд нужное свойство? Пушто я не знаю как удержать это все в голове. На собеседовании могут спросить что лежит в clientWidth а что в offsetTop, например?

Ответы1006282

231 Кб, 1280x1024

03 Июн, 21:44 #105 #1000647

>>1000614
принято, никогда особо не пробовал, вот первый попавшийся по запросу
javascript quiz for middle
однако, там все вопросы по неочевидностям языка, я очень слабо представляю какое они могут иметь значение либо у меня бомбит но серьезно это настолько сильно влияет на меня как на жс разработчика ? Бля я в жизни такого кода даже в исходниках jquery библиотек ммаксимально коряво написаных не встречал

Ответы10006481000659

03 Июн, 21:46 #106 #1000648

>>1000647
Ссылку дай мне интересно

Ответы1000650

03 Июн, 21:47 #107 #1000650

>>1000648
уже не надо перепечатал с скрина

Ответы1000660

03 Июн, 21:49 #108 #1000653

>>1000634
> Тредики не показатель
я понимаю, я говорю о том что слабо представляю задачу из области фронтенда с которой бы я не справился. Вебгл разве что какой нибудь, или сайт там из одного элемента <canvas></canvas> едва ли смогу сделать типа такого http://anagram.paris/ будет отпуск, попытаюсь такой запилить чисто в угар

Ответы1000656

03 Июн, 21:49 #109 #1000654

>>1000629
>>1000634
А что тогда промис в вашем понимании?

Ответы1000657

300 Кб, 1280x1024

03 Июн, 21:51 #110 #1000656

>>1000653
http://davidshariff.com/js-quiz/
кстати в среднем 48%

03 Июн, 21:52 #111 #1000657

>>1000654

речь о нативном жс.

03 Июн, 21:55 #112 #1000659

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

36 Кб, 1319x211

03 Июн, 21:57 #113 #1000660

>>1000650
Надо лучше изучать, не дотянул до сотки, обидно

Ответы10006611000682

99 Кб, 1239x309

03 Июн, 22:01 #114 #1000661

>>1000660
врети

Ответы1000663

03 Июн, 22:05 #115 #1000663

>>1000661
Лол, нет, просто за полгода работы еще не успело "выветриться из головы"

03 Июн, 22:22 #116 #1000667

Ну что же вы, пасаны, кто-нибудь реально использует HATEOAS с этими _links и self.href? Я вот сейчас прохожу туториал https://spring.io/guides/tutorials/react-and-spring-data-rest/ и как же это всё-таки геморно обращаться с этими линками.
Я боюсь представить, во что это всё выльется, когда апликуха уже не будет ограничиваться простыми "вытащи всех работников-удали работника-добавь работника-обнови работника", а будет что-то типа "запланируй работника на увольнение" или "перебрось его в другой департмент". И чё, тогда все эти действия через PUT'ы делать и иметь один громадный метод на серваке, который проверяет, а что же всё-таки надо сделать: перекинуть работника в другой департмент или запланировать его на увольнение? Флаги ебучие придётся передавать что ли в объекты, в зависимости от которых сервак уже будет действовать?

03 Июн, 22:30 #117 #1000669

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

112 Кб, 1324x357

03 Июн, 22:30 #118 #1000670

87 Кб, 722x260

03 Июн, 23:06 #119 #1000682

>>1000660
я на той херне с new new запоролся и со
'строка' instanceof String чет перемкнуло

04 Июн, 13:57 #120 #1000837

const isRightNum = num => num > 10 && num <= 5 || num / 7 === 1;

console.log(isRightNum(7)); // true

Объясните нубу плз, почему выводит true? Разве выражение не начинается слева направо? Ведь первое же num>10 должно показывать false и на этом заканчивать вычисление.

Ответы1000838100083910008591000985

04 Июн, 13:59 #121 #1000838

>>1000837
> и на этом заканчивать вычисление
С чего бы? Там же дальше ИЛИ, а не ЭНД.

04 Июн, 14:00 #122 #1000839

>>1000837
гоогле: приоритет операторов +mdn

04 Июн, 14:25 #123 #1000859

>>1000837
>первое же num>10 должно показывать false
Да
>и на этом заканчивать вычисление
Нет. Только если что-то вроде false && true && 1 && {}, тогда интерпретатор применяет то что называется сокращенный цикл вычислений. Он видит что первый операнд всегда будет false, значит нет смысла идти дальше и это, кстати, может привести к подлянкам если среди в правых операндах ведутся какие-то вычисления.
Если же в выражении куча других операторов то false && ... отнюдь не означает что результат предопределен, так как там могут быть операторы с меньшим приоритетом.
Тут последовательность такая:
(num > 10 && num <= 5 || num / 7 === 1)
1. Оператор "/" имеет наивысший приоритет, поэтому вычисляем (num / 7 ) // выражение на этом этапе num > 10 && num <= 5 || 1 === 1;
2. Оператор ">" (num > 10) // false && num <= 5 || 1 === 1;
3. Оператор "<=" (num <= 5) // false && false || 1 === 1;
4. Оператор "===" (1 === 1) // false && false || true;
4. Оператор "&&" (false && false) // false || true;
5. Оператор "||" (false || true) // очевидно
6 ???
7. TRUE!

Ответы1000866

04 Июн, 14:36 #124 #1000866

>>1000859
Спасибо

04 Июн, 17:50 #125 #1000985

>>1000837
Выражение вычисляется (сворачивается) до единственного значения по приоритету операторов. Приоритет следует из внутренних алгоритмов, тонким слоем размазанных по спеке. Так что стоит держать перед глазами сводную табличку, пока не запомнится:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

Выполнение только левого операнда логического оператора называется "короткое замыкание" (short circuit). Могут подъебать на собеседовании на аналогии с замыканием (closure), что совсем разные вещи.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Short-circuit_evaluation

Не злоупотребляй однострочниками. Пиши явно с инструкциями (if, else). Однострочником ты только что сам себя подъебал.

04 Июн, 19:42 #126 #1001039

Подскажите фреймворки при помощи которых это будет легко сделать.
Нужно сделать сайт с системой авторизацией, который будет раз в n минут запрашивать данные с бекенда и обновлять графики.
До этого пилил какие-то учебные штуки на nodejs express и чистом js.
Стоит ли учить какой-то react?

Ответы1001091

04 Июн, 21:13 #127 #1001091

>>1001039
Любой фреймворк, который реализует парадигму реактивного программирования.

Ответы10011431001169

04 Июн, 23:08 #128 #1001143

>>1001091
попахивает функциональщиной(

Ответы1001236

04 Июн, 23:29 #129 #1001160

как мне пичет от этого языка

04 Июн, 23:39 #130 #1001169

>>1001091
Какие реактивные фреймворки есть в ЖСе?

Ответы1001173

04 Июн, 23:42 #131 #1001173

>>1001169
rxjs

Ответы1001179

05 Июн, 00:03 #132 #1001179

>>1001173
>rxjs
И чё, он норм интегрируется с реактом? А редукс как?

Ответы10012361001266

05 Июн, 06:40 #133 #1001236

>>1001143
>попахивает функциональщиной(
Как что-то плохое.

>>1001179
>И чё, он норм интегрируется с реактом?
Интегрируется на отличненько.

Но в твоем случае лучше рекомендовать не RxJS в отрыве, а, как ты и просил, нечто цельное, вкупе с инструментами для отрисовки вьюхи.

Реактивщины сейчас много, выбирай на любой вкус. NPM i -g create-react-app и вперед, к свершениям. Проще могут быть только мелколибы, навроде HyperAppJS.

>А редукс как?
Каждой задаче - свой инструмент. Подумой и аргументированно ответь себе на вопрос, почему тебе не достаточно встроенного стейт-менеджера?

Ответы1001260

05 Июн, 08:49 #134 #1001257

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

05 Июн, 09:19 #135 #1001260

>>1001236
>Каждой задаче - свой инструмент. Подумой и аргументированно ответь себе на вопрос, почему тебе не достаточно встроенного стейт-менеджера?
Ну, чтобы это всё СКЕЙЛИЛОСЬ, и чтобы стейт можно было бы просто хандлить! Он же для этого да? А какой юз кейс у RxJS? Я сейчас могу придумать только то, чтобы можно было бы по-быстрому отправлять 100500 запросов асинхронно на сервак, а для остального вроде есть уже встроенные мапы и фильтры, чтобы преобразовывать разные массивы?

Ответы1001262

05 Июн, 09:32 #136 #1001262

>>1001260
>Ну, чтобы это всё СКЕЙЛИЛОСЬ, и чтобы стейт можно было бы просто хандлить!
Для этого вовсе не обязательно использовать редакс. Для небольших апп целесообразно придерживаться HoC паттерна: https://facebook.github.io/react/docs/higher-order-components.html

>А какой юз кейс у RxJS?
Реализация концепции "данные как поток". В частном случае - либа, позволяющая при грамотном подходе знатно заредьюсить объем кодовой базы, связывая ивенты, экшоны и стейт: https://habrahabr.ru/post/309226/

05 Июн, 10:07 #137 #1001266

>>1001179
>>rxjs
>с реактом?
>А редукс
Пацаны, а правда что в ангуляре это все вкаробке и нет такого пердолинга с прикручиванием 10 либ от разных вендоров?

Ответы1001269

05 Июн, 10:18 #138 #1001269

>>1001266
>Пацаны, а правда что в ангуляре это все вкаробке и нет такого пердолинга с прикручиванием 10 либ от разных вендоров?
Да, действительно, дистрибутив Angular'a поставляется, как говорится, по принципу 'all batteries included', что значит не тольrо отсутствие пердолинга с такими заурядными вещами, как стейт-менеджмент, но и генерация серверного кода (для Hapi или Express) при описании модели данных, снижая трудозатраты и время разработки до рекордного минимума.

05 Июн, 19:44 #139 #1001552

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

05 Июн, 19:52 #140 #1001556

ананасы, что не так
должна быть виселица в бравзере, гоголь хроме, через диалоговые окна, но ничего не происходит
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8"
<title>виселица йоу</title>
</head>
<body>
<h1>Виселица, твоя</h1>
<script>
var words = [
"макака",
"двач",
"диван",
"бабах"
];
var word = words[Math.floor( Math.random( )*words.length )];
var answerArray = [];
for ( var i = 0; i < word.length; i++ ) {
answerArray = "_";
}
var remainingLetters = word.length
while ( remainingLetters > 0 ) {

alert( answerArray.join(" ") );

var guess = prompt( "Угадай букву или нажми 'Отмена' для выхода из игры" )
if (guess === null) {
break;
}
else if (guess.length !== 1) {
alert( "Введи одну букву" );
}
else {

for( var j = 0; j < word.length; j++ ) {
if( word [j] === guess) {
answerArray [j] = guess
remainingLetters--;
}
}
}
alert( answerArray.join(" "));
alert( "Было загадано слово " + word );
</script>
</body>
</html>

05 Июн, 19:52 #140 #1001556

ананасы, что не так
должна быть виселица в бравзере, гоголь хроме, через диалоговые окна, но ничего не происходит
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8"
<title>виселица йоу</title>
</head>
<body>
<h1>Виселица, твоя</h1>
<script>
var words = [
"макака",
"двач",
"диван",
"бабах"
];
var word = words[Math.floor( Math.random( )*words.length )];
var answerArray = [];
for ( var i = 0; i < word.length; i++ ) {
answerArray = "_";
}
var remainingLetters = word.length
while ( remainingLetters > 0 ) {

alert( answerArray.join(" ") );

var guess = prompt( "Угадай букву или нажми 'Отмена' для выхода из игры" )
if (guess === null) {
break;
}
else if (guess.length !== 1) {
alert( "Введи одну букву" );
}
else {

for( var j = 0; j < word.length; j++ ) {
if( word [j] === guess) {
answerArray [j] = guess
remainingLetters--;
}
}
}
alert( answerArray.join(" "));
alert( "Было загадано слово " + word );
</script>
</body>
</html>

Показать весь текст
Ответы10015581001585

05 Июн, 19:53 #141 #1001558

>>1001556
jsfiddle.net jsbin.com
хуй я тебе отвечу пока нормально не спросишь

05 Июн, 20:13 #142 #1001585

>>1001556
Чувак, я те решил задачу причем по-модному, с проверками введена ли кириллическая буква и с запоминанием уже названных букв, а ты даже спасибо не сказал.
https://jsfiddle.net/5h9rzf8b/10/

18 Кб, 620x145

05 Июн, 22:21 #143 #1001666

http://jsbin.com/ludecanore/edit?js,console - что-то не пойму, почему не работает, помогите нюфагу =(

Ответы100167010016741001680

05 Июн, 22:29 #144 #1001670

>>1001666
Строки нельзя изменять, сучара, это константы. Только создавать новые

05 Июн, 22:34 #145 #1001674

>>1001666
let reverse = str => str.split('').reverse().join('')
http://jsbin.com/quyihisipa/1/edit?js,console

Ответы1001827

29 Кб, 696x554

05 Июн, 22:47 #146 #1001680

>>1001666
Это не совсем очевидная фича, но да, строки нельзя изменять таким образом. Но можно на месте приклеить что-то к старой и переприсвоить в ту же переменную.

237 Кб, 1024x854

06 Июн, 08:42 #147 #1001827

>>1001674

ПЕРФЕКЦИОНИЗМЪ!
let reverse = s => {for (var i=s.length-1,r='';i>=0;r+=s[i--]);return r;}
сука, как же сложно с ним жить порой...

Ответы10019221002014

06 Июн, 13:25 #148 #1001922

>>1001827
const reversed = word => Object.values(new String(word)).reduceRight((pv, cv) => pv+cv, '')

Ответы1001931

06 Июн, 13:50 #149 #1001931

>>1001922
Вот объявление сей функции как константы - это да, я упустил, от балды пизданув модно звучащий let. Хотя, объявлять такую функцию, как глобальную, вряд ли практично. Скорее всего, её лучше в прототип, а-ля String#reverse.

Ответы1001985

06 Июн, 14:43 #150 #1001974

Что нужно сейчас учить во фронтэнде, чтобы к концу году у работодателей текли писечки от меня?
React + ES6? Angular + TypeScript?

Ответы10019761003522

06 Июн, 14:44 #151 #1001976

>>1001974
html + css

Ответы1001988

45 Кб, 538x348

06 Июн, 14:52 #152 #1001985

>>1001931
>Скорее всего, её лучше в прототип
Не охуел ли ты встроенные прототипы трогать? Это же НИБЕЗОПАСНО.

Ответы10019921002073

06 Июн, 14:57 #153 #1001988

>>1001976
я в совершенстве владею этим

Ответы1001990

06 Июн, 14:59 #154 #1001990

>>1001988
Еслиб ты этим владел, тыб тут не сидел и не спрашивал глупости

06 Июн, 15:05 #155 #1001992

Двачую >>1001985 лучше подруби библиотечку ReverseJs для этого, от создателей фейсбука, most hot в 2к17.

Ответы1002073

06 Июн, 15:07 #156 #1001995

>>1000534
Бампую.

06 Июн, 15:36 #157 #1002014

>>1001827
Чому не function reverse(s) {} ?
Бесит когда всюду пихают монады

Ответы100207310020911002146

06 Июн, 17:00 #158 #1002073

>>1001985
Сразу оговорюсь: я в JS пока что ссаный теоретик, но мне кажется, что есть лишь два варианта развития событий:

1) Господа из Ecma International запиливают нативный метод reverse для String'а, и тогда моя функция, запихнутая в прототип, засирает всю малину. На этот случай есть
String.prototype.reverse = String.prototype.reverse || myReverse,
2) Я подключаю кучу библиотек к проекту, и какая-то из них слишком охуела и пытается также расширить прототип, в то же самое свойство. Тут остаётся лишь надеяться, что автор библы достаточно разумен, и если его библа - лишь набор полезных функций, то она не перезапишет имеющийся вариант (мою функцию).

Am I right?

>>1001992
Звучит, как сарказм, обличающий всё современное JS-комьюнити в бесконечной погоне за новыми модными библиотеками и фреймворками.

>>1002014
Лишь следовал стилю поста, на который отвечал. Отсюда и стрелка, которая и вправду выглядит не очень в данном случае.

Ответы1002145

59 Кб, 574x532

06 Июн, 17:35 #159 #1002091

>>1002014
>монады
>в посте просто стрелочная функция
Чё?

Ответы1003523

134 Кб, 600x632

06 Июн, 18:30 #160 #1002119

Есть какой-то простой и каноничный способ отправить html в котором просто будет линки на файлы в этой static-директории?

Ответы1006590

06 Июн, 19:32 #161 #1002145

>>1002073
Не нужно вообще ничего пихать в прототипы, это форменный monkey patching, который приводит к трудноуловимым ошибкам.

06 Июн, 19:38 #162 #1002146

>>1002014
монада=массив

Ответы1002236

06 Июн, 20:04 #163 #1002170

>>999208 (OP)
Почему es6 не работает на айпадах? Я создал класс, он работает в браузере, а на айпаде ошибку кинул.

Ответы1002176

06 Июн, 20:13 #164 #1002176

>>1002170
Если браузер на твоём айпаде был выпущен до создания ES6, то чему тут удивляться? Обнови браузер. Однако ЕS6 на 100% вроде только в новом Хроме реализован.

Ответы1002178

06 Июн, 20:16 #165 #1002178

>>1002176
Нах тогда его в вакансиях требуют, если все равно нужно делать кроссбраузерно и кроссплатформенно, те и для старых браузеров?

Ответы1002183

06 Июн, 20:22 #166 #1002183

>>1002178
На практике используют Babel, который преобразовывает ES6 в более старые версии JS, понятные большинству браузеров.

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

Ответы10021911002201

06 Июн, 20:27 #167 #1002187

Посоветуйте хорошую среду разработки под ЖМУ/Пинус.
Ибефо: Emacs

06 Июн, 20:32 #168 #1002191

>>1002183
Ну офигел это же утяжеляет код

06 Июн, 20:42 #169 #1002201

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

Ответы1002278

06 Июн, 21:07 #170 #1002236

>>1002146
Нет. Массив по дефолту - это фанктор. До монады не дотягивает. А вот промис - это монада.
Могу ошибаться, но вроде так.

Ответы10022971002307

06 Июн, 21:27 #171 #1002278

>>1002201
Ебанулся? Методы класса записываются не в экземпляр, а в прототип.

Ответы1002332

06 Июн, 21:36 #172 #1002297

>>1002236
Да, так.

06 Июн, 21:40 #173 #1002307

>>1002236
Да, абсолютно верно, для некоторых сениоров-хуинеров это открытие, что промис = монада

06 Июн, 21:53 #174 #1002332

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

Ответы1002344

06 Июн, 22:04 #175 #1002344

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

06 Июн, 23:01 #176 #1002386

https://learn.javascript.ru/modifying-document#удаление-элементов - немного не понял, а зачем методу знать какой родитель у элемента? В чем логика?

Ответы1002394

323 Кб, 537x529

06 Июн, 23:15 #177 #1002394

>>1002386
"Удаляет" он в том смысле что "отвязывает" элемент от родителя (удаляет его из списка детей).
При этом из памяти элемент сразу не удаляется, и если ссылка на него лежит в какой-то переменной - можно привязать его другому родителю.

Ответы1002397

06 Июн, 23:19 #178 #1002397

>>1002394
Я всё равно не понял зачем при этом указывать родителя. Существует например метод elem.remove(), который не требует указания родителя. Он просто удаляет элемент который мы указали.

Ответы1002398

41 Кб, 493x497

06 Июн, 23:23 #179 #1002398

>>1002397
А где ты видишь там указание родителя?
parentNode - это встроенное поле у Element, которое на родитель указывает.
Короч читай внимательнее или повтори основы.

Ответы1002404

06 Июн, 23:50 #180 #1002401

https://learn.javascript.ru/modifying-document#removechildren - задание
http://jsbin.com/bupipimafe/edit?html,output - решение. Насколько я понимаю решение неправильно, но вроде всё логично написал, разве нет?

Ответы1002423

06 Июн, 23:52 #181 #1002404

>>1002398
parentElem.removeChild(elem)
Удаляет elem из списка детей parentElem

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

>parentNode - это встроенное поле у Element, которое на родитель указывает.

Встроенное ПОЛЕ? О чем ты?

Ответы1002423

54 Кб, 395x427

07 Июн, 00:37 #182 #1002423

>>1002401>>1002404
Не, давай ты лучше сам почитаешь про основы JS и структуру DOM.
А то совсем хуйню городишь.
>Встроенное ПОЛЕ? О чем ты?
О https://developer.mozilla.org/ru/docs/Web/API/Node/parentNode
Их ещё СВОЙСТВАМИ называют. Они у классов/объектов бывают, как и МЕТОДЫ.

07 Июн, 03:14 #183 #1002461

https://codepen.io/anon/pen/GEJxgW котики подскажите почему ошибка?

Ответы1002462100248710025001002738

77 Кб, 650x477

07 Июн, 04:33 #184 #1002462

>>1002461
В том, что у строки нет оператора [].
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/charAt
Код всё равно останется неправильным, но дальше сам учись не писать говно, блять.

Ответы10025121002696

07 Июн, 09:18 #185 #1002487

>>1002461
>return console.log(count);
прочитай это как будто на русском языке
>вернуть консоль.напечатать(число)
а тебе что нужно?
олсо
let hitler = str => (str.match(/[A-Z]/g) || []).length

07 Июн, 09:59 #186 #1002500

>>1002461
Ты пишешь в код в какой-то параше. Которая не умеет выводить ошибки в консоль, но зачем-то следит за вводом с клавы и без спроса передрачивает вывод, мерзко дергаясь при этом. Стер точку с запятой, она, сука, дергается.
Родина дала тебе консоль, жми ф12 и отлаживай, с брейкпоинтами, трейсом, блекджеком и шлюхами. Только не пиши let/const в глобальное окружение. Нет, не хочу, хочу сидеть на параше со светомузыкой и не вдуплять что происходит.
Ну или тут
https://jsbin.com/garelojera/edit?js,console
хотя бы сразу видно в чем проблема

11 Кб, 378x187

07 Июн, 10:25 #187 #1002512

>>1002462

07 Июн, 12:34 #188 #1002574

Повторю вопрос: надо ли заучивать свойства и методы DOM? Могут такое на собеседовании спросить, типа, что хранится в свойства clientTop или как взять 3 ячейку в 5 строке таблицы? Если я это все могу за 5 сек найти на mdn.

Ответы10025801002724

07 Июн, 12:49 #189 #1002580

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

Ответы1002582

07 Июн, 12:51 #190 #1002582

>>1002580
добавлю еще что поддаваясь на такие вопросы ты 100% ведешь себя в тупик. Всегда можно спросить что означается какой нибудь 10-ый метод объекта Window и если ты не ответишь - начать насмехаться над тобой.
Отвечая же иначе ты присекаешь это на корню.

07 Июн, 16:44 #191 #1002696

>>1002462
Не пизди если не знаешь, плз.

07 Июн, 18:01 #192 #1002724

>>1002574
Нет канешна, это энциклопедическая информация, никакой ценности она по сути не несет и ничего не показывает на собесе. Анон выше правильно заметил, тебя скорее этим в тупик загонят, уровня АХАХХА ЛАЛКА НАЗВАЛ ВСЕГО 70 ПАТТЕРНОВ, А МЫ ТУТ ВСЕ 75 ЗНАЕМ

07 Июн, 18:51 #193 #1002738

>>1002461
Ну это же очевидно

Условие цикла - i <= str.length
На последней итерации str[str.length] будет undefined, поэтому str.toUpperCase() выкинет TypeError

Решение - поменять условие на i < str.length

07 Июн, 18:52 #194 #1002740

>str[i].toUpperCase
спасибо абу

07 Июн, 19:19 #195 #1002743

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

Ответы1002750

07 Июн, 19:25 #196 #1002750

>>1002743
http://linkedin.github.io/hopscotch/

07 Июн, 19:38 #197 #1002757

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

solution('hello, world!'); // Hello, World

Дайте подсказочку плз (не решение) по этому заданию. По моей логике можно перебирать каждый символ в строке, и если код этого символа == 32 (т.е это пробел), то применять на следующем символе .toUpperCase(). Но чет мне кажется это каким-то говно-алгоритмом попахивает.

Ответы1002766100277110028371002843

07 Июн, 19:51 #198 #1002766

>>1002757
через массив

Ответы1002780

07 Июн, 19:55 #199 #1002771

>>1002757
Используй Силу регулярные выражения, Люк Анон. А именно - как аргумент в String#replace.

Ответы10027801002783

07 Июн, 20:04 #200 #1002780

>>1002771
>>1002766
Это задание на Hexlet и на момент этого задания ещё не было обучения Регулярным выражениям или Массивам, поэтому я думаю автор хотел чтобы решение были без этого

http://jsbin.com/yamibuveza/edit?js,console - вот мой вариант, но там ошибка ибо проверяй "предыдущий" символ на самом первом получаем undefined и метод не может вызваться на нем.

Ответы1002811

07 Июн, 20:06 #201 #1002783

>>1002771
Кстати, да, чувак, регулярка гуд идея

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

07 Июн, 20:16 #202 #1002792

>>999208 (OP)
Люблю большие толстые члены

07 Июн, 20:46 #203 #1002811

>>1002780
>console.log(undefined.charCodeAt(0));
Это что за дичь?
>ибо проверяй "предыдущий" символ на самом первом получаем undefined и метод не может вызваться на нем
Ну так проверяй на i-том, то есть нулевом, а изменяй (i+1)-ый.

Ответы10028251002878

07 Июн, 21:29 #204 #1002825

>>1002811
>Это что за дичь?
Тоже сиранул с этого эзотерика.

07 Июн, 21:43 #205 #1002837

>>1002757
Проверяй
http://jsbin.com/muhirumedo/edit?js,console

Ответы10028461002878

07 Июн, 21:57 #206 #1002843

>>1002757
>2k17
>не использовать jQuery
https://jsfiddle.net/ydjyonqq/

Ответы10028461002878

07 Июн, 22:02 #207 #1002846

>>1002837
такие задачи ты должен решать сам, без подсказок и быстро.
и лично я бы советовал тебе решать их пока через for потому что это классика, блядь, это знать надо и руками подрочить это все, со вложенными циклами, с отладкой в консоли.
и мапы и редюсы и регулярки это хорошо, но только когда ты тоже самое можешь повторить фором.
вот пиши на форах функцию которая получает строку в ловеркейсе и возвращает такой массив:
ss("hitler") // ["Hitler", "hItler", "hiTler", "hitLer", "hitlEr", "hitleR"]
>>1002843
>[].join.call вместо Array.prototype.join.call
пиздос

Ответы10028471002853

07 Июн, 22:05 #208 #1002847

>>1002846
>пиздос
Не вижу разницы, кроме того что мой вариант короче
Или твой на 0.000045мсек быстрее?

Ответы1002851

07 Июн, 22:13 #209 #1002851

>>1002847
ну блин, он создает лишний объект когда уже есть существующий, мне пичот от такого.

07 Июн, 22:19 #210 #1002853

>>1002846
http://jsbin.com/zenayigulo/edit?js как же отучиться

Ответы1002871

297 Кб, 782x1686

07 Июн, 22:57 #211 #1002871

>>1002853
ну ладно, знаешь что это за штука? на ней писали раньше смс, причем чтобы набрать некоторые буквы приходилось дрочить одну кнопку несколько раз. порядок появления такой: a-b-c-2. пробел на клавише с нулем, он как и буквы идет перед цифрой. на вход подается строка, вернуть нужно сколько всего было нажатий. цифры и пробелы могут быть в строке, регистр всегда одинаковый нижний.
hitler('a') // 1
hitler('с') // 3
hitler('9') // 5
hitler('l33t sp34k') // 28

Ответы1002901

07 Июн, 23:10 #212 #1002878

>>1002837
Да нахуй эти методы, сказано же решить без них.

>>1002843
Надо быть ебланом чтобы без навыков нативного JS сразу вкатываться в какой-то фреймворк.

>>1002811
>Ну так проверяй на i-том, то есть нулевом, а изменяй (i+1)-ый.

Тут я затупил что-то, thx.

08 Июн, 00:24 #213 #1002901

>>1002871
изи
http://jsbin.com/siqotovuka/edit?js,console

Ответы10031581003328

08 Июн, 02:27 #214 #1002933

Конечно, извиняюсь за нубский вопрос, но какой осью пользуется анон, и имеет ли это вообще значение?

Ответы1006283

08 Июн, 14:05 #215 #1003079

Что будет если в цикле по индексам массива изменить массив (добавить, удалить etc)?

Браузерный js.

08 Июн, 14:13 #216 #1003084

Неправильно задал вопрос. Что будет если в foreach цикле добавлять, удалять элементы? Iterator invalidation detection есть?

Ответы1003099

08 Июн, 14:36 #217 #1003099

>>1003084
> Что будет если в foreach цикле добавлять, удалять элементы?
Что будет, если во время езды на велике ты засунешь себе палку в колесо? Если серьёзно, то вот подробный ответ: https://stackoverflow.com/a/24813338
Ну и ты сам можешь прямо сейчас открыть консоль браузера и протестировать свои грязные фантазии. Погугли чем хороша иммутабельность.

Ответы1003133

08 Июн, 15:19 #218 #1003133

>>1003099
Я знаю чем хороша иммутабельность. И я тестил в разных браузерах это.
Я не могу понять одного: это в стандарте как-то прописано или browser implementation dependent?

Умнечать не надо.

08 Июн, 15:32 #219 #1003141

Browser implementation dependent. Вопрос снят.

08 Июн, 15:35 #220 #1003143

>>999208 (OP)
Какую посоветуете простенькую библиотеку что-то вроде jquery, только не такую большую. Для простых манипуляций с DOM, чтобы поменьше велосипедов самому делать.

08 Июн, 16:29 #221 #1003158

>>1002901
Хм, не самое тривиальное решение, двачую. Я пошел более простым и очевидным путем:
http://jsbin.com/qehasotufa/edit?js,console

Ответы1003206

08 Июн, 17:32 #222 #1003206

>>1003158
Это потому что ты быдлокодер.

Ответы1003221

08 Июн, 17:54 #223 #1003221

>>1003206
Ну, моё решение более эффективное и уж точно на порядок читабельнее. Если это быдлокод, то я рад быть таким быдлокодером.

08 Июн, 21:55 #224 #1003328

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

09 Июн, 08:02 #225 #1003432

Друзья, поясните плз не за щеку за Stage 4 спеки ES2017, а именно об Atomics и SharedMem:

https://medium.com/komenco/what-to-expect-from-javascript-es2017-the-async-edition-618e28819711

Правда ли, что с помощью концепции разделяемой памяти можно будет эффективно решать CPU-bound задачи например, парсинг JSON, делегируя их на воркеры и получая, по результатам их выполнения, готовые данные?

31 Кб, 430x373

09 Июн, 08:49 #226 #1003433

Я надеюсь, что здесь есть благородные доны, которые шарят в node.js. Помогите, пишу свое первое пробное приложение и застопорился на таком моменте(пикрил). Хочу переменную экспортировать из модуля. В консоль выводится правильное значение, но что-то не работает. Я так понял, что он экспортирует пустой массив, т.е. не ждет пока закончится обращение к базе и обработка результатов. Как поправить? Если предложите, что-то типа async, то пожалуйста объясняйте подробнее, потому что я пробовал его прикручивать, но не очень понял, что он может помочь.

Ответы10034341003443100350810035151006593

09 Июн, 08:50 #227 #1003434

>>1003433
строчка с return лишняя, забыл убрать, но сути не меняет

22 Кб, 514x264

26 Кб, 566x335

09 Июн, 09:39 #228 #1003443

>>1003433
Я не шарю в node.js если что.
У тебя проблеммы с пониманием асинхронности.

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

Ответы1003499

09 Июн, 11:59 #229 #1003499

>>1003443
Я так понимаю, что если присвоение module.export= ,будет в then, то оно нихера не сработает. Я пробовал так с async.

09 Июн, 12:31 #230 #1003508

>>1003433
Я еще один анон, который не шарит в Node.js, но мне почему-то кажется, что этот самый экспорт нужно просто поставить последней строчкой в коллбэке. Ведь код коллбэка вроде как синхронный, сам коллбэк только вызовется позже.

09 Июн, 12:59 #231 #1003515

>>1003433
>Как поправить?
await, в ноде уже завезли.
Но твой подход - говно и так делать хуёво.

Ответы10035191003521

09 Июн, 13:12 #232 #1003519

>>1003515
Чем хуев мой подход и как сделать нормально?
Анон, молю, помоги, причем максимально подробно распиши спицильно для дебилов

09 Июн, 13:13 #233 #1003521

>>1003515
Я хочу получить модуль, прикручивая который я буду получать
x = require('мой модуль')
и в x попадает готовый массив

09 Июн, 13:24 #234 #1003522

>>1001974
jQuery, React, Angular 2+, TypeScript ты должен знать по дефолту, это даже не обсуждается.

Ответы10036481003729

09 Июн, 13:27 #235 #1003523

>>1002091
Так значит "стрелками" эти ебанутые сектанты называют обычные лямбда-выражения? Охуеть, не знал.

А сколько было гонору, хотя даже в Бейсике для ZX Spectrum есть DEF FN.

09 Июн, 14:25 #236 #1003545

Аноны, а где вы читаете информацию про DOM разных уровней? Не могу например найти нигде, что находиться в DOM 4. Слышал, что Animation API принадлежит вроде к DOM 4.

Ответы1003550

09 Июн, 14:34 #237 #1003550

>>1003545
WHATWG и W3 - наше всё.

09 Июн, 15:17 #238 #1003566

Раз уж тут пошли нубские вопросы по node.js, внесу свою лепту.
Нужно написать простейшее двухстраничное приложение на nodejs и express.
Главную страницу я генерирую методом app.get('/', function...) На этой странице у меня ссылки, их href генерируется на основе базы данных т.е. я их не знаю до вызова app.get.
Как мне дальше обрабатывать запросы? Пробовал app.use, но он не видит запросов.
Да-да, я совсем тупенький, и даже таких примитивных вещей не понимаю.

Ответы10035721003587

09 Июн, 15:36 #239 #1003572

>>1003566
я вручную делал такую хуиту, экспресс это чтобы снизить количество бойлерплейта в приложениях на 20+ сущностей
пайтон с фласком для таких целей идеален

Ответы1003576

09 Июн, 15:49 #240 #1003576

>>1003572
В моей случае express- обязательное условие, не спрашивай почему.
Я не могу понять как этиим пользоваться. Вот запускается файл app.js. В нем срабатывает app.get('/', function...) и отрисовывает мне главную страницу. Как и принять следующий запрос от браузера?

Ответы1003581

09 Июн, 15:59 #241 #1003581

>>1003576
Так и принять: app,get на нужный адрес

Ответы1003583

09 Июн, 16:01 #242 #1003583

>>1003581
так я ж не знаю, каким будет адрес, я могу в app.get в качестве адреса указать переменную?

Ответы10035881003594

09 Июн, 16:06 #243 #1003587

>>1003566
Все правильно с app.use, во всяком случае раньше точно было. Код покажи.

Ответы1003591

09 Июн, 16:08 #244 #1003588

>>1003583
Да. app.get('/:userId', (req, res) => {})

Ответы1003625

09 Июн, 16:13 #245 #1003591

>>1003587
Я там уже 100500 раз переделывал, поэтому проще описать, чем показать:
Запускается файл app.js в нем подключаем все нужные библиотеки, включая написанную мной, которая из базы берет нужные данные и передает их в швблон.
Ставится app.get на адрес '/', он по шаблону генерирует страницу. Заходя в браузере на localhost:3000 я получаю корректную главную страницу. Сразу после app.get я пробую вставить app.use и в обработчике просто вывести объект запроса в консоль.
Запускаю, перехожу в браузер, вижу свою старницу с нагенерированными ссылками. Шелкаю по ним, смотрю в консоль, а там... пусто.

09 Июн, 16:18 #246 #1003594

>>1003583
ну так читай документацию до дыр, хули ты как дурак поступаешь

09 Июн, 17:39 #247 #1003625

>>1003588
Я тупой, я не понимаю.
Чтобы узнать на какой адрес переходить, мне нужно получить объект запроса req, посмотреть что там и уже на основе этих данных сгенерировать страничку. Я же не могу это сделать с помощью app.get(или могу?). Мне по идее нужен app.use, но когда я добавляю его в код, то мой app.get срабатываетгенерируя первую страницу, а когда я щелкаю по ссылкам, то app.use не реагирует.
Как мне получить и обработать этот долбаный req уже после того как сработал app.get?

Ответы1003627

09 Июн, 17:45 #248 #1003627

>>1003625
Бля. 5 минут назад не работало, теперь взяло и заработало вроде. Вопрос снимается.

09 Июн, 18:31 #249 #1003648

>>1003522
Вот ты серьёзно сейчас об ангуляре с тайпскриптом, у тебя много проектов на ng-2/ng-4 в продакшене? Я не понимаю, как на этом неповоротливом монстре можно написать что-то толковое. Есть примеры реально сложных проектов на новом ангуляре? На реакте вот есть: https://github.com/ory/editor
Алсо если зайти сюда: https://github.com/trending/javascript то можно обнаружить, что около трети репозиториев имеют отношение к React/Redux, про ангуляр вообще ни слова.

Ответы1003652

09 Июн, 18:38 #250 #1003652

>>1003648
В .NET энтерпрайзе везде ангуляр, Visual Studio работает с ним из коробки. А React - игрушка для хипстеров.

Ответы100368410036961003729

09 Июн, 19:46 #251 #1003684

>>1003652
>А Vue - игрушка для хипстеров
пофиксил

Ответы1003700

09 Июн, 20:07 #252 #1003696

>>1003652
>React - игрушка для хипстеров
Ловите наркомана. facebook, instagram, даже блять ебаный сайт ВТБ работают на реакте.

09 Июн, 20:09 #253 #1003700

>>1003684
Почему же? Я вот лично хочу учить Vue.js как свой первый фреймворк и отзывы о нем в Сети очень даже неплохие. Меня лично он привлекает своей легковесностью, по сравнению с Angular/React.

09 Июн, 21:00 #254 #1003727

Недофронт вкатился.
Есть желание пилить интернет-магазины. Много интернет-магазинов, - разных. Вопрос, мне идти в пхп тред?
Есть нода, но в пхп есть готовые мощные решения, такие как yii, laravel, symphony.

09 Июн, 21:04 #255 #1003729

>>1003652
> А React - игрушка для хипстеров.
Я предоставил пример сложного Real-World приложения на реакте, и ты, будь добр, не скатывайся до голословных утверждений.

> В .NET энтерпрайзе везде ангуляр
А какую часть .NET тырпрайз занимает на рынке бекенд решений? Низкую: https://w3techs.com/technologies/overview/programming_language/all так почему же >>1003522 анон считает, что каждый обязан изучать новую версию ангуляра?

Ответы1004278

09 Июн, 21:06 #256 #1003730

Тут вроде был анон знакомый с node.js и mongobd(mongoose).
Установил mongo. Не запускался, ругался, я так понял, что ругается на то, что нет пути дефолтного. Я не мог его почему-то поменять. Создал С:/data/db/ Вроде заработало. Запускаю через вебшторм свое node.js приложение, пытаюсь скриптом сгенерировать базу- не хочет. Топаю в папку с mongo, запускаю mongod, после этого запускаю свой скрипт- вроде работает. Тут встает первый глупейший вопрос: это что, если приложение использует mongo, то я обязан запускать руками mongod перед его стартом? ниудобна...
Идем дальше. Вот он вроде что-то создал. Второй тупой вопрос. Где оно? Я его не вижу в С:/data/db/ да и вооще где ни искал не нахожу.

Ответы1003902

09 Июн, 23:31 #257 #1003811

В переменной есть строка вроде %D0%9C%D0%B8%D1%89%D0%B5%D0%BD%D0%BA%D0%BE
Это utf-8, или как его там, не суть. Как из нее сделать нормальный текст?

Ответы10038161003857

09 Июн, 23:37 #258 #1003816

>>1003811
utf-8 у твоего бати в из жопы торчит, а это url-encoded строка

10 Июн, 00:01 #259 #1003827

https://2ch.hk/pr/res/1003669.html#1003758 (М)
это реально такой пистец встретить на собесе?
мои надежды на вкатиться обречены или это троллинг?

Ответы1003841

10 Июн, 00:58 #260 #1003841

>>1003827
Я думаю, что у джуна такое вряд ли будут спрашивать, точнее может и будут, то не все это, а только отдельные вопросы из этого списка. Но это сугубо ИМХО.
Хороший пост, теперь я прям вижу, что мне надо учить.

10 Июн, 02:19 #261 #1003857

>>1003811
decodeURIComponent

10 Июн, 03:26 #262 #1003874

Я смотрю, тут про ноду спрашивают, у меня тоже вопрос. Написал небольшое приложение, попробовал- работает. Утром включаю комп- не работает. Смотрю в чем дело и вижу:
раньше, когда я кликал по ссылке, приложение ловило нормальный запрос с нормальным урлом, а теперь почему-то приходит запрос с урлом favicon.
1. Что делать?
2. Почему его вчера не было, а сегодня он есть? как так?

Ответы1003901

10 Июн, 09:57 #263 #1003901

>>1003874
С такими вопросами тебе придется ждать экстрасенсов.

Ответы1003968

10 Июн, 09:59 #264 #1003902

>>1003730
На винде есть сервисы для автозапуска, гугли
Смотри конфиг монги, там все пути

Ответы1003967

150 Кб, 1266x569

10 Июн, 10:23 #265 #1003907

базарю, годная задачка для тех кто циклы, массивы и строки дрочит.
надо вот так трифорснуть.
если числа больше 10 оставляем только последнюю цифру (10->0, 11->1, 12->2...)

Ответы100396610039901004065

10 Июн, 13:18 #266 #1003966

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

10 Июн, 13:21 #267 #1003967

>>1003902
Я стесняюсь спросить, а где этот конфиг монги? Не могу найти

Ответы1004003

10 Июн, 13:21 #268 #1003968

>>1003901
Пох, поставил пустой обработчик на запрос к favicon и на этом решил проблему

10 Июн, 13:57 #269 #1003990

>>1003907
http://jsbin.com/gicibiricu/edit?js,console

10 Июн, 14:25 #270 #1004003

>>1003967
>а где этот конфиг монги? Не могу найти
Где настраивал - там и лежит, телепаты в отпуске

Ответы1004005

10 Июн, 14:26 #271 #1004005

>>1004003
Я в папке c MongoDB его не вижу.

Ответы1004040

10 Июн, 14:27 #272 #1004006

Анон, поясни насчет обвязок реакт-роутера для редакса и "тайм-тревелинг". Насколько я понял, с помощью синхронизации браузер хистори и стейта я могу с помощью кнопок "вперед" и "назад" менять состояние приложения на предыдущее. Но как при этом себя ведут асинхронные экшны? Мне нужно будет добавлять хуки в роутинг, чтобы при нажатии "назад" после ajax запроса отправлять еще один запрос, отменяющий предыдущее действие?

10 Июн, 15:42 #273 #1004040

>>1004005
>Я пиздоглазый уебан, не умеющий читать официальную документацию.

Ответы1004071

10 Июн, 15:52 #274 #1004046

есть строка, типа 'dfgfgbaabdfgfg'
как блжад найти все вхождения вида 'baa' И 'aab' то есть 2?
1. 'dfgfgbaabdfgfg'
2. 'dfgfgbaabdfgfg'
такие
/(baa)|(aab)/g
/baa|aab/g
/baa|aab/g
/[ba]a[ab]/g
находят всегда одно вхождение
что за говно не пойму.

Ответы10040721004074

10 Июн, 16:01 #275 #1004053

ну можно конечно
'baab'.match(/baa/g).length + 'baab'.match(/aab/g).length
но как-то тупо. должно же просто все быть

70 Кб, 633x744

10 Июн, 16:29 #276 #1004065

>>1003907
https://jsfiddle.net/20bx1ck6/

10 Июн, 16:36 #277 #1004071

>>1004040
Пытался читать, нихуя не понял. Я у мамы долблеб

18 Кб, 603x238

10 Июн, 16:37 #278 #1004072

>>1004046

Ответы1004140

10 Июн, 16:39 #279 #1004074

>>1004046
Одна подстрока не может соответствовать сразу двум паттернам, т.е. нельзя в 'baab' одним регэкспом найти baa и aab.

Ответы1004140

16 Кб, 799x230

10 Июн, 19:21 #280 #1004140

>>1004072
ну хренли оно тогда матчит только один раз?
>>1004074
можно, с помощью альтернации

13 Кб, 807x179

10 Июн, 19:27 #281 #1004142

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

70 Кб, 722x219

10 Июн, 19:53 #282 #1004147

Анончег, ай нид е хелп.
злоебучий спам-лист

Ответы10041561004320

10 Июн, 20:23 #283 #1004156

>>1004147
Вот тут должен быть твой ответ:
http://learn.javascript.ru/introduction-browser-events#частые-ошибки

Ответы1004166

10 Июн, 20:43 #284 #1004166

>>1004156
Это я уже видел. Тут проблема в чем-то другом. alert вместо нужной фyнkции ведь срабатывает.

11 Июн, 00:15 #285 #1004263

Почему никто не обсуждает тут ангуляр 2? Почему все используют ванилу или максимум реакт?

Ответы1004276

11 Июн, 01:05 #286 #1004276

>>1004263
Потому что не нужно никому твое монструозное корявое поделие

11 Июн, 01:15 #287 #1004278

>>1003729
>Я предоставил пример сложного Real-World приложения на реакте, и ты, будь добр, не скатывайся до голословных утверждений.
Нахуй мне твой глючащий редактор? Покажи мне ERP систему с клиентом на реакте. Мы сейчас такую разрабатываем, например.

>Низкую
Даун, ты привел общую статистику по веб-сайтам, зачем? Никто не разрабатывает сложные проекты на PHP.

Ответы10042791004326

11 Июн, 01:20 #288 #1004279

>>1004278
>Нахуй мне твой глючащий редактор?
То есть фейсбук как пример ты проигнорировал.
>Никто не разрабатывает сложные проекты на PHP
И ВК тоже.

Ответы1004285

11 Июн, 01:33 #289 #1004285

>>1004279
А что в них сложного?

Ответы1004289

11 Июн, 01:45 #290 #1004289

>>1004285
Ясно, тралль в другом месте

Ответы1004290

11 Июн, 01:47 #291 #1004290

>>1004289
Хорошо, задам вопрос по другому: что в них сложного, кроме высокой нагрузки? На которую выбор языка и клиентского фреймворка не влияет никак.

Ответы1004293

11 Июн, 01:58 #292 #1004293

>>1004290
А что сложного в ERP? Суть 1с-очка с вебмордой. Тебе фреймворк для комфортного формошлепства нужен?

Ответы1004300

11 Июн, 02:16 #293 #1004300

>>1004293
Соцсеть - это просто веб-форум с прикрученным фото/видеохостингом, функциональности у него 0. И интерфейс там примитивнейший, другой и не нужен.
Сравни с такими проектами:
https://www.alfresco.com/
http://www-03.ibm.com/software/products/ru/notesanddominofamily
https://www.elma-bpm.ru/
Сейчас стандартный стек для такого - .NET на бэкенде + Angular на фронте. И Visual Studio предоставляет удобную поддержку для Angular/TypeScript из коробки.

Ответы1004326

11 Июн, 02:18 #294 #1004301

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

11 Июн, 07:47 #295 #1004320

>>1004147
Разобрался. В юзерскриптах onClick не прокатывает, функцию просто не видно. С помощью .addEventListener все получилось.

9 Кб, 732x32

6 Кб, 682x35

11 Июн, 09:18 #296 #1004326

>>1004278
> Покажи мне ERP систему с клиентом на реакте.
Неудачный аргумент, ERP системы разве вообще кто-то опенсорсит? Код вашей ERP системы находится в открытом доступе?

>>1004278
>>1004300
> Никто не разрабатывает сложные проекты на PHP.
И вот тут ты облажался, потому что 2 из 3-х приведённых тобой сайтов используют PHP, судя по Wappalyzer'у. Один использует CMS Drupal, второй битрикс (смотри на скрины)

Ответы1004364

11 Июн, 13:01 #297 #1004364

>>1004326
Чувак, это рекламные странички, а не сам продукт. Кек.

208 Кб, 800x640

11 Июн, 14:51 #298 #1004405

Здорова бандиты!

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

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

Я хочу попробовать внедрить в фирме некие стандарты разработки. Завести гитхаб, проводить код ревью, разбить все на компоненты, договориться о нейминге, etc..

Кроме того, хочу попробовать разрабатывать фронт на чем-то более свежем, чем JQ, попробовать Vue или React. Так как сам я еще не работал ни с чем, мощнее jq, то я пока не могу понять, а есть ли вообще смысл привносить в верстку лендингов MVC фреймворк? Не выглядит ли это как стрельба из пушки по воробьям? И уж тем более, глаза мои разбегаются при виде всего этого многообразия.

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

- быстро и просто делать новые лендинги в едином стиле, для новых продуктов/предложений компании
- разбить их на составные компоненты и добиться максимальной переиспользуемости компонент
- подтянуть свои знания в сфере фронтенда до уверенного уровня

Ответы100440810044121004426

11 Июн, 14:58 #299 #1004408

>>1004405
Что бы ты не решил есть две вещи, которые тебе надо понять:
1) Vue и React не являются MVC фреймворками.
2) Клепая лендинги ты не подтянешь свои знания в сфере фронтеда до уверенного уровня.

Ответы1004443

11 Июн, 15:00 #300 #1004412

>>1004405
>Какой стек технологий вы бы посоветовали использовать
javascript + html + css

Ответы1004443

11 Июн, 15:12 #301 #1004426

>>1004405
Идеи у тебя хорошие. Но для таких задач программировать вообще не нужно уметь. Реакт тут вообще не в тему.

Ответы1004443

11 Июн, 15:35 #302 #1004443

>>1004408

>1) Vue и React не являются MVC фреймворками.
Ок, да, реакт это библиотека. Но вью все вокруг упорно называют именно мвц фреймворком.

>2) Клепая лендинги ты не подтянешь свои знания в сфере фронтеда до уверенного уровня.
В том то и плюс, что у меня будет возможность не клепать лендинги, а делать их. С должным уровнем качества

>>1004412
>javascript + html + css
т.е ты считаешь что тащить для своих задач, какой-нибудь условный Vue это уже оверхед?

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

>Реакт тут вообще не в тему
Ок, его я вычеркиваю.

258 Кб, 1280x720

11 Июн, 17:53 #303 #1004522

Анон, плиз, посоветуй, что можно запилить для портфолио на фриланс?

Собственно, есть опыт на Upwork - пара успешных контрактов на Python, но решил сменить курс на JS/frontend, и вот, спустя 3-4 месяца изучения, готов вкатиться во фриланс вновь, но боюсь, что совсем без портфолио будет туговато.

Что-нибудь такое, что могло бы продемонстрировать junior навыки в HTML/CSS/JS (Vanilla/jQuery), но при этом не заняло бы в разработке больше ~2 недель.

Ответы10045291005246

11 Июн, 18:01 #304 #1004529

>>1004522
WYSIWYG редактор имейлов запили.
Модно, стильно, молодежно.

11 Июн, 20:37 #305 #1004603

Тут есть кто-нибудь, кто может помочь нубу с node.js, express, router, bodyParser?

Ответы1004604

11 Июн, 20:38 #306 #1004604

>>1004603
google может

Ответы1004606

11 Июн, 20:40 #307 #1004606

>>1004604
Не поверишь, пробовал. У меня получается так, что в ответ на любой запрос нода считает, что параметры запроса "{ id: 'r' }" Хотя никакого r там нет.

Ответы1004610

11 Июн, 20:50 #308 #1004610

>>1004606
Код скинь.

27 Кб, 374x250

11 Июн, 20:56 #309 #1004612

Внутри GetSecondPage я вывожу в консоль req.params и какой бы ни был запрос получаю "{ id: 'r' }"

Ответы10046181004624

11 Июн, 21:03 #310 #1004618

>>1004612
так стоп... у меня похоже не подключен BodyParser. Я убираю строку router.use(bodyPareser)- ничего не меняется. Но.. тогда возникает другой вопрос. Если парсера нет. То откуда вообще у объекта запроса свойство param???

Ответы1004620

387 Кб, 651x376

11 Июн, 21:08 #311 #1004620

>>1004618
>так стоп...

51 Кб, 572x546

11 Июн, 21:24 #312 #1004624

>>1004612
Для "query url" не нужно параметр писать, а смотреть request.query.
app.get('/use', (request, response) => {console.log(request.query)})

Но я сам не очень разбираюсь если что.

Ответы1004628

11 Июн, 21:30 #313 #1004628

>>1004624
Спасибо. Заработало. Не понял только зачем нужны всякие бодипарсеры, если и так все передается

Ответы1004630

11 Июн, 21:30 #314 #1004630

>>1004628
c json работать например или xml

Ответы1004641

164 Кб, 800x1119

11 Июн, 21:51 #315 #1004638

Кстати, насчёт парсеров.
Если мне нужно сделать запрос к какому-то сервису (без официального api, конкретно - google scholar) и распарсить его выдачу, то этого нельзя сделать на стороне браузера из-за запрета кросс-доменных запросов?
Только поднять сервер к которому клиент будет обращаться и делать всё там? (что я пока что и сделал, наверное оберну потом в electron всё это)

Ответы1004815

11 Июн, 21:54 #316 #1004641

>>1004630
Я совсем-совсем нуб, это как-то связано с тем, что на некоторых сайтах страницы имеют очень длинный адрес из непонятных букв?

Ответы1004642

11 Июн, 21:54 #317 #1004642

>>1004641
В смысле связано в бодипарсером, а не с тем, что я нуб.

12 Июн, 01:30 #318 #1004741

В письме с тестовым заданием было cказано:
· Server:
- Node JS
- Express
- Mongodb
- underscore
Я же мог использовать mongoose?

Ответы1004815

12 Июн, 01:37 #319 #1004743

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

50 Кб, 720x720

12 Июн, 02:05 #320 #1004749

Обмазался Ramda и https://github.com/fantasyland/fantasy-land
Теперь можно строить из себя Хачкелиста даже на жаваскрипте!

Ответы1004815

12 Июн, 11:22 #321 #1004814

Я пока только учусь и не дошел до тестовых заданий от работодателей, но интересно стало. Вот допустим получил задание. В общих чертах понимаю, что и как мне делать, но некоторые моменты нужно гуглить, смотреть доки, может что-то спросить на стековерфлоу и тп. Это норм, или же подразумевается, что я все делаю строго сам никуда не "подсматривая"?

Ответы10048151004867

12 Июн, 11:26 #322 #1004815

>>1004638
>этого нельзя сделать на стороне браузера из-за запрета кросс-доменных запросов?
В общем случае да. Но вообще можно в таких случаях костылять через iframe конечно.
>>1004741
>Я же мог использовать mongoose?
Просто прочти блять что это такое.
>>1004749
>Теперь можно строить из себя Хачкелиста даже на жаваскрипте!
Давно уже можно было, с подключением.
>>1004814
>некоторые моменты нужно гуглить, смотреть доки, может что-то спросить на стековерфлоу и тп
Это абсолютная норма.

Ответы1004818

12 Июн, 11:45 #323 #1004818

>>1004815
>Просто прочти блять что это такое.

Ну, мало ли, может они имели в виду, что я должен работать c native driver.

27 Кб, 600x600

12 Июн, 12:25 #324 #1004834

>>999863
>Может потому что

>>1000597

12 Июн, 14:41 #325 #1004867

>>1004814
Искать и применять информацию - один из самых полезных навыков. Ищи.

12 Июн, 16:34 #326 #1004913

>>999208 (OP)
В чем отличие let от var?

Ответы10049201004931

12 Июн, 16:52 #327 #1004920

>>1004913
В области видимости.
var видна внутри всего замыкания, let - только внутри блока

for (...) {
let a = 1;
var b = 2;
}
alert(b); // 2
alert(a); // ReferenceError

Ответы1004973

12 Июн, 17:09 #328 #1004931

>>1004913

А еще let declarations не hoist'ятся на самом деле, они это делают, но только само объявление, а не инициализация, но всё равно выдает ошибку при обращении до строки с инициализацией...Temporal Dead Zone, мать её за ногу

12 Июн, 17:54 #329 #1004967

Котаны, лень искать, не сцыте на лицо.
Как наиболее быстро выучить js ? Делаю Кантора а когда заебывает читаю Макфларена, но там пиздец. Верной дорогой иду, или не ?

Ответы10049861004991

12 Июн, 17:59 #330 #1004973

>>1004920
Спасибо, а суть создания лоадеров и прокси функций не пояснишь? а то как-то непонятно вот этот код. Зачем там присваивается p.world == ""; Что это дает?

// Create execution sandboxes – new Loaders
var loader = new Loader({
global: fixup(window) // replace ‘console.log’
});
loader.eval("console.log(\"hello world!\");");

// Proxying a normal object
var target = {};
var handler = {
get: function (receiver, name) {
return `Hello, ${name}!`;
}
};

var p = new Proxy(target, handler);
p.world === "Hello, world!";

12 Июн, 18:24 #331 #1004986

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

12 Июн, 18:30 #332 #1004991

>>1004967
Лично у меня был следующий путь:
Кантор -> MDN JS-туториалы -> "You Don't Know JS" серия книжек

96 Кб, 1280x700

12 Июн, 19:00 #333 #1004998

Подскажите годных материалов по настройке автокомплита

Ответы1004999

12 Июн, 19:02 #334 #1004999

>>1004998
какой белый анальчик

Ответы1005002

12 Июн, 19:22 #335 #1005002

>>1004999
Порнуший потому что. Актрисы отбеливают.

Ответы1005028

12 Июн, 20:22 #336 #1005028

>>1005002
чем? по-моему он еще просто не успел почернеть от ебли, т.к. на фото малолетка.

Ответы1005030

12 Июн, 20:26 #337 #1005030

>>1005028
> чем?
https://analbleachingguide.com

12 Июн, 20:34 #338 #1005037

https://jsfiddle.net/s3kyzb9m/#&togetherjs=rFUjK5jtTG

помоите раздуплиться - хочу по клику на кнопку показывать определенный блок ( он в диве находится)
когда пытался сделать через id для одного элемента - нормально показывало.

А сейчас хочу сделать чтобы для каждой кнопки показывало своё окно , темплейт у всех один, разные только data-num аттрибуты.

функция вызыватся нормально, newIndex неё тоже правильно приходит

так почему я не получаю нужный результат? (

Ответы1005121

12 Июн, 22:17 #339 #1005091

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

Ответы1005093

12 Июн, 22:19 #340 #1005093

>>1005091
memcached

Ответы1005120

12 Июн, 22:39 #341 #1005120

>>1005093
А как обновлять кэш не по времени, а при обновлении загруженного в бд контента?

12 Июн, 22:46 #342 #1005121

>>1005037
потому что $(".questionDetails [data-num=newIndex]") ищет элементы с data-num который буквально равен строке "newIndex"

надо $(".questionDetails[data-num=" + newIndex)

пробел думаю тоже лишний, иначе он найдёт элементы с data-num, вложенные в .questionDetails

199 Кб, 1920x1080

12 Июн, 22:57 #343 #1005124

Поцаны пробую делать как написано тут https://habrahabr.ru/sandbox/64940/

не понимаю куда вставлять функцию drawField(playgr_1);
загружаю страницу html и там кнопка запустить, при нажатии ниче не происходит, в консоли хрома следущее

Ответы1005132

12 Июн, 23:10 #344 #1005132

>>1005124
вставил её в trains_playgr в конец, теперь ошибка -
>>drawField is not defined
at trains_main.js:57
-
>>Cannot read property '0' of undefined
at drawField (trains_playgr.js:17)
at trains_playgr.js:51

13 Июн, 04:13 #345 #1005189

Пацаны, нахуй нужен этот новый тип Symbol?
я погуглил и никакого внятного ответа не нашёл.

Ответы100521110052221006286

13 Июн, 09:00 #346 #1005211

>>1005189

вроде как полезная фича

>Symbols are values that programs can create and use as property keys without risking name collisions https://hacks.mozilla.org/2015/06/es6-in-depth-symbols/

13 Июн, 09:32 #347 #1005222

>>1005189
Для мета-программирования. Без них ты стандартное поведение некоторых конструкций хуй изменишь.

Ответы1006289

13 Июн, 10:53 #348 #1005246

>>1004522
Чем тебе питон не понравился?

Ответы1005270

13 Июн, 11:40 #349 #1005270

>>1005246

Отличный язык, я бы на нем только и кодил, если честно. До сих пор скучаю по его чистому синтаксису (без лишних скобок и с этими чудесными отступами) и общей парадигме "Simple is better than complex. Complex is better than complicated." (которую, впрочем, я везде применял и применяю, без оглядки на ЯП). Но:

1) По JS-у работы куда больше, пусть даже и средняя оплата пониже.
2) JS внутренним устройством проще, в нем куда меньше "магии". Именно изучая его, я познал много вещей, которые давно были в Питохе и в ЯПах, но не понимаемые мною прежде.
3) Очень привлекает в JS prototype-based (class-less) OOP. Тащусь от этой парадигмы и от паттерна OLOO, основанного на ней.

Как-то так.

Ответы100528710053281005333

13 Июн, 12:19 #350 #1005287

>>1005270
Позволь поинтересоваться, что именно может нравится в прототипном ООП? Все преимущества - это monkey patching, который рушит инкапсуляцию. Из-за этого у JavaScript очень подлая особенность - обращение к несуществующему свойству не вызывает ошибку. Ещё нет встроенного разрешения конфликтов между миксинами (ромбовидное наследование). В том же PHP есть трейты и там можно указать метод какого трейта использовать. Есть ли универсальный способ вызвать родительский метод? Универсальный значит не хардкодить имя родителя. Есть ли универсальный способ обратится к статическому свойству? Их конечно можно самому выковырять через constructor.name, но выглядит такой код муторно. Хотя, это всё-таки проблемы JS-реализации, а не парадигмы прототипного ООП.

> prototype-based (class-less)
Сейчас модно не писать на классах лишь бы не писать на классах. Однако классы в ES6 - это удобный лаконичный сахар, улучшающий читабельность и упрощающий поддержку.

Ответы10053081005323

13 Июн, 12:25 #351 #1005289

let captcha = document.getElementById('captcha-value')
Так делается копия объекта. То есть если я потом сдеалаю captcha.value = 000, то содержимое элемента в дом никак не изменится. Можно как-то использовать эту переменную для манипулирования элементом дом или нужно опять писать document.get....?

В spa на angular'е шаблон страницы всегда загружен, а контент подгружается походу. Как мне дождаться когда этот контент подгрузится, чтобы в юзерскрипте обратится к полям формы? В greasemonkey вывод ошибок отсутствует и если сделал что-то неправильно то скрипт просто молча не исполняется. Гемор жуткий.

В браузере где-то сохраняются запросы/ответы которые летали при загрузке текущей страницы? В дампе их можно посмотреть, но можно ли как-то к ним обращаться?

Ответы10052931005302

13 Июн, 12:48 #352 #1005293

>>1005289
let captcha = document.getElementById('captcha-value')
Так ты копирующь ссылку.

13 Июн, 13:14 #353 #1005302

>>1005289

let нужно использовать в контексте конструкций if, for и тому подобных, лепить его везде глупо.

13 Июн, 13:21 #354 #1005308

>>1005287
Сразу скажу, что я не имею "многолетнего опыта кодинга на куче самых разных языков", так что моё мнение может претендовать на объективность почти что нихуя. Но, "вы спрашиваете - мы отвечаем".

Сложно сказать, что именно нравится. Наверное то, что эта парадигма - свежий взгляд на ООП в целом, некое переосмысление (хотя слыхал, что подобная парадигма еще до JS-а давно была реализована в других ЯПах). Вообще, я узнал обо всём этом из книги Кайла Симпсона, по-видимому, он один из пионеров JS, кто продвигает OLOO-паттерн в массы. В книге You Don't Know JS, this & Object Prototypes подробно объясняется, какие преимущества даёт этот паттерн. Лично на меня его слова (и код, само собой) оказали влияние.

Насчет проблем, которые ты адресуешь этой парадигме - мне кажется, ты видишь проблемы, которые очевидным образом появляются, если смотреть на JS, как на class-based OOP язык. Это сравнимо с тем, как если бы на спорткаре начать пахать поле с пристегнутым плугом, и ругаться, что "нихера не пашет и вообще всё ужасно". Другая парадигма - другие паттерны.

Насчет ES6 class - по мне так это еще больше усугубляет ситуацию. Язык, который изначально не class-based, и так уже изуродован new-вызовами и этими дебильными ConstructorFunc.prototype объектами, всё на благо господ, пришедших с традиционных ООП языков. А class-сахар еще и "маскирует" это уродство.

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

13 Июн, 13:43 #355 #1005323

>>1005287
>monkey patching

Нельзя сказать, что это всегда что-то плохое. Нередко это очень мощный инструмент. Например в Express, благодаря нему можно локализовать какой-то специфичный код в middleware и позднее пользоваться им как свойствами объектов request и response.

13 Июн, 13:50 #356 #1005328

>>1005270
Такая же история. Очень нравится синтаксис питона, но с поиском работы проблемы. Поэтому решил вкатиться сначала в жс, потом возможно найду работу связанную с питоном. Алсо в питоне есть библиотека, которая реализует жс прототипы.

13 Июн, 13:58 #357 #1005333

>>1005270
>в нем куда меньше "магии"
орнул, в пайтоне вообще нет магии, там просто есть сахар и волшебные методы

Ответы1005374

13 Июн, 16:04 #358 #1005374

>>1005333
> в пайтоне вообще нет магии
> там просто есть ... волшебные методы
Сук, какой же ты охуенный :3

13 Июн, 21:45 #359 #1005459

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

https://jsfiddle.net/59bspq30/

Ответы10054881005494100549510055151005517

374 Кб, 1920x1200

13 Июн, 23:19 #360 #1005484

purescript или clojurescript
Кто пользовался и тем, и тем, расскажите своё очень важное мнение.

13 Июн, 23:24 #361 #1005488

>>1005459
success: this.__ajaxSuccess.bind(this)

Ответы1005508

14 Июн, 00:09 #362 #1005494

>>1005459
Ебануться. А использовать window.fetch/axios тебе религия не позволяет? Нахуя вообще жиквери в 2017 нужен?

Ответы10054951005583

14 Июн, 00:14 #363 #1005495

>>1005459
>>1005494
Ну или в промис хотя бы обернуть.

14 Июн, 00:55 #364 #1005508

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

14 Июн, 01:09 #365 #1005512

гондоны бля

14 Июн, 01:13 #366 #1005515

>>1005459
https://jsfiddle.net/0vxcvp78/2/
Как-то вот так эту хуету надо писать, только без жиквери.

Ответы1005517

14 Июн, 01:21 #367 #1005517

>>1005459
>>1005515
Самое основное это заменить [code]this._ajaxSuccess[/code] на [code](...args) => this._ajaxSuccess(...args)[/code]

14 Июн, 05:39 #368 #1005567

Поясните смысл оборачивания функции в скобки типа
(function() {
})();
И поподробнее суть скобок в конце.

Ответы10055801005648

14 Июн, 07:13 #369 #1005580

>>1005567
IIFE
Паттерн модуль.

Ответы1005585

14 Июн, 07:17 #370 #1005583

>>1005494
Есть апихи, в которых нормально хедеры не проставляют из-за чего приходится юзать jsonp и если лень его сделать ручками можно использовать jq

77 Кб, 700x814

14 Июн, 07:19 #371 #1005584

>>999208 (OP)
Реквесты принимаются? Можете сделать отрисовку тенюшки на html2canvas?

Ответы1005675

14 Июн, 07:28 #372 #1005585

>>1005580
До меня самого дошло, что это не какая-то языковая магия, а тупо арифметические скобки, как (2+2)*3.
А скопки в конце это тупо объявление функцией без значения, типа var vasya.
Я наверное тугой.

Ответы1005590

14 Июн, 07:42 #373 #1005588

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

Ответы1005649

14 Июн, 07:46 #374 #1005590

>>1005585
Или нет...

Ответы1005608

14 Кб, 200x333

14 Июн, 08:21 #375 #1005601

var x = 0.2 + 0.1; // x will be 0.30000000000000004

Ответы100560310056121005675

sage 14 Июн, 08:37 #376 #1005603

>>1005601
И чо?

Джиси-макаки уже обогнали по тупости пыхо-приматов?

Ответы1005675

14 Июн, 09:16 #377 #1005608

>>1005590
Объявил функцию и сразу ее вызвал. Без скобочек не работает.

54 Кб, 1114x293

14 Июн, 09:39 #378 #1005612

>>1005601
«Война — это мир. Свобода — это рабство. Незнание — сила»

Ответы1005675

14 Июн, 11:05 #379 #1005648

>>1005567
Это самовызывающаяся функция. Ты ее объявил и сразу вызвал. Обычно такую запись используют при объявлении модулей или какой либо инициализации. К примеру:
var foo = (function(){
// Настраиваем все что нужно тут
return function(){}
})();

Так же есть варианты с !function(){} или ~function(){}, но прижились в народе именно скобки.

Ответы10056591005672

14 Июн, 11:08 #380 #1005649

>>1005588
https://jsfiddle.net/a8rv4skm/
Как посмотреть куда отправляются запросы? Вроде бы переопределил функцию, однако при вызовах аргументы пустые. Может я чего-то не догоняю?

Ответы1005652

14 Июн, 11:09 #381 #1005652

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

14 Июн, 11:30 #382 #1005659

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

Ответы1005662

14 Июн, 11:37 #383 #1005662

>>1005659
Имеются в виду скобки вокруг объявления функции, их-то и можно заменить на "!" или "~". Пара скобок после фигурных для, собственно, вызова, никуда не девается.

54 Кб, 395x427

14 Июн, 11:41 #384 #1005664

В js-мирке 2 пробела индентации - стандарт?

Ответы10056651005695

14 Июн, 11:42 #385 #1005665

>>1005664
Ноуп. JS-мирок не настолько стандартизирован, чтобы регулировать такие вещи, как тот же PEP8 в Питошкинском.

14 Июн, 12:02 #386 #1005672

>>1005648
Я просто не могу понять эти скобки примитивная часть синтаксиса(так надо), или они как-то логически обоснованы?

Ответы10056731005679

14 Июн, 12:06 #387 #1005673

>>1005672
Собственно
var greeting = (function(name) {
return 'Привет, ' + name;
})('Ivan');

alert(greeting);

Работает и без скобок.

14 Июн, 12:14 #388 #1005675

>>1005601
Если бы ты погуглил причины, то понял бы, что писать в JS-тред об этом бессмысленно, так как это не проблема JS, а всех языков, реализующих стандарт IEEE 754. Упрощённо говоря проблема связана со сложностью в представлении дроби в двоичной системе счисления.

>>1005612
Согласен, что название не самое удачное, но NaN это таки number: https://ru.wikipedia.org/wiki/NaN
Например корень отрицательного числа это всё-таки число и его можно найти если использовать комплексные числа (в математике числа бывают не только вещественные)

>>1005584
Бесплатно только подсказать могу. Помещаешь картинку на канвас с помощью Context2D.drawImage, и добавляешь тени через методы shadowOffsetX, shadowOffsetY, shadowColor, shadowBlur того же Context2D. Способ проще, но тупее - грузишь картинку, цепляешь в DOM, добавляешь тени средствами CSS и какой-нибудь утилитой для создания скриншотов вырезаешь картинку с тенью.

>>1005603
Откуда столько агрессии и токсичности? День неудачный? Сосач тут не при чём.

Ответы1006267

14 Июн, 12:20 #389 #1005679

>>1005672
Пара скобок в конце - это часть синтаксиса, которая производит действие "вызов". А скобки вокруг объявления функции делают из объявления (declaration) выражение (expression). Выражение разрешается в какой-то конкретный объект или значение, в данном случае - в объект функции, которая и вызывается парой скобок в конце.

14 Июн, 12:32 #390 #1005695

>>1005664
Единого стандарта нет, ноя бы рекомендовал использовать https://standardjs.com/ , он без легаси говна, которое осталось ещё от ES < 6.

Ответы1005711

14 Июн, 12:55 #391 #1005711

>>1005695
Посмотрел этот стандарт, вроде всё правильно и хорошо, но No Semicolons - это я в рот ебал. ASI же! Получается, что тот, кто намеренно не ставит точки с запятой, перекладывает ответственность за свою ебучую лень и якобы повышенную читабельность кода (хотя это не совсем так, наличие semicolons в конце строк как минимум не ухудшит readability) на движок.

Ответы100571710057201005776

14 Июн, 13:03 #392 #1005717

>>1005711
Сколько лет жизни ты проебал на точки с запятой? Пиздец ты додич.

Ответы10057231005739

14 Июн, 13:06 #393 #1005720

>>1005711
Акстись, standard требует писать явный код без магии, что позволяет отказаться от семиколонов как от оверхеда. Отсутствие семиколонов как минимум повышает скорость рефакторинга. А движку похеру, если писать код нормально то он без проблем сам разберётся где же кончается стэйтмент.

14 Июн, 13:07 #394 #1005723

>>1005717
0 лет, еба. Но если у тебя ставить семиколон в конце строки занимает столько времени, что исчисляется годами - мне тебя жаль.

14 Июн, 13:08 #395 #1005726

да уж. запилили стандарт для криптоалгоритмов, а простых комбинаторных примитив так и нет. приходится писать самому перестоновки массива по k элементов.
нет процедуры выборки уникальных элементов.
идентификаторы вводятся глобально. т.е. страктура Set, это глобальный объект, как и все другие стандартные объекты. нет механизма `require('set')`.

14 Июн, 13:15 #396 #1005739

>>1005717
Я не тот анон, но No Semicolons в мире JS это верный способ рано или поздно выстрелить в себе в ногу:
http://benalman.com/news/2013/01/advice-javascript-semicolon-haters/
https://stackoverflow.com/a/1169596
Язык спроектирован через задницу с неочевидными особенностями, но слепые фанатики почему-то отказывается в это верить.

> Сколько лет жизни ты проебал на точки с запятой?
Сколько лет жизни ты потратил на фигурные скобки? А вот писал бы на руби, столько лет сэкономил бы!

Алсо у меня для вставки точки с запятой сразу в конец строки есть шорткат. То есть независимо от местоположения каретки (конец строки, середина) точка с запятой вставляется сразу в конец строки одним нажатием кнопки.

Ответы1005746

14 Июн, 13:33 #397 #1005746

>>1005739
>http://benalman.com/news/2013/01/advice-javascript-semicolon-haters/

Standard тут требует сначала присвоить массив [a] переменной и только потом у переменной вызвать метод .forEach или любой другой.

> https://stackoverflow.com/a/1169596
Перед самовызывающимися функциями standard требует ставить семиколон.

Обе эти ошибки в коде будут найдены линтером, и ты спокойно их исправишь.

Ответы1005752

14 Июн, 13:49 #398 #1005752

>>1005746
Есть такая штука как принцип наименьшего удивления, и автоматическая вставка точек с запятой по требованиям стандарта идёт вразрез с этим принципом. Это тема очень спорная и навязывать No Semicolons кому-то - глупо. Я не хочу в голове держать больше деталей, сомневаться и полагаться на линтер в такой ситуации. Мне проще и надёжнее настроить редактор таким образом, чтобы вставка точки с запятой осуществлялась легко и на автомате, потому что тянуться к End, а потом давить точку с запятой - да, неудобно.

Ответы1005776

14 Июн, 14:48 #399 #1005776

>>1005752
Отчаянно двачую, явное всегда лучше неявного.
тот самый >>1005711-анон

14 Июн, 15:56 #400 #1005839

Как оно получается? Это же не имеет смысла?
var x = {};
x.toString()
"[object Object]"

Ответы1005842

14 Июн, 15:58 #401 #1005842

>>1005839
Ты путаешь строковое представление объекта и его сериализованный вид.
JSON.stringify(x)
через интроспекцию тебе напечатает что там внутри объекта.

Ответы1005849

14 Июн, 16:02 #402 #1005849

>>1005842
Я не понимаю смысла подобного представления.

Ответы10058511005852

11 Кб, 356x92

14 Июн, 16:05 #403 #1005851

>>1005849
Это дефолтное представления для типа.
Для number это будет число конвертированное в строку, а для объекта вот эта херь.

14 Июн, 16:06 #404 #1005852

>>1005849
Добро пожаловать в удивительный мир Javascript.

Ответы1005854

14 Июн, 16:07 #405 #1005854

>>1005852
Для разнообразия можешь посмотреть как это в других языках. Почти везде все намного хуже. Например тебе выдадут 0xfuckyou или просто ошибку, потому что ты не удосужился руками написать функцию которая в строку превратит твоё говно.

Ответы1005865

14 Июн, 16:17 #406 #1005865

>>1005854
Лучше уж ошибку, чем полчаса дебажить кусок кода, когда ошибка из-за того, что в другом конце скрипта из-за банальной опечатки вместо zalupa() передаётся просто zalupa, жабаскрипт считает, что складывать функцию с числом - это нормально, и как ни в чём не бывало выдаёт NaN, и всё слетает

Ответы10058701005876

14 Июн, 16:21 #407 #1005870

>>1005865
>опечатка
>полчаса дебажить кусок кода

14 Июн, 16:26 #408 #1005876

>>1005865
Мань, ну че ты как маленький. Если ты не можешь в динамический язык, бери сразу typescript.

14 Июн, 16:35 #409 #1005884

repl.it/IlEW/2

var amy = Car(1);
amy.move();

var Car = function(loc){
var obj = {loc: loc};
obj.move = move;
return obj;
};

var move = function() {
this.loc++;
};

Чому она отказывается работать?

Ответы1005887

14 Июн, 16:37 #410 #1005887

>>1005884
Потому что ты вызываешь Car до того как опредялешь что это. Из-за того что у тебя происходит hoisting для var Car, символ Car определено, но его значение undefined.

var move = function() {
this.loc++;
};

var Car = function(loc){
var obj = {loc: loc};
obj.move = move;
return obj;
};

var amy = Car(1);
amy.move();

Ответы10058881005889

14 Июн, 16:38 #411 #1005888

>>1005887
Понял, спасибо.

Ответы1005892

14 Июн, 16:38 #412 #1005889

>>1005887
Вот так оно будет работать, потому что Function FOO тоже hoists наверх, но при этом оно имеет данное тобойц определение.

var amy = Car(1);
amy.move();

function Car(loc){
var obj = {loc: loc};
obj.move = move;
return obj;
};

function move() {
this.loc++;
};

14 Июн, 16:40 #413 #1005892

>>1005888
Ну и да, будь ооп блядь, че ты не как все:

class Car {
constructor(loc) {
this.loc = loc;
}
move() {
this.loc++;
}
}

const amy = new Car(1);
amy.move();

Ответы1005921

14 Июн, 17:30 #414 #1005921

>>1005892
Так забавно, когда джаваскриптеры пытаются мимикрировать под нормальный язык.

Ответы1005927

14 Июн, 17:35 #415 #1005927

>>1005921
Это синтаксический сахарок над Function + prototype
Нормальности оно прибавляет примерно 0.

Ответы1005930

14 Июн, 17:39 #416 #1005930

>>1005927
Ммм, а ещё сахарок можно декорировать.

Ответы1005936

14 Июн, 17:45 #417 #1005936

>>1005930
Шо делать?

18 Кб, 718x154

14 Июн, 18:44 #418 #1005979

Что сексуальней, православный фильтр или do?

Ответы1005991

14 Июн, 18:56 #419 #1005991

>>1005979

/wrong thread

Ответы1005995

14 Июн, 18:58 #420 #1005995

>>1005991
Как wrong. Это жи purescript, который конпелится в жс-дристню и запускает на ноде.

Ответы10060031006022

14 Июн, 19:05 #421 #1006003

>>1005995
>purescript

лол, в пизду https://www.infoq.com/news/2014/09/purescript-haskell-javascript

14 Июн, 19:25 #422 #1006010

Как пользоваться нормально reselect?

Ответы1006014

14 Июн, 19:27 #423 #1006014

>>1006010
Без задней мысли.

14 Июн, 19:42 #424 #1006022

>>1005995
Родина им дала JavaScript — программируй, пиши на богоподобном Vanilla JS! Блядь... Не хочу, хочу писать на PureScript...

Ответы10060241006029

14 Июн, 19:44 #425 #1006024

>>1006022
У меня тут проект на 30к строк жс кода. Рефакторинг такого объема кода не просто боль, а ебическая анальная боль. Поэтому мне и нужны типы. Тайпскрипт пробовал. Вроде неплохо, но все таки недостаточно.

Ответы10060271006046

14 Июн, 19:47 #426 #1006027

>>1006024
А что за приложухи на JS имеют так много кода? По поводу типов - попробуй Flow, тайпскрипт мне почти бесполезным оказался, так как отлавливает только простые и очевидные ошибки.

Ответы10060311006040

14 Июн, 19:48 #427 #1006029

>>1006022
Джейчую. Дети говном голову забивают себе. ECMA все делает ради того, чтобы богоподобный синтаксис и конструкции стали стандартом языка, а эти кричат "не хочу ваниллу, хочу жрать дерьмо". Elm, coffescript, purescript, xyipizdagovnomochascript... Тьфу ты.

14 Июн, 19:50 #428 #1006031

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

Ответы10060341006037

14 Июн, 19:51 #429 #1006034

>>1006031
> flow пробовал, меня бесит что он либо портит жс.
Либо... не портит?

Ответы1006042

14 Июн, 19:55 #430 #1006037

>>1006031
Тогда assertion библиотеки. Дедовский, но проверенный временем метод, который реально ловит ошибки сразу. Мне самому статические анализаторы пока что тоже не нравятся, пользы от них как от нормальной IDE при использовании JSDoc.

Ответы10060411006043

14 Июн, 19:58 #431 #1006040

>>1006027
у нас админка к вебсерверу-аппликации на втором ангуларе, с минимумрм бойлерплейта выходит ~10k строк

14 Июн, 19:58 #432 #1006041

>>1006037
А в проде можно использовать ассершоны?

Ответы1006051

14 Июн, 19:58 #433 #1006042

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

14 Июн, 19:59 #434 #1006043

>>1006037
Хер его знает. TDD никто не отменял и для статик типизации. Вообще просто хочу. Я уже пробовал typescript, clojurescript. Выбирал между elm и purescript, останолился на втором.

Ответы1006051

14 Июн, 20:04 #435 #1006046

>>1006024
Друг, тебе не типы нужны, а автоматические тесты.

Ответы10060481006051

14 Июн, 20:06 #436 #1006048

>>1006046
Хуесты. Я знаю что мне нужно.

14 Июн, 20:10 #437 #1006051

>>1006043
>>1006041
Я, видимо, не совсем точно выразился. Assertion-библиотеки используются не только в тестах: https://en.wikipedia.org/wiki/Assertion_(software_development)
Ещё эта штука имеет отношение к контрактному программированию. В коде на Си часто можно встретить код вроде такого:
void resize( int *value )
{
assert( value != NULL );
assert( другое условие );
// делаем что нужно

И программа должна аварийно завершится, если что-то пошло не так.

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

Ответы10060541006056

14 Июн, 20:15 #438 #1006054

>>1006051
Уже задавали вопрос, хуле делать с ассертами в проде?
Вот у меня сервер игры. Очевидно я не могу запускать его в проде с ассертами, потому что если ассерт ебнет сервер, ничего хорошего не будет. Поэтому я вообще не понимаю смысла от них. Нормальная система типов намного лучше — если функция наличия аргумента для работы, то ты просто не сможешь ей сунуть NULL.

Ответы10060571006065

14 Июн, 20:17 #439 #1006056

>>1006051
Еще тесты не помогают в рефакторинге. Хочу удалить публичное поле из класса, которое юзается хер знает где, при чем нить хитровыебано типа
const {gl} = getShit()
Статик типизация решает эту проблему просто и точно, в отличии от.

Ответы1006060

14 Июн, 20:18 #440 #1006057

>>1006054
>Нормальная система типов
Это тебе в haskell/rust

Ответы1006058

14 Июн, 20:19 #441 #1006058

>>1006057
Мы тут говорим за purescript. Это по сути и есть хаскель. Который конпелится в жс.

14 Июн, 20:23 #442 #1006060

>>1006056
Вот именно, что без тестов становиться легче переписать большой проект с нуля, чем делать рефакторинг. Ибо без тестов хуй ты угадаешь какая часть системы наебнётся если ты немного изменишь вот этот вот незначительный метод.

Ответы1006063

14 Июн, 20:26 #443 #1006063

>>1006060
Вась, ну хватит. Тебе уже несколько раз объяснили, что тесты это про другое. Статик типизация не исключает тесты.

Ответы1006067

14 Июн, 20:27 #444 #1006065

>>1006054
> что если ассерт ебнет сервер
Стой, у вас сервер на JS? Это задница конечно.

Ответы1006071

14 Июн, 20:28 #445 #1006067

>>1006063
https://ru.hexlet.io/blog/posts/the-broken-promise-of-static-typing

Ответы10060731006075

14 Июн, 20:30 #446 #1006071

>>1006065
Не, сервер не на жс. Но если бы сервер был на си, то ассерты довольно непонятная для меня вещь. Когда-то давно я пробовал их впинхнуть, но пришлось их потом выпиливать, потому что проще прыгнуть к setjmp на сегфолте, чем потом зашивать жопу от ассерта.

14 Июн, 20:32 #447 #1006072

Аноны, выручайте. Нужно реализовать в sails такую штуку, есть бд и сервер на амазоне. На амазон загружается файл с помощью аякс, необходимо чтобы при успешной загрузке создавалась запись в бд. Вопрос такой, куда впихнуть аякс скрипт? Фронтенд на ангуляре, я так понимаю в какой-то из ангуляровских контроллеров, но не уверен

14 Июн, 20:32 #448 #1006073

>>1006067
Тебя же никто не переубеждает. Веришь что тестов достаточно, пожалуйста. Я для себя уже сделал выводы, что плюсы статик типизации для меня очевидны.

14 Июн, 20:34 #449 #1006075

>>1006067
На C++/Java как правило пишется сложный софт, а не кликабельные менюшки, которые не получится писать с багами, даже если совсем отбитый.

> Репозитории с 10+ звезд.
Проиграл, это на троллинг похоже.

14 Июн, 20:38 #450 #1006078

https://youtu.be/LZj_1qVURL0?t=1380
Такого тебе тесты никогда не дадут. Я уж молчу о том что тестировать интерфейсы это термоядерная боль, чтобы там не говорили писатели туду-листов.

Ответы1006104

14 Июн, 21:24 #451 #1006104

>>1006078
какую проблему он решал? добавлял новое поле в структуру?

Ответы1006105

14 Июн, 21:29 #452 #1006105

>>1006104
Думаю максимально приближенным описанием будет "добавил новое значение в enum"

14 Июн, 21:42 #453 #1006110

У слака сломалась автоинвайтилка в шапке. Теперь заходить по адресу https://slack-2chpr.herokuapp.com/
В следующем треде обновим ссылку в шапке.

Ответы1006117

14 Июн, 21:59 #454 #1006117

>>1006110
Какой толк от автоинвайта, если приглашаются все автоматически? Не проще свободный вход сделать? Или я не понимаю чего...

15 Июн, 03:04 #455 #1006267

>>1005675
Спасибо. Проблема решена.

15 Июн, 04:26 #456 #1006278

>>999631
В TypeScript есть async/await. Делаешь async-функцию с этим циклом, а результат запроса через await забираешь.

15 Июн, 04:32 #457 #1006280

>>1000287
vim

15 Июн, 04:38 #458 #1006281

>>1000361
У TS есть преимущества:
1). Условно строгая типизация (хотя она легко ломается через any и тайпкасты) - сразу отсекается часть ошибок;
2). Некоторые фичи ES6+, которые даже нода не реализует, реализует TS - декораторы или модули, например;
3). Является надмножеством JS - валидный и рабочий код JS точно так же валиден и работоспособен с точки зрения TS;
4). Интерфейсы и файлы с определениями ".d.ts" - удобно для всяких абстракций, при этом скомпилированный код не засоряется;
5). Неиспользуемые импорты удаляются автоматически (актуально для бандлеров).

15 Июн, 04:41 #459 #1006282

>>1000645
Справочник MDN или W3C всегда должен в закладках.

15 Июн, 04:46 #460 #1006283

>>1002933
Особого значения нет, но Нода под виндой иногда странновато себя ведет.

15 Июн, 05:00 #461 #1006286

>>1005189
Это нативный уникальный идентификатор. Если его использовать в качестве имени поля в объекте/прототипе/классе, то это поле становится скрытым, причем без знания значения символа получить к нему доступ без изъебов очень сложно. Удобная штука для проставления скрытых меток и айдишников, что требуется для системы событий, например.

15 Июн, 05:07 #462 #1006289

>>1005222
Стандартное поведение некоторых штук можно еще через Proxy поменять.

15 Июн, 06:52 #463 #1006299

Как дождаться появления элемента на странице? window.onload не катит потому, что когда страница уже загружена отдельно запросами подгружаются формы.

Ответы1006302

15 Июн, 07:27 #464 #1006302

>>1006299
На HTMLFormElement onload повесить, не? А вообще, вот это вот "отдельно запросами подгружаются формы" мало что говорит...

Ответы1006322

15 Июн, 08:33 #465 #1006313

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

15 Июн, 08:56 #466 #1006321

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

Ответы1006326

15 Июн, 09:01 #467 #1006322

>>1006302
>мало что говорит
Что ещё добавить? Там ангуляр. Отправляется запрос, приходит json. Json ангуляром как-то по таблице размазывается, но я ангуляр не знаю. Пока json не прилетел форма не появляется.

Ответы1006344

15 Июн, 09:26 #468 #1006326

>>1006321
Деструктурирующее, блджад.

Ответы1006327

194 Кб, 585x620

79 Кб, 340x527

15 Июн, 09:29 #469 #1006327

>>1006326
>Нараян Прасти - "Введение в ECMAScript 6"
Может стоит это из шапки убрать тогда?

Ответы1006336

15 Июн, 10:02 #470 #1006336

>>1006327
https://www.ecma-international.org/ecma-262/7.0/index.html#sec-destructuring-assignment
Destructuring. Деструктурирующее. Все, кто называют это присваивание иначе - долбоёбы.

15 Июн, 10:21 #471 #1006340

Котаны, а вот как думаете, без английского реально вкатится на js джуна в 27 лет? А то я вакансии смотрю паралельно уча js и что то совсем в депрессию впадаю. Локация - Минск, бульбастан.

Ответы100634110063491006352

15 Июн, 10:23 #472 #1006341

>>1006340
От твоих способностей зависит. Я с профильным образованием и английским всё никак не вкачусь.

15 Июн, 10:26 #473 #1006344

>>1006322
Бамп вопросу. Никто не знает?

15 Июн, 10:39 #474 #1006349

>>1006340
Возраст тут не особо важен, это тебе не паркуром каким-нибудь заниматься. А английский вот действительно не помешает выучить. Особенно для JS-разработки, с её темпом эволюционирования никто не поспеет с переводом куч документаций по разным фреймворкам-хуемворкам/библам-хуиблам.

15 Июн, 10:47 #475 #1006352

>>1006340
Помимо примера выше с РАЗРУШАЮЩИМ присваиванием, еще куча веселья. Без английского невозможно.

Ответы1006353

15 Июн, 10:48 #476 #1006353

>>1006352
Как сделать чтобы ебучий mdb не пытался на мове мне статьи подсовывать?

192 Кб, 702x702

15 Июн, 12:53 #477 #1006383

Зачем в js сделали || и && возвращающими последний вычисленный операнд?
Ну, как это используется вместо if или тернарного оператора я знаю, но это вроде считается хуёвой практикой.
Чем изначально такой поведение было обосновано?

Ответы10063861007332

15 Июн, 12:58 #478 #1006386

>>1006383
1) Это не в JS сделали, а давно известная практика в куче ЯПов (https://en.wikipedia.org/wiki/Short-circuit_evaluation)
2) Нет, это не считается хуёвой практикой.

Ответы1006393

945 Кб, 503x699

15 Июн, 13:07 #479 #1006393

>>1006386
>1) Это не в JS сделали, а давно известная практика в куче ЯПов (https://en.wikipedia.org/wiki/Short-circuit_evaluation)
Я же не про ленивое вычисление ||/&&, а именно про возврат "last value". Такое поведение мало где, судя по статье.

Ответы1006415

15 Июн, 14:05 #480 #1006415

>>1006393
Читай внимательнее, речь там не про "ленивость" совсем.

In loosely typed languages that have more than the two truth-values True and False, short-circuit operators may return the last evaluated subexpression, so that x Sor y and x Sand y are equivalent to if x then x else y and if x then y else x respectively (without evaluating x twice).

Судя по всему, как раз и сделали так для этой самой эквивалентности. И да, таких языков не мало - как раз известные слабо-типизированные скриптовые языки.

15 Июн, 16:06 #481 #1006467

http://jsbin.com/cupufusolu/edit?html,output - чет не пойму почему функция undefined?

Ответы1006476

15 Июн, 16:17 #482 #1006476

>>1006467
У тебя вообще код не дописан, похоже, SyntaxError выскакивает, про какую функцию речь вообще?

Ответы1006605

15 Июн, 19:00 #483 #1006590

>>1002119
Nginx

15 Июн, 19:04 #484 #1006593

>>1003433
Хуй знает также нуб говноед для этого использовал eventEmitter

15 Июн, 19:22 #485 #1006605

>>1006476
Короче я ту херню уже исправил.

https://jsbin.com/jizotofuba/edit?html,console,output - какой же говнокод получился, я ебал.

15 Июн, 19:31 #486 #1006617

Как в JS передать указатель? Два часа уже гуглю, нихуя.

Задание- Напишите функцию swap(a, b), меняющую значения a и b. Для этого в теле функции используйте дополнительную переменную.

Вот я пишу

function swap(a, b) {
var c = a;
}

А дальше что? a = b; b = c; писать бесполезно, только внутри функции поменяется

function swap(&a, &b) - ошибка синтаксиса.

Бля как это написать-то?

Ответы1006628100662910066371006638

15 Июн, 19:40 #487 #1006628

>>1006617
var obj = {a: 5, b: 10};

function swap(obj) {
var c = obj.a;
obj.a = obj.b;
obj.b = c;
}

Ответы10066361006640

15 Июн, 19:45 #488 #1006629

>>1006617
Это точно задание для JS? В богоподобном нет указателей, в функцию по ссылке только объекты передаются, примитивные по значению.

Ответы1006640

15 Июн, 19:47 #489 #1006631

а лучше не писать такие функции и обходится без доп переменных
[a, b] = [b, a]
делов то

Ответы10066331006638

sage 15 Июн, 19:53 #490 #1006633

>>1006631
>Invalid left-hand side in assignment

Ответы100663810066431006655

27 Кб, 434x480

15 Июн, 19:54 #491 #1006636

>>1006628
var a, b;
function swap(a, b) {
var c = window[a];
window[a] = window;
window = c;
}

Ответы1006641

15 Июн, 19:55 #492 #1006637

>>1006617
>>1006617
В джаваскрапте прiмтивные типы копируются при передае в хвункцию, поэтому, если хочиш, чтобы что-то менялось в месте А, если меняешь его из другого места, скажем Б, то использую объекты ака (!число и !сточка и !булевар), а вот єтот значёк & ты откуда-то из другого места принёс, в джаваскрапте я такого не видовал

15 Июн, 19:55 #493 #1006638

>>1006617
С основами языка хоть разберись. Понятно, что цпп калечит людей, но не столько, чтобы те ленились даже справку по новому для них языку открывать.

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

>>1006633
О, не успел пост дописать как появился первый пострадавший.

Ответы10066431006655

15 Июн, 19:57 #494 #1006640

>>1006628
Не, нужно именно аргументы поменять

>>1006629
Точно. Препод пёс, не хочет курсач принимать - говорит, подозрительно, мол на Си ты парсер регулярок писать умеешь, а переменные в жс поменять не можешь.

15 Июн, 19:57 #495 #1006641

>>1006636
Дохуя умный? А если переменные для свапа не в global scope?

Ответы1006645

15 Июн, 19:58 #496 #1006643

>>1006638
>>1006633
Мне интересно, как у вас с нетскейп навигатора вообще двач открывается

Ответы1006648

41 Кб, 493x497

15 Июн, 20:00 #497 #1006645

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

Ответы100664610066471006650

15 Июн, 20:01 #498 #1006646

>>1006645
Ахаха, блядь, плагин, для добавления переменных, сука, в глобал скоуп

15 Июн, 20:02 #499 #1006647

>>1006645
Всё понятно.

15 Июн, 20:02 #500 #1006648

>>1006643
Дохуя умный, с electron'a двачуешь?

15 Июн, 20:04 #501 #1006650

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

15 Июн, 20:09 #502 #1006652

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

Ответы1006656

15 Июн, 20:12 #503 #1006655

>>1006633
>>1006638
Препод сказал в джаваскрипте да? Не в иа8, опера 12, а просто в джаваскрипте правда ведь? Что мешает показать метеор/ноду и сделать похерфейс?

15 Июн, 20:13 #504 #1006656

>>1006652
Метеор.

Ответы1006657

15 Июн, 20:14 #505 #1006657

>>1006656
Блядь, даже такое есть

15 Июн, 20:15 #506 #1006658

Почему люди юзают реакт, не проще ли разобраться в джаваскриптах, чем учить доки по этим комбайнам?

Ответы10066591006662

224 Кб, 304x306

15 Июн, 20:23 #507 #1006659

>>1006658
>учить доки по этим комбайнам
>API реакта - 2.5 функции

15 Июн, 20:28 #508 #1006662

>>1006658
Дваждую, сколько ни читал туторов на эту тему - нихуя не понял. Они все примерно одинаковые: создаём приложение MyApp, печатаем в два поля числа, в третьем выводит их сумму, охуеть! Зачем для этого тащить 1.5 мегабайта фреймворка, не объясняется.
Я про то, что никто не объясняет на примере реальных приложений, как работает реакт/ангуляр и нахуй он там вообще нужен. Везде примеры уровня хелловорлда по которым хуй поймёшь, а зачем для этого фреймворк

Ответы10066641006669

15 Июн, 20:31 #509 #1006663

Пиздец. Задаешь нормальные вопросы - хуй кто ответит. Даунич спросит как массив перевернуть - 10 ответов под постом. В рот ебал ваш тред.

15 Июн, 20:34 #510 #1006664

>>1006662
>1.5 мегабайта фреймворка, не объясняется.
>нахуй он там вообще нужен.

Ответы1006666

15 Июн, 20:34 #511 #1006666

>>1006664
http://reactkungfu.com/2015/10/the-difference-between-virtual-dom-and-dom/

Ответы1006672

15 Июн, 20:37 #512 #1006669

>>1006662
Не реакт штука очень даже крутая. Он позволяет тебе просто говорить, вот тебе мой ссаный стейт приложения, а ты уже сам поебись и сделай так, чтобы оно отрендерилось как надо, с минимальными изменениями дома. На ванильном жс-е ты заебешься это делать.

15 Июн, 20:42 #513 #1006672

>>1006666
От одного сочетания return ( <div> внутри меня что-то ломается.

Ответы1006674

15 Июн, 20:44 #514 #1006674

>>1006672
Тебя же никто не заставляет юзать эту хуергу. Можно обычными функциями обойтись.

Ответы1006675

15 Июн, 20:49 #515 #1006675

>>1006674
Но кстати да, кто мне объяснит за каким хуем придумали этот jsx? Какую проблему он решает?

15 Июн, 20:51 #516 #1006676

Если я изучу Javascript, я смогу работать не в сфере Web? Или, например, работать в этой сфере, но быть не связанными с html-php-css и прочей вот этой-вот говниной?

Ответы10066781006679

15 Июн, 20:55 #517 #1006678

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

15 Июн, 20:57 #518 #1006679

>>1006676
Но зачем? Сейчас это ужасно. Нет нормальных книг и гайдов с последним стандартом. Придеться учить говно мамонта, а потом сразу читать "это говно мамонта, вот как надо, но не прочитав говно мамонта, ты не поймешь почему так надо."

Ответы1006681

15 Июн, 20:58 #519 #1006681

>>1006679
Да ладно, один хуй говно мамонта надо знать, потому что куча легаси.

15 Июн, 21:20 #520 #1006690

Ладно! А какие языки занимаются серверами? Или где найти информацию про это? И вообще, я правильно понимаю, что в основном работа кодера на JS состоит в том, чтобы делать разные менюшки, вылетающие хуйни и т.д., если мы говорим не о каком то серьезном проекте, конечно?

Ответы10066961006699

15 Июн, 21:27 #521 #1006696

>>1006690
Злые языки!

15 Июн, 21:30 #522 #1006699

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

Ответы1006700

15 Июн, 21:33 #523 #1006700

>>1006699
Извините! Ваши термины мне ни о чем не говорят!

15 Июн, 21:39 #524 #1006708

Аноны, у меня нуба нубский вопрос.
Самоучусь по учебнику Кантора.
Вот смотрите - есть у меня допустим <div>DIV</div>,
и хочу я его размеры и расположения поменять.
Без JS я бы это все сделал через CSS.
Но я учу JS.
Судя по учебнику эти позиционные свойства объекта DIV я могу возвращать используя свойства DIV как объекта из DOM.
Ну как допустим DIV.innerHTML возвращает содержимое тега.
Но в учебнике не рассмотрены подобные свойства которые могут менять расположение моего DIV.
Так же в учебнике в другой главе сказано что конкретно значение стилей CSS можно менять свойством DIV.style.
С которыми все понятно.
Но в этой же главе Кантор пишет :
<<
Свойство style мы используем лишь там, где не работают классы

В большинстве случаев внешний вид элементов задаётся классами. А JavaScript добавляет или удаляет их. Такой код красив и гибок, дизайн можно легко изменять.

Свойство style нужно использовать лишь там, где классы не подходят, например если точное значение цвета/отступа/высоты вычисляется в JavaScript.
>>

Скажите анончики, где мне найти список свойств например тега DIV?

Понятно что он прототипно наследует от HTMLElement.

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

15 Июн, 21:39 #524 #1006708

Аноны, у меня нуба нубский вопрос.
Самоучусь по учебнику Кантора.
Вот смотрите - есть у меня допустим <div>DIV</div>,
и хочу я его размеры и расположения поменять.
Без JS я бы это все сделал через CSS.
Но я учу JS.
Судя по учебнику эти позиционные свойства объекта DIV я могу возвращать используя свойства DIV как объекта из DOM.
Ну как допустим DIV.innerHTML возвращает содержимое тега.
Но в учебнике не рассмотрены подобные свойства которые могут менять расположение моего DIV.
Так же в учебнике в другой главе сказано что конкретно значение стилей CSS можно менять свойством DIV.style.
С которыми все понятно.
Но в этой же главе Кантор пишет :
<<
Свойство style мы используем лишь там, где не работают классы

В большинстве случаев внешний вид элементов задаётся классами. А JavaScript добавляет или удаляет их. Такой код красив и гибок, дизайн можно легко изменять.

Свойство style нужно использовать лишь там, где классы не подходят, например если точное значение цвета/отступа/высоты вычисляется в JavaScript.
>>

Скажите анончики, где мне найти список свойств например тега DIV?

Понятно что он прототипно наследует от HTMLElement.

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

Показать весь текст
Ответы10067141006717

15 Июн, 22:01 #525 #1006714

>>1006708
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement

const div = document.querySelector("div")[0];
div.style.position = "fixed";
div.style.left = "10px";
div.style.top = "10px";

Ответы10067181006722

95 Кб, 1073x917

72 Кб, 1222x665

15 Июн, 22:02 #526 #1006717

>>1006708
> список свойств например тега DIV?
а нафига он тебе нужен? ну так например
> как задать расположение, высоту и ширину для DIV через свойства
ну так например.
$0 - это последний выбранный элемент, твой пост.
но вообще ты прими к сведению то что он пишет про классы, css правильно изменять именно тугля классы.

Ответы1006722

15 Июн, 22:02 #527 #1006718

>>1006714
Ой, обосрался.
Либо
const div = document.querySelector("div")
либо
const div = document.querySelectorAll("div")[0]

Ответы1006722

15 Июн, 22:13 #528 #1006722

>>1006714
>>1006717
>>1006718

Что то мы не поняли друг друга, ребятки.
Изменения через
div.style.тра-ля-ля-ля бэкграундКолор

не вызывает затруднений.
Я не понимаю почему кантор пишет:
<<
Свойство style мы используем лишь там, где не работают классы

В большинстве случаев внешний вид элементов задаётся классами. А JavaScript добавляет или удаляет их. Такой код красив и гибок, дизайн можно легко изменять.

Свойство style нужно использовать лишь там, где классы не подходят, например если точное значение цвета/отступа/высоты вычисляется в JavaScript.
>>

Допустим:

зададим DIVу маргин через свойство

div.style.margin = '15px';

Но кантор пишет что так не надо. Нужно через свойства.
Через какие свойства?

div.что то такое чем можно задать отступ = '15px';

15 Июн, 22:13 #528 #1006722

>>1006714
>>1006717
>>1006718

Что то мы не поняли друг друга, ребятки.
Изменения через
div.style.тра-ля-ля-ля бэкграундКолор

не вызывает затруднений.
Я не понимаю почему кантор пишет:
<<
Свойство style мы используем лишь там, где не работают классы

В большинстве случаев внешний вид элементов задаётся классами. А JavaScript добавляет или удаляет их. Такой код красив и гибок, дизайн можно легко изменять.

Свойство style нужно использовать лишь там, где классы не подходят, например если точное значение цвета/отступа/высоты вычисляется в JavaScript.
>>

Допустим:

зададим DIVу маргин через свойство

div.style.margin = '15px';

Но кантор пишет что так не надо. Нужно через свойства.
Через какие свойства?

div.что то такое чем можно задать отступ = '15px';

Показать весь текст
Ответы10067251006728

15 Июн, 22:18 #529 #1006725

>>1006722
Да тут все просто. Стили условно можно поделить на статичечские и динамические.
Статическим стилем назовем стиль типа
.shit {
color: red;
}
его очевидно лучше навешивать через classList:
div.classList.add("shit")

Тем самым мы инкапсулируем конкретную реализацию говеного стиля. То есть жс знает только о том, что мы хотим сделать определенный элемент говеным. А уж что такое "говеный" определяет стиль (который можно подменить на лету, как на тех же двачах).

Динамическим стилем назовем тот стиль, который нужно каждый раз считать. Предположим ты делаешь drag&drop через position: absolute
Ты не можешь прописать в css конкретные координаты, поэтому в этой ситуации ты вынужден в div.style.left писать конкретную координату, зависящую от положения мышки.

Ответы1006737

15 Июн, 22:19 #530 #1006728

>>1006722
ты потунгусски как-то объясняешь
>Но кантор пишет что так не надо. Нужно через свойства.
правильно он пишет. только не через свойства, а через css-классы. чтобы следовать принципу разделения ответственности. хтмл - разметка, цсс - дизайн, жс - поведение.
дизайн(размеры, отступы, цвет) хранится в цсс-классах. а жс только переключает их, через classList.add/remove/toggle. это легко и не надо ебать мозг с этими style....
ты создаешь в css два класса: .обычнаяКнопка и .моднаяКнопка, куда пишешь все эти свойства и переключаешь их в жс.

Ответы10067351006737

15 Июн, 22:27 #531 #1006735

>>1006728
>>ты потунгусски как-то объясняешь
Не спорю:3.

classList.add точно, я вспышку проебал.
Короче сам создаю свойство, с в котором указываю нужные мне стили, и уже применяю к чему хочу.
Сука стоило что то одно, но важное забыть - и пиздарики. Залип.
Так?

Ответы1006741

15 Июн, 22:28 #532 #1006737

>>1006725
>>1006728
Шпасибо

15 Июн, 22:36 #533 #1006741

>>1006735
>Короче сам создаю свойство
не свойство, а css-класс, суко

Ответы1006744

15 Июн, 22:40 #534 #1006744

>>1006741
Да понял я :)

Ответы1006746

15 Июн, 22:42 #535 #1006746

>>1006744
Ничего ты не понял, Джон Сноу.

Ответы1006864

15 Июн, 23:51 #536 #1006767

https://jsbin.com/fikawosepe/edit?html,js,console,output - почему выводит 1? Ведь месяц начинается с четверга.

Ответы10067701006772

15 Июн, 23:56 #537 #1006769

ПЕРЕКАТ
>>1006768 (OP)
>>1006768 (OP)

6 Кб, 281x107

15 Июн, 23:57 #538 #1006770

>>1006767

Ответы10067791006781

16 Июн, 00:00 #539 #1006772

>>1006767
А вообще ты месяцы кажется попутал. 1 мая это пн.

Ответы10067791006781

16 Июн, 00:06 #540 #1006779

>>1006770
>>1006772

https://jsbin.com/fikawosepe/edit?html,js,console,output

А хуле у меня июнь выводит тогда?

Ответы1006780

16 Июн, 00:07 #541 #1006780

>>1006779
Ну ты вызываешь конструктор Date(год, месяц, день = 1)
getDate() возвращает день = 1

Ответы1006782

16 Июн, 00:08 #542 #1006781

>>1006772
>>1006770
Нумерация же с нуля начинается, 5й месяц это Июнь. При этом получая первый день недели получаю цифру - 1 (т.е понедельник.)

16 Июн, 00:08 #543 #1006782

>>1006780
бля спс, методы спутал, лол

16 Июн, 07:51 #544 #1006864

>>1006746
Понял, истинно тебе говорю!

17 Июн, 00:38 #545 #1007332

>>1006383

Очень полезно если что-то передаётся в функцию и оно не может в последствии быть пустым.

...
var a = (A || null);
...

и напиши теперь это это одной срочкой

скобки можно не ставить, но я ставлю и мне норм

Ответы1007382

24 Кб, 229x300

17 Июн, 02:48 #546 #1007382

>>1007332
>и напиши теперь это это одной срочкой
var a = A ? A : null
Написал

Ответы1008054

18 Июн, 19:57 #547 #1008054

>>1007382
Вот в php так и приходится писать, а так хотелось бы чтобы булевские операторы возвращали последний вычисленный операнд как в JS, а не true/false

11 Кб, 450x450

20 Июн, 20:25 #548 #1008900

Поясните за пик, стоит ли дрочить его едва осилив ванилла джэс. Пока вакансий оче мало, но все его нахваливают. Через пол года у меня будет 1к предложений с 488к\секунду?

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 8 июля 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion