Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
For low-frequency updates like locale, theme changes, user authentication, etc. the React Context is perfectly fine. But with a more complex state which has high-frequency updates, the React Context won't be a good solution. Because, the React Context will trigger a re-render on each update, and optimizing it manually can be really tough. And there, a solution like Redux is much easier to implement.
То о чем и говорил. В очередной раз манямир противников редакса не выдержит испытания реальными большими приложениями
Как в реакте используя функциональныу комноненты сделать кнопки. Чтобы изначально была выделена одна кнопка, а когда нажимаешь на другую, то выделена была бы уже новая, а у старой пропало бы выделение.
Обычным жсом я бы это сделал просто по клику ремувая классы у всех кнопок и добавляя кликнутой класс с выделением...
>>1785103 Я бы родительский контейнер сделал, который бы за это отвечал и обрабатывал условия локальным стором, передавая в пропсы аргумент, а в кнопках условный рендер
Анусы, пытаюсь разобраться в кое-каком говне в вебпаке и встал вопрос, можно как-то увидеть промежуточный жс модуль, который вебпак с помощью лоадеров делает из не-жс файлов, типа css-loader?
На какой основе лучше всего сделать многостраничный сайт 3 вкладки, но все же. Пробовал реакт, но рот его ебал. До этого делал одностраничный сайт, с ажакс запросами использовал jquery, но здесь нужны именно отдельные старницы.
>>1785324 Писать что угодно кроме фронта на чистом фп дорого. Это не аргумент. Что вовсе не значит что знать этого не надо. Не зря самая сильная книга для вкатывания уже которое десятилетие учит именно фп.
>>1785408 А чему в итоге становится равен n? понимаю что очень глупый вопрос наверняка, но просто так получилось, что мне сейчас нужно переписать код с актуальных версий js на не очень актуальные, а в новых es я многого не знаю
>>1785548 headers это заголовки запроса в которых посылаются метаданные описывающие запрос в целом и тело этого запроса. body это тело запроса в котором содержатся данные, которые описаны в заголовках запроса. На принимающей стороне сначала идёт парсинг заголовков для того чтобы выработать дальнейшую стратегию по обработке тела запроса, либо сразу перенаправить запрос/отвергнуть его не переходя к телу.
>Как уведомить дочерние компоненты, что от них треба выполнить обработку значений полей? Эм. Написать код обработки в дочернем компоненте. Ну или из родительского передать.
>Как передать собранные массивы в родительский компонент? Через коллбек.
>Я вобще слабо представляю реализацию. Посмотри какой-нибудь туториал по Реакту, это базовые вещи все.
>>1785768 Когда как. В целом новые компоненты все на функциях пишут. Но представление о классах нужно поскольку старые компоненты на классах никто менять не собирается ибо и так работают
Есть билд для вебпака, который собирает одностраничник. Как мне сделать так, чтобы определенный код выполнился после полной загрузки DOM? Коллбеки в window.onload или document.onreadystatechange не помогают канешн
>>1785011 (OP) Какой самый минимальный днищеебский сетап для устройства на работу? Что нужно задрочить чтобы работать хотя бы за еду? Заебало после 9 часовой работы по графике приходить домой и до глубокой ночи заниматься обучением.
На данный момент довольно адекватно владею: html/css/sass/git/базовый js/bootstrap/ES6
Знаю поверхностные базы: Node/Express/Mongo
Совсем поверхностно: React/Redux
Ну и общие принципы eventloop/web api, алгоритмы из книги "Грокаем Алгоритмы", работа под линуксом
Начал в середине этого лета, не помню уже когда в последний раз видел солнце
Что нужно знать прямо очень хорошо, чтобы можно было протиснуться в какую-нибудь галеру и выкладывать резюме на hh?
Или пока фулстек соцсесть в блокноте не научусь писать, можно даже не пытаться куда-то устраиваться?
>>1785902 Ну вот прям "проектов" нет, просто делаю что-то более менее законченное и приступаю к изучению чего-то другого, хочется более-менее весь стек освоить и потом уже делать свои собственные проекты
>>1785915 Может тебе вменяемых минипроектов наделать? Сделай там формочку на реакте со всем говном, круд какой-нибудь, мувисерчер, чятик на вебсокетах.
Хоть убейте, не въезжаю в смысл существования const в ЖС. Язык, который позволяет уж слишком широкие вольности имеет специальное обозначение для переменных, которые нельзя изменить, а то ж сука кровь-кишки-распидорасит В ТС это имеет смысл а в ЖС-то НА-ХУ-Я?
let arr = ["hello", "there"]; arr += "this thing will fuck up the whole array";
let someVariable = [0, 1, 2, 3]; let result = someVariable[455]; // no error here;
let x = "10" - 1 + "3" - 2; x === 91; // seems legit
Все вышенаписанное валидно. Но вот если я объявлю const x = 100500 и потом попытаюсь ее изменить, то справедливый интерпретатор таки скажет, что так делать не по понятиям
>>1785940 А вот и нихуя. Destructing это будет только в вебпаке и может других сборщиках, где импорты заменяются на присвоения вызовам внутренних функций. А так это named import.
>>1785011 (OP) Уже готов, что меня сожрут с говном, но ладно... Я не понимаю, зачем нужен return. Вот допусти у меня есть функция, которой умножает число, которое я ввожу на 2. Я понял, что он возвращает значение, но я подумал зачем return (тут, наверное, будет return n2), если можно задать переменной значение, например let a = n2.
>>1785957 Допустим, тебе нужна функция не для того, чтобы вернуть что то, а что то сделать. И при определенном условии ее надо прервать в некоторых местах. Чо делать будешь?
Эх, когда вкатывался, тоже не понимал зачем ретурн, зачем всякие аргументы функций. И никто толком не объяснил, сам додумывался. В результате так и не вкатился.
>>1785957 А где ты эту переменную объявлять будешь, внутри функции или снаружи? И для каждой функции будешь новую переменную объявлять загодя? А как будешь передавать выходное значение одной функции другой функции, которое его примет?
Банально, ты не напишешь рекурсивное определение четности/нечетности числа без return, типа:
function ass(cunt) { if (cunt === 0) return true else if (cunt === 1) return false else return ass(cunt - 2) }
>>1785894 Ты ведь знаешь ответ на свой вопрос, дружок, пирожок, только ссышься. Это ничего. Такая сегодня экологическая обстановка. Все ссутся… Я ссусь… И даже тимлид твой будущий пысается, бывает, — но по ситуации! Что ж нам из-за этого, на работу теперь не устраиваться? Твой позорный недуг мы в подвиг определим: иди ка и начинай уже резюме рассылать и на собесы ходить. Там ты ещё и сраться начнёшь. Но это нормально.х
Серьезно. Ты определись, чего тебе надо. Если в стиле титана одиночества писать говнокод (а в соло ты только говнокод и напишешь), то сиди и изучай что хочешь и сколько хочешь.
А если хочешь на работу устроиться - попробуй все-таки устроиться, ке но?
Вопрос касательно проектов. Хочу сделать что-то вики про Рим. Соответствующих апи в сети нет, как с какими-нибудь покемонами или едой. Видел решение, когда все данные пихали в папку asserts, откуда и получали значения имитацией получения данных с настоящего сервера. Такое допустимо или обоссут?
Друзья объясните пожалуйста что происходит в коде. Пытаюсь разобраться в ноде. В частности меня интересует что происходит в req.on и req.end. Объясните пожалуйста подробно эти моменты, словно дауну объясняете
>Знаие бутстрап Либо я слеп и не понимаю, либо действительно странно звучит. Что там знать? Это же набор стилей с классами, которые расставить и всё. Или нет?
>>1786055 req.on("data" ...) - обработчик события получения данных от поступившего запроса. В данном случае он помещает эти данные в буфер. req.on("end" ...) - обработчик события завершения запроса. В данном случае он объединяет данные из буфера и переводит их в строковый формат.
res.end(...) - данные которые будут отправлены в теле ответа
>>1786108 Реально? Как же меня подставила контора. >>1785424 → Читаю и дико бомбит. Из-за своей зачмыренности около года макакой-тестером просидел. Ещё обещали перевести во фронт. В итоге кинули. Пидрилы.
Кто использует вебпак с sass'ом? Сейчас прочитал вот это: https://sass-lang.com/documentation/at-rules/import https://sass-lang.com/documentation/at-rules/use И они говорят, что "Each stylesheet is executed and its CSS emitted every time it’s @imported, which increases compilation time and produces bloated output". То есть @import'ы будут всегда копировать все правила по нескольку раз, и нужно использовать @use. Ну вот я пробую использовать этот @use, есть файл test.scss и файлы Greeting.scss и Image.scss, которые test.scss @use'ают. А все равно в конечном коде получается дупликация правил из test.scss. Почему?
>>1785356 Я мимо шел, у меня такой вопрос - если в visual studio code щелкнуть во Server в строке:
// я так создаю http сервер const server = new http.Server; то откроется класс тайпскрипт: interface Server extends HttpBase {} class Server extends NetServer { constructor(requestListener?: RequestListener); constructor(options: ServerOptions, requestListener?: RequestListener); }
Так что похоже модули в ноде написаны на тайпскрипте, если я правильно вс понимаю.
Лол, видели новое вэб-приложение сбербанк онлайн? Я не заню на что эта ебучая параша переехала, яновно видно что SPA, и явно видно что это тормозащее и подвисающее говно.
>>1786874 Первый вариант поместит в поле функцию-метод. ее нельзя вызвать как конструктор, и нее нет поля prototype. Во втором варианте, там у тебя в поле обычная функция ес5, которая может быть вызвана с new в том числе и у нее есть prototype по-умолчанию. Других отличий в этих примерах нет.
>>1786919 Я думаю, для начала нужно понимание es6 синтаксиса. Да и вообще неплохо было бы на ванильном жсе уметь обработчики событий писать, фетчи-хуетчи и вот это все
>>1786193 Друг, подскажи как правильно прогнать задачку с того же codewars через дебаггер. Я просто сохраняю в файл script.js, открываю браузером и он не понимает что я хочу. Да я совсем тупой и начинающий. Я хочу ковырять задачки не привязанные пока что ни к вебу, ни к html странице. console.log писать на каждой строчке это дичь какаято. Мне бы простенькое что то для нубиков, где я буду просматривать переменные, циклы, массивы на каждом шаге программы.
А можно просто создать хтмл страничку, в неё скрипт добавить, запустить это все через расширение live server и в разделе дебага выбрать launch chrome against localhost. Только в файле launch.json не забудь пор поменять на тот, на котором лайвсервер запустился
Ну скачал я VSCode. Кстати приятная глазу программа, мне нравится. Скачал дебаггер Firefox. Нажимаю run, мне выкидывает файл launch.json. там какие то настройки. Блять, ну вот хули нельзя просто скачать плагин чтобы он заработал... Так же качал Vim в свое время, че я только не делал блять. Настраивал, удалял, потом снова настраивал. По разным гайдам с ютуба. Я тогад еще на петухоне писал. Нихуя так и не работало как я хотел. Сука почему из коробки не работает сразу, 2020 год а приходиться как мудаку править конфиги. >>1787048 >>1787043
>>1787057 Там нечего ебаться. Тебе даже дебаггер не нужен(наверное(у меня без него все сработало только что)). В расширениях вскода находишь Live Server, устанавливаешь, выбираешь свой хтмл, к которому скрипт привязан, кликаешь правой кнопкой и выбираешь Open with Live Server. Он должен запустить на :5500, это значение и ставишь в launch.json. Дальше запускаешь дебаггер и все должно работать(ну и брейкпоинт в коде не забудь поставить)
>>1787093 Ну хех, ну понимаешь, нет такого числа... вот... Ты проебался когда число в конструктор отдал, жс же вычисляет expressions, твое число стало тыквой, потом попало в конструктор, у тебя получился Decimal of pumpkin, соотвественно toString на нем возвращает "pumpkin"
Не имеем. У тебя нет такого числа, потому что у тебя переполнение. Если работаешь с большими числами используй соответсвующий тип - он таки называется BigInt
Почему люди говорящий о нормальных языках когда заводят байку про числа в жс, забывают, что в нормальных языках они используют нужные типы, и почему-то не делают этого в жс. Кто дурак?
>>1787043 Тоесть я правильно понимаю, мне забить хуй на задротствование с задачами на кодеварс и сосредоточится на связке html, css, js и взаимодействии в ней. Всякие там клики, селекторы, работа с DOM и вот это все.
>>1787124 Честно я больше времени трачу чтобы подобрать конструкции на этом собачем языке чем на алгоритм. В будущем на пыху перекачусь, он мне показался лаконичнее.
>>1787097 >>1787103 >>1787114 Спасибо за ответы. Мне еще нужно изучить работу с числами в js. Пока что решил чуть изменить бекенд приложения, чтобы получать числа строками, далее работать с ними с Decimal
>>1787109 >>1787115 Не имел цель начинать языкосрачи. Просто работаю с python и js, оба языка имеют свои плюсы и свои минусы.
Начну с того, что вы и все так наверняка знаете, у нас в js нет отдельного типа function. Функции в js имеют тип object, если точнее callable object. Это такой объект, у которого определено одно из внутренних полей [[Call]] или [[Construct]], или сразу оба. Так вот, в js есть сразу четыре подвида функций, в зависимости от того, как именно они объявлены.
1. Первый тип функций, тот который мы объявляем используя синтаксис function name?(arguments?){ body } Назовем его просто Функция. Такой объект имеет оба внутренних поля [[Call]] и [[Construct]], и может принимать сообщения apply (call) и construct (new) соответственно. Вы полностью управляете тем, какое сообщение именно поступило, проверкой на new.target. Так же у такой функции есть не удаляемое поле .prototype, оно является записываемым, но неизменяемым. Вы можете заменить объект в .prototype или выставить его в null/undefined, но удалить само поле не можете. Такие функции, когда они действительно несут функциональность конструкторов объекта, еще называют es5-конструкторами. Так же у этого типа функции имеется динамический контекст вызова this, который ссылается либо на тот объект в контексте которого она вызывается, либо если он был нарочито привязан. И есть доступ к объекту arguments, в котором хранятся все переданные аргументы при вызове, даже после того как вы изменили ссылку на них. Еще такой тип функции может иметь имя.
2. Второй тип функции, пришел к нам вместе с es6, это Функции-методы. Объявить их можно только используя литерал объекта ({ someMethod(){} }) или литерал класса (class { someMethod(){} }) У такого типа функций не установлено внутренне поле [[Construct]] и она не может принять соответствующее сообщение construct (new). Попытка вызвать такую функцию, как конструктор приведет к исключению. Так же у нее отсутствует поле .prototype изначально. Она по прежнему имеет имя (при этом функция-метод вообще не может быть анонимной, в отличии от просто Функции), и так же имеет доступ к объекту arguments. Функция по-прежнему остается контекстно-зависимой и ссылается на тот объект, в контексте которого вызвана (или к которому нарочито привязана), но - у нее есть доступ прототипу того объекта, в котором она непосредственно была объявлена, поэтому следующий код вернет false ({ x(){ return super.toString } }).x.call([]) == [].toString
3. Дальше идут стрелочные функции. Эти функции так же не могут быть использованы в качестве конструктора. У них нет свойства .prototype. Так же у них нет доступа к объекту arguments и они не имеют динамического контекста. Контекст всегда зависит от места объявления.
4. Функции-конструкторы. Или классы. Они объявляются только с помощью конструкции class {} и у них напротив, отсутствует поле [[Call]] - попытка вызвать конструктор, как функцию (послать соответствующее сообщение) приведет к исключению. У этой функции так же есть доступ к объекту arguments и к расширяемому объекту, через ключевое слово super. У этого типа функций поле .prototype является не записываемым и не настраиваемым. Вы не можете изменить ссылку на объект, используемый в качестве на прототипа.
5. Последний вид функций - bounded function. Это функции у которых привязан контекст или аргументы. При этом получить оригинальную функцию из привязанный стандартными способами нельзя. И так же нельзя перепривязать что-либо, чтобы привязано. Такие функции получаются в результате использования bind. В остальном они сохраняют поведение оригинальной функции (учитывая, разумеется то, что в случае конструирования объекта, если функция можеть быть вызвана в качестве конструктора, контекст всегда ссылается на вновь созданный объект). Стрелочные функции так же являются частным случаем bounded функций, так как у них привязан контекст.
Типов же в js всего восемь. Boolean, Number, BigInt, Symbol, String, Object, Undefined и Null. Конструкция же typeof, которую часто неверно трактуют из-за ее легаси названия, является просто функцией возвращающей строку в зависимости от переданного аргумента, но не его тип. Именно поэтому там функция это 'function', а null - это 'object'. При этом первые четыре типа, которые являются примитивными, с точки зрения объектной модели языки удобнее воспринимать как синглтон-объекты - то есть инстансы класса в единственном экземпляре на каждое значение. Под капотом там так же имеется ссылочная система, при чем довольно развесистая, вплоть до того, что substring-строки могут иметь ссылку на родительскую строку, и потому течь. А присвоить какое-либо новое поле объекту примитиву в строгом режиме нельзя, даже в момент, когда он обернут в объект (например в итераторе, на время существования этого итератора).
>>1787132 В следующем выпуске пиши про замыкания няша Кто на кого замыкается, где хранится стейт, каждая ли внутренняя функция является замыканием или только та, которую вернули из парент скоупа наружу
>>1787265 В 19 году пришел на проект фронтом на ангуляре, там пишут на джава-стеке+ангуляр, за 6 месяцев вкатился в джаву, апнул зп Х2, ушел на другое место работы и опять апнул зп, теперь я фуллстак и получаю 210к.
К слову это не ДС и да, легаси много, но деньги не пахнут.
>>1787285 На ноде конечно. Писать на пхп себя не уважать. Джава круто конечно но там нужно ооочень ее любить чтоб выдержать весь тот гигантский Легаси Энтерпрайз на ней
>>1787288 Зачем ты ему так нагло врешь? Да, в пхп есть битрикс и это кал, но симфони и ларавель очень даже ничего и вакансий приличное количество. Мем про пхп уже давно не отражает реалии, сейчас плюс Jit завезли. Знакомые спокойно на пхп вывозят от 150 килорубрей и довольны.
Легаси в джаве это не то чего стоит бояться, у джавы обязательная обратная совместимость и это то из-за чего ее выбирает бизнес, который тебе и будет платить зп выше рынка.
Когда пришел Ruby и RoR его тоже крестили убивцем php и говноязыков, но сейчас он сдулся и крутит стартапы только. У ноды крутая идея и платформа, но туда пришли формошлепы, которые вообразили себя фуллстаками и лепят говно местами хуже чем на пхп 4-5 версии, плюс порог входа в ноду околонулевой и скоро мы увидим тотальный хейт в сторону ноды.
>>1787324 Так никто и не говорит что убийца. У них разные ниши. Пхп либо говносайтмки на вордпресе либо менее востребованный чем жаба, жабастайл тырпрайз
Програмирование основанное на функциях это функциональное програмирование? Програмирование основаное на обьектах это объектное или ооп? Програмирование основаное на классах это классное програмирование? Но если все является объектом то получается програмирование даже с помощью глобальных переменных это ооп?
Вот написано, что для использования css-module'й с typescript'ом нужно сделать файл типов с содержанием пик1. Я это сделал, это работает, но вот проблема: такое описание говорит, что все .scss файлы имеют дефолтный экспорт, а именованные импорты типа import {class1, class2} from '.scss' работать не будут. А можно написать как-то на тайпскрипте, описать, что у модуля будут какие-то именованные эскпорты строкового типа? Я знаю как объявить заранее известные типизированные экспорты закоменченная последняя строка но это шиза для каждого класса в scss такое писать. Можно ещё сделать короткое объявление модуля верхняя закоменченная строка, но тогда все экспорты будут иметь типа 'any'. Как сделать хорошо?
>>1787418 Если бы какая то парадигма программирования описывалась даунским "там где функции" или "там где объекты", то она бы не называлась парадигмой.
Помогите пожалуйста. Как отлаживать нодупросто js с ходу с наскоку в vscode? А точнее какчто в нем быстро про/писывать launch.jason? Т.е. вот есть у меня папка, в ней несколько файлов.js, и я не могу тупо нажать ф5 и начать ебашитьдебажить, оно требует прописать launch, а если файлов несколько? Для каждого свой лаунч? Нельзя прописать, чтобы все файлы в папке запускались? И при том не считались как один проект??
>>1787659 Знаю, что есть такое. А без йобы? Это же надо делать пребилд шаг, где это хуйня генерить их будет, или в ручную постоянно запускать самому после изменения .scss файлов.
>>1787683 А без йобы нет. Запускай йобу в watch, как и вебпак. Даже если бы работало, то что тебе это даст? Что какая то хуйня имеет тип string? Это все полумеры, или йоба, или можешь даже не париться
На чем делоть бек локально. Вот я наклепал форму логин пароль, хочу чтобы инфа отправлялась на "сервер", коим буду являться я же. Что мне использовать? Вот захочу допустим сделать мультиплеерную броузерную игру, если я все сделаю на JS в браузере, пользователи тупо будут читерить у себя в консольке, меняя переменные и дюпать голду. Значить мне по максимуму все нужно выносить на сервер, я правильно мыслю?
бля аноны я туплю, мне по api приходит массив типа[1,2,3] я просто беру и пишу что-то типа $('#hui').val(data.join(', ')) и у меня в input вставляются всё что в массиве через запятую, а щас мне нужно так же вывести данные но которые уже как ассоциативный массив, то есть типа{"5":"hui","10":"pizda","15":"zhopa"} как мне теперь вставить всё это в value как я это делал с просто массивом, только через цикл? в jq нет никаких волшебных костылей которые бы игнорировали индекс и выводили только значение через запятую? или обязательно ебаться с переменной которую нужно заполнить через цикл и уже потом содержимое переменной вставлять в input?
>>1787820 Тебе не нужно писать фронтент и бекенд на одном языке. Они будут общаться через запросы, перекидываясь джейсонами. Пиши на чем хочешь, или на чем знаешь. Лучше почитай про клиент-серверное взаимодействие, ты на базовом уровне концепт не понимаешь походу.
Если ты уже знаешь жс, то можешь бек на ноде написать, на ней вроде(не точно) браузерки нормально делают
>>1787856 Ларавель твой годится разве что говносайтики клепать иначе бы корпорации его использовали а не году. А то вон как получается пхп такой охуенный а нодамакака при этом в разы больше получает. И да я знаю что нодомакака вдовесок ещё и во фронте шарит, но и многие пхпмакаки тоже
Приветствую анончики. Прошу помощи. У меня в редаксе содержится масив с разными идентификаторами уведомлений. Если их например больше двух, то они рендерятся все, но на первом месте всегда одно и то же уведомление. И по нажатию на ОК они постепенно удаляются из редакса и соответственно удаляются из дом дерева, но окно всегда с текстом первого уведомления. Что не так?
function Warning(props) { const { warningArr, closeWarning } = props;
>>1787859 Так ноду никто и не использует. Ларавель как раз стартапы любят, из-за скорости разветки продукта и богатой экосистемы ну и количества разработчиков знающих её
>>1787861 И да это пиздеж и вот почему. Суть даже не в ноде vs php. Просто нодер это вдовесок реактомакака как правило. А в то что реактомакака получает на уровне пхпмакаки никто не поверит.а тут ещё и к зп реактомакаки прибавляется знание ноды
>>1787865 Странное дело. Никто не используют а зп из воздуха берется
>>1787856 Кстати вот только сейчас смотрю доклад, где чел рассказывает, что бекенд на ноде говно, но для бфф вообще хорошо подходит. И после попыток ковыряния в ноде и её мидлвейр идее, я действительно начинаю сомневаться в ноде как полноценном бекенде. Есть вообще будущее или пока нормальный тыртырпрайз фреймворк не появится, нода так и будет где-то посередине болтаться?
>>1787878 >Жс хоть и отвратительное существо но практически непотопляемое Я про будущее в виде полноценного бекенда с бизнес-логикой. То что жс во фронтенде навечно, я не сомневаюсь
>>1787899 >>1787911 Так да, забавно что вот все типа не любят джаву, а как только фреймворк становится серьезным, так сразу что пхп, что жс становятся подобием джавы с инжектами, аннотациями, сервис провайдерами, дто, репозиториями и так далее. Еще и типы прикручивают, чтоб еще сильнее похоже было.
>>1787928 А у жс есть какой-то жесткий фреймворк, чтобы тяжеловесный, TS-ориентированный и сразу все было из коробки: орм/обертки над кэшем и очередями/имейлами/файлами/секурити?
>>1787923 Я был бы очень не против вкатиться на жабера, но количество легаси просто пугает. В универе пилил какие-то круды на спринге, но когда делал, почти не знал английского и все гуглилось через боль. Но в самом спринге все казалось таким логичным и правильным, даром что кучу кода писать надо.
Сейчас англ знаю, но тут оказалось, что большинство зарубежного контента делают ебаные индусы с воверлодингами, да и новых проектов все меньше пилят. Сижу, ковыряю экспресс, и не хватает жабовской строгости. По плану вкатиться на реакт фронта со знанием бекенд ноды, а дальше посмотрим
>>1787993 В каком конкретно случае? Иногда они и правда в хуй не тарахтели, но если тебе придётся менять что-то в коде, а у тебя всё на функциях - могут быть проблемы. А с геттерами/сеттерами это проще получается.
>>1787993 Потому что если ты реализуешь это функцией и не сделаешь поля приватными, Вася или Петя обязательно сделают myObject.veryImportantValue = "хуй";
>>1787993 >Нахуй Такие вопросы лучше в проганье не задавать. Серьезно, сам раньше такой хуйней занимался, по пять минут сидел, думал юзкэйсы. Нахуй. Просто знай, что в языке\фреймворке есть такие-то возможности. Понадобится - вспомнишь как делать и сделаешь.
Ангуляр = легаси (используют ноунейм компании) Вье - просто и легко, но криво (используют ноунейм компании) Реакт - золотая середина, любят все крупные компании.
Хуясе заявочка, ты ебанулся. Или речь о программировании на экспрессе? Что бы хеловорднуться пхп гораздо более прост. Нода без фреймворка с ходу ебет в голову буферами, потоками и событийностью/асинхронностью. Банальный прием данных от post-формы превращается в цирк с конями и парсингом тела запроса. Для нуба это море боли. Ну а далее все стремно. У ноды свои приколы, пхп причащает нубаря к миру solid , радует интрефейсами, и пугает абстрактным фабрикам и прочим цепочкам обязанностей.
нода за 10 лет кроме роутера с мидлвэйрами express нихуя не родила. Все пишут как Будда на душу положит. А пхп обернулся в psr, фреймворки построены на взрослой ооп архитектуре, и вообще все довольно такие крепко сделано. пхп не сложен для хеловорда, а дальше все сурово. Это кстати потенциальный минус. Как платформа - современный пхп перерос нишу цмсок, и лезет уже хуй пойми куда. Джава?
>>1787923 Это потому что когда тудуху на реакте первую заплил - хочется кукарекать на все село о том что ФП рулит.
А когда влезаешь в некоторое дерьмо, начинаешь халву Аллаху возносить за интерфейсы, за инверсию управления и контейнеры зависимостей, и тайпхинты тоже очень радуют.
>>1788091 >интерфейсы, за инверсию управления >тайпхинты Вообще никак не противоречат ФП и используются в Реакте повсеместно.
>контейнеры зависимостей Ты про DI что ли? Всратый паттерн без задач же. У меня на текущем проекте есть, просто пиздец с него горит. Разработчики дали им контекст, нет, надо играть в умников.
>>1788094 Лол, недавно надо было пару микроприложений на реакте написать, первым же делом сделал наколенный контейнер, потом что столько контекстов создавать и провайдить - это пиздец. Контекст хорош только когда тебе надо немного данных по дереву передать, сервисы и зависимости он за тебя менеждить не будет
>>1785011 (OP) Аноны, нужна книга и именно в изначальном понимании этого слова, т.е. на бумажном носителе по основам ванильного JS. Очень много времени сижу, ничего не делая, на говноработе, хочется это время вложить в хоть что-то полезное. Читал про "Ты не знаешь JS", но на русише и на бумаге первые три книги не нашел или просто ебался в глаза, а на инглише хуй достанешь, либо прайс слишком конский. Какие есть альтернативы? Главное - актуальность подаваемой информации и относительная простота объяснений, чтобы такому дебилу, как я, было более-менее понятно.
>>1788025 Спасибо. Тоже тут был, перешёл отсюда туда https://code.visualstudio.com/docs/editor/debugging. И там найденное: "program": "${file}" - очень помогло. Теперь когда в папке открытой vscose создаю новый js файл могу сразу начать дебажить, не создавая новый launch, и не правя старый.
>>1788105 Я не очень понимаю зачем зависимости как-то МЕНЕДЖЕРИТЬ. Написать import { fetchUser } from 'api' это какая-то непосильная задача? Обязательно нужно создавать UserService и прокидывать его через DI-контейнер? Ну дроч же чистый. А InversifyJS еще типы херит, тоже удобство то еще.
>>1788018 Ну мне как-то без разницы кто там использует. Я смотрю по возможностям которые дает инструмент. И на данный момент, для задач для которых эту троицу делают лидирует Ангуляр. Вернее он единственный вообще имеет смысл, если человек который отвечает за выбор технологии на фронт, профпригоден конечно. Но судя по засилию вакансий на реакт, видимо с этим все плохо у людей.
>>1788134 В fetchUser ещё токен и адрес бека отдавать, а чтобы их отдать, сначала их нужно получить. Можно конечно их хранить в переменных модуля, но это получится из модуля сделали синглтон, спасибо, какая то хуйня получилась.
>>1788146 Токен берется из LS или кук, адрес бека вообще в окружении должен быть зашит. Не, я могу представить сценарии что запросу нужны какие-то дополнительные парамеры, но это изи решается через тот же контекст или омг аргументы.
Можно даже написать кастомный хук, который их докидывает автоматом. И это все уже есть в Реакте из коробки — не нужно ничего ставить и ничего изобретать.
1. Лучшая тема для подсветки JSX синтаксиса, Default dark+ почти блядь делает все как надо, кроме того что разделяет тип переменной и имя переменной на одну миллиардную полутона. Ну и цвета там темноватые, хотя с этим я бы смирился.
Это принципиально важный вопрос для меня, я могу просидеть 6 часов не вставая выбирая цветовую схему, так, что у меня уже руки трясутся. Из последнего по цветам мне понравились только monokai - но у него с разделением синтаксиса беда. palenight, у него та же проблема. И вроде бы dracula неплох, но он export default function делает одним цветом все, что не удобно. Спрашиваю именно тут, потому что у кого как не у вас?
2. Как заставить prettier не переносить сука ебанный в рот, строки текста в коде, он охуел такое делать? Просто убери лишние пустые строки, приведи кавычки к одному стилю, расставь точки с запятой, а не превращай в кашу все что я написал. Может есть просто другой код форматер, какой?
>>1788153 Ну токен типа никуда не надо сохранять а то спиздят, азаза , адрес бека ничего не должен. Решается то изи, только с контекстом много церемоний, с аргументами ещё больше. Проп дриллинг тоже изи, но чет никто не хочет. Реакт из коробки хорошо только дивы рендерит, дальше - пишите юзер код.
Я просто хотел вызвать метод замкнутый на окружение, хули тут так сложно
>>1788160 Night Owl попробуй или какой нибудь github sharp/one dark pro Шрифты ещё не забудь спиздить - на выбор Fira code, operator mono, jetbrains mono. И лигатуры включи, чтобы стрелочки красивые были
>>1788155 Ну во-первых как ты правильно заметил из коробки идет тс, так как сам фреймворк на нем и написан. Так же из коробки идет rxJS, который мегаудобен, как для простых, так и для сложных кейсов.
То есть сходу есть ДИ система у нас, роутер, гарды, резолверы, пайпы, интерсепторы и весь тулинг для стейт-менеджмента. Можно брать и сходу решать проблемы бизнеса, пилить фичи, а не ебать себе мозг какую библиотику лучше взять для формочек или стилей. (привет реакт)
К тому же ангуляр навязывают жесткую архитектуру. Можно набрать тиму из джунов, поставить над ними одного синьйора чтобы присматривал и в таком сетапе можно успешно и быстро деливерить фичи для бизнеса. Это еще и экономически выгодно.
+ из-за того что проекты похожи друг на друга, время для того чтобы новому разрабу влиться сокращается в разы\ + рупрощается работа с чужим кодом ну или своим который ты давно писал.
А не так как в реактах, когда проекту больше года, его называют легаси и начинают переписывать потому что уже нихера не могу понять.
Проблема легаси в реакте уже давно не так критична, ангулар только за последний год успел перекатиться на 3 глобальных версий вперёд Кому нужон вью Если речь не идёт о заказчиках, ищуших макаку подешевле - непонятно
>>1788224 Ну синтаксис же изучают. Так то понятно что главное алгоритм. Меня напрягает что я не могу на JS что то полноценное пилить без бекенда. Надо короч фуллстаком сразу становится а хуле нет то.
>>1788084 Нест поссал на тебя пхпмакака. Продолжай утешать себя что пхп охуенен. В то время как нодер на хуевой ноде будет иметь в два раза больше тебя. И это только начало, нода все популярнее
>>1788217 Абсолютно ужасная идея. На пхп только говноработу найдешь. В крупных конторах она редкость. Лучше ноду учи и не слушай клоунов местных. Потом спасибо скажешь
Если только тебя носом не тыкают в твое ссанье и код работает - не трогай его. Через полгода код, который ты пишешь сейчас будет казаться тебе лютым говном, это нормально. Так написаны почти все продукты.
Потом тебе еще премию дадут за рефакторинг твоего говна.
Кто из крупных компания поддержал протесты в тайване? Никто блять. А ведь там эту их любимую демократию пидорасили в хвост и гриву.
Потому что покудахтать в сторону белых цисгендерных господ это приятно и безопасно для акционеров, а залупиться против Китая - ну нахуй, можно и денежку потерять. Борцы за свободу, ебать их в сраку.
Да, все бы ничего. Но просят получить такой результат за минимум исправлений.
Я пробовал несколько вариантов. Дропнул на этом - https://pastebin.com/XX78mZqE . Очевидно, что решение не проходило. Предложите свои варианты, интересно где топор может быть зарыт.
>>1788285 function fakeBin(x){ let digits = Number(x); digits.split(''); let binary = []; for (i = 0; 0 < x.lenght; i++){ if (digits < 5){ binary.push(0); } else { binary.push(1); } } return binary.join('') }
Полный код моей нубозадачи. Тут смысл такой если число меньше 5 то ставим нолик, если равно или больше то единичка. В ответ надо выдать строку типа '00101010010'
>>1788287 >>1788288 >>1788289 Я думал что ща нарежу числа и норм. А тут строка. Что мне через цикл каждую букву в число и потом складывать? Короче я проебался признаю.
>>1788297 Цель - не решить, а найти самый короткий способ. В моем варианте, я меняю 1 строчку, а ты 2 считай. Плюс обрати внимание, что в твоем случае это не все. Там еще были цифры с буквами
>>1788314 С ней не хватает ширины блока, чтобы вместить все буквы, потому что у .crossword есть бордер. И со значением border-box, этот бордер включается в ширину блока.
Получается что у нас ширина 320, из них граница 2 пикселя, тоесть доступно нам всего 318, а этого не хватит, чтобы вместить все буквы.
Если же убрать это свойство, то шириной блока будет считаться только контентная область, а граница наложится уже сверху. Тоесть общая ширина блока будет 322 пикселя.
>>1788094 >>Всратый паттерн без задач же. >>низкая связность кода >>без задач
Смех в том, что отбери у местных ФП-шный реакт, то 80 процентов накостылят тупо кучу функций, остальные 19.999 запилят кривое ооп. Без паттернов ФП которые были показаны умным дядей, хуй тут кто что напишет с ноля.
>>1788356 Я кукаретик в вопросах безопасности, но например при sso куки на твои домен никто не поставит. Жизнь обычно усложняют заказчики, у которых один билд должен работать во всех окружениях. Эти же заказчики потом делюсь нормальный ci, но уже поздно, лол
>>1788444 Почему не поставит? У меня был SSO на прошлом проекте и все там норм было с куками. Точную схему я уже не помню, но как-то работало. Более того, куки это единственный вариант хранения токена, если ты хочешь SSR делать.
>>1788161 >Ну токен типа никуда не надо сохранять а то спиздят, азаза Кстати, такой вопрос, где предполагается хранить этот сраный jwt токен? Читал, что в локал сторадже нельзя, т.к. к нему имею доступ все, кому не лень, и оптимально его ставить в куки. Но разве в реактах-хуяктах нету возможности его хранить где-то внутри самой приложухи? И вообще, почему эти токены вообще юзаются, они же напрямую раскрывают id пользователя.
>>1788448 Auth provider на другом домене сидит и куки на твой ставить не может, тебе он отдаёт рисунок токена, по нему получаешь сам токен. На свой домен он конечно же куки может поставить и так и делает, но в твоём приложении - только сам токен. Если только свои бэк просить токен тебе проставить, но это же костыли
>>1788453 >Но разве в реактах-хуяктах нету возможности его хранить где-то внутри самой приложухи? Есть, но его можно вытащить из памяти.
>И вообще, почему эти токены вообще юзаются Потому что все угорели по скейлингу и stateless-серверам. JWT позволяет узнать пользователя без хождения в БД и без хранения сессий.
>они же напрямую раскрывают id пользователя Ну и что?
аноны, как с помощью jQuery сгенерировать цвет для логина с помощью самого логина пользователя? то есть как перевести текст из логина в цвет? можно и на js, но чтобы это было максимально коротко
>>1788496 >>они же напрямую раскрывают id пользователя >Ну и что? Это не считается важными данными? Ну то есть с сессиями у нас есть какой-то абстрактный хеш, и нам нужно совершить +1 обращение в дб для определения пользователя. Предпочитают экономить на запросах в базу?
Я так понимаю, что это больше для микросервисов, где как раз надо > узнать пользователя без хождения в БД и без хранения сессий.
А если это простенькая приложуха? Имеет смысл юзать jwt?
>>1788553 >Это не считается важными данными? Не. Ну id и id, что ты с ним сделаешь?
>Ну то есть с сессиями у нас есть какой-то абстрактный хеш, и нам нужно совершить +1 обращение в дб для определения пользователя. Предпочитают экономить на запросах в базу? Сессию надо хранить на сервере, в этом основная проблема.
>А если это простенькая приложуха? Имеет смысл юзать jwt? Как хочешь в общем-то. Если не устраивать цирк с аксесс и рефреш токенами, то там все довольно просто. Смотришь токен, дешифруешь, сверяешь. Если ок, то ок, если нет, то шлешь нахуй.
>>1788578 >Как хочешь в общем-то. Если не устраивать цирк с аксесс и рефреш токенами, то там все довольно просто. Смотришь токен, дешифруешь, сверяешь. Если ок, то ок, если нет, то шлешь нахуй Да я вот совсем недавно делал аутентификацию на ноде с jwt, а потом у меня начала возникать мысль о небезопасности всей этой дичи. Плюс читал статьи с заголовками вида "Не используйте жвт вместо сессии". Хз, неоднозначные впечатления от всей этой системы
>>1788605 Вся безопасность держится на том что https зашифрован от похитителей токенов, потому что эти самые токены передаются по тому же каналу что и данные. Вот если за сертификатами надо было бы ехать в департамент сертификатов, тогда было бы получше
>>1788525 >>1788447 У меня провайдер валюе = стор, я думал что при изменении стора будет всё обновляться, но хуй там. Накостылил обновление через субскрайб и юзстейт в провайдере. Хуй пойму как иначе
>>1787937 >nest Вообще с нестом интересно. С одной стороны, наконец-то хоть один нормальный фреймворк в ноджс экосистеме. Но с другой, это же тупо спринг. Так зачем спрашивает писать на жс спринг, если можно взять джаву с её богатейшей экосистемой и фишками самого языка коих нет и не появятся в жс и писать на ней?
>>1788696 >>Убогая джава где даже нет маров и фильтров и все на допотопных for циклах >>1788699 >>Таких как программирование фабрик легасиабстракций на XML? Нет уж, спасибо.
>>1788723 Мне казалось это настолько очевидные вещи что их не надо еще дополнительно объяснять. Но если надо объяснять необходимость типов в рантайме, то я не вижу смысла вообще дискуссию вести. У нас с тобой очень разный уровень выходит.
>>1788726 Разумеется разный. Уровень давамакаки это самое дно мира айти. Даже пхпшник выше. То что дава макака жить без типов не может - не значит что и другие не могут. Вон обычная макака без бананов не может. А люди могут
>>1788740 Нет. Из каробки не работает без ебли. Ява примитивна. Один древний for цикл где условия вручную расписываешь вместо for x in y {}. Куча устаревшего бойлерпринта.
>>1785011 (OP) Что происходит на бэке? Мне не по приколу писать (или что хуже - разбирать) проекты без ООПа на динамикопараше, поэтому Нода с Экспрессом сразу идут нахер
>>1788708 >>1788771 >Статическая типизация >Никому кроме ооп даунов не нужна Ммм, реактомакака-говнодел с полутора извилинами в голове это всегда забавно
>>1788777 Я на бэке сижу (сидел по крайней мере). Фронту простительно. На бэке должна быть только статическая типизация. Мой первый ЯП был Питон, и именно благодаря ему я сумел полюбить Жаву, когда у тебя проект на 150к чистых строк кода динамикопараши, то без ООП парадигмы разобраться в нем в срок нереально, а динамическая типизация будет постоянно подбрасывать ахуительные сюрпризы, я этого говна несколько чанов съел. Когда делаешь "тяп-ляп и в продакшн" можешь на чем угодно код высирать, а когда кодовая база начинает расти или просто задумываешься о последствиях, ставки меняются
>>1788785 >пишут люди и ничего, работает У нас тоже сервисы для чата "работали". Мои первые сайты на Джанго и Фласке тоже вроде как "работали". А когда смотришь глубже охереваешь от количество проблем, явных и неявных
>>1788788 Ну уотсапы всякие же генерируют миллионные потоки как-то на бэке. А это не хухры мухры тоже. И ниче не жалуются. Все же думаю это реально. При наличии нужных инструментов не жс
Мои юные друзья. Раскрою вам один секрет. Ни одному нормальном разработчику вообще не придет в голову сраться за фп или ооп. Потому что код пишется чтобы решать конкретную бизнес задачу. И желательно чтобы его можно было скейлить по необходимости и удобно поддерживать. ВСЕ. Никто ни о каких парадигмах даже не задумывается. Ибо это никому нахуй не надо.
Это вам, реактодебилам навязали фп и вы теперь сделали из него прямо религию.
>>1788816 Конкретно с фронтом это лучшее что только могло произойти. Все говорят о каких-то лагах и прочем но я словно в другом мире живу и одни только плюсы от фп вижу. А все лаги скорее к самому жс отношу
>>1788816 Раскрою тебе один большой секрет, друг мой. В сетевом коммьюнити, где ты видишь какие-либо обсуждения, практически нет разработчиков, тем более нормальных.
>>1788911 Это и имелось в виду. Строгая и есть strong. Насчёт диалайзер хз. Что это такое. Я про эликсир из коробки говорил. Так и и джаваскрипт можно назвать статическим приведя в пример тайпскрипт
Пишу туду реакт+редакс, как правильно обрабатывать запросы к серверу?
Например я создаю элемент, жму ок. Данные отправляются на сервер, с сервера приходит ответ с отправленными данными. Эти данные нужно диспатчить в редакс стейт, или сделать полноценный запрос к серверу, для получения всех актуальных задач?
Допустим есть шаблон +7 (___) ___-__-__ и есть строка 1234567890. Как заменить символ _ на цифры из строки в правильном порядке. replace вроде может сделать, но может посоветуете какую ему функцию передать, чтобы красиво было.
>>1789037 Я не про асинхронные запросы спрашивал, а про то, как правильно организовать запрос к бд.
После того как я делаю POST, мне приходить response.data с данными одной задачи. Далее я могу либо: 1. Задиспатчить данные одной задачи в стейт 2. Сделать запрос ко все БД, тем самым у меня будет самый актуальный стейт.
Но в случае, когда я диспатчу ответ, то у меня вроде нет проблем с тем, что стейт приложения и БД выглядят по разному. Как все таки лучше поступить?
аноны, допустим движок на сайте выводит список ссылок через символ, допустим через дефис <div class="glek"><a href="#">1</a> - <a href="#">2</a> - <a href="#">3</a> - <a href="#">4</a></div> как с помощью JS или JQuery удалить все символы кроме самих ссылок?
Ребятушки, а сколько времени на вкат надо? И во что быстрее всего вкатиться возможно? Нода там реакт мб вуе? Опыта можно считать нет. Весьма посредственно верстаю, немного знаю js. В самом программировании разбираюсь немного там алгоритмы структуры данных и вся эта история. Под вкатом подразумеваю первый Оффер. Сам с 3 курса вузика
>>1788718 В этом треде просто пиздаболы, которые за попиздеть. К нам такой еблан устроился на работу, 25 лет, речь и поведения 14 летнего подростка. Говорит натурально как олигофрен, каким то даже не пикабу, а хуй пойми каким сленгом. Он в прогинг вкатываться хочет но пока вкатывается в замену катриджей в принтерах, представляю что он может на форумах высирать.
СРОЧНО, бамп вопросу. Усугубляется все тем, что скоро мне будут искать напарника.
Вопрос вот в чем: я люто говнокодил просто пиздец куски говна по проекту раскиданы. Через месяц планируют искать напарника, но в коде у меня полная хуита
что делать? 1) признать что я говнокодил и просить менеджера на коленях дать мне 2 недели на исправления + признание что я лох 2) Уволиться до тех пор пока не пришел новый человек и не разъебал меня за мои косяки 3) сделать вид что так и должно работать, а новому человеку говорить: да ты просто ничего не понимаешь! т.е. играть на публику, но лично ему признаться и свалить вину на наше руководство (да они блять меня гнали как суку по дедлайнам)
А кто еще, там половина статей - заказуха от компаний, а вторая половина "боже я выгорел", и "как заставить свой мозг работать на 110 процентов, в то время как я хочу ковырять пальцем в жопе"
>>1789163 - Я проебался, мне теперь месяц надо все переписывать -Ты что сука, а клиентам мы что скажем? За что тебе деньги платить этот месяц? какие новые функции будут? Зачем мы тебя наняли, мы думали ты специалист! Ты же писал что являешься Senior разработчиком!
>>1789164 Лучше - увольняйся. по опыту скажу, после признания отношения к тебе сильно ухудшится со всеми вытекающими. НИКОГДА НЕ ПРИЗНАВАЙ ПОРАЖЕНИЕ, все косяки проекта будут на тебя кидать в течении всей жизни.
Да и код ты вряд ли исправишь как нужно, слегка улучшишь.
Иди на новый проект и начинай все с чистого листа. Перед уходом постарайся публично сказать: Я пишу документацию.
В случае чего, нового разраба будут тыкать носом в документацию, ты будешь чист так сказать!
Сам я нахуевертил уже около 10 проектов, всегда после меня оставалась свалка говна, но с каждым проектом мой код все лучше и лучше, везде тестировал разные кейсы, разные подходы, разные библиотеки. Есть проект на FLOW , ушел через неделю из компании после того как узнал о его гибели.
Писал на react Class , уволился сразу же как вышли хуки
Работодатель - это не только бабки, но и полигон для экспериментов и оттачивания мастерства
С одной стороны - рефакторинг это ценный опыт, тут ты узнаешь как не надо было делать, почему, и почему теперь это долго рефакторить. Если ты решишь остаться, то как писали выше, это не ты проебался с кодом, а они - с требованиями и сроками. Если менеджер нихуя тебя не слуашает - можешь слать их нахуй.
Ты бы согласился на это в момент испытательного срока? У тебя задача проявить себя, а ты тратишь 3 месяца на исправление чужих косяков. Руководство не оценит.
>>1789185 - Иванов, а почему вы раньше не делали рефакторинг? сказали бы, дали бы вам время, по дню в неделю, а теперь вы хотите 3 недели на все потратить? уволен сука!
>>1789186 Ты считаешь нужно проявить себя, отхуесосив коллегу (тебя) за говнокод и нажив себе врага? Я бы прикрыл братишку от начальства. Терпеть не могу ебаное начальство и вечно с ними ругаюсь наверно поэтому я безработный
setUint32 у DataView первым параметром принимает байт или номер элемнта будто я использую массив 4 байтных элементов. То есть view.setUint32(2,128) запишет число 128 начиная со второго байта или с 64?
>>1789230 Почему? Кстати во всяких справочниках пишут let. Но я посчитал разницу не существенной. Область видимости в фигурных скобках вместо фукнций. Вроде самое главное. Ну раз ты советуешь, то буду писать let. А честно говоря мне на жс почти похуй. Я просто параллельно пишу браузерную игру и сервер на плюсах. В жсном коде у меня даже структура программы сама по себе далеко от идеальной. Я хоть и стараюсь писать чтобы это было хотя бы сколько нибудь адекватно, но иногда мне не хочется уже написанное ломать, потому что хуй знает как оно работает. Тупа с сайта какого то спиздил И тут тоже понял>>1789219 Больше не буду спешить задавать вопросы, пока пару страниц в гугле не просмотрю
Есть желающие совместно запилить какую нибудь хуету на подобие онлайн чятика для обитателей этого треда? Нужны околонулевые, с опытом 1-2 месяца вката. Чтобы тренить GIT, что нибудь коллективно придумывать и реализовывать. Все как на галере, только без стуканья начальника. Попенсорс двачерский. Мне кажется это хороший опыт был бы.
Если у тебя реакт - просто заведи в локальном стейте объект специально под поля формы этого компонента. Ты в любом случае будешь их как-то валидировать перед отправкой, вот и добавь миддлваре для этой валидации, чтобы проверялось не только на пустоту, но и на значение.
Ну а на нули можно просто minvalue поставить в цифровом инпуте, это с точки зрения юзабилити вообще хороший вариант.
>>1789286 ксж проверить я твой вариант уже не могу, но да, уверен что как-то можно. Я еще на stackoverflow вопрос задал. Я уверен, что в следующем году у них что-то подобное будет
Есть два объекта. В них одинаковый набор ключей (8шт).
Кроме двух последних, все значения - строки. Последние значения одинаковые. А строки могут различаться.
Нужно объединить их в один объект. При этом строки склеить через запятую, если строка первого объекта с соответствующим ключем не содержит строку из второго массива с этим же ключем.
>>1789232 Господин байтоеб, ты можешь расказать, или скинуть что почитать на тему tcp сокетов. В ноде я погружаюсь в анальные реки сокетов, и вот какой вопрос - допустим сервер отправляет на клиентский сокет 10 байт. Чисто буфер. Как я понимаю TCP доставит клиенту эти 10 байт несколькими TCP-пакетами. Вопрос такой - у меня открыт сокет, сначала я отправляю клиенту картинку, допустим 200 байт, а следом отправляю текст 10 байт. Как мне на клиенте понять что в буфере разные данные? Как понять где граница потока байт с картинкой, и потока байт с текстом? Когда данные отправляются буфером через сокет у них есть какая то стандартная структура? ОП-коды, заголовки? Если че, я ток въезжаю в эту относительно низкоуровневую тему.
>>1789307 В чем проблема-то? Создаешь копию первого объекта и потом проходишься по второму, дописывая нужные поля в копию. Почему без циклов, что за тупое условие?
>>1789307 >меньшим количеством кода (без циклов и рекурсий)? Также как это сделал ты. Смотришь на два объекта и ручками пепеписываешь нужное в результирующий объект.
>>1789316 Ну я вообще websocket использую сейчас. С ним из js проще оказалось работать а голый tcp на стороне js клиента в браузере вообще как я понял открыть нельзя. Могу что то не то сказать. Лично я бы tcp заголовки не трогал бы. Я бы нужную информацию с данными вместе отправил. Вот я сейчас делаю у себя так (мне нужно отправить сведения и игровой карте): первые 8 байт это размер по длине и ширине (по 4 байта). На основе этих данных сервер и клиент могут вычислить длину блока с данными о карте. Ну и соответственно знать откуда и куда читать. А всякую дополнительную информацию типо создателя карты я буду отдельными запросами отправлять, просто чтобы не возится с такой фигней как длина сообщения. Ну и просто мне кажется более логичным, что заголовки tcp и заголовки в которых ты устанавливаешь свои данные на разных уровнях абстракции находятся. Мне кста 16 лет, у меня и опыта так то не много. Я конечно написал, как бы сделал я, но для уверенности может сходить в какой нибудь байтоебский тред.
Есть скрипт для ноды, который выполняется периодически по крону. Сам скрипт может работать несколько часов (всегда по разному). Необходимо запретить запуск если одна копия уже запущена.
Можно создать lock-файл, занять его и на него ориентироваться. Существуют готовые либы делающие подобное?
>>1789357 Ну ты молодец. Я в два раза старше, лол. Я всю это байтовую арифметику еще в вузе забыл, сисадминил сотню лет, недавно обратно в прогинг заехал. >>первые 8 байт это размер по длине и ширине Я так же к такому пришел решению. Как пример - фрейм в вэб-сокетах взял.
Сорр, что через хер пойми сколько ответил. Да это мой пост был, я тут по ходу дела чуть теории поднадрочил немного. В ноде много дефолтных функций для работы с бинарными данными, склеить, получить срез , в том числе и функции которые считывают из бинарника число нужной длины в байтах, в том числе и порядок записи байт. Так что для того что бы реализовать свой фрем вэб-сокета у меня информации хватает. Но все равно скинь мне то как ты это сделал. Учебник что посоветовали в С++ треде норм?
Разбираться в Редаксе != фигачить однотипный Редакс-код по бойлерплейтам. Если бы разбирался, то понимал бы основные типы данных вроде массивов и что такое редьюсер (у которого нет стейта лол - это чистая функция). Редакс стор с экшенами - это по сути БД которая существует в рантайме приложения.
>>1794547 > Но все равно скинь мне то как ты это сделал. Пока ноут не под рукой. > Учебник что посоветовали в С++ треде норм? Он же ,кажется, вообще по сишке. Зачем?
>>1797833 Ну хз честно. Зачем вообще учебник? Просто знать как данные в компьютере хранятся, уметь работать с разными системами счисления, прочитать про битовые операции, ну и думать головой конечно. Это все гуглится и на быстро читается. Если тебе интересно, то вот как я передаю карту на сервер. Там есть мусор в виде отладочного кода типа console.log, но оно работает. На сервере все нормально. Хотя, конечно, может быть такое, что я что то не досмотрел и не учел, но пока вроде все ок. https://pastebin.com/Ef3e9WAd