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

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

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

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

JavaScript #86 27 авг, 15:25 #1052010 В конец треда | Веб

37 Кб, 1052x1052

109 Кб, 1000x900

292 Кб, 1140x813

Ссылка на прошлый тред: >>1043979 (OP)

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

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

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

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

Инструмент для визуализации и экспериментов со связями между объектами в JavaScript:
http://www.objectplayground.com/

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

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

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

Ответы52016520175205152184532625525955965568065776658356584335889460198607286103161167613646357163582

27 авг, 15:31 #2 #1052016

>>1052010 (OP)
Cажи джава-скрипт макакам

27 авг, 15:32 #3 #1052017

>>1052010 (OP)

освятил

https://wtfjs.com/

sage 27 авг, 15:35 #4 #1052021

Ну чё, жс макаки, когда вам там нормальное ооп завезут? Ахахахах, никогда))

Ответы520315203552087

27 авг, 15:41 #5 #1052031

>>1052021
И слава богам Египта!

27 авг, 15:44 #6 #1052035

>>1052021

1. В JavaScript нет классов — есть конструкторы
2. Цепь прототипов — база на которую опирается все наследование в JavaScript
3. Свойство объекта получается с использованием цепи прототипов
4. __proto__ — это ссылка на прототип конструктора(prototype)
5. Оператор new создает пустой объект с единственным свойством __proto__, которое ссылается на F.prototype, выполняет конструктор F в котором this — созданный ранее объект и возвращает объект
6. Оператор instanceof не проверяет порожден ли данный объект «Object» конструктором «ObjectsConstoructor», для своего вердикта он использует цепь прототипов
7. В JavaScript значение this определяется вызывающей стороной по форме вызова
8. void — это оператор, а не функция. undefined, null — примитивные значения

Ответы52041

45 Кб, 389x259

27 авг, 15:48 #7 #1052041

>>1052035
>В JavaScript значение this определяется вызывающей стороной по форме вызова

Ответы52042

27 авг, 15:51 #8 #1052042

>>1052041

В JavaScript значение this определяется вызывающей стороной по форме вызова. Правило по которому определяется то, что будет в this такое объясню по-простому:

1. Если метод вызывается напрямую (без new, call, apply, bind, with, try catch), то значением this будет тот объект, который стоит перед точкой, слева от имени метода.
2. Если точки нет (функция вызывается напрямую), то this будет приравнен к undefined, null или window(global), в зависимости от среды и «use strict».
3. Если выражение представляет из себя не ссылку, а значение, то применяется пункт 2

Ответы52082

sage 27 авг, 15:54 #9 #1052045

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

Ответы520465205052087

27 авг, 15:56 #10 #1052046

>>1052045
Зато есть TypeScript и пиздатый event-loop

24 Кб, 211x214

27 авг, 16:06 #11 #1052050

>>1052045
>нет нормальных классов
>нет абстрактных классов и интерфейсов
>наследование через жопу
>нет модификаторов доступа

всё давно есть

#1 https://ilikekillnerds.com/2015/06/abstract-classes-in-javascript/
#2 https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance
#3 https://scotch.io/bar-talk/4-javascript-design-patterns-you-should-know

Ответы52052

27 авг, 16:08 #12 #1052051

>>1052010 (OP)

в ЖС уже и машинное обучение подвезли https://pair-code.github.io/deeplearnjs/

Ответы52062

27 авг, 16:09 #13 #1052052

>>1052050
ебать ты конченный, убей себя нахуй

Ответы52055

27 авг, 16:12 #14 #1052055

>>1052052

боль неосилятора бесценна:3

27 авг, 16:23 #15 #1052059

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

Использую метод instanceOf, который всегда выдает -1, кроме полного совпадение элементов массива.
Что я делаю не так?
https://jsfiddle.net/ax24rbsx/

Ответы5207852081

27 авг, 16:26 #16 #1052062

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

Ответы52068

sage 27 авг, 16:32 #17 #1052068

>>1052062
Ишь чего захотел! Жри что дают мразь!

27 авг, 16:49 #18 #1052077

Отписался в трапо треде

27 авг, 16:50 #19 #1052078

>>1052059

так работает?

>if (array2.indexOf(word) !== -1)

Ответы5209552118

27 авг, 16:51 #20 #1052081

>>1052059
>лексикографически
>я умный
Нет.

Ответы52096

27 авг, 16:52 #21 #1052082

>>1052042
Ты забыл про this в событиях типа onclick

27 авг, 16:55 #22 #1052087

>>1052021
>>1052045
Нормальные на другом языке - не нормальные на JS.
Тугодумам непонятно, что это другой язык и у него другое строение, философия и приемы программирования?
И заберите свои сраные классы обратно, а то понаехали со своим уставом в чужой монастырь, задроты.

27 авг, 17:02 #23 #1052095

>>1052078
Нет

27 авг, 17:03 #24 #1052096

>>1052081
Подскажи, что не так в коде?

Ответы5210052118

27 авг, 17:06 #25 #1052100

>>1052096
https://jsfiddle.net/6be5zhy0/

Ответы52101

27 авг, 17:07 #26 #1052101

>>1052100
Замени startsWith на includes если нужно частичное совпадение.

Ответы52110

27 авг, 17:16 #27 #1052110

>>1052101
Не понял. Ни один из этих методов не использовал, они и не подходят.
В первом массиве есть строка 'op', во втором 'pop' и так как первая строка полностью имеется в строке второго массива она должна передаваться в новый.

Ответы52113

27 авг, 17:20 #28 #1052113

>>1052110
https://jsfiddle.net/6be5zhy0/1/
Не сохранилось.

Ответы52157

27 авг, 17:33 #29 #1052118

>>1052096

ролл >>1052078

27 авг, 18:24 #30 #1052157

>>1052113
Спасибо!
"Лексикографически" это из задания. Я думал это о сравнение строк, хоть и гуглив слово. Оказалось надо было по алфавиту отсортировать.
И в этом решении работает indexOf. Видимо я пытаясь сначала уменьшить вероятность появления ошибки использовал цикл, вместо высшей функции, получил только проблемы

27 авг, 18:27 #31 #1052165

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

Ответы5217352177

27 авг, 18:37 #32 #1052173

>>1052165
Манипуляции с HTML, синтаксис, представление о ООП в JS, базовое понимание о замыканиях, AJAX.

Ответы52185

27 авг, 18:40 #33 #1052177

>>1052165
https://learn.javascript.ru/first-steps

открываешь это и ебошишь, за два-три дня вполне реально осилить и понять все разделы. В ES2015 не лезь только, это уже не базовое.

Ответы52185

27 Кб, 638x359

27 авг, 18:59 #34 #1052184

>>1052010 (OP)

>CouchDB

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

спрошу еще и здесь, так как CouchDB тесно связана с ЖС.

мб юзал кто CouchDB для продакшина, какие подводные камни?

Ответы52194

27 авг, 19:02 #35 #1052185

>>1052173
>>1052177
Спасибо. Ещё вопрос: мне чувак сказал, мол, раз знаешь шарп, то тут особо проблем не будет, потому что язык си-подобный. Это верно?

Ответы521865221252361

27 авг, 19:03 #36 #1052186

>>1052185
Нет, полная хуйня. Шарп это жаба с традиционным говно ооп уровня крестов. Впрочем если ты linq-мастер, то тебе будет норм.

Ответы52772

27 авг, 19:27 #37 #1052194

>>1052184
Кауч в продкшне юзали Meebo, хотя ты, наверное, и не застал, что это за сервис был такой.
Гугли их юзкейс.

Ответы52208

27 авг, 19:56 #38 #1052208

>>1052194
>Meebo

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

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

Ответы52210

27 авг, 19:59 #39 #1052210

>>1052208
>*их идея = идея создателей Кауч
>fix

27 авг, 20:02 #40 #1052212

>>1052185
Отчасти верно.

27 авг, 20:18 #41 #1052224

Анон, подскажи. JS недавно обмазываюсь, тут странное дело.
Отправляю ajax-запрос через jQuery на php-обработчик в формате json (JSON.stringify). Всё ок, пхп получает и тоже возвращает json (json_encode). Обычно раньше, я в JS использовал JSON.parse, однако сейчас увидел, что ответ уже приходит в виде массива JS, то есть уже распарсеный. Это всё из-за того, что указан type: 'json', верно? До этого использовал type: 'html'.

Ответы52229

27 авг, 20:31 #42 #1052229

>>1052224
Перечитал свой вопрос (и посмотрел на сайте jQuery) и понял, что спросил о том, что и так очевидно. Стыдно.

447 Кб, 948x526

27 авг, 22:23 #43 #1052277

Читаю про ноду и там через каждое предложение - handle request. Как это переводиться? Управление реквестом, разбирательство с реквестом?

Ответы52291

27 авг, 22:45 #44 #1052291

>>1052277
Обработай запрос.

Ответы52298

61 Кб, 604x414

27 авг, 22:58 #45 #1052298

>>1052291
Почему учебник Node на сайте Мазилы сразу мне жестко поясняет за шмот за Express? Почему сначала подучить Ноду, а не сразу дрочить фреймвоки?У меня от этой хуйни дедушка заулыбался, блять написали учебник Express

Ответы5231252394

27 авг, 23:34 #46 #1052312

>>1052298
>подучить Ноду
Нахуя зубрить стандартную библиотеку?

Ответы52391

28 авг, 02:48 #47 #1052361

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

Ответы52398

28 авг, 02:58 #48 #1052372

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

Ответы52399

28 авг, 03:14 #49 #1052391

>>1052312
>нахуя зубрить JavaScript когда есть jQuery?

Чтобы писать божественное

jQuery.extend(anchor,{href,'about:blank'})

вместо устаревшего

anchor.href='about:blank'

28 авг, 03:16 #50 #1052394

>>1052298
У этого дедушки геморрой

28 авг, 03:20 #51 #1052398

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

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

28 авг, 03:22 #52 #1052399

>>1052372
Ты похоже не умеешь программировать? Тогда для решения такой задачи тебе ой как далеко. Если срочно - попроси кого-то сделать. А если хочешь сам - приступай к изучению JS (или Python/PHP/Ruby)

28 авг, 13:15 #53 #1052552

Node.js, Express. Мне надо в темплейт Pug передавать JSON объект для рендеринга (ссылки для навбара, а также саб-меню для этих ссылок). Навбар будет открываться на любой странице, так что я не вижу смысла передавать с каждого контроллера одинаковый JSON файл. Неужели мне нужно определять объект в самом файле Pug? Есть какой-нибудь красивый способ это сделать? Например, определить JSON файл на стадии запуска сервера, и чтобы Pug имел доступ к этому JSON файлу.

Ответы52640

28 авг, 15:34 #54 #1052640

>>1052552
Я разобрался. Через app.locals закидываю прочитанный JSON файл, а потом в рендер передаю request.app.locals.переменная.

sage 28 авг, 19:11 #55 #1052772

>>1052186
Говно — это ваш недоязык, который отчаянно пытается походить на нормальный, но каждый раз обсирается всё сильнее и сильнее.

125 Кб, 265x287

28 авг, 21:11 #56 #1052871

на третьи сутки выяснилось что top - зарезервированное слово

6 Кб, 375x375

28 авг, 22:22 #57 #1052955

Изучаю Vue. Пока все норм, в отличие от Angular и React все просто и олдскульно, не надо ставить ноду, npm и прочий хайп. Просто восторг для ретрограда, аж прямо на 10 лет назад вернулся в эпоху Delphi и диал-апа.

Но возник вопрос, а где брать готовые компоненты? Раньше брали jQueryUI/ExtJS + Bootstrap для стилизации и тем. Но у Vue свой виртуальный DOM вместо браузерного, и jQuery с ним работать не умеет (а значит, и эти фреймворки не будут). Так что, неужели придется самому писать всякие панели, деревья, сплиттеры и т.д.? Или есть какие-нибудь готовые наборы?

Ответы5418363233

28 авг, 23:14 #58 #1052998

Я не понимаю, почем у меня такая боль от редакса? Бойлерплейт на бойлерплейте.

Ответы53164

28 авг, 23:25 #59 #1053005

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

Ответы5300653870

28 авг, 23:26 #60 #1053006

>>1053005
>выглядеть

29 авг, 08:41 #61 #1053137

Котаны, обьясните нубу как сделать кастомное событие на JS

Вот:
https://jsfiddle.net/xwghvkyw/

событие таково - допустим когда в die появляется текстовая строка "www", - это считается событием, и запускается обработчик, допустим с алертом.
Нихуя логику не пойму. А у кантора мудреный пример.

Обьясните, как нибудь попроще нубу.

Ответы53179

29 авг, 09:32 #62 #1053148

аноны, смотрите: есть такой вот пример
https://jsfiddle.net/jm0vbtnz/1/
как можно получить доступ к data-id не навешивая обработчик на div, потому что div в будущем будет перерисовываться.

Ответы53150

29 авг, 09:37 #63 #1053150

>>1053148
https://jsfiddle.net/jm0vbtnz/2/
фикс

Ответы53156

29 авг, 09:42 #64 #1053156

>>1053150
Повесь обработчик на body.

Ответы53158

29 авг, 09:44 #65 #1053158

>>1053156
но обработчик и так на body Навешен

Ответы53160

29 авг, 09:48 #66 #1053160

>>1053158
Вот я слепошарый(

Ответы53162

29 авг, 09:53 #67 #1053162

>>1053160
https://jsfiddle.net/jm0vbtnz/4/
уже сам разобрался

29 авг, 09:57 #68 #1053164

>>1052998
Ну и юзай бойлерплейты, две строчки в терминале и готово, в чем проблема?

Ответы53244

29 авг, 10:51 #69 #1053179

>>1053137

Аноны, помогите! Я аж чешусь бладж!!!

вот обновленный код с комментариями:
https://jsfiddle.net/v9nyga5p/

Ответы53247

29 авг, 13:27 #70 #1053244

>>1053164
Это мудацкая хуйня. Нахуя блять эти модные фреймворки, если они заставляют генерить тонны бойлерплейта?

29 авг, 13:31 #71 #1053247

>>1053179
Можешь переписать сеттер innerHTML, чтобы тот в добавок к присвоению нового значения еще и вызывал нужное тебе событие, или добавить новый метод/сеттер элементу, чтобы тот присваивал innerHTML и вызывал твое событие, или использовать прокси, или реагировать на событие DOMSubtreeModified, или использовать MutationObserver (не уверен), или либу какую найти, которая упрощает это дело, но любое событие где-то да нужно вызывать вручную, ты можешь только замаскировать и спрятать это подальше. Могу ошибаться.

Ответы53314

29 авг, 13:41 #72 #1053253

Как можно обрабатывать евенты срабатывания скролла вверх и вниз на ванильном js? (хочу без библиотек попробовать сделать) Я хочу сделать просмотр картинки такой же как на двощах, и хз как евенты скролла обрабатывать.

29 авг, 13:57 #73 #1053262

>>1052010 (OP)
Здравствуйте, есть один браузер хром(60.0.3112.107) для андроида и мне нужно смотреть куки. До недавнего времени я использовал "javascript:alert(document.cookie)" и все бы ничего пока не настал лимит отображения, то есть новые куки я не вижу.

Задачи:
1. Вытянуть по названию(я его знаю)
2. Удалить первые.

И как это сделать я не знаю. Вот допустим должна быть куки с названием Gay_porn_id что мне нужно написать что бы увидеть ее значение?

Ответы5326653270

29 авг, 14:03 #74 #1053266

>>1053262
Попробуй так:
>javascript:(function del(cookie){setTimeout(() => {del();del();del()})})()

Ответы53302

29 авг, 14:12 #75 #1053270

>>1053262
Подключить телефон к пека и смотреть через инструменты разработчика, предварительно настроив удаленную отладку. Или я тебя не правильно понял.

Ответы53302

29 авг, 15:07 #76 #1053302

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

Немного почитал здесь:
https://learn.javascript.ru/cookie
И вот смотрите javascript:alert( document.cookie ); у меня работает и для этого сайта отображает куки usercode_auth

А вот когда я javascript:function getCookie(usercode_auth) то ничего.

>>1053266
> del
> {del();del();del
Не хочу тебя обидеть но оставлю это на потом, все равно буду удалить все что бы очистить "кеш отображения" на следующие разы.

>>1053270
Я вообще не программист, даже телефон не рутирован. С рутом похоже есть программы что могут читать куки... То что ты написал для меня это уровень расшифровки https трафика на мощности какой нибуть криптофермы, ради несчастной печеньки(Ну вы поняли).

29 авг, 15:33 #77 #1053314

>>1053247
Спасибо бро за развернутый ответ. Я сидел и горевал по поводу того что я тупой, что то что мне требуется лежит на поверхности, а я понять не могу.
>>Можешь переписать сеттер innerHTML
Не хочется ковырятюся в нативных методах.
>>добавить новый метод/сеттер элементу
А вот это уже реальнее. Добавить метод элементу, которое будет реагировать на изменение innerHTML и вызывать кастомное событие.
Шпасибо!

29 авг, 15:38 #78 #1053319

Получилось
Как итог мне нужен был всего-то такое

javascript: getCookie("Gay_porn_id");

Теперь я явапрограмист?

Ответы53355

29 авг, 17:04 #79 #1053355

>>1053319
>>getCookie("Gay_porn_id")
>>Теперь я явапрограмист?

Никаких сомнений

29 авг, 18:56 #80 #1053408

Анончики, глупый нубяра снова с вами.
Снова пример от кантора.
Снова прошу хелпа!

https://jsfiddle.net/Lcrz4pzp/

комментарии внутри

Ответы5341254868

51 Кб, 787x469

29 авг, 18:58 #81 #1053412

>>1053408
Халп

Ответы53451

29 авг, 19:39 #82 #1053451

>>1053412
Бука!

29 авг, 22:31 #83 #1053628

Анон, помоги.
Такой пример.
Есть сайт, на котором прогружаются div-ки с баннером (на каждой странице домена) и каждый раз, когда я захожу на какую-либо страницу сайта, у меня подгружается эта div'ка.
Вручную я удалить ее могу через панель разработчика (просто hide element в chrome), но если я обновлю страницу или зайду на другую, дивка снова подгрузится. Можно ли как-то автоматом зашить удаление этой div в браузере?

Ответы54425

29 авг, 22:45 #84 #1053647

Есть готовые костыли для уменьшения размера JSON для однотипных объектов? Объекты чтобы заменял на массивы, а схему восстановления имён хранил в единичном экземпляре.

Ответы53649

29 авг, 22:47 #85 #1053649

>>1053647
deflate и не еби мозг

29 авг, 23:46 #86 #1053696

Уважаемые Котаны, скажите пожалуйста, можно ли, зная лишь хтмл цсс и жс написать например борду объявлений, подобно данной, а так же некую биржу, куда юзеры будут запихивать свои товары например, а другие будут устанавливать фильтры и искать то что им нужно? Понимаю, что второе наверное проще делать на пхп, но в планах пхп нет. И возможно ли написать на сайте-бирже мини-чатики, где каждый зашедшиq сможет быстро поболтать конкретно с разместившим данную объяву? Что за связка потребуется минимум для таких больших дел?

Ответы536995372653793

29 авг, 23:50 #87 #1053699

>>1053696
только если для взаимодействия с бд ты возьмешь ноду.

30 авг, 00:20 #88 #1053726

>>1053696
Для всего хватит хтмл цсс жс, если нода на беке устраивает.

30 авг, 01:26 #89 #1053793

>>1053696

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

30 авг, 06:29 #90 #1053870

>>1053005
Псевдокод
var fappedLastTime = userinput;
var daysSinceFapped;
for (var i=0; i<100; /все равно больше не продержишься / i++) {
daysSinceFapped++
}
Время берешь через Date().getTime()

30 авг, 12:33 #91 #1053948

https://soundcloud.com/one-eight-hundred/javascript-hottt

Ответы53966

30 авг, 13:21 #92 #1053966

>>1053948

https://youtu.be/dIiwFzFvsmw

30 авг, 15:17 #93 #1054054

Решил изучить js, помимо codeacademy и eloquent js читаю курс на http://learn.javascript.ru. Вот на последнем я дошёл до вычисления факториалов и числа Фибоначчи через рекурсию и мне тяжело, я едва понимаю логику кода в примерах. До этого программированием не занимался.

Вопрос: это у всех так? Может, просто не моё? Мне 30 и я гуманитарий, может дело в этом.

Ответы54059541425418254236

30 авг, 15:20 #94 #1054059

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

Ответы54179

30 авг, 16:24 #95 #1054142

>>1054054
https://www.youtube.com/watch?v=rh1mP02NFoM

Ответы54192

30 авг, 17:10 #96 #1054179

>>1054059
Итого 6 типов насчитал

Ответы54181

30 авг, 17:12 #97 #1054181

>>1054179
Это все одни и те же люди. Одни тупые, другие нет.

30 авг, 17:12 #98 #1054182

>>1054054
Ну так тут не в программировании дело, а в математике.
Но вообще-то если гуманитарий, то каким хером тебя в программирование понесло? Деньги?

Ответы54192

30 авг, 17:16 #99 #1054183

>>1052955
Вот здесь https://vuejs.org/v2/guide/plugins.html в конце написано:
>Checkout awesome-vue for a huge collection of community-contributed plugins and libraries.
> https://github.com/vuejs/awesome-vue#user-content-components--libraries

100 Кб, 640x882

30 авг, 17:44 #100 #1054192

>>1054182
Кратко: да, деньги
Последние 6 лет я работаю не по специальности на тупиковой должности. Работа вахтовая, много свободного времени, решил как-то его занять.

>>1054142
Спасибо, буду изучать

Ответы5419854236

30 авг, 17:52 #101 #1054198

>>1054192
>не по специальности на тупиковой должности
Как и почти вся страна. А почему сразу в техвуз не пошел, математику не учил? Какие-то другие планы были, артистом например стать?

Ответы54199

30 авг, 17:54 #102 #1054199

>>1054198
Почти. Дипломатом c:

Ответы54274

30 авг, 17:58 #103 #1054206

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

Ответы54230

30 авг, 18:21 #104 #1054230

>>1054206
Купи макбук.

30 авг, 18:27 #105 #1054236

>>1054054
Как чувак который осилил почти весь учебник кантора скажу - это ебанное начало только. Будет тяжелее.
Очень высок уровень абстракции. И должно выработаться специфическое мышление.

>>1054192
>>Кратко: да, деньги
Честно, не уверен что это разумно. Суть в том что программирование "должно зайти", когда ты сидишь до часу ночи разбирая какую нибудь хуиту, забесплатно, тупо потому что нравится. И второе - когда ты осилишь учебник кантора - ты вдруг поймешь как мало ты знаешь. Хочешь пилить полноценные сайты на сервере - изволь учить node.js, что бы самостоятельно верстать быстро - бутстрап. И куча еще всяких технологий.
И при всем этом пиздице ты через месяцев 6-7, когда все осилишь, потратив дохуя часов - ты пойдешь каким нибудь джуном за 40 тыщщ.
И ток через пару лет вьеба ты доползешь до сильных ЗП. Наверное.
К сожалению в россиюшке программирование привлекательно единственно тем, что гипотетически ЗП могут прийти к европейскому уровню ЗП, ну или прямо работать с заграницей не поднимая сраки с родного дивана.
Я лично перекатываюсь потому что я по образованию "сисюадмин", но уже 5 лет работаю в информационной безопасности, а это настолько бумажная специализация что пиздец. Тошнит уже.
Я мог бы в какой нибудь банк уползти и там кидать акты на заключения. Но заебло. Я хочу технической работы.

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

30 авг, 19:22 #106 #1054274

>>1054199
Странно - раньше это считалось выгодной профессией, куда там каким-то кодерам.

Ответы54311

31 Кб, 437x344

30 авг, 20:01 #107 #1054311

>>1054274
Да это шутка была.

30 авг, 22:25 #108 #1054420

Нужны сильные прохромисты на js в проект с перспективой https://pastebin.com/m2xD8nkW

Ответы544225442454428

30 авг, 22:28 #109 #1054422

>>1054420
Подробности сразу давай. Скока денег?

30 авг, 22:32 #110 #1054424

>>1054420
Жму лежа 175, достаточно сильный?

30 авг, 22:35 #111 #1054425

>>1053628
Можешь поставить расширение для браузера, которое применяет пользовательские стили к сайту (для хрома - User CSS, например). Тогда можно просто к селектору этого баннера `display: none` применить.

30 авг, 22:42 #112 #1054428

>>1054420
ой я что-то засмущалась и вышла. там столько мальчиков. ._.

30 авг, 22:49 #113 #1054430

Аноны, сейчас устраиваюсь фронт-энд джуном на реакт/редакс. Учу эту связку дай бог два месяца, но вроде что-то уже начинаю схватывать. Может кто мельком чекнуть мой код на наличие совсем уж дичайших обосрамсов? Вот приложуха которую пилю около месяца. Вкратце - сервис для хранения иностранных слов. Создаешь список - добавляешь туда слова которые хочешь выучить - прогоняешь тесты по нему (тесты конфигурируешь сам, там довольно много настроек) - по окончании теста слова, которые правильно решил, отмечаются как выученные. Есть еще переводчик (просто надстройка над яндексовским, работает так же), слова прямо из него можно добавлять в списки. Показать как работает пока не могу, это и не важно, просто гляньте код кому не лень.

https://github.com/sorfeai/vocabulary

Ответы5443254879

30 авг, 22:53 #114 #1054432

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

Ответы54433

30 авг, 22:54 #115 #1054433

>>1054432
Можешь.

Ответы54434

30 авг, 22:55 #116 #1054434

>>1054433
Это из серии встань и иди?

Ответы54435

30 авг, 22:56 #117 #1054435

>>1054434
Глянул твой код мельком. Можешь встать и идти, у тебя уже лучше чем у 80% тут.

Ответы54438

30 авг, 23:10 #118 #1054438

>>1054435
Учитывая что я не понимаю 80% процентов того о чем тут говорят это странно, лол.

Ответы54588

31 авг, 05:33 #119 #1054588

>>1054438
Лол, помню тебя, ты выкладывал резюме во фронтенд треде полгода назад. Тебя что, не приняли тогда на работу, или что? Что то у тебя прогресс медленно идёт, я за это время уже дохуя приложений высрал.

Ответы54662

31 авг, 05:43 #120 #1054592

Как сделать вот такое:
имеется большой массив вида [[a: 1, param: 2], [b: 2, param: 3]]
Как функционально реализовать следующую задачу - обработать каждый элемент массива (как в map();) плюс вставить после обрабатываемого элемента дополнительные?
Императивный алгоритм у меня есть, может есть какие то методы для этого?

Например:
[[a: 1, param: 2], [b: 2, param: 3]]
// Умножить первый подэлемент на 2, вставить дополнительный соответственно подэлементу param
[[a: 2, param: 2], [new: 1], [new: 1], [b: 4, param: 3], [new: 1], [new: 1], [new: 1]]

Ответы5466354664

31 авг, 12:11 #121 #1054662

>>1054588
Приняли, я дропнул потому что НЕ МОЕ и работал год дизайнером/иллюстратором, заебало и опять пересел на фронт. Поэтому я можно сказать на том же уровне что и год назад.

31 авг, 12:16 #122 #1054663

>>1054592
https://stackoverflow.com/questions/37128624/terse-way-to-intersperse-element-between-all-elements-in-javascript-array

Ответы54667

31 авг, 12:17 #123 #1054664

>>1054592
>может есть какие то методы для этого?
Reduce.

Ответы54667

31 авг, 12:22 #124 #1054667

>>1054664
Редьюсом обходишь массив, внутри коллбэка умножаешь текущий элемент и вставляешь новый по методу что анон кинул >>1054663

31 авг, 13:30 #125 #1054713

Помогите с регуляркоблядством. Есть строка, типа
'abcabcabcxyzabcabcxyzxyz'
Над из этой хуйни одним оператором получить:
['abcabcabc','xyz','abcabc','xyzxyz']

Ответы54888

31 авг, 16:29 #126 #1054868

>>1053408
Короче анон, в данном примере я до определенных вещей дошел сам.
спасибо, пидоры, помогли бладж
впрочем зато сам покопротивлялся, туда сюда учебник полистал, и по итогу понял сам, что оже полезно
Но есть вопросик.
https://jsfiddle.net/Lcrz4pzp/3/

Ответы5487554886

31 авг, 16:35 #127 #1054875

>>1054868
>спасибо, пидоры, помогли бладж
Нахуй пошел, очередному тупому дауну помогать еще.

31 авг, 16:40 #128 #1054879

>>1054430
- а чего это у тебя редакс и промисы в дев-депенденси?
- ах ты уёба, еще и react-create-app используешь (не делай так, иначе тебя девопс отхуярит)
- "открой каталог layout и охуей", ебать ты наркоман.
- используй автопрефиксер, ёпт, https://github.com/sorfeai/vocabulary/blob/master/src/styles/global.css

Итого, поработай джуном в обоссаной команде годик(-другой), а потом уже иди в нормальную.

Ответы54901

31 авг, 16:46 #129 #1054886

>>1054868
ты до какой-то хуйни похоже дошел и пропустил кейворд new перед Menu

31 авг, 16:47 #130 #1054888

>>1054713
30$

31 авг, 17:05 #131 #1054901

>>1054879
Что не так с react-create-app?

31 авг, 18:35 #132 #1054968

Объясните, пожалуйста, почему в главном языке будущего два идентичных участка кода (за исключением имени одного свойства) выдают разный результат?
https://jsfiddle.net/jcg44ukd/1/

Ответы54978549805498155306

31 авг, 18:51 #133 #1054978

>>1054968
this при вызове этих функций равен window, а у window есть своё свойство name.

Ответы54981

31 авг, 18:52 #134 #1054980

24 Кб, 1015x459

13 Кб, 598x249

>>1054968
потому что ты мудень, не читавший спецификацию.
функции твои срабатывают не в контексте объектов userOne, userTwo, а в контексте window
в первом случае у window нет свойства 'firstname', поэтому ты получаешь undefined, если его присвоить все становится очевидно
во втором случае, внезапно, свойство 'name' у window есть и оно равно пустой строке.

Ответы55305

31 авг, 18:52 #135 #1054981

>>1054968
При "use strict" коллбэку который ты передаешь в setTimeout не передается контекст, в обычном режиме передается.

>>1054978
Что? И оно равно "anon"?

Ответы5498354986

31 авг, 18:54 #136 #1054983

>>1054981
Ааа, я хуйню написал, анон выше прав.

Ответы54990

31 авг, 19:02 #137 #1054986

>>1054981
Спасибо.

Ответы54990

31 авг, 19:15 #138 #1054990

>>1054986
>>1054983

31 авг, 20:09 #139 #1055025

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

Ответы550265503055585

31 авг, 20:11 #140 #1055026

>>1055025
Ты как-то слишком быстро идёшь. Проверь свои знания: https://gist.github.com/codedokode/ce30e7a036f18f416ae0#Задачки-на-js/
Кантора месяцами проходят.

Ответы55046

31 авг, 20:15 #141 #1055030

>>1055025
это сложная тема, поебаться с ней как следует это нормально

31 авг, 20:34 #142 #1055046

>>1055026
>Кантора месяцами проходят.
Ну до этого раздела там всё легко было.
>Проверь свои знания: https://gist.github.com/codedokode/ce30e7a036f18f416ae0#Задачки-на-js/
ок

1 сен, 02:23 #143 #1055259

>>1052010 (OP)
Анон, есть вопрос. Пишу на node.js. Есть ли разница для работодателей, какой стандарт языка ты используешь?
Обычно это не указывают в вакансиях, но мб это само собой подразумевается? Стоит ли вообще использовать старый синтаксис?

Ответы55279

1 сен, 02:58 #144 #1055267

Сап, анон. Есть одна задача из учебника.

Суть такова: декоратор, который кеширует результаты функций. И есть два кода.

Номер раз) https://codepen.io/anon/pen/wqNBgE?editors=0012
Номер два) https://codepen.io/anon/pen/XaOJNJ?editors=0012

Первый работает, второй - нет. И понятно почему: в первом случае мы мапе передаём ключем числа, которые при сравнение равны, а во втором массивы, которые нет.

Вопрос: как это победить?

В принципе, можно привести аргументы к строке, но тогда и смысла в мапе немного - можно в объекте хранить.

Ответы55269

1 сен, 03:40 #145 #1055269

>>1055267
сериализуй/хешируй

1 сен, 06:09 #146 #1055279

>>1055259
Обычно пишут es6 или es5 нет?

Ответы55290

1 сен, 07:27 #147 #1055290

>>1055279
крочи, если твое знание ес6 ограничено тем что ты вместо вар стал писать лет то нет смысла, а если разобрался с промисами то да.

1 сен, 08:51 #148 #1055305

>>1054980
Если ты хочешь вывести "anon" то тебе просто нужно вызвать функции, а не сослаться на них. Зачем кукарекать, если ты не знаешь сам что делаешь?
setTimeout(userOne.sayHi(), 1000); // anon
setTimeout(userTwo.sayHi(), 1000);// anon

Ответы5530655322

1 сен, 08:52 #149 #1055306

>>1055305
Ошибка. Это ему: >>1054968

1 сен, 09:09 #150 #1055322

>>1055305
>setTimeout(userOne.sayHi(), 1000); // anon
>setTimeout(userTwo.sayHi(), 1000);\t// anon
ох ты и мудило, блет, сам нубяра а лезет кого-то учить. ты вообще соображаешь что сделал? ты немедленно без задержки вызвал функцию и передал в сеттаймаут ее результат в виде говнища
чтобы сделать то что он хочет нужно прибиндить контекст к функции так
setTimeout(userOne.sayHi.bind(userOne), 2000);
setTimeout(userTwo.sayHi.bind(userTwo), 2000);

Ответы55472

1 сен, 13:05 #151 #1055472

>>1055322
И нахуй такую хуйню разводить, когда можно через анонимную функцию сделать?

setTimeout(() => userOne.sayHi(), 1000);

Ответы55482

16 Кб, 658x298

1 сен, 13:41 #152 #1055482

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

Ответы5572255845

sage 1 сен, 14:18 #153 #1055505

Поцы, есть ли способ нормально распаралелить математические вычисления, нагружающие CPU? Речь о NodeJS.

Ответы56623

1 сен, 16:34 #154 #1055585

>>1055025
На весь учебник, с процентов 80 решенных заданий ушло 5 месяцев. Это с ноля. Правда я много проебывался, и месяца полтора почти подряд проебал. Думаю что если заниматься часов по 5 ежедневно, то месяца три займет.

1 сен, 19:51 #155 #1055722

>>1055482
var не завезли?

1 сен, 21:23 #156 #1055845

>>1055482
а bind считает коллбеком?

Ответы55868

1 сен, 21:40 #157 #1055868

>>1055845
коллбек в данном случае это сейхай.
бинд - это метод прототипа Function, который декорирует коллбек

Ответы55911

1 сен, 22:45 #158 #1055909

Как можно красиво транспонировать двумерный массив? Цикл в цикле с созданием нового массива выглядит как-то совсем уж уебищно.

1 сен, 22:50 #159 #1055911

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

1 сен, 23:01 #160 #1055917

Что вы тут вообще обсуждаете?
Что за хуйня блядь, КАК СДЕЛАТЬ ЗАЛУПУ ПО МАССИВУ ПИСЕК.
Вы урод?
Почему вы не разрабатываете приложения? Почему я захожу и вижу залетных даунов с гугловопросами-1-секунда?
А ну-ка пиздуйте!

Ответы55927

1 сен, 23:18 #161 #1055927

>>1055917
Мы не умеем. Подскажи годных туториалов по созданию сложных SPA на реакте с ООП. И чтоб стек из 9-10 перделок.
инбифо тудулист

Ответы55928

1 сен, 23:22 #162 #1055928

>>1055927
Смысл копировать туториалы ничего не понимая?
Ставь задачу, - реализуй. И лучше освой немного ООП и модульность, это делается за день.
Дальше ставь фановые задачи и реализуй. Все придет.

2 сен, 01:01 #163 #1055965

>>1052010 (OP)
Скриптач, как бы мне создать DOMElement из строки? При этом строка должна не в innerHTML помещаться, а как бы целиком превращаться в объект.

Ответы5597956010

2 сен, 05:08 #164 #1055979

>>1055965
убей себя, мамкин погромизд, бляю

2 сен, 08:03 #165 #1055994

Есть строка: '000000'. Как в ней мне заменить третий 0 на 1?

Ответы56003

2 сен, 08:52 #166 #1056003

>>1055994
Превратить строку в массив, заменить нужное, и пропарсить обратно.

Ответы56004

2 сен, 08:58 #167 #1056004

>>1056003
А я тут пытался с RegExp что нибудь нашаманить. Спасибо, сейчас попробую.

Ответы56157

2 сен, 09:47 #168 #1056010

>>1055965
http://learn.javascript.ru/widgets-structure

2 сен, 16:04 #169 #1056157

>>1056004
a.replace(/^(.{2}).{1}?(.*)$/, '$1a$2')

Ответы56160

2 сен, 16:07 #170 #1056160

>>1056157
'000000'.replace(/^(.{2}).{1}?(.*)$/, '$11$2')

2 сен, 17:18 #171 #1056185

Слоупок в треде, советую всем вкатчикам, метающимся между фреймворками, посмотреть этот доклад от соавтора Redux и React Hot Loader: https://www.youtube.com/watch?v=nwtQMSFikUk

Аноним 2 сен, 22:35 #172 #1056306

Как работает такое выражение:
[].concat(...arr);
В частности интересует оператор ...

Ответы56354

3 сен, 02:22 #173 #1056354

>>1056306
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Spread_operator

3 сен, 11:01 #174 #1056406

Довайте померяемся хуями, подонки.
Напишите в одну строку функцию, которая принимает на вход строку вида
>"brown black black"
или
>"brown black brown gold"
Четвертый цвет может встретиться, а может и нет
Что c ней надо сделать.
Есть словарь:
black: 0, brown: 1, red: 2, orange: 3, yellow: 4, green: 5, blue: 6, violet: 7, gray: 8, white: 9
Это кодирование цветом сопротивления резисторов, но это значения не имеет.
Первые два цвета путем сложения их цифр как строк дают число, например
"yellow violet ..."
дадут
'4'+'7' = '47' // а не 4+7=11
Третий кусок переводится в число по тому же словарю и служит экспонентой для возведения в степень числа 10, например
"... ... black"
даст нам
10 в степени 0 = 1
Четвертый опциональный кусок добавит в конец итоговой строки проценты. Если этого куска нет - 20%, иначе если
silver: 10%
gold: 5%
Теперь первый промежуточный результат переводится в число и перемножается со вторым, получаем 47х1=47
Теперь нужно вернуть строку по следующим правилам
-если результат<1000 вернуть строку "47 ом, 20%"
-если 1000<результат<1000000 вернуть строку "4.7k ом, 20%", то есть результат/1000
-если 1000000<результатвернуть строку "4.7M ом, 20%", то есть результат/1000000
Примеры
"brown black black" // "10 ом, 20%"
"brown black brown gold" // "100 ом, 5%"
"red red brown" // "220 ом, 20%"
"orange orange brown gold" // "330 ом, 5%"
"yellow violet brown silver" // "470 ом, 10%"
"yellow violet orange gold" // "47k ohms, 5%"
"brown black yellow gold" // "100k ohms, 5%"
"orange orange yellow gold" // "330k ohms, 5%"

3 сен, 11:01 #174 #1056406

Довайте померяемся хуями, подонки.
Напишите в одну строку функцию, которая принимает на вход строку вида
>"brown black black"
или
>"brown black brown gold"
Четвертый цвет может встретиться, а может и нет
Что c ней надо сделать.
Есть словарь:
black: 0, brown: 1, red: 2, orange: 3, yellow: 4, green: 5, blue: 6, violet: 7, gray: 8, white: 9
Это кодирование цветом сопротивления резисторов, но это значения не имеет.
Первые два цвета путем сложения их цифр как строк дают число, например
"yellow violet ..."
дадут
'4'+'7' = '47' // а не 4+7=11
Третий кусок переводится в число по тому же словарю и служит экспонентой для возведения в степень числа 10, например
"... ... black"
даст нам
10 в степени 0 = 1
Четвертый опциональный кусок добавит в конец итоговой строки проценты. Если этого куска нет - 20%, иначе если
silver: 10%
gold: 5%
Теперь первый промежуточный результат переводится в число и перемножается со вторым, получаем 47х1=47
Теперь нужно вернуть строку по следующим правилам
-если результат<1000 вернуть строку "47 ом, 20%"
-если 1000<результат<1000000 вернуть строку "4.7k ом, 20%", то есть результат/1000
-если 1000000<результатвернуть строку "4.7M ом, 20%", то есть результат/1000000
Примеры
"brown black black" // "10 ом, 20%"
"brown black brown gold" // "100 ом, 5%"
"red red brown" // "220 ом, 20%"
"orange orange brown gold" // "330 ом, 5%"
"yellow violet brown silver" // "470 ом, 10%"
"yellow violet orange gold" // "47k ohms, 5%"
"brown black yellow gold" // "100k ohms, 5%"
"orange orange yellow gold" // "330k ohms, 5%"

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

sage 3 сен, 11:23 #175 #1056410

Ребят, можете пояснить за JSDoc, кто использует, как впечатления?
Я сам сторонник идеи самодокументирующегося кода, стараюсь обычно писать так, чтобы из названия переменных и функций и предельно простой/плоской структуры кода было понятно без комментариев что там где. Не помню у кого из писак было: "если вы ставите в коде комментарий, то это явный знак, что ваш код неочевиден и лучше бы его переписать попроще".
Но идея JSDoc'а мне понравилась, подсмотрел это дело на бэкенде у джавистов, плюс вижу что многие JS-ные библиотеки или сайты с публичным API предоставляют документацию, явно автоматически сгенерированную из этого добра.
Попробовал, пока не особо радует. Плюсы которые получил:
- какой-никакой автокомплит
- корректные сигнатуры методов
Минусы:
- сигнатуры на самом деле нифига не корректные; чтобы хоть как-то себе представлять, что там на входе и на выходе, надо заморачиваться с @typedef'ами, если их писать сверху от методов, то коммент к одной функции на четыре строки занимает ебучие полэкрана. Приходится все typedef'ы оставлять в шапке файла.
- typedef'ы работают локально в пределах файла, но у меня полно примитивных типов типа Range { start: number, end: number }, Color { B: number, G: number, R: number, A: number} и прочей хуйни, не писать же это все в каждом файле. Доки на сам JSDoc говорят что поддерживается что-то типа неймспейсов и можно ссылаться на модули, но VSCode нихуя этого не воспринимает, это из-за того что у меня IDE курильщика и надо переходить на IDE здорового человека?
- если я допустим в каком-то контексте объявил переменную, которой присвоил значение во внутренней функции (beforeAll допустим в Jest'е), то в другой функции VSCode уже нихуя не знает про автоподстановку и сигнатуры.

Что вообще стоит покрывать JSDoc'ом, если основной стек React + Redux? Стоит ли от всех этих головняков перекатываться в Typescript или Flow?

Ответы56681

3 сен, 12:12 #176 #1056422

Котоны, посоветуйте совет.
Осваиваю JS. Сталкиваюсь с тем, что имею проблемы с алгоритмами.
Вот пример:

Допустим есть список:
<ul>
<li></li>
...
<ul>
он рандомен полностью.

Нужно написать код, который допустим обежит все ветви списка, и к примеру считает из каждого элемента текст.
Сделать на JS это с помощью рекурсивного вызова функции - это я могу.
Но как это сделать лишь с помощью циклов и условйи логических? Короче без рекурсии.
Я принципиально хочу сам догнать - все утро парюсь и не выкупаю.
Какую хорошую книгу по алгоритмам можно почитать?

Ответы56426

sage 3 сен, 12:19 #177 #1056426

>>1056422
У HTMLElement'ов (типа <ul>) есть свойство children, которое возвращает тебе коллекцию дочерних элементов. Соответственно надо:
1) Обратиться к ul (по id, по css-классу или еще как)
2) Взять его свойство children
3) Построить цикл, зная, что HTMLCollection предоставляет свойство длины коллекции length и метод обращения к элементу коллекции item()
типа for (let i = 0; i < element.children.length; i++)
4) В теле цикла обращаться к отдельным элементам по индексу element.children.item(i)

Ответы5644656508

3 сен, 13:14 #178 #1056446

>>1056426
Лол, зачем? Почему бы просто селектором не забрать всех li? Array.from(element.querySelectorAll('li'))

Ответы5645056508

sage 3 сен, 13:21 #179 #1056450

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

Ответы56508

3 сен, 14:41 #180 #1056508

>>1056426
>>1056446
>>1056450
Чуваки, вы меня не поняли.
Вопрос не в обращении к DOM элементам и их методам или свойствам.
Проблем в создании алгоритма обхода всех ветвей дерева без рекурсии.
Вот задача с сайта кантора:

https://jsfiddle.net/wsfzkLxt/

Эту задачу без проблем я решил рекурсивной функцией.
Но как ее решить не используя рекурсию?
Где то я прочем что любой рекурсивный способ можно превратить в способ использующий циклы и условия.
Поэтому я и прошу что то фундаментальное по алгоритмам.
Хочется всеже разбираться, пусть я и вэб макака.

Ответы5651556682

29 Кб, 687x504

3 сен, 14:46 #181 #1056512

Никак не могу понять почему в подобных примерах JSON.parse запихивают в отдельный then? Это жи не асинхронная операция.

Ответы56551

3 сен, 14:47 #182 #1056515

>>1056508
> Где то я прочем что любой рекурсивный способ можно превратить в способ использующий циклы и условия.
Да, используя стек. В JS у тебя уже есть массив и методы pop() и push() на нём, этого достаточно. (Так и гугли "замена рекурсии стеком")
И не надо макакой себя называть.

Ответы5668656749

3 сен, 15:37 #183 #1056551

>>1056512
JSON.parse - синхронная операция, потому вынесли в отдельный блок then, чтобы логически и визуально её отделить от остальной асинхронной поеботы.

Ответы56572

3 сен, 16:12 #184 #1056572

>>1056551
А в третьем блоке then тогда почему Кантор не стал выносить ее?

Ответы56578

3 сен, 16:20 #185 #1056578

>>1056572
upd: хотя я догнал почему, спасибо

47 Кб, 720x720

3 сен, 16:44 #186 #1056601

Кто-нибудь разбирается в Angular 4? У меня от этой хуйни уже жопа детонирует.
1) Как вставлять скрипты? Не могу даже сраный пост из вк вставить на страничку. Точнее я его вставил, а он исчезает если перейти на другой компонент и вернуться, потому что скрипт срабатывает только один раз.
2) Какого хуя не работает ссылка-тэг на определенную часть страницы?

На стаковерфлоу кроме тысячи строк костылей никаких вменяемых ответов не нашел.

Почему этот ангулар такой ебанутый?

Ответы56617

3 сен, 17:03 #187 #1056617

>>1056601
Просто ты необучаемая js-макака. Смирись.
https://stackoverflow.com/questions/42993859/twitter-widget-on-angular-2

Ответы56640

sage 3 сен, 17:11 #188 #1056623

>>1055505
Бамп

38 Кб, 460x520

3 сен, 17:43 #189 #1056640

>>1056617
Я только начал изучать это все. Т.е. для того чтобы вставить сраный твит или пост из вк мне надо эту всю еболу писать?

Ответы56690

3 сен, 19:06 #190 #1056671

>>1056406
Тебе задали задачку и ты так помощи просишь?

Ответы56698

3 сен, 19:08 #191 #1056674

>>1056406
У меня есть скрипты в несколько сотен килобайт, написанные в одну строчку. Какие сложности?

Ответы56698

3 сен, 19:18 #192 #1056681

>>1056410
Опыт HTML как бы намекает на вынос постороннего оформления в отдельный файл CSS.
Так что загаживание кода длинными комментариями, содержащими еще один (да еще и неочевидый) язык - ошибка. Что бы там очередные восхищенные бандерлоги не укали, как это клево и модно.

Ответы56719

3 сен, 19:20 #193 #1056682

>>1056508
>Проблем в создании алгоритма обхода всех ветвей дерева без рекурсии.
>
Используй nested set

Ответы56749

3 сен, 19:31 #194 #1056686

>>1056515
Вообще-то рекурсия как раз и использует стёк, поэтому на неё косо и смотрят - из-за переполнения стёка.
Ты имел в виду ручную имитацию стёка с помощью массива.

Ответы56744

3 сен, 19:41 #195 #1056690

>>1056640
А просто конвертнуть в HTML через .outerHTML и потом просто в innerHTML вставить этот кусок кода - не прокатывает?

3 сен, 19:43 #196 #1056693

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

Ответы566965687357015

3 сен, 19:43 #197 #1056696

>>1056693
Гугли курс кантора

58 Кб, 1839x404

3 сен, 19:51 #198 #1056698

>>1056671
Не, я решил. Прост с братюнями захотел поделиться годной задачкой
>>1056674
Я не говорю что это рокет сайнс, но если ты про ужатый минификатором iife, то это не то.

Ответы56714

3 сен, 20:12 #199 #1056714

>>1056698
У тебя неймспейс порвался от глобальных переменных

sage 3 сен, 20:22 #200 #1056719

>>1056681
> Опыт HTML как бы намекает на вынос постороннего оформления в отдельный файл CSS.

Ну, во-первых, многие сейчас тянут мазу за то, чтобы писать стили скриптом и держать в одном файле с модулем. Я сам стараюсь так не делать, но не могу не заметить, что это сейчас очень распространенная практика, так что опыт HTML'а получается сделал полный круг. Где-то это официально рекомендуемый документацией подход, а где-то тебя просто нагибают, выставляя наружу компоненты игнорирующие className - чтобы стилизовать такие через отдельный .css-файл, приходится забуриться в детали реализации. Особенно весело, если библиотечка все стили инлайнит - после этого твой .css файл выглядит как говно со всеми этими !important. Вроде кто-то упарывается JSS'ом, который хотя бы это решает..

Во-вторых, это по-моему не совсем одно и то же - css из html'а вынести можно, а JSDoc из модуля - нельзя (ну или я не знаю как). Что предлагается-то, не писать его вообще? А если автодокументирование все-таки нужно? Ну или хотя бы вот видеть перед глазами, какой формы объект метод возвращает

Ответы56980

3 сен, 20:59 #201 #1056744

>>1056686
Ну и еще потому что в JS будет заздана цепочка объектов переменных и цепочка запусков функций. Которые будут жарт память.
Кстати, котаны, при рекурсивном вызове создается только новый обьект переменных, или еще в довесок задаются дополнительные экземпляры обьектв function?

Ответы56983

3 сен, 21:07 #202 #1056749

>>1056515
>>1056682
Ну иожыны-сбажины, ну дайте сурс на годный учебник по алгоритмам.

Ответы56769

3 сен, 21:26 #203 #1056769

>>1056749
Кнут - искусство программирования

Ответы56772

3 сен, 21:32 #204 #1056772

>>1056769
>Кнут - искусство программирования
Хех, спасибо. Но там чет примеры на асемблерах.
Хотя почитаю попробую конечно.

Ответы56795

3 сен, 22:06 #205 #1056795

>>1056772
>почитаю
>четырёхтомная монография
Ебать ты гений

Ответы56803

3 сен, 22:12 #206 #1056803

>>1056795
Так о том и речь, лол)

3 сен, 22:19 #207 #1056806

>>1052010 (OP)
Ребята, есть сервак на Node.js. ка лучше всего организовать поиск собеседника для чата, по заданым параметрам?

Ответы5687456984

sage 4 сен, 01:51 #208 #1056873

>>1056693
В документации к nodejs есть и примеры и все что нужно для старта, рекомендую

Ответы57014

sage 4 сен, 01:54 #209 #1056874

>>1056806
Ты бы хоть рассказал что за сервак, а то вопрос звучит как "У меня есть строительные материалы, как построить дом?"

4 сен, 05:37 #210 #1056906

Как дату вывести в формате dd.mm.yyyy?

Ответы56986

4 сен, 05:49 #211 #1056907

Как авторизоваться с помощью ноды? Есть форма с полями name и pass. Мне их нужно направить на адрес как данные форм. Но как их подготовить как будто они из формы взяты?

Ответы56987

4 сен, 13:00 #212 #1056980

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

А еще - проблема в средствах разработки, которые до сих пор нормально не интегрируют файлы в "пакеты" и занимаются редактированием отдельных plain файлов вместо их виртуальной интеграции.

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

Меня удивляет такая тормознутость разработчиков IDE.

4 сен, 13:03 #213 #1056982

Подскажите что выбрать для фронтенда? Желательно что-нибудь такое, что можно на ходу изучать и потихоньку пилить фронт.
Собираюсь написать небольшой сайт в качестве тестового проекта.
Сам сайт что-то вроде онлайн блокнота, с авторизацией.
Бэкенд будет на джаве со спрингом (опыт в джаве уже есть), а вот фронтенд - хз.
На жс я писал всего несколько простеньких скриптов без использования библиотек.

Ответы56988

4 сен, 13:03 #214 #1056983

>>1056744
> заздана цепочка
Это и называется стёком.

4 сен, 13:07 #215 #1056984

>>1056806
Собеседники регистрируюся на сервере, и среди тех сессий, с которыми есть коннект, можно искать.

4 сен, 13:11 #216 #1056986

>>1056906
new Date().toLocaleFormat("%d.%m.%Y")

Ответы57299

4 сен, 13:12 #217 #1056987

>>1056907
encodeURIComponent

4 сен, 13:14 #218 #1056988

>>1056982
Ruby on Rails ;)

1019 Кб, 500x263

4 сен, 14:19 #219 #1057006

Пацаны, хэлп. Как тестировать https в локалке? Например, я в проде собираюсь накатить nginx с сертом от let's encrypt + certbot и чтобы было Безапаснасць. Как это сэмулировать 1:1 в локалке?
Например чтобы решить dns можно инжектить адрес с именем в /etc/hosts при запуске. Но как решить сертификат? Умею в докер.

Ответы570495705257128

4 сен, 15:00 #220 #1057014

>>1056873
https://github.com/workshopper/learnyounode
можешь потыкать интерактивный курс

Ответы57015

4 сен, 15:01 #221 #1057015

>>1056693
>>1057014
сука ёбаный аутист не туда ответил

4 сен, 16:19 #222 #1057049

>>1057006
Бамп вопросу, тоже интересно SSL на локальном серваке сделать.

Ответы57143

4 сен, 16:24 #223 #1057052

>>1057006
Ты что тестировать собрался, наркоман?

Ответы57144

4 сен, 19:42 #224 #1057128

>>1057006
Накатывать нжиникс с сертом на локалке пробовал? Если брезгуешь - виртуалка и докер.

Ответы57143

4 сен, 20:16 #225 #1057143

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

4 сен, 20:18 #226 #1057144

>>1057052
хочу сделать образ проекта - настроить все на этапе дева, потом просто его дропнуть на vps и ниче в проде не ковырять

4 сен, 22:22 #227 #1057209

Когда моя самооценка как программиста начинает падать я заглядываю в исходники дешёвых одностраничников http://prostitutka-zakaz.kiev.ua/sript.js

5 сен, 06:03 #228 #1057299

>>1056986
>toLocaleFormat is not a function

Ответы57597

68 Кб, 487x700

5 сен, 10:06 #229 #1057332

Подскажите, какую книгу по JS можно купить в России за вменяемые деньги? Учу язык с нуля. Можно и на английском!
Пикрил стоит тысячу рублей, норм книга?

Ответы57333573495736857399

5 сен, 10:09 #230 #1057333

>>1057332
спизди в интернете все книги, которые только захочешьпрограммистом от этого ты все равно не станешь

Ответы57343

5 сен, 10:40 #231 #1057343

>>1057333
Вопрос был про физическую копию. Тебе-то какая разница, стану я кем-то или нет?

5 сен, 10:49 #232 #1057349

>>1057332
>на английском
>в России
Оу бой хир ви гоу!

5 сен, 12:12 #233 #1057368

>>1057332
Пикрил есть у меня, и это не книга, а просто справочник по функциям.

5 сен, 12:17 #234 #1057369

Котаны, у меня есть два вопроса.

Вот есть такое понятие, как состояние (в контексте реакта). Реакт я не знаю, пишу только на vue, хоть и для него есть либа, добавляющая состояния.

Что это вообще такое? Я с трудом понимаю в чем суть. Это что-то вроде централизованного хранилища данных, не зависимое ни от каких компонентов, верно? И что там нужно по-хорошему хранить? Объясните простыми словами, пожалуйста.

Ответы57389

5 сен, 13:04 #235 #1057389

>>1057369
Есть на сайтк кнопка +1, нажимая её рисуется результат 123456...
Это состояние. Хранится в памяти. Корявый код может привести к утечке.

Ответы57421

5 сен, 13:33 #236 #1057399

>>1057332
это бесполезная херня, просто пересказ документации, причем устаревающий каждый день, зачем он нужен если под рукой есть https://developer.mozilla.org я понятия не имею

5 сен, 14:41 #237 #1057421

>>1057389
>опка +1, нажимая её рисуется результат 12

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

Ответы57428

5 сен, 14:58 #238 #1057428

>>1057421
В общем случае да. В реакте компонент отвечает за свое состояние. Сам спросил, сам поменял. В то время как props отвечают за изменение компонента извне.

Ответы57576

5 сен, 19:52 #239 #1057574

Сап, /prограммач, пытался гуглить, но не знаю как правильно сформулировать вопрос, поэтому нихуя не гуглится.

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

С меня как обычно нихуя

Ответы57607

5 сен, 19:54 #240 #1057576

>>1057428

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

5 сен, 20:30 #241 #1057597

>>1057299
> new Date().toLocaleFormat("%d.%m.%Y")

> "05.09.2017"

5 сен, 20:37 #242 #1057607

>>1057574
Копай в сторону диалогов "Are you sure to leave this page?" - это если при закрытии странички нужно запомнить положение. Но можно это делать при каждом скроллинге страничек - тогда гугль про события скроллинга.

6 сен, 00:41 #243 #1057748

А обязательно учить перед JS верстку если планирую во фронтенд вкатываться (уже вкатываюсь)? Тошнит уже от этих тегов и скобок треугольных, хочу кодом заняться, а это существенно тормозит ибо в верстке реально большой стек технологий, адаптивная верстка и прочее, что надо обязательно освоить. Нельзя как-то совместить/после JS выучить?

Ответы577555786957982

6 сен, 01:15 #244 #1057755

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

6 сен, 02:21 #245 #1057766

>>1052010 (OP)
Как учить жс, если уже немного умеешь программировать, базовые принципы понимаешь, либо если это не первый твой язык? жопошкрипьт.ру? Фланаган? КодАкадеми? Как правильнее. быстрее, эффективнее, лучше?

Ответы5777258713

35 Кб, 512x317

6 сен, 02:30 #246 #1057772

>>1057766

Ответы57791

6 сен, 03:33 #247 #1057791

>>1057772
А по существу?

6 сен, 05:09 #248 #1057808

Вопрос по стандартному методу массивов Reduce. Передаю ему первое значение, но он его не принимает. Укажите на ошибку
https://jsfiddle.net/4z1obzvc/

Ответы578125784757862

6 сен, 05:23 #249 #1057812

>>1057808
https://jsfiddle.net/4z1obzvc/1/

Ответы5784757862

6 сен, 08:57 #250 #1057847

>>1057808
>>1057812
Идти по этой ссылке

20 Кб, 1125x405

6 сен, 09:59 #251 #1057862

>>1057808
>>1057812
Оно?

Ответы57932

6 сен, 10:15 #252 #1057869

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

80 Кб, 665x670

6 сен, 11:52 #253 #1057925

6 сен, 12:10 #254 #1057932

>>1057862
Спасибо, Антош.
Спасибо всем Антошам, всегда помогаете решить мои вопросы

6 сен, 12:55 #255 #1057955

Сап. Начал изучать JS и возник такой вопрос:

В каких случаях лучше использовать "switch", а в каких "else if"? Потому что в данный момент, они для меня одинаковы.

Ответы58095

6 сен, 13:20 #256 #1057982

Я не этот >>1057748 анон, если что. Такой вопрос:

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

Ответы57995

6 сен, 13:32 #257 #1057995

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

Ответы58001

6 сен, 13:38 #258 #1058001

>>1057995
Ты такой умный)))) Можно сделать тебе сасай))))

6 сен, 14:50 #259 #1058046

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

Ответы58049

6 сен, 14:52 #260 #1058049

>>1058046
>сосоны, читаю кантора и почти уже дошёл до ооп и подумал что он ненужен как и во многих других языках. загуглил - ну народ примерно такое и пишет.
Ты верно выхватил тренд последних лет, теперь функциональщина в моде.

Ответы58052

6 сен, 15:11 #261 #1058052

>>1058049
Что такое вообще функциональщина, кроме
data.func2(func3,func4(func5){return func6})
?

Ответы58055

6 сен, 15:20 #262 #1058055

>>1058052
Главное отличии в том, какой элемент является основным строительным блоком. в ФП это функции, в ООП это объект, есть слепленый воедино комок данных и методов.

27 Кб, 491x320

6 сен, 15:35 #263 #1058063

Объясните почему прототипный метод sayHi не имеет доступа к свойсва функции-конструктора Animal?

Ответы58065

6 сен, 15:36 #264 #1058065

>>1058063
Потому что ты пиздоглазый? У тебя водном месть name, в другом _name

Ответы58088

6 сен, 16:12 #265 #1058088

>>1058065
Да, это так.

6 сен, 16:25 #266 #1058095

>>1057955
Тонкий намек: switch часто используется в связке с break. Наличие или отсутствие break в нужных местах может давать поведение, которое обычными условиями достичь сложнее.
Ну и лично по мне если сравниваешь одну переменную, то свич интуитивнее, чем нагромождение if-else.

6 сен, 16:36 #267 #1058096

>npm install -g module
>echo "require('module');" >> file.js
>node file.js
>
>sudo node file.js
>Error: Cannot find module 'module'

Чому так? С sudo нода в какой-то другой залупе модули ищет, что ли? Или просто у sudo меньше прав, чем без судо, и ему даже /usr/local/lib нельзя?

Ответы5810258826

6 сен, 16:48 #268 #1058102

>>1058096
npm root # куда установил пакеты как пользователь
sudo npm root # где sudo npm ищет пакеты

Ответы58112

6 сен, 17:06 #269 #1058112

>>1058102
Оно только локальный node_modules показывает (грубо говоря, $(pwd)/node_modules получается), даже если нет такой директории.

12 Кб, 250x250

6 сен, 18:05 #270 #1058166

Пацаны-ребята, подключил через cdn bootstrap/4.0.0-beta и libs/jquery/3.2.1
Для адаптивности к плагину carousel хотел прописать скрипт для свайпа пальцем, но ни 1 не работает.
Что я сделал не так?
Может bootstrap 4 не поддерживает swipe? читал доки, про свайп ни слова

Ответы58170

Аноним 6 сен, 18:10 #271 #1058170

>>1058166
долбаебы не могут в debug ?

Ответы58179

6 сен, 18:21 #272 #1058179

>>1058170
и причем тут инспектор элементов?

6 сен, 19:41 #273 #1058228

Где почитать про Статические и фабричные методы.
Тут https://learn.javascript.ru/static-properties-and-methods нихуя непонятно. Даже в ютубе про это нихуя нет. Есть видосы просто про конструкторы.

Ответы58246

6 сен, 19:54 #274 #1058246

>>1058228
все там доступно разжевано

Ответы58252

6 сен, 20:00 #275 #1058252

>>1058246
Нет. Мне не нравятся примеры.

20 Кб, 709x614

6 сен, 22:33 #276 #1058356

>>1052010 (OP)
Ребзя, что у Кантора за неточности, как это понимать? Какой из вариантов правильный?

Ответы58358583595836160206

6 сен, 22:35 #277 #1058358

>>1058356
Тема: Модули через замыкание

6 сен, 22:35 #278 #1058359

>>1058356
Вбей оба примера да попробуй. Разницы никакой.

6 сен, 22:36 #279 #1058361

>>1058356
оба правильные, используй какой хочешь. первый больше распространен

Ответы58372

6 сен, 23:00 #280 #1058372

>>1058361
>оба правильные, используй какой хочешь.
Плохой совет.
Хороший совет: Не используй вообще, уже 2 года как let есть.

26 Кб, 432x480

7 сен, 03:01 #281 #1058420

Т-щи программисты прошу в вас помощи в написании скрипта.
Сам я не программист и как делать не знаю, придумал такой порядок действий, но реализовать его не смог.

Мне нужно удалить все свои посты и комментарии в чужой группе.
Захожу группу, запускаю скрипт.
1. Скрипт должен долистать стену до определённой даты, например 3 месяца назад, дату ввожу я сам.
2. Из всего, что он нашёл на стене выбрать мои посты и удалить их. Остальные посты развернуть и удалить оттуда мои коменты.

Буду оче благодарен тем, кто напишет такой скрипт и расскажет как он работает.

7 сен, 07:05 #282 #1058433

>>1052010 (OP)
Ребят, как привязать Onclick к картинке, чтобы считала клики, и показывала клики внутри фрейма, ну или блока.

7 сен, 11:32 #283 #1058506

Начал тыкать в Go
Почему почти все последние изменения в js напоминают синтаксис гоферов?
Или мне по нюфажеству так кажется?

Ответы58510

7 сен, 11:46 #284 #1058510

>>1058506
По нюфажеству.

91 Кб, 929x527

7 сен, 12:16 #285 #1058522

Почему не 18?

Ответы58524

7 сен, 12:20 #286 #1058524

>>1058522
>costructor

3,8 Мб, 1280x1024

7 сен, 18:31 #287 #1058711

Очевидно очень простое решение, которое не могу уловить. Но меня в первую очередь волнует недостаток своей реализации -- если радиус не целое число, то пустые клетки квадрата по которому проходит двойной цикл считаются за частично заполненные (distr). Вижу только один выход, сравнивать с расстояние от центра и радиуса не только крайней точки кирпичика, но и ближайшей. Но это совсем не кошерно по-моему.

Ответы58729

7 сен, 18:33 #288 #1058713

>>1057766
Learn javascript сайт, там читаешь всё\скипаешь очевидные моменты

34 Кб, 480x277

7 сен, 18:33 #289 #1058715

У меня уже каша в голове от вашего погромирования. Почему js такой запутанный. Тут так, тут вот так, а тут если поставить точку то вот так, а если вынести сюда то ваще вот так, а ещё вот так и так тоже можно, на самом деле это не это, а вот то просто название другое и ваще всё это вот это. уууу
Чем дальше тем больше пиздец.
Да это мой первый язык. Да я дрочу его меньше месяца.

Ответы5873958810

44 Кб, 617x736

7 сен, 18:44 #290 #1058722

Какую книжку по JS почитать новичку, если пока я знаю только Python?

Ответы5872958969

7 сен, 18:55 #291 #1058729

>>1058711
Все-таки добавил вторую проверку. Посмотрел лучшее решение других людей и оно оказалось практически таким же как и мое. Мне казалось есть какая-то простая формула, а может она действительно есть.

>>1058722
Рекомендую "Выразительный JavaScript" охренительная книга, но застрял на одном месте, скоро с новыми силами и знаниями снова наброшусь на нее.
Все остальные книги похожи на справочники.
(остановился на 6 главе. позор)

Ответы58966

7 сен, 19:03 #292 #1058739

>>1058715
Надо было начинать с ликвидации компьютерной безграмотности и чистого С.
Хуёвая идея вкатываться не понимая не типов и структур данных.

Ответы58743

7 сен, 19:13 #293 #1058743

>>1058739
Ну твоя идея куда лучше - учить два языка.

Ответы58752

7 сен, 19:27 #294 #1058752

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

7 сен, 20:51 #295 #1058794

Почему в браузер не встроят еще один движок наподобие JS только улучшенный и глубоко переработаный html и сss? Например на обычных сайтах браузер использует старый движок при переходе на новый сайт использует новые возможности.

Ответы5883458838

7 сен, 21:40 #296 #1058810

>>1058715
Ну так, ты начни с изучения языков программирования, а не фрейворка для формошлепов. Не С, но там та же scheme по SICP, паскаль по школьным учебникам, может Lua по книжке с оф сайта.
Это те языки, которые разрабатывались академиками, а не слесарями, в них не всегда удобно ебашить проект в миллионы строк, и библиотек для генерации днявочек может не быть, но они сделаны так, чтобы их можно было описать небольшим количеством правил, а не тысячей исключений, а это как раз то что нужно личинке погромиста.

Ответы5881559066

7 сен, 21:46 #297 #1058815

>>1058810
В Гарварде учат на примере C, да и популярные языки - сиподобные.

7 сен, 22:31 #298 #1058826

>>1058096
Так что, никто не знает? Как же мне запускать сервер на портах <1000, держа кучу дерьма в локальном node_modules, что ли, как последний дегенерат?

7 сен, 22:56 #299 #1058834

>>1058794
В какой браузер? Яндекс-браузер?

Ответы58836

7 сен, 22:58 #300 #1058836

>>1058834
Хром, фирефокс,

7 сен, 23:04 #301 #1058838

>>1058794
Но зачем? Если так приспичило писать в браузер свою особую идеальную дрисню, то проще сделать очередное транспилер, который будет выплёвывать православную троицу после переварки твоих закорючек.

Ответы58842

7 сен, 23:15 #302 #1058842

>>1058838
>Но зачем?
Для облегчения жизни разработчика и существенного повышения скорости разработки и производительности сайтов.

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

8 сен, 02:25 #303 #1058894

>>1052010 (OP)
Ребята, а скринкаст Кантора по node.js (его первая часть) ещё считается актуальной? А то там версия 0.0.1, когда на дворе уже версия 6.9 несколько лет как LTS. Из личной практики заметил что некоторые модули что он проповедует уже давно не поддерживаются и не используются. Есть что-то более актуальное, но не уступающее по качеству, в виде скринкаста?

Ответы58896

8 сен, 02:28 #304 #1058896

>>1058894
Именно не разработка сайта на экспрессе, а пояснение нативных функций и возможностей Node.js, чтобы когда на собеседовании спросят, было что ответить. Документацию пока осилить не могу, а вот посмотреть видео с обьяснениями и примерами, было бы очень кстати...

Анон 8 сен, 11:40 #305 #1058966

>>1058729
Дэвид Флэнаган - JavaScript Подробное руководство
ну и http://learn.javascript.ru канеш

Ответы58969

Анон 8 сен, 11:44 #306 #1058969

>>1058722
ошибся блэд, вот книжка >>1058966

8 сен, 15:08 #307 #1059066

>>1058810
Да вы ебанутые! Нахуя мне учить дидовский язык если за это время я всё же смогу осилить кривой js.

Ответы5909459132

8 сен, 17:03 #308 #1059094

>>1059066
Не слушай их. Раньше в гейропке учили хардовою латынь, а потом уже брались за другие языки. Объясняли тем что латынь стоит у истоков и его сложность только в помощь, потому что выучив его, ты точно осилишь какой-нибудь французский. Бред. Люди часто не могли его осилить и в итоге не знали никакой язык кроме родного.
Сам в начале пути, но уверен что у меня получится несмотря на незнание ассемблера

Ответы59132

8 сен, 17:12 #309 #1059095

Котаны братишки, нужно срочно выпиливаться с текущей работы, учу js по кантору, сейчас еще пытаюсь осилить Явное указание this: "call", "apply". Может кто то подскажет реально путь с самим высоким КПД, типа заканчивай кантора, потом читай вот это и потом учи (что?) ангуляр/реакт/ноду по вот этой книге. Цель как можно быстрее вкатится хоть куда.

Ответы59134

8 сен, 18:39 #310 #1059132

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

8 сен, 18:43 #311 #1059134

>>1059095
вкатывайся в Хаскель, базарю не пожалеешь

8 сен, 18:46 #312 #1059137

Node.js-господа, имеется проблема с cluster + express.
https://pastebin.com/6RkMLvsZ
Почти всегда часть файлов в папке public не загружаются с 404, а быстродействие даже хуже, чем с одним потоком.

Ответы59458

8 сен, 19:01 #313 #1059143

Метод toString при использовании для перевода в двоичную систему исчисления отбрасывает впереди стоящие нули. Можно ли получить двоичное число со всеми нулями не прибегая к циклу с ручным добавлением?

Ответы5914559154

8 сен, 19:02 #314 #1059145

>>1059143
Сам то понял что сказал? С какими "всеми" нулями?

Ответы59160

8 сен, 19:17 #315 #1059154

>>1059143
код покажи

Ответы59165

8 сен, 19:28 #316 #1059160

>>1059145
Если с помощью этого метода переведём число 7 в бинарную систему, получим "111" что на самом деле будет являть 00000111. Мне нужны эти опускаемые нули

3,8 Мб, 1280x1024

8 сен, 19:33 #317 #1059165

>>1059154

Ответы59167

10 Кб, 1133x165

8 сен, 19:37 #318 #1059167

>>1059165

Ответы59168

8 сен, 19:46 #319 #1059168

>>1059167
Спасибо, крутое решение

Ответы59170

8 сен, 19:47 #320 #1059170

>>1059168
Костыль, а не крутое решение.

Ответы59174

8 Кб, 1058x152

8 сен, 19:52 #321 #1059172

еще моднее

8 сен, 19:54 #322 #1059174

>>1059170
Можно ли обойтись без этого костыля?

Ответы59176

4 Кб, 335x72

8 сен, 19:57 #323 #1059176

>>1059174

8 сен, 21:20 #324 #1059200

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

Ответы5923359857

770 Кб, 598x960

8 сен, 21:45 #325 #1059213

закину сюда свой тред
Dumpach board
https://2ch.hk/pr/res/1057223.html (М)

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

8 сен, 22:09 #326 #1059223

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

Создаю формочку с помощью create-react-app. Пишу сам компонент yobaForm.js, пишу базовые стили и подключаю в yobaForm.js простым import from "./yobaStyle.css". Запускаю с помощью npm start, проверяю — все збс.
Создаю так же еще кучу компонентов. Все удобно, все легко запускаются и тестируются.

Проблема возникает дальше.
Создаю само приложение с помощью create-react-app, подключаю зависимости, пишу import "yobaForm"; — сам компонент подключается, но вебпак отказывается найти "./yobaStyle.css", импортированный в этой форме. Если прописать пути в webpack.config.js — стили находятся, но этого хочется избежать. Как быть?

79 Кб, 703x573

8 сен, 22:21 #327 #1059227

Допускается вынесения разметки из компонентов реакт или все должно находится внутри реакта?

Ответы59284

8 сен, 22:37 #328 #1059233

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

8 сен, 23:56 #329 #1059284

>>1059227
Ты это что, в ручную всё прописывал?

Ответы59286

9 сен, 00:05 #330 #1059286

>>1059284
Нее, только начиная от первого div, кроме root.

9 сен, 00:18 #331 #1059289

Какого хуя все и везде подряд используют binding over arrow function в классах?

Ответы59293

9 сен, 00:24 #332 #1059293

>>1059289
> arrow function
arrow function не bind'ит от слова совсем.
Но какая-то тупая макака решила, что таки биндит волшебно, пошел слух. Так и живем.

Ответы59300

9 сен, 00:54 #333 #1059300

>>1059293
>
>Но какая-то тупая макака решила, что таки биндит волшебно, пошел слух. Так и живем.
Да ты чо? Использую их в классах, всё биндится к родительскому объекту. А макаки зачем то биндят в конструкторе. Нахуя?

Ответы59355

9 сен, 02:08 #334 #1059320

Доки, вот кароч выполнил я тестовое задание по фронтенду, адаптивная верстка формы для мобилок и десктопов с проверкой формы на валидность. Рецензент пишет мол переменная i в глобальной видимости ты типо переменные пиши не var a let. Ну как бы да крутая фича, но ведь скрипты с let не работают на мобилах ( ucbrowser, android browser, safari).
Обратной совместимости вроде как нет никаким полифилом или библиотекой это не пофиксить. Кто из нас нуб?

Ответы59369

sage 9 сен, 07:33 #335 #1059355

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

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

Ответы59357

10 Кб, 778x241

9 сен, 07:57 #336 #1059357

>>1059355
он имеет ввиду то что стрелочные функции объявленные в конструкторе уже прибиндены к экземпляру класса и в дальнейшем их уже нельзя перебиндить. а вот чо ты хочешь донести я тоже не пойму.

Ответы59373

9 сен, 09:31 #337 #1059369

>>1059320
> никаким полифилом или библиотекой это не пофиксить.
Ты на острове живёшь? Почитай про babel

> Рецензент пишет мол переменная i в глобальной видимости ты типо переменные пиши не var a let.
Претензия мне не очень понятна, обычно i используется только внутри циклов. Но в целом лучше использовать let. Например этот код: https://jsfiddle.net/Lmfdp0o3/
по задумке должен выводить цифры от 0 до 9 с промежутком в одну секунду, но вместо этого 10 раз выводиться число 10. Если поменять var на let - то всё ок. Ещё хорошая идея использовать const для переменных, которые не собираешь перезаписывать.

sage 9 сен, 09:55 #338 #1059373

>>1059357
Понятно. Ну, такой подход кмк не очень катит, если методы не однострочники, а по
5-10 строк, а то и какой-нибудь кусок рендера.

9 сен, 13:07 #339 #1059413

Поцоны, как элегантней отфильтровать массив массив вроде такого:
input: [[0,0], [0,1], [0, 0], [1,1], [1,1], [1,1], [2, 2]]
output: [[0, 0], [0, 1], [1,1],[2,2]]

Я пока использую uniqBy из lodash:
uniqBy(arr, (cell) => `${cell[0]}${cell[1]}`)

Но это костыль какой-то.

Ответы59417

9 сен, 13:16 #340 #1059417

>>1059413
> const result = [...new Map(input.map(x => [JSON.stringify(x), x])).values()];

Замени JSON.stringify на подходящую проверку, например на _.eq

9 сен, 15:47 #341 #1059458

>>1059137
Никто с node.js не имеет дела, серьезно?

Ответы59463

9 сен, 16:18 #342 #1059463

>>1059458
>express
>2k17
Подумай.

Ответы59467

9 сен, 16:27 #343 #1059467

>>1059463
А шо с ним не так? Какие альтернативы?

Ответы5948459572

9 сен, 18:27 #344 #1059484

>>1059467
koa, который не осилят 90% этого треда :)

Ответы59487

9 сен, 18:35 #345 #1059487

>>1059484
В чем принципиальное отличие? Почему я должен хотеть эту штуку?

Ответы59496

9 сен, 19:10 #346 #1059496

>>1059487
> В чем принципиальное отличие?
ШАЙНИ НЬЮ.

9 сен, 22:07 #347 #1059572

>>1059467
Тут ещё Фастифай подъехал, ЖСОН-ориентированный. Хеллоу-ворлдами в три раза быстрей кидается, чем Экспресс.
https://thenewstack.io/introducing-fastify-speedy-node-js-web-framework/

9 сен, 22:14 #348 #1059575

Нормальный полностью функциональный на промисах/стримах/чистых функциях серверный фреймворк, без костылей вроде async-await еще не придумали?

7 Кб, 233x208

9 сен, 23:31 #349 #1059621

Почему this в var1 указывает на window?

Ответы59624

9 сен, 23:46 #350 #1059624

>>1059621
this за пределами function указывает куда угодно - стандарт не регламентирует. В браузерах это window.

10 сен, 00:01 #351 #1059627

А у меня 21 репутация на стаковерфлоу по тэгу javascript ^^

Ответы5963159723

10 сен, 00:14 #352 #1059631

>>1059627
А на отв:iRетыANUSmailEIiPUNCTUMr_M~u какая репа?

Ответы59636

10 сен, 00:23 #353 #1059636

>>1059631
стак - это стильно модно и молодежно.

10 сен, 00:34 #354 #1059639

ебать, антоши, что-то я никак тему промисов не раскурю(

10 сен, 10:11 #355 #1059723

>>1059627
а я в топ-400 на кодварсах

10 сен, 13:38 #356 #1059792

Как через node.js получить на сервере ID нажатой кнопки? Да и возможно ли вообще такое?

Ответы59933

10 сен, 16:19 #357 #1059857

>>1059200
> Блять, как же все же сука пиздато, когда блять целый день решаешь эту ебаную Канторовскую задачу, и уже блять смотреть на нее не можешь, а потом хуяк и решил.
И в чём смысл решения этих ебанутых задач? Да ещё и тратить на них целый день. Я помню как первым языком решил дрочить питон и там тоже были ебанутые задачки, а потом в книге дошёл до реальных задач которые не имели нихуя общего с теми говнозадачками про подсчёты анусов и прочей еболы.

Ответы59870

10 сен, 16:47 #358 #1059870

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

10 сен, 17:59 #359 #1059933

>>1059792
>Да и возможно ли вообще такое
Без помощи фронта нет, ни нодой ни чем другим на беке.

>Как через node.js получить на сервере ID нажатой кнопки
Смотри по обстановке, если сабмитишь форму по клику на кнопку, можешь ее id записывать в поле hidden перед сабмитом. Если просто кнопка, то навешивай обработчик события клика, посылай ajax запрос.

10 сен, 19:27 #360 #1059966

this это своего рода self?

Ответы59968

10 сен, 19:31 #361 #1059968

>>1059966
Можно поинтересоваться? Почему ответ на этот вопрос не ищешь в документации?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this

10 сен, 21:28 #362 #1060017

кто из отцов жс хочет нормально поебаться с одной задачкой?

Ответы60018

10 сен, 21:34 #363 #1060018

>>1060017
Сук, а сразу задачу описать не судьба?

Ответы60020

10 сен, 21:37 #364 #1060020

>>1060018
написать функцию, которая возвращает строку 'Hello, world!' не используя в коде символы: h e l o w r d x

Ответы6002560040

10 сен, 21:51 #365 #1060025

>>1060020
Унылая хуйня с вытаскиванием символов из undefined и прочего говна через [].

Ответы60042

10 сен, 22:47 #366 #1060040

>>1060020
>не используя в коде символы: h e l o w r d x
() => "\u0048\u0065\u006c\u006c\u006f\u002c\u0020\u0077\u006f\u0072\u006c\u0064\u0021"

Ответы60042

10 сен, 22:48 #367 #1060041

Котаны, рассчитайте сложность изучения ангуляр/реакт от сложности изучения нативного жс по кантору, если взять его за 100%

Ответы60085

10 сен, 22:50 #368 #1060042

>>1060040
мм, да, я всрал условие, этот способ тоже забанен должен быть, идея там эта >>1060025

10 сен, 23:22 #369 #1060046

24 Кб, 285x542

24 Кб, 441x555

27 Кб, 583x530

Как достучатся до отдельного элемента массива ListE.
На 2 и 3 пикчах почему то две ссылки не работают, хотя должны как исправить?

Ответы60048

10 сен, 23:26 #370 #1060048

>>1060046
Еще добавлю.
Я хочу через метод PUT обновить нужный элемент в массиве но он нихрена не может достучатся.

Или наверно нужно массив ListE отдельно чтобы был?

11 сен, 02:00 #371 #1060077

Что посоветуете для асинхронного рендеринга (ajax-call -> render)?

11 сен, 03:15 #372 #1060085

>>1060041
Реакт прост как нечего-делать. Ангуляр — энтерпрайзный монстр, естественно посложнее.

11 сен, 13:01 #373 #1060195

Репост из /web/

https://codepen.io/anon/pen/dzxNRZ

Вроде бы всё работает, но в сравнении с http://online-timer.ru/ и таймером на моём телефоне наблюдается рассинхрон. Каждые минуты 2 увеличивают отставание моего таймера где-то на секунду. С чем это связано? Где косяк? Если вместо 1000 поставить 999 на интервал, то отставание начнется позже и будет более медленным, но тем не менее будет.

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

11 сен, 13:05 #374 #1060198

>>1052010 (OP)
Двач, как же я заебался, где можно найти годную инфу по докеру и node.js? Везде, блеать даже в официальной документации node.js и даже в ёбаной официальной документации докера (где примеры на Python) есть пример только с запуском ОДНОГО контейнера, да как так то, а? Как так?
Сама идеология говорит о том, что нужно запускать много контейнеров, чтобы было ништяково, а они в оффициальных гайдах запускают по одному контейнеру и нигде нет инфы как правильно запустить несколько докеров и связать их между собой, чтобы было ништяково, отсюда реквест, братики, пожалуйста, скиньте мб уже какие-то примеры реализованых приложений на гитхабе с node.js+express+mongo (или любым другим стеком), где будет показано как нужно написать своё приложение, чтобы запустить его в докере с НЕСКОЛЬКИМИ контейнерами. Или видео с гайдом или текст с гайдом, а то я в полнейшем замешательстве, один контейнер запустить могу, с базой данных на втором, а что делать дальше с ним - непонятно. Как например доппилить авторизацию на другом контейнере или какую-то ещё фичу, типу API.

Ответы60213

11 сен, 13:24 #375 #1060206

>>1058356

релейт https://stackoverflow.com/a/939412/2337281

можно так и так, потому что спека языка это не запрещает.

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

Ответы60207

11 сен, 13:25 #376 #1060207

>>1060206
>но первый вариант как у кантора норм

*второй

11 сен, 13:36 #377 #1060213

>>1060198
Проще говоря, как создавать новые сервисы и подключаться к уже существующим? Просто писать в приложуху и вызывать из папок, добавляя строки в Dockerfile или писать много разных приложух со своими package.json, хостить их в докер контейнерах по отдельности, а потом заставить как-то взаимодействовать, если да, то как?

6 Кб, 513x104

11 сен, 15:03 #378 #1060270

Выбираем вместе второй язык для глубокого изучения.
Присвоил коэффициент по шкале от 1 до 5 в трех категориях.
Под новизной понимается то что я не просто выучу JS-2, а какие-то новые парадигмы, как статическая типизация, полноценный ООП. Синтаксис напротив хотелось бы JS-подобный хотя питоньи отступы выглядят хорошо. Востребованность на основе анализа вакансий в моем ДС-4.
Все ли правильно сделал?

Ответы60272602756027660444

11 сен, 15:05 #379 #1060272

>>1060270
Учи либо си, либо хаскель.

Ответы60273

11 сен, 15:05 #380 #1060273

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

Ответы60277

11 сен, 15:11 #381 #1060275

>>1060270
Руби, питон, пхп — ничего нового после js, наоборот, меньше концепций (более императивные языки). Никаких новых парадигм, типизации, саморазвития.

Для развития глянь F#, Haskell, хотя можешь начать и с C#

Ответы6028160614

11 сен, 15:12 #382 #1060276

>>1060270
Жабу учи, если ещё даже со статической типизацией и нормальным ООП не сталкивался.

11 сен, 15:12 #383 #1060277

>>1060273
Ты уж определись, хочешь ты развития или инструмент на продажу. Если второе, учи пхп, вакансий тьма.

Ответы60281

11 сен, 15:19 #384 #1060279

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

Ответы60737

11 сен, 15:22 #385 #1060281

>>1060277
Ну хотелось бы и то и то. Но если прям выбирать между сидеть без работы и быть макакой то второе.
>>1060275
А что в шарпе кроме ООП и статики? В руби вот насколько я знаю есть концепция что все является выражением, как в лиспе, там можно ифы присваивать, а в жс нельзя - круто, нет?

Ответы6028360292

11 сен, 15:23 #386 #1060283

>>1060281
В жсе для этого есть тернарный оператор.

Ответы60285

11 сен, 15:26 #387 #1060285

>>1060283
Но внутри ? нельзя вставлять стейтменты, например ретурн, а внутри ифов можно. Понятно что переписать по-другому можно всегда.

Ответы6028660296

11 сен, 15:31 #388 #1060286

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

11 сен, 15:42 #389 #1060292

>>1060281
> все является выражением
Да, это очень интересная фича, странно как она забрела в руби.
Но в любом случае так можно писать и JS, нужны для этого только тернарный оператор и функции. То, что остальные конструкции языка — стейтменты — не имеет значения, потому как они не нужны при написании в фп стиле.

Ответы60301

11 Кб, 458x131

11 сен, 15:47 #390 #1060296

>>1060285
хз

11 сен, 15:53 #391 #1060301

>>1060292
>нужны для этого только тернарный оператор и функции
А как перегнать в экспрешн такое например?
const f = x => {
if(x) {throw 'error'} else {return 1}
}
такое не катит
const f = x => x?(_=>throw 'error')():1

Ответы60308

11 сен, 15:57 #392 #1060302

А все, вот так работает. Да, клево
const f = x => x?(_=>{throw 'error'})():1

11 сен, 16:09 #393 #1060308

>>1060301
При большой необходимости можно и так, но по хорошему как я сказал — не нужны, как и остальные statements с сайд эффектами.

11 сен, 16:35 #394 #1060319

Посоны, а бабель-то в 2017 году еще нужен?

Ответы60325

11 сен, 16:45 #395 #1060325

>>1060319
для JSX, IE6 и прочих выкрутасов и если не использовать Typescript.

Просто писать на ES2015-2016 можно и нативно.

Ответы60326

11 сен, 16:47 #396 #1060326

>>1060325
Блять, совсем про jsx забыл

11 сен, 18:53 #397 #1060375

Двочик, у меня есть вопрос про такую штуку как объект переменных LexicalEnvironment. Читаю сайтик лерн джаваскрипт.

Сначала они говорят: "В конце выполнения функции объект с переменными обычно выбрасывается и память очищается. ... Через некоторое время мы рассмотрим более сложные ситуации, при которых объект с переменными сохраняется и после завершения функции."

От чего именно это зависит - объект пропадет или останется?

Алсо, такой код:

function makeCounter() {
var currentCount = 1;

return function() {
return currentCount++;
};
}

var counter = makeCounter(); // [[Scope]] -> {currentCount: 1}

alert( counter() ); // 1, [[Scope]] -> {currentCount: 1}
alert( counter() ); // 2, [[Scope]] -> {currentCount: 2}
alert( counter() ); // 3, [[Scope]] -> {currentCount: 3}
alert( counter2() ); // 1, счётчики независимы

И объясняют происходящее: "В примере выше было создано несколько счётчиков. Они независимы, потому что при каждом запуске makeCounter создаётся свой объект переменных LexicalEnvironment, со своим свойством currentCount, на который новый счётчик получит ссылку [[Scope]]."

Вопрос: почему после каждого вызова объект не исчез, а продолжил существовать так что мы могли каждый раз увеличивать переменную на один?

Ответы6039360414

11 сен, 19:21 #398 #1060393

>>1060375
Функция makeCounter создает локальную переменную, а потом создает и возвращает функцию, которая смотрит на эту переменную и может ее модифицировать.

В обычной ситуации, локальные переменные сгорают после завершения функции. Но в данном случае объявляется другая функция и завязывается на нее. Это называется замыканием. В итоге переменная count будет жить столько, сколько живет функция ее замкнувшая.

Соответственно каждый раз вызывая makeCounter, создается новая функция с новой переменной внутри.

Ответы60416

11 сен, 19:52 #399 #1060414

>>1060375
>почему после каждого вызова объект не исчез, а продолжил существовать
1. ты написал в коде что-то вроде
function hitler() {
var x=1
return x
}
2. под капотом интерпретатора, незаметно для тебя создался невидимый объект lexical environment. его нельзя получить в коде, но он существует. представь что это что-то вроде
hitler.lexicalEnvironment
в этот объект записалось два свойства {x:1, [[scope]]:window} // или другая функция внутри которой создан гитлер
3. если ты про просто запустишь функцию hitler() то очевидно что после отработки ее lexicalEnvironment больше нахрен не нужен и интерпретатор его затирает, так как его никто не использует. но если внутрь гитлера добавить другую функцию, которая обращается к иксу
function hitler() {
var x=1
return function() { return x+1 }
}
то станет очевидно что этот объект надо сохранять, так как он используется. причем для каждой отдельно отработавшей функции будет создаваться и храниться отдельный объект с независимыми значениями икса.
это сложная тема, посоветовал бы почитать спецификацию, но ты ж не будешь.

Ответы60420

11 сен, 19:53 #400 #1060416

>>1060393
Ясноньо, спасибо. Если хотите что-то добавить, говорите, я прочитаю.

11 сен, 19:55 #401 #1060420

>>1060414
Может и буду, если руки дойдут. Спасибо за объяснение.

11 сен, 21:03 #402 #1060444

>>1060270
Elixir/Phoenix

Ответы60451

11 сен, 21:21 #403 #1060451

>>1060444
Двачую. Это реально, что в эликсире сборка мусора происходит без stop the world?

Ответы60452

11 сен, 21:24 #404 #1060452

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

11 сен, 21:55 #405 #1060459

Что хочется:
Пишу "create-foo-app component-x", прописываю в нем компонент с использованием современного синтаксиса и scss, запускаю через npm start. Создаю второй компонент с помощью "create-foo-app y-component", в нем импортирую component-x со всеми стилями и радуюсь.

Что есть:
Пишу "create-react-app component-x", создаю компонент, запускаю через npm start. Создаю второй компонент, но не радуюсь, потому что без eject не удастся подключить стили из component-x, да и поддержки es2017 по умолчанию нет — приходится прописывать пути в конфиге вебпака.

С nwb такая же проблема.

Есть ли какой-нибудь тулкит, который позволяет удобно создавать независимые компоненты?

11 Кб, 480x360

11 сен, 23:57 #406 #1060514

Простите за глупый вопрос, но ничего не гуглится. Как сделать partial application функции get лодаша, чтобы конечная функция при вызове вставляла аргумент в середину. На примере:
без partial application
_.get(obj, ['huy', 'id'])

c partial application должно быть так (huy динамичный)
_.get(obj, [ЧТОБЫ ВОТ СЮДА СУКА, 'id'])

Ответы6054760600

12 сен, 02:43 #407 #1060547

>>1060514
Никак ты частично не применишь массив.
hui => _.get(obj, [hui, "id"])

12 сен, 03:57 #408 #1060558

Поясните за TypeScript. Почему все на него так надрачивают, но за всю свою карьеру в 8 лет, я так и не смог найти никого кто на нём писал бы что-то больше чем хеллоу ворлд? Им реально кто-то пользуется или это легенда типа Хаскеля?

Ответы6061060659

12 сен, 09:36 #409 #1060600

>>1060514
const partial => arg => (obj, arr) => _.get(obj, arg.concat(arr))

Но я не очень понял, что ты там городишь, объясни лучше

12 сен, 09:45 #410 #1060610

>>1060558
>Им реально кто-то пользуется
Нет, MS просто деньги вникуда спускает чтобы на двачике холивары были.
>карьеру в 8 лет
>не задуматься о типизации в JS

Ответы60612

12 сен, 09:47 #411 #1060612

>>1060610
Что ты имеешь ввиду под
>не задуматься о типизации в JS
Мне например это вообще никак не мешает. И не мешало никогда. Я даже специально не могу придумать пример когда это чему-то помешает.

Ответы60619

12 сен, 09:49 #412 #1060614

>>1060275
>питон
>Никаких новых парадигм, типизации, саморазвития
Лол, async for, async yield, async nebo, async allah

12 сен, 09:53 #413 #1060619

>>1060612
Забей, никто им не пользуется, просто студенческая поделка какого-то Хайлсберга, который ничего в программировании не понимает.

Ответы60665

12 сен, 11:12 #414 #1060659

>>1060558
Конечно пользуемся. Простой JS только в совсем старых проектах.

Ответы60665

12 сен, 11:19 #415 #1060665

>>1060619
>мой дед писал и ты пиши.
>>1060659
Так профит то в чём?

Ответы6071460758

12 сен, 12:58 #416 #1060714

>>1060665
>>мой дед писал и ты пиши.
Ну видимо ты и есть дед либо переигрывающая php-макака, раз не понимаешь профита статической типизации.

Ответы6071661465

12 сен, 13:01 #417 #1060716

>>1060714
>Поясните за TypeScript. Почему все его звалят
>MS просто деньги вникуда спускает чтобы на двачике холивары были.
>Поясните тогда за типизацию
>Забей, никто им не пользуется, просто студенческая поделка какого-то Хайлсберга,
>Так профит то в чём?
>Ну видимо ты и есть дед либо переигрывающая php-макака
А есть кто-нибудь не токсичный и агрессивный?

Ответы60719

12 сен, 13:03 #418 #1060718

Котаны, если я все же осилю всего кантора, и потом реакт, я буду успешным? Ну или хотя бы средне-успешным? 28 лет.
А php после всей этой фигни с js "за неделю" осилю?

Ответы60721

12 сен, 13:10 #419 #1060719

>>1060716
>А есть кто-нибудь не токсичный и агрессивный?
Да, твоя мамка.

12 сен, 13:11 #420 #1060721

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

Ответы60726

12 сен, 13:30 #421 #1060726

138 Кб, 304x725

145 Кб, 309x774

>>1060721
> не захочешь пердолиться в некропшп

Ответы60727

12 сен, 13:31 #422 #1060727

>>1060726
>Система типов
>Утиная

12 сен, 13:31 #423 #1060728

>>1052010 (OP)
Привет.
От делать нечего пишу парсер flac файлов на ноде. Ломаю голову над асинхронщиной. Есть код: https://jsfiddle.net/g6gjdxqj/
Задача пока простая - чекаем файл на то, является ли файл флаком: по спекам в начале файла закодированы символы 'fLaC'. Но в ноде чтение файлов и прочие операции синхронные. Вопрос, как мне получить из промиса или асинхронной функции результат так, чтобы до его получения программа не прерывалась? Ну и вообще сохранить его для последующего использования...

Ответы60729

12 сен, 13:32 #424 #1060729

>>1060728
>парсер flac файлов на ноде.
А завтра ты в жопу давать будешь?

Ответы60730

12 сен, 13:34 #425 #1060730

>>1060729
Как будто что-то плохое

12 сен, 13:54 #426 #1060737

>>1060279
Полгода-год. Языки разметки еще не забудь.

Ответы60739

12 сен, 13:58 #427 #1060739

>>1060737
Так долго? Это просто JS или JS + фрэймворки?
>Языки разметки еще не забудь.
Я их знаю чуток.

Ответы60744

12 сен, 14:02 #428 #1060744

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

Ответы6074860750

12 сен, 14:08 #429 #1060748

>>1060744
Ладно, попытаюсь посильнее налегать на материалы из шапки.

12 сен, 14:08 #430 #1060750

>>1060744
Спасибо за ответы анон.

12 сен, 14:17 #431 #1060758

>>1060665
Когда пишешь js, можешь быть увереным в отсутствии случайных ошибок только покрыв все тестами на 100%.
(Для наглядности взгляни на повальный фанатизм к тестированию в руби сообществе.)

В TS такие обишки просто не совершаешь, потому что IDE тебе все подчеркивает красным. Сильно развязывает руки, позволяет все редактировать, рефакторить настолько глубоко, насколько хочется. Ускоряет прототипирование, скорость разработки ну и как там модно говорить про модные языки.

Как легкий бонус — вплывающая документация, автодополнение и прочие прелести IDE.

Ответы6076060762

12 сен, 14:18 #432 #1060760

>>1060758
Круто. Спасибо за развёрнутый ответ анон.

12 сен, 14:26 #433 #1060762

>>1060758
При этом иногда система типов бьет тебе по ебалу. Еще часто тайпингсы для сторонних либ кривые или их вообще нет. Долгая компиляция вместо ф5 прилагается.

Ответы60835

12 сен, 14:40 #434 #1060773

Сап, в JS Можно обернуть if в другой if?
Выполняю пример из Eloquent который немного усложнил и сразу понят что что-то не так.
https://jsfiddle.net/e0k6y8un/

Ответы60783

12 сен, 15:06 #435 #1060783

>>1060773
имя переменной

Ответы60787

12 сен, 15:12 #436 #1060787

>>1060783
Чувствую себя тупым. Спасибо анон.
https://jsfiddle.net/e0k6y8un/3/

Ответы60792

23 Кб, 767x376

12 сен, 15:18 #437 #1060792

>>1060787
этого не случилось бы если бы ты не писал код в этой срани

Ответы60795

12 сен, 15:21 #438 #1060795

>>1060792
В этой срани я просто поделился. Как и написано в оп посте. А так я пишу в IDE.

12 сен, 16:13 #439 #1060835

>>1060762
>система типов бьет тебе по ебалу
Для этого есть any
> тайпингсы для сторонних либ кривые или их вообще нет
Если нет в @typings/libaName ну шо поделать, значит твоей библиотекой пользуется полтора замлекопа.
>Долгая компиляция вместо ф5
webpack --watch

Ответы60929

12 сен, 17:08 #440 #1060873

Что лучше на будущее - вешать на кнопку onclick или addEventListener?

Ответы60884

12 сен, 17:27 #441 #1060884

>>1060873
Сколько одинаковых онкликов на одном элементе ты можешь сделать? А динамически?

12 сен, 18:18 #442 #1060904

А зачем нужен koa, может кто по хардкору пояснить? А то я думал свой сервер типа как человек написать, не на голой ноде, а тут от того самого Express'а (не пользовался).
Скачал, потыкал — а там ж нихуя нет, кроме обёртки над запуском http.server и перетаскиванием данных из request в context, абсолютно.

12 сен, 18:46 #443 #1060925

Объясните плиз что делает этот чувак.

Было бы неверно предположить, что цепочки областей видимости отличаются для пяти функций в массиве result. Вместо этого каждое обновление переменной i обновляет область видимости, которую делят между собой все пять анонимных функций. Это можно исправить путём добавления нового контекста исполнения, в котором копия значения i поступит извне как параметр функции.

И потом код:

var result = [];

for (var i = 0; i < 5; i++) {
result = >(function inner(x) {
// additional enclosing context
return function() {
console.log(x);
}
>})(i);
}

result[0](); // 0, expected 0
result[1](); // 1, expected 1
result[2](); // 2, expected 2
result[3](); // 3, expected 3
result[4](); // 4, expected 4

Собсна вопрос: что это за скобочки и почему они решили проблему, если без них было result[0](); // 5, expected 0
result[1](); // 5, expected 1
result[2](); // 5, expected 2
result[3](); // 5, expected 3
result[4](); // 5, expected 4

Скобочки выделил зеленым.

12 сен, 18:46 #443 #1060925

Объясните плиз что делает этот чувак.

Было бы неверно предположить, что цепочки областей видимости отличаются для пяти функций в массиве result. Вместо этого каждое обновление переменной i обновляет область видимости, которую делят между собой все пять анонимных функций. Это можно исправить путём добавления нового контекста исполнения, в котором копия значения i поступит извне как параметр функции.

И потом код:

var result = [];

for (var i = 0; i < 5; i++) {
result = >(function inner(x) {
// additional enclosing context
return function() {
console.log(x);
}
>})(i);
}

result[0](); // 0, expected 0
result[1](); // 1, expected 1
result[2](); // 2, expected 2
result[3](); // 3, expected 3
result[4](); // 4, expected 4

Собсна вопрос: что это за скобочки и почему они решили проблему, если без них было result[0](); // 5, expected 0
result[1](); // 5, expected 1
result[2](); // 5, expected 2
result[3](); // 5, expected 3
result[4](); // 5, expected 4

Скобочки выделил зеленым.

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

12 сен, 18:47 #444 #1060926

>>1060925
Они не выделись. Ну вы понели?
Это я отсюда взял https://medium.com/@sshambir/осваиваем-замыкания-в-javascript-5b83267ef7d1

Ответы60955

12 сен, 18:50 #445 #1060929

>>1060835
>webpack --watch
Который не ускоряет компиляцию, а лишь чаще разогревает пекарню. В больших проектах что обновление через watch, что ручной рестарт — время теряется.

Flow в этом плане получше. Анализ кода идет независимо от сборки проекта. Бабель просто вырезает типы и все происходит чуть быстрее.

Ответы61309

67 Кб, 718x936

12 сен, 19:17 #446 #1060955

>>1060926
Я сделал скриншот.

12 сен, 20:00 #447 #1060980

>>1060925
Гугли self execution function. Скобочки эти позволяют вызвать анонимную функцию сразу же после её объявления.

Ответы609816098261134

12 сен, 20:00 #448 #1060981

>>1060980
executing
fix

12 сен, 20:01 #449 #1060982

>>1060980
Ушел гуглить, спасибо!

112 Кб, 900x900

12 сен, 21:20 #450 #1061031

>>1052010 (OP)
Решили внедрить Webpack в легаси проект - и сразу же начались проблемы с интеграцией существующего кодбейза. Проблема в том, что нынешний JS код представляет собой:
- Россыпь древних плагинов, местами использующих функции, которые уже давно убрали из актуальной версии jQuery. Интеграция плагинов в единое целое была реализована с помощью expose-loader, что делать с вызовом удаленных методов - понятия не имею. Есть ли какие-то заглушки, возвращающие старый API?
- Один здоровенный main.js и кучу инлайнового говна, ссылающегося на глобалки из этого самого скрипта. Вот что тут делать - совершенно не знаю, можно ли заставить Webpack просто минифицировать этот файл и сконкатенировать с bundle.js, без инкапсуляции?
Буду благодарен за любые советы.

Ответы61065

12 сен, 22:20 #451 #1061065

>>1061031
Зачем тебе вебпак для этого? Напиши паур тасков для галпа

12 сен, 23:04 #452 #1061094

Я тут глянул в ТС, короче если вы знаете ЖС то считайте и ТС тоже знаете. Разница только в том что можно дописывать типы данных к параметрам функций и всякую ненужную парашу типа приват/паблик. Нахуй для этого отдельный "язык" нужен со всякой ебаторией с перегонкой бабелем я хз, почему не завезти чото типа 'use super strict'

Ответы61095611356116661310

12 сен, 23:07 #453 #1061095

>>1061094
Это не для школоты сделано, а для серьезных дядей, которые жирнософт пишут

13 сен, 00:49 #454 #1061134

>>1060980
Устоявшееся название для этого IIFE — Immediately Invoked Function Expression

13 сен, 00:54 #455 #1061135

>>1061094
Действительно. Зачем все эти строгие и надежные языки, давайте говнокодить на js и python, жить в дебаггере и бояться изменять код. Что однажды написано изменению не поддлежит.

Ответы6116561166

13 сен, 03:12 #456 #1061165

>>1061135
для этого и пишут тесты, хотя кому я это говорю :)

Ответы61568

13 сен, 03:14 #457 #1061166

>>1061094
Двачую, придумали какой-то ссаный костыль для лечения проблемы которую сами же себе и придумали.
>>1061135
Если у тебя опыта в программировании меньше 10 часов, то ты и HTML испугаешься поменять.

13 сен, 03:35 #458 #1061167

>>1052010 (OP)
Ребзя, вопрос, как лучше всего найти совпадающие строки или словосочетания на javascript?
Ну например:
var text_a = "Lorem ipsum dolor sit amet";
var text_b = "Dolor lorem ipsum amet";
Результат: ["lorem ipsum", "dolor", "amet"]
Неужели нет готового алгоритма для такого задания?

Ответы611726119061233

13 сен, 04:44 #459 #1061172

>>1061167
сравнивая посимвольно каждое словосочетание со строкой.

13 сен, 07:52 #460 #1061190

>>1061167
у тебя условие непонятное, что с кейс сенситив?
если считается что "lorem ipsum" входит в обе строки то почему просто "lorem" не входит?

28 Кб, 1896x211

13 сен, 08:24 #461 #1061196

ну кроч если все кейс инсенситив то тип того

126 Кб, 635x948

13 сен, 10:51 #462 #1061221

Что он имеет в виду под pass? И вообще, зачем он передает глобальный объект как параметр, что за хрень? Если он хочет что бы там было хоть что-нибудь, что потом можно заменить на условное А в минификаторе, то мочему бы и не написать А?

Ответы61228

67 Кб, 960x640

13 сен, 10:51 #463 #1061222

x + (y × width) Как это понять?

Ответы61232

13 сен, 11:04 #464 #1061228

>>1061221
>pass
передать ссылку на глобальный объект
он это делает чтобы внутри модуля записать в шиндош единственную переменную, в которой уже лежат все функции его библы. это и происходит на десятой строчке
например в джквери это переменная $ и когда ты пишешь
$('#id').. //чото там
ты фактически пишешь
window.$... //чото там

Ответы61230

56 Кб, 627x328

13 сен, 11:13 #465 #1061230

>>1061228
Тааак, понял. А вот так тоже работает, в чем отличие?

Ответы6123161236

13 сен, 11:15 #466 #1061231

>>1061230
В смысле, что мешает написать window.$ = blalbalba без параметра? Ведь функция просто полезет искать такое имя на уровень выше в сам шиндош и найдет его?

13 сен, 11:17 #467 #1061232

>>1061222
Ебать ты гуманитарий.
Двумерный массив заменили на одномерный (все "строки" двумерного выстроили в одну большую "строку"). Для того чтобы взять X элемент в Y строке тебе нужно добраться до Y строки (Y WIDTH) и в ней взять X элемент (+ X). Итого (Y WIDTH) + X.

Ответы61250

13 сен, 11:21 #468 #1061233

>>1061167
https://en.wikipedia.org/wiki/Longest_common_subsequence_problem

13 сен, 11:25 #469 #1061236

>>1061230
чисто для минификации. в первом случае будет такое
(function(x){
alert(x)
alert(x)
alert(x)
})(window)
а во втором ты всегда должен писать window
(function(){
alert(window)
alert(window)
alert(window)
})()
ну и еще доступ к локальным переменным быстрее чем лезть в замыкание

Ответы61241

13 сен, 11:36 #470 #1061241

>>1061236
Вот теперь совсем все понял, спасибо анончик!

13 сен, 12:02 #471 #1061250

>>1061232
Большое человеческое СПАСИБО!

13 сен, 12:19 #472 #1061254

Почему сравнение с нулем быстрее, чем с любым другим числом?

Ответы61255

13 сен, 12:23 #473 #1061255

>>1061254
Даже в машкоде, прикинь!

Ответы61265

13 сен, 12:51 #474 #1061265

>>1061255
Так почему

13 сен, 14:06 #475 #1061309

>>1060929
Хз, с ssd не замечаю проблем.

13 сен, 14:09 #476 #1061310

>>1061094
>олько в том что можно дописывать типы данных к параметрам функций и всякую ненужную парашу типа приват/паблик
Генерики, енумы, декораторы и прочие ништяки мы тактично опустим.

13 сен, 15:24 #477 #1061335

Не совсем по теме.
Прошу совет насчёт правильной траты мыслетоплива/правильного обучения.
Работаю 5/2 по 9 часов. Работа физическая. После работы и после душа, туалета, кухни сажусь учить js. Ложусь в 9:00, просыпаюсь в 5:00, чтобы основное время дома потратить на обучение свежей головой. Во время работы иногда появляется свободное время и я пытаюсь тратить эти крупицы не напрасно. Сконцентрироваться сложно. Попытки не очень удачный.
В редкие дни весь день сижу в месте с тв с непродолжительными подергиваниями. Телевизор регулярно захватывает внимание, что усиливает неспособность к обучению.
Эти жалкие попытки почитать с телефона на работе с постоянными отвлечениями, кажется, влияют на моё состояние дома.
Замечаю что в дни когда работаю как обычно, со средней загруженностью, то есть не устаю физически и нет времени сидеть без дела, занимаюсь дома с максимальной эффективностью.
Вопрос: стоит ли вообще пытаться не тратить впустую время на работе? Намного ли меньше растрачиваются силы при сёрфинге и при чтении учебников, с постоянными отвлечениями? Чем вообще лучше заняться в свободное время? Ничего не делать?

Ответы6133861370

13 сен, 15:42 #478 #1061338

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

Ответы6134061360

13 сен, 15:46 #479 #1061340

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

Ответы61343

13 сен, 15:51 #480 #1061343

>>1061340
Еще добавлю, чем плоха посменная работа - это то, что для эффективного обучения нужен регулярный полноценный сон

13 сен, 16:25 #481 #1061360

>>1061338
Но нагрузки стали нормой и я не чувствую усталости после рабочего дня. Сторожем пошёл бы, но разве берут туда, кого-нибудь младше сорока? И могу ли я на этих работка получать хотя бы те 25к, что я получаю?700к город
Работу специально выбирал чтобы забывать о ней, как окончится рабочий день. Этот пункт выполнен. Думал о подработках, на выходных грузить мебель про переездах, но тогда бы я совсем разума лишился бы

Ответы61367

137 Кб, 958x875

13 сен, 16:39 #482 #1061364

>>1052010 (OP)

нода стала как пых, что радует

Ответы61365

13 сен, 16:41 #483 #1061365

>>1061364
Типичное непонимание как пользоваться async/await. Эх.

Ответы61366

13 сен, 16:42 #484 #1061366

>>1061365

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

Ответы61368

13 сен, 16:44 #485 #1061367

>>1061360
> 25к
Студни занимающиеся по 16 часов в день и жрущие один пакет доширака в месяц обгонят тебя за 1 год в несколько раз
>я не чувствую усталости после рабочего дня
Тогда вкатывайся пока молодой, это быстро пройдет.

Ответы61375

13 сен, 16:46 #486 #1061368

>>1061366
Мань, я говорю тебе о том, что ты совершаешь типичную ошибку и неправильно пользуешься async/await в js.
Почитай: http://2ality.com/2016/10/async-function-tips.html

Ответы61372

1,8 Мб, webm, 640x360, 0:07

13 сен, 16:49 #487 #1061370

>>1061335
>Телевизор регулярно захватывает внимание

13 сен, 16:52 #488 #1061372

>>1061368

ну ты и мудило. по твоей же ссылке:

>Another option is an Immediately Invoked Async Arrow Function:
>(async () => {
> console.log(await asyncFunction());
>})();

Ответы61373

13 сен, 16:57 #489 #1061373

>>1061372
Твоя проблема в том, что ты делаешь два независимых запроса в бд синхронно.
Вместо
r1 = await db.q1()
r2 = await db.q2()
return {r1, r2}
надо делать
r1 = db.q1()
r2 = db.q2()
return {r1: await r1, r2: await r2}
или через Promise.all

Ответы61425

13 сен, 17:10 #490 #1061375

>>1061367
Не верю что кто-то может заниматься по 16 часов в день.
Думаю аноны из этого треда занимаются по часов пять

Ответы61378

13 сен, 17:15 #491 #1061377

Бля заебался. Начинающий кодер и пытаюсь сделать портфолио. Решил сделать небольшой ИМ. Нашел скрипт simpleCart, разобрался как оно работает, сделал свой велосипед, но все не то. Там все на дата атрибутах. Цены и т.д. поменял в консоли его на любое число с ним и полетел заказ. Может кто объяснить как это делается по правильному. Я понимаю что там сервер нужен, но хоть принцип. А то кажется что хуйней страдаю.

13 сен, 17:15 #492 #1061378

>>1061375
Аноны из этого итт треда уже свое отзанимались. Теперь рубят свои 300кк/час.

1 Кб, 261x40

13 сен, 17:17 #493 #1061379

Обожаю жабоскрипт

Ответы6138161382

13 сен, 17:20 #494 #1061381

>>1061379
Очердное необразованное мудло, которое не знает как работает компьютер. Читай про IEEE754

13 сен, 17:20 #495 #1061382

>>1061379
При чем тут жабоскрипт? Любой язык тебе выдаст неточный результат при вычислении с десятичными дробями.

Ответы6138461385

13 сен, 17:21 #496 #1061384

>>1061382
На пыхе такой хуйни нет, там на уровне языка всё сделано

Ответы6138561390

13 сен, 17:22 #497 #1061385

>>1061382
>>1061384
https://ideone.com/wu3Mf5

Ответы61387613896139061391

13 сен, 17:28 #498 #1061386

Нахуя нужен class expression?

Ответы61395

14 Кб, 799x441

13 сен, 17:29 #499 #1061387

>>1061385
поминуты на унижение пыхоребенка его собственной спекой
http://php.net/manual/en/language.types.float.php

Ответы61392

13 сен, 17:29 #500 #1061389

>>1061385
Внутреннее представление всё равно не точное.

13 сен, 17:30 #501 #1061390

>>1061385
>>1061384
Фантазер ебучий. http://php.net/manual/en/language.types.float.php
В пыхе у тебя все зависит от системы, то есть ты нихуя не знаешь как оно сработает, если не влепишь проверку.
В жсе в стандарте прописано: 64bit iee754
https://www.ecma-international.org/ecma-262/5.1/#sec-4.3.19

Ответы61392

13 сен, 17:32 #502 #1061391

>>1061385
https://ideone.com/WaomQM

Ответы61392

13 сен, 17:33 #503 #1061392

>>1061391
>>1061390
>>1061387
Ну ладно, че вы сразу так :(

13 сен, 17:41 #504 #1061395

>>1061386
Посоны?

Ответы614016140661409

13 сен, 17:49 #505 #1061401

>>1061395
Можно переопределять класс.

13 сен, 17:54 #506 #1061406

>>1061395
Ну и да, как const f = function x() {}
https://stackoverflow.com/questions/34565362/what-is-use-of-named-or-unnamed-class-expression-in-es6

13 сен, 17:55 #507 #1061409

>>1061395
https://jsbin.com/yogozebezi/edit?html,js,console

94 Кб, 378x480

13 сен, 18:01 #508 #1061410

Перекот мне запилил блеять.

190 Кб, 500x684

13 сен, 18:29 #509 #1061425

>>1061373

да, не ок, не заметил даже, конечно из БД лучше параллельно забрать результаты, завтра буду копать в сторону await Promise.all, добра

13 сен, 19:00 #510 #1061442

перекот >>1061439 (OP)
перекот >>1061439 (OP)
перекот >>1061439 (OP)
перекот >>1061439 (OP)
перекот >>1061439 (OP)

13 сен, 19:18 #511 #1061447

Шпасите! Я больше не могу быть фронтером.

13 сен, 19:52 #512 #1061465

>>1060714
В PHP как раз есть интерфейсы, тайп-хинтинг (в 7-й версии ещё и для скалярных типов), нормальные классы со спецификаторами доступа. PHP таки умеет хоть и в рантайме, но падать с читабельной ошибкой вроде "Ожидаю класс Foo, получил null", что позволяет быстрее обнаруживать баги. А если статический анализатор для JS что-нибудь пропустит, то JS, в силу его динамичности, не упадёт сразу, а пролезет ещё через кучу строк и упадёт с невнятной ошибкой. Я сам пользуюсь Flow, всем советую, а вот TypeScript мне когда-то показался бесполезным - он отлавливал только самые очевидные ошибки.

13 сен, 22:08 #513 #1061568

>>1061165
Легкая пометка ": string" избавит от необходимости в 95% тестов.
Хотя это не актуально для тех, кому платят за строки кода и 100%-ое покрытие.

13 сен, 22:36 #514 #1061587

Анон, create-react-app под винды вообще ставится или нет? Не могу разобраться.

17 сен, 19:23 #515 #1063233

>>1052955
Гугли ты еблашик мой тупой.
Buefy пример

17 сен, 20:32 #516 #1063245

Господа котоны, мотивации мне плиз, хочу стори "сделал кантора, выучил реакт, 300к/сек"

17 сен, 23:38 #517 #1063288

Есть возможность сначала выучить JS, а потом html и css? Хочу в идеале в бек на ноде вкатиться, но пугает что надо реально много знать в html и css (фреймворки, адаптивная верстка, кроссбраузерная, кроссплатформенная и т.д)? Как бы не проблема выучить все это, просто кодить мне нравится, а верстка отбивает все желание сидеть за компом и писать что-то.

18 сен, 17:03 #518 #1063571

>>1052010 (OP)
Братики, как вы думаете, стоит ли припиздеть о своих умениях (когда ты джун), чтобы устроится на работу (на джуна)? Вот требуются какие-то ебанутые технологии, я посомтрел видосы, вроде всё понятно, но опыта работы с нгими нет. СТоит ли сказать что я это всё умею и имею опыт?

18 сен, 17:34 #519 #1063582

>>1052010 (OP)
Пацаны, что можно пиздатого сделать за 1-2 дня, чтобы было не стыдно на гитхаб залить?
Моя специализация: бэк на Node.JS (умею в вебсокеты, парсеры, лямбда функции) и фронт на HTML+CSS+Jquery/React.

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

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion