Предыдущий: >>1453633 (OP)НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!Для программирования на ХТМЛ https://codepen.io/pen/Для Ноды с консолькой https://repl.it/languages/nodejsДля фреймворков https://codesandbox.io/Залить, задеплоить страничку, сервер, контейнер https://zeit.co/nowАноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).Сделай песочницу по ссылкам выше для ясности и удобства. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>1462068Вебпук все еще нужен. Зиро конфигурейшен хорош только на простых типовых задачах. Для прототипирования парсель самое то
Лять, поясните как настроить правильно prettier. И то и другое обновил до latest.Установил в prettier semi: falseОн шустренько удалил почти все точки запятые.Но добавил их кучу в начале строк.Из-за этого ругается tslint (в конфиге стоит semi never), мол лишние то точкищапятые и нужен пробел.Где найти нормальные конфиги? Что ещё надо настроить?
Анон, есть одно видео с ГРИБАМИ.Как его выдрать? Ебучий яндекс.https://yandex.ru/local/users/9609305первый пост этого пользователя
Что-то не понял, зачем вообще теперь нужны классовые компоненты в реакте, если с помощью хуков можно делать все то же самое в функциональных?
>>1462178пример идиотский конечно для обучения но вообще потому что this зависит от контекста вызова функции, в первом случае это alert() и ее this глобальный объект, а во втором это ref() и её this то что тебе нужно
алсо это можно легко проиллюстрироватьдостаточно сделать какое-то глобальное свойство и ref в первом случае будет указывать на него
точнее в первом случае контекст вызова user но пофигмутота какая-то имо, ненавижу вообще использовать this
>>1462007Шахматы делаю. Нужно было приостановить функцию завершения хода до тех пор, пока игрок не выберет фигуру, в которую нужно превратить пешку, когда она достигает вражеского спавна. Таки сделал на промисах и await, одновременно дав объекту "игра" свойство paused: true, а обработчику клика по доске добавил проверку "если !пауза", блокируя управление. Просто не думал заранее, что в шахматах понадобится пауза.
>>1462372эмммвообще не понизачем тут промисы? я так понимаю у тебя при клике на доску куда ты хочешь поставить свою фигуру стартуют функции проверка верный ли ход, съели ли какую-то фигуру, потом стартует вызов функции ход компьютерав случае если надо превратить пешку у тебя просто могло бы управление передаваться еще одной функции выбор фигуры по завершению которой мог бы идти ход компьютера те же не паузишь скрипт пока ждешь хода игрока так зачем его паузить когда ждешь выбор игрока на дополнительную опциюможно в таком состоянии не реагировать на клики на доске и все
Почему я не могу решать задачи? Синтаксис знаю, при виде решения могу понять, зачем нужна каждая строка и что она делает, но когда дело доходит до самостоятельного решения, я ничего совершенно не могу.
>>1462383> съели ли какую-то фигуруЭтого я не проверяю, просто объекту "ячейка" перезаписываю свойство "фигура". В нем либо объект фигура, либо false если клетка пуста.> компьютерКомпьютерного соперника пока нет.>в случае если надо превратить пешку у тебя просто могло бы управление передаваться еще одной функции выбор фигуры по завершению которой мог бы идти ход компьютера В этом и была проблема. Ход либо белых либо черных. Если я не завершаю ход, ожидая выбора фигуры для превращения - ход не меняется и эта же сторона может сделать еще один> можно в таком состоянии не реагировать на клики на доске и всеЭто я и сделал, добавив проверку "если !пауза". Клик по доске не направляется в таком случае в обработчик кликов игры. Теперь ход не передается другому игроку до выбора фигуры, а у текущего управление заблокировано
мне просто непонятно зачем нужны промисы когда есть ивент листенеры, просто флаги чей ход и идёт ли выбор фигуры для пешки добавляешь и все
Товарищи, приветствую.Прохожу в данный момент курс ReactJS на codecademyКупив у них подписку, открывается доступ к небольшим проектам на реакте.Где можно просмотреть слитые курсы с данной платформы?
>>1462661Да не совсем, сейчас даже после введения хуков люди почему-то продолжают юзать классовые компоненты. Мне кажется, я чего-то не понимаю.
Реакт не нужен вообще-тоУже два дня обсуждаем на лоре статью https://www.sonniesedge.net/posts/react/https://www.linux.org.ru/forum/development/15187046
>>1462687Хуки вводили, в том числе, чтобы упростить биндинги к ризону, который активно юзается в проектах фейсбука.
>>1462753> Реакт не нужен вообще-тоИди дальше - не нужен VDOM. Патчить дом можно быстро и эффективно различными инструментами (Svelte, lit-html, тысячи их) без проигрыша в перформансе.
>>1462792Можешь пояснить начинающему реакт джуну в чем суть этого ризона, зачем окамл в жсе? Окамл вообще очень редко видел, хз что он из себя представляет.>>1462797Если это действительно так, то почему компании массово не переходят на этот свелте? Он уже давно мелькает. Перформанс ведь действительно очень важен.
>>1462811>в чем суть этого ризонаДа, ReasonML - это сиречь окамл на фронте.Фейсбук запилил ризон как логическое развитие The Flow, который под капотом юзал окамловский парсер и типы оттуда же. Я не настолько глубоко в теме, но рискну предположить, что у них там нехилый такой тулчейн на окамле (например, можно компилить в нейтив), а добавь сюда 100% покрытие типами (sound type system), безболезненный интероп с жс кодом, то окажется, что выгода от использования очевидна. Порог вхождения в ризон несколько ниже, чем в "чистый" окамл, благодаря более удобоваримому широкому кругу кодеров (читай жс-макак) синтаксису, так что особых проблем с использованием этого языка тоже нет.>>1462811>почему компании массово не переходят на этот свелтеПотому, что нет критической массы, очевидно же. Когда страдания бизнеса усилятся, а на рынке появится больше дешевой рабсилы, способной писать код, который хорошо перформит на фронте, так и будут переходить, как это в свое время случилось с реактом и десятками подобных технологий.
Я уже лет десять использую js, но так как я бэкэнд, я ему особенно внимания не уделял и весьма смутно понимаю его внутренности.Что почитать для сразу advanced уровня? Думаю вкатиться в реакт. Но голова пухнет от этих ваших флуксов/редуксов/хоков/etc, да и сам Js слишком странный.Ве
>>1462846https://strm.yandex.ru/vh-districts-converted/vod-content/18365448885203759277.m3u8?from=district&vsid=36853bea7407e3df12a296ba78e7c5970b4ce93fb3c1xWEBx2191x1567019883
Платиновый вопрос:React VS VueПервый поддерживается и разрабатывается мегакорпорацией + уже куча легаси.Второй разрабатывает выскочка, живет не понятно на какие деньги (зато нравится школьникам)Как думаете кто выиграет в долгосрочной перспективе? Кто более живучий, а кто рассыпется при первом же дуновении кризиса?
короче решил что следующим пет проектом буду пилить карманный синтезатор или что-то вроде для мобилокесли не смогу вкатиться в айти всегда можно попробовать стать электронным музыкантом лолвопрос насколько хорошо умеет react native работать со звуком... с ar под андроид очевидно не очень
collapseToStart() – схлопнуть (заменить на пустой диапазон) к началу выделения,collapseToEnd() – схлопнуть диапазон к концу выделения,Что значит схлопнуть?
https://hh.ru/resume/935fabde0005729b5e0039ed1f385a64784a44> На 3 месяца "закрылся" дома, изучая разработку> 40 лет> За время обучения освоил - > React/Redux,> Next js> Node.js (Express),> WebSocket,> MongoDB (Mongoose),> Redis,> Git,> Linux.Итог: программирование может освоить каждый, и уж тем более вкатиться за пару месяцев. Как говорится - было бы желание!
>>1463037Апрель 2002 — апрель 20108 лет 1 месяцOAO "Моспроект"Москва, mosproject.ruСтроительство, недвижимость, эксплуатация, проектирование... Показать ещеСистемный администраторАдминистрирование и поддержка сети компании;Поддержка серверов компании MS Windows 2003,2008;Поддержка сервисов MS Active Directory, DNS, DHCP, GPO, DFS;Написание SQL запросов;Поддержка и модернизация сетевой инфрастуктуры компании (2000 ед. техники - WS Windows XP, Vista, Windows 7);Запуск и управление работой беспроводных сетей (Wi-Fi);Настройка и управление антивирусной защитой локальной сети McAfee;Поддержка широкого спектра офисных приложений;Поддержка пакетов для архитектурного проектирования: Autocad, Archicad, Revit, СПДС, Photoshop, CorelDraw;Организация и управление работой единого Центра печати компании;Ремонт и настройка периферийной техники.Ясно.
>>1463048Сентябрь 2010 — май 20154 года 9 месяцевООО "Таммвис"Москва, www.tammvis.ruСтроительство, недвижимость, эксплуатация, проектирование... Показать ещеWeb-разработчик, специалист тех. поддержкиweb разработка сайта (CMS Wordpress); администрирование сервера Windows 2008;настройка и поддержка microtic;настройка и поддержка IP телефонии и клиентского оборудования;техническая поддержка пользователей и компьютеров (PC, MAC);монтаж слаботочных систем.>>1463037У него уже опыт был.
Какая логика должна быть в кастомных реакт хуках? Вообще любая какую я хочу, то есть я могу сделать function useHuyGovno(huy, govno) { return huy + govno } и это будет норм, то есть это по сути просто красивое название для выноса всей логики в отдельные файлы? Или все же есть какой-то конкретный паттерн?
>>1463051я не понимаю зачем делать такой хук когда ты можешь использовать useStateconst [bowmeow, setBowMeow] = useState({});setBowMeow({bow, mew});мне кажется такую фигню вообще в хуки не хрен выносить
>>1463055>>1463057Я не спрашиваю про мой пример конкретно. Я спрашиваю про принцип в целом. Являются ли хуки чем-то типа компонентов, но не для визуальной части, а для логической, то есть заменой какой-нить папочке utils, то есть я могу положить в хук просто какую-нить йоба математическую формулу, не используя ни стейта, ни других примитивных хуков, или все же что-то в хуки класть не нужно?
>>1463062хуки называются хуками т.к. ты с их помощью цепляешься в лайцайкл, мне лично не нравится идея пихать в них логику
У меня такая ситуацияЕсть файл где я exports.do = function(){require axios ...}Вопрос - как убрать require из экспортируемой функции и добавить в файл куда я и экспортирую так, чтобы функция этот const axios = require("axios") видела
Javascript это как жонглирование хуями. Когда ты новичок, то они часто попадают тебе в рот.А когда станешь профессионалом, то люди удивляются зачем ты ими жонглируешь...
На ноде можно в бэкэнд вкатиться без знания пыхи ? Мне тут напиздели что нода, для продакшина не подходит, есть подозрение, что это просто пхпшники были.
>>1463304>На ноде можно в бэкэнд вкатиться без знания пыхикаким образом они вообще связаны. А в питон без знания джавы можно?>для продакшина не подходитНетфликс использует, линкедин (погугли, я сходу этих только помню), но двачеры всегда будут писать, что она почему-то не подходит
Аноны, подскажите.У меня есть массив, состоящий из имён и значений и я хочу его отсортировать его по возрастанию этих значений({Paul: 3, Igor: 6}). Каким образом его можно отсортировать?
>>1463447А если у меня 2 имени имеют одно и тоже значение и мне нужно отсортировать их в алфавитном порядке, как поступить?
>>1463228очевидно что убрать из экспортируемой функции и добавить вверху того файла куда ты её экспортируешь?
>>1463470Если я тебя правильно понял, ты предлагаешь ещё раз по нему пройтись, только в этот раз сортируя по имени, но ведь это может сбить другие элементы.А вариант с array.sort((a, b) => {if(a.value === b.value) return a -b;} return a.value - b.value}); не прокатит?
>>1463481>array.sort((a, b) => {if(a.value === b.value) return a -b;} return a.value - b.value})Вот так?
>>1463498>return a -b;тут срань, ты пытаешься напрямую объекты вычитатьнадо a.name.localeCompare(b.name) вместо этого
>>1463510>a.name.localeCompare(b.name)У меня тогда вот такая штука выходит. voc[a].localeCompare(voc)Она с такой нотацией не работает, пишет localeCompare is not a function
>>1463533у меня это просто запихнуто вот в такую строкуlet sortedVoc = Object.keys(voc).sort(function(a,b){ if(voc === voc[a]){ //Сравнение в алфавитном порядке; } return voc-voc[a];
>>1463544Потому-что у меня такой набор:{ Вася: 128, Петя: 97, Павел: 97, Аня: 10}И я его должен отсортировать его по уменьшению значения, но если у двух человек одинаковые значения, то я сортирую их в алфавитном порядке.
>>1463498>>1463535>array.sort((a, b) => {if(a.value === b.value) return a -b;} return a.value - b.value})array.sort((a, b) => {if(a.value === b.value) return a. name < b.name;} return a.value - b.value})ептну или через comparelocales
Аноны, можете посоветовать книг, цикл статей, видеоуроков по js? Хочу вкатиться, но инфы нормальной нет, либо есть, но автор забил хуй и не выпускает уроки. Может посоветуете чего, может по чему сами учились.
>>1463579> не понимает юмора> не способен отделить свое я от своего язычка> не может смеяться над собой> визжит про аргументы вместо визговНу ты просто пиздец, типичный злобный ананимас
>>1463875Начинаешь проходить его, прошел базовый курс. иди решай задачкиcodewars например, если проблем нет с программированием, то задаче к 30 будет щелкать их как семечки
Почему IE почти везде выносится в учебниках выносится в отдельную колонку, где для него прописано отдельно, что и как делать?
TypeScript:class A { doSomething(): void { ... }}class B { a: string; b: number; c: boolean; doNothing(): void { ... }}class C extends A { ... }Как объединить C с B чтобы унаследовать его свойства?const c = new C() // {a,b,c,doNothing(),doSomething()}И не получать ошибку компилятора при выебоне типаclass D extends B { constructor(c: B) { this.a = c.a; }}
>>1464144>хотеть множественное наследованиеНу и мразь же ты. Отвратительно.Хотя может и нормальное решение есть, я хз
Анон, поясни вкатывалищику, зачем везде в доках написано ставить пакеты глобально? Например:npm install -g @vue/cliЭто потом я передам приложение другому человеку и ему придется ставить этот пакет, а еслибы я поставил локально тогда не пришлось бы?
>>1464169>везде в доках написано ставить пакеты глобальноне везде, например cli ставят глобально, чтобы пути к пакетам добавлялись в path, и ты мог в любой момент через консоль их использовать.Для большинства пакетов это не нужно, только лишний раз засоряет систему
>>1464301Причем здесь укропы?Меня реально бесит, что в европейских магазинах обычно есть хохляндия и бульбандия, но с рашкой никто не работает(А ещё интернетом невозможно юзать без ВПН.Жаль, что я бездарен и не могу свалить.
>>1464073Потому что IE отличался своеобразной поддержкой стандартов и оригинальным подходом к JScript.А ещё ты читаешь какие-то учебники 10-летней давности, сейчас всё на хром пилится.
>>1464314Да свали уже нахрен, выродок ебаный. Нахуй ты нужен в этой стране, нытик хуев? Ты про европу нихуя не знаешь, а на Россию гонишь, собака.
Допустим у меня есть внешний скрипт, который может работать несколько часов.И есть десктопное приложение на электроне.Надо сделать так, чтобы в приложении была кнопка, нажимая на которую запускался этот скрипт отдельным потоком?. И я мог ловить из него разные сообщения, которые отображал в поле состояния.Основной вопрос в том как правильно запустить внешний скрипт в электроне? Аякс шоле?
>>1464352Да, ничего плохого в этом не вижу. Но если тебе что-то не нравится, можешь съебать, никто не держит. Если ты заработать не можешь на обычный съеб, то твои проблемы, сладкий.
>>1464357Почему вообще мне, русскому, родившемуся здесь, честно платящего налоги, предлагают свалить?Я имею право, говорить, что ты - говно, медвепут с его пжив - говно, и вы сделали из страны говно.Но все что я получаю от того, что ходу голосовать, ходу на митинги - усмешки от любителей подставить задницу и подмахивать бандитском у режиму.
>>1464379>огнелисПытается не отставать от хрома.>Яндекс, опера, edge etcЭто хромы с нескучными обоямиЕсть ещё сафари, он туповатый родственник хрома.
>>1464078Потому что часть их ресурсов хостится на netlify, который забанен РКН. Та же ситуация с сайтом Vue или socket.io
>>1464153Это местечковый мем или что? Почему мразь. Вполне законное желание. Уж придумываете язык, так пусть он даёт все, что другие могут языки!
зачем вообще нужно наследование тем более множественное тем более в какой-то говнообертке над прототипами
>>1464654А вообще, я и правда не понимаю, что делаю не так! Ткните макаку, помогите получить желанное боди.
Аноны, что думаете по поводу куска про использование let в данной статье? https://proglib.io/p/better-javascript/Действительно ли его необходимо избегать?
>>1462023 (OP)Test Task №7: Сравнение объктовСравнение объектов. Нужно реализовать функцию по глубокому сравнению объектов, т.е. сравнение должно проходить не по ссылке, а по всем значениям в функцию может передаваться не только объект, это надо учитывать.Кто знает, подскажите на что нужно обратить внимание при реализации такой функции?
>>14647921) сравниваешь по ссылке - выбиваешь две переменные, ссылающиеся на один объект;2) сравниваешь через JSON.stringify - выбиваешь вариант идентичных вариантов без циркулярок (недостаток - может быть нестабильным порядок ключей в теории, нельзя полагаться на этот метод на 100%);3) перебираешь ключи, заходя вглубь. В сравниваемом объекте нужно обратить внимание на безопасный доступ к свойствам объекта.
насколько плохая идея использовать хардкодинг вместо базы данных?допустим новые записи вносить программе не надо, только читать и база небольшая - насколько ок просто использовать джаваскриптовый объект вместо базы?
>>1465104хардкодинг не очень хорошо, но если и правда бд крошечная - почему нет. хотя я бы посмотрел в сторону простой бд вроде монго.>>1464657там конкретно с кириллицей затык какой-то, обычные урлы норм отрабатывает
>>1465371Нет, конечно, под ноду никто уже давно не пишет. Все уже давно уже бросили эту протухшую свистоперделку и перешли на го и раст.
>>1465396Раст хуйня без задач.А насчет го согласен.Есть ли какие-то задачи, в которых нода себя проявляет лучше го? инб4 билдить бандл
>>1465104так, падажжи.я думал, ты имел в виду файл с жсонома ты прям в яваскрипт хочешь захерачить?прямо в код херачить - плоходелай файлего всегда поправить руками можно, если что, не лазая в код
>>1465454А в чем проблема?Нахер лишние запросы гонять?Для своего удобства, я бы, конечно, в отдельном файле хранил бы данные, но настроил вебпак, что бы он упаковал все в один бандл.
>>1465363Да хоть от авторов реакта кидай копипасту, в сущности реакт от этого фреймворком быть не перестанет.
>>1465163да, я тоже к этому склоняюсьглавное чтобы не было слишком медленно, но может быть даже наоборот быстрее...>>1465314у меня проблема в том что я пишу на реакт нэйтив и его либа для работы с скуэль лайт задрала меня конкретно. сервер я не хочу, хочу бд в памяти телефона>>1465454а в чем разница, файл с джсоном это тот же джаваскрипт...в моем случае, если я все-таки дропну бд, он у меня будет отдельным файлом, который будет импортится другими и пойдет в один бандл>>1465465вообще не пони о чем тыэто не про мою ситуацию на если про веб -если это файл на клиенте то сервера вообще нет кроме того который дает статику т.е. если упадет сервер ты на сайт не зайдешьесли файл используется бэкэнд сервером который его реквайрит и потом дает инфу с него в ответ на запросы то какая разница, если упадет сервер то этот микросервис загнется независимо использует он бд или нет. ну а когда поднимется то снова загрузит объект из файла
>>1465465да, ты наверное упустил что это рид онли бд, т.е. клиентом ее контент не меняется, поэтому никакие ченджи потеряны не будут
В треде есть хоть 1 нод бекендщик, интересно послушать про решения в больших компаниях. Вангую, что нету. А пхпшников слушать не интересно, у них знания ноды на уровне: "читал где то... говорят ... и т.п."
>>1465596>В треде есть хоть 1 нод бекендщик, интересно послушать про решения в больших компаниях.Что именно интересует?
>>1465609Использование NodeJS оправданно в очень узких темах:1) твой проект сильно зависит от экосистемы JS (например, на хуиллирдах npm пекиджей, переписывать которые на другой язык или искать их аналоги - себе дороже);2) клиентское и серверное приложение тесно связаны между собой:2.1: вы пытаетесь переиспользовать типы на тайпскрипте (сомнительный кейс в виду наличия генераторов/конвертеров тайпингов, но все же был свидетелем такого варианта);2.2: изоморфное приложение, где вы пошли дальше и используете куски кода между сервером и клиентом;2.3: нода в качестве рендерера JS клиента;3) у вас маленькая тима JS фуллстакеров/фронтендеров, нужно написать MVP, BFF или банальный проектик, без задела на будущее и заебов с масштабированием, распределением нагрузки и прочей еболы сириус бузинесса.That's all fawlkz.
—Братишка! Братишка!—Бляяя, заебаал, блядь!—Как п. Как поспал, братишка? Покодить хочешь, наверное! Братишка...—Ёб твою мать, блядь, иди отсюда нахуй, блядь!—Что, что случилося?—Ты что, any везде поставил что-ли, мудак блядь?!—Не, я убирал. Я тебе тайпскрипта принес!—Сука, блядь, пидорас, блядь! Хули ты сделал, ты что, мудак что-ли совсем, блядь?!—Что ты! Я типизированый язык принес тебе!..—блядь, всё-таки any везде, ой мудель, блядь!.. Твою мать, убери это говно нахуй отсюда блядь! Сейчас будешь все интерфейсы вылизывать, блядь!—Я тебе принес типизацию!—Что ты мне принес, ты что, мудак, что-ли, бля?! Хули ты any... Хуле ты any везде наставил, мудак, блядь?!—Я уж покодил, я тебе...—Пидорас, блядь! Сука, блядь!—Братишка, ты что!—Убери это говно отюсда, блядь!—Я покодил уже!...—Ёб твою мать, блядь, и весь код any засрал, блядь!—Хотел тебе типизации дать-то!...—Мудак, блядь, ну ты мудак, блядь, я тебя сейчас убью, нахуй! Я тебя, блядь, сейчас убью нахуй, блядь!—Я тебе принес типизацию!..—блядь, ну ты пидорас, блядь...—типы данных!..—Бля, ну ты сумасшедший, ёб твою мать, а...—Типизация-то!..—Бля, с кем вы меня заставили работать, охуеть, ёбаный в рот!..—Я не засрал код, я тебе честно говорю! Я тебе я просто хотел тебе сделать доброе дело, я типизированый язык принес!..—Что, нахуй, мне - добро? Какое доброе дело? Ты понимаешь что ты все интерфейсы засрал, бля, своим any, единственный репозиторий блядь, единственный, мы из него продакт билд собираем, ты туда насрал, что, как мы теперь нормальный билд соберем, а?!—Хотел тебе доброе дело!...
>>1465624Статическая типизация из коробки, нету дженериков да, это плюс для вкатывальщиков, легковесные горутиныТМ, выше производительность кода на тех же задачах.
>>1465638Во всех: сам язык простой, можно за пару дней выучить, есть горутины и каналы на уровне синтаксиса, батарейки в комплекте, куча пакеджей, простые и хорошо документированные утилиты для сборки, тестирования и пр.
>>1465612 >>1465643>без задела на будущее и заебов с масштабированием, распределением нагрузки и прочей еболы сириус бузинесса.>выше производительность кода на тех же задачах.А как вы прокомментируете тот факт, что BitMEX, Bitfinex and Coinbase юзают µWebSockets.js. Биржа это достаточно нагруженный проект?
>>1465647Из ноды, впрочем, как из любого нормального языка, можно юзать бинарные либы, написанные на других языках, если есть к ним бинды, и>µWebSocketsэто как раз тот кейс. На ЖС тоже можно писать высокопроизводительные приложения sic!, только таргет платформа будет не нода а, например, JVM через vert.x (победитель специальных олимпиад в категории "синтетические бенчмарки").
>>1465645>можно за пару дней выучитьВсе вакансии го, связанны с перепиской пхп легаси на го. 90% вакансий на хх - php/go. Остальные 10% - 3-5 лет опыта на Го. А так да клево, что за пару дней учиться да.
>>1465634Интересно, а есть какие-нибудь задачки типа codewars, но только на вывод ТС типов?Подтянуть все эти keyof extends never и пр.
>>1465704Шутник, блядь.Говоря о выводах типов, я имел в виду нечто вроде описания тайп-констрейнтов для каррированной функции, например:https://www.freecodecamp.org/news/typescript-curry-ramda-types-f747e99744ab/или проще, тайпутилит вроде этой:https://mariusschulz.com/blog/mapped-types-in-typescript
Аноны, нужен совет:Хочу попасть в школу Тинька на фронт, но там нужно решить задачи по программированию. Использовать JS нельзя, т.к. чтение и запись данных происходит через стандартный поток. Можно использовать следующие языки: C/C++, Python 2/3, Java, Ruby, Scala, Perl, Haskell, C#, PHP, Go, Node.js. У меня есть ~10 дней. Какой из них можно взять, чтобы быстренько по нему пройтись?
>>1465807И зная основы JS сколько потребуется времени, чтобы решать задачки уровня codewars 6-5 kuy?>>1465810Да я сам в ахуе сижу.
>>1465820>И зная основы JS сколько потребуется времени, чтобы решать задачки уровня codewars 6-5 kuy?30-120 минут.
>>1465831>Там же база на втором питоне вроде, не?Я хз, не пошел к ним на собес вообще, попросился в своей галерке на проект другой финтех конторки, где уютно и лампово задрачиваем мохнатки на фронте.
Аноны мне одному кажется, что у кантора задачи, немножко ебанутые, в том плане, что когда смотришь "решение", там нахуярено так, что даже понять его сразу не просто, не то, что бы для новичка было реальным. Да и в комментах, решения постят не ждуны нихуя, а хуилы, которые пришли повыебываться.
>>1465832Так я от них хочу получить 3 месяца обучения, чтобы потом на собесах можно было говорить, что вот мол, обучение прошёл.
>>1465831Да, но для ознакомления очень хорошо заходит. Правда после введения приходится гуглить реализации списков и хэшей на жс.
>>1465804>Завтра ищешь в интернете книжку Categories for the Working Mathematician. Похуй если ничего не поймешь. Затем идешь на haskell.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь определения языка и стандартных библиотек - The Haskell 2010 Report, чтобы от зубов отскакивало. Когда напишешь свой первый катаморфизм, по пути изучив теорию типов на уровне TaPL-а, скачиваешь и изучаешь любую хаскеллевскую библиотеку с первоклассными функторами и морфизмами, рекомендую category-extras или recursion-schemes. Как переделаешь стандартную прелюдию, чтобы по крайней мере все рекурсивные схемы были выражены через комонады, можешь идти дальше - тебя ждет увлекательный мир теории категорий. Катаморфизмы, параморфизмы, зигоморфизмы, хистоморфизмы, препроморфизмы, анаморфизмы, апоморфизмы, футуморфизмы, постпроморфизмы, хиломорфизмы, крономорфизмы, синкрономорфизмы, экзоморфизмы, метаморфизмы, динаморфизмы алгебра и коалгебра Калвина Элгота наконец. Успех хиккующих выблядков / просто быдлокодеров типа рейфага или сисярп/джава-девелоперов, которые работают в Люксофте не будет тебя волновать и уже через пол года ты будешь получать такие гранты, что любой профессор будет течь при одном упоминании списка твоих публикаций.
>>1465833У ноды отличная официальная документация, на сторонние ресурсы только больше потратишь времени, по крохам собирая нужную инфу.
>>1465837>реализации списков и хэшей на жсЕбать ты злой. Это такие как ты наверно ядра ос и управление бпла на js пишите.Хотя ладно, мож и сам как-то попробую его в js пореализовывать.
>>1465842>Это такие как ты наверно ядра ос и управление бпла на js пишите.Ничего такого не делаю, просто интересуюсь, как подобные вещи тут реализованы и всё. Хотя, в прошлый раз тут спросил про списки, так там срач на половину треда был о них, а внятного ответа я так и не получил.
>>1465839И там описано, почему для стандартного потока задача сложения двух чисел решается таким образом?
>>1465866Просто на то же кодворсе, задачи тоже сдаются на Ноде, но там нет ничего такого. Просто пишешь функцию и радуешься жизни.
>>1465877А инструменты сборки, по-твоему, на расте писаны? Конечно нода нужна, чтобы компилировать и запускать всё это дерьмо.
>>1465831ну и чтотам все примеры элементарно переписываются в джсместо deque просто массив с push и shift например>>1465837нафига лолдостаточно понять что любой объект в джс это хэштаблица (включая массивы кстати, за настоящими массивами это в сишку)списки вообще почти нигде не используются
>>1466172@ ДЕЛАЮ ПЕТ ПРОЕКТ ХЕЛЛОУ ВОРДЕ@ ИНТЕРЕСУЮСЬ ПРОИЗВОДИТЕЛЬНОСТЬЮ @ НЕ МОГУ ОПРЕДЕЛИТЬСЯ С ВЫБОРОМ ЯЗЫКА
>>1466014Двачую firebase. Но написание тестов под него, если он например с редаксом, это как-будто значком интеграла выколупываешь сам себе мозг через нос ящитаю.
Пацаны, чет неуверенность в себе пиздец.Расскажите про ваши собесы на джуниор фронтаДрочу реакт, но из за основной работы так долго и тяжело идет
>>1466235тоже основная работа сильно назад тащит, да я еще слишком за многое схватился. впрочем на реакте простом и нативном я писать уже могу, но на месяц с лишним задерживаю первое приложение на гугл плее...
анон,допустим есть поле в базе с именем файла изображения . Получаю само изображение img=src"...Вопрос, как получить превью новой картинки вместо старой,после как ее выбиру через кнопку обзор.
Уважаемые жыэсеры, есть ли какие-либо альтернативы Jest и Enzyme для тестирования React? Сил нет уже терпеть это говно.
ну например джест плюс паппитеер лолалсо по минимуму можно просто джест снапшоты гонять, мама смотри у меня есть тесты
>>1466428Нет, ну даже простейший пример, какой-нибудь компонент таблицы с сортировкой и фильтрацией. Мне лучше всегда быть спокойным, что если я туда допилю еще какой-нибудь функционал, у меня не сломается сортировка, допустим. Поэтому лучше всегда иметь тесты, чтобы периодически их прогнать и спать спокойно.
>>1466439Для регрессии лучше всего Puppeteer, Nightmare и тому подобные.Алсо, всю логику крайне желательно выносить за компоненту, и тестировать отдельно, той же авой, например.
Аноны знающие Ноду, подскажите, с этим кодом всё нормально?А то запускаю его у себя, а он просто в себя бесконечно цифры принимает и ничего не выводит.
С какого момента стоит перелазить на фреймворки? Что надо хорошо изучить в ванильном для работы во фреймворках?
>>1462023 (OP)>>1464792Test Task №6Преобразование чисел в буквенное отображениеНаписать функцию, которая делает текстовое представление любого числа. Например fn(3765) => 'три тысячи семьсот шестьдесят пять' (максимум шестизначное число)есть идеи как реализовать это? Первое что приходит в голову это делать через swich-case. Но мне кажется должно быть более элегантное решение
>>1466847Смещаться по длине числа, например:5: длина 1: 0 -> пять,55: длина 2: 0 -> пятьдесят; 1 -> пять... и т.д.Можно завернуть в рекурсию, например.
>>1466235Рассказываю как обычно было у меня.1) Сначала обычно звонит эйчар и задает разные вопросы о тебе. Несколько раз задавали вопросы по js и было явно видно, что мои ответы просто сверяют с листком, понимания 0. Если все ок, то просят сделать тестовое задание или сразу назначают дату собеса2) Тестовое задание. Должно быть нейтральное и не более чем на день работы. Если видишь хоть малейший намек на то, что это не тестовое задание, а какой-то реальный таск, то дропай моментально. Никаких заданий в стиле: "сделайте фронт как у ХХХ", "есть api, надо сделать к нему фронт(и это не банальный тудулист)", это тебя просто юзают бесплатно. Особенно такой хуйней любят страдать всякие крипто-блокчейн-стартапы и галеры с днище зарплатой. Если тестовое выполнено нормально, то назначают дату собеса. Фидбек по тестовому мне давали ну очень редко.3) Сам собес. Сильно зависит от упоротости компании. У меня проходили обычно так:- Беседа ни о чем, для завязки диалога. - Вопросы где работал, что делал (или про учебу, если ты не работал)- Решение задачек на листке/доске/ноуте, могут дать листок с кодом из какого-то реального проекта и спросить, что он делает- Разные вопросы на общие знание компутер саенса. Протоколы, алгоритмы и прочее.- Смена ролей, теперь я спрашиваю о компании- Мы вам перезвонимТут главное не очковать, отвечать уверенно и не молчать. Если решаешь задачку, то думай вслух, короче давай людям обратную связь, что ты не просто залип на листок. Если чего не знаешь, отвечай что не сталкивался с такой проблемой, но сможешь найти решение, если хорошо погуглишь и изучишь проблему. Можно отвечать примерными размышлениями, никогда не сталкивался, но попробовал бы решить так и так. Это лучше чем просто молчание.Если идет много вопросов не по теме фронта и это не гугл, то тебя скорее всего просто валят, чтобы ты согласился на зарплату меньше. По этому пункту сразу скажу, что лучше стоять на своем и не соглашаться. Оптимальный вариант, посмотри среднее предложение по hh в своем городе и требуй среднюю +20%. На все заходы про зарплату поменьше отвечай четким отказом, соглашаться стоит только если есть какие-то охрененные для тебя преимущества( например можно не ходить на работу и пахать из дома).В какой-то момент тебе передадут инициативу и предложат позадавать вопросы. Рекомендую задавать побольше и хорошо прощупать почву, где придется работать. Узнай про рабочее место, а еще лучше попроси показать, посмотри на состояние техники, тесноты, удобство мебели, это говорит очень много о отношению к сотрудникам. Обязательно поговори про форкфлоу, кто ставит задачи, откуда их берут, что делают, если задача не ясна и нужны уточнения. Если видишь, что нет четких ответов (и это не стартап из двух Васянов), то это плохой знак, значит задачи ставятся как попало, в конце проекта окажется, что заказчик хотел не то, а виноват в этом ты, так как должен был сам работать ПМом бесплатно.
>>1466862Что ты под этим понимаешь? Писать фронт на голом js? Сомнительная перспектива, любишь двигать дом элементами и рычать как животное?
>>1466922>svelte например избавляется от виртуального домаУ Svelte, lit-html и подобных им технологий используются продвинутые техники патчинга реального дома - мемоизация доступа к дому, заигрывания с шедоу домом и проч.
>>1466920>можно ли ноду рассматривать как серьезный инструмент?Для каких задач? И что предполагается под мистическим "серьезным инструментом"?
>>1466920Такие вопросы не имеют смысла без уточнения деталей. Что для тебя серьезный инструмент? Какие у тебя требования к беку, будет ли именно нода узким местом? Большая часть того, с чем ты будешь работать вряд ли будут иметь дикое количество реквестов в секунду, а если и будут, то скорее всего узким местом станет база данных, а не сама нода. Сейчас нода это удобный инструмент для javascript разрабов, помогает быстро писать бек для себя силами одной команды. Если тебе для трудоустройства, то на ноде вполне достаточно работы, а фулстаком, так еще и неплохие деньги дают.
>>1466952Как раз для генерации бложиков нода не демонстрирует никаких преимуществ перед другими инструментами, а вот для реалтайм приложений - вполне годится.
>>1466922Поэтому и надо уточнить, что понимать под ванилой? И что под "перспективами". Если нужна работа, то нет, садись на один из трех стульев ангуляр/реакт/вью. Если тебе для пет проджектов и изучения, то можешь брать и svelte и руками дом двигать, для обучения это будет куда полезней. А так ты js будешь использовать везде, основы языка никуда не исчезают же в реакте, тебе нужно знать es6-7, уметь не выстрелить промисами себе в ногу и тп.
>>1466958Я не спец по монге и ничего не могу сказать. Могу сказать только то, что в крупном корпорате любят sql базы, постгре и оракл, а на nosql смотрят с подозрением. Обычно данные вполне себе ложатся хорошо на таблицы и postgre хорошо заходит. Для петов можно юзать и монго, она тоже вполне себе зрелая база. Опять таки, тут нет смысла говорить о конях в вакуме, если четко описать насколько хаотичными будут данные и какие объемы ожидаются и какая скорость записи потребуется, то достаточно будет посмотреть заявленые характеристики разных баз данных, чтобы понять, пойдет ли она для тебя или нет
>>1466974И еще одно, нет смысла сравнивать только технические характеристики. Если денег дохера, то конечно, лучше набрать отдельные комманды по базам, беку и фронту. Но скорее всего денег в обрез и все придется делать самим. И вот тут раскрываются достоинства ноды и монго, все на яваскрипте, можно набрать одних js разрабов на небольшой проект
>>1466981тем что она nosqlвон выше я спрашивал мнение по поводу использования файла с джаваскриптовым объектом вместо бд, nosql устроена примерно так, в ней данные хранятся примерно как в джаваскриптовом объектеsql база устоена по другому, в ней данные хранятся не ввиде отдельных документов с внутренней иерархией, а в виде таблиц, поля которых могут быть связаны друг с другомв nosql базе связь установить сложнеену вот например у тебя есть форум. в nosql базе будет допустим объект тред у которого есть массив субобъектов посты, найти тред по посту может быть не так простов sql базе у тебя например может быть таблица треды и таблица посты, в таблице посты есть колонка какому треду принадлежит пост и найти по посту тред гораздо проще
>>1466847https://pastebin.com/1k3eivgyСоветы по наименованию переменных и прочее конструктивное мочеиспускание приветствую.
>>1467007потому что могутпотому что людям не нравятся перезагрузка страницы которая происходит когда сервер посылает штмллюди предпочитают чтобы все менялось без перезагрузкикроме того это снижает нагрузку на сервер т.к. от него остаются почти только одни апи микросервисыа клиент сейчас стал быстрым и тянет многое
>>1466998Не задавай такие глупые вопросы, почитай хоть немного гугл по теме, а потом уже спрашивай. Nosql хороша там где слабосвязные данные, у которых часто меняется формат. Вот к примеру хочу я собирать биг дату, мне разные магазины и сайты кидают свои данные и их надо бы как-то сохранять. А у них у всех свои форматы, более того, они их еще и меняют постоянно. Вот тут mongo себя и раскроет, я просто пуляю данные в разные коллекции и не парюсь о структуре. А потом биг дата майнер берет мою базу и анализирует эти данные и находит, что ты часто заходил в gay разделы на порносайтах, продает эту инфу рекламным агенствам и тебе алиэкспрес начинает показывать огромные дилдо в разделе "рекомендации"
>>1466745Так в этом и проблема.Это программа должна сложить два и числа и выдать ответ. А она только принимает числа, нихуя не выводит и закрывается только через ^C.Отсюда вопрос: это я чего-то не понимаю или в Тинькове хуйню прислали.
>>1467021Никогда не имел дела с нодой. Она не ждёт end-символ? Это под виндой (cmd) ctrl-zА по *nix лучше пайпы из файлов юзай
>>1467021Ну ты программу то посмотри глазами. Ты подписался на ивент on('end'), а он не тригерится. Первый запрос в гугл показывает, что end тригерится при нажатии CTRL+D в консоли
>>1467024Так он результат не выдаёт. Я его и через ctrl+C закрыть могу, а толку с этого?+ программу не я писал. Ту, которую сам написал компилятор Тинкова бракует.
>>1466996У меня такая хуйня получилась, лол:https://reasonml.github.io/en/try.html?rrjsx=true&reason=DYUwLgBArgdglmAzhAvBAFANwIbCiALgkTACc4YBzASlQD4AoCYgdwQGMALDHPEWgN5MIAHwgAiAIzj6EAQCsRgPhBALCCAOEEC8ICPkBfYWPEAmGSjpzFKwEwggBhBte5gYDMJswpGAhEEACIGrv6JAFhdzEUBxEEBWEHdAaRBPMN8HCQBWILdAfhBAeRB3QBkQONEJADZkxUAJEDDAQRAsnIMAdkKRUrDAHhBs3T9xAA5ayyV6psqJAE5alTDLDOb7XIB9WXFxYR0AbgYGUEgwEBhEAFEAD1QeXHwiEnIqWlNhRDYwLgO+QVbJAAYhsrG+qWlZN1VNDWsVIAxEGsFRa8Skxm+FksYX+QJB40ezihHm8cOBoImBkkgRR4S8kXRCI+kiSKPS7iJmMeBRRJXKVMR4MkNRR9Q08OpzI6KK6PUZJMGKOGo0pAIxTKmMzmzEWy1WEHWmwAkjB2PssIdCMQyBQaPRLtdbpr7nJWpDTMErOLiWDcuJkZa3F41JzJQZcU7FKUlJ4lIAuEA+ZK9IgpmWGpQyH1pIfpWQjUbt1VqPXDb3cHx5Ib5jTTkYzSYGr1GGm67iUfWmltm8yWK3AEE4sAAJqQQM3kGgTUcdad9RdmFcONxu-wzcyU+WPhbXNCyu4fIWHbUXeVbEvPbPQhFovP11jErUwz6CwfxDGt3HMiePqyQ6mb0us1uc01H2ehSGRWN334q2Ya1lOsFTATgAHsoEQbAYA7DVeB7E49XOVxhBA-ZnUiSMQn3JZmBAyA0AwrDFzlPCGzACj0MUKIsLsOsyMgKB9lgBBEFHah6NYYc7nwB4JxRVR-ggAASMBpyGGERIoj5HS3YT0CgWhRLEjdankxSpJUs9gzkhSlIorTWgvYJ1P06SlzvXSNOUwzwWfEy9M02z7U-KyzOcsR-wkGUIDlOV60gNt1QoMAABUwIAZTIDUYCgABbIgQoAGggAA-AAHNsADM4B2IgwPSsA4DAmB0EQs4UAAfhS9BqGQ8cIAVE59nKyhJjArLJhC9BYrijjlgYiActIEgABE4EoBB9iivsADpECgAAjMqyBSp4UskfrBrbMaJtY6bdSoealpW0gNpSma9Vm0AqFA07aAAWggTbOIVdKcr2FBhEHI0R0ykAPr45hcgAORKkBpW+3IIrAuKQHQdL6vSqH-J+7j0Euo6bsoO6TjqhqxEkWR3tyiAAGoyYkKmKegeAkHuvxDANYGIF6iAAB4IEMJ4IEqqHmBJvYaaVbYdnuiACH5iAQvCmb0Cl5gQvazrWvQHawHGyakGoJKFbS-6PpQQXycpmQZGFjZEFVdh0GG3atZ1vXat1lnmGoPxHGZ4GZcish5dd6WYDAZXJlV9XNdYx2A4y7LcqNj6Tap83KabGC2w7W24BGjW9rAKPXedqH3fifwvcVoPZb9qWlY60PDsoNWQHtyOXddmOAbj42abNxPQIgqCYLYu2c4d1uWcLlni6laswDAsDGpKygUuwUhKDXyhOE3gBCHy-LrAApRBrrAhufblxwqjyBIarq-qgAНадо кодгольф дрочить
С какого момента можно начать изучать JS? Какая для этого должна быть база? Стопроцентное понимание HTML+CSS?
Как распространяется лицензия если фронт создан с использованием открытых "GPL" библиотек, а бэк мой?Надо ли будет делать бэк тоже открытым?
Node-господа, подскажите. Написал программу, которая принимает числа и выдаёт их сумму { https://jsfiddle.net/794bkd3o/1/ }. Проверочная система одной хуйни выдаёт ошибку. Что не так?
>>1466963>Corporate users of Node.js software include GoDaddy, Groupon, IBM, LinkedIn, Microsoft, Netflix, PayPal,Rakuten, SAP, Voxer, Walmart,and Yahoo!.
>>1467252Задания не видел, но раз уж ты читаешь через stdin, то почему бы и не выводить результат в stdout?
>>1467258Ангулар предпочитают серьезные пацаны.Реакт предпочитают хипстеры.Реальных преимуществ ни у кого нет
>>1467294JS - говно, а вот TS - лучшее, что с оучалось с актом со времён жиквери.Ну и ждём лучший webassembly, сможем все писать на расте.
>>1467379Wasm не совсем для того делают. Фронт дальше будут писать на жсе, а через васм будут прикручивать модули, которые способны намного эффективнее жса делать некоторые вещи.
>>1467390Это лишь текущая имплементации. Готов спорить, что с развитием васма и добавлением ему новых браузерных при, жс вымрет.На растах/нимах/других новых языках, да том же шарпе, намного приятнее писать
>>1467352Так ты обфускацию заебошь. Все имена переменных сокращаешь до одного символа. Потом убираешь все отступы и переносы строк. Все. Твой исходный код становится не читаемым.
>>1467392Это как посмотреть. У нас на работе продукт на Vue с SSR летает.>>1467397Не знаю-не знаю, вокруг жс огромнейшая экосистема, на другом языке всё это развивать заново эти же сумасшествие. Да и он сейчас не такой убогий, как раньше, в ES6-7-8-9 хорошие фичи добавляют, и TS есть.
>>1467397>жс вымретОх, и не скоро же это будет.>На растах/нимах/других новых языках, да том же шарпе, намного приятнее писатьДобавь сюда еще Reason/BuckeScript/OCaml, Elm, PureScript, Haxe и тучу еще, менее известных языков, которые таргетятся на фронт.И все они крутые по-своему, пока пишешь свою изолированную аппу. Но как только возникает необходимость интеропа с ЖСом а именно на жс написано подавляющее количество библиотек для работы с домом , начинается БОЛЬ. Сам-то много написал фронтовых апп на растах/нимах/других новых языках?
>>1467399это получается что обработчик, допустим важного вычисления также будет загружен в браузер и любой сможет подправить че надо?
>>1467494Da ti zaebalПеренаправлять stdin пробовал или нет?!https://stackoverflow.com/questions/11447598/redirecting-standard-input-output-in-windows-powershell
>>1467414какое именно важное вычисление ты собираешься обрабатывать? вообще если оно такое важное, оно должно делаться на бэке и слать на фронт только результат
>>1467402Какой блядь костыль? Че ты несешь? Сейчас все ровные типочки обфусцируют. Если твой код не обфусцирован - ты тупо лошара. Учись тупо обфусцировать, если хочешь заниматься яваскрипт-разработкой.
>>1467397веб хуйня все эти йоба ангуляры вуи не добавляют сайту функционала даже верстка иногда умудряется ехатьжду когда будет только старый добрый cli
>>1467494Вот с таким выводом ```process.stdout.write```точно работаетМожет, дело в том, что консоль у окна браузера подразумевается?
Хочу сделать сразу много однотипных fetch и обрабатывать результаты по мере их поступления.Если я запихну все фетчи в Promise.all, оно будет ждать, пока выполнятся все, прежде чем дать мне ответы.Мне нужен скорее генератор, который будет yield последний resolved промис. Может, уже есть какие-то готовые решения для такого?
Заебался писать утилити функции уровня isObject, escapeString, dropKeys, которые есть в базовой библиотеке любого адекватного языка, попытался установить лодаш, размер минимайзед бандла скакнул на 200кб(весь реакт-редух весит меньше). Удалил это говно, продолжаю писать сам. Спасибо жопаскрипту за счастливое детство.
>>1467649Ну так и делаешь много однотипных фетчей, которые передают свой результат в какой-то центральный модуль, где эти результаты обрабатываются, в чем вопрос?
>>1467672>200кб на базовые утилити функции, из которых больше половины использоваться не будут вообще никогдаОх уж эта щедрая джаваскриптерская душа, какие на твоем сайте системные требования, кстати?
>>1467668>размер минимайзед бандла скакнул на 200кб(весь реакт-редух весит меньше)T R E E S H A K i N GREESHAKiNG
>>1467682Спасибо, что открыл глаза на такую охуенную технологию, которую мой билд тул имеет по умолчанию.
>>1467686Тебе самому-то не смешно? Бандл минифицированный у него увеличился на 200кб из-за пары-тройки функций-хелперов, вообще охуеть.Значит ты импортишь функции из корня, и твой билд тул не настолько умен, чтобы мультипасс делать и знать, что залетит в бандл, а что нет.https://www.azavea.com/blog/2019/03/07/lessons-on-tree-shaking-lodash/
>>1467687Только эти четыре строчки увеличивают размер бандла на 100кб, или недостаточно трясу, надо еще накатить зависимостей и плагинов?
>>1467642>веб хуйня>жду когда будет только старый добрый cliЗделой пустую веб страницу с 0% разметки и стайлинга, весь функционал реализуй через консоль (внезапно, у браузеров она тоже имеется).
есть cli браузерыlinks/links2/lynx тот же, а еще w3m помню я даже сидел на одном из них на ычане лол (иирк на w3m под винду)вроде еще есть веб браузер емакса
Вкатываюсь потихоньку. Кантор + ютуб. Пытаюсь переварить все эти объекты, прототипы, классы, методы, гет сет. Плохо понимаю, для чего вообще вся эта еботня нужна на практике. Типичные задачи типа задал имя, сложил два числа, и вывел hello, ситуацию не улучшают. Пытаюсь понять, когда придет озарение, ждать фреймворков ? или оно вообще не придет ?
>>1467928Начни разрабатывать простейшие аппы. Например, напиши реактивный калькулятор ИМТ. Фреймворки пока тебе не нужны.
>>1468000зато после нее не будет вопросов>Плохо понимаю, для чего вообще вся эта еботня нужна на практике.
>>1467928хз, может кому как, но советы вроде `делай простые приложения` никогда не помогалиДаже после 200 хелоу вордов не придёт с неба озарение насчет организаци кода хоть в крестиках-ноликах, насчет всяких архитектурных лайфхаков. смотреть тьюториалы тема.смотришь как кто-то с нуля приложение пилит, думаешь, это ж просто, а если вот здесь подкрутить, может вот так-то выйти, уже из трёх таких тьюториаловских приложух можно своего франкенштейна собрать а дальше франкенштейны круче будут становиться
>>1468022Учиться по видосикам без практики - это как смотреть порнуху. Вроде все нюансы знаешь и видел любые извращения, а в первый раз все равно либо хуй не встал, либо кончил за пять секунд.
>>1468046Все пишут на нормальных языках с удобными фреймворками, без нодокостылей. Это же не браузер блять, тут выбора охуеть сколько, какой человек в здравом уме выберет жспарашу себе на сервер?
>>1468141Уверен, что ни на пыхе, ни уж тем более на руби ты ни строчки не написал, иначе бы не нес такую хуйню.
бляяя, я нихуя не понимаю как вкатыватьсяв ньюфаг треде говори о сицп и хтдп, в бе скидывали забугорный роудмап, шерстя который не становится понятнее, на хтмлбук инфа с вольного перевода какого хуя по пятой версии уже подается как людям знающим, а я прям ну ни шиша не шарю. дайте ебаных книг и ресурсов по хтмл, цсс и последующим жс, аноны.
>>1468193Советую хтмл и ксс вот по ней начать.https://www.ozon.ru/context/detail/id/149238376/После можно парочку своих страничек сверстать и переходить к freecodecamp, если инглиш позволяет.
>>1468193Погугли это >>1467947Книга есть на русском языке. Если ее сможешь пройти до конца, считай большую часть пути ты выполнил.Хотя я начинал с паскаля, жс мне не показался чем-то сложным.
>>1462203хуки появились полгода назад, а куча проектов уже написано на классов, куча людей привыкли писать на классах и не собираются переучиваться. а так да, нахуй не нужны эти классовые компоненты теперь
>>1468450А хуле там переучиваться? Просто синтаксис немного другой, объявляешь компонент иначе, стейт и лайфсайкл иначе делаешь. Ну и на хуках нельзя сделать некоторые вещи, которые можно сделать классовым компонентов. При этом разрабы специально некоторые вещи оставили недоделанными, то есть не намереваются менять это.
>>1468510>похуй на утечки памятиВай нот? Поставил pm2 и на хую вертел всякие утечки. Ну а если твой сервант стейтфул, то тебе хуёв за воротник, да еще вагон и маленькую тележку вдогонку.
>>1468564>Ну и на хуках нельзя сделать некоторые вещи, которые можно сделать классовым компонентов.какие?
>>1468603Нельзя коллбеком после сетстейта выполнить диспатч редаксом, например. Есть useEffect, но он выполняется при маунтинге.
не знаю насчет диспатча ридакса но useEffect без второго аргумента выполняется каждый ререндерможно его сделать выполняться только на изменение определенной переменной (useState хука, пропа) https://til.hashrocket.com/posts/z1xzaupgpd-run-side-effect-when-a-prop-changes-whooksс пустым массивом он выполнится только раз на маунте
>>1468650Надо чтобы не выполнялся на маунте но выполнялся после каждого изменения стейта из useState.
>>1468447>>1468598То есть жсдурачки всерьез считают, что утечки памяти на уровне языка - это норма и что НУ ПРОСТО ПЕРЕЗАПУСТИ ЛОЛ - это хорошее решение данной проблемы? Нихуя себе. И это мы еще даже не притрагивались к убогому синтаксису, мутабельности всего подряд и монструозным библиотекам на каждый пук, потому что в самом языке базового функционала не хватает ни на что.
>>1468450Так в новых проектах как писать? Какие компоненты всё-таки лучше делать классовыми? Или теперь классовый только App?
>>1468681Надо попробовать, если получится синхронно выполнять функцию только после изменения useState, то перепишу все на хуки на своем проекте, а то за ними будущее, судя по всему.
>>1468681Уроки тюнинга перформанса от пейсбук - чтобы функциональный компонент юзал shallowCompare, нужно обернуть в memo. Ok. Чтобы не пересоздавалась функция в теле компонента - её нужно обернуть в useCallback. Не забудь добавить в деплист ссылки на все используемые в теле колбэка переменные из окружения, включая ссылки на другие коллбэки, а то рискуешь подорваться в самый неожиданный момент, используя протухшую функцию. Ах да, апдейтер из useState можно не добавлять, функция персистентная. Вычисления обрабатываются при каждом ререндере? Запакуй их в useMemo, и не забудь добавить их в деплист, а то... ну, ты понел.И вишенка на торте - хочешь продиагностировать ререндеры через официальное реакт расширение ануса? Хуй там, из нового экстеншна выпилили этот функционал, потому как Даня "наше всё" Абрамов сказал, что тупые макаки не правильно интерпретируют метрики перформанс тулз, и что ререндеры - это ок на самом деле (обратите внимание, что этот же человек немногим ранее говорил, что любые сравнения в глубину лучше ререндеров!).Это просто праздник какой-то!
>>1468695Какое вообще преимущество у функциональных компонентов? Нахуя они такие нужны, если в классовых все делать удобнее?
>>1468713наоборот, в классовых полно всякого мусора - конструкторы, this с долбаными биндингами и т.п.
Подскажите ньюфагу в JS. https://codepen.io/lore1ei/pen/KKPZrZB .В консоли можно глянуть, что выводит. Теперь хочу сделать, чтобы отнимало последнюю букву каждый раз и выводило.
>>1468744const t = "Я хочу умереть";[...t].reduceRight((acc, v, i) => (console.log(acc), acc.substr(0, i)) ,t)
>>1468744var nya = "Я хочу умереть".split("");while(nya.length > 1){ console.log(nya.join("")); nya.length--;}
Сап двощь, проясните пару моментов про импорты и экспорты. Я так понял что при импорте исполняется весь код внутри и это просто удобней для ограничения скоупа переменных? А если два раза импортировать две разные переменные из одного файла? Мне канеш что-то подсказывает что имплементация этого говна зависит от инструментов типа вебпака или бабеля но я вообще не врубаюсь//1.jsfor (let i = 0; i < 100000000; i++) { console.log('yo');}export default 'my var';//2.jswindow.onscroll(() => console.log('yo'));export default 42;//index.jsimport var from './1'import num from './2'//ваш кот
>>1468780> nya.length--Не поняолnya - массивArray.length - это геттер длины массиваКакого хуя Array.length-- работает как сеттер?Я хуею с джаваскрипта
>>1468984Да при чем здесь это, у меня шалопай просто спрашвиает куда легче вкатиться в ноду или во вью.И между другими серверными языками нода не сильно сложная?
>>1468986>Какого хуя Array.length-- работает как сеттер?Камон, это же эквивалентно Array.length = Array.length - 1, прчиём здесь жс?
>>1468989> Array.length - 1Вот эта хуйня должна взять длину массива (ЦИФОРКУ) и вычесть их нее единицу. Но никак не уменьшить реальную длину массива
допустим есть шашки.вопрос-кто будет отвечать на сервере за игру-нода или к-л фреймворк(на питоне,жаве)или без разницы?
>>1469032имеется ввиду,кто будет отвечать за связь между игроками и через кого будет идти механика игры?
>>1469034Рассужу как дилетант. 1) Можно всю инфу гонять через сервер 2) А можно роль сервера свести к тому, что он настроит соединение напрямую между клиентами но это чисто моя фантазия, не знаю насколько это возможно
>>1468986 / Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. / length: number;
>>1469032> к-л фреймворкхз что этоТы делаешь ход, бек проверяет всю валидность сего процесса и если всё ок то диспатчит событие о новом ходе, которое слушает клиент. Это если в двух словах. Реализовывать можно и через апдейты в бд и лонгполлинг, через вебсокеты с редисом например, есть еще ивент сорсинг, короче уйма вариантов
>>1469034Старый, проверенный временем подход — long polling.Современный и более отзывчивый — websocket (>>1469114).Условно бессерверный (если логика игры будет на клиенте >>1469089) — WebRTC.
>>14689815 min на проверку — результат на прикреплённом файле.>А если два раза импортировать две разные переменные из одного файла?Код исполнится один раз, во время исполнения импортируешь две переменные.
>>1468974node.js — для бэкенда; легче, если до этого писал бэкенд на другом языке.vue.js — для фронтенда; легче, если до этого писал фронтенд.
>>1468774Server side rendering, когда сервер формирует html из шаблонов, написанных, например, на php.
>>1468996очевидно когда читаешь значение биндинга то на чтение, а когда присваиваешь ему новое то на запись>>1468981>Я так понял что при импорте исполняется весь код внутрии в require тоже самое
>>1469233Попробуй pusher.js, там легко, если хочешь чтобы было ОЧЕНЬ легко то на бек юзай laravel а на фронт laravel-echo
здоровы! киньте плиз какой-нибудь проект на ангуляре восьмом, где используются все бест практисис. только, чтобы проект был не игрушечным, хочу посмотреть как взрослые дяди пишут фронт
здоровы! киньте плиз какой-нибудь проект на ангуляре восьмом, где используются все бест практисис. только, чтобы проект был не игрушечным, хочу посмотреть как взрослые дяди пишут фронт
>>1469385>где используются все бест практисис>жс тредНихуя у тебя хотелки. Если хочешь посмотреть на более-менее хороший код без говна, то на жаваскрипте его придется искать неделю, тут 90% коммьюнити состоит из 20-летних вау-школьников, у которых жс был и остается первым в жизни языком.
>>1467692тебе надо lodash-es, чтобы работал treeshaking. у обычного лодаша модули в commonjs лежат, а они не шатаются
Правильно ли я понимаю, что здесь return возвращает ссылку на obj, соответственно и в А и В будет ссылка находиться, ведь два объекта не могут быть равны, даже если они пустые
>>1469485что это за идиотизма кусок? это кантор?только не говорите мне такую муйню спрашивают на собесе, это какая-то смесь говноолимпиады и дурости>Правильно ли я понимаю, что здесь return возвращает ссылку на obj, соответственно и в А и В будет ссылка находиться, ведь два объекта не могут быть равны, даже если они пустыеты когда обращаешься к любому объекту, а объект в джаваскрипте это все кроме строк, цифр и т.п. фигни (логические значения, undefined, null), так вот когда ты обращаешься к любому объекту ты обращаешься к ссылке на него. передаешь в функцию ссылку на него, возвращаешь ссылку на него, присваиваешь переменной значение ссылки на него и т.д.
>>1469508автор все правильно написал, мне не нравится что он задает какую-то идиотскую загадку и без нужды использует newа так да, вот сам запусти и проверьconst arr = [1, 2, 3];function a(arr) {arr.push(4);return arr;}function b(arr) {arr.shift();return arr;}console.log(a(arr) === b(arr));// -> true
>>1469521я написал же уже, читай >>1469502>когда ты обращаешься к любому объекту ты обращаешься к ссылке на него. передаешь в функцию ссылку на него, возвращаешь ссылку на него, присваиваешь переменной значение ссылки на него и т.д.кантор говноучебник, простейшие вещи объясняет так что ничего не понятно
>>1469551переменные это биндинги к объектам или примитивным типамфункции объекты все верно const arr = [1, 2, 3];arr.x = 4;console.log(arr);// -> [1, 2, 3, x: 4]function fn() {} fn.foo = 42;console.log(fn.foo);// -> 42
Здравствуйте программисты html!У меня глупый вопрос возник, например.Как гуглить хуйню которая позволяет делать так, чтоб при нажатии на ссылочку обновлялась только часть страницы? Какими средствами достигается такой эффэкт?
>>1469683С такими стартовыми условиями делать это ты заебёшься, мне кажется.Хотя, попробуй, погугли iframe.Возможно, тебе хватит.А вообще - это достигается программой на JavaScript.Гуглить - то, что ты написал + слово "jquery".
>>1469693Спасибо, анон. В шкалке верстал резиновые шаблоны и сильно гордился, нынче же нихуя не помню. Спустя десять лет пердолю пистрон/джанго от нехуй делать, и чет заебало то что в моих тестовых поделках обновляется вся страница. Не модно нихуя
>>1469695А, ну если так, то это другое дело.Возможно, тебе стоит посмотреть Vue JS.Также, полезные слова для гуглинга:AJAX, XHR, REST API, fetch, promise.
>>1469683Если у тебя данные подгружаются, делаешь аякс запрос и меняешь блок полностью, 3 строчки на jquery, а если модно стильно молодежно то пили приложения на реакт. Или вью. Похуй.
Платина, чем занимается мидл фронт и чем занимается милд бэк в вебе? Читаю чем занимаются во фронте, и чет уныло пиздец.
https://codepen.io/lore1ei/pen/dybdWew . Пытаюсь сделать количество попыток, и не могу понять почему при else atempt--, отнимается как-то по странному. Посмотрел решение, там сделано что попытки отнимаются сразу как ты вводишь букву, а я хочу сделать, чтобы они отнимались только при неверном вводе.
Чому это не работает?var indexController = function(req, res, next){ res.render('index', {title: 'Express'});};router.get('/', indexController);А вот это работает?router.get('/', function(req, res, next) { res.render('index', { title: 'Express' });});Я вообще - пиздон макака и знаком только с SS5 и Jquery, ковыряю экспресс и не понимаю чому это не работает.
>>1469855потому что ты отнимаешь попытку на каждую проверку и делаешь проверку на каждую букву в словенапример у тебя слово "кошка", а буква названа "ш", она конечно в слове "кошка" есть, но пока проверка до нее дойдет она отнимет две попытки лолвообще проверку на наличие буквы было бы проще сделать с помощью word.indexOf(letter) без всякого явного цикла, одновременно проверят наличие буквы и указывает ее место, если тебе надо все такие буквы в слове найти то word.split('').map((l, i) => [l, i]).filter(l => l[0] === letter) выдаст массив вида [["к", 0], ["к", 4]] - буква и индекс, "к" в слове "кошка"
>>1469944Я понял в чем проблема, но не могу понять, почему даже если я задам attempt = attempt - 1; То он все равно вычитает attempt - word.length