Сохранен 521
https://2ch.hk/pr/res/1157660.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JavaScript thread #1e2+1

 Аноним 17/03/18 Суб 22:56:39 #1 №1157660 
image.png
Ссылка на прошлый тред: >>1138230 (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

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

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Аноним 17/03/18 Суб 23:08:32 #2 №1157673 

Ты СОВЕРШЕННО не понимаешь в чем суть JS. JS это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JS это не псевдофункциональный код питона. JS это не C#, Джава или ПХП. JS это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.

Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.

Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
Аноним 18/03/18 Вск 00:44:37 #3 №1157770 
>>1157103

Сенкс. Но как чтобы для при отмене просто закрылось, а не писалось null или undefined где указано.
Аноним 18/03/18 Вск 01:50:17 #4 №1157842 
Какой фреймворк на фронт сейчас самый модный?
Аноним 18/03/18 Вск 02:00:35 #5 №1157847 
>>1157842
vanilla.js
Аноним 18/03/18 Вск 04:48:53 #6 №1157886 
>>1157770
Блядь ну подумай йобана. Хорошо сука подумай. Ответ под спойлером:https://jsfiddle.net/2gxj0Lv0/26/
Аноним 18/03/18 Вск 05:40:23 #7 №1157894 
1u9pPNWwVxE.jpg
Сука бля я сейчас с ума сойду с этой асинхронностью. Как мне заставить эту пизденб работать? Пока все это было в одной функции оно работало, но мне нужны они отдельно, потому что там еще несколько блоков и каждый нужно отдельно мапить, не хочу иметь функцию в сто строчек .thenов. Почему в fetchJSON console.log() вызывается в нужный момент, но return нихуя не возвращает?
https://jsfiddle.net/yqtzgz1r/6/
Аноним 18/03/18 Вск 05:45:57 #8 №1157895 
>>1157894
Потому что ты даун, очевидно же. Таким как ты даже помогать нет никакого желания. Противно смотреть.
Аноним 18/03/18 Вск 06:05:11 #9 №1157897 
>>1157895
>pooque
Аноним 18/03/18 Вск 07:17:32 #10 №1157904 
>>1157894
>но return нихуя не возвращает?
return всё нормально возвращает. Вопрос только, куда?
Аноним 18/03/18 Вск 08:20:36 #11 №1157918 
>>1157904
То есть если я трай выпилю всё ок будет?
Аноним 18/03/18 Вск 12:06:41 #12 №1158063 
>>1157918
Ещё раз внимательно посмотри на строки 23 и 24. Подумой, что они должны делать, и что они делают сейчас.
Аноним 18/03/18 Вск 14:11:08 #13 №1158173 
NWjs или Electron?
Аноним 18/03/18 Вск 14:40:17 #14 №1158214 
>>1158063
Да я чёт не въезжаю в колбеки ваще.
async function populate(url, callback){
await fetchJSON(url);
 await callback(json);
}
Так что ли?
Аноним 18/03/18 Вск 14:49:32 #15 №1158220 
>>1158214
await callback(json);
Объясни, что делает эта строчка?

Меня удивляет, как ты смог в одном месте написать нормально, а в другом — нет. Явно спиздил где-то, не вникая, прям как глупый списывальщик в классе.
Аноним 18/03/18 Вск 15:19:22 #16 №1158260 
image.png
Сап джаваскриптач. Наткнулся на такую проблему: TS изменяет имена переменных в коде, из-за чего в отладчике получается вот такая хуйня, как на пике. Можно как-то исправить?

конфиги такие: https://ideone.com/tc2KJ5
Аноним 18/03/18 Вск 15:30:33 #17 №1158271 
>>1158214
ты разберись с промисами для начала, а потом ебашь async/await
Аноним 18/03/18 Вск 15:43:05 #18 №1158275 
>>1158214
https://jsfiddle.net/yqtzgz1r/29/ учись, пока я жив
Аноним 18/03/18 Вск 15:47:23 #19 №1158281 
>>1158220
Пытается исполнить функцию принятую параметром с параметром, полученным из предыдущей.
Ты не знаешь, сколько я времени въебал чтобы к такому виду прийти. Конечно пару подсказок у друга взял, но в целом это часы и часы гугла, иногда несколько суток к ряду.
Я не могу понять как ебучие колбеки делать, абстрактные примеры на стаковере или ещё хуй знает где вообще не помогают.
В целом это эта функция, которую я пытаюсь разбить на блоки https://jsfiddle.net/9fv5stx4/ , и я просто читаю и нихуя не понимаю как колбек сделать чтобы вызвать populate с аргументом, полученным из fetchJSON. Да я знаю, что из асинхронной функции нельзя просто взять и вернуть значение, но разве await/async не для того чтобы асинхронные вещи выполнять в синхронной манере?
Аноним 18/03/18 Вск 15:56:50 #20 №1158292 
>>1158275
а лучше вообще так https://jsfiddle.net/yqtzgz1r/45/
Аноним 18/03/18 Вск 16:33:22 #21 №1158310 
>>1158281
https://notehub.org/7jbzw
Аноним 18/03/18 Вск 16:33:37 #22 №1158312 
>>1158275
>>1158292
State of the art срань, мне ещё рано такое видеть, я джве недели этим занимаюсь. Но спасибо, радует глаз.
Аноним 18/03/18 Вск 16:49:24 #23 №1158323 
>>1158312
в качестве упражнения предлагаю тебе реализовать свой собственный fetch, используя XMLHttpRequest:

заготовка: https://jsfiddle.net/nzxhszxd/1/
готовый код: https://jsfiddle.net/nzxhszxd/5/
Аноним 18/03/18 Вск 17:09:32 #24 №1158336 
Жикваери олдфаги, подскажите – насколько важно в аяксе указывать тип ожидаемых/отправляемых данных? Я например испытываю эстетическое удовольствие от подобной записи:
$.get('http://sitename.com/api/posts')
    .done((data) => {
        console.log('Result', data)
    })
    .fail((err) => {
        console.log(err.statusText)
    })
Аноним 18/03/18 Вск 17:15:14 #25 №1158339 
>>1158336
для начала ответь на вопрос: какое отношение REST имеет к jquery в частности и к js вообще?
Аноним 18/03/18 Вск 17:16:38 #26 №1158340 
>>1158260
бамп
Аноним 18/03/18 Вск 17:19:49 #27 №1158342 
>>1158339
Никакого. А теперь ответь не мой.
Аноним 18/03/18 Вск 17:23:17 #28 №1158343 
>>1158342
раз никакого не имеет, то смотри, что тебе семантически удобнее. надо рест - делай рест. не надо - не делай.
Аноним 18/03/18 Вск 17:32:50 #29 №1158346 
>>1158281
>но разве await/async не для того чтобы асинхронные вещи выполнять в синхронной манере?
Именно для этого, да.

Ладно, хуй с тобой, не буду пытаться тебя самого подвести к ответу, распишу.

Твой код https://jsfiddle.net/yqtzgz1r/6/
>await populateLegend(json);
Вызывает функцию populateLegend, передавая в неё json. Где ты создал объект с именем json внутри функции populate? Нигде, у тебя его нет. Откуда он должен браться? очевидно, из fetchJSON(url).
>await fetchJSON(url);
Действительно вызывает fetchJSON, дожидается его выполнения (т.е. получения данных из интернета) и лишь затем переходит на следующую строку.
Внутри fetchJSON
>return json;
вполне вовремя возвращает эти данные, только когда они получены.
Но куда он их возвращает? Вникуда. Ты не сохраняешь возвращённые данные нигде.

Вот тут
> const json = await response.json();
же ты нормально сделал, и асинхронную функцию вызвал, и возврат присвоил переменной. так и там тоже
>const json = await fetchJSON(url);
сделай и всё должно заработать.
Аноним 18/03/18 Вск 18:04:11 #30 №1158370 
350px-100500internets.jpg
>>1158346
Блядь, точно, анончик, пиздец. Я не спал пару дней и уже дупля не давал почти что я делаю. С работы вернусь и сделаю, спасибо, держи интернеты.
Аноним 18/03/18 Вск 18:19:57 #31 №1158390 
github-mark.png
сап, гайс. нуфага вопрос
можно ли создать удаленный репозиторий(на гитхабе) локально?
я знаю, что можно сделать "git clone" уже существующего на моем гитхабе репозитория.но как сделать наоборот, т.е. например создал папку на рабочем столе -> сделал в ней git init, и как через командную строку дальше разместить его на гихабе?
Аноним 18/03/18 Вск 18:35:46 #32 №1158403 
>>1158390
скачай гитдесктоп и не мучайся
Аноним 18/03/18 Вск 18:39:42 #33 №1158406 
>>1158390
создаешь реп на гитхабе, затем git remote add * && git push -u master в своем локальном
Аноним 18/03/18 Вск 19:51:47 #34 №1158474 
>>1158406
спасибо.
а создать удаленный из локального получается нельзя?
>git remote add && git push -u master
&& - что это?
Аноним 18/03/18 Вск 20:04:19 #35 №1158487 
>>1158173
В общем плане вкусовщина. Для новичка- если совсем нуб, проще будет электрон, если нуб, но при этом много пилил расширений под хром и знаком с его хромовским api - nwjs.

В не общем плане, разница в построении архитектуры приложеия на низком уровне. Если у тебя ПО для которого важно то,к ак устроенна в нем мультипроцессорность, как именно и по какой логике создаются рендер процессы, работа с контекстами ноды\браузе, и прочее, то тут есть разница. (самое очевидно из такого, nwjs позволяет не создавать на каждое новое нативное окно по процессу, в то время как в электроне это невозможно).

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

Electron построен вокруг CEF, NWJS вокруг полноценного хромиума. Вся разница в том, как контексты ноды внедряются в браузер движка, и как дергаются нативные апи. (в электроне это обертки над cef, в nwjs это переиспользование апи для chrome apps\extensions.) Короче говоря, разница эта важна только в очень специфических случаях.
Аноним 18/03/18 Вск 20:12:58 #36 №1158497 
>>1158390
>например создал папку на рабочем столе -> сделал в ней git init
В командной строке переходишь в нужный каталог и делоешь git init
>и как через командную строку дальше разместить его на гихабе?
git push

На, читай https://git-scm.com/book/ru/v2/
Аноним 18/03/18 Вск 20:13:59 #37 №1158499 
>>1158474
создать реп на гитхабе из командной строки, ты про это? гитом - никак, git - это не клиент для гитхаба. в github desktop наверное можно.
Аноним 18/03/18 Вск 20:19:46 #38 №1158502 
>>1158474
>а создать удаленный из локального получается нельзя?
Используя github API можно.
https://stackoverflow.com/questions/2423777/is-it-possible-to-create-a-remote-repo-on-github-from-the-cli-without-opening-br/10325316#10325316
https://stackoverflow.com/questions/28385884/how-to-create-repository-in-github-through-github-api
Аноним 18/03/18 Вск 21:08:10 #39 №1158551 
>>1158487
А мне вот больше электрон приглянулся, так как по стилю программирования он как нода, а нвжс показался "простоватым"(понятно, что не в плане возможностей). Не знаю, как объяснить. Ну и по быстродействию, нвжс быстрее работает лично у меня.
мимо
Аноним 18/03/18 Вск 21:15:48 #40 №1158555 
>>1158551
У них совершенно одинаковые возможности в плане функционала, который они предоставляют и позволяют реализовать.

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

Аноним 18/03/18 Вск 21:20:09 #41 №1158556 
>>1158487
Ну и если это важно, то - nwjs старше электрона. Электрон пилится гитхабом + сообществом, но рулится самим гитхабом и его компанией. Это изначально корпоративный проект, хотя начинался тоже как проект одного единственного чувака (до релиза atom-shella, он пилил PoC у него есть в его репозитории).

nwjs пилится в сущности одним чуваком + сообществом + инвестиции от компаний (в nwjs вливаются intel). Короче как-то так.

Аноним 18/03/18 Вск 21:20:49 #42 №1158558 
>>1158556
А, ну еще когда все начиналось, был AppJS, но он очень быстро сдох не выдержав конкуренции.

Аноним 18/03/18 Вск 21:25:48 #43 №1158562 
>>1158556
Это о том, что на электрон подвязано намного больше продакшен проектов корпораций (атом, vscode), что собственно не даст ему просто так внезапно если вдруг что издохнуть.

С nwjs дела иначе, на нем таких крупных массовых проектов вроде нет.
Аноним 18/03/18 Вск 21:27:44 #44 №1158563 
>>1158562
Электрон в общем-то и выстрелил в тот момент, когда разработка nwjs сильно затормозилась. Истории была очень похожа на раскол node.js на io.js, собственно и просиходила в тоже время. Хотя в тих случаях это история была не о форках, а о платформах.
Аноним 18/03/18 Вск 21:29:33 #45 №1158564 
>>1158497
>>1158499
>>1158502
Спасибо
Аноним 18/03/18 Вск 21:37:44 #46 №1158569 
>>1158487
>если совсем нуб, проще будет электрон, если нуб, но при этом много пилил расширений под хром и знаком с его хромовским api - nwjs
Видимо я как-то не правильный нуб. Электрон мне показался сложнее, чем нвжс.
Аноним 18/03/18 Вск 22:38:05 #47 №1158599 
Рили, есть какие-то норм группы для вкатывальщиков JS? Где уже есть те, кто не просто млять переменные создавал но и слайдер какой-то запилил. А то все что не попадается мне - мертвые конфы. Не с кем и посоветоваться.
Аноним 18/03/18 Вск 23:14:28 #48 №1158613 
>>1158599
Зачем тебе с кем-то советоваться? Сиди и дрочи сначала базовые конструкции языка. Потом придумай себе задачу и пили её. Далее план всегда одинаковый:
0. Хочу сделать N
1. Не знаю, как сделать
2. Гугл
3. Гугл
4. Гугл
5. Гугл
6. Спросить конкретно твой вопрос на стаковерфлоу/2чч.хека/пр
7. go to 0

Со временем будет опыт, что-то будешь делать без гугла или хотя бы будешь конкретно знать, где искать. Так примерно вся разработка на всех языках и происходит, если ты, конечно не синьёр и не пишешь всё на память(кроме синьёров 2000 года рождения)
Аноним 19/03/18 Пнд 05:03:05 #49 №1158688 
https://jsbin.com/qenotuzuto/edit?js

Котаны, давно забил на JS. Напомните правильно ли я помню (и понимаю) как работает async/await:
После инструкции await ожидается промис, после чего конструкция ожидает пока этот промис выполнится и результат из него (resolve или reject, не важно вроде) будут переданы в константу, в данном случае в res. В конце функция обозначенная как async всегда будет возвращать промис, даже если там примитив, т.е оно неявно создает промис в выполненном состоянии и возвращает его, поэтому этот async можно передать в другой await тем самым как бы создавая цепочку.
Аноним 19/03/18 Пнд 06:17:42 #50 №1158691 
>>1158688
>Котаны, давно забил на JS
Тот, кому простить предательство, будет предавать тебя всю жизнь.

Иди туда, где был. Отныне мое сердце принадлежит другому.
Аноним 19/03/18 Пнд 06:48:08 #51 №1158692 
>>1158688
Если промис реджектится, то await выдаст ошибку, так что await нужно в try/catch заворачивать.

>В конце функция <...> как бы создавая цепочку.
Хуй знает, что ты тут имел в виду, но скорее всего ответ да.
>async function f(){return 5}
>const p = f(); // p — промис
>const r = await p; // r == 5
Аноним 19/03/18 Пнд 07:46:54 #52 №1158698 
Как можно реализовать плеер аудио с ютуба, кроме банального встраивания плеера в страницу и скрытия видео?
Пакет нпм YouTube-audio-stream какой то уебанский, ничо не понятно. Смог консольный плеер замутить только.
А мне веб нужен. Хелп.
надо создавать аудио-стрим как то? А как? Если для экспресса есть догадки, то как на коа реализовать - я в тупике.
Аноним 19/03/18 Пнд 08:04:32 #53 №1158705 
>>1158692
Спасибо братишка. А то я уже стал разбираться с библиотеков 'co', чтобы вспомнить как эта хуйня вся работает. Там же вроде на корутинах все реализовано было.
Аноним 19/03/18 Пнд 10:09:18 #54 №1158767 
.png
>>1157660 (OP)
Есть существующий сайт, пишу юзерскрипт для себя. Ясно, что я вообще понятия не имею как это делать.
И мне в общем нужно изменить элемент на пикриле. Что это такое и как к нему обратиться, чтобы изменить стили у него?
Аноним 19/03/18 Пнд 10:54:14 #55 №1158781 
>>1158698
Ты аудио-файл с ютуба получить не можешь или имея аудио на сервере на сайт не можешь застримить его?
youtube-dl -f <код_формата_для_аудио> -g <video_id>
Получаешь прямую ссылку на аудио файл, дальше хоть в <video> вставляй.
(вебм аудио, работающее в html5 video имеет коды 251, 250 и 249 самые часто доступные, остальные в сорцах youtube-dl сам найдёшь).
Аноним 19/03/18 Пнд 11:08:23 #56 №1158786 
>>1158698
>Пакет нпм YouTube-audio-stream какой то уебанский, ничо не понятно.
А тут ютуб виноват, не дают, гады, нормального АПИ для скачивания всех форматов. Я youtube-dl на js для себя портировал, там да, жопа та ещё, особенно для декрипта сигнатур всяких.

Алсо, упомянутая тобой либа какая-то ниочинь, она какчает видео и с помощью ffmpeg'а конвертит в аудио. Лучше вот https://github.com/fent/node-ytdl-core попробуй.
Аноним 19/03/18 Пнд 12:08:45 #57 №1158816 
>>1158767
Это псевдоэлемент, по-моему через JS к нему не обратишься никак
Аноним 19/03/18 Пнд 12:11:04 #58 №1158818 
>>1158816
Да я уже нашёл. Похоже что и правда там всё очень плохо
Аноним 19/03/18 Пнд 12:16:35 #59 №1158823 
На каком уровне мне нужно знать JS если я буду писать на TypeScript?
Сам я c# макака, но начинал свой путь с JS и многое уже подзабыл, и вот думаю стоит пройтись по JS и вспомнить его или сразу заняться TS?
Аноним 19/03/18 Пнд 12:25:22 #60 №1158827 
>>1158816
Не подскажешь как добавить таблицу стилей в документ?
[CODE].b-link_button.is-censored::before{
content: '';
}[/CODE]
Аноним 19/03/18 Пнд 12:30:38 #61 №1158829 
>>1158823
Нахуя он тебе? Ты ебанутый? Вся прелесть жс в динамической типизации.
Аноним 19/03/18 Пнд 12:31:22 #62 №1158831 
>>1158827
CSS-ку кастомную? Я через плагины браузерные добавлял свои правила на лисе Stylish, например
Аноним 19/03/18 Пнд 12:34:46 #63 №1158833 
>>1158829
Проект в котором я буду участвовать делается на TS
Аноним 19/03/18 Пнд 12:45:08 #64 №1158838 
>>1158831
> CSS-ку кастомную?
Ну я насколько понял - да.
> Я через плагины браузерные добавлял свои правила на лисе Stylish, например
Да не хотелось бы ещё лишний плагин заводить.
Аноним 19/03/18 Пнд 13:32:56 #65 №1158855 
>>1158786
Ютуб не то, что бы виноват. Просто это против TOS его.
Спасибо за либу.
Аноним 19/03/18 Пнд 18:15:00 #66 №1159029 
592133aed4a1815c29b1e317.png
>>1157660 (OP)
!! vs Boolean()

Чё пизже?
Аноним 19/03/18 Пнд 18:16:59 #67 №1159030 
>>1159029
Первое, очевидно. 2 символа против 9.
Аноним 19/03/18 Пнд 18:20:16 #68 №1159034 
Жабосеры, вкатывальщик ебучий итт. Очень интересует такое ебливое явление, как curyying. Оно же блять ебанутое, оно надо вообще? Или это вебмакаки придумали, чтобы их нормальные программисты не так сильно говном поливали?
Аноним 19/03/18 Пнд 18:24:52 #69 №1159039 
>>1159029
бля я и не знал о втором способе
Аноним 19/03/18 Пнд 19:07:58 #70 №1159058 
Господа, помогите пожалуйста, в одном моменте.
Задача:

Простейший экспресс (или чистая нода) сервер локально.
Принимает с локальной реакт аппы запрос, редиректит на адрес, получает ответ, редиректит реактовской аппе.

Покажите пример, как реализовать, пожалуйста.
Аноним 19/03/18 Пнд 19:13:11 #71 №1159062 
image.png
>>1159034
Заходи поясню
Аноним 19/03/18 Пнд 20:02:53 #72 №1159112 
>>1159034
Надо, охуенная тема. Смотри funfunfunction, читай вот эту хуйню - https://github.com/MostlyAdequate/mostly-adequate-guide
Аноним 19/03/18 Пнд 20:21:21 #73 №1159138 
>>1158767
не оч понял что ты именно хочешь
если тебе нужен before.content - добавляй свой цсс через addstyle
Аноним 19/03/18 Пнд 20:22:03 #74 №1159140 
Аноны, посоветуйте хороший IDE под жабаскрипт и особенно Node.js. Хочу чтобы как в Эклипсе можно было нажать на функцию и посмотреть как она работает в библиотеке, если я захочу ее переписывать, или в свой код утащить.
Аноним 19/03/18 Пнд 20:43:55 #75 №1159156 
>>1159140
Vim
Аноним 19/03/18 Пнд 20:57:09 #76 №1159162 
>>1159140
Такой нет, т.к. язык динамический. Более-менее нормально работает VS Code и Webstorm, там Typescript definitions есть.
Аноним 19/03/18 Пнд 21:16:05 #77 №1159172 
>>1158260
бамп
Аноним 19/03/18 Пнд 21:49:44 #78 №1159191 
>>1159156
Если бы мне нужен был текстовый редактор, я бы спрашивал в ньюфаг-треде.

>>1159162
А чего-то уровня Eclipse под C нету?
Аноним 19/03/18 Пнд 22:37:31 #79 №1159228 
>>1158767
создать из js правило css с описанием этого псевоэлемента и поместить его в CSSOM
Аноним 19/03/18 Пнд 23:42:54 #80 №1159287 
Есть аутентификация по токену, который хранится в localStorage. В токене хранится информация об аватаре и имени пользователя. На стороне клиента декодится и уже на основе этих данных рендерится личный кабинет, в котором можно поменять аватарку и юзернейм. После того, как пользователь решил поменять что-то, идет патч запрос на сервер, там вся инфа обновляется. Но вот теперь на стороне клиента, если обновить страницу, то данные ведь берутся из старого токена, где ничего не обновилось.
И как лучше с этим быть? Сервер мой, могу просто на каждый патч запрос вешать новый токен с обновленной инфой и на стороне клиента тоже его использовать. Это вообще логично? Как подобные приложения должны работать? Кажется, я уже с логикой где-то налажал.
Аноним 20/03/18 Втр 00:15:11 #81 №1159320 
>>1159287
О, я придумал. Кажется, будет проще не в токене хранить юзеринфо, а каждый раз, как страница обновляется, слать запрос на сервер, чтобы он возвращал нужные данные о залогиненном пользователе, а по токену будет просто аутентификация.
А зачем мне вообще в токен что-то пихать? Почему так делали в видео, по которым я учился? Там, наверное, статическая информация была. Ну и ладно.

Ну, если я конечно все делаю неправильно, то можете что-нибудь подсказать.
Аноним 20/03/18 Втр 01:47:52 #82 №1159347 
https://jsfiddle.net/pptr6p1s/

Можно ли как-то сохранить получаемые данные из jsonа в переменную result и использовать вне функции? Получается только вывод в консоль, алерт итд.
Аноним 20/03/18 Втр 03:23:06 #83 №1159355 
>>1157660 (OP)
Так, аноны, вот есть у меня библиотека, в библиотеке в одной из функций есть такой вызов:

var querystring = require('querystring');
var https = require('https');

var postreq = https.request(options);

postreq.write(postBody);
postreq.end();

Как мне посмотреть что именно эти функции делают?
Аноним 20/03/18 Втр 03:27:52 #84 №1159356 
>>1159347
Как вы заебали. Иди читай про асинхронное программирование. И учись тому, что тебе не надо сохранять свои данные из жсона в переменную, блядь.
Аноним 20/03/18 Втр 03:29:02 #85 №1159357 
>>1159355
node-inspector
Аноним 20/03/18 Втр 03:49:24 #86 №1159358 
>>1159356
Да пошел ты нахуй, пидрила
Аноним 20/03/18 Втр 04:07:24 #87 №1159362 
>>1159357
И как им пользоваться?

Там в официальной документации охуительное объяснение уровня запускаешь@писоешь@какоешь

https://nodejs.org/en/docs/guides/debugging-getting-started/
Аноним 20/03/18 Втр 04:09:15 #88 №1159363 
>>1159362
Запускаешь. Он тебе пишет порт. Открываешь блядь вdevtools в хроме ссылку, и работаешь. Там ахуенное описание. Все понятно даже идиоту.
Аноним 20/03/18 Втр 04:10:21 #89 №1159364 
>>1159362
Не хочешь девтулс в хроме, можешь в вс коде.

Написано же всё https://nodejs.org/en/docs/inspector/
Аноним 20/03/18 Втр 04:16:06 #90 №1159365 
>>1159362
Или ты ждешь, что тебе там будет написано как дебаггером пользоваться? ТОгда вынжужден тебя разочаровать, как пользоваться дебаггером конкретной среды, которой ты пользуешься - ты должен и так знать. Инспектор лишь предоставляет протокол для взаимоействия тоего дебаггера с нодой.
Аноним 20/03/18 Втр 04:30:25 #91 №1159370 
image.png
>>1159363
Мне непонятно, можешь считать меня идиотом.

>Он тебе пишет порт. Открываешь блядь вdevtools в хроме ссылку, и работаешь.
Пикрелейтед. Ну или WebSockets request was expected если ws:// убрать

>>1159364
А так чтобы без установки всякого левого говна?

>>1159365
Вообще я задавал конкретный вопрос, как мне посмотреть что делают функции: >>1159355

В C для того чтобы это сделать я сразу открываю хедер с нужной функцией, если что потом еще в сорцы могу залезть. И в эклипсе это у меня так настроено, что я по ЛКМ+Ctrl сразу открываю функцию. Ну я и хочу похожий функционал, но для редактора ноды, чтобы не копаться в сотне файлов и искать где же там эта херня реализована.
Аноним 20/03/18 Втр 04:34:48 #92 №1159371 
>>1159370
>А так чтобы без установки всякого левого говна?
>в эклипсе это у меня так
/0

Аноним 20/03/18 Втр 04:35:38 #93 №1159372 
>>1159370
>В C для того чтобы это сделать я сразу открываю хедер с нужной функцией
Документацию читать не пробовал?
Аноним 20/03/18 Втр 04:36:35 #94 №1159373 
>>1159370
>Пикрелейтед
>Chrome DevTools
>Option 1: Open chrome://inspect in a Chromium-based browser. Click the "Open dedicated DevTools for Node" link.

А ты что блядь открываешь?
Аноним 20/03/18 Втр 05:19:38 #95 №1159375 
image.png
image.png
>>1159372
>>1159373
Так, ну Хром вроде напердолил. В Хроме не открывался, пришлось открывать в Chromium, вроде немного разобрался.

Почему первый вариант нормально срабатывает, а второй вариант отправляет реквест, но выдает мне исключение? В других ООП так можно делать.
Аноним 20/03/18 Втр 05:22:17 #96 №1159376 
>>1159375
Ой дурак.

Тебе не дебаггер нужен. И не исходники читать.
иди, читать, документацию блядь. https://nodejs.org/dist/latest-v9.x/docs/api/
Аноним 20/03/18 Втр 06:06:11 #97 №1159379 
>>1159376
У меня дедлайн через 3 дня, а еще нихуя не сделано, я только всякую документацию по Javascript открыл и в ней нихуя не понятно. У меня уже 200 вкладок в браузере открыто и я половину из них я прочитал, но нихуя не могу понять.

Сейчас пытаюсь разобраться, как мне выводить все мои https реквесты в лог.
Аноним 20/03/18 Втр 06:11:10 #98 №1159381 
>>1159379
>Сейчас пытаюсь разобраться, как мне выводить все мои https реквесты в лог.


Ебать. Сделать обертку вокруг модуля https в котором реализовать логгирование и использовать его вместо оригинального. Паттерн Прокси - слышал о таком, горее ООП-программист.
Аноним 20/03/18 Втр 07:36:44 #99 №1159392 
>>1159140
WebStorn. Я пользуюсь его аналогом для Java - IntelliJ IDEA, тут тоже есть поддержка джаваскрипта, в принципе норм работает. Правда тупит иногда.
Аноним 20/03/18 Втр 11:42:21 #100 №1159482 
>>1159030
Да, но второе семантически правильнее, как бы сразу очевидно что оно делает и это функция. Можно делать так: arr.map(Boolean). Возможно оно и работает быстрее, но не уверен.
Аноним 20/03/18 Втр 12:32:27 #101 №1159507 
>>1159381
Ты сюда самоутверждаться приходишь?
Аноним 20/03/18 Втр 12:40:18 #102 №1159509 
>>1159507
Если бы в его сообщениях не мелькало такой ахинеи как >>1159375
>В других ООП так можно делать.
То и ответы были бы иные.
Аноним 20/03/18 Втр 13:15:04 #103 №1159525 
Чуваки, а вот скажите. Как считаете, нормальная практика использовать промисы и асинки в более высокоуровневых целях?

Ну например, пишу я игру, и говорю гипотетическому персонажу human.raiseLeg('left'). Он раздумывает, запускает анимацию поднятия левой ноги, а после того, как анимация закончится, он кидает Promise.resolve(). Я резолв принимаю и после этого говорю ему: human.raiseLeg('right'). Он раздумывает, а потом кидает Promise.reject('Я что, на хуе стоять должен?'). Я в кэтче это ловлю и отправляю пользователю соответствующее сообщение, предлагая поразмыслить ему над более подходящей командой.

Вот насколько так правильно делать? Я заметил, что 1) к моим реджектам подмешиваются другие эксепшены типа ReferenceError, и 2) даже если отделять мои сообщения от остальных исключений, дебажить становится трудно, потому что через промисы просерается стек вызовов. Или может, по крайней мере, возвращать мои ошибки через резолв типа resolve({ fail: 'Я что, на хуе стоять должен?' })? Или вообще как бы вы подобную задачу решили?
Аноним 20/03/18 Втр 15:43:12 #104 №1159607 
>>1159509
Ты наверное на первоклассников тоже кричишь, что они дебилы и умножать даже не умеют
Аноним 20/03/18 Втр 20:11:08 #105 №1159731 
>>1159381
>Паттерн Прокси
che?
Аноним 20/03/18 Втр 20:12:23 #106 №1159733 
>>1159525
А обычный лисенер хуже?
Аноним 20/03/18 Втр 20:23:28 #107 №1159740 
Анон, вопрос по AngularJS: как запилить обновление данных на странице с интервалом И без перезагрузки (ну т.е. чтобы уже отображенные данные не исчезли).
Аноним 20/03/18 Втр 23:43:28 #108 №1159850 
>>1159381
Так, ну с хуйней разобрался более менее.

Мне на самом деле не сам Javascript нужен, а понять как работает сетевой стэк Дискордовского API, ну вот я и пытаюсь развинтить эту либу: https://discord.js.org/

Сейчас пока только разобрался как отправлять сообщения через Webhooks, и то там свои ньюансы.

Сейчас пытаюсь понять этот код и как именно он принимает сообщения на сетевом уровне, то есть чтобы что-то подобное я мог провернуть с curl-ом или другой подобной библиотекой: https://gist.github.com/eslachance/3349734a98d30011bb202f47342601d3
Аноним 21/03/18 Срд 00:04:17 #109 №1159870 
>>1159607
Конечно, кричу. Я же учитель в школе.
Аноним 21/03/18 Срд 01:37:44 #110 №1159894 
>>1159870
Хорошо. Не кричишь, а обзываешь
Аноним 21/03/18 Срд 02:36:06 #111 №1159905 
>>1159733
С промисами проще писать тесты, поэтому решил склониться к ним. И вот вопрос, а может зря?
Аноним 21/03/18 Срд 09:06:26 #112 №1159947 
Посоны почему иногда надо писать в фигурных скобках импорт а иногда нет?

import React, { Component } from 'react';
Аноним 21/03/18 Срд 09:12:27 #113 №1159949 
>>1159947
>import React, { Component } from 'react';
>Component === React.Component

подумой
Аноним 21/03/18 Срд 10:43:13 #114 №1159967 
Стоит ли учить вью?
Аноним 21/03/18 Срд 11:06:23 #115 №1159975 
>>1159967
После реакта можно развлечься, может вакансия подвернется, че бы нет.
Аноним 21/03/18 Срд 11:28:49 #116 №1159980 
15196428985980.png
Анон, а как обстоят дела с работой заграницей? Готовы ли работодатели помочь с релокейтом или они предпочитают местных макак? Все таки речь идёт о жсе. И знающих его довольно много, из-за низкого порога вхождения.
мимо засматриваюсь на джава и питоно макак, которых пачками перевозят заграницу.
Аноним 21/03/18 Срд 12:40:59 #117 №1159996 
>>1159980
>помочь с релокейтом
>жс
Ору.
Ты бы ещё спросил про хтмл с ксс.
Аноним 21/03/18 Срд 12:44:45 #118 №1159998 
>>1159947
Кури деструктуризайию в ES6
Аноним 21/03/18 Срд 13:19:20 #119 №1160009 
>>1159998
Спс
Аноним 21/03/18 Срд 16:39:16 #120 №1160127 
Аноны, почему все базовые объекты ссылаются на Object.prototype? Зачем так сделано? Можно же было сразу ссылаться на Object. То есть не __proto__ = Object.prototype, а __proto__ = Object. В чем смысл?
Аноним 21/03/18 Срд 17:06:09 #121 №1160141 
помогите , не совсем понимаю этот синтаксис >~_.indexOf() в const hasEmptyCell = arr => ~_.indexOf(arr, e)
Аноним 21/03/18 Срд 17:19:36 #122 №1160150 
>>1160141
Тильда это побитовое отрицание
Аноним 21/03/18 Срд 17:26:50 #123 №1160152 
>>1160150
благодарю
Аноним 21/03/18 Срд 17:32:34 #124 №1160155 
>>1160150
еще вопрос назрел . То есть indexOf() вернет индекс первого элемента массива , значение которого не равно e ?
Аноним 21/03/18 Срд 17:54:38 #125 №1160170 
>>1160155
>не равно
почему "не"?
Аноним 21/03/18 Срд 18:01:21 #126 №1160173 
>>1160170
так ведь перед indexOf() стоит отрицание ~ . значит функция будет работать в обратном направлении .
если бы небыло отрицания - indexOf вернула бы индекс элемента , значение которого = e
Аноним 21/03/18 Срд 18:08:28 #127 №1160175 
>>1160127
Думаю, это сделано для того, чтобы не похерить все делегируемые объекты, модифицировав их прототипный объект.
Аноним 21/03/18 Срд 18:19:47 #128 №1160177 
>>1159525
Как-то так, я с телефона, пофикси там если что.
https://jsfiddle.net/ffyfm9xp/1/
Аноним 21/03/18 Срд 18:26:46 #129 №1160180 
>>1160175
В смысле? Я не понимаю твой ответ. Можно спокойно изменить любой метод в любом прототипе, в том числе стандартный в базовых объектах. Так в чем смысл отдельного свойства prototype?
Аноним 21/03/18 Срд 18:31:27 #130 №1160181 
>>1160155
Вернет значение индекса и потом применит побитовое отрицание. То же самое что перевести число в двоичное представление и заменить нули на единицы а единицы на нули
Аноним 21/03/18 Срд 18:46:06 #131 №1160187 
>>1160173
>отрицание ~
побитовое отрицание. Это не логическое НЕ.
~01011100 = 10100011

~0 = -1
~1 = -2
~2 = -3
и т.д.
Аноним 21/03/18 Срд 22:38:09 #132 №1160352 
15105558161030.jpg
сап веб-макакены . Собираюсь написать блог для поднятия скилла. Хочу сделать его полноценным веб-приложением . правильно ли я понимаю данную штуку:

есть клиентская (VIEW) часть для нее я выбрал библиотеку React . состояние приложения я буду хранить в store Redux .

для серверной части :
нужен роутинг , для этого буду юзать react-router
база данных - MySQL . для взаимодействия с БД использовать планирую PHP .

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

Правильно ли я понимаю взаимодействие между клиентской и серверной частью ? не намудил ли с выбором инструментов ?
Аноним 21/03/18 Срд 22:53:50 #133 №1160366 
>>1160352
Нахрена тебе библиотеки? Ты что, сам не сможешь написать весь код?
Аноним 21/03/18 Срд 23:08:36 #134 №1160383 
>>1160366
ты либо остряк , либо очень глупый
Аноним 22/03/18 Чтв 03:33:13 #135 №1160473 
>>1160352
>Правильно ли я понимаю взаимодействие между клиентской и серверной частью ? не намудил ли с выбором инструментов ?
Вот на этом этапе стоило бы задуматься, правильно ли ты поступаешь, что дрочишь инструменты не понимая основ.
Аноним 22/03/18 Чтв 09:05:37 #136 №1160542 
Приветствую. Хочу удаленную работу с навыком полученным через самообучение. Навык должен расти вместе с опытом.
Прошу объяснить без категоричных высказываний - туда ли я зашел?
Если мне придется работать не удаленно определенное время для стажа - я готов, не критично. Важна первоначальная цель.
Аноним 22/03/18 Чтв 09:06:29 #137 №1160544 
>>1160542
>Прошу объяснить без категоричных высказываний - туда ли я зашел?
Нет.
Аноним 22/03/18 Чтв 09:09:24 #138 №1160545 
>>1160352
Нормана, главное делай, через 100 сайтов ты считай уже мастер верстки, методологии и всего всего.
Но мой совет: Спрашивать это хорошо, но ведь самому попробовать это неплохо?

Главное вести отчет о себе в Гите, но правда я не знаю какая у тебя цель, деньги или Искусство.
Аноним 22/03/18 Чтв 09:11:55 #139 №1160547 
>>1160544
Пидора ответ.
Аноним 22/03/18 Чтв 09:14:31 #140 №1160549 
>>1160542
>>1160547
Вотнихуясебе, ты зачем мой пост из пыхапе треда закопипастил?
Дискредетировать меня собрался? Или ты так помогаешь своей рекомендацией пацанского JS треда в том треде?
Аноним 22/03/18 Чтв 09:18:47 #141 №1160553 
>>1160549
>зачем мой пост из пыхапе треда закопипастил?
Мне просто интересно было как местные отнесутся к этому посту.
Аноним 22/03/18 Чтв 09:21:27 #142 №1160554 
>>1160553
Реакция везде одинаковая: 1-2 ответов на вопросы, 10 подрывов уровня "КАК ОН ПОСМЕЛ?!".

>Пришел какой-то залетный хуесос, который ни дня не учился и ни сделал ни одной задачи и сходу начинает спрашивать про работу и перспективы.
Аноним 22/03/18 Чтв 09:23:15 #143 №1160555 
>>1160554
Я хочу больше подрывов. Пойду в рубитред запощу. Хотя все рубисты передохли уже.
Аноним 22/03/18 Чтв 09:53:32 #144 №1160561 
>>1160555
Вернулся из рубитреда. Там мне предложили написать HelloWorld и предложили зп 300к в месяц руби программистом.
Аноним 22/03/18 Чтв 11:23:54 #145 №1160595 
>>1160177
Спасибо за интерпретацию, но у меня вопрос именно в асинхронных методах. То есть, ты вызвал moveLeftLeg, он подумал, сходил покурить, вызвал какой-нибудь setTimeout, доложил серверу о том, что ты приказал ему поднять ногу, и только потом поднял. А следующую команду ему нужно дать только, когда он закончит предыдущую. И вот здесь у меня прямо чешутся руки делать это через промисы, учитывая все вышеописанные недостатки.
Аноним 22/03/18 Чтв 11:28:29 #146 №1160600 
>>1160180
В том, что если мы унаследуем первый объект от второго, а потом поменяем свойство второго объекта именно объекта, а не его прототипа, то это не затронет унаследованный объект, прототип останется неизменным. Можно и прототип поменять, никто не запрещает. Но тогда это затронет и все делегирующие объекты, если у них внутри себя эти свойства не переопределены.
Аноним 22/03/18 Чтв 12:08:27 #147 №1160618 
Спасибо за список учебных материвалов

Mongodb express актуально?
Аноним 22/03/18 Чтв 12:55:38 #148 №1160632 
>>1160618
Для лохов. Юзай redis и koa.
Аноним 22/03/18 Чтв 14:45:42 #149 №1160702 
>>1160595
Давай больше инфы с конкретной задачей, я хуй знает что тебе нужно там.
Аноним 22/03/18 Чтв 18:11:53 #150 №1160836 
>>1160352
реакт-роутер для роутинга серверной части на пхп, че
Аноним 23/03/18 Птн 00:25:30 #151 №1161052 
image.png
анончики, как сделать вывод рейтинга фильма с кинопоиска с помощью чистого js, можно и jq, например вот этого https://rating.kinopoisk.ru/818144.xml
Аноним 23/03/18 Птн 00:32:56 #152 №1161054 
>>1161052
с помощью чистого js, можно и jq
Аноним 23/03/18 Птн 09:51:44 #153 №1161144 
>>1161052
Скачать xml'ку, распарсить, отобразить данные, как и где тебе нужно. В чём вопрос?
Аноним 23/03/18 Птн 10:15:04 #154 №1161147 
image.png
Аноны, решил вкатить себя в ваш апельсиновый джус. И сразу начал буксовать. Объясните мне за замыкания. Вот 2 скрина. Почему первый вариант работает, а второй нет. Разницу я выделил (как железа).
Аноним 23/03/18 Птн 10:16:26 #155 №1161148 
>>1161147
Вроде эквивалентные операции же, почему в первом случае переменна становится статической, а во втором - нет.
Аноним 23/03/18 Птн 10:36:12 #156 №1161154 
>>1161147
(() =>{...}) () ; - синтаксис функции, которая вызывается сразу же. Без () в конце она не будет вызываться.
Удали во втором варианте ( перед function и заработает.
Аноним 23/03/18 Птн 10:52:54 #157 №1161162 
>>1161154
То есть разница лишь в том, что в первом варианте она сразу вызывается, а во втором не сразу. То есть если функцию сразу при объявлении не вызвать, то переменная counter не сохранится, а если вызвать, то сохранится. Втф?
Аноним 23/03/18 Птн 10:55:47 #158 №1161163 
>>1161144
>Скачать xml'ку, распарсить, отобразить
>В чём вопрос?
Вот в этом, не умею.
Аноним 23/03/18 Птн 11:08:28 #159 №1161167 
>>1161163
Что у тебя есть сейчас вообще? Куда ты вывести хочешь?
Имей в виду, что из-за CORS'а просто так в скрипте на своём сайте в браузере эту xml'ку ты не скачаешь (так что jq бессилен).
Ну а на сервере в nodejs всё элементарно:
request(url, (err, resp, data) => {
xml2js(data, (err, data) => {
console.log(data) // { rating: { kp_rating: [ [Object] ], imdb_rating: [ [Object] ] } }
})
})
Аноним 23/03/18 Птн 11:10:50 #160 №1161169 
>>1161162
А первом случае ты делаешь один вызов, после которой у тебя появляяется одна единственная переменная counter в замыкании. И замыкание всего одно.

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

Что не понятного-то блядь.
Аноним 23/03/18 Птн 11:14:05 #161 №1161171 
>>1161162
Ты не пробовал упростить свой код, чтобы понять, в чем дело?

В первом случае у тебя он такой

>var counter = 0
>function myFunction() {
> element.innerHTML = counter++
>}

а во втором
>function myFunction() {
> var counter = 0
> element.innerHTML = counter++
>}
Аноним 23/03/18 Птн 11:14:41 #162 №1161172 
>>1161167
>просто так в скрипте на своём сайте в браузере эту xml'ку ты не скачаешь
из-за этого и пришёл сюда, так как не смог, к сожалению доступ есть только к дизайну, так что хотелось бы всё таки на стороне клиента выполнять, вот пример который из-за этого сейчас не работает yraaa.ru/scripts/rating-kinopoisk-imdb
Аноним 23/03/18 Птн 11:36:47 #163 №1161181 
>>1161172
https://developer.mozilla.org/ru/docs/Web/Security/Same-origin_policy
https://ru.wikipedia.org/wiki/Cross-origin_resource_sharing
Аноним 23/03/18 Птн 12:41:39 #164 №1161215 
>>1161171
Спасибо, анон. Я понял. Правда минут 15 доходило, но разобрался.
Я искал проблему в первой функции, а она оказалась во второй.
Вторая функция стирала из памяти мое замыкание каждый раз после своего завершения.
Если добавить перед ней add = add(); то все снова работает.
Аноним 23/03/18 Птн 13:28:04 #165 №1161241 
Ананасы, вот на jsfiddle используется классный линтер который показывает ошибки в синтаксесе. Ест что нибудь подобное на сублим или vs code?
Аноним 23/03/18 Птн 13:49:56 #166 №1161260 
>>1161147
Второе не наботает потому, что он каждый раз создаёт новую функцию и вызывает её. В первом случае функция создаётся изначально и вызывается одна и та же.
Аноним 23/03/18 Птн 14:13:04 #167 №1161269 
Господа, есть список состоящий из N элементов, в зависимости от того, какой элемент в списке выберет юзер - должна отображаться та или иная форма на странице.
Как организовать это всё? Или хотя бы как загуглить правильно?
Аноним 23/03/18 Птн 14:40:34 #168 №1161277 
>>1161269
Повесить обработчик на список, который будет смотреть какой нибудь дата аттрибут у event. Target и в зависимости от этого аттрибута открывать/показывать форму. Гугли делегирование событий.
Аноним 23/03/18 Птн 14:48:51 #169 №1161284 
>>1158336
Максимально важно
Аноним 23/03/18 Птн 15:11:36 #170 №1161295 
>>1161277
Так и сделал, по id выцепляю выбранный элемент из списка и отображаю нужную форму, через show/hide.
Но вот теперь проблема - поля во всех формах required=True, и когда форма скрыта, а поля в ней не заполнены, то данные не хотят отправляться.
Какие есть варинты решения?
required=False - не самый лучший вариант т.к. не хочу на стороне сервера ещё и заполненность формы проверять.
Аноним 23/03/18 Птн 15:28:54 #171 №1161300 
>>1161295
Динамически создавать форму с валидацией в процессе.
Динамически заполнять required.
Проверять заполнение формы вручную (не использовать required).
Халявы нет.
Аноним 23/03/18 Птн 20:23:30 #172 №1161466 
Почему когда я добавляю атрибут html-тегу через jquery метод .data(id, 1), то в тексте страницы его не видно? Это же эквивалентно тому, что я ручками прописал <tr data-id="1">?
Аноним 23/03/18 Птн 20:41:29 #173 №1161472 
>>1161466
Потому, что не в тексте надо смотреть, а в отладчике (DOM).
Аноним 23/03/18 Птн 21:07:07 #174 №1161484 
когда оправдано исп ноды?
Аноним 23/03/18 Птн 21:23:46 #175 №1161489 
>>1161300
Ох-хо-хо
Я с JS вообще не знаком.
Печально-сложные,для меня, пути решения, ладно.
Спасибо за помощь.
Аноним 23/03/18 Птн 22:38:24 #176 №1161521 
>>1161052
Апи их загугли
Аноним 24/03/18 Суб 00:12:25 #177 №1161565 
>>1161489
На самом деле, можно попробовать такой фокус:
Изначально required не ставишь вообще.
Для элементов формы, которые должны быть required, делаешь класс типа "frm_required".

Дальше - у тебя же есть набор элементов, которые ты показываешь в данный момент? Допустим, они у тебя в переменной $currFrmElts. Тогда ты пишешь:
$currFrmElts.find(".frm_required").prop("required", true);
Вместо переменной у тебя может быть селектор:
$(...).find(...).prop(...);
Аноним 24/03/18 Суб 01:05:14 #178 №1161587 
>>1161565
Я понял, всё логично, спасибо, заюзаю такой вариант.
Аноним 24/03/18 Суб 01:06:17 #179 №1161589 
>>1157660 (OP)
> Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования.
Вот это спизданул. На плакат нахуй.
Аноним 24/03/18 Суб 06:30:18 #180 №1161629 
>>1161241
ESLint
Аноним 24/03/18 Суб 09:17:32 #181 №1161639 
как "правильно" использовать бутстрап 4 с реакт/вебпаком?

просто инклудить CDN в HTML нормально?
для чего существует bootstrap-react ?
Аноним 24/03/18 Суб 09:43:36 #182 №1161646 
>>1161639
правильно посмотреть в доках CRA bootstrap-react и просто bootstrap как они работают вместе. Инклюдить в хтмл хуйня, собери нормально, чтобы все пакеты из твоей сборки вебпака применились к бутстрапу.
Аноним 24/03/18 Суб 11:06:29 #183 №1161668 
>>1161646
а какие подводные если инклудить в ХТЛМ все же?
спрашиваю так как bootstrap-react не поддерживает bootstrap 4.
Аноним 24/03/18 Суб 14:09:28 #184 №1161779 
>>1161668
я ен пробовал, но предполагаю, что если все вебпаковские модули сработают (глянь сколько их в cra) на одной части кода и не сработают на той что с сдна будет неоч. Ну и лишний запрос с целой библиотекой не ок, когда тебе нужны только некоторые части, которые и запихаются в бандл.
Аноним 24/03/18 Суб 16:32:14 #185 №1161880 
>>1161466
Кстати, если мне надо сделать каждую строку таблицы кликабельной, чтобы при нажатии открывалась страница с описанием этого объекта, хранить id как <tr data-id="1"> это норм? Если без Jquery.
Аноним 24/03/18 Суб 17:42:47 #186 №1161905 
>>1161779
ок спасиб анон, пока пришлось взять бутстрап 3, так как столько времени копаться с этой хренью нету.
Аноним 24/03/18 Суб 19:43:48 #187 №1161963 
Где искать примеры реального кода? Вот к примеру я уже более менее освоил стандарт, ES6 фичи, штмл, ксс + синтаксис реакта, для понимания к чему мне надо стремиться я хотел бы увидеть как выглядит реальный, профессионально написанный, проект на том же реакте, какие есть стандартные приёмы и практики, но где искать фиг знает. Про гитхаб знаю, но где там искать, учитывая, что уровнем моих знаний я не смогу отличить говнокод, от эталонного.
Аноним 24/03/18 Суб 20:10:29 #188 №1161989 
Какого хуя у меня в jquery tr не выбираются?
Аноним 24/03/18 Суб 20:16:49 #189 №1161992 
>>1161989
А, все.
Аноним 24/03/18 Суб 20:32:20 #190 №1161999 
>>1161963
в гугле. я по этому учусь сейчас.
https://github.com/AdaptiveConsulting/ReactiveTraderCloud
Аноним 24/03/18 Суб 23:45:19 #191 №1162109 
Чем навигацию по страничкам сделать?
Аноним 25/03/18 Вск 10:10:40 #192 №1162199 
>>1161295
На стороне сервера валидацию в любом случае надо делать. Потому что послать данные на сервер не через пользовательский интерфейс, а как-то ещё (например, через Postman или Curl) — дело пяти минут. На клиенте валидацию делают только для удобства пользователя, а не в качестве реальной меры безопасности.
Аноним 25/03/18 Вск 12:23:13 #193 №1162241 
Использую require.js и пишу в модулях 'use strict'. Но строгий режим не включается. Почему так? Как включить?

https://pastebin.com/pjxBvz5E

По-сути, строгий режим мне нужен только в define-функции, т.к. скрипт загружается в страницу.
Аноним 25/03/18 Вск 12:27:18 #194 №1162246 
>>1162241
Пробовал ставить в начало файла? У тебя где-то в середине, может поэтому?
Если нужно только для функции, то в ней и пиши, а не перед ней.
Аноним 25/03/18 Вск 12:29:25 #195 №1162248 
>>1162241
Ты в блокноте пишешь, что ли?
Ты бы хоть в валидатор какой кинул свой код.
Аноним 25/03/18 Вск 12:29:57 #196 №1162249 
>>1162246
Пробовал как и перед define, так и в define функции, так и все сразу. Все 'use strict' стоят перед началом кода (в самом начале файла).
Нужно не только для функции, а для всего модуля.
Аноним 25/03/18 Вск 12:31:55 #197 №1162254 
>>1162248
В vscode. Валидаторов нет.
Аноним 25/03/18 Вск 16:41:14 #198 №1162482 
>>1157660 (OP)
привет, кто нибудь делал скрипты которые читают историю браузера и подстраивают стиль на сайте под его вкусы
например если юзер читает мейлач, то фон будет как у мейлачика, тот же цвет.
если порнхуб то черный фон и желтые буквы
и тд
Аноним 25/03/18 Вск 16:51:49 #199 №1162485 
>>1162482
Ты не можешь читать историю браузера.

Ты прежде чем задавать такие вопросы не задумался хоть на секунду о том, насколько абсурдна твоя задумка? То есть ты действительно предполагал, что любой кто угодно, может просто вот так запросто посмотреть какие сайты ты посещаешь?
Аноним 25/03/18 Вск 16:53:25 #200 №1162486 
>>1162485
А адаптивную тему как в мобильном хроме на десктопную версию еще не сделали?
Аноним 25/03/18 Вск 17:00:09 #201 №1162490 
>>1162485
>запросто посмотреть какие сайты ты посещаешь
Можно.
Сейчас узнают ип, географический адрес, страну, провайдера, комп, браузер
Аноним 25/03/18 Вск 17:01:36 #202 №1162491 
>>1162490
Но не историю посещений.
Аноним 25/03/18 Вск 17:16:14 #203 №1162501 
>>1162491
ее тоже=)
Аноним 25/03/18 Вск 19:58:07 #204 №1162623 
>>1162501
Не напрямую из браузера. Гугл может, у него закладки везде, а ты — нет.
Аноним 25/03/18 Вск 20:30:08 #205 №1162640 
http://pagination.js.org/index.html
Как к этой хуите прикрутить свои классы?
Аноним 25/03/18 Вск 20:36:06 #206 №1162643 
jQuery hinge - у меня только один вопрос: что было в голове у человека, который написал ЭТО?
Аноним 25/03/18 Вск 20:50:37 #207 №1162653 
>>1162640
Все сам сделал. Какой же я молодец.
Аноним 26/03/18 Пнд 01:48:10 #208 №1162755 
>>1162199
Ну это понятно, антош, я это как раз для забывчивых юзеров делаю, которые могут забыть заполнить одно из 5 полей.
Аноним 26/03/18 Пнд 01:59:40 #209 №1162761 
image.png
image.png
мне кажется я делаю какую-то хуйню. не будем обращать внимание на коллбэк-хелл на этом скрине.

чому я дебил у меня получается так много биндов? есть какой-то "более правильный" способ?
Аноним 26/03/18 Пнд 09:34:39 #210 №1162825 
>>1162761
>JS это язык с ООП, в нём нельзя говнокодить
>Hold my beer
Аноним 26/03/18 Пнд 09:40:09 #211 №1162827 
>>1162640
Бля, ну пагинацию делать через отдельную библиотеку - это уже совмем перебор. Ну тоесть блядь вообще пиздец как перебор. Там самому на коленке писать минут 5. И то из них 4 ты кофе пить будешь.
Аноним 26/03/18 Пнд 10:06:08 #212 №1162836 
>>1162761
Стрелочные функции использовать, они автоматом биндятся.
Аноним 26/03/18 Пнд 11:40:50 #213 №1162866 
Ребята, дайте инвайт в WEBTALKS в дискорде.
Аноним 26/03/18 Пнд 13:27:03 #214 №1162923 
>>1157660 (OP)
Анон, история такая. Подрядили на работе писать фронтенд. Ну я его и пишу уже месяца два. За это время у меня в голове образовалась просто нечеловеческая каша из стандартов, подходов, фреймворков и всего остального.
И вот настал день, когда мы решили начать переписывать наш фронт на реакт. Естественно, я хочу подойди к этому вопросу ответственно и структурировать в голове всю мою кашу. Так вот, где бы найти хороший учебник по js, в котором учитываются самый новые стандарты и вот этот ваш ES-6 (погуглил тут и оказалось, что есть уже 8), но в пизду его.
Аноним 26/03/18 Пнд 13:57:08 #215 №1162946 
image.png
>>1157660 (OP)
Антоны, я не знаю ни парадигм ООП, ни модели MVC.
Хочу окунуться в практику, познавая и осмысляя теорию в процессе.
Зарабатывать программизмом не буду, поэтому мой говнокод в продакшене вы не увидете.

Вопрос у меня вот в чем. Хочу уметь в node js.
Стоит ли мне сначала изучить js, а потом уже постигать нюансы ноды?
Или сразу, с нулевыми знаниями можно с нее начинать?
Аноним 26/03/18 Пнд 13:58:52 #216 №1162948 
>>1162825
ой, давай ты вместо того, чтобы пиздеть лучше покажешь как надо

>>1162836
у меня лэгаси. ЕС6 нельзя, бабель тоже нельзя. ну точнее я блять не успею так быстро перейти на бабель

придумал как вариант закэпчурить this в переменную, но не ли чего-то более идеоматичного

еще раз проблема:

1. Сделал класс
2. Класс содерджит поле $element
3. Хочу в методах класса вешать листнеры jquery и внутри их обращаться к полю через this
Аноним 26/03/18 Пнд 14:31:25 #217 №1162961 
>>1162923
Banks A., Porcello E. - Learning React - 2017
Только он на инглише.
Аноним 26/03/18 Пнд 15:06:14 #218 №1162970 
>>1162825
> >JS это язык с ООП, в нём нельзя говнокодить

> JS это язык с ООП
Ой веей

> в нём нельзя говнокодить
> JS
> нельзя говнокодить
Ооооой веееееееей
Аноним 26/03/18 Пнд 15:31:39 #219 №1162973 
>>1162827
Че-то я сомневаюсь, что я бы справился за 5 минут. У меня опыта нет. Да и зачем, если есть готовое решение?
Аноним 26/03/18 Пнд 20:50:57 #220 №1163115 
1522086598363.jpeg
Придумайте шутку. Подебителю асинк.
Аноним 27/03/18 Втр 02:22:30 #221 №1163235 
>>1162973
Ну хуй знает. Зачем ты вообще тогда в это полез? Вон уборщику в макдаке платят 45к, и ему тоже норм. И он тоже не хочет разбираться.
Аноним 27/03/18 Втр 02:58:28 #222 №1163248 
В двух словах чем отливается app.use в router.use (Express JS).
App - это объект приложения. А router это объект маршрута? Т.е он сразу как-то привязан к app и знает что мы определяем миддлвары именно для этого приложения?

И еще один вопросик. Объект req.session доступен в течении того времени, пока сохранена определенная кука в браузере? Т.е даже если HTTP-сессия будет закрыта, то эта, можно сказать user-session будет все еще активна, правильно?

Тогда как работает res.locals? Это локальное хранилище переменных для текущего запроса или для всех запросов в определенной сессии?
Аноним 27/03/18 Втр 04:21:15 #223 №1163264 
>>1162948
>придумал как вариант закэпчурить this в переменную, но не ли чего-то более идеоматичного
Ну так-то
>const self = this
вполне себе типичный жс-код был какое-то время (может даже и сейчас), так что нормальный вариант.
Аноним 27/03/18 Втр 08:24:42 #224 №1163327 
>>1162946
бамп
Аноним 27/03/18 Втр 08:27:37 #225 №1163328 
>>1163235
>Зачем ты вообще тогда в это полез?
Ну например потому, что я вообще не на js-е пишу, но пришлось немного заняться фронтендом и я не хочу творить откровенную хуйню?
Аноним 27/03/18 Втр 08:35:27 #226 №1163330 
>>1163328
>Пол Грэм в статье «Великие хакеры» утверждал, что программисты, пишущие на Java, далеко не так умны, как приверженцы Python. Он взбесил множество глупых Java-программистов (неужели я это написал?), которые принялись писать на своих сайтах развернутые контраргументы. Бурная реакция показала, что он задел за живое.

>Я присутствовал при первой презентации этой статьи. И она заставила меня вспомнить один эпизод.

>Я приехал в Индию, чтобы набрать сотрудников, и просматривал сотни кандидатов, претендующих на десяток рабочих мест. Наша команда, проводящая собеседования, страдала от нехватки сил и времени из-за низкого процента успешно пройденных собеседований. Несмотря на поздний вечер, головную боль и красные глаза, мы не расходились, пытаясь найти новый подход к отбору кандидатов. Требовалось оптимизировать процесс, увеличив число интервьюируемых или каким-то образом привлекая более толковых людей (а лучше и то и другое). Тем, что осталось от моего голоса после двенадцатичасовых попыток получения ответов от ошеломленных программистов, я предложил добавить к ключевым словам, по которым наши специалисты по поиску персонала отбирали резюме из базы данных,
слово «Smalltalk». «В Индии никто не знает этого языка», — кричал заведующий отделом кадров. Но на это и был направлен мой расчет. Ведь программирование на Smalltalk коренным образом отличается от программирования на Java. Вариативный опыт даст нам новый уровень требований к кандидатам, а динамическая природа Smalltalk позволит Java-программистам подойти к решению задач с другой стороны. Я надеялся, что эти факторы дадут нам специалистов с высоким уровнем технической подготовки, которого не было у уже просмотренных соискателей. Добавление к списку требований Smalltalk удивительным образом уменьшило кадровый пул. Но теперь к нам приходили более одаренные люди. Они действительно разбирались в объектно-ориентированном программировании. Они знали, что Java не является универсальным, как его порой пытаются представить. Многие из них обожали программировать! Нам оставалось недоумевать, где же вы все были в предыдущие две недели?

>Я до сих пор пользуюсь этим приемом при поиске разработчиков. Как лицо, отвечающее за подбор персонала, могу сказать, что в первую очередь это показывает степень вашей заинтересованности. Если я узнаю о том, что человек изучает некую область для саморазвития или, еще лучше, — для удовольствия, то пойму, что передо мной целеустремленный и любящий свою профессию специалист. Когда я спрашиваю людей, довелось ли им познакомиться или использовать некоторые нестандартные технологии, меня сводит с ума ответ: «У меня не было возможности работать в этой области». Не было возможности работать?! Но у меня ее тоже не было! Но я использовал свою возможность учиться.
Эти второстепенные технологии и методологии не только создают образ правильно мотивированного и увлеченного своим делом человека. Они и в самом деле делают вас глубже, лучше, умнее и изобретательнее. Если вы не считаете все вышеперечисленное достойными внимания причинами, возможно, вы неверно выбрали профессию.
Аноним 27/03/18 Втр 13:42:45 #227 №1163422 
news - Новости - Mozilla Firefox 2018-01-25 11.37.02.jpg
>>1163330
sageАноним 27/03/18 Втр 15:28:15 #228 №1163465 
Умоляю помогите! Не могу разобраться в этом куске кода. Не могу понять зачем в выражении сравнения есть body

var html = document.documentElement;
var body = document.body;

var scrollTop = html.scrollTop || body && body.scrollTop || 0;
scrollTop -= html.clientTop; // в IE7- <html> смещён относительно (0,0)

alert( "Текущая прокрутка: " + scrollTop );
Аноним 27/03/18 Втр 15:53:23 #229 №1163475 
>>1163465
Извини, это уже что-то экстраординарное и сложное. Что-то уровня сложных оптимизаций, чтобы понять суть которых нужно иметь ученую степень. Вряд ли тут найдется человек, способный дать тебе ответ. Просто не обращай внимания на этот кусок кода, пожалуйста.
Аноним 27/03/18 Втр 15:54:27 #230 №1163478 
>>1163465
бамп
Аноним 27/03/18 Втр 15:55:09 #231 №1163480 
>>1163465
это из собеседования в NASA?
Аноним 27/03/18 Втр 15:59:36 #232 №1163485 
>>1163475
Все, до меня дошло зачем там body. Тупанул, заучился слегка лол
Аноним 27/03/18 Втр 16:02:14 #233 №1163487 
>>1163480
Почему?
Аноним 27/03/18 Втр 16:03:32 #234 №1163488 
>>1163487
Потому что такие задачи я встречал только там.
Аноним 27/03/18 Втр 16:05:51 #235 №1163490 
>>1163488
В смысле? Это считается сложным? Тут же все просто
Аноним 27/03/18 Втр 16:33:00 #236 №1163500 
>>1163490
Для тех, кто идет в NASA - конечно
Аноним 27/03/18 Втр 16:37:43 #237 №1163504 
>>1163500
Хорошо, если ты не тролишь, то что конкретно тут сложного?
Аноним 27/03/18 Втр 16:45:32 #238 №1163508 
>>1163504
Просто, чтобы понять как работает этот код, нужно быть не меньше, чем чертовым гением.
Аноним 27/03/18 Втр 16:58:11 #239 №1163514 
>>1163508
Почему если в примере заменить на var scrollTop = 1 && body; будет NaN а если var scrollTop = body && 1; будет 1?
Аноним 27/03/18 Втр 16:58:27 #240 №1163515 
>>1157660 (OP)
Сап, аноны.

Как нормально дебажить транспиленный ES6/7/x код?

А то меня уже доебало, что в хроме stepover улетает непонятно куда вместо перехода на след строчку, а внутри лямбд проебывается this.
Аноним 27/03/18 Втр 17:08:15 #241 №1163521 
>>1163514
Я думаю надо быть Дональдом Кнутом, чтобы ответить на это.
Аноним 27/03/18 Втр 17:08:38 #242 №1163522 
>>1163515
Зачем ты транспилишь код на стадии разработки?
Аноним 27/03/18 Втр 17:08:54 #243 №1163523 
>>1163515
sourcemaps
Аноним 27/03/18 Втр 17:10:17 #244 №1163524 
>>1163523
Так это как раз с сурсмапами.
Аноним 27/03/18 Втр 17:11:30 #245 №1163525 
>>1163522
Потому что import from.
Аноним 27/03/18 Втр 17:11:35 #246 №1163526 
>>1163521
дело в том что при выводе body выводится объект, но почему то если менять местами то выводит NaN
Аноним 27/03/18 Втр 17:12:09 #247 №1163527 
>>1157660 (OP)
Начал учить жс. Понял что он ебанутый какой-то. Посоветуйте годных транспиляторов, пока думаю о бабеле и тайпскрипте?
Аноним 27/03/18 Втр 17:16:05 #248 №1163530 
lol.JPG
>>1163525
Что с ним?
Аноним 27/03/18 Втр 17:17:46 #249 №1163531 
>>1163527
wasm фреймворки уже есть у раста и c#
Аноним 27/03/18 Втр 17:23:11 #250 №1163536 
>>1163531
Как это относится к транспиляторам?
Аноним 27/03/18 Втр 17:26:11 #251 №1163538 
еру ыщьуерштп штышву нщг - шеы рфкв ещ учздфшт
Аноним 27/03/18 Втр 17:27:03 #252 №1163540 
>>1163530
При чем тут твой пик? Один хер браузер не вдуплит import from.

На самом деле хуй знает конечно, мне весь этот ебанутый стек достался в наследство от CSSSR.
Аноним 27/03/18 Втр 17:27:08 #253 №1163541 
>>1163526
Ты долго еще будешь тупить, вместо того, чтобы пойти и почитать, как работает оператор && и зачем он нужен?
Аноним 27/03/18 Втр 17:29:22 #254 №1163543 
>>1163541
читал я, обчитался и все равно не понимаю. Сначала он натыкается на 1 идет дальше натыкается на body и с хуя ли NaN?
Аноним 27/03/18 Втр 17:44:44 #255 №1163551 
>>1163543
>Сначала он натыкается на 1 идет дальше
Хуево ты читал. Иди перечитай.
Аноним 27/03/18 Втр 17:46:58 #256 №1163555 
>>1163551
логическое И так и работает
Аноним 27/03/18 Втр 17:48:46 #257 №1163558 
>>1163555
Как так?
Аноним 27/03/18 Втр 17:51:50 #258 №1163561 
>>1163558
идет до первого false
Аноним 27/03/18 Втр 19:25:00 #259 №1163613 
>>1163527
бамп
Аноним 27/03/18 Втр 19:27:42 #260 №1163616 
>>1163561
Ну или последнего true
Аноним 27/03/18 Втр 19:33:15 #261 №1163623 
>>1163616
Ну а почему NaN то? Должен быть [object HtmlBodyElement]
Аноним 27/03/18 Втр 19:36:46 #262 №1163627 
Снимок.PNG
>>1157660 (OP)
Вот типичный создатель erlach борды, так что лучше js
Аноним 27/03/18 Втр 19:38:26 #263 №1163630 
>>1163623
Во-первых, взгляни ещё раз, в какой момент ты выводишь значение scrollTop'а. Затем, иди по шагам назад и смотри, где, как и какие ты ему значения присваивал. Если не получится, в NASA не возьмём, это твой последний шанс.
Аноним 27/03/18 Втр 19:46:59 #264 №1163636 
>>1163630
Я все уже перепробовал прежде чем сюда писать. Если присвоить только body то будет object HtmlBodyElement, если присвоить 1 && body, то NaN, а если body && 1, то 1
Аноним 27/03/18 Втр 19:59:08 #265 №1163639 
>>1163636
Жаль, очень жаль. Но не отчаивайтесь, вам всегда будут рады в Сколково!
https://codepen.io/anon/pen/xWPved
Аноним 27/03/18 Втр 20:28:17 #266 №1163645 
>>1163639
Я понял, там дальше была арифметическая операция над результатом. Всем спасибо, все свободны!
Аноним 27/03/18 Втр 20:37:16 #267 №1163652 
>>1163639
Увы, слишком поздно. В качестве наказания следующее ваше собеседование будет провальным. Можете даже не ходить.
Аноним 27/03/18 Втр 20:37:34 #268 №1163653 
>>1163652
-> >>1163645
Аноним 27/03/18 Втр 20:45:55 #269 №1163656 
Ладно, пора бросить двач, он мешает мне. Я не зайду в этот тред пока не устроюсь. Не считайте это чем-то типа ньюйиар резолюшенов. Я не отвечу вам пока не устроюсь. Ждите! Это не && где ты после первого проеба все бросаешь, это ||!

Ушел въебыватьно сначала поспать
Аноним 27/03/18 Втр 21:06:31 #270 №1163671 
>>1163656
Нахуя устраиваться? Иди на фриланс
Аноним 27/03/18 Втр 21:52:50 #271 №1163699 
Что лучше: шаблонные строки или куча плючиков и кавычек?
Аноним 27/03/18 Втр 23:31:59 #272 №1163791 
Посоны, а есть что-то свежее, чтобы сейчас сесть за Node.js? Работая на клиенте я конечно постоянно с ним каким-то боком взаимодействовал, но не хватает системных знаний. Привык учиться по книжкам, нравится логичность подачи материала в них. Но вот смотрю на "Node.js in Action", а ей 100 лет в обед, при том что новые версии ноды выходят очень часто. Поделитесь опытом кто за ноду садился в последние год-полтора - по каким материалам изучали, как набивали руку, как разбирались с best practices.
Аноним 27/03/18 Втр 23:39:24 #273 №1163795 
>>1163699
Шаблонные строки гораздо аккуратнее выглядят.
Аноним 27/03/18 Втр 23:40:21 #274 №1163796 
>>1163795
Зато кавычки эти изъебистые набирать надо.
Аноним 28/03/18 Срд 02:22:44 #275 №1163830 
>>1163796
Ухх бл, это ж на целую тильду нажать надо!
Аноним 28/03/18 Срд 02:30:39 #276 №1163831 
>>1163656
Бля в Линуксе && значит строчный цикл While true, а || значит While untrue, что это значит в JS?
Аноним 28/03/18 Срд 04:17:07 #277 №1163846 
>>1163627
Внук луковых оладей подрос.
Аноним 28/03/18 Срд 06:43:01 #278 №1163858 
>>1163831
чого? И что значит "в Линуксе"?
Аноним 28/03/18 Срд 09:17:29 #279 №1163876 
>>1163791
Документация.
Аноним 28/03/18 Срд 09:27:50 #280 №1163879 
>>1163831
&& - это И
|| - это ИЛИ

Как в любом другом языке.
Аноним 28/03/18 Срд 11:06:23 #281 №1163918 
>>1163791
>Посоны, а есть что-то свежее, чтобы сейчас сесть за Node.js? Работая на клиенте я конечно постоянно с ним каким-то боком взаимодействовал, но не хватает системных знаний. Привык учиться по книжкам, нравится логичность подачи материала в них. Но вот смотрю на "Node.js in Action", а ей 100 лет в обед, при том что новые версии ноды выходят очень часто. Поделитесь опытом кто за ноду садился в последние год-полтора - по каким материалам изучали, как набивали руку, как разбирались с best practices.
>
На чистой ноде вроде как никто не пишет, поэтому смело выбирай фреймворк для начала, а потом литературу. По Express'у неплохо зашла «Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript» Итана Брауна.
*мимо фронтендер, написал пару недель назад API на Express'е с авторизацией и всеми нужными плюшками.
Аноним 28/03/18 Срд 11:12:14 #282 №1163923 
>>1163918
>На чистой ноде вроде как никто не пишет
А нода разве фреймворком сама по себе не является?
Аноним 28/03/18 Срд 11:14:55 #283 №1163928 
>>1163923
Нет конечно. Это просто интерпретатор вне браузера, грубо говоря.
Как предоставить компоненту только часть state в mapStateToProps? Аноним 28/03/18 Срд 11:43:12 #284 №1163941 
Я использую redux и react.
У меня есть две страницы: поиск организаций и добавление организации. На обоих страницах есть одинаковые компоненты: EconomicActivitiesSelect и TaxesCommitteeSelect. Оба подргружают данные по пользовательскому вводу и позволяют выбрать что-то из подгруженных вариантов.
Мой store имеет следующую структуру: https://pastebin.com/bCwR2BfB
Как сделать так, чтобы в mapStateToProps передавался не весь state, а state.organizationsSearch или state.addOrganization, чтобы можно было сделать так:
https://pastebin.com/r8tUuwvE
Аноним 28/03/18 Срд 11:46:21 #285 №1163944 
>>1163941
То есть, грубо говоря, компоненту должна передаваться часть state, а какая именно — зависит от того, где он размещён.
Аноним 28/03/18 Срд 14:32:59 #286 №1163990 
>>1163941
Пока что додумался только брать нужную часть state в родительском компоненте и спускать данные в свои EconomicActivitiesSelect и TaxesCommiteeSelect как обычные props. Это нормальный подход?
Аноним 28/03/18 Срд 19:51:56 #287 №1164156 
>>1163941
Насколько я помню -- neeqaque. А зачем тебе?
Аноним 28/03/18 Срд 22:22:34 #288 №1164277 
А это нормально, то что у меня поведение страницы определяется ее адресом? Или лучше хранить тип сущностей, с которыми идет работа, где-то в другом месте?
Аноним 28/03/18 Срд 22:32:48 #289 №1164287 
>>1163990
Насколько я помню, «нормальный подход» — это создать модель предметной области, как здесь:
http://www.r-5.org/books/computers/all-js/#/
http://www.r-5.org/files/projects/bookshelf-v10.zip

И в этой модели написать функции, которые в твоём случае назывались бы:
organizations()
addOrganization()
searchOrganization()

и так далее.

>>1163944
Модель в числе прочего имела бы функции-«геттеры», что позволило бы передавать её куда угодно, в любой компонент. И он бы читал из неё данные, как будто они там есть. Как раз в зависимости от класса компонента, его параметров (они же «props» компонента) и от того, где он сейчас размещён.

Свои же данные, а тем более «window.sessionStore» модель ото всех скрывает.
Аноним 28/03/18 Срд 22:34:06 #290 №1164291 
>>1164277
Да, и у тебя должен быть компонент Router, их много, возьми любой стандартный роутер, он будет вызывать нужные функции или возвращать константы, в зависимости от адреса страницы.
Аноним 29/03/18 Чтв 06:53:15 #291 №1164428 
DXMK9vUV4AEGmIw.jpg
dip.jpg
Кто-нибудь может пояснить про Dependency Injection и инверсию зависимостей с примерами на JS? Чет немного не понял нахуя эта вещь нужна. Второй пик - это часть теоретической части на Hexlet по этой теме, но там все равно не особо понял.

Аноним 29/03/18 Чтв 07:32:40 #292 №1164434 
>>1164428
Нахуй она не нужна в js, не переусложняй.
Аноним 29/03/18 Чтв 08:26:56 #293 №1164437 
>>1162946
бамп
Аноним 29/03/18 Чтв 12:22:30 #294 №1164515 
>>1164428
Там русский технический писатель _умничает_, как у них принято. Упивается собой, вместо того, чтобы объяснять предмет.
Не читай ничего по программированию на русском, и будет тебе счастье.

Алсо, до некоторых вещей надо "дорасти".
Т.е. столкнуться с проблемой, для которой данная вещь является решением.
Аноним 29/03/18 Чтв 12:29:14 #295 №1164517 
>>1164437
Хуямп.
Хули ты дурацкие вопросы задаёшь?
И причём тут парадигмы и модели, лол?
Учи язык.
И лучше английский, для начала.
Аноним 29/03/18 Чтв 12:33:34 #296 №1164518 
>>1164517
Английский я знаю.

>И причём тут парадигмы и модели, лол?
>Учи язык.
Т.е. ты утверждаешь, что можно выучить объектный язык, не понимая модели ООП?
Надеюсь, ты такой же программист как и я.
sageАноним 29/03/18 Чтв 12:41:50 #297 №1164521 
>>1164518
Так ты просто троллишь тут, мудила?
На хуй иди, бампает он, лол.
sageАноним 29/03/18 Чтв 12:56:09 #298 №1164527 
15209739991250.png
Хули у меня телега не работает блядь?
sageАноним 29/03/18 Чтв 12:58:04 #299 №1164529 
>>1162946
Можешь начинать с 0 знаниями, но раз ты всё равно будешь постоянно бегать в доки ЖС, то почему бы не пробежаться по ней сразу, тогда будет меньше беготни в будущем.
Аноним 29/03/18 Чтв 13:26:03 #300 №1164545 
>>1164527
хуле мусора, хуле мусора, хуле мусора, хуле?
Аноним 29/03/18 Чтв 13:44:57 #301 №1164551 
>>1164529
А нода меня не испортит, если я с нее начну?
Аноним 29/03/18 Чтв 13:58:07 #302 №1164559 
>>1164527
https://twitter.com/durov/status/979284965178400769
Аноним 29/03/18 Чтв 15:04:23 #303 №1164580 
>>1164559
ну да, лучше в твиттере писать, он надежнее))
Аноним 29/03/18 Чтв 17:18:04 #304 №1164643 
>>1163879
>в Линуксе
>Как в любом другом языке.
Только не в Баше...
Аноним 29/03/18 Чтв 17:23:14 #305 №1164645 
В Баше:

| - And
|| - If != True
&& - If = True

Типа [ test ] || action
[ test ] && {action} (Угу кавычки во втором случае)
Аноним 29/03/18 Чтв 17:43:26 #306 №1164656 
>>1164645
>| - And
Шо несёшь, это пайп.

>|| - If != True
>&& - If = True
Шо несёшь, это же же ИЛИ и И. Вот те пруф даже с первой же рандомной станицы http://www.tldp.org/LDP/abs/html/ops.html

>[ test ] && {action} (Угу кавычки во втором случае)
И? action && action тоже можно, чтобы вторая команда выполнялась только при успещном выполнении первой, например.

ВВеди в ЖС'е, блин, a == true && console.log("я лох"), точно так же выведется текст. Так работают логические операции, блин.
Аноним 29/03/18 Чтв 18:43:36 #307 №1164692 
что сейчас на фронте творится?
в прошлом году поглядывал, везде один реакт был
сейчас куда ни плюнь - вью
чзх реакт уже немодно?
Аноним 29/03/18 Чтв 19:00:33 #308 №1164698 
>>1164692
За пределами хипстерских влажных фантазий реакт никуда не девался. Но если хочешь гоняться за бородатыми модниками в узких штанишках -- ради бога.
Аноним 29/03/18 Чтв 21:17:17 #309 №1164774 
>>1164692
Причём тут немодно?

Vue гораздо менее opinionated.
Проще toolchain.
Меньше clutter.
И т.д.
И т.п.

И ещё год назад про него уже все всё поняли, кроме русскоязычных slowpoke.
Аноним 29/03/18 Чтв 21:24:27 #310 №1164779 
>>1164774
надеюсь это irony, иначе you долбоеб
Аноним 29/03/18 Чтв 21:35:57 #311 №1164783 
>>1164779
Да это смузи-бородач решил рекламный буклет зачитать вслух, не обращай внимания.
Аноним 29/03/18 Чтв 21:37:00 #312 №1164784 
>>1164779
Нет, ты.

Откуда вы, блядь, лезете?
Сказать по делу тебе нечего.
Припекло - охлаждай.
Зачем засирать тред?
Пиздец, сука, просто филиал /b уже тут устроили, программисты-пидоры-дебилы.jpg
Аноним 29/03/18 Чтв 21:41:34 #313 №1164788 
>>1164692
> сейчас куда ни плюнь - вью
Примеры? Вот BitBucket недавно зарелизил одностраничную версию - там реакт, куда ни плюнь - dropbox, slack, sentry, rollbar - везде реакт.
Аноним 29/03/18 Чтв 21:42:49 #314 №1164789 
Котаны, вкатываюсь в react.
Короче вопрос по организации this в реализации создания компонента class Timer extends React.Component

вот пример

https://jsfiddle.net/zpc3hz1x/

Класс в ES6 - это просто сахар, под капотом все тоже. В данном случае this это вообще что?
Класс рендерит компонент - и этот компонент и есть this?
Аноним 29/03/18 Чтв 21:43:43 #315 №1164792 
>>1164789
P/S/
Контекст в классах нативных мне понятен.
А тут чет не пойму, что, куда и окуда.
Аноним 29/03/18 Чтв 22:04:28 #316 №1164819 
>>1164792
Очевидно же, что this - это именно this - этот экземпляр.
С сахаром или без.
Вообще, смысл сахара - совместить функцию-конструктор и привязку наследуемого прототипа.

Вместо "this.increment = function(){ ... }.bind(this)" в конструкторе надо просто определить метод в классе, раз уж ты решил с сахаром.
Аноним 29/03/18 Чтв 22:22:18 #317 №1164836 
>>1157660 (OP)
Не жс, а С-- !!!
Аноним 29/03/18 Чтв 22:39:25 #318 №1164842 
>>1164434
Я думаю заранее разобраться было бы неплохо, тем более что JS это все-лишь ебаный язык.

>>1164515
Ну хз, объясняет нормально видимо если люди делают практику и не задают вопросов в комментах. Я вроде бы немного понял суть, но без примеров сложно разобраться.
Аноним 29/03/18 Чтв 22:50:19 #319 №1164847 
>>1164842
> заранее

Это называется "преждевременная оптимизация".
И она ничем не лучше преждевременной эякуляции.

>объясняет нормально

Знаешь, я давно уже программирую.
И все эти (детские) темы давно уже усвоил и даже успел забыть, лол.

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

И у меня постоянно такое с русскоязычными текстами. Они просто ни о чём. Даже оригинальные, не говоря уже о переводах.
По английски читаю и понимаю гораздо быстрее. При этом, с разговорным у меня не очень, например.
Аноним 29/03/18 Чтв 23:11:49 #320 №1164858 
>>1164842
Я таки дал себе труд прочесть вот это:
https://ru.hexlet.io/courses/js-ddd/lessons/container/theory_unit

Хуета ни о чём, как я и говорил.
Если бы я не имел дело с этой темой раньше, не понял бы вообще ничего.
Отдельно стоит отметить бессмысленные примеры кода.

Читни вот это вот, хотя-бы, если хочется на русском:
https://habrahabr.ru/post/232851/
Аноним 29/03/18 Чтв 23:17:31 #321 №1164861 
>>1164858
Спс, просто у меня с английским языком пока проблемы (в процессе изучения), поэтому читать могу только какую-то документацию, и то понимаю лишь 40% написанного, остается читать лишь тексты на русском. У меня нет желания прямо влиться и понять - хотя бы иметь общее представление об этом. Спс за статью.
Аноним 29/03/18 Чтв 23:56:50 #322 №1164891 
>>1164645
>В Баше:
>
>| - And
Отписал Линусу.
Аноним 30/03/18 Птн 00:10:13 #323 №1164895 
>>1164861
>>1164858
>>1164847
https://www.youtube.com/watch?v=AxZLJA84_74

Вот неплохое видео нашел по этой теме (ну как мне показалось), дай бог здоровья этому человеку.
Аноним 30/03/18 Птн 00:36:56 #324 №1164906 
image.png
>>1157660 (OP)
Блядь, ну охуеть. Что делать?
Предыстория: накатил как всегда ноду/нпм, все вроде заебись, но потом у меня отказался галп работать, причем по ряду причин видимо, я долго с ним пердолился, несколько ошибок пофиксил, в итоге нагуглил, что по дефолту нод и нпм в репозиториях древние. Ну я удалил ноду и нпм, накатал все по гайду, а потом такая залупа. При том команда npm изначально работала после ранее перечисленного, лол, пока я не удалил /usr/lib/node_modules.
Аноним 30/03/18 Птн 04:21:39 #325 №1164949 
>>1164656
Ну так речь то не об операторах шла, лол.
Аноним 30/03/18 Птн 06:50:54 #326 №1164954 
>>1164949
>речь то не об операторах шла
Но ты в посте привёл операторы. Нет никакого другого значения у этих сочетаний символов.

>>1164847
>не лучше преждевременной эякуляции.
А это плохо, что ли? Отстрелялся за 30 сек и готово, можно обратно в дотку.
Аноним 30/03/18 Птн 09:10:17 #327 №1164968 
>>1164954
https://unix.stackexchange.com/questions/24684/confusing-use-of-and-operators
Аноним 30/03/18 Птн 09:10:38 #328 №1164969 
>>1164891
Точняк | значит OR.
Аноним 30/03/18 Птн 10:17:19 #329 №1164984 
>>1164428
dependency injection - видимо когда пакет в себе и своем коде не содержит вредного и опасного кода, но содержит в себе зависимости, которые могут таковыми быть.
Проблема слишком раздута имхо, просто юзай проверенные библиотеки и почаще пиши свои решения и будет тибе щастье
Аноним 30/03/18 Птн 10:29:19 #330 №1164985 
>>1164968
>речь не об оператора шла
>use of operator
Это те же самые операторы. Впрочем, так-то почти всё можно назвать оператором
https://www.gnu.org/software/bash/manual/bashref.html#Lists
И тут их тоже И и ИЛИ называют, пускай и с припиской "... lists". Самое главное: суть их та же, что и при проверке логических условий: в A&&B бесполезно проверять второй операнд на истинность (исполнять команду B), если A не истинно, в то же время, если A истинно, то B необходмо проверить (выполнить команду/выражение) на истинность для получения.

Впрочем, вот тут http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_10 этому оператору дали навание AND_IF, так что частичка истины в твоих "if true" может и есть, я лишь хотел настоять на том, что нет какой-то глобальной разницы между этими и операторами и теми, что в условиях используются (как в JS, так и в баше), это одно и те же логические операции. Ну а ещё, тот >>1163831 вообще цикл умудрился привязать сюда, что уж вот точно бред.

>>1164969
https://www.gnu.org/software/bash/manual/bashref.html#Pipelines
Аноним 30/03/18 Птн 10:39:44 #331 №1164988 
>>1164847
>И у меня постоянно такое с русскоязычными текстами. Они просто ни о чём. Даже оригинальные, не говоря уже о переводах.
По английски читаю и понимаю гораздо быстрее. При этом, с разговорным у меня не очень, например.
Неистово двачую. По мне всё русскоязычное чуть ли не спизжено, переводы с английского в основном делают коряво, порой ничего не понятно, что имел ввиду автор оригинала. Причем пиздят всё и делают это в разы хуже.

>>1164985
Спасибо что помог разобраться.
Аноним 30/03/18 Птн 10:52:13 #332 №1164991 
>>1164984
Это все, что вам нужно знать о среднем уровне современного джаваскриптера.
Аноним 30/03/18 Птн 11:06:10 #333 №1164997 
image.png
>>1164984
>dependency injection - видимо когда пакет в себе и своем коде не содержит вредного и опасного кода, но содержит в себе зависимости, которые могут таковыми быть.
Аноним 30/03/18 Птн 11:11:26 #334 №1164999 
Ну услышал человек когда-то о code injection (а то и вовсе одно лишь sql injection), вот и ассоциируется у него теперь это слово исключительно с вредоносностью, что вы накинулись. Что с дурака взять, не бейте его, только насмехайтесь и унижайте.
Аноним 30/03/18 Птн 11:40:44 #335 №1165003 
>>1164991
>>1164997
>>1164999
зато я ебал твою мамашу
Аноним 30/03/18 Птн 11:46:13 #336 №1165006 
>>1164551
Нормально все, не слушай дебила сверху, быстрее начнешь ковыряться, быстрей въедешь, удачи.
Аноним 30/03/18 Птн 11:59:37 #337 №1165011 
А объясните по-хардкору дураку, пожалуйста, почему люди так противопоставляют ноду и js (>>1162946, >>1164551 и куча других в каждом треде)? Да и вообще видят в ноде какую-то проблемность или сложность, что ли. Сам язык ведь не отличается, и уж если с чем-то её и противопоставлять, так это с бровзером с DOM'ами и прочим фронтендом, не? Или моя ошибка в том, что я просто не отождествляю javascript с этим самым фронтендом? Писал и то, и другое (личные говноподелия, не по работе), и по сути ведь одна хуйня что там, что тут, просто немного разные вещи делаются.
Аноним 30/03/18 Птн 12:44:03 #338 №1165030 
Ананасы, есть вопрос.

Не знаю, правильно ли сделал что написал в тред про JS, так как частично я думаю это и серверную часть должно затрагивать (node.js).

Есть множество сервисов, которые предоставляют клиентам возможность встраивания их виджетов к ним на сайт.
Как правило процесс встраивания заключается в банальной вставке стороннего скрипта к себе на сайт. Есть два типа таких скриптов:
//core.sitename.com/api.js
или скажем
//api.sitename.com/<uniqid>.js

Поговорим о втором варианте. Просмотрев его код (и код нескольких похожих сервисов), стало понятно, что содержимое там следующее:
///
/// Вначале идёт конфигурация конкретного пользователя
///
/// Далее идёт общий код для всех

Соответственно: 1 пользователь = 1 файл js, где внутри пару строчек уникального конфига, и далее общий код для всех.

Вопрос следующий.
Понятно, что изначально сформировать такой файл просто. Понятно, что если изменилась конфигурация у одного пользователя, то легко заново сформировать такой файл для него.

НО! А если у нас меняется что-то в коде, общем для всех (понятно что это изначально отдельный файл, а при создании файла <uniqid>.js идёт конкатенация). Нам что надо в таком случае? Пробегаться по всем таким файлам <uniqid>.js и их переделывать? Я не понимаю. Понятно что так не делается, но я не могу понять как это всё организовано.

У меня были мысли что на самом деле множество файлов <uniqid>.js и вовсе нет. Просто когда идёт обращение //api.sitename.com/<uniqid>.js он генерируется скажем так на ходу. Но каким образом? Есть вариант c .htaccess:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

Но мне кажется что это костыли. Тем более возникает вопрос кэширования. Может кто-то сталкивался с подобным или объяснит как это всё устроено?
Аноним 30/03/18 Птн 12:44:52 #339 №1165031 
>>1164906
nvm накати
Аноним 30/03/18 Птн 13:34:53 #340 №1165059 
>>1165030
Я думаю, что такие файлы генерируются и кешируются на той стороне. Т.е. при изменении какой-либо части файл (или все файлы) автоматически генерируется заново.

Кешированием на клиентах можно управлять, добавив параметр (номер версии или хеш файла) в URL, типа api.example.com/ololo123.js?v=123456
Аноним 30/03/18 Птн 13:44:42 #341 №1165065 
>>1165030
>Тем более возникает вопрос кеширования.

Могу вот к этому: >>1165059 добавить ещё, что HTTP заголовки, управляющие кешированием, никто не отменял. Но, параметр-хеш надёжнее.
Аноним 30/03/18 Птн 14:20:04 #342 №1165087 
Легко ли перейти на него зная основы Java? Проще ли он чем Java?
Аноним 30/03/18 Птн 14:27:12 #343 №1165097 
>>1165087
Проще.

И это вообще другой язык.
А название - это был просто маркетинговый ход в своё время.
Аноним 30/03/18 Птн 14:30:05 #344 №1165099 
>>1165030
>>1165059
>>1165065
Бля, только что дошло, какую хуйню я написал - насчёт параметров.
Это же в чужие страницы вставляется, лол.
Инерция мышления, хули.
Ну, значит, только http заголовки.
Аноним 30/03/18 Птн 14:51:38 #345 №1165104 
>>1165030
>он генерируется скажем так на ходу.
>Но каким образом?

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

Подробности зависят от того, чем ты пользуешься на сервере.
Аноним 30/03/18 Птн 14:56:09 #346 №1165107 
>>1165099
>все файлы автоматически генерируется заново.
То есть если у нас скажем 500 000 пользователей, у нас будет 500 000 файлов js? И при изменении в скажем так ядра, нужно будет все 500 000 файлов сгенерировать заново?

Я как-то сомневаюсь что так делается.
Аноним 30/03/18 Птн 15:00:26 #347 №1165111 
>>1165104
Ну вот это уже ближе к теме. Я тоже так думаю, но каким образом это делается?
Ведь если мы запрашиваем /<uniqueid>.js мы сразу получаем js. Как его сформировать на ходу при запросе?

Я как писал ранее нашёл единственный вариант с .htaccess:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

То есть js при запросе в определённой папке обрабатывается как php, и отдаёт сформированный новый js. Но я где-то читал что это костыль, и так делать не надо.

Есть ли ещё какие-то варианты? На сервере PHP.
Аноним 30/03/18 Птн 15:02:13 #348 №1165112 
>>1165107
Это можно по-разному делать.
Зависит от того, что дороже - время выполнения запроса (и загрузка сервера) или место на диске.

Генерировать заново можно всё сразу, а можно именно по запросу - для конкретного пользователя.

Можно использовать что-то вроде include - общую часть читать с диска (брать из памяти, на самом деле), на лету добавлять (генерировать) специфику для пользователя и отдавать всё вместе.

Не знаю, как это сделать на PHP, но на Java EE это можно сделать несколькими способами совершенно несложно.
Аноним 30/03/18 Птн 15:05:59 #349 №1165113 
>>1165111
>читал что это костыль

Это не костыль (само по себе).
Так это и делают - при запросе файла xxx.yyy вызывают скрипт, который генерирует нужное содержимое, выставляет заголовки и отдаёт.
Так генерят картинки, например, и вообще что угодно.

Как это сделать именно на пхп - спроси в треде по пхп.

Аноним 30/03/18 Птн 15:17:11 #350 №1165121 
>>1165112
>>1165113
Как на php с точки зрения кода я знаю как сделать. Меня скажем так интересовал больше вопрос архитектуры.

Ладно, как я и думал тут два пути. Будем смотреть что лучше.

Всем спасибо.
Аноним 30/03/18 Птн 17:28:03 #351 №1165217 
ctZWNJPOwug.jpg
Привет, Анон. Буду благодарен тому кто ответит.

Изучил JS и DOM, дальше смотрю в сторону реакта. Но написав пару простых скриптов на чистом JS'e понял что многие свистоперделки банально не реализовать (или можно но будет говнокод), тот же пример - плавный скролл, или различные анимации. Про заёбы с IE и постоянные несовместимости во всяких мелочах молчу. Так же нет многих плагинов, которые есть на JQuery.

Так вот вопрос, сначала стоит освоить JQuery и потом перекатываться в реакт и уже писать JS исключительно с помощью JQuery? Нормальная ли это вообще практика JQuery + React?
Аноним 30/03/18 Птн 17:33:31 #352 №1165219 
>>1165217
Если хочешь учиться тому, что актуально сейчас -- забудь про jquery. Если только ты не ставишь перед собой задачу поддерживать очень старые браузеры.
Аноним 30/03/18 Птн 17:36:31 #353 №1165222 
>>1165217
>освоить JQuery
Чего там осваивать, наркоман? Как $ использовать? Даже у самого аутиста максимум неделя уйдёт. Ебашь реакт и не еби нам мозг.
Аноним 30/03/18 Птн 17:42:36 #354 №1165226 
>>1165222
Это понятно, я спрашиваю о том нормальная ли практика вообще использовать React и JQuery вместе?

>>1165219
Хрен с ними с браузерами, но как быть с тысячью написанных под JQuery плагинов? Неужели чтобы реализовать какой-нибудь банальный слайдер при разработке на React нужно его писать с нуля?

Аноним 30/03/18 Птн 18:28:31 #355 №1165244 
>>1165226
Если хочешь совмещать MVVVC фреймворк и голый JS и/или JQuery, то Vue.js для этого больше подходит.
Аноним 30/03/18 Птн 18:36:54 #356 №1165248 
>>1165226
>Хрен с ними с браузерами, но как быть с тысячью написанных под JQuery плагинов?
Тебе сразу вся тысяча нужна? 99% вероятность того, что то, что тебе реально понадобится, реализовано уже сто раз под реакт.
>Неужели чтобы реализовать какой-нибудь банальный слайдер при разработке на React нужно его писать с нуля?
material-ui тебе в помочь. Ну и гугл научись уже использовать, классная штука, базарю.
Аноним 30/03/18 Птн 18:50:53 #357 №1165255 
>>1165217
Мля, анон, зачем ты к у кого-то спрашиваешь разрешения? Бери JQuery да используй на всю катушку. Если увидишь, что он на каком-то этапе перестанет тебе подходить, то просто возьмешь другой инструмент.
Аноним 30/03/18 Птн 18:57:01 #358 №1165260 
>>1165255
Вот да.
С учётом нынешнего зоопарка в JS-разработке, "нормально" будет всё, что сам считаешь нормальным.

Тем более, что требования у всех разные.
Например, покажите мне аналог DataTables на React или Angular или на Vue - хуй там ночевал.
И я не имею в виду "просто таблицу", а таблицу годную для промышленного применения и десятков тысяч строк данных + вся хуйня, что там наворочена.

Также и кукарекания про то, что jQuery "не нужно" - это отличный маркер долбоёба ограниченного человека.
Аноним 30/03/18 Птн 19:13:31 #359 №1165277 
Стоит ли вкатываться во фронтэнд в компанию которая делает лэндинги на вордпресс? Там js и wp знания требуются, ну и немного php. Что скажете? Я только закончил изучение js.
Аноним 30/03/18 Птн 20:58:37 #360 №1165354 
>>1165260
Что мешает интегрировать все это? Дохуя ж библ.
Ну а так, похер конечно каким инструментом пользуешься. Обычно главное результат.
Хотя для меня реакт по сути очень удобный.
Аноним 30/03/18 Птн 22:38:58 #361 №1165427 
>>1165277
берут - вкатывайся, официальный опыт не лишним будет.
Аноним 30/03/18 Птн 23:07:45 #362 №1165448 
Sail.js/koa2/fastify?
Вакансии, вроде, на первом есть, второй приятнее, а третий быстрее...
inb4 экспресс уже знаю
Аноним 31/03/18 Суб 02:12:35 #363 №1165506 
>>1165448
Koa раз Express знаешь.
Аноним 31/03/18 Суб 02:28:18 #364 №1165511 
Как вкатиться в TDD с использованием Mocha и Chai? Тестировать надо API.
Аноним 31/03/18 Суб 03:15:55 #365 №1165519 
>>1165277
Однозначно нет, то что ты описал это даже хуже чем макакинг. Лучше пиши очердной spa бложик.
Аноним 31/03/18 Суб 03:18:24 #366 №1165521 
>>1165511
Jest
Аноним 31/03/18 Суб 04:34:42 #367 №1165537 
на реакте.webm
>>1157660 (OP)
Аноним 31/03/18 Суб 04:39:10 #368 №1165538 
>>1165521
Я ведь не реакт пердолю :с
Аноним 31/03/18 Суб 12:41:21 #369 №1165666 
>>1164819
Спасибо братюнь, но я тупой и не понял.
У меня пара вопросов по моему примеру:

https://jsfiddle.net/eh3hhq1g/

Что то я буксую с пониманием передачи контекста в классах в реакте.

Аноним 31/03/18 Суб 13:05:42 #370 №1165676 
>>1165666
С реактом я не работал (почти).
Но,
>так как внутрь функции <span> this не передан.
с чего ты это взял? Смотрел исходники реакта?
Как раз, логично было бы, чтобы он привязывал "правильный" this в таких случаях.
Ты ведь понимаешь, что "<span>" обрабатывается транспилером и превращается в настоящую фунцию, а потом вызывается с теми аргуметами и this, с какими реакт захочет?

А вот "onClick = {this.increment}" - это уже какая-то другая фигня, не могу сказать - читай мануал, смотри исходники.

Аноним 31/03/18 Суб 13:08:47 #371 №1165677 
>>1165666
И да, там может быть не bind(this), а call() или apply().
Аноним 31/03/18 Суб 13:09:24 #372 №1165678 
>>1165666

Сорян, за русский.

Вот почитай, https://habrahabr.ru/post/149516
Аноним 31/03/18 Суб 13:13:39 #373 №1165679 
>>1165666
Самофиксюсь -

https://jsfiddle.net/3z0b1yv7/

коечто кажется понял, но не все. Аноны, помогоите.
Аноним 31/03/18 Суб 13:20:56 #374 №1165682 
>>1165676
//с чего ты это взял? Смотрел исходники реакта?
Как раз, логично было бы, чтобы он привязывал "правильный" this в таких случаях.

Бро, видимо по логике вещей и так и есть. Метод рендер как то передает this во все свои внутренние функции, и его можно подхватить. Поэтому и биндится метод из прототипа прямо внутри функции.

//И да, там может быть не bind(this), а call() или apply().

Представь, но нет, вот такая конструкция работает у меня.
В баттон передается не вызов же метода, а сам метод.
<button onClick = {this.increment.bind(this)} >Кнопка</button>


Аноним 31/03/18 Суб 13:37:14 #375 №1165690 
>>1165682
>this.increment = this.increment.bind(this);

Выглядит как лютый костыль.
Так не должно быть (по идее).
Но, как лучше - не знаю.
Странно, что такая проблема вообще возникает.
Ты бы погуглил ещё, возможно, как то вообще иначе всё делается (с учётом специфики реакта).

Вообще, в подобных случаях в ES5 часто используют такой фокус, как объявление в функции-конструкторе переменной self:
var self = this;

И далее, внутри всех методов используют self вместо this.
Но, странно, что подобный фокус, получается, нужен и в ES6 тоже.
sageАноним 31/03/18 Суб 14:02:33 #376 №1165699 
>>1165690
Да блядь, откройте уже для себя стрелочные функции наконец.
class MyShiityComponent extends React.Component {
....
increment = () => {
....
}

render() {
return
...
<Button onClick={this.increment}>MyShittyLabel</Button>
}
}
Аноним 31/03/18 Суб 15:11:56 #377 №1165741 
>>1165699
Ну, вариант со стрелочными функциями я не стал предлагать потому, что они не являются полноценной заменой обычных.
А с другой стороны, для методов экземпляра - это то что нужно, да.

Не надо сагать в тематике, это некультурно
Аноним 31/03/18 Суб 18:11:29 #378 №1165816 
>>1165699
гляньте на идиота, нахуй читаемый код, лучше как на ассемблере, школьник ебучий.
Аноним 31/03/18 Суб 18:40:54 #379 №1165841 
>>1165816
Но у него вполне читаемый код...
Аноним 31/03/18 Суб 19:21:25 #380 №1165874 
>>1165841
> вполне читаемый код
по меркам фронтенда
Аноним 31/03/18 Суб 19:44:00 #381 №1165888 
Здравствуйте! Я завершил изучение js и у меня возник вопрос. Какой протокол и метод используют в чатах на приличных сайтах? Я так понял там непрерывное соединение. Я знаю что только iframe имеет поддержку во всех браузерах, но не верю, что его используют например в вк и фейсбук. Мне кажется там используют вэбсокеты. И если так, то как у них это работает в ie версии ниже 10? Ведь на них не будет поддерживаться вебсокеты.
Аноним 31/03/18 Суб 19:45:40 #382 №1165890 
>>1165888
> Я завершил изучение js
Это как?
Аноним 31/03/18 Суб 19:48:13 #383 №1165892 
>>1165890
Прочел учебник на learn.javascript.ru
Аноним 31/03/18 Суб 19:58:57 #384 №1165900 
>>1165888
SockJS
Аноним 31/03/18 Суб 20:00:34 #385 №1165901 
>>1165900
А там внутри получается полифилы?
Аноним 31/03/18 Суб 20:10:06 #386 №1165906 
Посоветуйте либу для построения интерфейса в терминале (а-ля midnight commander, ranger, yast...). Я так понимаю, самое популярное - это blessed, но он выглядит каким-то ебаным монстром, если честно (прозрачность и перетаскивание окошек мышью мне нахуй не сдались).

У кого-нибудь есть опыт в этом деле?
Аноним 31/03/18 Суб 21:44:53 #387 №1165958 
>>1165900
Его нет на php
Аноним 31/03/18 Суб 21:58:49 #388 №1165970 
>>1165888
XHR спасет отца русской демократии
Аноним 31/03/18 Суб 22:03:53 #389 №1165978 
15048812784610.jpg
джейсоны , я ньюфажный и розовый , выручите пожалуйста.
Вот у меня есть папка с однотиными изображениями , они должный быть в цикле загружены в однотипные же элементы DOM. Галерея , да

И это вызывает кучу идиотских вопросов типа:
- Есть ли готовой решение вида "загрузить все файлы из папки в массив или объект или какое то еще хранилище"

- Нужно ли мне для этого называть файлы изображений максимально просто типа " 1.jpeg" и тд.

Пока всё до чего я додумался это сделать для каждого раздела объект и в нем поля
'scr' : '../img/1.jpg',
'description' : 'какая нибудь подпись под картинку'

Это вообще адекватно?

Анончики , подскажите пожалуйста . обещаю как научусь сам тоже буду помогать новичкам.
Аноним 31/03/18 Суб 22:07:52 #390 №1165979 
>>1165978
примерно так делают обычно:
есть некий апи который возвращает айтемы примерно как ты описал

GET /api/pictures
[
{ src: "/img/1.jpg", description: "foto kota"},
{ src: "/img/2.jpg", description: "tvoya mamka"},
]

зачитываешь айтемы любым способом
у теб будет массив объектов с полями src, description

теперь либо тупо ставишь их в ДОМ, но тогда они сразу начнут загружатся и будет немного хреново, либо ищи js-компонент который умеет подгружать картинки "правильно" - в бэкграунде, чтобы не было блинка при загрузке, по скроллу и тд
Аноним 31/03/18 Суб 22:26:48 #391 №1165991 
1200px-Node.jslogo.svg.png
15120509162880.jpg
Где отдельный загон для бэкенда? Чому тут одни фронтомакаки?

Запилил приложуху, на men'е, с регистрацией, RESTом и прочими ништяками, сам, с нуля. До этого запилил бложик-приложение, а также всякие мелкие приложухи с использованием сторонних API.

Куда двигаться дальше?
Аноним 31/03/18 Суб 22:28:06 #392 №1165994 
>>1165979
Спасибо анон . Буду искать
Аноним 31/03/18 Суб 22:32:14 #393 №1165999 
>>1165991
На РАБоту
Аноним 31/03/18 Суб 22:36:03 #394 №1166003 
>>1165991
Вот ты хуй. А кинь гит..
А то я вот учусь и могу работать только с открытым апи. Делать запросы, посылать чет. А как свой бек на ноде или сервер запустить не могу - ваще не ебу че там и как. Ты где учил эт все, и сколько?
Аноним 31/03/18 Суб 22:36:33 #395 №1166004 
>>1165994
А почему бы тебе не запилить базу данных на монге, а потом их возвращать при помощи mongoose?
Аноним 31/03/18 Суб 22:52:57 #396 №1166008 
>>1165999
>На РАБоту
У меня 0 опыта, не думаю, что куда-то возьмут, тем более с моими скудными познаниями. Год назад получил диплом погромиста, но нас учили всякой древней хуйне. Вот решил научиться самому пилить веб-приложухи, во фронтенд могу на уровне вёрстки/жквери/ваниллы.

>>1166003
>кинь гит..
Деанон же.

>сервер запустить не могу
А чего там уметь лел? node %приложениенейм%.js :D

>Ты где учил эт все, и сколько?
Если ты про men, то по книжкам и мануалам, последние пару месяцев. Но я ж только учусь.

Не знаю, что мне сделать такое, чтобы потом возможный работодатель посмотрел в гитхаб и охуел от того, как я могу.
Аноним 31/03/18 Суб 22:58:00 #397 №1166011 
>>1166008
Бля, деанон по гиту...ну на дваче уже слишком много шкварок.

>А чего там уметь лел? node %приложениенейм%.js :D
Я имел ввиду на хостинг какой-то, со своей бд, чтобы работал как полноценный сайт, а не дерьмецо..Но видимо надо рили учится долго чтоб такое пилить.
>последние пару месяцев
ты учил бек последние пару месяцев, или вообще все? Хтмл, цсс, фронт и прочее.
Аноним 31/03/18 Суб 23:06:02 #398 №1166012 
>>1165906
ищи биндинги к ncurses
Аноним 31/03/18 Суб 23:14:47 #399 №1166014 
>>1166012
Спасибо, Капитан. Не ментейнятся они, автор отсылает к вышеозначенному blessed.

Ладно, я смотрю тут тредж уровня пхп-треда в целом, так что наверное вопрос не по адресу энивей.
Аноним 31/03/18 Суб 23:21:36 #400 №1166018 
>>1166011
Только бэк, а именно men.
Но я плотно так задрачивал, часов по 8-10 в сутки т.к. нигде не работаю, почти всё время на это трачу

>Хтмл, цсс, фронт
Это я ещё со школы знаю.
Ну и в универе нас учили бэку на питоне, но безуспешно. Плюс всякой легаси хуйне типа пхп, жквери, cms-кам разным, типа друпала и джумлы.
Аноним 31/03/18 Суб 23:47:06 #401 №1166027 
Как присвоить значение переменной через функцию?
Аноним 01/04/18 Вск 00:06:03 #402 №1166031 
Подскажите, что почитать посмотреть по ооп для жса. Для фп я уже нашел книжек, а с ооп как быть?
Аноним 01/04/18 Вск 00:13:37 #403 №1166039 
Почему JSON.stringify пропускает некоторые поля при преобразовании?
Аноним 01/04/18 Вск 00:27:37 #404 №1166043 
>>1166039
все понял
Аноним 01/04/18 Вск 01:25:27 #405 №1166067 
>>1166031
Спроси в Гугле:
"use strict" site:file.allitebooks.com
И он тебе найдёт книги по современному ES6.
Аноним 01/04/18 Вск 01:25:41 #406 №1166068 
>>1166027
объявить переменную вне функции и присвоить в теле функции. Пили подробнее, я тебя не понял.
>>1166008
>У меня 0 опыта, не думаю, что куда-то возьмут
дай на ХеХе резюме и откликнись на вакансии с небольшими требованиями - авось возьмут, рынок к весне вроде оттаивает.
Аноним 01/04/18 Вск 02:33:26 #407 №1166083 
Аноны, почему document.querySelectorAll( ":hover" ); выводит только nodeList? Как мне сделать так, чтобы он выводил куски разметки то?
Аноним 01/04/18 Вск 06:32:38 #408 №1166101 
А есть ли смысл читать что-то кроме доков и медиума по реакту? Где искать бест практис вообще?
sageАноним 01/04/18 Вск 09:28:40 #409 №1166119 
>>1166083
Потому что он возвращает объект.
Ты вообще наугад тыкаешь что ли? Изучи хотя бы основы js лол.
Аноним 01/04/18 Вск 10:42:07 #410 №1166142 
Снимок.JPG
Как такое говно писать? ладно таблицу я напишу, а как туда вставлять данные?
Аноним 01/04/18 Вск 10:51:44 #411 №1166145 
iterator.JPG
Я правильно понимаю что при первом запуске тернарный смотрит на переменную в функции, а при следующих уже на nextIndex созданного объекта?
Вообще немного смущает эта nextIndex переменная.
Аноним 01/04/18 Вск 11:06:21 #412 №1166154 
>>1166145
прост заумно написаный цикл.
при каждом вызове счетчик цикла (nextIndex) увеличивается до тех пор пока не достигнет profiles.length, тогда выставляется done=true и все.
Аноним 01/04/18 Вск 11:15:07 #413 №1166157 
Стикер
>>1166142
https://pastebin.com/raw/iUvW4ZfT
Аноним 01/04/18 Вск 11:19:47 #414 №1166158 
>>1166157
вот спасибо, спас меня Спасиб что за дауна считаешь, питон я немного знаю
Аноним 01/04/18 Вск 12:38:56 #415 №1166180 
>>1166145
Переменная nextIndex не создается в объекте, она создаётся один раз при вызове ProfileIterator в области видимости этой функции, а потом вызовы анонимной функции обращаются к ней через замыкание.
Аноним 01/04/18 Вск 13:10:53 #416 №1166198 
>>1166180
Я не могу понять каким образом объявленная переменная становится связанной с profiles[nextIndex]
Аноним 01/04/18 Вск 13:35:04 #417 №1166211 
image.png
>>1166039
Хотя нет, нихера не понял.
Аноним 01/04/18 Вск 13:43:53 #418 №1166213 
>>1166211
Если мне не изменяет память, стрингифай учитывает только own enumerable properties.
Аноним 01/04/18 Вск 13:44:21 #419 №1166214 
image.png
>>1166119
Я знаю прекрасно основы js
Аноним 01/04/18 Вск 13:51:59 #420 №1166217 
>>1166214
Вопрос нормально сформулируй тогда, долбоебушек.
Аноним 01/04/18 Вск 13:59:54 #421 №1166221 
>>1166217
>выводит только nodeList
положил хуй тебе между глаз, пиздоглазый сын собаки
sageАноним 01/04/18 Вск 14:01:48 #422 №1166226 
>>1166221
Кого куда выводит, чо ноделист? Что тебя не устраивает и что тебе надо, ты можешь русским языком сказать?
Аноним 01/04/18 Вск 14:21:39 #423 №1166238 
>>1166213
И как это свойство сделать enumerable?
Аноним 01/04/18 Вск 14:37:24 #424 №1166250 
>>1166238
три точки мб.

Подскажите, как научиться норма верстать под реакт? То есть я вроде все умею, весь мдн пролистал, могу подключить сss модулес, стайлд компонентс, материал юи и проч, но как самому-то норм быстро верстать и дизайнить мелкие юишные компоненты? Где примеры найти?
sageАноним 01/04/18 Вск 14:41:45 #425 №1166257 
>>1166238
Object.defineProperty
Аноним 01/04/18 Вск 14:42:19 #426 №1166260 
>>1166257
Пробовал уже.
Аноним 01/04/18 Вск 14:58:58 #427 №1166275 
Все, я все понял.
Аноним 01/04/18 Вск 15:27:19 #428 №1166296 
Подскажите best practices по организации структура проекта для Koa. Пилю REST API.
Аноним 01/04/18 Вск 15:40:17 #429 №1166301 
>>1166275
Наконец ты понял, что это не твое!
Аноним 01/04/18 Вск 15:43:31 #430 №1166305 
>>1166250
прав в хтмл теге style = ""
пора учить основы.
Аноним 01/04/18 Вск 16:35:37 #431 №1166330 
Поясните мне что перспективнее всего учить react, angular или vue.js?
Аноним 01/04/18 Вск 16:39:27 #432 №1166335 
>>1166330
jquery
Аноним 01/04/18 Вск 16:48:17 #433 №1166344 
>>1166335
А если уже знаю?
Аноним 01/04/18 Вск 16:51:53 #434 №1166348 
>>1166344
Тогда фреймворк Vanilla.js
Аноним 01/04/18 Вск 16:58:06 #435 №1166350 
Короче я изменил html, вставив пару новых элементов.
Пытаюсь найти их через $("#id"), их нет.

Помню раньше с этой хуйней сталкивался, надо как-то по-другому их искать.
Как в jquery найти элементы из измененного DOM?

Через find() тоже нихуя не находит
Аноним 01/04/18 Вск 16:59:59 #436 №1166353 
>>1166350
Скинь код ёбт
Тут что, гадалки сидят?
Поди жквери подключить забыл
Аноним 01/04/18 Вск 17:02:01 #437 №1166355 
>>1166330

Вебасм, очевидно же.
Аноним 01/04/18 Вск 17:03:06 #438 №1166356 
>>1166353
Смешно пошутил.

function createTariffs () {
var tariffsURL = "https://url.com";

$.getJSON (tariffsURL, function (data) {
$.each (data, function (code_name, tariff) {
$ ("#tariffs").append ("<option value='" + JSON.stringify (tariff) + "'>"
+ tariff.interface_name + " - " + tariff.monthly_payment_rubles + " рублей в месяц.</option>");
});
});

// Инициализируем форму.
alert ($ ("html").find ("#tariffs option:last").val ());
$ ("#tariffs").val ($ ("#tariffs").find ("option:last").val ());
$ ("#tariffs").val ($ ("#tariffs").find ("option:last").val ());
}



Добавил пару пунктов в селект, эта параша не находится.
#tariffs - селект.
sageАноним 01/04/18 Вск 17:04:47 #439 №1166358 
>>1166356
прочитай шапку, тупой олень
Аноним 01/04/18 Вск 17:06:27 #440 №1166360 
>>1166358
Тут вообще код нахуй не нужен блядь, все очевидно, даун тупой.
Достаточно того, что я сказал в первом посте.
sageАноним 01/04/18 Вск 17:07:35 #441 №1166363 
>>1166360
Пошёл нахуй отсюда, дитё.
Тебе никто помогать тут не будет.
Аноним 01/04/18 Вск 17:33:57 #442 №1166380 
>>1157660 (OP)
поясните, чо перспективней учить Vue или React?
Аноним 01/04/18 Вск 17:35:20 #443 №1166382 
>>1166380
>>1166335
Аноним 01/04/18 Вск 18:09:54 #444 №1166416 
>>1166380
Vue или Angular 2
Аноним 01/04/18 Вск 22:22:28 #445 №1166551 
>>1166198
>становится связанной с profiles[nextIndex]
Она не становится связанной. nextIndex сам по себе, это индекс — число. profiles[nextIndex] — это просто обращение к элементу профайла под номером nextIndex.
Аноним 01/04/18 Вск 22:24:16 #446 №1166552 
>>1166214
Твой NodeList пустой, ёба.
Аноним 01/04/18 Вск 22:26:02 #447 №1166553 
>>1166360
Асинхронность.
А теперь пошёл нахуй, агрессивный дурак, как тебе уже сказали.
Аноним 02/04/18 Пнд 09:29:12 #448 №1166654 
Ребята, объясните, пожалуйста.
Вот https://pastebin.com/1NNXvcm9 код полифилла для метода closest(css).
Зачем в конце return null?
Аноним 02/04/18 Пнд 11:15:06 #449 №1166671 
>>1166654
Чтобы если ничего не нашлось, тебе выдался именно нулл, а не дефолтный undefined, очевидно.
Аноним 02/04/18 Пнд 13:00:17 #450 №1166728 
Не могу никак понять зачем нужен и как пользовать тхис. Он указывает на текущий объект, это я понял. Примеры у кантора видел тоже, понимаю как работают, но я вообще не могу вкурить как я его могу применить на практике в своем быдлокоде, а явное указание - это для меня что-то из разряда сверхразума.
Это нормально или я совсем даун? Где почитать, чтоб для совсем ебычей разжевали?
Аноним 02/04/18 Пнд 13:08:29 #451 №1166731 
Вчера написал тест рандомной функции на рандом. Зачем? Потому что не нашел в гугле такого. Держу в курсе
Аноним 02/04/18 Пнд 14:30:23 #452 №1166769 
>>1166226
Да он ебнутый по всей видимости.
Он выделил элемент в инспекторе, и пытается его выбрать по селектору :hover в консоли через querySelectorAll.

Только вдумайтесь в его затею, и осознайте какой пиздец в голове у этого "прекрасно знающего основы js" человека.
Аноним 02/04/18 Пнд 14:34:51 #453 №1166770 
>>1166260
А они у тебя точно лежат в том объекте, на котором ты пробовал, а не в его прототипе?
Аноним 02/04/18 Пнд 14:42:11 #454 №1166777 
>>1166770
Да все уже, я разобрался. Там проблема вообще с этим не связана. Просто значение присваивается через асинхронный запрос и объект формируется раньше, чем оно присваивается. Я просто заменил запросы синхронными, это сильно bad practice, или норм?
Аноним 02/04/18 Пнд 15:04:21 #455 №1166788 
>>1165816
У нас на галере так и принято делать.
Аноним 02/04/18 Пнд 15:32:46 #456 №1166793 
1480870061165393309.png
>>1166769
Такие как он насмотрятся васянских уроков на ютубе, научаться копипастить, и уже считают себя гуру фронтенда. А на деле не могут селектор в доме выбрать.

Как же хорошо, что нам в ВУЗе разжевали ванильку, хоть это и было сто лет назад.
sageАноним 02/04/18 Пнд 15:46:06 #457 №1166796 
>>1165816
А this.methodName = this.methodName.bind(this) дохуя читаемый код, довен?
Аноним 02/04/18 Пнд 15:47:42 #458 №1166797 
>>1166777
>Я просто заменил запросы синхронными, это сильно bad practice, или норм?
Это оче плохо, лучше переделай нормально.
Аноним 02/04/18 Пнд 15:50:58 #459 №1166798 
>>1166777
Дали человеку промисы, дали async/await — нет, хочу говно жрать!
Аноним 02/04/18 Пнд 16:19:27 #460 №1166808 
>>1166798
И в чем принципиальная разница?
Аноним 02/04/18 Пнд 16:26:50 #461 №1166809 
>>1157660 (OP)
Существуют ли функции для деления и отнимания больших чисел в виде строк,
как например вот эта: https://jsfiddle.net/mtsL1k2x/5/
Можно ли написать так же кратко, используя какой-то быстрый алгоритм рассчёта?

У меня есть ещё функция для перемножения чисел, если хотите - дам.
Аноним 02/04/18 Пнд 16:33:50 #462 №1166811 
>>1166728
если инглиш знаешь, скачай курс с рутрекера understanding weird parts, там лучше чем в Канторе пояснено (кантора я не понял в свое время, а их легко). Оттуда тупо 2 главы можешь посмотреть, одна про контекст запуска функций, скоуп и евент луп, вторая про объекты и функции.
Аноним 02/04/18 Пнд 17:04:12 #463 №1166819 
>>1166809
Ну теперь сходи узнай, что существуют не только целые числа. Потом узнай про IEEE 754и что такое действительно большие числа, а не твоя детская поделка.
Аноним 02/04/18 Пнд 18:07:41 #464 №1166858 
Джачаны, стоит ли мешать flexbox с grid? Или на всякий случай сделать по старинке страницы с display:block и т.д? С Grid'ом и flex'ом все удобно и легко, поэтому боюсь.
Аноним 02/04/18 Пнд 18:28:42 #465 №1166876 
>>1166858
А еще поясните, фреймворки были созданы чтобы быстрее работу делать?
Аноним 02/04/18 Пнд 22:50:58 #466 №1167046 
Почему у меня при каждом ajax-запросе заново грузится favicon.ico?
sageАноним 03/04/18 Втр 00:08:29 #467 №1167162 
>>1167046
потому что может себе позволить
Аноним 03/04/18 Втр 01:20:54 #468 №1167192 
>>1166083
а на что у тебя мышь наведена, когда сей запрос выполняется?
>>1166858
вай нот, зачем тогда их прикрутили - на любоваться же.
>>1166876
если код вбивать - то да
Аноним 03/04/18 Втр 02:10:50 #469 №1167199 
>>1166819
>Ну теперь сходи узнай, что существуют не только целые числа.
Любое дробное число, если это не бесконечная дробь (периодическая или непериодическая),
можно представить в виде N/(1⋅10^R), где N - целое, R - число знаков после точки.
Поэтому, меня интересуют целые числа.

>Потом узнай про IEEE 754и что такое действительно большие числа.
наименьшее отличное от нуля положительное число, которое может быть представлено
как 1 × 10^-101, а самым большим 9999999 × 10^90 (9,999999 × 10^96)

Тот код может оперировать намного большими числами, в виде строк.
Максимальное число для безопасной работы в JS - это MAX_SAFE_INTEGER
2^53-1 = 9007199254740991.
>твоя детская поделка
Сходи лучше узнай что такое - длинная арифметика.

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

Я знаю, что есть BigInteger, но инклюдить его не очень хочется,
а перелопатить код, чтоб найти функции долгое и нудное занятие. Они могут зависеть от других.
А в ссылке, что я закинул сюда - там лишь две простые функции.
Аноним 03/04/18 Втр 06:45:35 #470 №1167226 
Manson.jpg
Думаю над выбором между TypeScript и Flow.
Предпочитаю чтобы nullable типов было явным, в TS такая опция есть, но не по-умолчанию.
Поясните, использование strictNullChecks в TS может сломать декларации типов библиотек, которые писались без strictNullChecks?
Аноним 03/04/18 Втр 07:08:02 #471 №1167229 
image.png
Подскажите, здесь аррай получается передается по ссылке? и fs ссылается на тот же массив из кложюра? или создается новый арр после ретерна и ссылка идет только на изменившийся i?
Аноним 03/04/18 Втр 07:58:25 #472 №1167233 
>>1167192
Посмотрел презентацию, все говорят мол хватит поддерживать старые браузеры, нужно двигаться вперед. Но ведь без поддержки никак, да и производительности, но технологии от W3 намного лучше по оптимизации и производительности, и они вернули старый вид разметки, который был удобен, да и работает лучше.
Просто делаю магазин, с гридами и флексами прям удобно делать все, не нужно кучу коробок создавать, чтобы их флотить, никаких больше паддингов, никаких width: 30%. Уже встроенный фрейворк.
Как ты думаешь, всунут ли Grid или Flexbox в другие фреймворки? Если уже не всунули? Я нуб просто.
Аноним 03/04/18 Втр 08:02:15 #473 №1167234 
>>1167233
в юишные фреймворки всунули. Есть же компоненты в материал-юи типа грида, они стопроц на флексах с медиа кваери под любую ширину. Да и бутстап вроде тоже на флексах уже
Аноним 03/04/18 Втр 08:40:30 #474 №1167238 
>>1167229
Буду ли я прав, если скажу, что кложюры - это частный случай работы скоуп чейнаа, когда функция, которая вызвала экзикьюшнл контекст проебуется со стэка, но ее переменные, на которые остались ссылки, остаютяс в памяти?
Аноним 03/04/18 Втр 08:44:04 #475 №1167239 
>>1167238
При этом кложюр работает только если переменные физически находятся снаружи в коде? А зис наоборот присваивается там, где функцию инвокят?
Аноним 03/04/18 Втр 12:13:10 #476 №1167290 
>>1167233
мне кажется что говном мамонта в современном интернете пользоваться просто не получится, даже какой-нибудь оперой-12, не говоря про ие. так что можешь сильно не переживать или влепить плашку.
в бутстрапе юзается, и в других скорее всего тоже
Аноним 03/04/18 Втр 12:33:22 #477 №1167301 
Насколько реально фрилансить на жаваскрипте?
Мне много не надо, я студент и деньги нужны только на игоры и подобные небольшие траты, это не вопрос выживания, просто какие-нибудь даже 10-20$ за неделю(по полчаса-час) по вечерам мне пригодятся, но главное что хоть какой-то реальный опыт в чем-то будет, пока в вузе я задрочу математику. Вообще опыт у меня в программировании довольно большой для первого курса(кресты, опенгл, жаву и юнити юзал), но максимум что я делал - небольшие игры.
Я посмотрел на фрилансер.ком что требуется от жсбояр - в основном "ай нид а сайт" за 100$, реакт, расширения для хрома, "пофикси вот это".
Сейчас у жаваскрипта я немного знаю синтаксис и написал какую-то хуйню с jquery ui с минимальной версткой страницы(просто кнопки всчкие расставил и пару виджетов от жквери). Я правильно понимаю что надо позадротить хорошо реакт(который пойдет ка кдля запиливани и попробовать сделать расширения для хрома и можно приступать к фрилансу?
Аноним 03/04/18 Втр 13:53:00 #478 №1167335 
>>1167301
на 100% реально, на cms еще реальнее, просто гугли биржи и смотри на тамошних индусов.
Аноним 03/04/18 Втр 13:53:58 #479 №1167336 
>>1166788
ну вы долбоебы что я могу сказать.
Код должен читаться без комментариев и должен быть без сложных структур которые заставляют задумываться. Т.е ты читаешь код, видишь конструкцию зависаешь вспоминаешь и читаешь дальше и так по 200 раз в место прямого пути ветвистый. А когда дочитал до конца функции уже устаешь.
Я когда стал писать так свой код, комменты даже редко стал оставлять потому-что и так понятно что он делает из названий методов + разделение ответственности, слабо связанный код и явных конструкций типа function() {} в место закорючек которые отвлекают от себя внимание. Код в результате легко читается. А если там вложенные данные, массив состоящий из объектов у которых свойства - методы создаваемые в циклах или еще что-нибудь, запарьшься читать подобное
[{{}=>[{}[][][][][]{}]}].

И еще пример, вот ты читаешь книгу, она бывает насыщена всякими терминами и сложными выражениями которые несут закодированный смысл (zip архив ирл). А бывают легкие книги, где раскрыты все мысли, но текста больше, прикол в том что они и читаются быстрее и понятнее и не утомляют
Аноним 03/04/18 Втр 15:54:32 #480 №1167391 
>>1164991
>Это все, что вам нужно знать о среднем уровне современного джаваскриптера.
>
Вообще-то я синьор
Аноним 03/04/18 Втр 16:24:17 #481 №1167407 
>>1167336
хуй я клал на то что ты, неуч, видишь ли некоторые конструкции не понимаешь. Учи паттерны и потом приходи.
Аноним 03/04/18 Втр 16:24:38 #482 №1167408 
Ну что посоны, как копируете инстансы классов, если у них есть функции, а? А? Попробуйте с помощью Object.assign, охуеете, что оно не умеет копировать МЕТОДЫ КЛАССА БЛЯДЬ.
Аноним 03/04/18 Втр 17:06:49 #483 №1167432 
>>1167408
Spread operator?
let copy = {...source}
Аноним 03/04/18 Втр 17:20:42 #484 №1167442 
>>1167432
Спред оператор - сахар для Object.assign. Вся та же хуйня, оно не копирует методы у инстанса класса. Я просто хуею с этого.
Аноним 03/04/18 Втр 17:38:45 #485 №1167459 
>>1167442
Только так — https://repl.it/repls/WildPitifulEvaluation
Почему — в интернете почитаешь. Методы в прототипе лежат, если вкратце, которые не enumerable.
Аноним 03/04/18 Втр 17:39:01 #486 №1167460 
>>1167459
>который
Аноним 03/04/18 Втр 18:04:48 #487 №1167476 
>>1167459
Нахуя мне читать оправдания жалких жабаскриптовских макак, которые только и умеют, что решать IMMEDIATE проблемы и не могут на шаг вперёд предусмотреть последствия своих действий?
Аноним 03/04/18 Втр 19:14:32 #488 №1167517 
Добро анон подскажи, как можно проэмулировать реализацию методов функций - call, apply, bind? Вообще не понимаю как это сделать...
Аноним 03/04/18 Втр 19:41:21 #489 №1167531 
>>1167408
Откуда вы лезете такие.
Аноним 03/04/18 Втр 19:44:07 #490 №1167533 
>>1167476
Не читай. Тогда зачем ты тут? Алсо, в ЖС так-то нет классов.
Аноним 03/04/18 Втр 19:44:08 #491 №1167534 
>>1167517
bind && (apply || call) можно проэмулировать при наличии нативной call || apply.

Аноним 03/04/18 Втр 19:52:28 #492 №1167539 
>>1167517
колл можно проэмулировать оператором () и постановкой функции в нужный объект и запуск оттуда, кроме (), кола и эплая других способов запуска функции нет, все они ссылаются на внутренний метод prototype.[[call]] вроде как. Еще их можно друг через друга переписать.
Аноним 03/04/18 Втр 19:55:14 #493 №1167543 
>>1167539
зис при запуске присваивается либо сам глобальный, либо через дот нотэйшн, иначе никак если не ошибаюсь
Аноним 03/04/18 Втр 20:57:06 #494 №1167578 
>>1167543
Как это можно проэмулировать через apply на таком примере?
https://jsfiddle.net/tL8pu2kt/2/
Аноним 03/04/18 Втр 21:50:20 #495 №1167608 
HmtCb4E.jpg
>>1167476
Как же заебали шизики, которые обсирают фичу_нейм в язык_нейм, хотя не знают других языков и как эта фича в них устроена.
Внезапно, в большинстве ОПП-языков обычно ты сам должен для класса определить метод copy(), который обычно включает в себя вызов, блять, конструктора класса.
Аноним 03/04/18 Втр 22:07:51 #496 №1167616 
>>1157660 (OP)
меня унижают на хабре за использование жиквери, шпасите
Аноним 03/04/18 Втр 22:33:53 #497 №1167633 
>>1167608
И что с этого? В других языках даже методы из третьих либ не делают такую хуйню, какую творит копировалка из родной либы жабаскрипта. Не копировать сука методы, что это за пиздец вообще? Почему они до сих пор не пофиксили или не заинтродюсили нормальный вызов, который делал бы нормальную копию инстансов класса, если уж классы в жабаскрипте есть?
Аноним 03/04/18 Втр 22:38:46 #498 №1167634 
image.png
>>1167578
https://jsfiddle.net/tL8pu2kt/7/

Но тоже самое можно и без apply.
см пикрелетейд. но это не будет работать, если thisArg запечатан. тогда нужен только нативный экземпляр apply\call.

А при наличии call или apply - bind эмулируется совершенно тривиально.
sageАноним 03/04/18 Втр 22:39:51 #499 №1167635 
>>1167633
Жри что дают, мразь, и не выёбывайся. Не нравится — пошёл нахуй. Ебал твою мать.
Аноним 03/04/18 Втр 22:40:56 #500 №1167638 
>>1167633
Все просто. ты ебануй даун зажатый в концепциях одной единственно концепции. Неспособный понять ничего кроме.
Аноним 03/04/18 Втр 22:45:17 #501 №1167641 
>>1167638
Да я уже понял, что походу объявлять функции в жабаскрипте - это себе в ногу стрелять, нужно юзать только инстанс функции. Создателям надо вообще нахуй выпилить их, раз они нормально вообще нигде не работают: то блядь this теряют, то сука не копируются. Вообще охуеть.
Аноним 03/04/18 Втр 22:45:32 #502 №1167642 
>>1167633
Таким уебкам как ты даже помогать нет желания.

В js классы в отличии от твоих зашоренных мировоззрений - это такие же полноценные объекты, как и все остальное. Методы твоего "инстанса" не лежат в твоем инстансе, они лежат в другом объекте. И более того, они не перечисляемы. Ты используешь метод, для КОПИРОВАНИЯ СОБСТВЕННЫХ СВОЙСТВ ОБЪЕКТА, и ожидаешь, что скопируются НЕ СОБСТВЕННЫЕ. Ты умственно-неполноценный?
Аноним 03/04/18 Втр 22:48:15 #503 №1167646 
>>1167641
Они работают как раз нормально, как и должны.
Это ты работаешь не нормально, пытаясь натянуть сову на глобус.
Схуяли ты вообще решил, что везде должно быть так, как ты привык где-то в другом месте? Ты не видишь дальше собтсвенного носа.
Аноним 03/04/18 Втр 23:00:30 #504 №1167653 
>>1167642
И как, часто тебя выручал такой Object.assign, который не копирует методы класса в новый объект? Дохуя логично же!
Вот, в общем, костыль против такой хуйни:
const copiedInstance = Object.assign( Object.create( Object.getPrototypeOf(correspondingInstance)), correspondingInstance);
где correspondingInstance - инстанс класса.
Аноним 03/04/18 Втр 23:15:34 #505 №1167656 
>>1167653
Тебе весь тред говорят, что Object.assign не предназначен для того, для чего ты его используешь. Ты нихуя не понимаешь и продолжаешь тянуть свою лямку.

То, что ты изобразил - это не копирование.
Твой новый объект точно так же зависим от цепочки прототипов, и от изменений в ней.

Короче, хуй с тобой.
Аноним 03/04/18 Втр 23:17:50 #506 №1167658 
>>1167653
А Классовые объекты вообще нельзя копировать, так,к ак это делаешь ты. Ни водном языке. Потмоу что они блядь должны конструироваться. И если копироваться, то специальными, внутренними конструкторами. Это тебе не структуры данных, дебил ебанный. Иди попробуй поклониируй DOM Ноды или Файловые дескрипторы, представленные объектами.
Аноним 03/04/18 Втр 23:22:12 #507 №1167661 
>>1167653
>И как, часто тебя выручал такой Object.assign, который не копирует методы класса в новый объект? Дохуя логично же!
Дохуй. У Object.assing совершенно иной юзкейс. Он предназначен для ассигнирования хэш-мапов, а не объектов. Например когда не было дефолтных значений аргументов функций, он использовался повсеместно.
Аноним 04/04/18 Срд 00:55:48 #508 №1167694 
Чё там по новой cпеке на есму слышно? Будут веселые изменения?
Аноним 04/04/18 Срд 01:33:37 #509 №1167706 
>>1167694
Она же разрабатывается всеми подряд на гитхабе, блядь. Сходи да посмотри.
Аноним 04/04/18 Срд 02:51:00 #510 №1167735 
image.png
На случай важных переговоров.
Аноним 04/04/18 Срд 03:03:01 #511 №1167736 
.jpg
>>1167735
И в чём прикол отображать число большим количеством цифр, чем обеспечиваемая точность?
мимо
Аноним 04/04/18 Срд 04:37:58 #512 №1167749 
>>1167735
Типа кривой механизм обработки плавающих чисел? Я уже забыл чет про экспоненты в си.
>>1167736
Да ими особо никто и не пользуется если вести речь про обычные программы, но в большинстве случаев они очень полезны для некоторых вещей. Математики широко используют для вычислений, всякие ученые там.
Аноним 04/04/18 Срд 04:42:27 #513 №1167751 
>>1167749
А вспомнил, в Си точность теряется с неопределенным типом после превышения значения экспоненты E7 или как то там.
Аноним 04/04/18 Срд 05:36:49 #514 №1167760 
>>1167634
У тебя пример логике противоречит. Если ты передашь зис сам, то он всегда будет верным и нет смысла его проверять и вообще зисом называть. Просто ссылка на объект. Методы другого объекта ты все равно не сможешь использовать на этом объекте, как бы ты не исхитрялся передавать. Мб я не прав. Я просто даже не вижу у тебя строчки зис = зисарг или чего-то такого.
Аноним 04/04/18 Срд 11:18:51 #515 №1167829 
image.png
>>1167634
Хотя смотри че нашел, это из жквери, немного похоже на то, что ты хочешь
Аноним 04/04/18 Срд 16:51:29 #516 №1167959 
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
ПЕРЕКАТ https://2ch.hk/pr/res/1167958.html
Аноним 04/04/18 Срд 16:59:28 #517 №1167968 
>>1167760
>то он всегда будет верным и нет смысла его проверять
Это ты не понмаешь как оно работает. Переданный this может быть null, undefined и тогда он должен указыать на global, или может быть примитивом числом\строкой\булом, и тогда его надо завернуть во временный объект иначе ничего не заработает.
Аноним 04/04/18 Срд 17:01:16 #518 №1167969 
>>1167760
>>1167968
Это про thisArg, а у самой функции ccall настоящий this должен быть функцией. И его тоже надо проверять.
Аноним 05/04/18 Чтв 16:59:27 #519 №1168480 
Где найти код дефолтных событий браузера? Хочу посмотреть дефолтную реализацию onSubmit для разных форм и не могу найти - гугл выдаёт всякие учебники и обработчики событий от васянов.
Аноним 09/04/18 Пнд 16:46:04 #520 №1170763 
>>1166858
Флекскоробки – определенно юзать, только с автопрефиксером!
Гриды же слишком прогрессивно, для прода рано.
мимо ванилла-верстала
Аноним 10/04/18 Втр 12:21:27 #521 №1171205 
>>1170763
ок
comments powered by Disqus

Отзывы и предложения