Это копия, сохраненная 8 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://pastebin.com/9yRADC0s
Так же ебся пока не сел и не потратил пару дней на разбор полетов, на ютубе полно мануалов
как лучше поступить? Внедрить объект валидатор Логину(через композицию) или просто использовать этот валидатор в отрыве от Логина ( просто проимпортировав данный валидатор)
Может быть я не коряво описал, извиняюсь
>Login
Компонент вообще нихуя не знает о существовании валидатора, он лишь отправляет данные вовне через хендлер и получает некий результат обратно, опять-таки, через пропсы.
Нахуя подмешивать логику в презентационный слой?
Валидатор может быть заимпорчен в слое, где ты разруливаешь бизнес логику, в зависимости от выбранного паттерна это может быть вьюмодель, модель и т.д.
Почему пишу может - если у тебя абстрактный класс валидатора, то, например, во вьюмодели его можно заинжектить через DI.
Все это ради всевышнего блага:
1) ты избавляешься от необходимости тестировать презентационный слой, поскольку он избавлен от сайд эффектов;
2) ты облегчаешь тестирование вещей, ответственных за описание бизнес логики.
Те сущности, в которых ты описываешь работу с данными - запрос, обработку, хранение. Грубо говоря, все, кроме представления. Или я не совсем понял твой вопрос, тогда поясни подробнее.
в React/Redux в экшен креаторах
а на какое событие это вешать ? пытался загуглить событие закрытия это гугл окна нихуя не нашел
ну я понял. но толку ? я получаю этот блок, в нем нахожу свой инпут и пытаюсь забрать оттуда значение и получаю empty string. при этом сам гугл апи это где то хранит тк если я открою, введу, закрою и открою заново то там будет значение ранее введенное
Твоя претензия к мобксу в том, что он позволяет тебе писать императивный код, как тебе удобно, а в итоге получается неподдерживаемый кал. Это проблема вашей непродуманной архитектура, а не инструмента. Можешь такие же претензии предъявить к ванильному жсу.
Ты пробовал, я не знаю.. мст? Какие у него проблемы с расширяемостью?
И вообще, скажи, зачем тащить фп в однопоточные языки? Какие он пробелемы решает?
ты про блок infowindow?
https://developers.google.com/maps/documentation/javascript/reference/info-window
Че-то туплю, как мне вставить кусок DOM вслед за определенным тегом?
Вот есть у меня section, внутри которой лежат div-ы, как мне засунуть мой кусок html вслед за 3м div? (не внутрь его, а именно строго после)
var div = document.getElementById('mydiv');
div.insertAdjacentHTML("afterend", "This is my caption.");
https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML
да, про него, как я понял других способов нет. имею вот сейчас такой код https://ideone.com/Jn0pNe и вместо введенного значения получаю empty string
google.maps.event.addListener(infowindow, 'closeclick', function (){
const content = $(this.content);
console.log(content.find('.location_name').val());
})
проверь что вообще имеется в виду под this в данном контексте. тяжело что-то подсказать конкретнее
так this это вот const contentString который я ранее описал. я ж сам скрипт писал, сначала его туда завожу и загоняю, потом пытаюсь найти. если брать просто content.find('.location_name') то он мне вернет конкретно этот инпут который был выведен в виде окошка. для полноты картины прикладываю пик
Хотелось бы иметь историю для просмотра, но с таким количеством отсчётов я даже хуй знает что делать.
Сраный apexchart вобще может растягивать шкалу Х?
Думал сейчас задам промежутки вида 30-60-90-120...-180-210-n, а потом передам точки Х,Y для построения кривой - а вот хуй.
Да, и перехватывают сабмит.
Профит - форма отправляется не только по щелчку на type=submit, но и по энтеру в любом из полей.
Вобщем такая тема - хочу влепить на сайт аватар-мейкер. Чтоб можно было, перейдя по ссылке, попасть на стр с человеческим профилем, которому можно было бы выбрать глаза, прическу, рот и.т.д
Можно ли такое как-то через джаву реализовать, путем выбора png изображений этих самых глаз и.т.п на определенные части головы? Допустим, на лоб тыкаешь - открывается список причесок, на рот - список ртов и.т.д?
Или мб можно какт иначе эту тему раскрутить? Вообще возможно эту задумку реализовать?
А они разве отличаются? Что то - говно, что это.
сейчас разобрался более менее. проблему решил впихнув туда input onkeyup=func(). но осталась проблема в другом - как поступать если пользователь будет например вставлять мышкой свое название?
Я знаю, что это два разных языка. Мы соответственно на JS и работаем. Просто сократил.
Ну так как мне эту тему реализовать?
Я из ЖиЭс кода максимум базовый калькулятор написать могу - 2 курс.
Мне бы список команд под логику, которую я описал.
Или, допустим, короткий код, который например прическу меняет. А дальше я уже от него плясать буду с глазами, ртами и.т.д
ну в чем проблема? открываешь на странице пик с лицом, там размечаешь хитбоксы, на эти хитбоксы навешиваешь события чтобы при наведении на губы хитбокс горел красным например, затем на него же событие по клику что открывается новый блок с картинками который ты берешь. алгоритм у тебя есть, все команды +- базовые. гуглятся легко например по фразе add element on click javascript.
говном разбавь
Он слоупочный. Судя по форумам от 5 раз медленней того же мокко при идеальной ситуации. Это если все танцы с бубном выполнены, система линукс и установлен глобально и isolatedModules стоит в false. А из коробки так вообще медленней на порядок
Можешь примерный js-код написать?
Допустим, я вставляю картинку с пустым лысым лицом.
Дальше как мне хитбокс на лоб разместить и onclick'ом, допустим, прическу выбрать из сохраненных мной png вариантов?
Если, например, есть 2 прически - hair1.png и hair2.png
В параметрах размещения хитбокса любые цифры вставь, я думаю, дальше уже сам пойму, как его поднять, опустить и.т.д. Мне главное меню выбора.
Дохуя где. Например, в либах, реализующих коспрессионные или криптографические алгоритмы. Да и в сорцы того же реакта ты давно заглядывал?
canvas
asm.js
Тогда зачем мне прослойка в виде редакса, если я могу напрямую в window сохранять, а потом из window читать?
Рыночек требует редакс, не выебывайся.
можешь, никто не запрещает
а ты можешь сделать кнопку которая меняет состояние двух других элементов, а потом сделать третий элемент с этим же состоянием, не меняя кода кнопки ?
редукс занимается хранением глобального состояния и рассылкой эвентов и его изменении его слушателям, вообще редукс очень простая библиотека, он имплементируется в сто чтрочек на джаваскрпте - https://gist.githubusercontent.com/gaearon/ffd88b0e4f00b22c3159/raw/4c9a62c6a2b353842dd2b6d15b9ca363ad4161e3/slim-redux.js
Ну типа внутри 3го элемента я пишу: state =window.store.hui, всё. На код кнопки поебать, я его не тронул. Где я проебался?
Проблема в том, что window.stor по умолчанию pub/sub не реализует и рассылку событий/подписок нужно руками писать? Или что?
Пишу бэк на Питоне (flask, aiohttp, tornado) думаю в перспективе перекатиться в Ноду, что посоветуете для оперативного вката, чтоб не было рассчитано на типичного вкатуна с двузначным IQ. Знаю ванильный жс, доводилось на нем и писать фиксить чужой говнокод
Ну камон, чувак, может код еще за тебя написать? Ты спрашиваешь абсолютно базовые вещи. Чему тебя там учили-то тогда?
понимаю, что как-то через document.getElementById() но не могу дать дупля
подскажите плиз
у меня есть просто <input type="text" size="80" > и кнопка, как мне перевести это в переменную?
Nestjs
В твоем туду листе это решение будет в 10 разу лучше подключения редакса, кстати реакт тоже лишний
Если хочешь найти по id, добавь его.
Говорю же, в основном мы базу хтмл'я юзали. А по js максимум калькуляторы и элементы ввода текста.
Даже function толком не прошли
Компонент не увидит изменения стора, это статика
а по существу с тобой нехуй базарить, ты не шаришь
Если лень отвечать то хотя бы подскажите куда копать чтобы понять то что тут написано
Минификация кода
Спасибо что пояснил, но вот вопрос - зачем эти скобки? В самом конце файлов как и в указанном тобой синтаксисе они закрываются и там в скобках стоит фраза _player, я так понимаю это пользовательская метка для чего-то? Не просто же добавили для объяснения кода
чувак, это какой-то обсосанный паттерн, который используется в легаси говне. еще это хрень с jquery постоянно встречал, что как бы намекает.
Я даже и думать об этом не хочу
>захожу на первый же сайт посмотреть как там устроено
с чего ты взял, что то, что ты видишь в сурсах на сайте вообще написанно человеком, а не сгенерино бабелем?
это минифицированный код, а не исходный. Скобка это вызов функции после её объявления, делается для того чтобы не засирать глобал скоуп определениями функций которые будут вызываться всего один раз + для того чтобы не было конфликтов у кода функции с кодом глобал скоупа т. е. с тем что в window.
>куда копать
Копай в сторону github и других источников на которых выкладывают именно исходный код.
Есть, на фрилансе размести заказ.
Это нативные customElements.
Ну ты и соня...
Искать потому что надо внутри того дома, в котором элементы размещены.
П.С. Самое очевидное, что мне приходит в голову это засунуть функцию в цикл и дать ей таймаут. Но я сейчас лежу в ванне, да компа идти проверять лень.
А блять, я долбоеб, есть же сет интервал.
Ты даун?
Ладно, в любом случае, спасибо, анон
Все бля разобрался. Надо запускать через npm run dev
>Подскажите что за дрочь на иммутабельность?
В JS это продиктовано предотвращением получения непредвиденного результата в крупных проектах, когда ты можешь и не знать, что к массиву X выше по коду применили map. И чаще нужны именно иммутабельные массивы, т. е. если бы все были мутабельными, то тебе сначало пришлось бы создавать копию этого массива, а потом только работать с данными которые находятся в нём.
В языках в которой нужно контролировать доступ к данным из разных потоков, иммутабельность удобна тем, что иммутабельные структуры данных можно безопасно использовать из нескольких потоков без какой-либо синхронизации между ними.
Используй циклы епт.
> то тебе сначало пришлось бы создавать копию этого массива, а потом только работать с данными которые находятся в нём
Как будто что то плохое, это вообще то оптимальный подход. Если в не уверен что это можно менять создай себе копию и меняй. Вместо того чтоб по умолчанию раздавать всем ссылки а потом бороться с тем что все работают с одним объектом
Задом-наперед, через одну главу.
Эх, сейчас бы в Минск...
Вот и я не пойму когда. Почему вместо, к примеру
let a = someArray.deepClone()
a.map((x) => xx).assign(b).difference(c)
console.log(a)
Считается что здесь меньше кода
const a = someArray
const value1 = a.map((x) => xx)
//вот тут надо аккуратно а то не дай бог поломаем чей то код изменив value1, поэтому создаем value2
const value2 = Object.assign(value1, b)
const value3 = _.difference(value2, c)
console.log(value3)
А какой оверхед, вместо 1 массива, целых 3, зато иммутабельность. Я уже посмотрел у lodash есть chain который, решает мою проблему, но под катом тот же оверхед 100%.
>.deepClone()
>.assign(b).difference(c)
А эти методы у тебя магическим образом сами дописываются? Мы ведь про стандартные инструменты говорим. Стандартных инструментов вполне достаточно для того чтобы эффективно использовать JS по назначению, если тебе нужно большее, то есть сторонние библиотеки в виде лодаша.
> компонент <Nav />, который находится над всеми остальными компонентами - в нем есть поле поиска. Есть мейн компонент, в котором должен отображаться результат поиска. Как передать запрос для поиска из Nav'a в Main
Ты же блядь хочешь передать результат поиска, а не запрос поиска из нав.Это у тебя нав принимает запросы, а не мейн. Почему ты пишешь такую хуету?
Сейчас бы хуячить deepClone везде подряд. С ней ведь совсем нет проблем и оверхед нулевой.
Так в том то и дело, что deepClone делается при каждом вызове иммутабельных методов. По факту же ты получаешь копию массива. Вместо того чтоб один раз скопировать и мутировать его сколько влезет. Вопрос не в этом изначально был, я понимаю дрочеров иммутабельности много, есть хоть одна либа с мутабельными методами для работы с массивами. lodash иммутабельный, только вот тестировал map в 10 раз медленнее for в котором я мутирую массив.
>что deepClone делается при каждом вызове иммутабельных методов
Не делается, в том же map создается новый массив и заполняется результатами вызова map-функции.
>Так в том то и дело, что deepClone делается при каждом вызове иммутабельных методов.
Это неправда, map создает новый массив, а что делать с его элементами ты сам выбираешь и вовсе не обязательно (и часто вредно) их клонировать. Filter вообще элементы не трогает.
Мне сложно представить внятный сценарий использования deepClone, если он тебе нужен, то скорее всего ты делаешь что-то не так.
>есть хоть одна либа с мутабельными методами для работы с массивами
Да нет таких либ, никому нахуй не сдалась эта шиза с клонированием.
Да что вы к словам цепляетесь, нахуй не нужно это клонирование, как и иммутабельность. Просто аноны говорят раз дескать нет иммутабельности надо клонировать, не я это утверждаю, я взял данные из базы преобразовал отдал в запросе, где мне тут чего боятся, что по 10 массивов создавать
Если убрать клонирование то циклы становятся быстрее в 3 миллиона раз, даже если каждый раз создавать новый массив а не удалять существующий. Что удивительно не думал что мап настолько медленен сам по себе, либо тесты привирают
*изменять существующий
И при чем здесь твой лодаш, долбоебина? Ты правда настолько тупой и считаешь, что заполнить массив пройдясь по элементам исходного массива это медленнее чем заполнить массив предварительно проведя глубокое клонирование исходного массива?
Чел, какой var, какой self = this? Что там за дедовский учебник у тебя? «Боевой Ява Сценарий. Советиздат, 1956»?
Как же угарно наблюдать мемесных зумерков, снисходящихся на немедленные визги, когда они видят что-то не по стандарту ES6. Только в жс-треде такое
А что в других языках дрочат на устаревшие стандарты?
var ето тема, изучай как работает все - и старое и новое, т.к. куча полезного кода который ты будешь копипиздить написано на варах с селфами запряженными в циклах фор через коллбэки, и никто это не будет переписывать на мапы, промисы и константы. Но пиши по новому, иначе вам перезвонят.
Main не важен сам процесс поиска, ему нужен его результат.
Вообще для таких вещей используется редакс, но если приложение маленькое можно обойтись и без него. Для этого используется т.н. "поднятие состояния".
У тебя скорее всего есть компонент-обертка, который является родителем и для Nav и для Main.
В этой обертке и проводи все операции, у нее ведь есть доступ к обоим компонентам - напиши функцию для поиска, передай ее в nav пропсом. таким образом обертка получит доступ к результату поиска. А сам результат поиска передай пропсом в Main.
Но вообще почитай уже про редкс, лишним не будет.
Ну а ты не думал, почему var до сих пор в стандарте языка? Почему еще не deprecated?
var это такой же инструмент как let или const. Ты же не скажешь, что отвертка хуже молотка потому что отверткой плохо забивать гвозди?
Даже сложно представить твой говнокод в котором this какого то объекта размазан по всему коду и назван self.
У меня к тебе вопрос, ты не умеешь читать или писать?
>Ну а ты не думал, почему var до сих пор в стандарте языка Почему еще не deprecated?
Потому что в JS вообще такого понятия нет, он должен поддерживать 100% обратную совместимость. var это не инструмент, а говно на палочке, он хуже let/const примерно всем.
У нас например в большинстве своем проект на Вуе, но части кода остались нахуярены на жкьюри (около 15%), там прям увесистые жс-файлы на несколько тысяч строк кода да еще и с весьма странным ООП, написана эта вся радость была еще в 2012. В принципе это также планируется переводит на Вуе, но пока есть более насущные задачи и когда встает задача небольшого расширения функционала ,связанного с этими файлами, писать надо с var а не let/const и для запросов и манипуляций с DOM юзать внутренние объекты (основанные кстати на жкьюри-элементах, своеобразный собственный фреймворк)
Поэтому мемесные зумерки, верещащие при виде var, сразу же отправляют нахуй. Не могешь работать по внутренним конвенциям компании - вам обязательно перезвонят
Ты так говоришь, как будто к вам стоит очередь желающих покопаться в простынях на тысячи строк кода на джиквери. Вы блять до сих пор бабель не смогли к ним прикрутить, о чем тут разговаривать вообще?
и вопрос вдогонку: цитата из задания: "Приложение с бекенда отдает koa"
это что имеется в виду? server-side rendering?
>писать надо с var а не let/const
Чтобы потом побольше легаси было. УвОжаемый подход, не то шо зумерье с транспилятором, которое часть этого говна мамонта подрефакторили бы ещё на стадии поддержки.
Это Райан Даль? Нехило его жизнь помотала.
Константа по ссылке, по значению для ссылочных типов она все еще переменная, ю ноу?
Ты дурак.
Чем константа отличается от переменной через let(кроме того, что нельзя менять значение)?
Ну что, прям настолько вот тупой вопрос?
Сталкивался с мнением, что тернарный оператор "?" делает код менее читабельным, но при этом мне кажется вполне себе можно привыкнуть, и он ведь действительно покороче будет, да и смотрится весьма красивенько. Как на практике с этим? Всё же лучше писать через "if" или можно и через тернарный оператор?
Ты значение слов константа и переменная понимаешь? Если да,зачем ты спрашиваешь хуйнб?
Если тернарщина своей длиной вылезает за дефолтный экран в ИДЕшке то да, это антипаттерн
Примерно как освоим управление катамараном, осваивать велосипед.
Нормальные люди программировать учатся, а не фреймворки.
Тернарный оператор возвращает значение, if else выполняет блок кода по условию. Это разная семантика, а не одно и то же.
>покороче будет
Для быстрого набора сниппеты придумали. А визуально if else гораздо проще считывать.
>Нормальные люди программировать учатся, а не фреймворки.
Лол. Если уж взялся за жс, то осваивай фреймворки или пиздуй нахер
+
Ниибацки крутой умеющий_прогать челик нахер никому не всрался если он не могет ни в один мажорный фреймворк и сопутствующие технологии
>Ниибацки крутой умеющий_прогать челик
не имеет проблем с изучением языков, фреймворков и сопутствующих технологий за пару вечеров.
Хуясе там деда порвало
Странно все работает а ты точно на жс это делаешь?
Я так понял это HTTP-заголовки прилетели в мета-теге. Теперь созрел вопрос: как расшифровать это некое_значение в content атрибуте, как понять что оно значит? Там хуевая туча латиницы обох регистров, цифры и нижние подчеркивания если что, еще усугубляет дело original-trial но это как я понял гугловская фича
>Я так понял это HTTP-заголовки прилетели в мета-теге.
Нет.
>как понять что оно значит?
Почитать доку на MDN.
Если ты не собираешься изменять значение переменной - задавай через const
В других случаях через let
С чем тебе помочь, дебил. Гуглом пользоваться научить? Да ебись ты в рот.
Я это уже находил, писал же что гугловская фича, просто я не пойму как эти токены ебанные понимать, там не о чем таком нету
Ну чому ты с меня знущаешься?
Нет. Переменная у тебя структура твоего ссылочного типа. А константа остается константой, не важно что ты в ней хранишь примитив или ссылку. Константа - ПОСТОЯННОЕ. Переменная - ИЗМЕНЯЕМОЕ.
Нельзя блядь. Ты определение слова ПЕРЕМЕНАЯ ОТКРОЙ. Свойство переменной - возможность ее изменить. Константу ты изменить не можешь.
А глагол можно считать существительным, они работают почти одинаково.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/const
> Uncaught TypeError: Assignment to constant variable.
Сука, ну каждый ебанный день появляются тут дебилы, которые с настойчивостью быка пытаются отстоять свою точку зрения. Ну, либо это конченные трольчата уровня /js.
Чегой-та ты агришься, родной?
Да, я согласен с тем, что ты дебил.
Ты хочешь чтобы тебя скольки летний ебал?
Пожалуй, тут я с тобой соглашусь. Бездари и неучи.
>Автомобиль это такой велосипед с мотором и четырьмя колесами
>Глагол это такое существительное указывающее на действие или состояние
>Жидкость это такое твердое вещество, но жидкое
>Константа это такая переменная, но константная
Два чая, постоянно проигрываю с дебилов которые не различают переменную и константу, хотя казалось бы, сами имена говорят за себя - "переменная" значит значение может изменяться; "константа" значит значение постоянно.
>Обнаруживая var a,Компилятор обращается к Области видимости, чтобы узнать, существует ли переменная a в наборе этои конкретнои Области видимости. Если переменная существует то Компилятор игнорирует объявление и двигается дальше....
>Компилятор генерирует код для последующего выполнения Движком для обработки присваивания a = 2.
Как сука он генерирует если в первом шаге он проигнорировал объявление, и куда он будет присваивать 2?
> Если переменная существует то Компилятор игнорирует объявление
Жопой читаешь? Она уже существует, поэтому он присваивает 2 уже существующей переменной.
Двачую, коллеги. Давайте в 69 поиграем?
Ты уверен что все сайты сервят ванильные жс файлы и их пишут только таким способом?
Не уверен, я даже не понимаю сути твоего вопроса - что значит сервят? В плане что библиотеки должны использовать а не чистый писать? Каким еще таким способом?
Ну я тебя так понял - что пишут исходный код а потом его через минификацию пропускают, а там уже выходит оптимизированное но тугочитаемое нечто. Ну так да я про это знаю
Ну вот. И чо ты там разобрать пытаешься? Такое везде.
Хотя, тут на дваче можешь разобрать sharkey.js. Там нихуя не минифицировано, весь говнокод макаки вместе с комментариями у всех на виду, какой это позор.
Да я заметил, лол. В коде реклама каких-то казино блядь и игор, еще пасты какие-то написали, на оптимизацию похуй посты грузятся через раз, вечные бад гатеваи и баны по подсети, такое чувство что вкатуны из /web пилили фронт и бэк
>вечные бад гатеваи и баны по подсети
>ррряяя макаки писали
Вся суть экспертной эрудиции критиков.
Я в курсе про то что модеры баны по подсетям раздают а не макаки, просто чтобы более информативно нагруженным пост вышел написал
Иди проспись
А на форчане тогда кто пилил? Школьники-дегенераты из моногендерных семей?
Для этого перелопатил овердохуя файлов, внеся изменения в 8 из них. Это блять вообьще норма?
Оверинжиринг аз из.
- мини соц сеть таскающая гитхабы разработчиков с постами и регистрацией/аутентификацией на ноде, экспрессе, монго и реакте-редаксе
- обычное приложение которое погоду показывает на тайпскрипте, реакте и редаксе.
Этого хватит? Можно идти на собесы? Или еще что добавить?
Можно.
разобрался, получается он просто через obj.get() вызывается, меня смутило что названия у функции нету
Чтобы на гитхаб смотрели нужно на нём иметь не дерьмо от которого всех тошнит (соц. сети, погода, мувисерчер, тудулист), а проект которым пользуешься либо ты, либо твоя аудитория, при этом ты должен сказать чем он лучше аналогов.
Позтому даю 100% гайд вката. Вкатывайся в мобильную разработку, пили клиент для двача и выкладывай на гитхаб.
Всем похуй на твой ГХ, никто даже смотреть не станет. ты это делаешь для себя, чтобы набить руку и выполнить тестовое/пройти собеседование. Так что начинай рассылать резюме и ходить обсираться на собесы, когда-нибудь устроишься
А что подразумевает это умение?
Полтора года. Но из них реального времени обучения дай бог на полгода наберется. Заниматься после работы приходилось
>Полтора года
Хочешь сказать реально вкатится таким способом? Дрочу по несколько часов в день после работы, прогресс идет но медленно. На кодеварс хуярил?
Да. Но не сильно. Чисто классические задачки типа пузырьковых сортировок, физбазов и прочих. А вообще я хз. Рутина очень деморализует. Оглядываясь назад, лучше бы я подкопил денег и уволился с работы и ебашил по часов 5-6 в день. Я еще с джавы начинал поначалу. Потом на середине пути на джаваскрипт пересел. Ну и дам совет от себя долбоеба, начинай пиздовать на собесы как можно раньше. А то я уже и в тайпскрипт умею и в жс, и в реакт с редаксами и в ноду залез чутка, за минут 30 с гайдами наклепаю примитивный сервер. Но только щас начинаю ходить на собесы. Вот еблан однако
Что бы ходить нужно хотя бы знать реакт, я лишь пока до стейта и роутов добрался, хуй знает пока пол года только в теме, может года полтора или год уйдет, если не заброшу, были такие мысли все бросить нахуй?
Почему вдруг querySelector не может найти кастомные элементы (теги) в DOM? С хера ли для этого надо извращаться с XPath?
Ну что он выложит в гитхаб? Tудулист? Мувисерчер? Лучше так и сказать, давайте пожалуйста тестовое и его в репозиторий уже и выкладывать.
Наверно потому что у тебя руки из жопы.
Да, будешь делать на месте, а тимлид за плечом будет стоять и дышать тебе в шею, отслеживая каждый твой шаг.
Рил или троллишь?(((
Главное чтобы не щупал.
Ой чувак, ты даже не представляешь сколько раз. Я уже 4ый год в череде личностных кризисов. Постоянно накатывает хандра и отчаяние но я не сдаюсь. Тешу себя надеждами о лучшей жизни. Мне 28. Ни друзей не осталось, никого. Одиночество со всем сторон обступает. Депрессии. Все это внутри тебя. Выходишь во внешний мир. И что же ты видишь? Мир натурально сошел с катушек. Пандемии, ковиды, протесты, сирии, донбасы, карабахи. Жизнелюбия это не особо добавляет. Но что у нас остаётся. Только борьба. С самими собой в первую очередь. Выдрачиваю свою волю как могу. Например если надо встать в 5 утра заставляю себя и ни минутой позже. Даже если бухал весь день до этого. Хоть сдохни мразь но встань. Это единственный путь анон. Выдрачивать свою волю. Ебать ее в хвост и гриву так словно это твоя еот встала раком а у тебя не было секса лет 10. Это единственный выход. Потому что эмоции приходят и уходят а железная дисциплина остается. Она неизменна. История знает глупейших и невежественнейших людей добившихся самых высот благодаря своей железной воле и которые управляли людьми гораздо умнее себя но безвольными как тряпки.
Ну и как ты там за 4 года? Как по мне даже если совсем даун то тратя в день по 2 часа, за 33652=2190 часов можно было бы вполне выучить что-то из программирования
Программирование я учу 1,5 года. Это кризис у меня длится 4 года. По сути все что мог я выучил. Конечно на уровне любителя но все же. Теперь попрусь задрачивать собеседования. Реакт, редакс, жс, тайпскрипт освоил. Конечно на уровне любителя но все же. Единственное с вёрсткой хуево. Не дадим мы друг с другом
>4ый год кризис
У меня кризис прямо с рождения, 30-ый год уже идет. Я диск с обучением deplhi ( язык ) покупал лет 15 назад. Бросал и снова начинал. Сейчас вот вкатываюсь в жс. Дрочу пипиську, смотрю гарри потера. Сосед с двумя детьми, разводится после 10 лет брака, жить ему негде, хз кому хуевей из нас. Успех это все хуйня на мой взгляд, нужно искать интерес в моменте.
Может. Просто ты долбоеб накосячил, и не хочешь этого признавать.
кругом одни вкатывальщики или быдлокодеры.
первые вечно-обиженные неудачники, а вторые смурфики с заоблачным эго, потому-что зарабатывают немного больше васяна с завода, также постоянно унижают вкатывальщиков, но у самих огромный геморой, посаженное время и кифозный позвоночник
Есть конечно, всегда были и будут люди которые интересуются компьютерами (в инженерном плане) и программированием с самого раннего возраста, когда о деньгах и не думают, но многих потом судьба заносит в другие отрасли, и ты почитай бугурт-тред - у тебя отпадет желание заниматься коммерческой разработкой, особенно если есть какое-то другое более менее годное образование или умения (хотя это спорно - вот казалось бы медицинское образование - при сильном желании можно рубить бабло сопоставимое с IT, это плодотворное пле деятельности для инетересных научных исследований, но блядь, работать с машинами проще и безопаснее, чем с ебанными лысыми обезьянами, хотя если эта машина эксимерный лазер для коррекции зрения или АМС за миллиарды долларов, то... лол), в этом случае кмк лучше оставить программирование в качестве хобби. Но наверное есть и в коммерческой разработке интересные и уникальные проекты, но шанс туда попасть стремится к нулю у большинства.
А насчёт быдлокодерства - что ты под этим понимаешь? Или ты думаешь что код/проект любителя будет качественнее чем код профессионала? Маловероятно, хотя если любитель с большим стажем, а профи совсем зеленый, то возможно, ну и у любителя нет потогонки, он может вылизывать 10 строк кода бесконечно вечно триллионы лет, но в то же время у профи есть тестеры и код ревью.
Есть, но я не на JS программирую и не работаю вообще, сижу на шее. Ещё вариант: работать и одновременно заниматься как хобби.
В каком именно моменте? А так успех неуспех главное чтобы тебе было комфортно. А комфорт с хорошей работой с норм зп выше чем со среднемедианной по России. Необязательно Эверест покорять. Чисто в гармонии с собой быть.
>Поэтому мемесные зумерки, верещащие при виде var, сразу же отправляют нахуй.
И правильно делают, вместо траты своего времени на легаси, можно писать современный удобный код на фреймворке и получать вменяемые деньги, точно такие же как в говно легаси, но кто будет более конкурентным через пару лет такой работы?
Html да. Css слабо
Тебя на фронте вообще не ебет, sse там или websocket, подключился, получил данные, отрендерил, закрыл подключение. В чем бугурт?
С вебсокетами у тебя будет 1 соединение, с sse количество соединений будет равно количеству полученных/отправленных данных.
Не понял, распиши подробнее. Я ссе понял как однонаправленное, а сокет нет
>почему без флексов?
Хз, погорячился наверно. А с флексами как? Я так понял justify-self это не флекосовое свойство, тогда два левых зеленых дива надо объединить в один и у черного задать justify-content:space-between. Так? или есть способ лучше?
>занимаются как хобби
Программирование как хобби звучит как "увлекаюсь перекладыванием молотка из правой руки в левую". Развлечение для аутистов какое-то.
Да, достаточно многие люди, не из индустрии, "для себя" что-то делают.
Чел делающий жрпг на юнити, чел пишущий прошивку для робота на lego mindstorms и художник тыкающий нейросети - они программированием увлекаются?
Или робототехникой, искусством и японскими играми?
Код - это инструмент, а не самоцель.
делаешь все одинаковые,одному непохожему назначаешь цсс класс со свойствами которые его отличают
Ну и написал бы им вопрос, может они перепутали.
Тестовое
сначала фейс контроль по скайпу, потом тестовое, потому уже может быть собеседование.
Проверка, что ты не чмондель. То есть базовые навыки умения общаться, быть частью команды и вообще не быть говном.
А если у меня борода? Стоит ли сбривать ее? Среди офисобыдла например это смерти подобно прийти на собеседование не в рубашке с бородой
1 к 20
Так это не много, я когда на одну вакансию реактомакаки откликался там было требование залить тестовое на гитхаб, потом когда вышло время на выполнение (неделя) поискал по названию репозиториев и нашел около 60 выполненных тестовых.
Да, через грид, обтекание и табличную верстку. Еще если постараться можно велосипедно-костыльные способы придумать
Тестовое должно быть настолько сложным, чтобы 90% людей сразу отваливались просто посмотрев на задание
сделай все на ТС, чтобы сразу выделиться как альфа
Где найты тестовые? Их же наверняка сливают куда-то те кто им дают, хочу посмотреть смогу ли осилить
мимо вкатун
Спасибо тебе добрый человек
Сырое говно без задач
Оба варианта возможны
ты не понял
В общем, посылаю реквест к серверу, в некоторых случаях он скорее всего не сможет его правильно исполнить, ничего не делает и посылает клиенту ответ в духе {'result': 'unavailable'}. Юзеру должно показаться модальное окно вида "В данный момент запрос не выполнить. Все равно продолжить?" и если юзер нажимает ОК то реквест отсылается заново но на этот раз без предупреждений
Че мутить на фронте? Надо закинуть обычный реквест и прицепить к нему callback, который будет проверять поле ответа 'result', а затем замутить обычный confirm?
Где правда?
Смотря на чем писать. Если реакт то функции все равно круче ибо быстрее работают и тестить проще.
Не круто их использовать в обычном жс потому что у них хуевая поддержка среди браузеров + они самии по себе ущербны из за урезанного функционала + от них мало пользы в языке без статической типизации. TS всё это исправляет и делает из жс язык на котором можно писать хороший ооп код.
код скрипта ждет на вход количество запусков и интервал между запусками (по сути сделан для того чтобы нагрузить систему)
внутри скрипта есть вот такая нехитрая функция
код скрипта ждет на вход количество запусков и интервал между запусками (по сути сделан для того чтобы нагрузить систему)
внутри скрипта есть вот такая нехитрая функция
function start(count, delay) {
if (process.argv[2] != parseInt(process.argv[2] , 10)) {
return console.log('missing count of starts')
}
if (process.argv[3] != parseInt(process.argv[3] , 10)) {
return console.log('missing delay between starts')
}
for (var i = 0;; i++) {
if (i == count) break;
console.log('round ' + i + ' delay ' + delay i + 'ms')
setTimeout(() => {
script()
}, delay i)
}
внутри функции script() происходит сценарий взаимодействия с системой
script() может завершиться 3 результатами, а,b,не успел завершиться до таймаута start(count, delay) (который я тоже не написал)
Задача: дождаться завершения каждой итерации запуска script, или таймаута, после чего выплюнуть в консоль количество a,b, и не успевших завершится экзепляров script
навесить await на запуск script() низя, тк необходимо запустить каждый из них не дожидаясь предыдущего.
}
код скрипта ждет на вход количество запусков и интервал между запусками (по сути сделан для того чтобы нагрузить систему)
внутри скрипта есть вот такая нехитрая функция
function start(count, delay) {
if (process.argv[2] != parseInt(process.argv[2] , 10)) {
return console.log('missing count of starts')
}
if (process.argv[3] != parseInt(process.argv[3] , 10)) {
return console.log('missing delay between starts')
}
for (var i = 0;; i++) {
if (i == count) break;
console.log('round ' + i + ' delay ' + delay i + 'ms')
setTimeout(() => {
script()
}, delay i)
}
внутри функции script() происходит сценарий взаимодействия с системой
script() может завершиться 3 результатами, а,b,не успел завершиться до таймаута start(count, delay) (который я тоже не написал)
Задача: дождаться завершения каждой итерации запуска script, или таймаута, после чего выплюнуть в консоль количество a,b, и не успевших завершится экзепляров script
навесить await на запуск script() низя, тк необходимо запустить каждый из них не дожидаясь предыдущего.
}
Функция script должна возвращать промис, принимать она будет параметр delay, внутри тела будет setTimeout(resolve, delay, "timeout"), и остальной код по итогу которого будет вызываться resolve(a) или resolve(b) в зависимости от результата.
Далее в цикле запускаешь каждую функцию и помещаешь результат вызова в массив, т. е. получаешь массив промисов, после чего используешь
result = await promise.all(results).then(r=>r.reduce((acc,e)=>( e == a ? acc.a++ : e == b ? acc.b++ : acc.to++, acc), {a:0,b:0,to:0});
В итоге получишь объект с количеством результатов а,б и таймаутов.
Обязательно. Веб тоже не твое, как и погромирование в целом.
>Я до этого изучал Java, но понял, что энтерпрайз не моё
Отучился 2 месяца на трехмесячных курсах "Стань жаво дэвэлапиром не сходя с кресла" от Гигбраинз?
Я как то помню тоже однажды решил вкатиться в разработку драйверов ну патамушта это типо круто там и все такое, как реальный кулхакер можно биты гонять, зашел такой на Ютубчик, посмотрел 4 видоса по С++ и понял что походу embedded это не моё. Хз че делать. Наверн попробую в Дип Лернинг пойти, говорят типо модно там и вся хуйня, какие-то матрицы крутятся роботы, ширы-мыры (смотрели Матрицу кстати? ну ту шо с Киану Ривзом? также буду скоро делать)
>Кроме того, метод shouldComponentUpdate() базового класса React.PureComponent пропускает обновление пропсов для всего поддерева компонентов.
Что это значит?
Что мой PureComponent только отслеживает те пропсы, которые сам использует, а за остальными не следит?
Или у меня не сработает ререндер у детей компонент, которые являются обёрткой?
Если ты работаешь в веб студии, которая штампует сайтики конвеером, то нужно знать HTML и CSS на высоком уровне, всякие конвенции типа БЭМ и использовать плагины для ускоренной верстки
Если ты делаешь СПА на фреймворках, то там к верстке требования меньше
Про различие между Component и PureComponent, зачем чистые вообще нужны
Где конкуренция меньше. сейчас особо никто не хочет сайтики делать на стаке из нулевых
Есть гденить на гитхабе пример НОРМАЛЬНОГО тырпрайз приложения ahjyntyl круда на React c валидациями полей, ролями юзеров, сокрытие админки от обычных?
Че ты, мусор, гонишь шнягу не по делу, че ты паришь мне про нары и конвой?!
Я вон без типизации писал нормальный ООП код. В чем заключается аргумент с плохим ООП из-за отсутствия типизации?
Это как утверждать что ты ебал бабу без хуя, без базара, можно заюзать самотык, но ты решишь подобное спиздануть? То-то же
Я думаю во фронтенд разработку проще всего вкатиться, нужно изучить всего лишь:
lodash
Aurelia
Voca
jQuery
anime.js
Mocha
JSHint
Express
Browserify
chalk
Next.js
ESLint
jGrouseDoc
JSLint
PhantomJS
Yarn
Angular
Brunch.io
Axios
ng-inspector
JSDoc
Snyk
Ionic
popper.js
Ember
YUIDoc
tslib
Gulp
moment
Jasmine
Duo
Augury
commander
Yeoman
AWS-SDK
ReactJS
Npm
Node Security Project
Flow
Vue.js
Protractor
Grunt
Swagger
Slick
RetireJS
Bower
Bideo.js
Winston
Docco
Gemnasium
Gatsby
request
Webpack
OSSIndex
Babel
Я думаю во фронтенд разработку проще всего вкатиться, нужно изучить всего лишь:
lodash
Aurelia
Voca
jQuery
anime.js
Mocha
JSHint
Express
Browserify
chalk
Next.js
ESLint
jGrouseDoc
JSLint
PhantomJS
Yarn
Angular
Brunch.io
Axios
ng-inspector
JSDoc
Snyk
Ionic
popper.js
Ember
YUIDoc
tslib
Gulp
moment
Jasmine
Duo
Augury
commander
Yeoman
AWS-SDK
ReactJS
Npm
Node Security Project
Flow
Vue.js
Protractor
Grunt
Swagger
Slick
RetireJS
Bower
Bideo.js
Winston
Docco
Gemnasium
Gatsby
request
Webpack
OSSIndex
Babel
Ох, действительно забылось. Не быть мне больше синьором фронтендером больше. Эх.
Суть ооп в том, что ты пишешь сначала общий код, а после наюор конкретных реализаций с общим интерфейсом/абстрактным классом с которыми будет работать этот общий код. Вот как раз на второй стадии и важна статическая типизация, так как при написании очередной реализации ты пишешь class Hui implements PolovoyOrgan и иде автоматически создает шаблоны методов которые ты должен реализовать чтобы твой класс можно было использовать в общем коде. В жс тебе всё это придется держать в нолове, постоянно смотреть на базовые классы и молиться на то чтобы ты ничего не забыл и не перепутал, иначе в рантайме получишь непредвиденный результат и сломаешь голову в поисках проблемы.
>Оно мне помогает не ошибиться в имени
Ох уж эти макаки, которые знают о статической типизации только из чужих разговоров, но при этом норовят ставить своё слово. Самому не стыдно?
>А пользоваться умеешь?
>import { мочаОсла } = Хуйня
>Принципы
>бинарный код, как оно на транзисторах работает
Понял. Не умеешь.
Хуинципы!
Это же JSик, анон! Тут все easy, simply и quickly. Сразу взял и используешь! Не вводи нюфагов в заблуждение. Кстати, пускай задроты годами учат Java свою, а мы будем делать легко.
Смотри, есть очень хороший вариант. Заходи на понравившиеся сайты и просто читай исходные коды страниц. Вообще, чтением кода в любой технологии можно серьезно бустануть свой скилл.
Реально не понимаю зачем статическая типизация в TypeScript, она делает только хуже усложняет код, вносит ограничения, убирает гибкость.
И нет, ни капли не стыдно. И мои клиенты довольны результатами работы за последние 10 лет. А ты таким похвастаться можешь? Или ты очередной вкатывальщик в ИТ?
Собеседование не пройдешь без понимания принципов. Нормальный код пилить тоже не будешь без принципов.
Если бы у нас херак-херак все делалось, без понимания принципов, то те же мобильные сайты весили бы по 10 мбайт. Oh shi~, это же реальность. Многовато вас таких в область попало. Самоучек без понимания computer scince.
Ну значит у тебя не ООП код, а говно.
>мои клиенты довольны результатами работы
Твои клиенты переписывают, правят или расширяют твой код? Нет? Ну тогда это не делает твой код качественнее.
>А ты таким похвастаться можешь
Да уж, продажей говнокода похвастать не могу, чего нет того нет...
Ответ:
Формула для (a === b) будет ( (a == b) && ( typeof(a) == typeof(b) ) )
Разрешаю скринить
Понимаешь, я прошел десятки собесов. И никому это не нужно, что ты пишешь. Нужны только фреймворки. И то, каждый фреймворк/библиотеку, которую я использовал - я ее не изучал, сразу брал и использовал! Видишь! Quickly и simply! Код твой тоже никому не нужен - бизнесу нужен красивый интерфейс.
А computer science оставь задротным непрогрессивным динозаврам. У нас во front-end все прогрессивные, все open-minded и политкорректные, все за экологичность, BLM, поддерживают феминизм и полигендеров. А этот твой computer science и зубрежку оставь этим вонючим Джява, Си и Си-Плюс-Плюс задротам.
> Ну значит у тебя не ООП код, а говно.
Он не говно. Я его вылизываю до идеала. Везде пишу === и инициализирую все, и делаю наследование на основе прототипов.
> >мои клиенты довольны результатами работы
> Твои клиенты переписывают, правят или расширяют твой код? Нет? Ну тогда это не делает твой код качественнее.
Иногда. Вполне спокойно другие его могут расширить.
> >А ты таким похвастаться можешь
> Да уж, продажей говнокода похвастать не могу, чего нет того нет...
А я вот могу. И я думаю это лучший показатель качества frontend разработчика.
А ты зря смеешься, slider.js - это одна из самых важных либ.
> Понимаешь, я прошел десятки собесов. И никому это не нужно, что ты пишешь.
Нужно. У нас спрашивают в Яндексе
> Нужны только фреймворки. И то, каждый фреймворк/библиотеку, которую я использовал - я ее не изучал, сразу брал и использовал! Видишь! Quickly и simply! Код твой тоже никому не нужен - бизнесу нужен красивый интерфейс.
И сколько ты библиотек и фреймворков юзал? Кажется ты неуч который на любой чих будет искать пакет в npm.
> А computer science оставь задротным непрогрессивным динозаврам. У нас во front-end все прогрессивные, все open-minded и политкорректные, все за экологичность, BLM, поддерживают феминизм и полигендеров. А этот твой computer science и зубрежку оставь этим вонючим Джява, Си и Си-Плюс-Плюс задротам.
Ясно. А ты вообще как думаешь кем написан движок браузера и v8 в частности? Всякими этими динозаврами.
А что делать будешь если пройдешь собес и попадешь на проект с emscripten?
> Яндекс
Ооо, понятно, понятно... Эта проправительственная нелиберальная контора. Фу! Тебе должно быть стыдно! Shame on you!
> И сколько ты библиотек и фреймворков юзал?
75-80, точно не считал.
> на любой чих будет искать пакет в npm
А ты, значит, любитль велосипедов, да? Ну, я так и понял. Вообще-то, "на любой чих в npm" - это и есть настоящая JS разработка. Это правильно, когда код пишется и отлаживается миллионами разных людей с планеты, разных национальностей, рас, конфесий, ориентаций и гендерных самоидентификаций!
> А ты вообще как думаешь кем написан движок браузера и v8 в частности? Всякими этими динозаврами.
Именно. Для нас. Для прогрессивных JS-господ. И вы, задротики, будете на нас, господ, пахать, пока мы будем с наслаждением писать наши произведения искусства разработки в несколько строк. И нас, поверь, высоко оценят. И за жизненной мудростью, пойми, тоже придут к нам.
> А что делать будешь если пройдешь собес и попадешь на проект с emscripten?
Буду на go писать. Благо, go написан прогрессивными open-minded людьми и мы, JS-разработчики, найдем общий язык с этим прекрасным инструментом.
А если нельзя будет на go, то - на Kotlin. Но, признаться честно, я буду использовать Kotlin с легкой брезгливостью, так как это, по сути, брат Джявы, которую используют отсталые реднеки. И для меня использование Kotlin будет сродни прикосновения к белому гетеросексуальному маскулинному цисгендерному мужлану.
Конкретно в связке Реакт /Редакс в файлах появляется очень много импортов и сильно усложняется структура( это если писать правильно ) , что не очень удобно.
Скорее всего это очень помогает в крупных проектах, но у меня такого опыта пока нет
> === проверяет типы а == нет
По твоей логике '1' === '2' есть true, ибо типы одинаковы. Вот тут твоё объяснение вербальным способом подвело, не дало столь исчерпывающего ответа как моя формула.
по моему ты обосрался
с реактом не прокатит, я так понимаю
>ответ на вопрос новичка
Новичек первым делом читает книгу, там обьяснение лучше чем твоя сраная формула
Я мухосранское заводобыдло, конечно нет
Ты уже вкатился?
return gulp.src(file).pipe(gulp.dest(newPath));
Где file === \swap\test\file.js
и newPath === С:\folder\js
В итоге файл в С:\folder\js\swap\test\file.js блять. Как использовать из src только имя файла, чтоб он был в С:\folder\js\file.js
быстрофикс file === swap\test\file.js (относительный путь)
https://www.npmjs.com/package/gulp-replace-path
Мне кажется вот этим пакетом можно все пофиксить
мне вообще не надо менять файл, я файл из точки А переношу в В, но у В адрес неправильно резолвится
Проиграл с макаки, которая сама ничего не знает, но норовит поучать других.
Просто задам тебе наводящий вопрос, если формула:
(a === b) будет ( (a == b) && ( typeof(a) == typeof(b) ) )
То почему сравнение a === b в случае разных типов будет работать быстрее чем a == b? В общем, иди штаны стирай, дурачок. Даже в вопросе новичков ты обосрался.
Я думаю все дело в магии оптимизации интерпретатора.
Ну и a === b не должен для сравнения приводить типы так сильно
Нет. Я вполне себе занят. Занят ответами на важные вопросы в чем же сука ебучая разница между == и ===
Разница между ними что === проверяет типы а == нет. Все. Хуле велосипед изобретать
А значения он по твоему не сравнивает что ли? Ты еблан? Тут вся сука ебучая суть в сравнении данных.
Ты упустил важную деталь. А вдруг бы человек не так тебя понял? А типичный вкатывальщик понял бы тебя как будто === надо использовать для сравнения типов, а == для сравнения данных.
Ок, тогда максимально простое объяснение что даже даун поймет.
== Сравнивает значение, типы могут быть разными
=== Сравнивает значение и типы. Оба должны совпадать.
А нахуя это новичкам. Пусть сначала поймут как свет включать а потом когда заматереют и разберутся как электрика работает
Ну там выше писали что основы нужны, computer science
Ты че пёс, я математик!, формулами пишу
Дело в том, что он сравнивает типы и если типы разные, то возвращает false, в то время как == сравнивает значения в любом случае, независимо от типа.
Ну и какого хуя оно быстрее?! Ты что, толерантность не проявил?!
Я автор этой формулы для ===, я вернулся в тред после дневного сна. Тут, смотрю, развели полемику вокруг формулы, затронули мою личность, даже некий нехороший Аноним выдавал себя за меня. Вот сообщения которые действительно писал я: >>24456 >>24488, все остальные не мои.
>>24564
Во-первых ты не понял, что моя формула призвана показать принцип работы === через простой знакомый новичкам ==, и здесь не стоит цель заменить === моей формулой. А ещё ты продолжил своё сообщение хамством(хотя хамы на анонимной борде обыкновенные чмошники, не будем тут заостряться).
Во-вторых, раз уж говорить о скорости команд... Это п...ц. У тебя какой там компьютер, паря? Не от дедушки по наследству достался? 16 разрядов наберётся? Или на i8088 сидишь? Ты о каких вообще скоростях говоришь, а?? Эти лог. операции измеряются в наносекундах! Да на дворе 2020 год, малолетки в смартфоне за $80 рубятся в 3d-шутеры, разрешение мониторов 8к, но нет бл...ть, ты до..ался до милипиздрических операций, мол, === быстрее чем моя формула. На сколько быстрее? НА СКОЛЬКО БЫСТРЕЕ, БЛ..ТЬ??? НА 2 НАНОСЕКУНДЫ БЫСТРЕЕ?? НУ АХЕРЕТЬ ТЕПЕРЬ! ВСЁ, +2 НАНОСЕКУНДЫ, ЭТО Ж СУКА ПИЗДЕЦ, ЛЯГЛА ВЕБ-СТРАНИЦА, НАХУЙ, BAD USER EXPERIENCE, ГУГЛ-РОБОТ РАЗОЧАРОВАЛСЯ ПРИ ИНДЕКСАЦИИ ИЗ-ЗА +2 НАНОСЕКУНДЫ! Пиши номер карточки, денег скину тебе... купишь хотя бы пень-3 взамен своему кр580... хотя у тебя и карточки нету, сильно новые технологии для тебя, небось...
ты тупостью троллишь?
>призвана показать принцип работы
И она с этим призывом не справляется, потому что показывает его неправильно. Почему ты этого не понимаешь и пытаешься оправдаться?
>простой знакомый новичкам ==
Что-то кек. Как раз == для новичков и не знакомый, потому что в большей части языков, из которых новичок мог прийти 5 == '5' либо упадет из-за разных типов либо вернет false.
И === наоборот "привычный", ну записывается по другому, какая нахуй разница.
Вот попытался бы объяснить, как == внутри работает, была бы хоть какая-то польза.
Типикал заказ с фриланса. Хуй тебе, животное. Хуй тебе, животное.
>Оставляйте свою телегу. Завтра
хуя борзый кабанчик. до завтра тебе только хуй за щекой оставят
Я смотрю ты свитчер из какого-то другого ЯП, раз думаешь, что моя формула не справляется. Ну ладно, сделаю поблажку, покажу тебе как быстро проверяется любой JS код, в частности моя формула. Проделай следующие шаги:
F12 > Console Tab. Это отладочная консоль, в ней вводи переменные и функции
let TripleEquivalsFormula = (a, b) =>( (a == b) && ( typeof(a) == typeof(b) ) ) //это такой способ объявления ф-ций, кроме традиционного
//теперь можешь ввести каждый вариант и убедиться что формула верная
TripleEquivalsFormula(1, 1) //true
TripleEquivalsFormula(1, '1') //false
TripleEquivalsFormula(1, 2) //false
TripleEquivalsFormula(1, '2') //false
TripleEquivalsFormula(false, false) //true
TripleEquivalsFormula(false, 0) //false
TripleEquivalsFormula(undefined, NaN) //false
TripleEquivalsFormula(undefined, null) //false
В общем, молодой, не зная броду - не лезь в воду. Всё, ставлю жирную точку на этой дискуссии, хорош тебе тред засирать. Take care.
Посоны, такое дело. Я джун, пишу на java, но заинтересовала одна вакансия фуллстека, у них тестовое koa+vue+miongodb. Можно ли где-то найти готовый каркас приложения(хотя бы без монго), чтобы парой команд установить, развернуть, увидеть hello world и сразу начать писать код? И еще, так написано "Приложение с бекенда отдает koa". Это понимать просто как "бэк на koa", или я чего-то не понял?
Они даже сами в доке написали, что useCallback(fn, args) = useMemo(() => fn, args)
>формула верная
>выполнение операций идёт в неверном порядке
>TURE FALSE TRUE FALSE ЗНАЧИТ ВЕРНАЯ ЯСКОЗАЛ
Проиграл с болезного. Если вылечишься, то поймешь, что помимо результата, твой код должен еще и работать с одинаковой эффективностью и знать, что сравнение типов при использовании оператора === идёт первым - важно, так как это помогает писать высокопроизводительный код, а не то дерьмо, которое ты обычно пишешь.
И что ты предлагаешь сделать? Убрать все useCallback и наебнуть тот код который его использует?
Функция принимает аргумент actionType и по нему строит json для передачи на бэк, так выходит что в некоторых случаях надо будет в этом json-e еще и передавать на бэк опциональные поля с их значениямиn, как это сделать?
Новые поля передавать внутри object? И как потом "засунуть" один object внутрь другого?
Я думаю да. Должно быть несложно.
А мне кажется ты не прав. У тебя интерпретатор делает лишнее действие в случае когда 2 значения не равны. И я думаю поменять местами сравнение типов и сравнение значений имеет смысл.
Впрочем === сделает все оптимальнее, он явно при совпадающих типах не будет включать принудительное приведение.
Действительно, я не заметил, что получа false сразу при несовпадении типов, не нужно будет стравнивать дальше сами значения. Спасибо, что объяснил.
Чел, ты че выбрал то?
В реакте вообще ничего нет, он просто рисует гуй за тебя, и на него спокойно ложится любая парадигма и ООП и фп и всё что захочешь.
Интересный факт - интерфейс сайта facebook лютое перегруженное и неюзабельное говнище. Лучше бы нормальный интерфейс сделали, а не новомодные технологии пихали под капот. Хоть jquery, но не вызывало отвращения пользователя.
Ну ещё бы. Там тысячи макак всех гендеров, цветов и религий работают, в таких конторах всегда кто-нибудь умудряется протащить своё говно в общий зоопарк. В бэкенде обычно тоже потом можно найти перл, эрланг, хаскелл, кложу и два десятка самописных DSL.
Ананчики, появилась идея для пет-проекта. Но есть один вопрос: как мне в жсе отрисовать график? Какие есть для этого фреймворки? Вот допустим есть у меня база значений, и надо чтобы из этих значений рисовался график.
+
На первой работе писал бекэнд на Питоне. Там еще не было тайпхинтов и поиск в проекте на 80к+ строк и 50+ модулей это пиздец
Сейчас там есть тайпинг и даже кастомные интерфейсы (все равно кривые правда), но лучше бэк все равно хуярить на статике
Двачую. Мимо работаю в одной из FAANG. Куча разных людей, которые работают над кучей проектов. Всегда найдется кто-то, кому захочется использовать свой фреймворк. Иногда встречаются настолько экзотические технологии, что пиздец. В большинстве случаев, менеджмент не накладывает никаких ограничений, ко всем относятся с терпимостью и поддержкой, и, поддерживая разнообразие, берут абсолютно любые технологии.
Я только начал изучать реакт и скажу тебе: с нуля никак. Вообще никак. Там столько всего, столько нюансов, столько запутанной хуйни которая работает через жопу, что советую тебе забыть про "склепать фронт быстро", если ты только начал изучать реакт.
А дальше npm write-app-for-me ?
Не должно быть минимумов и максимумов. Это неэтично по отношению к функциям, расизм по отношению к функциям. Считай среднее. Всегда.
https://www.npmjs.com/package/average
Вот тебе хороший пакет для решения твоей проблемы.
https://www.npmjs.com/package/chart.js
И вот чем рисовать.
Госпаде как же люблю Javascript
Не парься. Просто пиши код. А если будет тормозить - проси клиентов купить устройство помощнее.
Элемент с опреленным id лежит в одноименной глобальной переменной, если ты так дрочишь на перфоманс.
1280x720, 0:03
>Элемент с опреленным id лежит в одноименной глобальной переменной
Интересно. Но я не могу захардкодить имя переменной. Т.е. у меня есть элемент с id container-XXX, и мне надо получить элемент с id child-XXX.
>>25412
>>25413
>Просто пиши код
>дрочишь на перфоманс
Не то что бы я байтоеб, но писать лютую дичь тоже не хочется.
> >Просто пиши код
> >дрочишь на перфоманс
> Не то что бы я байтоеб, но писать лютую дичь тоже не хочется.
Будто что-то плохое. Просто берешь и пишешь. V8 сам все соптимизирует. И глазом моргнуть не успеешь. Все будет работать мегабыстро и круто. Вот попробуй.
Требуется для автоматизации http-запросов, чтобы работало на разных сайтах
>id container-XXX, и мне надо получить элемент с id child-XXX
В чем проблема вытащить эти "XXX" и сформировать айдишник дочернего элемента?
Нет проблем. Вопрос-то не в этом.
Я скорее ожидаю ответ, в котором пояснят за разницу между ними и примеры применения.
>Но я не могу захардкодить имя переменной. Т.е. у меня есть элемент с id container-XXX, и мне надо получить элемент с id child-XXX.
Тебе о вычисляемых свойствах рассказать?
Научись формулировать вопросы.
Это должен знать каждый стажер, даже не джун.
var foo = true;
if (foo) {
{ // < explicit block
let bar = foo * 2;
bar = something( bar );
console.log( bar );
}
}
Выкручивание замыканий там, где прекрасно и без этого можно обойтись.
Разве что для общего развития и понимания работы замыканий, в реальных проектах так лучше не делать. Да ты и не сможешь скорее всего, тебе ТС, который сейчас везде, не даст такое написать.
Вообще по моему скромному опыту лучше писать больше кода, но читаемого чем меньше, но такого вот, понятного только его создателю.
Движками все хорошо оптимизируется, используется какая-нибудь вариация хэшмапа, пикрил блинк хромиума.
Не думой об этом, пиши скрипты. JS сила, С++ могила.
>но читаемого
Двачую, по молодости тоже старался писать изъёбистый код, считая это красивым и умным, дурачок, а с возрастом и опытом, понял что легкая читаемость важнее всего (хотя есть не менее важные вещи типа перфоманса).
Для этого нужно просто поработать с таким же дурачком. Сядешь за такой код и два дня только пытаешься понять, что же блять имел в виду автор?
А потом сядешь за простой и документированный код и как будто ангел пощекотал твои яички своими пальчиками.
И приходит понимание, что простота и читаемость > краткость.
Проходить продвинутый курс по Javascript - лучшая практика
> Для этого нужно просто поработать с таким же дурачком. Сядешь за такой код и два дня только пытаешься понять, что же блять имел в виду автор?
Легко. Просто ты нормальный код не понимаешь.
> А потом сядешь за простой и документированный код и как будто ангел пощекотал твои яички своими пальчиками.
Лентяй и лодырь. А разобраться слабо?
> И приходит понимание, что простота и читаемость > краткость.
Хуйня. Надо писать кратко, чтобы никто кроме тебя не мог поддерживать этот код. Иначе тебя уволят в первый же год. Знаю о чем говорю, пишу на JS 10 лет.
Хуя подгорело у говнокодера. Щас бы 10 лет писать хуйню нечитаемую и гордиться этим.
Говорилку делай, потом фотошоп, чтобы было не хуже photopea, это база, это должен сделать каждый преджуниор.
Сам ты говнокодер. А я просто хитрый!
Я очень часто попадаю в ситуацию когда в коде бывает '1' + '1' и '1' - '1'. Не скажу что я плохой программист, но хитрые уловки для такого приходится лепить.
> в коде бывает '1' + '1' и '1' - '1'.
Арифметические операции над строками в JS лишены смысла.
Пиши код так, как логично - интерполируй строки или конкатенируй их.
> '1' - '1'
Блядь...
1 бот получает сообщение от пользователя
2 бот пересылает сообщение в канал
метод forwardMessage работает но бляха муха если в одном сообщении прикреплено несколько фото альбомом, то получается что он их пересылает не одним сообщением а каждое фото отдельным сообщением
как пофиксить может кто знает? с меня как всегда
Ты руками попробуй, не через бота. Сможешь желаемового поведения добиться. Вот тут-то и оно, брат
Спасибо, брат, я ебал твою ебаную мать, ебаный брат, ебал тебя в рот за такие советы.
не совсем понял иронии но руками все работает пробовал без проблем пересылает в канал альбомом
Дон, низкий поклон тебе и всей твоей семье за данный совет! Уважение и честь.
Моя первая графика в жсе была таблицей в окне браузера, ячейки которой меняли цвет через background-color, имитируя пиксели. Просто я не знал, что существует canvas, и сделал как первым в голову пришло. Не бери фреймворки, делай !!!науку!!! блеать!
> Не силиконовая, блять, а кремниевая долина.
Сисястая долина.
> Ну ок, убедили, просто я подумал, а вдруг оно каждый раз весь документ просматривает.
Не все разработчики браузеров Javascript макаки чтобы так писать код))
> Да ладно, я загуглю. Лучше расскажи что предпочтительнее использовать гетбайайди или через глобалзис, если нучто просто получить элемент по айди.
Однохуйственно.
Окай, вижу вы тут умные. Тогда может поможете и с регуляркой? Мне надо к регулярке добавить условие, что после матча следующий символ НЕ цифра. Т.е. для такой регулярки
abc1
в строке
abc1 abc12 abc1s abc1(конец строки)
должно быть 3матча abc1 (все кроме abc12)
Отбой, я ебан. Нашел negative-lookahead- (?!\d)
А геттеры как простой доступ через точку: objectName.attr
?..
При чем тут тайпскрипт. В жс они так работают. тс просто надмножество жс. Пиздуй сначала жс учить.
Блять, если ставится сеттер то это не доступ к атрибуту через точку как в питухоне а нормальный сеттер
в чистом жс как и в любом динамокояпе никакие сеттеры и геттеры в жизни блять не использовались
Как с Папой разговариваешь, щенок?
Долбоеб, это в любом языке так работает.
Ну штош, придется на кассу возвращаться, там таких сложностей нету...
Никто не использует всплытие в 2020-ом. Сейчас все переменные block-scoped. Выброси свой учебник.
Вы заебали, вы по чему там учитесь долбоебы. ЧТо один, что второй, через одного какую-то хуйню несут сюда.
Откройте блядь MDN и википедию и больше ничего не открывайте.
А если вам этого недостаточно, чтобы освоить js/html/css то это не ваша профессия (вы слишком тупые) - проследуйте нахуй.
>в чистом жс как и в любом динамокояпе никакие сеттеры и геттеры в жизни блять не использовались
Проиграл с этого ВЫСОКОКВАЛИФИЦИРОВАННОГО ВЕБСЛЕСАРЯ.
>Никто не использует всплытие в 2020-ом
Ебанько, у тебя уже никто не пишет с использованием Function Declaration?
Пиздос, я в ахуе.
Хуйло, прежде чем вклиниваться в нить, научись читать её, чтобы оценивать контекст.
Как связаны хоистинг FD и хоистинг VD, долбоёб?
>работаю как objectName.attr = value а не objectName.set(value)
Лол, блять, для чего вводить сеттер отдельной языковой конструкцией, если он будет работать как метод?
>нормальный сеттер
Они везде так работают. Через public/private методы их реализовывают там, где их вообще нет на уровне языка, как в тех же крестах.
>как и в любом динамокояпе никакие сеттеры и геттеры в жизни блять не использовались
мдэ
>первый вариант получается более оптимизирован для выполнения
Компилятор не тупой. Там где такие оптимизации работают и ничего не ломают - он их делает сам.
Об архитектуре и читаемости думать надо , а не ++i на i++ заменять,как поехавшие деды в вузах учат.
> Ебанашка не знает значение слова "компилятор" и двухпроходной компиляции в JS двигателях
> Громко хохочет и заливисто смеется
Если уж речь зашла о сетерах и гетерах, почему методы не использовать? В чем принципиальная разница между
objectName.attr = value и objectName.set(value) ?
>objectName.attr = value и objectName.set(value)
Ты же не равноценные вещи описал.
Тогда уж objectName.set(attrName, value)
Я про это и говорю. В чем разница между установки внутреннего значения через метод, или через сеттер?
Ну так и метод может ничего не делать
Ни в чём, это одно и тоже, представь себе. И компилируются сеттеры и геттеры в отдельные методы. Но в коде удобней писать obj.prop = 22 или x = obj.prop, чем каждый раз писать obj.setProp(22) иди x = obj.getProp();
>то почему на скрине №2 функции z вообще нет среди локальных переменных,
На нее нет референса, это deadcode.
>При том, если добавить после этого ее вызов (скрин №3)
Очевидно, референс есть = работает и поднятие.
Я думал так же, но на этом же третьем скрине есть var a = 10, к ней точно так же нет референса, но тем не менее, она видна в отладчике
> есть var a = 10, к ней точно так же нет референса
> var a = 10
> нет референса
> a = 10
> нет референса
Бля...
Нахуя тебе это мудень? У тебя один вопрос че выведет, нахуй ты лезешь в код после return?
Каков твой навык в blowjob? От года наберется?
Да, ты прав походу. Я понятие ссылки на переменную смешал с тем, использована ли переменная дальше в коде. Это же разбирается на этапе чтения как
var a;
a = 10;
и получается, что все так и работает, спасибо
А нахуй она нужна если нигде не используется? Компилятор это видит и пропускает говнокод.
Этот долбаеб просто долбаеб
Конечно же jQuery
Сеттер это хендлер присвоения. А когда он сработает зависит от срешств языка. В языках с развитлй метасистнмой операция x =0 вполне может быть сеттером. Пиздуй учить матчасть, статико дебил.
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
ПЕРЕКАТ >>1827056 (OP)
Когда сидишь в сельском туалете на очке, какоешь — пук, оно проваливается. Вот и тут так же. По сути это иллюстрация всей функциональщины в принципе
Это копия, сохраненная 8 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.