Это копия, сохраненная 8 июня 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
codewars например
Суп джаваскриптач. Есть какие-нибудь продвинутые курсы по ноде?
Я фронтендер с 3 годами опыта, могу в питон на вменяемом для работы уровне. Но с нодой никак не подружусь - пытаюсь писать по-модному-фронтендерному-типа-фпшному и очевидно всираюсь, т.к хорошей архитектуры не получается. Просто потому, что с ЖСом привык работать в контексте 1 сессии у юзера, которая заканчивается с перезагрузкой страницы. С питоном таких проблем нет, но у питона серверная часть из коробки выглядит намного приятнее.
> по ноде
Здесь я про ноду в плане веб-разработки, серваков. Всякие там алгоритмы пердеть и так могу, хоть в браузере.
быстрый самофикс
>серверная часть из коробки выглядит намного приятнее
Ты сейчас про джангу? Работаю сейчас с ней, люто бомбит с того, что нельзя просто асинк/авейт сделать, как в ноде.
>привык работать в контексте 1 сессии у юзера
>С питоном таких проблем нет
>по-модному-фронтендерному-типа-фпшному
>Я фронтендер с 3 годами опыта
Ты обычная макака без фундоментальных знаний подхватывающая единичные фишки и те неполноценно
Твое существование очередное доказательство ущербности постсовковых галер и их обитателей
ноду или питон?
>>39989
для ноды удобно использовать на сервере express, лично я юзаю архитектуру приложения ако:
index.js
/router
/model
/public_static
/lib
/configs
смотри как устроенны чужие mvc фреймворки на гитхабе, и попытайся для начала запилить своё приложение с одной инстанцией, например полноценный клон двача или какой-нибудь видео чат, потом для этого приложения реализуй многопоточный кластер с n-инстанциями на основе pm2, nginx и redis
сейчас уже много либ для ноды стали де-факто стандартами, например express, redis, socket.io, Sequelize ORM и тд, так что сейчас грех жаловаться, в 2015 была ситуация "веселей" в этом плане
это да,но все равно напрягает.
больще геммороя,когда собираешь не круд
хотя делать обычный сайт для круда на жс-это извращение ИМХО
> На русском нет нихуя
Я вроде и не просил на русском, с инглишем все в порядке.
>>40143
Про джангу в том числе, но с ней работал не так уж и много.
>>40199
Я для этого и прошу какие-нибудь курсы, чтобы подсмотреть бест практисы и то, как люди дружат ноду с наиболее популярными тулзами редис рэббитмку монга мускль постгресс сокеты и т.п.
Например вот >>40209 спасибо, сказал про "стандарты".
>>40165
Маня, съеби нахуй. Твое существование очередное доказательство ущербности постсовковых галер и их обитателей.
>JavaScript.thread = Number(`158`);
Можно и покороче:
>JavaScript.thread = ~~`158`
инфа: https://j11y.io/cool-stuff/double-bitwise-not/
Другая функция была вызвана, завершила работу и управление было передано на следующую строчку.
>~~
внезапно этот трюк ещё может быть полезен для очистки get параметров приходящих на сервер со стороны клиента
если кто-то передаст на сервер запрос, где вместо параметра типа number будет строка, то он соснет
/?q1=1 // ожидаем, нормальный кейс
/?q2="select from user where privileges=admin" // кто-то пытается сделать sql инфекцию
console.log(~~q1) // 1 в виде цифры
console.log(~~q2) // 0, в виде цифры, строка была конвертированна в 0
если они не ебланы, то перезвонят, так как по умолчанию подразумевается, что числа будут положительные
>~~‘s flooring capabilities make it a better alternative to Math.floor if you know you’re dealing with positives — it’s faster and takes up less characters.
> if you know you’re dealing with positives
yes, we know it
Поскольку задача стояла чисто техническая, автор мог продемонстрировать углубленные познания в механизмах работы интерпритатора и не писать скобки, подчеркивая понимания различий между бинарными и унарными функциями (-)
мб он использовал скобки, чтобы было удобно читать минус после тильды?
они там в целом бессмысленны, если только для конкретно его примера, иначе можно не понять сразу что там минус
https://www.youtube.com/watch?v=f2mMOiCSj5c
https://www.youtube.com/watch?v=DogGMNBZZvg
>>39887
Придумываешь себе программу, которую давненько хотел бы иметь в быте, но никак не находил/такой нет, и реализуешь на практике. На JS сейчас можно написать практически всё что угодно сайт/игра/утилита/десктоп приложение/мобильное приложение, даже если оно юудет говно по производительности, как все любят кукарекать, это лучший способ. Имеешь идею, и идёшь к ней, гугля каждую деталь реализации, базарю, ещё захочешь. Даже если не закончишь в итоге, скиллов прибавится.
Как сделать one, two, three??
>var promise = new Promise(function(resolve){setTimeout(function(){console.log("resolve one"); resolve("one")}, 1000);});
>promise.then(function(){return new Promise(function(resolve){setTimeout(function(){console.log("resolve two"); resolve("two");},1000);});});
>promise.then(function(){return new Promise(function(resolve){console.log("resolve three"); resolve("three")});})
>var promise = new Promise(function(resolve){setTimeout(function(){console.log("resolve one"); resolve("one")}, 1000);})
>.then(function(){return new Promise(function(resolve){setTimeout(function(){console.log("resolve two"); resolve("two");},1000);});})
>.then(function(){return new Promise(function(resolve){console.log("resolve three"); resolve("three")});})
->
>resolve one
>resolve two
>resolve three
Да?!! А если эту хуйню всю, надо разбросать по коду, в разных местах, вместо того, чтобы объединять в одну цепь?
У меня есть текст который хочется, чтобы можно было выделять.
Но проблема в том, что я не могу это сделать из-за того, что его закрывает прозрачный блок спереди, у него есть только border который выполняет эффект границы. Ну и пиздец, идей нет
Тогда - так:
>var promise1 = new Promise(function(resolve){setTimeout(function(){console.log("resolve one"); resolve("one")}, 1000);})
>var promise2 = promise1.then(function(){return new Promise(function(resolve){setTimeout(function(){console.log("resolve two"); resolve("two");},1000);});})
>var promise3 = promise2.then(function(){return new Promise(function(resolve){console.log("resolve three"); resolve("three")});})
->
>resolve one
>resolve two
>resolve three
От души, братишь. Заебись фурычит!
Суёшь резолвы в кэш и вызываешь когда надо.
>>40462
https://www.w3schools.com/cssref/pr_pos_z-index.asp
т.е. вот так:
foreach((item)=>{
fs.writeFile(item, ...);
})
в таком случае пишет не по порядку, что логично.
если что то типа такого сделать:
foreach( async (item)=>{
await newPromise((resolve,reject)=>{
fs.writeFile(item, ..., (err)=>{ if(err){reject()} resolve()});
}
})
тоже не по порядку пишет, что в принципе логично, но не так явно. Цикл не ждет выполнения await в первой итерации, а запускает все итерации последовательно. А уж как await выполнятся - так и выполнятся.
Так как в моем случае последовательно записать в файл?
Или только получить данные полностью, и одним действием записать в файл?
Я так понимаю - не можем. Это не поможет в соблюдении последовательного порядка записи. Promise.all просто дождется выполнения всех промисов. Но сами вызовы fs.writeFile() будут идти асинхронно.
let vasya = { name: "Вася", surname: "Пупкин", id: 1 };
let petya = { name: "Петя", surname: "Иванов", id: 2 };
let masha = { name: "Маша", surname: "Петрова", id: 3 };
let users = [ vasya, petya, masha ];
let usersMapped = users.map(user => ({
fullName: `${user.name} ${user.surname}`,
id: user.id
}));
Объясните пожалуйста, почему выполнение функции users.map не будет работать без скобочек {} и ()
https://javascript.info/call-apply-decorators
Тебе же надо получить результаты резолвов и потом что-то с ними сделать в определённом порядке? Храни тогда результаты в переменных, а потом пихай их в финальную функцию.
Потому что если не будет () - это будет тело функции. А если поставить скобки(), то {} будет считаться литералом объекта, а не блоком кода.
huy => {console.log(huy)} - блок кода/тело функции
huy => ({key: huy}) - литерал объекта
Дан массив ['мама', 'мыла', 'раму', '']. Преобразуйте массив в строку 'мама+мыла+раму'.
ну же анон, помоги. все утро ебусь с задачей
on load, on change блин что за вопрос такой, повесь ивент листенер
Спасибо анончик, я так и додумал потом, но не был уверен, что это правильно.
Тем более.
>>40465
А вот так - сможешь ещё и комментировать эти промисы:
>var test = 0; //number of test to running
>window["promise"+(~~(test++))] = new Promise(function(resolve){setTimeout(function(){console.log("resolve one"); resolve("one")}, 1000);}); //test1
>window["promise"+(~~(test+1))] = window["promise"+(test++)] .then(function(){return new Promise(function(resolve){setTimeout(function(){console.log("resolve two"); resolve("two");},1000);});}); //test2
>window["promise"+(~~(test+1))] = window["promise"+(test++)] .then(function(){return new Promise(function(resolve){console.log("resolve three"); resolve("three")});}) //test3
Зачем ты ебешь блины?
>var test = 0; //number of test to running
>window["promise"+(~~(++test))] = new Promise(function(resolve){setTimeout(function(){console.log("resolve one"); resolve("one")}, 1000);}); //test1
-----------------------------^^------->фикс
>window["promise"+(~~(test+1))] = window["promise"+(test++)] .then(function(){return new Promise(function(resolve){setTimeout(function(){console.log("resolve two"); resolve("two");},1000);});}); //test2
>window["promise"+(~~(test+1))] = window["promise"+(test++)] .then(function(){return new Promise(function(resolve){console.log("resolve three"); resolve("three")});}) //test3
Принял блины
PS и если да, то могу ли я верстать под эту величину или мне нужно скейлить приложение?
Сам по итогу не нашел. И сто видосиков смотреть на сто часов впадлу. Советую ро итогу пердолиться с документацией. Хоть она и говно.
>С такими знаниями ксса ты обосрешься
Спору нет, но я думал лучше криво сделать, чем не сделать вообще.
Неужели это надо вилкой разгребать? Я прочитал, что нпм один хуй старые версии хранит в бекапе, чтобы зависимоти не ломать.
Ну так чисти, вилкой, чисти чисти чисти, блядь.
Я вам промисы принёс https://github.com/username1565/nanoboard-javascript-captcha/blob/master/index.html
- за квартиру, за Январь...
Чтоб каптчу локально ты - сам вводил, тупая тварь.
https://username1565.github.io/nanoboard-javascript-captcha/index.html
И не ддосил мой сервак, на вот этом имени: http://nboardn46ay6ycdi.onion/
чтоб нбордочка была - ещё неистребимее!
Как же долго каптча-пак, я препечатывал,
ебануться сколько букв, вручную обрабатывал...
Это всё лишь для того, чтобы ты не лез ко мне,
а локальненько каптчу ввёл, к своей же - простыне.
А потом на сервера, все посты сможешь залить,
JSON'ом, как всегда - хуле тут ещё мудрить?!!
И хоть пачкой их там пость - JSON'чиком посты,
там ведь даже API есть, для таких, спецом - как ты.
Если нравится проект - "заходи на огонёк": http://76dqlkbo4ffj475k.onion/s/res/771.html
Это лучше чем плевать - шмарклями на потолок.
Стегу нам бы заюзать - в видеотрансляциях,
так, отправим мочерню - на утилизацию.
не совсем релейт, но если поковыряться, то можно найти что ты просил @ https://www.youtube.com/playlist?list=PLCOsN3HvFc6XZ2m_EpxeEqF6v9hY17amI
кликнул на первый линк, думал рейтануть идею капчи
вижу там используются var, сразу нахуй такой код
Не понял, как это? Вот у меня gmail почта, как Активижн получит инфу об открытии и прочтении письма, если я просто открою письмо?
Будешь громче орать, когда такие петухи как тот анон на криво/косо написанном барахле будут деньги поднимать. Пока ты на галере будешь гребсти.
В твой случай не вникал, но бывает такое:
В письмо я вставляю однопиксельную картинку
<img width="1" height="1" src="http://мойсайт.рф/спалился-уникальный-сыч" />
Если твой почтовый клиент картинку не заблочит, то твой браузер безоговорочно пошлёт к моему серверу запрос по этому адресу.
очевидный пикрелейтед на 195 линии:
например в ситуации 120 === '120' будет false если не конвертировать
leetcode.com/problems/merge-two-binary-trees/
Не могу придумать правильные логические условия и всё. Хоть убей..
Поверхностно она легкая. Но если внутрь заглянуть то сложно всё становится..
Давай начнём с того, что сливать бинарные деревья - это не совсем элементарная задачка. Второе - вертеть деревья на вайтборде просят разве что в Яндексе и Гугле. Вернись к более простым вещам, почитай теорию по алгоритмам. И кстати, ты зачем задачки решаешь? Ну то есть для самооценки, наверное, хорошо, но ты же понимаешь, что с реальной работой это имеет не оч много общего?
Чтобы научиться писать код и закрепить прочтение Кантора, закрепить знания. Деревья - в жс они объекты, разве научиться всем фишкам с объектами это бесполезно?
Друг миддл говорит, что если бы человек ему на собесе сказал, что задача с деревьями - не элементарная задача, то плюнул бы ему в лицо.
>Чтобы научиться писать код
Программисты пишут не просто код и не всегда решают алгоритмические задачки (фронты уж так точно), они воплощают хотелки бизнеса. Я не очень представляю себе таск на работе, где тебе пригодится бинарное дерево (опять же, если мы говорим про фронт). Хочешь упарываться в аглоритмы, тебе не в JS и не во фронтэнд. Лучше решай практические кейсы - сделать форму ввода для банковских карт, пагинацию, фильтрацию, объекты запихни в Редакс или Мобх. В общем, более приближено к практике, а не к теории. А Кантор не повредит, но не им единым.
Да
Твоему другу можно разве что на лицо нассать. По одному критерию судить человека... он точно мидл и точно существует?
Под фишками я имел ввиду рекурсивные обходы, создание правильных условий для них и т.п.
Не надо дрочить на код ради кода. Рекурсия - интересная штука, но многие тимлиды, когда услышат про рекурсию на проде, отправят тебя быстро и далеко.
Ты забавный. Доказывать тебе что-то тут не вижу смысла. Может, когда-нибудь на собес придёшь.
А что такого в рекурсии то? Ее недостатки я знаю, но смешно было бы думать что опытные люди будут прям шугаться при упоминании слова рекурсия.
малаца!
Вопрос не шугаться или нет, а зачем?
Я понимаю что вызов "count" будет увеличивать "counter" на единицу, и то что при каждом вызове будет создано новое лексическое окружение. Но каким образом при новом вызове счетчик продолжает расти? Почему переменная не берет значение "counter = 0"? Получается оно его сохраняет, но куда? В переменную "count", или в переменную функции "counter" и просто при каждом вызове значение перезаписывается? Если так то все равно где оно хранится?
Чем тебе var не угодил?
Вообще-то, там во всех скриптах var: https://github.com/username1565/nanoboard/tree/master/scripts
в том числе и в jquery-1.12.0.js
И всё нормально работает, как, впрочем, и вторая ссылка из предыдущего поста,
до которой ты, из-за невежественного отношения своего к стандартнейшему var - так и не дошёл.
>>41319
>>window["promise"+(test+1)] = window["promise"+(test++)]
>ору с кода
Тут >>40717
Мне понравилось то, что можно комментировать тесты! Охуенно же!
Вон, тест AddPow - закомментирован, потому что долго работает, но зато его можно просто расскомментировать и всё.
И не надо промисы переименовывать, как тут: >>40465
Там есть ещё кое что, что вас неистово бесит - CamelCase, в перемешку с vot_etim_vot
Ты, кажется, не понимаешь лексическое окружение и сами переменные. На learn.javascript всё разжёвано. Но это надо читать, да?
jQuery JavaScript Library v1.12.0 - это 2016-й год, же: https://github.com/username1565/nanoboard/blob/8f0edd8d02b9f680f7ce1f70ddd29b8f7c367110/scripts/jquery-1.12.0.js#L12
>var, var var:
https://github.com/username1565/nanoboard/blob/8f0edd8d02b9f680f7ce1f70ddd29b8f7c367110/scripts/jquery-1.12.0.js#L45
>такие петухи как тот анон на криво/косо написанном барахле будут
Ебало завали, мудель! Схулей я петух, если я не ты?
"Петух - это тот, кто ты". (с) Дж. Стейтем.
Изучаю Джаву кста с недельку, по решениям с SO тоже var всегда писал. Потом меня обоссали тут, начал const и let. И сука const дольше и сложней писать бля.
>Джаву кста с недельку
Ты топиком ошибся?
>И сука const дольше и сложней писать бля.
Видимо, можно списать на "недельку".
То есть, ты сначала повёлся на чей-то троллинг,
затем, втупую - погнулся под пиздёж троллящего,
а теперь сам решил так потроллить,
и ещё охуел, и катишь бочку на каноничнейший - var?
Я вам, ещё раз, блядь, повторю - следующее:
никто не будет менять, свои, проверенные временем броузеры,
и даже целые операционные системы,
для одной лишь поддержки, обратно-несовместимых директив let и const,
если можно просто - написать var,
а вместо стрелочных функций: function(variable){/var work_with_variable.../}
>сам решил так потроллить
Это был не я. От стрелочных функций у меня кста тоже сперва башка ломалась. Потому что везде по классике пишут
Там и читаю, параллельно гугля непонятные моменты. Вот один из них. Эту тему уже раз 10 перечитал, и не до конца понимаю, почему при новом вызове переменная растет.
Есть произвольный текст вписываемый пользователем, и нужно чтобы символы по очередке поднимались в верхний регистр, а потом возвращались в нижний, через что это можно реализовать?
Кстати, поэтому и борда эта не пашет в старых браузерах.
Потому что напихали этих let в sharkey.js... C var бы работало. Пикрелейтед.
Вон, в строке 1159, в sharkey.js - вижу let: https://2ch.hk/makaba/templates/js/sharkey.js (М)
>Uncaught SyntaxError: Unexpected strict mode reserved word sharkey.js:1159
>>JavaScript.thread = Number(`158`);
>Можно и покороче:
>>JavaScript.thread = +(`158`)
пофиксил тебя.
Да, внатуре, "+" - это самый лучший и короткий эквивалент Number.
Всё полностью одинаково, и даже скобки можно не писать.
мне лично плюс не нравится, слишком коротко, это вводит в заблуждение, две тильды более однозначные
А что мешает написать +x//toNum\n ?
console.log(+q2); //=> NaN
А что быстрее? Негация, вроде как быстрее намного, даже двойная, не?
Вкатываюсь в JS. Чую скоро будет море бабла и крутых тачек. С чего начать? А то шапка пустая какая-то
Почему?
Дайте кто-нибудь годный плеер, чтобы на сайт повесить, и чтобы там можно было встраивать видео .mp4,
воспроизводить это видео, и скопировать прямую ссылку на .mp4-файл этого видео и скачать это видео.
Просто пишешь:
><video controls="" autoplay="" name="media" width="480px" height="240px">
> <source src="url_video.mp4" type="video/mp4">
></video>
закачка доступна по правому клику.
>Кстати, поэтому и борда эта не пашет в старых браузерах.
Какие нахуй старые браузеры? Все релевантные браузеры чуть не каждый месяц обновляются, а если твой васянофорк так и не запилил поддержку стандарта пятилетней давности, то это его проблемы. Ну или твои, если ты буквально на некроговне сидишь.
>>41491
Вот и я подумал на загрузку картинок с других сайтов и подобные вещи.
Но как быть с "открытых и прочитанных писем"?
Странно, но как будто бы подразумевается, что это разные вещи.
Тогда как они могут определить, что письмо именно прочитано, скрипт сработает, когда его до конца долистаешь что ли?
Странно...
Зачем тогда писать "открытых и прочитанных", а не что-то одно, если подразумевается,что это одно действие?
Блд, какая-то хуйня тут, которая меня смущает, ска.
Либо написали это дебилы, либо есть технология, про которую я не знаю и др. варианты возможны.
Возможно ли как-то, при помощи WebStorage и LocalStorage - реализовать server-less WebRTC, между браузерами,
без всяких STUN-серверов, и чтобы там видео чаты были, звонки, и главное - чтобы оно всё было - peer-to-peer???
Существуют ли какие-то IRC-клиенты, наподобие этого: https://client00.chat.mibbit.com/
но без сервера, и не для ноды, а для браузера,
чтобы открыть в браузере, ввести relay-сервера и порт,
и подключиться и чатиться там - анонимно и без регистрации. Есть такое??? Где???
decodeURIComponent
Serverless не значит без серверов, лол. И тебе всё равно нужен кто-то, кто nat пробивать будет, просто так без сервера ты только большинство клиентов не соединишь, ибо почти у всех роутеров cone nat. А в чём проблема то? Если люди не за симметричным nat, то их спокойно тупо через stun гонять можно. Для этого можно хоть самый дешманский дроплет на digital ocean/vultr купить, трафик там весь будет - это tcp хэндшейк обоих пиров, который буквально 1 запрос на каждого.
байтового массива в строку, и наоборот.
Base64 - отпадает, потому что избыточность.
Самое простое, что приходит в голову - это каким-то образом преобразовать массив в байт,
в массив 7-ми битных значений, а потом преобразовать это в символы ASCII.
Но, для этого, нужно обрабатывать каждый байт, извлекая биты.
Есть чё-нибудь более быстрое, и главное - выдающее минимальную строку текста?
>Base64 - отпадает, потому что избыточность
>Давайте сделаем Base128
Можешь свой массив интерпретировать как UTF32 строку, тогда символов будет мало, байтов конечно же останется столько же
Но замена разная. Например определенные слова просто убрать, определенные словосочетания сократить, в других наоборот добавить слово.
Как можно это нормально и эффективно организовать, кроме как цепочкой replace?
Дык и интерпретируй свои байтики как строку, какое ещё кодирование?
Или ты хочешь чтоб у строки художественная ценность и захватывающий сюжет появлялись?
>>43153
Давай перепишем на Рякте!
Какой реплейс? Ты собрался регулярками ХТМЛ парсить?
Напиши функции, которые делают элементарные нужные трансформации к тексту ячейки, возвращают новый текст.
Напиши функцию, которая будет выбирать нужную трансформацию.
Напиши функцию, которая будет из ссылки на таблицу возращать список нужных ячеек.
Напиши функцию, которая к списку ячее будет применять трансформации, заменять текст.
>Serverless не значит без серверов, лол.
Это я уже понял, причём аж - после долгих двух суток гуглежа...
>И тебе всё равно нужен кто-то, кто nat пробивать будет
Stun-серверы это делают же.
>просто так без сервера ты только большинство клиентов не соединишь
Тут ты опечатался, что-ли?
>ибо почти у всех роутеров cone nat.
Но, почти у всех роутеров есть и UPnP.
>А в чём проблема то?
Проблема в том, что изначально, реквестировалась возможность бессерверного децентрализованного обмена инфой.
>Если люди не за симметричным nat, то их спокойно тупо через stun гонять можно.
Да, я видел STUN-серверы на GoLang и ещё чём-то там, на node.js. Но это же надо ноду ставить.
>Для этого можно хоть самый дешманский дроплет на digital ocean/vultr купить,
>трафик там весь будет - это tcp хэндшейк обоих пиров, который буквально 1 запрос на каждого.
Сразу отпадает. Важено наличие открытого исходника, и главное - возможность поднять свой серв - самостоятельно, в LAN,
чтобы всё работало без Интернета вообще.
К тому же, речь шла о безсерверной сети - то есть о browser-to-browser p2p-сети.
Такой сети, которая работала бы пока у кого-либо, открыта - хотя-бы одна вкладка в браузере.
Я знаю, что это можно сделать через расширения к браузеру,
или тупо впилить сервер, как в той же Opera - IIRC.
Этот: https://stackoverflow.com/a/3283794 , говорит, что по-сути, они туда отдельный сервер сунули...
Также, я где-то слышал, что есть даже браузеры децентрализированные, через которые раздаю файлы в p2p-сетях µTorrent.
Думал я в эту сторону, гадал, и пришёл к WebSQL.
Как оно работает, толком, так и не понял,
но, думаю, можно было бы организовать децентрализованный обмен инфой,
например, расшарив свой публичный ключ какой-нибудь, как в TOR'e - onion-домены работают,
и чтобы по публичному ключу этому, можно было зайти и запросить что надо, из хранилища,
отправив корректно-сформулированный запрос, и получив определённый блок инфы, данных, из базы WebSQL,
причём откуда получив - никого ебать не должно, инфу должна бы раздавать децентрализированная сеть,
раздавать её - отовсюду и везде, как-бы синхронизируя базу данных, сохраняющую целостность в разных сегментах сети,
автоматизированно.
>Serverless не значит без серверов, лол.
Это я уже понял, причём аж - после долгих двух суток гуглежа...
>И тебе всё равно нужен кто-то, кто nat пробивать будет
Stun-серверы это делают же.
>просто так без сервера ты только большинство клиентов не соединишь
Тут ты опечатался, что-ли?
>ибо почти у всех роутеров cone nat.
Но, почти у всех роутеров есть и UPnP.
>А в чём проблема то?
Проблема в том, что изначально, реквестировалась возможность бессерверного децентрализованного обмена инфой.
>Если люди не за симметричным nat, то их спокойно тупо через stun гонять можно.
Да, я видел STUN-серверы на GoLang и ещё чём-то там, на node.js. Но это же надо ноду ставить.
>Для этого можно хоть самый дешманский дроплет на digital ocean/vultr купить,
>трафик там весь будет - это tcp хэндшейк обоих пиров, который буквально 1 запрос на каждого.
Сразу отпадает. Важено наличие открытого исходника, и главное - возможность поднять свой серв - самостоятельно, в LAN,
чтобы всё работало без Интернета вообще.
К тому же, речь шла о безсерверной сети - то есть о browser-to-browser p2p-сети.
Такой сети, которая работала бы пока у кого-либо, открыта - хотя-бы одна вкладка в браузере.
Я знаю, что это можно сделать через расширения к браузеру,
или тупо впилить сервер, как в той же Opera - IIRC.
Этот: https://stackoverflow.com/a/3283794 , говорит, что по-сути, они туда отдельный сервер сунули...
Также, я где-то слышал, что есть даже браузеры децентрализированные, через которые раздаю файлы в p2p-сетях µTorrent.
Думал я в эту сторону, гадал, и пришёл к WebSQL.
Как оно работает, толком, так и не понял,
но, думаю, можно было бы организовать децентрализованный обмен инфой,
например, расшарив свой публичный ключ какой-нибудь, как в TOR'e - onion-домены работают,
и чтобы по публичному ключу этому, можно было зайти и запросить что надо, из хранилища,
отправив корректно-сформулированный запрос, и получив определённый блок инфы, данных, из базы WebSQL,
причём откуда получив - никого ебать не должно, инфу должна бы раздавать децентрализированная сеть,
раздавать её - отовсюду и везде, как-бы синхронизируя базу данных, сохраняющую целостность в разных сегментах сети,
автоматизированно.
>Base64 - отпадает, потому что избыточность
>Давайте сделаем Base128
Бейсы-пейсы - это не то. Оно же - нечитабельное нихуя, блядь.
>Можешь свой массив интерпретировать как UTF32 строку, тогда символов будет мало, байтов конечно же останется столько же
Надо чтоб читалось.
>Дык и интерпретируй свои байтики как строку, какое ещё кодирование?
Ну а в какой кодировке-то строка эта будет?
Очевидно, что надо распознать как-то кодировку данных в байтовом массиве, а потом уже закодировать в строку,
корректно, так чтобы не было там никаких "заменяющих символов", портящих данные.
Ну и конечно же, при успешном распознании кодировки данных, и кодировании их в строку,
строка эта должна бы так же успешно, и назад, из строки - в байты декодироваться...
Вообще, изначально, у меня задача состоит такая.
Вот есть переменная, скажем. И она может быть как массивом байт, так и строкой.
Если это байты - то надо подать её на вход одной функции, которая обрабатывает сырые байты загружаемых файлов.
Ну там, в arraybuffer их конвертирует, и дальше, по коду...
Если же это строка - то надо подать её на вход другой абсолютно функции, которая проинтерпретирует это как строку.
И задача здесь, состоит в том, чтобы закодировать байты так,
чтобы читабельный текст оставался текстом, а не каким-то видоизменённым бейсом,
который при попытке декодирования в строку, внезапно - может дать байты или хуету неведомую,
с заменяющим символом, строкой не являющуюся и обратно во входные байты не преобразовывающуюся...
какой профит?
Короткий не значит хороший. Это что-то на уровне двойного отрицания для каста к boolean. За такое нужно пиздить по рукам молотком.
Задай для body высоту в 100vh и закрой всю страницу прозрачным div.
зачем?
Смотря что ты подразумеваешь под "защитить"
На скриптоговне пишут околомикросвервесную хуйню где и ломать нечего
Или может я не понимаю, что именно автор запрещает делать? Короче, может кто сказать, я всё по условию сделал или нет:
https://repl.it/repls/WeightyFrontBellsandwhistles
Какие же кони в вакууме
Даже кекнул, когда увидел, из какой это книге Пару лет назад пытался читать вторую редакцию но выдиржал от силу треть, это просто эталон бесполезной отсебятины
>>44253
Мне кажется, там надмозгно написано реализовать в классе Символ.итератор самому, что ты и сделал.
Решение не проверял, но выглядит похоже на правду. Доебусь до имён.
Антоним для add это remove:
https://www.thesaurus.com/browse/add
Если у тебя коллекция, лучше её называть элементом во множественном числе. Тогда вместо group.group получится group.items
Ну... судя по твоему правописанию... у меня для тебя плохие новости.
Храни заготовки часто велосипедируемых елементов.
ну как минимум,чтобы через сокет не проникли в сервер,и вообще не взломали ноду примитивным путем
>чел, который попрошайничал на core-js задавил кого-то мотоциклом
> maintainer of the popular core-js library
> it gets downloaded more than 26 million times every week via the npm registry, and is widely used by major companies including Apple
> г.Барнаул, Алтайский край
кто бы мог подумать
Пушкарев, ты? Готовь туза, на зоне педестиансом тоже станешь.
Да к слову была норм тема у vscode, но блядь сделали серый текст на сером фоне. Сойбои ебаные.
Тёмные темы для глаз легче - сетчатку не нагружают. Без разницы днём или ночью.
Со светлой темой ты фактически часами на яркую лампочку пялишься, что нифига не полезно для глаз.
Контрастные темы вообще зло - потом полосы в глазах остаются. Только мягкие плавные переходы.
Чет установил, не могу поставить ни одного пакета, сыпятся баги, пиздец.
Ну ладно там всякие байтоебы, но вы же фронтенды делаете. Постоянно переключаетесть между черной иде и белым сайтом? Глазки не бобо после этого?
Поставил ничего не сыпется
>Постоянно переключаетесть между черной иде и белым сайтом?
Зачем? Имеет смысл только при вёрстке так делать.
А на третьем - анимеху запускают и двочи.
не тот пикрелейтед, вот нужный
Скажите, как вкатиться в ваш стан?
Сейчас работаю сеошником/лидогенератором/маркетологом/эникейщиком в одной конторе, фиксил разные проблемы на сайте, правил код, вёрстку, могу сверстать лпшку простенькую. Сейчас на node js пилю различных ботов через puppeteer.
Хочется действительно освоить профу. Скажите, могу ли я в дс2 рассчитывать с такими знаниями хотя бы на штуку баксов или же мне ещё что-то нужно подтягивать до этой величины?
Также посоветуйте пет проектов, которые в глазах работодателей будут хорошо смотреться.
Всем добра.
Дискорд-десктоп и вскод написаны на жсе.
Потому что потом вернуть надо.
let s = document.createElement("script");
s.textContent = code;
(document.head||document.documentElement).appendChild(s);
И тут у меня возник вопрос, а сам сайт такую ебалу может отследить? Ну подписаться там на изменения document.head или ещё чего? Я что-то ничего внятного не нашёл, на ум приходит разве что периодически отслеживать имена всяких глобальных переменных которые инжектятся.
Прошу не гнать меня ссаными тряпками, т.к. очередной нуфаг.
Кто-то из местных анонов знает о потребности js в гейропке? я умею в гугол, но там все слишком красочно. Будто бы, как горячих пирожкие разбирают, как фронтендеров, так и бэк.
ЕДу туда по офферу, но совсем не погромист - скорее пишу ТЗ и прочую залупень, но уже давно хотел перекатиться.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
Ты хоть пытался погуглить?
Может ты там спросишь?
Джуниор сегмент полностью захвачен демпенгующими индусами хохлами и прочими белорусами, если ты перекатываешься в тир1 европу - смотри "инкубаторы" и курсы на месте
Если ты катишься в какую-нибудь Польшу, Литву, Латвию, Эстонию и вообще нихуя не знаешь про программирование - перекат (в программисты) того не стоит
Могу предположить что сейчас рынок джунов стагнирует, и время хайпа уходит. Времена когда брали только за то что на html умеешь программировать прошли, как мне кажется. На данный момент порог входа значительно вырос. Как пример два тестовых которые мне давали:
1. nodejs/express + react - микро блог(авторизация/регистрация и все такое) с добавлением статей с картинками. Морда реакт - бекенд нода/sql. Можно было использовать фреймворки и т.д.
2. Тоже самое в принципе, но только на чистом пхп, без фреймворков.
И я в сущности считаю что это хорошо. Рынок замрет на оптимуме профессионализма. Совсем нубы отсеются, а так же исчезнет мотивация "да в ойти за нихуя не делания 300к плотют", что опять же хорошо для тех кто люит, как это не странно звучит, это ебаное программирование.
И в сущности весь этот маня хйап - только вокруг JS, и даже не JS а фронт-библиотек.
Чет я не вижу очередей вкатывальщиков в С++ или в дата саенс.
Потому что там блядь сложно, и долго, и любить наворачивать это говно полной ложкой нужно.
Столкнулся со след. проблемой: когда пытаюсь сделать деплой с гитхаба, то ловлю ошибку The repository either does not exist or is not publicly accessible. Ловлю ошибку на всех проектах, хотя они все открытые.
>fs.writeFileSync("result.txt", resultString);
сохранять форматирование в тексте? В resultString текст поступает красивыми абзацами, а в самом файле общей кучей. Помогите.
https://www.iso.org/standard/79329.html
Чё за нах? Может, и W3C начнёт продавать свои спецификации?
В общем, вопрос: где пиратить стандарты ISO?
const {client_secret, client_id, redirect_uris} = credentials.installed;
const oAuth2Client = new google.auth.OAuth2(client_id, client_secret, redirect_uris[0]);
Тут credentials - это json объект со структурой:
{"web": {
"client_id":"......",
"project_id":"......",
"auth_uri":".......",
"token_uri":".......",
"auth_provider_x509_cert_url":"......",
"client_secret":"......",
"javascript_origins":["......"]
}}
Почему в примере какой-то installed? Что это? Собственно, компилятор срет ошибкой
>TypeError: Cannot destructure property `client_secret` of 'undefined' or 'null'.
Сама статья https://developers.google.com/drive/api/v3/quickstart/nodejs
Добавлю, если логически можно предположить, что client_secret и client_id должны соответствовать одноименным переменным, то что делать redirect_uris вообще без понятия. К тому же это еще и массив должен быть.
>Понадобилось мне, значит, заебенить MPEG-DASH
Имплементировать этот надпротокол с нуля на жсе? Или что понадобилось?
Тяну данные для таблицы с filltext API. Когда держу npm сервак, всё нормально, но стоит запустить приложение по нормальному, так браузеры сразу жалуются на mixed content error. Замена http на https в запросе не помогает.
>лол
А что ты лолкаоешь, маня?
для практикующего программиста это естественно не сложно.
Но для вкатывальщака, который вчера научился цикл перебирать это сложно, и очень.
Не, понятно, что можно воспользоваться готовыми инструментами для фрагментирования видео разного качества с генерацией mpd xml-ей, а на фронте воспользоваться готовыми плеерами.
Но я бы хотел на клиенте всё-таки вручную в несколько потоков выкачивать с помощью Media Source Extensions куски видео в зависимости от пропускной способности и класть в кэш и иметь над этим полный контроль.
Так вот, как показывает практика, хорошее знание стандартов помогает сразу избежать многих граблей.
Серверная нода объективно ощутимо сложнее пхп, к примеру.
Без маня фреймворка типа экспресс - сложность в запиливании чего то на ноде очень своего резко возрастает. Асинхронность и низкоуровневость нормально так в голову новичка оттрахает.
ну а АПИ для реакта на експресс запилить дохуя ума конечно не требуется.
На пхп же - роутер навелосипедил, сервак настроил- и вперед, в сущности нихуя не нужно. На голом пхп хоть свой фейсбук запиливай.
Ты хоть пробовал на голой ноде что то более-менее сложное пилить?
На тс норм, на жс - зависит от сложности задачи. Тот же д_искорд на нём плюс электроне написан.
Зачем ты читаешь книжки? Просто кодь
Господи, откуда вы такие тупорылые беретесь, и нахуя блядь я это пишу и это мой самый большой косяк
Я могу только предположить , на основании чего ты ответил. Но в сущности это не важно. Потому что адекватный спец понял бы о чем я, даже если бы я и выразился некорректно. Это в частности и отличает спеца от ишака.
Для дебилов - "низкоуровневость" - относительно вэб-приложений. В контексте вэб-сервера нода менее дружелюбна, и в "низкоуровневость" тебя ткнет носом быстрее.
Понял ты это или нет - не важно. Тебе же хотелось тупо выебнуться. Ведь ты из тех, кто может на еще более ""низкоуровневом " относительно запилить хеловор. Куда уж тупым js бекендерам до тебя, ага.
Так вот хуй соси, пидор. На плюсах я и сам могу либу запилить . Но с апломбом об этом не кукарекаю.
п.с.
Даже как то приуныл. На какую хуиту я потратил мгновения своей жизни. Как же отучиться от этого говна.
Нахуя ему вкатываться если он ничего не умеет, я целый год учил технологии чтобы на таких тестовых не обсираться, да и на вещах гораздо сложнее.
удваиваю господина,на ноде дроча намного больше,плюс приходиться все собирать из кусков
Через BroadcastChannel
Тестовые куда? Если ты на фулстака идешь, причем тут фронт? Вкат все еще очень низкий, просто знай реакт.
Код на скриншоте и ссылка на код:
https://jsbin.com/hoponepuce/edit?html,output
ЧЯДНТ?????
Хуйню порешь.
Если не пишешь на машинных кодах - то значит вообще не имеешь права "низкоуровневость" произносить?
Плюсы то ведь тоже по сути "высокоуровневый" язык.
Тут, я спиздоглазил, согласен, но дело не в этом. Всё та же проблема во всех браузерах.
https://jsbin.com/hoponepuce/1/edit?html,output
Да. Вкатываюсь с зарплаты $2к на $4к.
Представить интерфейс в виде правил:
my-el .hidden {
console.log('This element is hidden!')
}
tab:click {
this.siblings().hide()
}
Почему такое еще не сделали? JQuery близок, но работает "здесь и сейчас", т.е он далек от описательных правил, подобным CSS.
Энивей не работает.
Колду качал потестить производительность ноута купил недавно, не подумай, я в это говно не играю.
https://jsbin.com/degovifisa/edit?html,output
Вот с локальным файлом, всё равно не работает.
https://jsbin.com/hoponepuce/1/edit?html,output
Даже не близко. В Vue нет правил, он основан на компонентах.
my-el .hidden {} декларативное описание
console.log('This element is hidden!') инструкция
Ты либо трусы надень, либо крестик сними
Бля эти приложения на жс как бабы ученые
Попробуй назови хотя бы три: кюри, хоппер, эээ кюри?
Вот и тут только вскод более лимение, остальное лагованное говно
Телега вообще на qt
без es6 можно как то свою обертку аналогичную промисам написать?
Самодельные промисы можно сделать и умеренно сложно, но зачем? Только как задачку на понимание и для надрачивания скиллов программирования.
Вот async/await уже не сделаешь, это вовсе не сахарок, как их иногда называют, а они при этом интегрированы с промисами.
убери слэш перед image и читай доку внимательно, у тебя ошибка на ошибке, а это банальный html
двачирую этого
Помогло, спасибо
Ну вот я пишу в консоль element.click(), а оно не работает.
Вопрос решен, спасибо.
Есть сторонний сайт на реакте. В нем форма - textarea.
В этой форме нужно изменить уже введеный текст скриптом.
Я делаю форма.value = форма.value.replace() , но мне выдается предупреждение, что изменения не внесены. И только если я еще что-то вручную меняю, он видит изменения, сделанные replace-ом.
Я так понимаю, это из-за контролируемого состояния формы. Как это обойти, чтобы мои изменения через replace не требовали дополнительных изменений руками?
Допустим есть картинка <img class='displayed-img' src='images/..'>.
Из этой картинки хочу изьят параметры class и src. Есть обработчик события
img.onclick = function (e){
e.target.src // здесь возвращает путь 'images/..'
e.target.getAttribute('src') // возвращает путь
e.target.getAttribute('class') // возвращает 'displayed-img'
e.target.class // возвраащет undefined ?????
}
Почему в конце он не видит значение? Спасибо за ответ.
className
Домашку задали визуализировать пирамидальную сортировку (пошагово по кнопке), так как алгоритм рекурсивный, то он может сделать несколько действий в вайле (проще говоря есть вершины дерева, которые рекурсивно опускаются вниз, если они меньше потомков). (пик1) (анимация там)
И вот проблема в чем, в этом вайле у меня показ состояния и собственно сама перестановка (пик2)
И дело в том, что я вообще не могу сделать так, чтобы он условно выполнялся построчно, то есть показ изменений>изменение>продолжение цикла
Когда он пробегает разок всего, все ок, но когда самый верхний элемент просеивается до низа через все вершины (а это 3 итерации), то все ломается, а именно:
1) если делаю таймаут показа, то итерации проходят, и получается, что пока был таймаут он показывает мне лишь последнюю итерацию
2) если делаю таймаут на изменение массива (swap), то почему-то массив не изменяется, а если же делаю таймаут на весь IF, то страничка виснет.
Помогите, я пришел из построчных языков, ниче не понимаю тут
Ой, пик1 вот
Бросайте все своё говно и перекатывайтесь
Еще и для неосиляторов из коробки автоподстройщик вебпака, бабеля, опциального автонатягивающегося тайпскрипта, SSR ебать, статик бандлы
Я ниразу не погромист но кажется ваш тред то что мне надо. Можно ли с помощью вашей штуки сравнить таблицу на сайте и таблицу из файла на компе и отличающиеся строки выделить на сайте? Если скажете что можно пойду учить или искать готовый вариант.
Я бы подумал что это жир если бы это не был жс тред
Почитай основные принципы работы бека и фронта, лол
Можно, но не тебе.
Да на здоровье.
> Почитай основные принципы работы бека и фронта, лол
Это все понятно. Но зачем это среднему клиентскому приложению на Carlo/Electron? Нужно разве что всяким тырпрайз-гигантам.
ты что дурак, карантин, юкларга
За бесплатно настолько невнятное говнище тут никто разбирать не будет
По скринам непонятно, как ты там натянул рекурсивный алгоритм на циклы, но скорее всего ты обосрался именно с этим
Какие-то всратые процедурки, копипаст текстовых инжектов, охуеть на дворе 2020
>Домашку задали
Это полный пиздец, лучше пройди какой-нибудь бесплатный курс в интернетах
Ну тогда я спокоен.
Ничего я не проебался, я вижу в консоли состояния массива, на каждой итерации они верные, проблема в асинхронности (и ссылках на объекты?)
Я же говорю, я делаю показ массива с задержкой, а код-то идет дальше, и когда прошел таймаут, сам массив переданных в показ уже изменился.
Хотя бы нормально выложи своё говно
Ты мог тупо не смочь в скопы и написать setTimeout(swap(hui), 100) вместо setTimeout(() => swap(hui),100)
можем в тг? просто глянуть навскид, может я и правда обосрался где-то везде, но не здесь (я стесняюсь выкладывать что-то, плюс это как никак в учагу полетит) @zcxzzcx
Это к чему?
Как это нету?
fruits = [apple="apple", mango="mango"]
Если есть желание, можно приделать синтаксический сахар(потребует eval).
enum = (...args) => eval(`[${args.map(e=>`${e} = "${e}"`).john(',')}]`)
> fruit = enum("apple","mango")
>> ["apple","mango"]
> apple
>> "apple"
Но это все хуйня, накатывай Babel, хотя с транспилятором каждый сможет, а ты попробуй без транспилятора
Полная хуйня. Вот правильный вариант:
enumerable = () => {
let e = []
e[Symbol.iterator] = () => ({next: () => ({done: false,value: Symbol()})})
return e
}
fruit = enumerable()
let [apple,mango] = fruit
console.log(mango)
У жс не компилятора ну лан, WebAssembly есть, но это другое. Компиляция в чисто CS смысле подразумевает перевод сорца в байткод.
Отмена, я победил эту хуйню делая копию массива штукой slice(), чтобы передавать временное состояние массива, спасибо, ебать счастлив что накостылял, прям очень
Сделал бы сразу на реакте не ебя мозг
Там логики на 20 строчек, ты тонешь в куче какой-то левой хуйни
Найс, теперь рабочий процесс только усложнится лишним шагом сборки. Это еще считая, что теперь проект надо будет делить на сорс и бандл.
А благодаря зависимостям мы имеем жирные банды на 2Мб, а то и больше. Не пора ли перестать делать говнокод?
>Компиляция в чисто CS смысле подразумевает перевод сорца в байткод.
В CS нет чистых определений
TS добавляет новый уровень абстракций, поэтому его можно назвать и компелятором, вместо транспилятора
Заебёшься потом вилкой ковырять результаты множественных наследований.
мне нраица :3
Попробую забацать версии под андроид и линось
https://twitter.com/dan_abramov/status/1243327171856400387
Его зарегистрировала ECMA как возможное ключевое слово в будущем.
Ага благодарю. Оказывается действительно в блокноте проблема была. В нотпаде++ все нормально сохраняется
Пидор, я мечтаю свалить со своей говноработки и стать веб-макакой. Тут был небольшой шанс перекатиться в дс, но все наебнулось.
Мне для электронной книги.
Почему не получается вернуть данные через колбэк из func3? Аргумент err определяется правильно (null), а res не правильно (undefined). При этом, если вызвать console.log(res) перед 20 строкой, то там все нормально.
Все, нашел ошибку.
код прикрепляй, если хочешь получить ответ.
>onclick="addDiscount();"
нужно передавать ссылку на функцию, а не вызов.
спасибо анон, разобрался
var Animal = fucntion (firstName){
this.firstName = firstName; // Записываю в свойство имя
console.log(this.firstName); // так правильнее манипулировать свойством
console.log(firstName); // или так?
}
Null не нужен. Легаси забудь про его существование.
> console.log(this.firstName)
Вот это. Иначе если это свойство изменится, остальные зависимости не изменятся. Это будет багом.
Норм реализация или чтобы вы тут поменяли?
В гугле забанили, нихуя не гуглится
Если ты про https://github.com/chartjs/chartjs-plugin-annotation то кажется он не будет работать
> Annotations will not work on any chart that does not have exactly two axes, including pie, radar, and polar area charts.
тогда хз
Ну тоесть сделать то, что делает promise.all
веб манифест (:
Только что узнал об этом? Теперь можешь JS перевести в байт-код, выложить скрин и написать "вот она, сила джаваскрипта".
Очевидно или не очевидно я имел ввиду без async/await
promise.all - это типа сахар?
Или гдето глубже все зарыто.
Я выше спрашивал про линк на та как промисы реализованы , я не о их использовании, а о том как оин написаны. И можно ли на JS реализорвать свой велосипедный промис?
Вроде как бабел для версий JS еще без промисов реализовывать этот алгоритм. Кстати нужно глянуть, пришло же на ум.
Двачую
Как бы приделать accesskey в получаемую страницу?
Видел, что кто-то умудрялся менять css на не своём сайте, Куклоскрипт вон есть. Может плагин какой существует?
Классы есть и в JS. Алсо, тут явно оверхед. На классических прототипах все выглядит нормально, автор первого пика либо долбоеб, либо тролль.
Всего-то?
А вообще ставить обработчики в атрибутах это актуально или стоит их применять с прослушками, использовать через метод ?
Надеюсь картинку ты просто так прикрепил, не подразумевая, что на ней изображен класс в JS, иначе ты вдвойне обосрался.
> не подразумевая, что на ней изображен класс в JS
Пикрелейтед относится к этому:
> На классических прототипах все выглядит нормально
вот это лапша слева
Ебать ты даун. Я хоть и залётный, но это очевидно, что лефтпик автосгенерированная хуита и что руками можно написать на js так же красиво как и на пике справа
>console.log(this.name + "работает в компании" + this.company);
Шаблонные строки - слишком неэтично для ТС?
Блядь, как же заебали эти окна на сайтах, про то, что используются куки.
Зашёл сюда: https://unicode-table.com/ru/
Чуток пролистал... Вылаааазит хуйня:
>Мы используем cookie, чтобы сделать сайт максимально удобным для вас. Подробнее (ссылка). "Принять" (кнопка)
И закрыть эту залупу нельзя, и отменить никак. Только принять, блядь.
А что если я не хочу ихние куки ебучие принимать? Как быть?
Начать дудосить ихний серв, штоле?
Да, да, я.
Делать нехуй, так что решил пока карантин идет вкатиться к вам. Посоветуйте какую-ту обстоятельную книжку или ресурс по JS. Желательно, описывающие внутренности и принципы работы языка.
Скрывай элемент-пикером твоей баннерорезки.
Ю там че-то не знаете джаваскрипт
как ты промисы учил? промисификация это прямо основы
промисы написаны через коллбэки конечно же, через коллбэк resolve и коллбэк reject, которые передаются в промис как параметры
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise
Ты похоже не очень понял.
Твоя ссылка - просто гайд по использованию промиса. Естественно я использую и promise, и async/await. Я на ноде люблю парсеры писать.
Мне стало интересно как в принципе устроен Promise. Описаны его структуры в V8 на С, или это все таки JS сахар над колбеками. И можно навелосипедить свой маня-промис.
p.s.
Я сейчас классический пример нахуй не нужных вопросов. Не делайте так но тоогда тред будет жить по 10000 лет.
Пять секунд гуглежа дали кучу ссылок на статьи о написани своих кастомных промисов
>>там показано как промис просто исполняет переданный в него коллбэк
И что это дает в контексте моей задачи?
иди читай свои статьи про кастомные промисы
https://www.youtube.com/watch?v=4GpwM8FmVgQ
Годно стелит про воссоздание промисов и прочего.
Вообще, для обучения очень полезно гуглить и писать "... from scratch". Верной дорогой идёшь.
Есть апи туду-листа, обычный CRUD.
Непонятно вот что:
Как делать отправку форм?
При классическом способе, когда юзер жамкает на кнопку, то браузер отправляет запрос на ее action и затем переходит по этому адресу.
А просто взять и перейти на роут апи нельзя!
Я знаю, как отправить запрос на JS.
Мне непонятно, как можно вообще иметь разные URL'ы для приложения, при этом сам сервер их нихуя не контролирует.
браузер делает реквест на эндпойнт апи и посылает туда данные формы
для роутинга в фреймворках есть пакеты, как это можно сделать в чистом джс есть статьи, например https://medium.com/@bryanmanuele/how-i-implemented-my-own-spa-routing-system-in-vanilla-js-49942e3c4573
Так, спс, значит это роутингом называется?
Теперь понятно в какую сторону гуглить, сейчас почитаю.
https://jsfiddle.net/yxb7mfer/
При каждом нажатии на любую кнопку приходится делать проверки. Все бы ничего, но функция с проверками выходит очень громоздкой и пахнет говной. Че делать, как структурировать код с обработкой пограничных случаев?
1. Он у тебя не работает.
2. Этот говнокод нужно переписывать полность.
3. За eval можешь пару раз об стену головой удариться и забыть об его использовании.
Используй switch case конструкцию и парситься строка должна вручную, без всяких eval.
1) Если бы вы сейчас вкатывались в разработку с нуля, во что бы вкатывались?
2) Как я понимаю - дизайнеры рисуют ui, задача фронтендера - воплотить это в коде. Можно ли считать, что фронтендер подчиняется дизайнеру? Если так, то есть ли вообще тогда место творчеству?
3) Нужно ли знать дизайн и разбираться в ui/ux?
4) Часто ли фронты работают с фотошопом?
5) Легко ли иммигрировать относительно других направлений разработки?
Заранее спасибо!
Редко кто может хорошо делать и то и другое одновременно. А даже если (что оч редко), выходит долго.
Так и не делают.
2. Смотрю видеоурок как человек делает тетрис и у меня голова взрывается от этих многомерных массивов и вложенных циклов с кучей сдвигов как на пикрелейтед, все путается в голове в итоге ничего не понимаю. Я тупой и не скрываю это, интересует вопрос как это пофиксить? Я так понимаю это плохое пространственное мышление?
>1. Зачем нужны объекты если по сути классы это те же объекты но с более широким функционалом?
Класс это чертёж объекта. Например есть Анон как собирательный образ и есть конкретный анон - ты. Образ это вроде как класс, а ты это вроде как объект класса Анон. Конкретная реализация.
>2. Смотрю видеоурок как человек делает тетрис и у меня голова взрывается от этих многомерных массивов и вложенных циклов с кучей сдвигов
Человек хуйню делает. Не смотри таких.
В геймдеве тоже есть паттерны и тоже надо делать объекты. А твой человек пишет дикую лапшу. Это всё проще и нагляднее можно писать, если с умом.
Посмотри другие видеоуроки лучше.
конкретно в джаваскрипте например { a: 1, b: 2 } это объект
не находишь что класс с конструктором и всем прочим для него излишен?
для двумерного тетриса двойной цикл это ок, остальное можно было бы лучше организовать
$ npm install passport
есть такое
швинобудильник
щито
>конкретно в джаваскрипте например { a: 1, b: 2 } это объект
Это коллекция по сути.
>не находишь что класс с конструктором и всем прочим для него излишен?
А если мне надо с пару десятков таких объектов с разными значениями? И не двумя, а с десятком? Вручную набивать, как мартышка?
В играх такое сплошь и рядом - создаётся сотня объектов с разными переменными внутри, а потом ещё и обрабатываются всем скопом каждый цикл.
>В жаваскрипте нет коллекций
Коллекция в программировании — программный объект, содержащий в себе, тем или иным образом, набор значений одного или различных типов, и позволяющий обращаться к этим значениям.
Ты не можешь записать туда данные и достать их оттуда?
если надо, и у них специфическая структура, и ты склоняешься к ооп, то создаешь класс, но если не надо то класс не нужен
класс нужен когда тебе нужен шаблон сложного объекта
вообще в джаваскрипте объектами таже являются массивы, функции, даже небо, даже аллах
джаваскриптовые объекты имеют методы тащемта, как встроенные так и произвольные
const obj = {fn: () => console.log('hi')}
obj.fn() //hi
>Интересует самый оптимальный реверсивный метод кодирования,
>байтового массива в строку, и наоборот.
>Base64 - отпадает, потому что избыточность.
>Самое простое, что приходит в голову - это каким-то образом преобразовать массив в байт,
>в массив 7-ми битных значений, а потом преобразовать это в символы ASCII.
>Но, для этого, нужно обрабатывать каждый байт, извлекая биты.
>>43003
>Base64 - отпадает, потому что избыточность
>Давайте сделаем Base128
Заебись, идея! Посоны, я вам принёс пару рубасов: https://jsfiddle.net/bxLj7h61/
Так вот же она бля. Как называется, скажите пожалуйста!
Спасибо!!!
А ты попробуй
Нет.
В этом проблема больших проектов где дохуя кода, приходится писать велосипеды типа хеш-суммы для названий переменных, может видел let user[AE7B3J...] - вот это оно и есть.
>>48235
Спасибо анончики! Погуглил про var и eval, понял что их не стоит юзать. Теперь лучше?
https://jsfiddle.net/643szk91/
почему то когда он срабатывает т.е. выбрасывает мне алерты, то он дублируется. схуяли так если я форму посылаю только один раз?
Даже индексы для циклов называть следует уникально?
Посмотрел как это делают нормальные люди.
А там миллиарды строчек.
Ну и как я все это должен был придумать? Пиздец.
Ну вот ссылку на this ты захватил, а реакт тем временем сделал cmpInst.props = newProps, теперь ты читаешь из старой ссылки на объект новые значения полей объекта
Читаешь доки про декораторы, там написано "можно делать валидацию". Начинаешь делать валидацию объектов, понимаешь что тебе объекты надо в инстансы классов маппить. Вспоминаешь про декораторы, начинаешь делать автомаппер.
Через пару месяцев миллиард строк готов.
А ну да, выглядит просто.
Но ведь там передаётся this.props.user и там сидит уже крайнее значение, а не ссылка, не? Извини за мою тупость.
Вот ссылки для ознакомления, может кому-то будет полезно.
https://www.udemy.com/course/javascript-the-complete-guide-2020-beginner-advanced/
https://rutracker.org/forum/viewtopic.php?t=5874667
Алсо распродажа заканчивается уже сегодня, а цена курса всего лишь 1 тысяча рублей. Еще у него есть курсы по React, Angular, Vue, Node.js - https://www.udemy.com/user/maximilian-schwarzmuller/
Но, опять же, это можно скачать на рутрекере, просто лично мне проще проходить это все на самих ресурсах.
ну же анон, помоги
>когда у тебя корпоративная лицензия на кучу этого говна, но ты слишком ленивый, чтобы что-то проходить
А как ты изучаешь JS? И поясни за Udemy, проходил там что-нибудь?
Просто я полный ньюфаг и мне было бы полезно вкатиться именно по курсам. Там и коммьюнити есть, в котором можно обсудить материалы и задания.
Да, но у тебя есть ссылка только на this, когда ты после таймаута обращаешься к props - то это уже новый props, с новым user.
Вот такой еще есть - https://www.udemy.com/course/the-complete-javascript-course/
Не знаю, что выбрать.
Пох что бы выберешь, в этих курсах главное практика и изготовление проекта, а теорию один хуй будешь учить на ютубе от всяких Лущенко, Мининов и Димычей, так как они объясняют как для даунов. Я таких курсов проходил 3 штуки, но всё равно 80% информации черпал из бесплатных источников.
Да это понятно, просто курс дисциплинирует, все эти дедлайны, задания. Ну и потраченные деньги, хоть и небольшие, тоже стимулируют что-то делать.
https://pastebin.com/UQfMuECg
> Он ведь должен захватить окружение в момент вызова
Это ты с чего взял? В JS лексическое окружение, захват происходит в момент объявления, а не вызова
>переписываю с книги
>код я вам свой дам
>код из книги я вам не дам
Иди нахуй долбоеб малолетний.
И так же отправка клиенту файла на скачивание 'Content-Disposition', 'attachment'.
Я в этих вещах очень не уверен. А структурированой инфы нет.
Буду благодарен ели просто дадите последовательность того, что требуется изучить.
А, я кажется понял о чем ты. На этот счет есть хороший пост у Дэна Абрамова
https://overreacted.io/how-are-function-components-different-from-classes/
Если вкратце, то это особенность работы классовых компонентов: пропсы меняются с каждым рендером, поэтому выводится актуальное значение
В ошибке сказано, что проблемы с аргументом для drawImage, это первый аргумент, то что ты собираешься отрисовать в канвасе, когда вызываешь context.drawImage( аргумент, 0,0 ).
Нужно четко понимать, что и куда передается.
Ну, как я понял, вся проблема в том, что drawImage() не в onload, собственно писал тестовый объект, выкинув весь мусор из кода, и ловил ту же самую ошибку. Собственно, написал свою реализацию с drawImage() в onload и все работает. Собственно, просто хотелось узнать, это я какие то подводные не учел, или автор мне в штаны насрал.
Хм, какого автора можешь посоветовать?
Помимо вышеуказанной книги, прочитал на метаните раздел по жс, полагал, что если не учитывать фреймворки, то этого достаточно для основы. Книгу начал читать, в основном, для практики языка
Запускаю nvm install node, получаю пикрелейтед.
Суммы не совпадают блять.
Как фиксить это говно?
Методы внутри выражений? Это как?
аноны, если кому то предложат работу на jquery - НИКОГДА, СЛЫШИТЕ, НИКОГДА НАХУЙ НЕ СОГЛАШАЙТЕСЬ НА НЕЕ ЕСЛИ вам не будут платить за это пол ляма рублей в день. такое говно пиздец я ебал
>>48836 - кун
сфокал свой проект, куда посадили, говнокод или норм?
радуйся, после тебя не смогут найти замену.
и ты будешь тимлидом, даже если джун.
Jquery придумал гений, когда пишешь на JQ можно не боятся что выкинут из компании.
Так под виртуалкой блять
>Открыл код, увидел eval и var, закрыл код.
>>48698
>Погуглил про var и eval, понял что их не стоит юзать.
Как же вы заколебали, со своим хейтом стандартнейшего var.
Что такого невъебенного в этих ваших let и const?
Блочная видимость?? А так, чо, нельзя:
>if (true) {
> var test = true; // используем var вместо let
> test = undefined;
>}
>alert(test);
>eithers.reduce
>если то isLeft
>а если это isLeft
>то of(yoba.nested.concat([peka.nested.value]))))
M.concat и fold же, зачем так сложно
Там только Maybe и Either ?
>>49564
Зато это ОБРАТНО-СОВМЕСТИМЫЙ костыль,
который ещё и очевидно указывает на необходимость блочной видимости, при чтении кода,
и может применяться там где она нужна, а где не нужна - не применяться.
В отличие этих вот дериктив, обратной несовместимостью не обладающих,
ложащих этот же двач - в стародревних браузерах, и которые привыкли пхать туда,
где блочная видимость нафиг не нужна - чисто по привычке, и отчасти - из-за дебильного хейта няшного var.
Когда ты читаешь чужой код и видишь явно const, то ты 100 проц понимаешь, что вот здесь она объявлена и ссылка на значение не меняется. Если ты видишь let, то ты даешь понять, что где-то ссылка может измениться и это необходимо. В JS есть только const и иногда let, поэтому когда я вижу залупу на let мне хочется смачно харкнуть в лицо децику.
То что ты пишешь больше кода сам и запоминать твои причуды никто не будет, я даже разговаривать не хочу. Ну и вишинка на торте, твоя переменная не ушла из памяти + лишняя операция присваивания.
>хочется смачно харкнуть
В похлёбку свою из помоев харкни, быдло тупое.
>вишинка на торте, твоя переменная не ушла из памяти
Бле... Те чё рельно, впадлу написать так:
> delete test; var test = undefined;
>>49553
>let
>Блочная видимость??
Да там же, блядь, даже блочной видимости нет, как таковой, лол.
>{ let x = 1; console.log(x); } console.log(x);
Нахуй он вообще нужен, этот let? Оставьте var в следующей версии ES, чтобы все охуели.
>{ let x = 1; console.log(x); } console.log(x);
>Да там же, блядь, даже блочной видимости нет, как таковой, лол.
Ааа, не, она есть, также как и с const.
Я до этого, просто глобально объявил x в консоли.
Впрочем и так блочная видимость пашет с var:
>{ var x = 1; console.log(x); delete x; var x = undefined; } console.log(x);
Да, стандартный говнокод, всё верно.
>Бле... Те чё рельно, впадлу написать так:
В своих соло проектах можешь писать как хочешь, мне поебать, если рассчитываешь на ко-оп, то можешь с такими запросами сразу навернуть.
Delete работает со свойствами объектов. И еще раз повторяю, то что ты присвоил undefined !== удаление из памяти. В памяти по прежнему будет место для этой переменной.
я нихуя не знающий в коде, пришел к профессионалам
вот ссылка https://pastebin.com/wVUP3NYP там все написано
const connection = await message.member.voice.channel.join();
const dispatcher = connection.play('путь');
} else {
На 8 строчку. На пробелы, отступы похуй. Где 'путь' ковычки должны остаться, когда вставлять будешь.
play('asf/asdf')
>там все написано
Не всё там написано, хуйня ты мелкобуквенная. Ты здесь для того, чтоб анону доставлять, а не свои вопросики обкашливать. Так что давай прохладную, что ты там в Дискорде собрался делать.
обычного бота в дс пытаюсь сделать, но я тупая хуйня ничего не понимающая. Просто беру уже существующий код и вставляю его, а потом сижу как ебливый свинтус нихуя не понимаю, а почему же нихуя не работает
Пишу так:
.map(e => ({ e.name.split(' ')[0] : e.name.split(' ').slice(1).join(' ') }))
но не работает.
Где ошибка?
Если хочешь сунуть переменную в ключ объекта, то надо оборачивать в квадратные скобки.
Сразу видно, что ты в нормальных компаниях не работал никогда, ретроград-кун.
Хотя у меня есть кейс "get" который прекрасно все получает
перечитай пожалуйста, что в ОП-посте жирным написано.
Да, в браузере есть свойство name и оно всегда приводится к строке.
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
Прошу прощения. Реально шапку не читал. Спасибо за ответ.
>"types": "./index.d.ts",
Но интеллисенс так и не заработал, совсем, ни комментарии не подхватывает, ни типы. Где может быть очевидная ошибка? Нужно ли проекте, который импортирует пакет что-то тайпскриптовое настраивать?
показывай весь код firestore и request
Брал его курс по ангуляр
Что могу сказать, самый легкий способ забить хуй на ангуляр в моей жизни.
По самому курсу - гоняет хуйню из пустого в порожнее. Суходрочка на десятки часов.
Сделаем сначала хуйню.
Потом переделаем
А теперь допиши самостоятельно к ней функцию
А теперь все стираем и по новой пишем
Понял что ангуляр - это блевотина ебаная. Считаю, что это плюс, мог бы так и не узнать.
Сегодня хотел начать проект, подумал может сделать на ангуляре, вспомнил что это и решил что лучше это все забыть как страшный сон.
>>49296
Никаких дедлайнов там нету, это просто видосики. Иногда курсы удачные, иногда не очень. Контроль качества отсутствует. Задания, кстати, тоже никто не проверяет, иногда какой-нибудь индиец напишет тебе односложный отзыв, но не более.
Ты, видимо, не понял. На смартфоне включенном в андроид студио она не работает.
Соус: https://www.freecodecamp.org/news/future-of-javascript/amp/
>соус
>высер какого-то восторженного жопаскриптера, который просто перечисляет возможности JS и на пустом месте заявляет, что "С++ и Раст конечно не догонит, но с Python можно сравнивать!"
Что сказать то хотел?
Мань, он по перформанс.
Уже на этапе подготовки все пошло не так. Проблема в том, что на этапе разработки Фреймворк использует WebpackDevServer, который умеет проксировать запросы на другие урлы. И фронт доволен что запросы не CrossOrigin и я доволен что могу параллельно разрабатывать и фронт и бэкенд. Но этот сраный Ionic не даёт влезать в конфиг вебпака напрямую, у него какие-то свои конфиги, которые нихуя не работают. В гугле все как один разрабатывают на ангуляре, используют ng serve, proxy.conf.json и прочую ангуляровскую залупу, а я пишу на реакте и мне всё это никак не помогает. В документации для версии 3 есть раздел Service Proxies, в котором все понятно описано что писать в ionic.config.json для проксирования, а для пятой версии нихуя в доках нет, блядь! Пидорасы!
Ангуляр единственный вариант для нормального человека, реакты и прочая функциональная залупа для смузи хипстеров, которым ООП сложно.
Но ведь функциональщина на порядок сложнее ООП и требует нихуевых знаний в математике. А ООП - не более чем макакакодинг.
Как это можно пофиксить? Впервые столкнулся с js, нужно срочно написать маленький скрипт на 15 строчек
вместо "const response = await " напиши return
И далее
console.log((await get_response()).status);
>var
проиграл в 2020
>await is only valid in async function
Как быть, если мне нужно вызвать из не асинхронного метода?
И? Делай эту функцию асинхронной, отправляй запрос в ней.
>bootstrap, jquery всякие
Что у тебя там вообще за говнецо с жиквери и ряктом?
>то для компонентов это работать не будет
Чому не будет? Все стили, которые импортируются на страничку с ReactDOM рендером, будут работать на все элементы в рендере.
Или ты рендеришь в DOM с каждого компонента отдельно?
>Можно ли это как то упростить и захуячить в один файл, который передавать в компонент?
Выделяешь отдельную страничку под DOM рендеры, импортируешь все большие компоненты и файл общего стиля в неё. Будет ещё бонус в том, что можно импортировать специфические стили в компоненты, и, в случае конфликтов, эти стили перепишут те, которые в дженерик рендер файле.
924x412, 0:41
Я в вебе вообще нихуя не знаю.
Достаточно намекнуть как это обычно делается, но полноценному обоссыванию тоже буду крайне рад.
но у меня виртуалка с бубунтой,лол
>нет
пидора ответ @ хорошо, ну и чем вам, мистер Хейтер, современный ЖС не нравится?
/мб я что-то упустил, и не вижу где подводные у жс
я охуел, когда узнал, что у реакта свой bootstrap. А я свои библиотечки туда тулил.
Подскажи, как правильно сделать:
1. В Index.html (id=root) должны быть rel, script или пустой html файл?
2. Я хочу создать Layout. Только его рендерить? Только в него пихать все import?
3. Bootstrap вообще используется в React? Мне сетка нужна только;
4. Подскажи годные Best practice
>1. В Index.html (id=root) должны быть rel, script или пустой html файл?
Это который в девелопер моде? Для него достаточно элемента с айдишником, который подцепляет ReactDOM.render(). В него реакт и будет всё впихивать, что связанно с этим рендером.
Так что в html можешь хоть что запихивать.
>2. Я хочу создать Layout. Только его рендерить? Только в него пихать все import?
Не ебу, что такое Layout. Но если это набор стилей, то импортируй его на страничку, в которой объявлен домовский рендер. И компонент, вызываемый этим рендером.
>3. Bootstrap вообще используется в React? Мне сетка нужна только;
Ты с нуля собираешь поделие на реакте, или мигрируешь на него? Для с нуля можно юзать Create React App и прикручивать бутстрап к нему по гайду https://create-react-app.dev/docs/adding-bootstrap/
>4. Подскажи годные Best practice
Да я сам вкатыш и даже родить тудушечку не могу.
Но в целом почитай доку реакта и там лазий по ссылкам.
А что толку читать, если статические анализаторы не работают, если в библиотеках нет аннотации типов, а без них статические анализаторы слабо работают.
Зависит от того, что у тебя на сервере.
Если данные обновляются редко, то можно просто через setTimeout fetch запрашивать их и запускать магию, если response.status === 200.
Если данные обновляются постоянно - подключаешься по вебсокету и onmessage делаешь то, что тебе нужно.
Не знаю! Вот бы нам как-нибудь узнать ответ на этот интересный и животрепещущий вопрос!
Я умею тягать штангу, если я сейчас пойду в спорт зал и поставлю весь в 200кг, смогу ли я её поднять?
TextEncoder и TextDecoder - это хорошо и прекрасно. Может кодировать и декодировать одной строкой, без написания ебических функций.
Но... Мало того, что на его разработку забили хуй, так он ещё и что, не поддерживает работу с LATIN-1 (iso-8859-1) кодировкой, штоле?
Охуеннейшей, реверсивной кодировкой, позволяющей кодировать байты в строку и наоборот, в те же байты?
Той самой, единственной из реверсивных кодировок, которая поддерживается .NET Core?
https://rextester.com/MIJXD38430
Охуеть же, ваще.
В общем, завёз вам фикс: https://github.com/username1565/text-encoding/commit/ee7bc2de1c4589cbe0f8556ca1864119c435b7f5
И заодно - тест: https://username1565.github.io/text-encoding/lib/index.html
Код теста - тут: https://github.com/username1565/text-encoding/blob/master/lib/index.html
Благодарю, но я удосужился сам нагуглить.
Важно сразу же все делать, поэтому не дрочить запросами а держать коннект. Так и победим.
в 8 все будет огонь
Бутстрап не нужен в 2020
Тем более бутстрап для реакта.
если хочется готовый UI кит то семантик или материал (ant если мазохист)
ппц ребята...рынок пустой, люди приходят и даже не знают что такое замыкание.
Нит, это приватный репозиторий компании, в которой я тружусь вебмакакой. Вот тогда закончу работу над своим приложением - могу показать.
нахуя тебе замыкания? спроси еще что void делает который никто и никогда в реальной работе не использовал
спасибо, попробую
Замыкание - вопрос для джунов
видал я таких макак как ты, которые делают console.log(state) в каком-нибудь коллбеке из FP компонента и не понимают почему значение не меняется
Дока реакта написана очень доступно, просто иди и почитай ее. Бура рассказывает почти то же самое, только на реальных примерах.
Плюс самый сок его курса это Реакт+Редакс, чисто реакт довольно несложный для понимания.
mobx/effector/reatom
redux хорош, если хочешь вкатится в фронт и устроится макакой на легаси проект.
Он никогда не был актуален. Такая же поеботина, как сейчас styled component, не понимаю откуда такие ебланы вылазят. Со строек?
>не понимаю откуда такие ебланы вылазят.
Мне в одной веб-студии сказали, что по нему работают. Я-то сам до этого Vue пробовал, вот и не понимаю - может это я неправильно то делаю.
А нахуя, ответь мне, делать что-то по сложному если я могу сделать это по простому? Любишь сложности и хардкор - пиши на си или хаскелле, блядь. Нам-то зачем своё говно советовать?
Люди ещё на svelte пишут, а там вообще почти один HTML - и ничего, приложения по итогу получаются не хуже ангуляровских.
Ангулар может казаться избыточно сложным для туду и мувисерчеров, но в нормальном ентерпрайзе вы задохнетесь в своем реактовском говне.
БЕМ актуален для:
1) Сайты визитки на галеро-веб-студиях
2) Обучать BEMу макак и трясти с них деньги за курс.
Вопрос неправильно задан. Есть css modules, и есть остальная чушь. Это даже не альтернатива.
ну вот есть новый проект, что выберешь для стилей в проект?
BEM, CSS IN JS или CSS-MODULES?
CSS IN JS не ради забавы создали, они решают проблемы предыдущих подходов.
Ангулар избыточен и сложен для любых приложений не уровня CRM и 1С. Если мне нужен здоровенный монолит я возьму ангулар и какой-нибудь зенд или джанго. А если мне нужен туду или мувисерчер, то я возьму реакт или свелт с нодой на бэке. Забивать гвозди микроскопом - хуёвая идея, а вот выбирать инструмент под конкретную задачу - это правильный подход.
Мне ионик нужен был для создания PWA а-ля учёт расходов или домашняя бухгалтерия. Я написал фронт за пару вечеров на реакте, так зачем мне писать в три раз больше кода с ангуларом?
CSS-MODULES офк
>скорей проект у тебя 5 форм на весь проект.
А что, бывает по другому? Какая разница сколько форм? Условный интернет магазин обычно с 3 формами работает. Оформление заказа, подписка на рассылку и написать нам в контактах. И че ебать?
>инструмент под конкретную задачу - это правильный подход.
писать на технологии, которую ты не знаешь или знаешь поверхностно.
Люди, которые видят фреймворк 10 минут и нихуя не знают его подводных камней, архитектурных особенностей в итоге проект закрывают, но в коде полная хуйня.
@ - Да я тут разберусь в новом фреймворке за 10 минут, вот для админки возьму реакт! раньше писал на ангуляре
@ А почему ты пропсы прокидываешь на 4 уравня вниз и используешь контекст почему бы не взять *?
@ Да хуй знает у нас в ангуляре так было принято!
@ а почему ты не используешь хуки?
@ А нахуй они нужны? я в ангулере без них обходился, ООП НАШЕ ВСЁ.
@ НАХУЯ ТЫ ПОДКЛЮЧИЛ В РЕАКТ ШАБЛОНИМЗАЦИЮ ОТДЕЛЬНОЙ ЛИБОЙ, ЕСТЬ ЖЕ JXS?
@ Так у нас в ангуляре так было ебана, это удобно!
....
Я АРХИТЕКТОР, Я ВЫБРАЛ ТЕХНОЛОГИЮ ПОД ЗАДАЧУ, но не знаю всех подводных камней, библиотек и прочей хуйни!!!!!1111)))))0000
нет, писать нужно на том, что хорошо знаешь.
а не "Подберу технологию под задачу, но вот технологию будут знать на 10%"
Это твоё мнение. Писать бэкэнд на си потому что не знаешь пхп - глупо. Это моё мнение.
в итоге ты либо не пишешь бек, либо пишешь, но тебя хуесосят все коллеги потому что у тебя получилась конская залупа, вместо хорошего продуманного PHP кода
если выбирать между гением С++ алгоритмистом, который знает PHP 2 дня и макакой которая с ПХП около 10 лет, я бы отдал проект макаке.
И вот на этот моменте мы возвращаемся к твоему первому ответу, где ты хуесосишь смузи- фреймворки и предлагаешь все делать на ангуларе.
Смекаешь о чем я?
Если ты хорошо знаешь ангуляр а тебе нужно запилить админку на 10 экранов. то лучше запилить ее на ангуляре, чем учить реакт и делать хуй пойми что.
Помню, долгое время не понимал почему ловил ошибки, когда вызывал по событию компонента экшены из сторы mobx.
О как, спасибо.
Да, это заебись хуйня перед собесом. Плюс посмотреть в лучших решениях, как es6 синтаксис позволяет лаконично решать задачи.
Недельку посиди, 5к задачи должны решаться за 1 взгляд. Посмотрел, понял как делать алгоритм -- это заебись. Там есть тупорылые задачи уровня прописать 5 разных условий, такие лучше скипать
Мне точно пригодились, потому что и деревья приходилось рекурсиями крутить, и сложную бизнес логику реализовывать. Да и алгоритмические задачки на собесах это не редкость.
Если у тебя глубина задана заранее, можешь делать это циклами.
Это копия, сохраненная 8 июня 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.