Это копия, сохраненная 9 января 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://pastebin.com/9yRADC0s
$.get("parser.php")
.done(function(data) {
$.get("parser.php", {id: data})
})
parser.php возвращает номер последнего обработанного элемента, и его нужно запустить снова, продолжив обработку со следующего элемента. Приведенный код, конечно, не работает.
Поддерживаю предыдущего оратора - непонятно, что ты хочешь сделать.
Очевидные варианты пробовал, типа "берем все элементы и ебашим каждый" или циклом "ищем элемент - если он есть, ебашим его через парсер, ищем элемент" ,
Ничего оно не хочет. WDS = webpack developer server. Напиши в консоли npm start.
Столько же. У ошибки есть сообщение и стек, что тебе еще нужно?
Хочу купить Флэнегага, но могу найти в магазинах только версию "Подробное руководство" 2013 года. Из нового только "Карманный справочник". В чем отличия? Я хотел более подробно почитать.
Минификатор не меняет структуру кода.
Нужно больше людей чтобы вкатывались в ReasonML
>>739623
Генераторы это что-то очень модное, похоже. Не очень врубился, но это не то, что нужно.
Нужно вот это:
https://habr.com/ru/sandbox/20708/
Только у него там есть предустановленный массив recursionStack, а у меня нет.
Суть скрипта:
1. Кликаем на кнопку, заякс запускает скрипт.
2. Скрипт берет первые 20 записей из БД, обрабатывает их, возвращает аяксу done "Обработано 20 записей" и ключ 21 записи.
3. Аякс снова запускает скрипт, теперь уже передав GET в скрипт с ключом 21 записи.
4. Скрипт берет записи с 21 по 40, обрабатывает, возвращает done "Обработано 40 записей" и ключ 41 записи.
и т.д. пока всю базу не обрабаотаем.
Аналогичного эффекта, кажется, получается достигать просто в конец скрипта, который запускается аяксом написать header('Location: http://sitename/parser.php?id='.$g_id); Но это не очень красиво и нет промежуточных результатов с выводом "Обработано n записей", а тупить на прелоадер 20 минут без ободряющих сообщений о ходе выполнения обработки - странно.
Зачем функции chackIfOpen в качестве аргумента e, если при вызове в коде выше ничто туда не передано?
Это типа как this или что тут происходит?
* функция checkIfOpen
Спасибо за развернутый ответ. Всё сразу стало ясно ебать
Еще там знание гит в требованиях пишут. Много чего на гите написал?
это обертка на удобное обращение по хттп. Считай что просто либа.
Ты передаешь эту функцию в addEventListener, а он вызывает ее, когда происходит клик, и передает в нее объект, где поле target это dom элемент
лол, спецы с опытом сидят без работы из-за обстановки, а тут вкатованы куда-то намылились, всё ок с логическим аппаратом?
В первую очередь от возраста зависит. Возрастной (25+) вкатывальщик - вечный вкатывальщик.
Хуй знает, что там твое апи должно принимать и возвращать и jquery я рот ебал. По идеи такой вариант должен работать, может что-то под твой конкретный случай надо будет подправить.
const loadData = id => $.get('parser.php', id && { id }).done(loadData);
Ну или с логом:
const loadData = id => $.get('parser.php', id && { id }).done(nextElement => {
console.log(`loading 20 elements after ${id}`);
loadData(nextElement);
});
То что языка Ajax не существует, и соответственно написать на нем рекурсию нельзя.
Мы вам перезвоним
function getRecords(uri, records = []) {
return await fetch(uri).then(r=>{
let response= r.json();
records = [...records, ...response.records];
console.log(`Обработано ${records.length} записей`);
if (response.next != null) return getRecords(response.next, records);
return records;
})
}
Если у тебя идеальные знания языка и фреймворков, то вполне можешь устроиться. Только добавь к этому еще знания алгоритмов, структур данных и решение соответствующих задач на литкоде, хотя бы задач уровня Медиум.
Пиздец, проигрываю с инцелов горящих от var. Человек только учится и скорее всего еще не знает английский, тебе какое до него дело, оболтус?
Белому господину не нужна РАБота, потому что он способен получать доход без цепочки хозяев (тимлида, топ менеджера, руководителя организации). Ты угадал, я белый господин.
Горит не от var, а от того, что кто-то ковыряется в говне мамонта, когда есть годные аналоги с обновленной информацией, при этом на русском. И ладно бы он какую-нибудь сишечку учил, в которой 100 лет ничего не менялось, а если и изменилось, то обновить всё это в своей голове можно за пару часов. Он учит самый волатильный язык программирования, который обновляется со скоростью света.
Затем, что у меня есть в этом опыт. Я понимаю, что в силу боязни разрушения своего манямирка, ты подобными вопросами не интересуешься и привык думать, что если ты вкатился 10 лет назад со знанием базового синтаксиса языка, значит и сегодня можно вкатиться также можно. Но в реальности требуют именно того, что я описал. Зайди на hh.ru, зайди на youtube и посмотри примеры собеседований. Блять, да здесь даже Базаровым срали часто, тем самым, который выкладывает записи прохождения собеседований, посмотри их и поймешь требования.
Ммм, и что же такого концептуально нового добавилось в жаваскрипте, что новичок может испортить восприятие языка? Все новые возможности с 2015 года читаются и усваиваются в одной статье за полчаса
Посмотрел несколько вакансий на 30-50к и не нашел никаких алгоритмов и структур. Может какой нибудь кабанчик дурачок наставит умных слов в вакансии, а на собеседовании спросят про жукверик и вордпресс. Мне больше интересно, ты работу на фрилансе нашел показав свой аккаунт на литкоде?
Ну раз ты не нашёл, значит всё так и есть. Не вижу смысла тебе что-то пытаться доказывать, ведь очевидно, что ты как маленький ребенок, пытаешься убежать от реальности путём повторения одного и того же бреда, который никак с реальностью не соотносится.
Бля, уебищный дурачок, я тебе просто привел статистику. Ты не будешь рассказывать как тебя с руками оторвали на работу увидел твой аккаунт на литкоде? Или лучше расскажи с помощью какого алгоритма ты выводишь формочку? Какая структура данных нужна?
ПАМАХИТЕ
Сделал, как написано тут: https://stackoverflow.com/a/50473494 и тут: https://stackoverflow.com/a/46699969
Компонент, на котором пробую соккет: https://pastebin.com/DXQ5y6Ma
Убрал лишнее, что не относится к веб-сокету. Если что надо - напишите, плез.
Пытаюсь скрыть <template> при подключении к веб-сокет серверу, но ключ ws.connected не меняет своё значение - всё время false. Странно, но он должен исчезнуть из видимости.
На скрине false - как раз проверка состояние при отправке.
Т.е. на компоненте не видно хука mounted.
Как поправить мою ситуацию?
Он каким хуем должен исчезнуть из видимости? Если проверка проходит только на этапе монтирования компонента? Сокетами он обмазывается , пиздуй читать по новой первую главу документации по вью https://vuejs.org/v2/guide/instance.html.
Спасибо. Тоже так подумал, но нужно было уточнить.
>выручи
Я бы тебя придушил, но у нас за иакок в тюрячку садят надолго, так что ты как нибудь сам.
Реакт не актуален уже лет пять. Сейчас все программируют на свелте. И уже у всех на слуху новый фреймворк jukverik
Сука, я чуть яблоком не подавился.
Дед, прими таблетки.
Ввел слово жукверик в поиск, а там только мои посты в архиваче. Удобное же слово, почему им никто не пользуется?
Потому что твой жукверик сдох лет 6 назад.
Антивирусы не нужны.
Это выглядит как куча обфусцированного говна, которое надо трассировать.
Хуйня из под коня - ты. А если задаёшься вопросом зачем тс, значит тебе его ещё рано юзать.
И то и другое.
Двачую, тс надо начинать юзать тогда, когда ты будешь кончать каждый раз, когда в консоли будет выскакивать ошибка, что ты что-то куда-то не туда сунул.
Нашёл похожий вопрос: https://stackoverflow.com/a/55685212
Попробовал на App.vue - работает код c хуком mounted.
Из стороннего компонента - не хочет.
Что, вчера мартыханского вдудосили что ли?
Гуглю практики пагинации. Везде и повсюду используется jquery. Хотя здесь из треда в тред говорят, что он не нужен. Если он не нужен, то почему он повсеместно юзается?
Jquery нужно знать, от тебя это будет ожидаться хоть в яндексе хоть у ИП Варганян. Это как уметь водить машину, но только на автомате.
Другой вопрос, НУЖНО ли оно тебе. Если оно уже подрублено на проекте, то почему бы и нет.
А если тебе нужен один слайдер или аккордеон - то можно и без него.
Bootstrap, Material, Antd
Когда попробовал тс назад пути нет, от обычного жс просто блевать тянет. Уже даже сложно представить, как люди без него пишут, это же просто ужас.
Ты интерфейс поста забыл описать перед его объялением, статикодебил.
Хелпуйте, пагни.
Возник вопрос - какой объем этого всего регулярно применяется в работе. Ну например, декораторы и примеси, вы это реально используете?
В ЖС просто тоже дохера всего есть, а в работе для рутинных задач я использую дай бог 30% функционала.
И что из js не используется в реальной работе?
>типы, классы, женерики
Это и используется, + интерфейсы. А если тебе нужны декораторы, то скорее всего в твоей системе есть косяк и ее можно упростить.
Через хуки обвс
боженьке помолись за здравие
Выполняегь скрипты на странице и всё
У меня есть скрипт. Мне нужно в нем получить информацию из этого запроса (ответа). Это возможно сделать (без повторно запроса)? То есть ответ на запрос где-то хранится (и это можно как то посмотреть) или удаляется сразу после получения и использования?
Планирую прорваться в более-менее сносную галеру на джуна, наработать там стаж на практике и свалить на дистанционку к иностранцам (английский с1, поддерживаю уровень с преподом) - к примеру, на апсворк, ибо там совершенно другие бабосы. Друг с хорошим уровнем языка так вкатился из технаря-работяги в GO девелопера и сейчас работает на немцев, хорошо зарабатывая (а еще 3 года назад получал хуй да нихуя вне it).
Подводные камни?
Начал изучать React.js. Судя по описанию, он должен сильно упрощать написание динамического фронта, но пока преимуществ не вижу.
Может мне кто-нибудь объяснить, как правильно его использовать на примере следущей задачи:
- есть главный div, он же root, он же макет. В нём
- - хидер с "добро пожаловать, username" и формой входа/регистрации
- - блок контента
- - - блок с кнопками нравится/не нравится/добавить в избранное
- - блок коментариев
- - - [] блок коментариЯ с кнопкой "нравится"
Типичный сценарий: юзер зашёл, прочитал контент и решил прокоментировать. Вбивает свои логин/пароль в форму, жмёт "войти", ajax-запрос вернул "всё ок".
Вопрос: как теперь из хидера сообщить всем элементам, что авторизация пройдена и id/username? У меня пока три идеи костылей:
1) Дёрнуть setState root'а, и потом по нисходящей. Минус - перерендер всей страницы, чего не очень хочется
2) В "лучших" традициях JQuery перебрать в обработчике ответа от сервера все элементы, которым необходимо знать статус авторизации пользователя. Минус - полностью в ноль убитая идея расчленения кода на набор элементов.
3) Создать где-нибудь переменную user, и в зависимых блоках по таймеру проверять её
По идее, должно быть какое-то правильное, культурное решение, иначе бы на этот react все бы так не молились.
Здесь все вкатывальщики и мимокроки на 40к, а не успешные фрилансеры 300к на подсосе у немцев.
>перерендер
Нет никакого перерендера. Реакт за тебя и решает, что рендерить заново, а что нет, в том и суть.
не поверю, что в треде одни джуны и недомидлы
а сеньоры и в рашке (работая с местными компаниями) могут неплохо получать.
>1) Дёрнуть setState root'а, и потом по нисходящей. Минус - перерендер всей страницы, чего не очень хочется
Это правильное решение. Лучше всего запихать текущего пользователя в контекст, чтобы не прокидывать пропсы через миллион уровней. Остальные решения пиздос, ад и костыли.
> Что еще посоветуете для более успешного вкатывания?
Реакт учить.
План норм, но «совершенно другие бабосы» это не вполне правда (если ты москвич) и постоянку найти будет довольно непросто, особенно на апворке.
Там конкуренция от кабанчиков, которые лет 5-10 хуярят. Мутному вкатывальщику просто места не будет.
Чуть-чуть неверно выразился. Вот мы имеем элемент "блок контента". Он выдёргивает из props'a id страницы или slug, отправляет ajax-запрос, получает простынь до нескольких мегабайт и впихивает её на экран. А ещё добавляет элемент "блок с кнопками нравится/не нравится/добавить в избранное".
Так вот, мне бы не хотелось, чтобы при любом чихе он ломился на сервер. Как ему объяснить, когда нужно ломиться на сервер, а когда просто передать состояние/пропсы дальше по иерархии без велосипедов из костылей?
Ну так не запускай запрос, если контент уже есть.
Ух ты какая красивая, ничего себе. Спасибо
А реакт здесь причем? Он вообще к сетевым запросам отношения не имеет.
Сейчас сделал это https://chat-app-4cc0e.web.app/. Хотя бы уровень первокурсника или все еще оче плохо?
бля мне кажется что в этих компах главное то что пашет и ладно
а если плохо пашет то хуево
школьник/не школьник не имеет значения
какие нахуй страницы SPA тебе если ты банально девтулсами пользоваться не умеешь?
>выбирает фреймворк основываясь на ЗВУЧАНИИ и схожести с JQUERY (что-то плохое?)
>удивляются почему веб макак за людей не считают
что это вообще такое?
> дурачок лезет в тему которую не понимает и закономерно делает неправильные выводы
> истинно верит в то что создание формочек на десктопе чем то отличается от формочек в вебе
Чел)
1. По нажатию клавиши1 вызываю функцию1
2. Функция1 содержит setInterval и вызывает функцию2, которая выполняется, до определённого условия.
Как сделать так, чтобы по еще одному нажатию клавиши1 запустился параллельный процесс с функция1 и функция2? Предполагается множество таких параллельных процессов.
Нажми еще раз на клавишу
В JS не бывает параллельных процессов, это однопоточный язык.
В чем конкретно сложность у тебя? Что за процесс? Что значит «функция выполняется до определенного уровня»?
Ебать, что-то я совсем запутался, как отослать обычный (не асинхронный) запрос некому url на жаваскрипте?
Он ассинхронный.
Синхронные запросы в main треде deprecated и выпилены. Можно послать из воркера.
Ну и подскажи, как с помощью девтулза могу получить инфу для моего скрипта?
await
Ну это стрелялка, я пуляю снаряд, он летит, а когда я пуляю еще один снаряд, запускается все по новой, а старое останавливается.
http://pastie.org/p/15vkojrqUqFKRwqB5YFWpp
takeShot() вызывается нажатием клавиши.
Не, я из миллионника, но не ДС-ДС2.
По поводу постоянок пока не сильно волнуюсь - подойдут даже временные проекты. Их же по сути можно потом показать следующим нанимателям, мотивируя повышение ставки, ведь так?
>>740726
Так там и предложений много, на разные ставки. Я ж не стану сразу же 20+ в час просить. Для начала подпишусь на проект-другой попроще.
олсо, реакт уменя дальше по курсу. я бы хотел скакнуть сразу к нему, но там куча определений, терминов и прочего из предыдущих тем, так что решил не гнать впереди паровоза.
Ну так ты новый элемент создавай, когда стреляешь, и его в интервале изменяй.
Орнул с дауна. Просто пример для тебя.
Недавно в телеговском канале моей мухосрани (на 1к челиков) ебанули опрос, повлияли ли на их работу КОРОНОВИРУСЫ. То ли 8, то ли 9 челов ответили, что потеряли работу. Из тысячи.
>Експресс звучит как жукверик
Лолвут? Ничего общего к него с жиквери. Он самый популярный и один из самых удобных. Для маленького и среднего приложения экспресс, для большого нест.
Ну лол, кто же игры пишет на setInterval? Иди кури что такое game loop.
Плеб плз, твоя выборка в 9 проголосовавших в телеге занюханной мухосрани куда репрезентативнее чем мониторинг статистики hh/habr и тем паче моя инфа от знакомых хрюшек и коллег. Уходи в отрицании дальше, с таким логическим аппаратом ты бы и 10 лет назад не вкатился, когда брали за знание расшифровки html.
Давай пруфы или не открывай рот, ок да?
Найс играешь))0
Оборачивай его в промис.
https://jsfiddle.net/8ohq6p2x/
мне что, менять flex-direction и делать через align-self? Просто в моём понимании justify-content должен был сработать на обе строки и раскидать их.
У контейнера ширина 400, а у элементов в нем 500, ты поставил flex-wrap, вот он и переносит.
так мне и нужно, чтоб переносил. Иначе как сделать колонку слева и две строки друг под другом справа.
>Сейм. Не всё потеряно, если ты не долбоеб.
> погуглил и автобус эвентов это похоже что-то модное из фреймворков, а я на чистом жс пишу
Как за две строчки обосраться и не подать виду
Не ну а шо? Я не в модной, обмазанной фреймворками конторе работаю - там бы всех устроило, если б я тупо жквери подключил, но я для развития на жс ебошу всё. Дома вуе учу понемногу, потом съебу на него или на реакт. Не всё ж сразу делается, у меня опыта всего ничего. Я вообще сначала ванную эвентов гуглил...
Раз уж забежал, может кто пожалуйста посоветовать годный гайд на слайдер через sass?
Да ладно, с помощью MutationObserver как-то делается.
Ебать диванный.Знаю одного вкатывальщика, начал в 30 с нихуя, сейчас 35 и он уже метит в бэкенд нодежс сениоры в говнофирме на 50 человек.
Вкатывальщики, конечно, в целом уже заебали. Но возраст особого значения не имеет.
Блядь, стоило только высраться ИТТ, как сразу удалось найти. Вопрос снят.
Достаточно обернуть router-view с уникальным ключём в <keep-alive> тэг.
redux saga
Про себя.
Окей. В 35 он будет йоба синиором 100к/мес. Лет до 45 сможет посидеть на каком-нибудь легаси jquery, а дальше пиздос. Можешь погуглить на тему поисков работы погромистом в 40-45+. Если бы он на электрика отучился, получал бы столько же, только работать бы мог до 70 лет
> Сам-то чё на электрика не выучился?
На дваче сказали что если HTML выучу буду получать 100к в месяц
Боюсь что током ебнет
Удалил месяц назад в ярости
В тебе сидит дух кабанчика. В каком городе живешь?
все так и есть. Респект, за 2 месяца. Тут додики алгоритмы дрочат годами и сортировки, а кто то с подветренной залетает и начинает зарабатывать звездочки
Так не с нуля, наверняка на пыхе уже кодил, сайты верстал уже давно.
Так я юр фак ВШЭ закончил. Начал погромировать на html чуть больше года назад. Сейчас получаю почти 200к дс. Вот только у большинства вкатышей нет нормального бэкграунда и понимания как надо учиться. Мне кажется, большинство даже английский не знает на нормальном уровне. Как бы если для тебя в 30+ лет, 100к это большие деньги, тебе вот прям совсем не стоит вкатываться. Чтобы ты понимал, у меня бывший одноклассник сдал ЕГЭ на 50 баллов по всем предметам и поступил на военного инженера на целевое. 5 лет бухал, покупал зачеты по матану за рыболовную сетку. Сейчас лейтенант ракетных войск в каких-то ебенях. Получает 60к+ обеспечение жильем и едой. То есть даже человек с мозгами шимпанзе, который вообще ничего не делает имеет почти сотку. Такие дела.
Ты так и не ответил на вопрос, почему в электрики не вкатился.
Во бля, хотел сделать синхронный запрос к серверу и получил:
Synchronous XMLHttpRequest outside of workers is in the process of being removed from the web platform as it has detrimental effects to the end user’s experience
Запрос весьма прост был:
let xhr = new XMLHttpRequest();
xhr.open('POST', '/workouts/del-test/', false);
И как мне отослать синхронный запрос тогда? (он должен быть синхронным потому что обязан получить ResponseRedirect от сервера и перейти по нему)
>Начал погромировать на html
>HTML
>чуть больше года назад
>получаю почти 200к
>200k
ты думаешь тут сидят такие же долбоебы, как и ты, чтобы верить этой хуйне?
Как тогда сформировать запрос, чтобы в ответ получить HTTPRedirect и перейти по нему?
Ну тогда скажи какие есть альтернативы? У жиквери есть альтернативы в виде вуя и рякта. У экспресса альтернативы только ему подобные
У них каникулы де-факто начались в марте. К тому же большинство заведений в городах (ДС/ДС2) закрыто, так они раньше могли в макдаке собираться или в ТЦ и тупить там, а сейчас сидят по домам и уже конкретно охуевают от безделья
Попроси сервер отдать урл, по которому перейти надо и перейди сам.
Можешь из респонса прочитать responseUrl (там будет уже урл после редиректа, т.е. тот что тебе нужен) и перейти сам.
Да нормально ебаный ты в рот. Можешь на жукверике все это написать
Я его упомянул, что он больше для больших проектов. В средние и мелкие хз зачем целый нест тянуть
Вы показали свой гитхаб, у вас просмотрели весь ваш код,
После этого, вам выслали тестовое задание, вы его сделали и вас пригласили на собеседование.
На собеседовании вас просили закодировать какой-нибудь алгоритм/задачу на листке
Потом вас спрашивали об вашем опыте работе вообщем
Это так происходит все?
Откликнулся на вакансию тестировщика. Пригласили на собес. Руководителем тестировочного отдела оказалась такая хабалистая нервная тётка, которой провалил собес, попутно сказал, что собираюсь во фронт вкатываться, позвала тимлида фронтировочного отдела, до моего прихода распечатали резюме, где хуй да нихуя, кроме двух макетов сворованных с HTML Академии, посмотрел сказал пойдёт, через пару дней позвонили сказали приходи на испытательный. Пришёл, посмотрел, что там на битриксе клепают однотипные магазинчики и со мной там некому и некогда няньчиться и свалил через три недели. У меня до этого всего год перерыва был, за который всё забыть успел, может быть и остался бы там, но если бы было норм собеседование с тестовым, то скорее всего провалил бы, так то кое-что знаю конечно, но практического опыта конечно не хватает, долго всё делаю.
Блин тут такие вопросы капец, а я ещё про MEWN спрашиваю, лол, или все адекваты спят сейчас?
Ну если у тебя статика без задней мысли заливаешь на сервак и всё, у тебя index.html должен в корне лежать, а остальное по папкам - scripts, styles и т.д. В идеале должен быть один файл скрипта и один файл стилей, которые собраны из нескольких и минимизированы и вендорные префиксы расставлены в стилях.
Как пофиксить эту хуйню? В настройках раутинга прописать что то?
На данный момент, у меня вот так:
<Route path="/Recover">
Вот дефолтный линк с токеном:
PIoyemailANUS
Сори за эту простыню в посте. Если присмотреться, то валидация происходит по критерию:
Между ' ' - имейл токена, все что после - сам токен, в котором взглядом насчитал 4 слэша. Как итог - пика.
Прошу помощи.
Да бля не понимаю почему нет нормального сервака с интерфейсом чтоб скинуть туда файлы, вбить команду типо serv deploy и вся хуйня начнет работать. Какие-то блять еще конфигурации nginx, бекенд ебучий, нахуя это все в 2020? Бог дал человеку Жаваскрипт, пользуйся не хочу, с хуя ли эти пережитки прошлого до сих пор существуют
npx vercel
В одном старом вопросе советовали юзать sleep из-под коробки но внезапно нихуя это не работает: ReferenceError: sleep is not defined
setTimeOut. Блин, чувак - это гуглиться за 5 секунд
Вот этим пользовался
https://firebase.google.com/
Тут есть по нему видосы https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg
Бамп вопросу
>Ебать, как же заебало: ищу обычную функцию sleep в жс чтобы заблокировать время исполнения скрипта на определенное кол-во секунд.
Ты в курсе, что такая функция вешала бы браузер на время своего действия? Юзай промисы и не выёбывайся.
18 минут, 45 секунд
Ты за то время, пока ждал ответа, уже мог бы разобраться до уровня как сделать это самому.
Анон ты че рофлишь чтоль. Некст это надстройка над реактом, делая проект на нексте ты в том числе делаешь его на реакте
Обращаться напрямую к базе с фронтенда это немного кринж, надо обращаться к апи которое само уже обратиться к базе. Да и держать фронт и апи в одном месте тоже так себе идея
В смысле нет? Выдача статики через базовый веб-сервер есть примерно везде — гитхаб, хероку, авс и т.д.
Всегда поражался тому, что асинхронная парадигма вызывает столько боли у людей. Она же простая как пять пальцев.
Проиграл чето с этого чмошника. Ты тут со своим мевном еще кринжовее выглядишь, дурачок
Если друг работает 4 часа в день за 15к, а ты собираешься работать 8, то... С математикой все в порядке? Я конечно не пытаюсь ничего наговорить, но меня один раз после тестового не взяли, так что ты не летай в небесах, а готовься к следующему собесу
Потому что она сработает не через 1000 секунд, а минимум через 1000. Всегда лучше привязывать к конкретному событию (onload, inanimationend и тд)
Не сказать что твой вопрос сильно умнее. MEVN это абсолютно синтетическое понятие. Как вообще Вью связан с экспрессом? Как нода связана с монгой? Да никак блять, фронт, бэк и БД это три отдельные вещи.
>даст мне этот стек такую возможность
Да. Еще даст возможность весело поебаться с деплоем всего этого на прод.
>можно через getServerSideProps напрямую к дб обращаться
Кулстори, конечно. А если надо после рендеринга что-то в базе сделать или полчить?
Проси среднюю для Джуна по твоему городу + 20%. Вот поверь разницы между взять тем, чтобы взять человека, который понравился на 400$ или 800-1000$ нет никакой. Тебе в любом случае будет их платить не тот человек, который собеседует. А вот если ты будешь просить ниже рынка, это покажется странным. В первую очередь потому, что это будет означать, что ты идешь работать, чтобы получить опыт и съебаться. То есть на тебя потратят время, силы, а ты через 3 месяца уйдешь и придется нового человека искать. В то что ты всю жизнь мечтал работать в веб студии Увасяна.веб никто особо не поверит. То есть мотивацией могут быть только деньги. Да, можешь залить куда-нибудь тестовое и мы тебе кодревью сделаем. Хотя бы будешь знать слабые места и что нужно доучить
Я сделал на подобие вот этого:
https://learnwebsitedesign.com/tutorials/javascript-stopwatch-code-tutorial.php
Только вот здесь как и везде описывается одиночный таймер, а как мне запускать один таймер после другого, чтобы при этом клавиши pause и reset работали как надо?
Когда говорю "таймер" подразумеваю канешн обратный отсчет - к нулю. В примере что скинут сделан секундомер, но это не важно
Он просто проигрывает анимацию, как именно он поможет запускать таймеры один после другого и корректно отвечать на pause/reset?
>Он просто проигрывает анимацию
А теперь иди на MDN и читай что requestAnimationFrame делает.
>В то что ты всю жизнь мечтал работать в веб студии Увасяна.веб никто особо не поверит.
Ты недооцениваешь эго владельцев Увасянянов.
Ну дебил тупорылый, привяжи мне задержку отправки запросов к какому либо событию. И чем твоя привязка отличаться будет, точно задержки в 1 секунду ты всё равно не добьешься, всегда будет приблизительно 1 секунда.
Используй clearTimeout, сохранив id таймеров после их запуска. Вообще у тебя слишком абстрактное описание залачи и не понятно что именно у тебя вызвало сложность.
Да я в принципе уже сейчас понимаю слабые стороны своего тестового, неделю назад его делал, последнюю неделю норм так подтянул знания, ваще хз, как они его приняли, но значит меньше от меня ожидают, чем сейчас знаю, так что збс. А на кодревью скину лучше скину отрефакторенную версию тестового, как доделаю.)
>Делает задержку перед запросом через тайм-аут в 2020 году
>Название кого-то дебилом.
С тобой все ясно
Чтобы без зависимостей был и хуйни всякой. Просто подключил, просто взял css фреймворк, просто напердолил собственный лазисерч и нормальный календарик. Просто чтобы.
Зумер, плиз
Проблемы с каким-то васянским демоном написанным криво косо, завернутым в докер => виновата нода. Ты долбоеб?
Реакт нинужон.
>>742364
В общем, пишу себе свой таймер. Вроде как уже близок к цели, на моменте финального тест всплывает ошибка:
TypeError: this.decrement is not a function
Вот кусок кода той функции, которая выполняет операции счета внутри объекта Timer:
https://ideone.com/LNQeqZ
ideone еще на какие-то ошибки синтаксиса пиздит, которых нет
Он же здоровый пиздец нахуй какой.
Реакт-господа, есть ли существенная разница между написанием стилей в .css файле и в самом .js компоненте? Что будет более правильным?
Блэт, не врубаю, у чувака с пикрила такая же функция (только это increment а не decrement), все работает, сам тестил
Почему когда я засунул свою функцию внутрь глобального объекта Timer как метод this.decrement, все по пизде пошло?
console.log(this.decrement) внутри тела this.decrement выдает конечно же undefined. С хуя ли? В Рубях или в Питоне все нормально бы сработало. Как мне рекурсивно вызвать одну функцию внутри другой, если вышеупомянутым способом жс ее "не видит"? пойду пожру что ли, заебался
Как вы создаёте сниппеты для реакт компонентов в vscode? Заебался бойлерплейт писать. Хочу чтоб надал кнопочку и "ВЖУХ" создался файл с компонентом, файл со стилями и папочка types рядом с типами пропсов.
>>742536
Потому что this в контексте функции будет означать объект-функцию, которым и является эта функция. Т. е. он пытается вызвать this.decrement.decrement, а не this.decrement. Для того чтобы захватить уже существующий контекст, используй стрелочную функцию, написав вместо "function() {" ()=> {...говнокод}
Значение this будет зависеть от контекста вызова функции, в данном случае глобальным. Можешь заменить ее на стрелочную, тогда контекст будет привязан к месте создания. Но нахуя это ты вообще используешь this, если ты не понимаешь как он работает? В чем проблема с обычными переменными?
Алсо твои рекурсивные setTimeout очень быстро накопят ошибку. Особенно если на другую вкладку переключиться.
И spectre.css, да, там заебись китаец сделол, рекомендую для костыльщиков.
>>742430 - костылянт
Назови практический пример, когда тебе надо отправить запрос через секунду, а не после какого-то события.
1. Как вы проверяете, есть ли уже в иерархии тип с таким же именем? У меня привычка в кемл кейсе делать наименование элементов типо errorMsg, а потом проебываться меняя то там, то там, пока не пойму, что наименование одно, а элементов > 1;
2. Вы делаете один файл стилей или дробите? Я всегда дроблю, чтобы не делать помойки, но судя по моему первому вопросу - она была бы даже профитней. Прочекал наименование в файле стилей, если его нет, то можно с ним работать.
Спасибо
>>742553
Я таки написал свое говно. В принципе работает. Забил хуй на ООП-парадигму
Но что насчет setTimeout? Что они там накопят? Как по-другому тогда мутить?
вот это говно: https://ideone.com/z5aEt4
объект timings с количеством секунд внутри будет формироваться после get-запроса к бэку
Очевидный дебаунс запросов при автодополнении, например.
Ух бля, ну и лапша. Еще и с var. Учил язык по книгам нулевых?
>Но что насчет setTimeout? Что они там накопят? Как по-другому тогда мутить?
https://stackoverflow.com/questions/29971898/how-to-create-an-accurate-timer-in-javascript
Да хуй знает. Нехороший запах протухшей сои от него исходит.
От риота тоже исходит, впрочем, подольше посмотрел. Уже как-то не хочется использовать его. Бля, ебучий фронтэнд.
Я на рубях и питоне пишу, я "учу" жаваскрипт на коленке чтобы фастом решить несколько проблем, вот и все, я никуда не вкатываюсь
var тут нужны, чтобы засрать глобальный скоуп, но это делается ради благого дела (или по крайней мере пытаюсь так себя оправдать)
Это вопрос стайлгайда проекта над которым ты работаешь.
А при чем здесь вью и экспресс, вью - фронт, экспресс - бэк, связан с нодой наверное, или толстишь, или пошёл нахуй.
почему? лучше спросить, как хеллоу ворлд написать?
Во-первых в .js медленнее, во-вторых заебёшься потом дебажить верстку бегая по всему коду.
Пользуюсь бэм-блоками, в связке с scss идеально всё, каждый блок в своём файле
Стили отдельного блока - в свой файл, если нужно разместить его относительно чего-то, прописываю в компоненте через каскад.
CSS модули?
Inline CSS через style?
Css-in-js? Какая либа? Где меньше оверхэд?
1920x1080, 0:41
Мда, вот посмотри видео и скажи, кто тебе мешал сделать также, по-человечески?
Из-за таких как ты JS-разработчиков и не уважают, как и сам JS.
Ты если не в курсе, то весь жс измазан в сое. Так что тебе только на другой раССово чистый язык перекатываться, но при этом не энтерпрайзный и не Go.
Ваши советы мне отчасти помогли.
Возможно, я ещё обращусь. Пожалуйста, уделите мне немного своего времени и впредь.
Законнектил веб-сокет клиент и сервер. Теперь дело за обработкой сообщений на обоих концах. Ещё надо дожать размер, но там кутерьма с плагинами и настройками.
мимо-чувак-с-махарайкой-на-esp32-и-vuetify
Звучит разумнее всего, спасибо
Нот бэд. Только нужна была цепочка таймеров с обратным отсчетом
Сайтики-то тоже хочется нужно для всякого говна делать.
На мифриле сидит какой-то изя https://www.isiahmeadows.com/showcase/, пропсы в стримы переписывает и ищет агентов КПК у себя под кроватью через твитор.
Бля мне просто стыдно с такими людьми хоть как-то взаимодействовать.
Puppeteer, Playwright. У первого парашные доки, второй вроде как помедленее
Думаю взять какой нибудь html шаблон и к нему попробовать прикручивать что-то, но может есть лучше идеи.
Нужно грабить формы, которые могут формироваться динамечески.
То есть надо открыть урл, чуть подождать и забрать готовый хтмл.
Ты можешь грабить формы прямо из js. Нужно по кейсу смотреть конкретному. Наиболее простое решение с минимум мозгов - хедлес хром.
Грабление уже готово, надо просто заменить фантомжс на что-то актуальное.
Буду смотреть хром тогда.
Это не конкретный сайт, а присылаемый любой урл.
Пробегаешься по всем HTML5 тегам и пихаешь их все в один документ, с соблюдением спецификаций и семантических требований (по возможности). У каждого нового тэга проставляешь все специфичные для него свойства. Можно какой-нибудь один дженерик тег типа дива (или даже целую секцию под такие дивы) выделить под общие свойства, всё равно потом его будешь жёстко насиловать стилями.
Обязательно создай форму со ВСЕМИ типами инпутов и специфическими для них свойствами.
К любому свойству, в котором есть полная несовместимость с каким-либо браузером, добавляешь камент об этой несовместимости.
Потом подрубаешь SCSS к своему проекту и делаешь то же самое но с CSS-правилами. Без SCSS будет сложновато следить за стилями твоего поделия, плюс он легко позволяет разделять на логические блоки даже один файл, без него придётся проставлять классы и айдишники на каждый пук.
Обязательно в вышеназванные дивы напихай бэкграундов, границ, аутлайнов, транзишенов, анимаций, кучу выплывающего за границы текста, картинок, ссылок, теней, псевдо-классов и псевдо-элементов.
Как только совладаешь с результатами такой вёрстки, переходи на следующую стадию, которая зависит от твоих познаний ЖС.
Если знаешь чуть более чем нихуя, то открывай Кантора или туториал в каком-нибудь MDN и учи синтаксис. Если же синтаксис знаешь, то переходи к DOM'у, а точнее к хуевой туче событий в нём и постарайся хотя бы один экземпляр каждого события как-нибудь прилепить и задействовать в твоём документе. Обязательно весь этот код писать в одном отдельном .js файле. Это скорее всего займёт дохуя времени относительно предыдущих этапов, но когда всё таки его пересилишь, следующая стадия - создание портфолио сайта на фреймворке жиэса.
Так как ты прошёл по всем тегам, свойствам и событиям документа, то теперь не будет проблём создать "скелет" сайта с нуля, впрочем свой обрубок не удаляй, но и на публичное обозрение не выставляй. Это будет что-то типа твоего личного референса, который ты ещё и по документации создал. На этой стадии как раз и будешь модные штучки изучать типа фреймворка, вебпука, гита, npm, ES6 модулей и прочий зоопарк технологий.
Пробегаешься по всем HTML5 тегам и пихаешь их все в один документ, с соблюдением спецификаций и семантических требований (по возможности). У каждого нового тэга проставляешь все специфичные для него свойства. Можно какой-нибудь один дженерик тег типа дива (или даже целую секцию под такие дивы) выделить под общие свойства, всё равно потом его будешь жёстко насиловать стилями.
Обязательно создай форму со ВСЕМИ типами инпутов и специфическими для них свойствами.
К любому свойству, в котором есть полная несовместимость с каким-либо браузером, добавляешь камент об этой несовместимости.
Потом подрубаешь SCSS к своему проекту и делаешь то же самое но с CSS-правилами. Без SCSS будет сложновато следить за стилями твоего поделия, плюс он легко позволяет разделять на логические блоки даже один файл, без него придётся проставлять классы и айдишники на каждый пук.
Обязательно в вышеназванные дивы напихай бэкграундов, границ, аутлайнов, транзишенов, анимаций, кучу выплывающего за границы текста, картинок, ссылок, теней, псевдо-классов и псевдо-элементов.
Как только совладаешь с результатами такой вёрстки, переходи на следующую стадию, которая зависит от твоих познаний ЖС.
Если знаешь чуть более чем нихуя, то открывай Кантора или туториал в каком-нибудь MDN и учи синтаксис. Если же синтаксис знаешь, то переходи к DOM'у, а точнее к хуевой туче событий в нём и постарайся хотя бы один экземпляр каждого события как-нибудь прилепить и задействовать в твоём документе. Обязательно весь этот код писать в одном отдельном .js файле. Это скорее всего займёт дохуя времени относительно предыдущих этапов, но когда всё таки его пересилишь, следующая стадия - создание портфолио сайта на фреймворке жиэса.
Так как ты прошёл по всем тегам, свойствам и событиям документа, то теперь не будет проблём создать "скелет" сайта с нуля, впрочем свой обрубок не удаляй, но и на публичное обозрение не выставляй. Это будет что-то типа твоего личного референса, который ты ещё и по документации создал. На этой стадии как раз и будешь модные штучки изучать типа фреймворка, вебпука, гита, npm, ES6 модулей и прочий зоопарк технологий.
Ты молодец, конечно, про async/await знаешь, но setTimeout все равно будет накапливать ошибку, так что твой таймер тоже говно.
Мы и не для ядерного реактора код пишем.
Как не накапливать ошибку показали выше по ссылке на SO. И дело не в использовании setTimeout, а в отсутствии валидации данных.
Пока еще не открывал их, но уже страшно.
Там очень сложно будет, мне пиздец? Меня почему-то одни лишь слова пугают
VS Code
>Меня почему-то одни лишь слова пугают
С бабелем-то понятно, это отсылка к мифическому древнему гигахрущу как-никак.
Потому что признак клиповости мышления, которое ты еще и взращиваешь, вместо борьбы с ним.
Хуйня на постном масле. Каждый осваивает информацию как ему удобнее. Я по ебучим книгам вообще не мог нормально ничего учить, хотя пытался с 16 лет. А как появились обучающие видосы — вкатился. Сейчас синьор-помидор.
Ага, у меня таких осваивальщиков пол отдела вон сидит, для которых мануалы темный лес и сложно. Они просто неприспособлены для работы с ними, потому что не умеют читать.
Двачую этого. Вообще ничего не читал кроме мемов, стака, апи, доков и примеров, и вкатился. Проблем никаких.
Так ничего кроме доков читать и не надо. Дело в том, что они не могут читать доки. И идут смотреть вместо этого ютубчик.
То есть ты сам нанял некомпетентных людей слабее себя, а виноваты в этом видеоуроки?
В смысле, а как узнать о какой-то функции или апи вызове без доков? Не ну это уже слишком.
А как у тебя выстроятся ассоциативные связи, для составления хотя бы ключевых слов, для поиска иноформации, если у тебя все обучение по видосам с ютуба.
Полотдела джунов без опыта? Охуенная контора, бро. Удачи там в делах и все такое.
Думаю, умение гуглить, составлять вопрос и формализировать проблему, это уже отдельное умение, с чтением доков/видосами никак не связанное.
Node или react.native?
где меньше головняка?
react native это же как реакт, только хуже
Чтоп ты сдох
Перед тем, как задавать вопрос - нашел решение с указанием размеров в vh, vw - чтобы вместе с окном уменьшались и элементы. Нужны вообщем best practice. Спасибо
Бест практис - делать по адаптивной сетке а-ля бутстрап с mobile-first подходом (делаешь под мобилы, а под десктоп дополнительными правилами расширяешь)
1) Насколько в 2к20 хорош адаптивный дизайн, когда под PC и под mobile делаются две разные страницы? Как это делать в на чистом JS без фреймворкоу?
2) Насколько CSS-only анимация производительней этой же хуйни на js, и если не насколько, то нахуя?
>я делал по гридам material-ui
Так гриды же говно, не приспособленное для мобилок. Надо было хуярить на флексах.
Вот гандон ебаный
1) Адаптивный дизайн - это не две(или больше) разные страницы. Это одна страница, которая адаптируется под разные условия (размеры экрана\окна\разрешения\dpi\etc). Делается это на чистом css в идеале (читай про media-queries).
2) На овердохуя. CSS анимация выполняется на GPU и в большинстве ее кадры вычеслены заранее. Анимации с помощью JS выполняются на CPU и вычисления происходят каждый раз. Все анимации, которые ты можешь реализовать в css надо реализовывать в css. И даже те, что не можешь, все равно реализоввывать в css. На js реализуется только то, что интерактивно. При этом то, что интерактивно меняет визуальное оформление -в идеале должно лишь жонглировать заранее заготовленными css классами.
Вопросы странные. И первый и второй про визуаьный стиль. Все, что касается визуального стиля - должно быть максимально быть реализовано на css. JS только для логики. В идеале - на js только бизнес логика.
Запоминать не надо. Надо знать, где и что искать. Иметь представление о возможностях, чтобы не тянуть на каждый чих васянский полифил isArray, или jQyery потому что не знаешь, что браузер и сам так умеет.
Документацию читать нормально. Гулить нормально.
Не нормально если в рабочем процессе возникают такие вопросы, ответ на который ты найти не можешь и идешь задавать вопросы на SO\форумы\двач. Таких вопросов уже нет, и это будет значить только то, что ты ленишься искать или неосиливаешь этот самый поиск, потому что не знаешь что искать, что равноценно. Вопросы, которые нельзя найти могут возникать только о новых вчеравышедших фреймворках\технологиях и то, чрезвычайно редко. Такие вещи не используются в проде, так что аналогично. Во время работы задавать вопросы в интернетике - показатель твоей некомпетенции. А искать ответы - доки\гугл - это нормально.
> CSS анимация выполняется на GPU и в большинстве ее кадры вычеслены заранее.
> Анимации с помощью JS выполняются на CPU и вычисления происходят каждый раз
Шиза и бред.
я не так плотно работал с вебом, особенно со стилизацией, так что не в теме, но спасибо
> 1) Адаптивный дизайн - это не две(или больше) разные страницы.
Я думал responsive это когда у тебя сайт по медиазапросам меняется в зависимости от размера окошка, а adaptive это когда у тебя два разных дезайна, один для мубилки, один для кудахтера.
Меня как раз второй варик интересует. Мне хочется сделать mobile first дизайн.
2) А почему при в JS не используется GPU? Чё мешает-то?(
>На овердохуя. CSS анимация выполняется на GPU и в большинстве ее кадры вычеслены заранее. Анимации с помощью JS выполняются на CPU и вычисления происходят каждый раз.
Почему ты так решил? В конечном счете JS тоже меняет стили чтобы собсна произвести анимацию. Просто можно сделать ее нормально, а можно косоебо — триггеря огромные репейнты каждый кадр, а в особо тяжелых случаях еще и перестроение лейаута.
У меня есть нужный .wav файл, мучу clingSound = new Audio("signal.wav"), а в консоли сказано "не удалось декодировать медиаресурс". Что ему не понравилось и как задать нужную кодировку?
Бля я ебу чтоли, ну почитай ты какие кодеки бразуер поддержвает, че бесхребетный такой? Сюда заходят чтобы показать че ты там накарякал, а не с тупорылыми вопросами
Есть одна форма состоящая из поля и кнопки, при нажатии на кнопку на бэк отсыылается Аякс-реквест, в ответ приходят вот такие вот поля - пикрил №1.
Опытным путем выяснил что под ключом `ct` находится зашифрованная строка, AES хуйня применяется.
Дальше начались поиски ключа для дешифровки.
Т.к. больше никаких запросов на бэк не ходит, думаю что этот ключ для дешифровки присылается в при открытии сайта и получении кукесов и прочей инфы. Пикрил №3 и №4.
Опытным путем вычислил, что ключ секретный - `cp` пикрил, но вот место где эта переменная инициализируется и откуда появляется так и не нашел. Пикрил №2.
Собственно вопрос к знатокам - куда глядеть, как найти этот ключ?
> Ты чем там занимаешься?
Пытаюсь понять как эта хуйня работает и распарсить ответ сервера что быы использовать данные из него.
> написал куда надо
Лучше сюда отпиши свои мысли насчет решения проблемы, няш.
Из твоей каши так и не понятно в чём проблема.
Отсылается и приходят, что дальше то? Какой результат тебе нужен, сука, что ты там нахуевертил никого не ебёт. Пишешь:
Вот есть форма, нужно её отправить и получить такой-то результат, но я не могу, потому что ...
И дальше описание проблемы, а не потока твоего больного сознания.
Могу только сказать, что любой запрос со страницы можно отследить, также как и отследить из какого скрипта на страницы он отправляется и каким скриптом обрабатывается ответ на этот запрос. Этого достаточно для того чтобы программно повторить такой же запрос. Проблемы могут возникнуть только тогда, когда в запросе шифруются какие-либо данные со страницы, данные о расположении элементов, данные о браузере и т. д., но и это тоже всё решается изучением исходного кода.
Аниматор, ты? Узнал тебя по твоему рендеру на CPU. Помнишь как на коворке тебе в стакан с соей нассали, а ты облизнулся и попросил неоплачиваемые оверворки? Потом тебя подвозил твой отец на велосипеде, который на GPU таблицу рендерил, словил оверстак на 400мс и его уволили.
function.caller
> Вот есть форма, нужно её отправить и получить такой-то результат, но я не могу, потому что ...
Вот есть форма, я ее отправил, получил результат пик №1.
Этот результат - ЖСОН который содержит зашифрованный ответ сервера, где-то в ЖС коде этот ответ дешифруется.
Я нашел место где происходит дешифрация пик №2.
Я не могу воспроизвести дешифрацию самостоятельно т.к. мне не хватает секретного ключа и я никак не могу его найти.
Собственно вопрос: как этот ключ найти, какие есть варианты и способы поиска?
в голос
Вот так сразу бы и написал.
В коде ищешь эту переменную cp, либо вставляешь в скрипт console.log(cp) перед совершением запроса, кликаешь на отправку формы и смотришь значение этой переменной.
массив из \x64\x65 и подобных, это массив из символов юникод (можешь в консоль браузера их скопировать и увидишь, что получется обычная читаемая строка).Можешь скопировать весь скрипт в файл и заменить в нём все эти строки с юникодом на обычные строки (для этого скрипт придётся писать и делать это на node.js или чём-то другом, способном работать с файлами), код станет более понятным.
>массив из \x64\x65
Спасибо, с этим уже разобрался.
> В коде ищешь эту переменную cp
Искал в том скрипте что юзает ее - нигде нет, только в этих массивах юзается. Думал поискать еще и в других скриптах.
> либо вставляешь в скрипт console.log(cp) перед совершением запроса, кликаешь на отправку формы и смотришь значение этой переменной.
Окей, попробую, спасибо.
Я с ЖСом не работал никогда, пришел к вам из питон-треда.
Такого не может быть, чтобы этой переменной нигде в коде не было, но она использовалась в массиве. Ищи лучше.
Да. Интересует разработка не в одного а с посанами из интернетов, кого легче найти толкового джуна React'ера же?
Реакт-то здесь причем?
Пчел, нахуя тебе кто-то левый? Ты почитай тред и поймешь насколько дохуя вкатышей сейчас и насколько они не очень, выгоды от коллаба с такими ты точно не получишь, только разжёвывать а латать пиздецомы за ним. Бери сам вьюху и хуярь, сделана для людей и проще реакта, при одинаковом функционале, выбор очевиден.
мимо вью бог
Ну вот так.
В общем и целом почти победа, хотя бы в ручном режиме смог найти ключ и расшифровать данные.
Теперь осталось понять логику и переписать все красиво.
Спасибо анонам.
Нужны замуты с вебсокетами. Либо с вебртс. Это серьезная хуевина так-то, сетевая часть. Байты компоновать.
Я сам игру пишу
Можно подробнее? Первое что пришло в голову это просто получать координаты объектов через сервер и каждый раз создавать новый объект в новом месте, но звучит пиздец затратно
>>742817
Захуярь кликер со всеми стандартными функциями по-максимуму. Это легко и даст понимание.
Ну удачи по такой логике от руки на ванилле хуярить реактивные "компоненты"
>Я правильно понимаю, что фреймворк по задумке необходим для больших проектов, а не для повсеместно го использования, а в мелких проектах всё можно и нужно? реализовать на ванилле?
Нет, можёшь хоть лендинг на реакте хуячить.
Гуглируй епты блядь. Туторов полно.
По сокетам дохуя статей, по вбртц даже есть парочка.
https://habr.com/ru/post/302394/ Вот для начала статьи, поймешь примерн че как.
Алсо, хз что за игра, может вебсокеты и вебртц нинужны будут. Алсо2, там вроде udp в хром пытались вставить. Ты сейчас не поймешь, но потом кааак поймешь!
Возьми какой-нибудь микрофреймворк, а не реакт. Sinuous, например. Но там ошибки будут наверн.
https://www.npmjs.com/package/vue-faker
Чтобы сымитировать реальный сервер прогоняешь через промис с рандомной задержкой.
Уже запускаю deno и всё нах, я поехал, кручу педали.
гонщик
Тебе не нужно знать ноду. Нужно знать deno, новый стандарт корпоративной разработки. Там знать кста нихуя не надо.
И вообще знать нужно стэк разработки. БД, фреймворки, серверные фреймворки, либы.
А еще не забывай что на сервере жс вытесняется асп.кором, сишарп который. Подумой трижды. А лучше пару дрисятков раз. На клиенте кста тоже сишарп наступает, жсу пизда.
Мой вопрос в следующем, я решил руками залезть в код этого примера и провести эксперимент. Правильно ли я понял этот пример. Подскажите, что я понял не так?
Вот я решил этот пример для интереса исправить и в скобках внутри самовызывающейся функции я добавил var a =3; Я думал, что console.log в таком случае выдаст 3. Но ИРЛ console.log выдал 2. Результат приведен на втором пике. СКАЖИТЕ, ПОЖАЛУЙСТА, ПОЧЕМУ ТАК ПОЛУЧИЛОСЬ, ПОЧЕМУ CONSOLE.LOG ВЫДАЕТ 2, А НЕ 3???????????
function foo() {
console.log( this.a );
}
var a = 2;
(function(){
"use strict";
var a = 3;
foo(); // Я думал, что будет 3, но ИРЛ 2
})();
Мой вопрос можно сократить до такого: Выше приведен фрагмент кода. Почему console.log выдает ответ 2, а не 3?
Лучше ты ответь на пару вопросов:
Куда смотрит this в foo?
Что такое области видимости?
Почему, по твоему, console.log в данном примере должен выводить тот или иной результат?
После того, как объяснить что именно ты понял, тебе объяснят почему ты - собачка.
>Куда смотрит this в foo?
Я думал, что this "смотрит" туда где foo вызвали. А foo взывали внутри самовызвающейся функции. Я думал, что если там стоит var a = 3; То и foo возьмет как this.a вот эту вот тройку.
>Что такое области видимости?
Я представлю это как отведенную область в которой видно переменную, объект. Типа из глобальной области видимости нельзя "увидеть" переменную обернутую в функцию. Зато из функции можно запросить переменную из глобальной области видимости.
Я думал, что внутри самовызывающейся функции есть область видимости. Куда я вписал var a = 3; И думал, что именно эту область будет использовать функция foo(). Который возьмет как this.a эту самую тройку.
>Почему, по твоему, console.log в данном примере должен выводить тот или иной результат?
Я думал, что в глобальной области видимости программы написан этот самый код - самовызвающейся функции - функциональное выражение начинающееся со скобки (function(){...})() Дальше внутри этой самовызвающейся функции вызывается foo(). И я думал раз foo() вызывается внутри самовызывающейся функции, то он как this.a возьмет var a = 3, которое написано внутри самовызвающейся функции. Но вместо этого this.a берет var a =2; из глобальной области видимости. Почему так я не могу сказать.
>this "смотрит" туда где foo вызвали
Не где вызывали, а как вызвали
bar.foo() -> this = bar
bar() -> this = window в sloppy mode, this = undefined в strict mode
В iife есть область видимости, но поскольку foo объявлена не в ней, доступа к этим переменным у foo нет. Но даже если foo объявлена в ней, то this.a все равно вернет this.a - this=window, window.a=2
Еще раз, this не равен области видмости, this - это объект, на котором вызвали функцию, область видимости - это просто набор переменных
Спасибо большое, мудрый анон.
Ясно, в общем я все спутал. Я как мент с этого видео:
https://www.youtube.com/watch?v=r2hScZc34js
В общем благодарю.
Тэги: постоянная коммуникация юзеров, большое количество создаваемого ими контента, imageboard elements, всё для людей, collaborative writing, JS frontend, Java backend, conkitty, node.js, every contribution helps.
Репа:
https://git gud.io/dqp/frontend
Дизайн документ (весьма подробный):
https://docs.google.com/document/d/1WZH-b9PGbb7gdMYRhA65-Yn3oJvI8iAyZ_wz-weK9Yw/
Дискорд инвайты спам листе?
Не ну не с нуля же писать. Так можно просто взять и переписать в процессе.
А реакт не перепишешь!
> форумные рпг
Хуйня пикрелейтед. На дваче так же было. На форче тоже.
> убил тебя
> НЕТ Я ТЫ ПИДОР С ХУЕВ ТЫ УБИЛ РЯЯРЯРЯРР
Или там
> облизал твои подмышки
> пукнул спермой
Чтобы было не хуйней - тебе нужно тысячи вариантов интерактивности, чистки говна и повторного использования текстов.
Подскажи примеры "событий" в ЖС, которые можно заюзать на таком обучающем проекте, пожалуйста.
Все события описаны в спецификациях. https://developer.mozilla.org/ru/docs/Web/Events Не забывай гуглить.
Спасибо большое!
Допустим, есть несколько полей.
Из них в два ввели значения, а остальные либо пустые, либо их значения не поменялись.
Как обработать только те, которые были изменены?
Это не то. В квестах историю пишет один человек, автор, а все остальные только голосуют за так повернётся сюжет когда автор даёт такую возможность. Такая интерактивная художественная литература.
Скажи это себе для начала, что значит обработать? Что ты сделать хочешь с введёнными данными?
О, ну тут тогда вообще просто. Годный дизайн только нужен и очен годный маркдаун, чтобы качественно рисуночки и дизайн вставлять и делать.
Впринципе идея годная, только нужно делать чуть иначе, ради речитабельности. Спиздил идею, короче.
>сорта говна без задач
>В любой серьёзной конторе где нет идеалогически-ёбнутых на отрицании пользы статической типизации потребуется тот же TS
>сорта говна без задач
Держи в курсе
Есть сайты, а есть веб приложения.
Если у тебя именно сайт стотейнег/бложег, то используй cms. Лучше всего WP в этом плане.
WP - это не говно какое-то, это просто штука для работы с САЙТАМИ. Если ты делаешь сайт, то лучше всего реально не выёбываться и сделать на вордпрессе. Там не будет жёсткого проседания по производительности, особенно если говноплагины не использовать. И разрабатывать на WP можно нормально, то есть со службой контроля версий, с локальным сервером и без хуяка сразу в продакшин. Можешь даже unit tests писать, и это не шутка.
Есть веб приложения. Это как правило всякие говнофреймворки вроде laravel или express, где всё СРАЗУ ИСКАРОПКИ и rapid application development. На нём делают всякие приложухи вроде там не знаю софта для клиники где есть база с клиентами, аппойнтменты, история болезни, сервис отправки смсок/email с кодеком результатов анализов. А ещё генератор pdf который из базы всю эту хуйню возьмет и выдаст в удобоваримом виде.
А есть прям совсем сложная хуйня вроде гугла, контакта, ютуба и тд. Там обычно пишут либо без фреймворков, либо пишут фреймворк спецом под себя(как в случае с fb).
Обычно такие приложения и на веб могут быть не похожи. Всё-таки веб - это всего лишь I/O, хоть и сложный. Люди которые пишут ядро яндекса на крестах вообще никак не ощущают этот веб.
Что из этого "маленькие сайты" а что из этого "нормальные сайты" - это уже другая херня.
А вот веб приложение - это уже что-то вроде ВК, Google,
Держу в курсе, чел. Почитай что ли серию YDKJS. По сути там на все твои даунские вопросы ответят. Если я типы захочу, я просто на Java писать буду. Мне не сложно
Не не не. Я имел ввиду немного другое. Вот смотри, допустим есть двач. Когда я захожу на страницу делается get запрос и backend мне выгружает и список сообщений из бд, а есть условный блог, в котором вместо бэка используется cms, где можно редактировать посты и тд. Правильно?
> помоги доделать что уже есть лол.
Не, я на своих виласипедах делаю всё. Никогда не работал с чужим кодом в команде, хз чем помочь, идей для дизайна тоже не много. То что для каждой книжки нужно захуячить максимально редактируемый дизайн и наборы элементов, это и так понятно, наверное.
> Ты поздно к ужину.
Никогдане поздно, ойти всё еще развивается.
>>743919
Там нужно чтобы прям СУПЕРГОДНЫЕ книги была. С рисуночками.
Оооо бля попёрла идея. Короче, смотри. Ты же знаешь всякие, а не. Не. Это слишком годно, сорян. Намёк - маркдовн в 3d. Намёк понятен, надеюсь.
А, ну на фреймворках обычно всё сделано на MVC, то запросом из базы занимается контроллер, а выводом занимается вью. В wp всё чуток проще. А зачем тебе?
>на пикриле пруф того, что больших контор с кодом на несколько сотен тысяч строк меньше, чем контор типа Рога и Копыта в которой весь код займет неболее трёх листов формата А4
Сказать то что хотел, дауненок?
Ты ему так сейчас насоветуешь комиксы в 3д делать, а потом значит коняшка выезжает на экран, а потом рыцари, и все в ТРИ-ДЭ
Свернуть в массив значения с нужных полей -> сериализовать в json и отправить на http сервер.
П.С. Нужные - только те, которые подверглись изменению. т.е. не все поля на форме.
Не комиксы, а инстурментарий для манипуляций контентом.
Чтобы в книги можно нахуярить побольше картиночек, которые еще и в триде, которые еще и на ивентах. И всё это можно редактировать в маркдовн. Хз правда что там за фреймворк, наверн обосраться придется для такого. Тут с простым маркдовном дня три ебацо нужно, а они еще и в команде, это уже неделя соплежуйства.
Но ящитаю так. Зачем, имея пека, пытаться сделать просто книгу, которую просто читать будут? Нужно в маркдовн тьюринга завести. Или типо того. Не для книг пека сделан, развиваться нужно, двигаться.
Все значения полей должны хранится в стейте, иначе хуле где его хранить. Стейт в вуе - вуех. https://vuex.vuejs.org/ru/guide/state.html вот https://vuex.vuejs.org/guide/forms.html работа с формами. Стейты хранятся в сторе.
В сторе у тебя https://vuex.vuejs.org/guide/actions.html находятся экшены, промисы и прочая всякая срань. Когда вводятся всякое говно и отправляется в стейты - происходит обновления стора. Когда происходит обновление ты можешь вызывать экшн (отправку на сервер, например) с различными условиями, например когда наберется достаточно изменений, чтобы тебя не дудосили при вводе одного символа. Но если что я нихуя не знаю и всё это очень примерно описывает работу стора/экшенов.
https://vuex.vuejs.org/guide/structure.html вот тебе структура приложения, соблюдай её. Погугли экшены в вуексе и хуле там вообще происходит. https://medium.com/js-dojo/maintaining-a-single-source-of-truth-while-handling-form-data-with-vuex-426e86d16642 на первой страничке гугла этот пример.
Тебе нужно в целом понять как взаимодействовать с стором, стейтом, экшенами и вот этим всем. Сам я нихуя не знаю, да, хз как правильно объяснить все эти сторы-экшены.
А еще нужно либу для общения с сервером выбрать. Чтобы всё твоё говно шифровалось и работало с куками. Так что сиди изучай вуе и документацию.
Инструмент может и годный получится, но тут тогда кроме автора ещё нужен будет иллюстратор.
Вот так туду листы превращаются в инженерный софт.
Не обязательно, главное тут чтобы инстурмент был. Никто не запрещает прост какие-то предустановленные стили использовать.
> Вот так туду листы превращаются в инженерный софт.
Кстати да. Ведь было бы неплохо минигит туда прикрепить, чтобы в случае чего илюстратор мог сам присунуть картинку, а сам топик вёл не только один человек, а, возможно, целое сообщество. Но это уже совсем пиздец.
Чел ниже более менее всё описал тебе, используй debounce, выставим нужную задержку на инпут - заапишешь в стор, а от туда - чё хочешь делай
Тебя уже слил один пчел, поссу на тебя тоже: у меня нет вопросов, я писал в утвердительной манере, тупорылка. Хотя что ещё ожидать от плебса, который с лёту сыпет ссылкой на серию книг, который он прочитать осилил, а вот воспринять инфу - нет, приходится как-то окупать затраченное время, да, дорогуша?
>Тебя уже слил один пчел, поссу на тебя тоже
Себе на лицо поссыте, маньки. В большенстве проектов, даже больших, используется именно js а не ts.
Рекламка маняподелия от майкрософта - долбоебизм
Поддержка типчиков не такая нужная вещь, а проблемы интеграции с другими продуктами забывает.
Зачем нагружать проект лишними зависимостями, когда можно просто выучить коэрсию типов и делать проверки типчиков?
А YDKJS почитай, там таких как вы дауничей троллят.
Оууу, какие мы боевые пошли.
Пиздец школота, вместо того чтоб о реальных возможностях языка топить за какой-то сахар
Кек, узнаю себя два года назад. Тоже чот отрицал. На деле TS уже стандарт для старта новых проектов, нет никакого смысла его не использовать. Можешь и дальше воевать, конечно, но без знания TS ты упускаешь топовые конторы.
другой анон
> ты упускаешь топовые конторы.
представил как лысый жирный сойбой облизывается, перебирая hh, и жадно ищет топовые конторы, чтобы денег было больше на сою
Занятные у тебя фантазии, конечно. Не уверен почему ты решил ими со мной поделиться.
Почему на ассемблер не перешел еще, противник сахара?
Что конкретно? То, что я получаю больше тебя? Ну не знаю, мне кажется не стоит это менять.
Написано "ты упускаешь топовые конторки".
А значит цель не изучить топовые технологии типизацию, лол, шепатнул аш чтобы делать топовые продукты, а попасть в топовые конторки, расширив очко до предела. Это во-первых. А во-вторых, в "топовых" конторках никто не использует исключительно тс, его всегда используют вместе с пюре. Только тс используют шизы всякие, которые ебанулись на тсе.
Изучать тс, орно пиздец.
Конечно, цель получить больше денег за меньшее количество усилий, лол. Сейчас бы переживать за чужие «топовые продукты», «менять мир» работая на дядю и вот это все.
> цель получить больше денег за меньшее количество усилий, лол
@
> работает кодером на js в "топовых" конторках
))))))))))
Алсо, только сейчас разглядел картинку в оппике и люто бешено проиграл.
Нет, не устарело.
Сделай самым простым способом - просто сетка из дивов. Не понравится - переделаешь. Реакт тебе для этого не нужен.
ну же помоги
А в чем проблема-то собсна? У тебя есть некий gameState, на его основе генерится весь интерфейс. Меняется стейт — автоматом перерисовывается интерфейс. Ну, это если на реакте делать.
> адресовать отдельные тайлы
Так это уж как сам сделаешь. От интерфейса это не зависит. Можно, например, сделать объект типа tileByCoord или хранить тайлы в двумерном массиве, если у тебя все квадратное.
>перерисовывать их
Менять стейт.
>нажимать на них
Если у тебя квадратная сетка, то прям в тайл пихаешь коллбек с привязанными к нему координатами. Если нет (у меня гексагональная, например), то все сложнее, конечно. Придется писать отдельный слой для вычисления корректных координат.
В вакууме сложно сказать, надо смотреть надо смотреть на API. Мб можно разбить на компоненты, мб нет. Проставь какие-то осмысленные дефолты для начала.
Не правильно. cms это не вместо бэкенда, а ПО работающее на бэкенде. У двача тоже есть бэкенд, и там может быть cms. Бэкенд сам по себе это просто компьюетр. Он ничего делать не может. Набор скриптов\сервисов\приложений работающих на бэкенде занимаются обработкой запросов и ответов на них. А что из себя представляют эти скрипты\сесвисы\программы не суть важно. CMS это просто подмножество такого ПО. Как архиватор, или видеоредактор. И то и другое и третье - это ПО, выполняющее определенную задачу. Архиватор занимается архивацией и сжатием, видеоредактор - редактированием видео, cms - управлением контента. При этом ты можешь изъебнуться и редактировать видео, например, фоторедактором, предварительно разбив его на кадры и работая с каждым потом как с изображенеим, а потом обратно склеивать в видеоряд. Так же и с контентом, ты можешь использовать готовую cms, а пможешь не использовать. Это просто инструменты.
Постарайся понять вуекс. Енто важно чтобы ты там манипулировал данными по-человечески и отправлял данные через хттп.
Будет.
да я полезу, если надо будет, и какая разница какой проект, структуру же описал. Я просто не знаю с какой стороны подойти, в бэке полный ноль. Просто скажи, что изучить, чтобы это реализовать максимально быстро.
1. Каскадные таблицы стилей. Собственно сам каскад невероятно мощная вещь, но при этом поплуярные методологии, по типу БЭМ, призывают максимально от каскада уходить. При этом основными аргументами повсеместно в обсуждениях высказываются именно те, что разработчикам сложно понимать каскад. По итогу код раздувается за счет кучи специализированных селекторов. Да и сами селекторы выглядят жуть как.
2. Семантический css и семантика html. По сути происходит жутчайшее дублирование там, где разработчики пытаются следовать и тому и другому. По типу <header class="header"> <footer class="footer"> и так далее. Вопрос зачем и как делать правильно?
3. Сама семантика html. В эпоху когда везде и всюду пропагандируется компонентный протокол, кастомные элементы, scoped-styles, насколько правильно продолжать опираться на нативную семантику html элементов? Этот вопрос у меня вызывает дюжий когнитивный диссонанс. По типу когда у меня, например есть навигация, и мне достаточно ее сверстать одним элементом, содержащим в себе набор ссылок. Но из-за семантического подхода я вынужден оборачивать ссылки в ненумерованный список, список оборачивать в nav и вот это всё. Это какая-то глупость.
Объясняется тем, что это для seo и accesibility. А Aria API зачем завези тогда. Сколько еще нужно опираться на нативную семантику элементов, и жертвовать возможности пилить кастомные элементы по логическому назначению, и не оборочивать все по тысячу раз?
4. Собствено вопросы такие. Какой подход используете вы для css? Как работаетет с семантикой документов. Дублируете семантику верстки в семантику css. Если нет, то как поступаете.
1. Пиздёж, mainpage__list-item-title не так уж и жутко.
2. Если ты можешь стилизовать header через тэг, тебе класс на какой хуй ему задавать? Боишься двух хедеров на странице?
3. Что сложного в nav? А все что можно назвать перечисляемыми элементами хуярить через ul с li? О какой обертке ты говоришь скажи будь любезен, следование семантике НЕ плодит лишних обёрток, если ты не долбоёб.
4. Юзаю бэм и sass, минимм дублирования, максимум переиспользуемости на других проектах
>1. Каскадные таблицы стилей. Собственно сам каскад невероятно мощная вещь, но при этом поплуярные методологии, по типу БЭМ, призывают максимально от каскада уходить. При этом основными аргументами повсеместно в обсуждениях высказываются именно те, что разработчикам сложно понимать каскад. По итогу код раздувается за счет кучи специализированных селекторов. Да и сами селекторы выглядят жуть как.
Каскад только с SCSS не говно. Хотя он тоже в пределах одного файла может разрастись как рак, но всё равно на несколько порядков лучше ванильного CSS.
>2. Семантический css и семантика html. По сути происходит жутчайшее дублирование там, где разработчики пытаются следовать и тому и другому. По типу <header class="header"> <footer class="footer"> и так далее. Вопрос зачем и как делать правильно?
Хуй знает какие примеры ты читаешь, но дублирующие классы с семантическими тегами не нужны.
>3. Сама семантика html. В эпоху когда везде и всюду пропагандируется компонентный протокол, кастомные элементы, scoped-styles, насколько правильно продолжать опираться на нативную семантику html элементов? Этот вопрос у меня вызывает дюжий когнитивный диссонанс. По типу когда у меня, например есть навигация, и мне достаточно ее сверстать одним элементом, содержащим в себе набор ссылок. Но из-за семантического подхода я вынужден оборачивать ссылки в ненумерованный список, список оборачивать в nav и вот это всё. Это какая-то глупость.
Семантика нужна для поисковых роботов, им не всралось продираться через твои леса кастомных дивов.
https://piccalil.li/cube-css/
Вот тут выросла еще одна методология с очень размытым описанием
>CUBE CSS takes most of its inspiration from BEM. A good way to think of it is a step back from BEM’s principles.
>This is because the core of BEM is blocks, whereas with CUBE CSS, the core is CSS. The cascade and inheritance are embraced, not avoided, so by the time you get down to blocks in CUBE, they become much more insignificant.
1. Жутко. Еще жутче когда такие селекторы набираются в микс.
2. Потому что прописывание стилей тегам и даже идентификаторам - это нарушение методологии. Ну и смотри пик, пример из оф документации БЭМа.
3. Я говорю о том, что семантический подход заставляет писать <nav><ul><li><a>link</a><li><a>link></a><li><a>link</a></ul></nav> вместо <nav><a>link</a><a>link</a><a>link</a></nav> даже тогда, когда эти лишние элементы совсем не нужны, кроме как для этой семантики.
>Хуй знает какие примеры ты читаешь, но дублирующие классы с семантическими тегами не нужны.
Тоже смотри оф документацию того же БЭМа. На самом деле такое повсеместно если походить по сайтам.
>Семантика нужна для поисковых роботов, им не всралось продираться через твои леса кастомных дивов.
Я не про кастомные дивы, а custom-elements это раз. Во-вторых есть aria-аттрибуты же.
Методологий до жопы OOCSS, SMACSS, BEM, Atomics и прочие. Какие-то противоречат друг другу, какие-то могут дополнять. И это пиздец.
1. если ты не проебался, у тебя никогда не будет их в миксе
2. у тебя своя голова на плечах, ты можешь взять все самое тебе удобное из методологии, а остальное выкинуть
3. семантических подход тебя не заставляет оборачивать в li, а лишь дать поисковому роботу понять что есть навигационный компонент nav и с помощью него происходит навигация
Ну подожди, эта то - НОВАЯ
3. Ты же сам писал, что все перечисления должны быть списками. Теперь говоришь, что необязательно.
Сайты всякие - есть из говна и палок собранные, есть свой шаблон, который по идее надо качественно делать, но он уже до меня был зашкварен жквери, есть вёрстка, в которой может быть много потребности в жсе например хитровыебанная смена страниц нужна, для которой либо кастомно всё надо написать, либо не так пиздато всё будет, что придётся упростить - везде пишу на жс.
>>745738
Там много работы? У меня год опыта, я могу съебать в дс2 и работать там? Было б заебись. В моей мухосрани ещё есть простор для работы, тк мне посчастливилось получить коммерческий опыт, но контор хорошего уровня немного.
Сам удивился, но это так. Я в ДС получил за два часа после откликов больше нормальных приглашений, чем за две недели в Питере. Работа то тут есть, но как я уже написал это "веб студия Сергея Асанова. 50к в месяц до налогов". Чистыми это 40к + время на дорогу. 500$. Меньше 5$/h. Я не совсем ебанутый, чтобы за такой рейт работать.
>Там много работы? У меня год опыта, я могу съебать в дс2 и работать там? Было б заебись. В моей мухосрани ещё есть простор для работы, тк мне посчастливилось получить коммерческий опыт, но контор хорошего уровня немного.
Я сейчас снимаю хорошую квартиру на Парнасе. Ничего такого, просто 200м до метро и норм ремонт. Вместе с utilities выходит 28к в месяц. То есть идти на 50к - это в прямом смысле работа за оплату жилья и еду. Как-то так
Чтобы ты понимал, на апворке нельзя поставить рейт меньше 5$ за час. То есть даже индусы data entry получают больше 50к. Меньше чем за 100к это целых 1300$ работать, если ты не прям совсем джун - это просто не уважать себя.
Вот охуеваю с местных. 50к это реально хуевая зарплата для программиста, к чему вот эти наезды типа пок-пок, не умеешь деньги тратить? Типа надо получать гроши и не бухтеть?
Смотря для какого. Для стажера-суперначинающего джуна в спб-мск это начальная зп как раз.
Согласен. Только больше года погромирования это совсем не "суперначинающий джун".
Гугли event queue.
Соглы. А если вкатился на 70к джуном в мск, то через год на сколько повышения просить/или на какую зп вообще рассчитывать?
Утром вкат, вечером стим.
Сейчас раскрою основную мудрость успеха в айти. Никогда не проси повышение. Просто меняй работу, если зп больше чем 3-4 месяца не меняется. Ты за этот период вырастаешь как специалист в разы и это должно оплачиваться. Если не оплачивается - это плохая компания. С 70 до 170 тебе повышение не дадут, а вот найти работу на 170 для мидла это более чем возможно, если ты шаришь. И вообще советую иногда просто ради интереса ходить на собеседования, даже если тебя работа устраивает, чтобы знать какую сумму тебе готовы предложить. Если она на 25-30% больше нынешней, можно задуматься о переходе. Если ты перестанешь быть выгодным, тебя сразу же уволят. Относись к работе также и все будет хорошо.
Да в целом мой путь немного отличается, я еще с класса 10 метил вайти, но сам понимаешь, я то начинал то забивал. В общем, бессистемно занимался. На 1 курсе поработал 3 месяца стажером по тестированию(нагрузочное и автоматизированное), параллельно проебывая универ и играя в доку. К 3 курсу заобщался с одногруппником, и он мне как раз рассказывал про то как он устроился нодером(он и бек делал и фронт на реакте). Я послушал его рассказы и чот тоже захотелось. К концу 3 курса закончил изучать ноду, жс, реакт и сопутствующие вещи, и принялся писать свои проектики чтоб на гитхаб высрать. Параллельно с этим, нашел чела на фрилансе которому нужно было пилить ботов для телеги и вк. Ну я как раз расчехлил все свое мастерство говнокодства на ноде и в течение нескольких месяцев пилил ему заказы. Когда работа у мужика кончилась, я остался без бабла и стал искать любую работу. Пытался и во фронт воткнуться и в бек, в общем 2 стула сразу. Где-то раз 7 не проходил собес, где то заваливал скайп собес, где то путался при написании кода. От каждого раза старался заполнять свои пробелы на чем обосрался. Пару раз были собесы прям хорошие с моей точки зрения, потом было обидно отказ получать. По итогу за 2 месяца поисков новой работы нашел что искал, взяли в команду нодеров писать бек + есть немного задачек по фронту. Собес прошел максимально лайтово по сравнению с теми, где был до этого. Спросили как ни странно, за алгоритмы(что такое эффективность, вертикальная/горизонтальная масштабируемость), про паттерны mvc/mvp, про экосистему ноды чуть чуть поговорили, про цикл событий и тд. Но 80% собеса я рассказывал о себе и о своем микроопыте. На некст день позвонили с оффером.
А пойдет ли варик, заранее походить по собесам, узнать чего ты стоишь, получить более выгодный оффер, прийти к своему начальнику и сказать вот смотри, мне тут 170к предлагают, мне уходить или поднимешь до 180? Или это хуйня и так лучше не делать?
Взаимно, и успехов со вкатом.
Лучше не делать ТК к тебе будут относиться как к человеку, который может в любой момент уйти, соответственно ничего более-менее ответственного после этого не доверят. Если руководство совсем отбитое могут вообще тебе замену начать искать сразу же и уволить, когда найдут ТК им нужны "только лояльные сотрудники". И за 10к особо торговаться смысла нет. Вот допустим у тебя есть 10 офферов. Например один на 180, остальные на 150. Перед тем, как принимать на 180 напиши всем остальным, что они классные и ты бы с радостью к ним пошел, но тебе уже предложили 200. Если они готовы платить столько же - пойдешь к ним. Как только кто-то согласится на 200 пиши в компанию, которая предлагала 180, что хочешь 220. Так ты ничего не потеряешь, даже если все откажут, но зато потенциально можешь зп на 50к сразу повысить. Для любой айти компании это вообще не деньги, если это не веб студия, которая заказы на fl.ru берет.
А как вообще уходить с текущей работы если предложили более выгодные условия в другой? Просто говорить без задней мысли, мужики я сваливаю и быть беспринципным? Или надо как-то по особому заранее договариваться/предупреждать?
Если что, торговаться по поводу ЗП это стандартная практика. Как правило предлагают оффер на 20% меньше, чем готовы были бы заплатить. Главное делать все адекватно и учитывать, что ты через полгода снова можешь в эту же компанию на собес пойти.
>>745884
Это можно через dev tools прочекать. Если кратко - нет, кроме случаев, когда вычисления просто ебовийшие. Скорее может немного ухудшить, но незначительно.
Если ты оформлен по ТК, тебе придется 2 недели отработать в любом случае. Могут спросить почему уходишь, лучше сказать что-то нейтральное. Вдруг ты через пару лет вернуться захочешь. Лучше говори, что выгорел, хочешь отдохнуть от погромирования и планируешь ближайший отдыхать на Гоа. Такое со всеми бывало, поэтому "мужики поймут".
Это есть в документации редукса. Не ленись. За 30 мин можно освоить
Как продублировать array N раз?
Есть у меня Array: [1,2,3], как получить из него [1,2,3,1,2,3,1,2,3]? Только втупую через двойной for?
Как это так может улучшить, а может ухудшить? Либо я лишний раз пересчитываю и теряю в производительности, либо не пересчитываю и выигрываю. Вопрос был в том, может ли компонент обновиться, если его пропсы не менялись? И проверяет ли реакт на deepEqual?
Понял, спасибо за совет.
>Как это так может улучшить, а может ухудшить?
Сравнение зависимостей плюс оверхед на создание функции. Но это все такие микроскопические значение, что о них нет смысла говорить.
>Вопрос был в том, может ли компонент обновиться, если его пропсы не менялись?
Такого вопроса не было. По умолчанию компонент всегда перерендеривается если это сделал его родитель. Его можно мемоизировать через React.memo. Но скорее всего тебе этого делать не нужно.
>И проверяет ли реакт на deepEqual?
Нет, это очень дорогая операция. React.memo использует shallowEqual.
Читать легче, ебана
>либо не пересчитываю и выигрываю
Не совсе так. Вот оч хорошая статья на эту тему. Рекомендую прям полностью прочитать и несколько раз
https://kentcdodds.com/blog/usememo-and-usecallback
>>745918
Если совсем примитивно, то самое адекватное решение
function repeatArr(arr, N) {
let newArr = []
for (let i=0; i<N; i++) {
newArr = newArr.concat(arr)
}
return newArr;
}
let test = repeatArr(['dvach'] ,7)
console.log(test)
Привыкай писать все функции универсально.
Удобно хранить global state среднего размера приложений. Для тудушки редакс скорее излишен.
Сложность не такая же. Мой вариант в три раза быстрее и реюзабельнее. Советую почитать.
https://en.wikipedia.org/wiki/Big_O_notation
цикл for - O(n)
concat - O(n)
вложенный concat в for - O(n^2), тоже самое что и в варианте с fill + flat, только в разы больше кода.
Хорошая статья. Кент Си Доддс крутой все-таки.
Да, я тебя понял. Статью то про большое О зачем кидал? Чтобы потом говнотестами пукать?
> В 3 раза быстрее, ссылка на Big O notation
> В 3 раза быстрее.
Бля, выпускники Синергии преследуют меня повсюду))))
ты имеешь ввиду писать 100% тестов на код?
Конечно, потому что поймёт, что он такой высокопроизводительный код никогда не напишет.
Тут дело в том, что ты где-то 20к свободных имеешь и говоришь, что это за еду. Ты ешь на 20к? Я столько не нажру, даже если ментос буду покупать
Я вообще другой анон. Очевидно что кроме еды и жилья надо покупать одежду, лечиться, развлекаться, что-то откладывать и т.д. Тратить 80% дохода на базовые нужды это ад.
Алсо, да, я ему на 20к, потому что заказываю еду каждый день, покупаю продукты в Азбуке и периодически хожу в рестораны.
Качественная еда стоит дорого. Один стейк из мраморной говядины стоит 500р за пол кг. Форель стоит около 700р за кг. Банка арахисовой пасты стоит 150р. Сходить куда-то покушать с тян, даже в какой-нибудь пицехат это уже 1000. Это просто обычная еда.
Тратить то надо ещё на что-то, но какой смысл писать про 50к = работа за еду, человеку который и 20к не получает и по сути за еду и работал бы, если б на шее не сидел? Да 50к это наверное мало, но моё положение будет однозначно лучше, чем работа за 15к в мухосрани. У меня нет подобного хозяйства, цены везде как и в дс2, но 15к это 15к.
>>746069
Да, каждый день делаю бутерброд из стейка с форелью и мажу это дело арахисовой пастой.
>Тратить 80% дохода на базовые нужды это ад.
>доход 500к
>тратишь 400к, остается 100к
>это ад, сказал иван из москвы, в то время как петя из воркуты получает свои 25к и содержит на них семью
>да, я ему на 20к, потому что заказываю еду каждый день, покупаю продукты в Азбуке и периодически хожу в рестораны.
Вот это как раз и есть то самое неумение тратить деньги.
>>746069
Ты путаешь качество с дороговизной. Качество != цена. Ну если конечно для тебя качество не измеряется в количестве лайков твоей фоточки завтрака в инстаграме.
Хы, ретурнец забыл.
Да и я не тебе писал, а другому челу. Его код будет медленнее, чем обычный array.fill
А ты прав. Пуш быстрее конката. Я не с тобой спорил.
>Ты путаешь качество с дороговизной. Качество != цена. Ну если конечно для тебя качество не измеряется в количестве лайков твоей фоточки завтрака в инстаграме.
Ну попробуй какой-нибудь мираторговский стейк блэк анус и сравни с курицей красная цена.
function repeatArr(arr, N) {
let newArr = []
for (let i=0; i < N; i++) {
Array.prototype.push.apply(newArr, arr);
}
return newArr;
}
let test = repeatArr([1, 2, 3], 5);
Проверь ещё плес как работает если push делать через прототипы. Может так быстрее будет. Мне щас неудобно, я на телефоне.
Дешевое говно для быдла против дешевого говна для быдла?
Или хотя бы дайте советов как именно логика функции должна работать и какие методы использовать. Желательно без RegEx-а.
https://pastebin.com/uAbeM0z1
Так а как мне разсплитать, если там реплики заканчиваются разными знаками препинания, то есть просто .split('.') не сработает.
Да, я тоже считаю, что нахуй вкатывальщиков, заебали.
Как-будто где-то нужный эти тысячные доли секунд. И как-будто результаты не будут разниться в зависимости от браузера и др. условий среды.
Спред тоже сосёт, хотя казалось, что принцип похож на пуш через прототип
В итоге мы получаем новомодные поделия на реакте, которые заставляют тебя смотреть на заглушки по несколько секунд, а при виде >1к элементов, пукают и зависают минимум на минуту.
Спред совершенно другое
Напиши свой реактивный фреймворк на этих крутых быстрых циклах. Будет в топе, раз там говно сделали.
Вот как раз проблема в том, что реакт всё за макаку не может сделать, усугубляет ситуацию и отношение макаки к документации, которую она никогда не читает, ограничившись гуглом и кодом с SO. В итоге мы получаем, что получаем.
> И как оно
с переменным успехом:
збс то что наконец-то на бэк вменяемый IoC завезли - удобненько, тестируемо, красиво выглядит в коде
хуйово то что если нужно сделать что-то выходящее за рамки документации, на гитхабе примеров откуда можно подрезать кода/best practice ты не найдешь, пиздуешь в дискорд к разрабам и доебуешь их с этим либо лезешь в исходники на пару дней
> Что за проект?
backend for frontend для фронта
генерация специфической gis информации по graphql запросу ( раньше делалось через миллион костылей на крестах ) вот пол года как уболтали руководство перейти на nodejs в качестве прокси.
Пиздос, у тебя как минимум 4 вложенных цикла. Вряд ли твой говнокод даже разбирать будут.
Обычно большую вложенность компенсируют читаемостью, но и её у тебя нет.
Вот теперь сам подумай, за что тебя рассматривать стоит? За то что написал код, который любой недельный вкатывальщик напишет?
За год работы ни одного цикла не написал, а встречал их только лютом легаси говне. Методы массивов все кейсы покрывают, на крайняк лодэш есть, да и он не особо и нужен.
Два чая. Будет в диалоге обращение к другой роли и функция выдаст хуйню.
>Это такой подъеб был, дескать напишу в джей-эс треде не на джей-эсе или что?
А ты думал я за тебя код писать буду? Общий принцип понять можно, а на JS еще и легче написать будет, так как деструктурирующее присваивание уже вшито в стандарт.
Просто выдели все сущности и делай в ООП стиле, сразу легче станет, а проверяющие поймут, что ты грамотный программист, а не макака-однострочник.
бесит после императивного стиля это говно. Везде абуз лямбд, map, reduce is everywhere. Язык интересный, но ФП подходы - грязь. Читаемость императивщиков падает. Я негодую.
То используешь reduce и не изменяешь аккумулирующую переменную там где нужно continue
Как по мне читаемость только повышается, если не городить хуйни как здесь >>746384 и использовать лямбды по минимуму. В итоге в этом примере >>746271 при функциональном подходе достаточно прочитать строчку вслух и сразу понятно, что в коде происходит, а как видишь цикл приходится про себя прогонять пытаясь понять что в итоге получится.
Потому что reduce читать удобней, очевидно.
Что выглядит проще?
const addItemValue= (values, item) => item.value ? [...values, item.value] : values;
const getValues = (items) => items.reduce(addItemValue);
или
const getValues = (items) => {
const itemValues = [];
for (let i = 0; i < itemValues.length, i++) {
if (!item.value) {
continue;
}
itemValues.push(items.value);
}
return itemValues;
}
Ну и говно
Скрин из IDE нельзя сделать или в песочницу? Думаешь заебись ЭТО смотреть?
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
ПЕРЕКАТ >>1746525 (OP)
Кто? Ты чё, даун?
нет, это спасательный круг для биг интерпрайза
Это копия, сохраненная 9 января 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.