Это копия, сохраненная 23 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Их надо загрузить, распаковать, инициализировать
А 5-10 КБ даже на edge грузились бы быстро
Попробовал около 10 редакторов. Ничего лучше VSCode не изобрели. При этом я тот еще хейтер Майкрософта и Visuial Studio. Конструктивно объяснить уже не смогу, давно было. До VSCode сидел на саблайме.
До JS писал на Python. От PyCharm'а рыгал, как и от Атома.
До того как думал на что перейти, громче всех в треде хуисосил VSCode. Теперь никуда от него не уйду, мы сроднились.
PS во всех редакторах видел что-то новое, но постоянно чего-то не хватало (причем банального). В VSCode не было каких-то свистперделок, но было в сумме все те банальные вещи, в которых я нуждался.
Тупит гораздо сильнее, чем в жсе, import magic через раз работает, подсказки типов тоже. Может я просто с хуевым проектом работал, не знаю.
0.1$ в час блять, а хуле хром же жрет оперативку, так покупай сбе в кловде тоже чтоб коплирировать
В случае использования methods: { ...mapGetters('название модуля',['название мутации'])} в компоненте, как правильно закоммитить мутацию обратно в хранилище?
Через this.$store.commit('название мутации', передаваемое свойство) - не получается, видимо он так не обращается у модулю а ищет в корне.
Ну так пробей консол логом в каком-нибудь манутед, что там у тебя в сторе)))
А вообще какого хера ты используешь mapGetters для мутаций, когда нужно mapMutations?
После мапа, вместо this.$store можно вызвать мутацию просто как this.mutationName(params)
Мне нужна возможность блочить эту функцию. Например, вносишь определенное правило в ublock origin и никакие части страницы больше не выгружается.
Учитывая, что я в js и погроммировании не понимаю ничего.
Подскажите как этого добиться.
В JS нет такой функции и оперативная память тут нет при чем. У твиттера и прочих подобных сайтов кастомные виртуализованные списки, которые выпиливают из DOM лишние элементы. Легкого способа это отключить без реверс-инжиниринга их кода я не вижу.
ничего там не выгружается, разработчики стремились как раз все оставлять в кэше, чтобы ты лишний раз не дергал сервер. Современные JS фреймворки тебе разово отправляют тонны JS и у тебя уже есть возможность создать страницу, даже ту, куда ты еще даже не планировал зайти. Все то что существует в контексте текущей страницы, остается там же в памяти. Другой момент - визуализация контекста. Если мы говорим, что вот был видос, ты его открыл и скроллишь дальше страницу. Тут может быть такая ситуация. Движок браузера знает (опять же зависит от браузера), что ты не в поле зрения находишься и он не дергает видюху, а просто продолжает тебе аудиозапись проигрывать. Но это связь между виндой, софтом браузера и самой видюхой. Здесь вообще нет никакого JS. И ты как бы продолжаешь слушать видос, но оперативки грузится меньше, так как одно дело показывать тебе видео, другое только аудиозапись.
ну давай по частям разберём тобой написаное.
1.Мутации всегда должны вызываться экшонами.
2.Есть функция хелпер { ...mapMutations('название модуля',['название мутации'])}
3.Гетеры возвращают стейт
4. Если не хочешь использовать хелперы то мутация вызывается так this.$store.commit('название мутации', value, { module: 'название модуля' })
Понятно, спасибо.
>>599979
Ты говоришь движок браузера, но на остальных страницах я такой фигни не замечал. Ты же понимаешь о чем я вообще? Если например быстро скрольнуть твитер, то увидишь, как страницы прорисовывается заново - из-за этого выгружения невозможно например сделать нормально скриншот который по размеру больше отображаемой на экране области. Если выделяешь для скриншота большУю область, так, что она уходит сильно вниз/вверх, то есть туда, где сайт уже выгрузился, то в том месте скриншотится просто цвет фона сайта, без элементов. Я думал это из-за жс.
В реддите то же самое, в модерн интерфейсе(не на старом), когда заходишь в список комментариев/сохраненных тредов и т.д. своего профиля, то там вместо ручного перелистывания страниц(как на старом интерфейсе) реализован бесконечный список, который подгружает новые треды/комментарии по мере того, как ты скроллишь вниз, и соответственно области, которые ты проскороллил, постепенно выгружаются.
Т.е. если мутации никак не задействуют запросы на бекенд, то их нельзя вызывать коммитами напрямую?
мутации у тебя должны быть максмиально простыми, никаких запросов на бэкенд, потому что мутации синхроны, например -
set(state, newPostst) {
state.posts = newPostst
}
Запросы делай в экшонах и из них вызывай мутации.
дока к vuex
могу сколько угодно гадать что у тебя там. В модулях указываешь namespaced: true ?
Зачем, если есть среакт?
С помощью мутации я хочу поменять свойство, хранимое в стейт, обычную строку.
Пробую с элементами форм, в частности с селектом и 3 опшенами:
- с помощью компьютед свойства chosenSelect забираю в стейте строку
- делаю байндинг на это свойство в селекте
- создаю слушатель @change, вызываю функцию updateSelect
- в updateSelect передаю ивент, чтобы добраться до до e.target.value, т.к. в результате не могу передать компьютед свойства без указанного в нем сеттера.
- в сторе создаю мутацию, в компоненте через ...mapMutations импорчу эту мутацию: { ...mapMutations('название модуля',['название мутации'])}
- вызываю updateSelect, внутри функции коммичу заимпорченую мутацию через this.название мутации
- ничего не получается
P.S. Через коммит напрямую в модуль всё получается, через мапу нет. Через v-model и гет-сет в компьютед свойстве тоже работает.
Хочу понять как использовать мапы с модулями. Ничего внятного в гугле я не нахожу.
Да, в модулях указываю.
Двачую. Сперва сидел на vs code, придрочился
Но пересел на webstorm и из проблем остался только автовыравниватель, который конфликтует со встроенным
Но мне было лень его исправлять, по-быстрому накидал фронт и ушел в свой уютный бэк, где такой ебли нет
Не понимаю, почему во фронте такая конкуренция. Он не лёгкий. Вкатиться легко, но головняка больше. Неужели инфоцыгане?
Для этих собак отдельный котёл в аду. Так распиарили свою парашу, что уже даже моя маман мне начала советовать поискать курсы. А она человек далёкий от компьютера
Слышал, что акции надо продавать, когда даже сантехник хочет их купить. С битком так же вышло — как только пропиарили его по телевизору, как только условные сантехники прикупили крипты в кредит, ценник обвалился. Потому что денег больше не было
Но если биток купить довольно просто, то программированием все несколько сложнее. Но мы уже наблюдаем людей, готовых работать бесплатно, наблюдаем зарплаты в 20к на джунов, наблюдаем 100 откликов на одну вакансию без опыта. Что дальше?
У меня был вариант пойти энергетиком в нефтянку поработать. Думал подкопить денег, подучиться и потом уже искать работу программистом. Но хорошо, что сразу пошёл. Да, жилье надо снимать, суммарный доход меньше, но попробуй искать работу через год — я бы, скорее всего, соснул хуйца
Дык а чё происходит то? Не видит в стейте изменяемое поле и не обновляет его?
Ну бля, а че ты хотел. Ты видел эти курсы? Выучи хтмл, цсс, жаваскрипт и все, ты джуниор стажер верстальщик, иди устраиваться.
Но на деле они не дают даже какой-то адекватной инфы по по хтмл и цсс. Люди приходят от туда и не знают о кроссбраузерности, о том что какие-то свойства работают по разному в разных браузерах. Не смогут нормально поделить цсс по компонентам.
Про жс даже говорить больно, тут не то что вэбапи не знают, не знают стандартных объектов жаваскриптов
> попробуй искать работу через год — я бы, скорее всего, соснул хуйца
Почему? Почему все готовы проиграть в конкуренции сантехнику? Где чсв?
ЕСЛИ браузер пользователя - современный - выводить такой-то блок верстки, выполнять такой-то код
ИНАЧЕ выводить другой, выполнять другой (или не выполнять вовсе, например)
Ну, в духе "если браузер пользователя - хром выше 50, фф выше 52, опера выше 36 или ие на хромиуме, ведро больше 4 или гейос больше 7 - показывать крутую современную верстку,
иначе если браузер хотя бы хром или фф выше 4 или опера выше 12 или ие выше 9 - показывать верстку попроще,
иначе - показывать херню на html4/css2"? Просто как пример. Для десктопных и мобильных браузеров.
Чтоб не надеяться на "а сработают ли" автопрефиксеры и полифиллы, а тупо отдавать страницу нормальную, попроще и совсем простую, к примеру. По юзерагенту или как-то еще.
Еще вопрос, есть ли какие-нибудь автоматические тестировщики совместимости и кроссплатформенности, вроде can i use, но для всего сайта целиком, которые подскажут, где у меня что может сломаться, а с каких версий у меня должно работать 100% ок?
Модернизр - хуйня, он тестирует отдельные компоненты, уже в браузере юзера. Миллион таких вариантов не отработаешь, я хочу всего-то 2-3 версии поддерживать для разных наборов версий. Но не перебирая миллион юзер-агентов.
Я бы хотел библиотеку, которая все эти сотни, если уже не тысячи, вариантов юзерагента, переберет за меня, а я тупо напишу
"если хром новее 50 или опера новее 36 или фф новее 42 или андроид новее 4 или гейос новее 7 - показываем один шаблон, иначе - другой"
ты эт я анон. прямо полностью. даже про энергетика с нефтянкой в точку. кажется ты с моего потока из шараги ....
Ты заебал, я тебе уже в прошлом треде скинул подробный гайд, как это нужно делать - https://www.smashingmagazine.com/2018/10/smart-bundling-legacy-code-browsers/
> Learn javascript буду вкуривать в первую очередь.
Это плюс задачи оттуда же. Помимо этого checkio/codewars/leetcode. Времени у тебя мало, но если сможешь батрачить, то сможешь возненавидеть жс и прокачаться.
Недавно начал задумываться, что все-таки какой бы нода не была крутой, полноценный бэк на ней не пишут, или пишут, но очень редко. Да, есть TS и NestJS, но я пока не вижу чтоб их много где использовали для чистого бэкенда. В основном нода по прежнему используется для оркестровки, прототипирования и BFF.
Созрел вопрос, в какой ЯП и фреймворки вкатиться, чтобы заполнить в своих знаниях опцию чистого бекенда? Что сейчас модно кроме жабы/дотнета? Посмотрел модные хайлоад продукты/компании/стартапы - очень много где используют Go/PHP/Python. Во что из этого проще вкатиться, учитывая мой опыт?
Читал про него. Да, крутой, прикольный язык, но так ли часто им пользуются? Я вообще эту тему поднял, чтоб не только закрыть у себя гештальт "нормального" бэкенда, но и чтоб этот опыт теоретически был востребован. Я буквально зашел щас в топы аппсторов и начал смотреть на чем всякие ламоды/авиты и прочее написаны. А там почти везде Go/PHP/Python. Вот и сижу в раздумьях на какой стул сесть.
>С битком так же вышло — как только пропиарили его по телевизору, как только условные сантехники прикупили крипты в кредит, ценник обвалился
Пчел ты совершенно не понимаешь как это работает. Как раз то что даже сантехники и мамочки стали скупать битки и обеспечило им такой охуительный подьем, аж до десяти килобаксов. Так что тебе наоборот благодарить их надо. (Даже такой слоупок как я из-за пиара успел войти на 4к и получить двойной профит пусть и от небольшой суммы) А потом да, халява кончилась, так как все кто хотел уже вошли. Собственно и пошла сначала стагнация, а потом спад, ибо мамкины бизнесмены, желающие быстро "поднять бабла", начали что то понимать и потихоньку выходить.
Тебе же уже отвечали в прошлом, что не надо так делать. В вебе такое НЕ РЕКОМЕНДУЮТ. Трай свои фичи конкретно по функционалу и уже от этого отталкивайся. А заниматься хуйней с юзерагентами тупо и бесполезно
GO - это почти всегда микросервисы
Python всякие датасайнс, но вроде бы как бэк норм, не знаю
PHP - много где, в основном всякие интернет магазины, хотя и микросервисы на нём пилят.
Никогда бы не подумал что скажу этого, но PHP норм, точно найдёшь работу, последние версии языка хорошие, если не нужно подерживать чьё то легаси, так вообще обычный языка программирования.
Но я бы на твоём месте дальше задротил ноду и повышал экспертизу.
Если я создаю на "кнопке" фотографирование, то вызов экрана камеры должен быть в другом "экране". В смысле чтобы с начального экрана я ушел к фотографированию, мне нужно использовать навигацию и переходить к другому экрану, да?
и что лучше для навигации использовать вшитый в реакт https://facebook.github.io/react-native/docs/navigation
или
https://reactnavigation.org/ поделитесь опытом пожалуйста
>Есть ли какая-нибудь крутая и надежная (в смысле поддерживаемая всем и везде и работающая всегда)
>Чтоб не надеяться на "а сработают ли" автопрефиксеры и полифиллы.
>Еще вопрос, есть ли какие-нибудь автоматические тестировщики совместимости и кроссплатформенности, вроде can i use, но для всего сайта целиком, которые подскажут, где у меня что может сломаться, а с каких версий у меня должно работать 100% ок?
>@babel/preset-env is a smart preset that allows you to use the latest JavaScript without needing to micromanage which syntax transforms (and optionally, browser polyfills) are needed by your target environment(s). This both makes your life easier and JavaScript bundles smaller!
>{ "targets": { "chrome": "58", "ie": "11" } }
https://babeljs.io/docs/en/babel-preset-env#targets
Имхо, это должно решить твою проблему.
Ну да, я понимаю, что мне лучше развиваться вглубь, а не вширь, но сук, все равно хочется попробовать что-то новое.
Насчет PHP тоже думаю что норм, современная пыха в связке с каким-нибудь ларавелом выглядит вполне себе уверенно, это уже не та сраная пыха из 2009 на которой писали вонючие веб-мастера. Да и на мое удивление, этот стек активно используется почти в хайлоуде.
>without needing to micromanage
суть в том что этот шизик хочет заниматься микроменеджментом и для пары браузеров отдавать разный код
Я не понял, какую проблему он решает. Увидел только его хотелки.
Можно поискать какой нибудь пакет в нпме, который будет детектить браузер по фичам, типа https://www.npmjs.com/package/es-feature-detection
Или самому эти фичи детектить, если знаешь, что именно ты используешь:
if (!Proxy) loadProxyPolyfill().then(tvoiGovnoKod)
const initialState = await getProducts()
Нет, я не смотрел курсы. Но если подумать и посмотреть на цены — хоть сам делай что-то и выкладывай на юдеми или где эти пидорасы хостятся. Но наверняка не все так просто и лавочка уже закрыта
>>600206
Ну почему сантехнику? Это может быть 20-ти летний парень с горящими глазами. Который чуть ли не вприсядку готов дрочить, лишь бы найти работу. И таких может быть много
И да, число мидлов растёт, хоть и не так быстро
ЧСВ после олимпиад как-то само загибается
>>600403
Я это и имел ввиду. Только если биток откупали и он шел в рост, и все были довольны, то тут ситуация в обратную сторону. Довольны будут только владельцы галер, так как им теперь можно платить меньше
Я сильно сомневаюсь, что стагнация и спад быстро остановят рост числа вайтишников, потому что сложно представить другую работу, на которой платят хорошие деньги, она не пыльная, а также позволяет завести трактор без переаттестаций
Скорее всего, придётся учиться работать на апворке и конкурировать с индусами. Если только наша любезная власть не ограничит эту возможность как инвесторам
>>600286
Вряд ли ДВ
Во-первых, асинк функция возвращает промис. Во-вторых, это делается через написание санка load, который грузит данные с апи и вызывает редьюсер, который и наполняет твой стейт.
> Ну почему сантехнику?
Потому что у многих логическая цепочка такая: все вкатываются, даже днари всякие => нет смысла вкатываться, ведь конкуренция слишком большая и ничего не получится => вкат прекращён.
> Это может быть 20-ти летний парень с горящими глазами. Который чуть ли не вприсядку готов дрочить, лишь бы найти работу.
А он будет лучше тебя? Может часть таких сможешь обойти?
> И таких может быть много
А может не быть. А может быть много, но ты их обойдешь.
> ЧСВ после олимпиад как-то само загибается
Олимпиадников не так много и все места они не могут занять.
Как это делается на ванилле? Мне в голову ничего хорошего не идёт - только если сохранять всю ноду целиком, с её состоянием. Ну или при обратном редиректе в гет-параметрах указать, а потом цеплять их при загрузке и открывать соответсвующую.
Может какой-то более удобный способ есть?
>Но я бы на твоём месте дальше задротил ноду и повышал экспертизу.
Всё так перед задрачиванием ноды лучше подтянуть любой бэк-язык до среднего уровня хотя бы. Ну просто чтоб знать как правильно бэк писать, да и сама нода понятнее становится после такого, как слышал.
>>600323
Я не понимаю, вы ебобо? Я хочу версию сайта для старых браузеров, всяких 12 опер и прочих ие7. Целиком, отдельную. Как блядь мне ее запилить? Ты мне скидываешь ссылку на какое-то говно, которое предлагает использовать полифиллы и префиксы, а я еще первым постом в предыдущем треде (копия которого тут) сказал, что я НЕ хочу полагаться на префиксы и полифиллы.
>>600270
Так ведь это тоже сорт оф автоматическая применялка совместимостей, которая еще хуй знает, сработает или нет.
Учу JS по learn.javascript.ru дошел до конструкторов и впал в ступор. В целом объеткты чет не очень зашли. Что посоветуете, учить по офф мануалу дальше или лучше использовать другую литературу, например "You don't know JS" итд ?
Продолжай, смена литературы не поможет. Просто иди дальше и понимание догонит. Если не догонит - надо перечитать и дополнительно попрактиковаться.
Посоветую не прыгать по учебным материалам как шлюха по хуям. Читаешь материал, решаешь задания, если не можешь решить, то смотришь на решения и пытаешься понять "почему так", если всё равно не понимаешь, просто пропускаешь эту тему и идёшь дальше, возвращаясь к ней по мере столкновения с материалом в котором эта тема затронута.
>объеткты чет не очень зашли
И? Работа в Пятёрочке тебе тоже не очень зайдёт.
Так что теперь выбираешь?
>You don't know JS
Это тебе точно читать не стоит. Продолжай учить learn.javascript.ru, если совсем не понятны какие-то части просто заглули, прочитай объяснение в других местах, попрактикуйся, задавай вопросы что именно не понятно, отдыхать не забывай.
>я НЕ хочу полагаться на префиксы и полифиллы.
На автоматические полифиллы он блять не хочет полагаться, зато удвоить количество своего говнокода в проекте ради конкретного браузера - это мы завсегда.
Зачем бегать? Купил велосипед и катаешься, при этом с перерывами на ожидание заказа и его приготовление.
И какие перспективы через 5 лет? Так и будешь до старости на велосипеде кататься?
Всё лучше чем словить шизу от изучения алгоритмов и геморрой от сидения на месте.
Сохраняй только те данные, которые являются динамическими. А всю остальную верстку не сохраняй. Например, если делаешь туду лист, сохраняй данные тудушки. А при старте страницы забирай данные из туду листа и отрисовывай их.
просто я очень люблю работать с чтивом, конспенктировать хуйню и набивать руку. а еще меня доебывают лекции и не хочу ассоциироваться с дауничами которых нужно заставлять учиться ну, это я так
за мат* извените. я больше не буду
Забирай данные из локалсторейджа*
Не ради конкретного, а ради всех старых. Давай, покажи мне, как эти полифиллы мне в ие7 сделают нормальную работу современного спа-говносайта с анимациями и интерактивщиной.
спасибки
Для настолько старого говна как IE7 надо не какие-то условия в коде писать, а тупо отдельный код. Реакт его не поддеживает, например, не говоря уже про современный CSS.
Зачем нужны конструкторы которые передают в функцию свои аргументы если можно просто тупо передать нужные аргументы в функцию? Функции разве не для этого придуманы, что бы быть гибкими из-за аргументов, которые мы сами в нее передаем?
Да, чувак, я об этом и спросил, блеать. Либа, которая позволит мне отделить старые браузеры от новых, чтобы одним выдавать свежий код, а другим - версию для старого говна.
Перекатывайся на инглиш версию. Я хз, но рашн версия сложнее для восприятия.
>>600668
>Зачем нужны конструкторы которые передают в функцию свои аргументы если можно просто тупо передать нужные аргументы в функцию?
Зачем вообще конструкторы нужны, если можно пердолить новый объект со всеми ключами с нуля?
Как ты в этот тред попал, болезный?
Полиморфизм - один из принципов ООП. Объекты имеют состояние и поведение. Состояние - это переменные, которые он хранит внутри себя, которые относятся к этом объекту. Поведение - это методы, с помощью которых он общается с другими объектами или внешним миром. На практике полиморфизм нужен, чтобы объекты делились своим поведением, а также перезаписывали его. Делается это, как вариант, через конструкторы. Можешь считать конструктор как начальным значением объекта.
Теперь ответ, почему передовать аргументы в конструкторе, а не в функции. Если кратко, то - это зависит. Если долго - вот код с пояснением https://codesandbox.io/s/exciting-paper-evo4l?fontsize=14&hidenavigation=1&theme=dark
А как ты это либой будешь делать? Тебе нужно чтобы веб-сервер отдавал разные страницы в зависимости от UA. К JS это вообще отношения не имеет.
Вбей в ебаный гугл browserslist user agent и найдешь свое говно, заебал
>Полиморфизм - один из принципов ООП
wrong, полиморфизмом пользовались задолго до ООП и прекрасно пользуются сейчас в языках без ООП.
>Полиморфизм - один из принципов ООП
>полиморфизмом пользовались задолго до ООП
>прекрасно пользуются сейчас в языках без ООП
Не отрицаю, но одно другому не мешает. В ооп полиморфизм один из принципов.
Что ты блять несёшь?
Какое отношение та хуйня что ты пишешь имеет к полиморфизму?
Состояние какое-то, поведение блять, конструкторы нахуй какие-то.
Очень упрощая, полиморфизм - это наличие единого интерфейса для работы с разными типами данных. Конкретно ООП-стайл - это полиморфизм подтипов.
Очень упрощая - полиморфизм это набор switch-case стейтментов, которые выполняют разный код в зависимости от типа переданного аргумента.
Ты википедию не пишешь? Там примерно так же суть вещей объясняют - максимально кривым языком которым это можно сделать. Сухие формулировки без идеи.
Именно поэтому по ней невозможно учиться, хотя казалось бы универсальный справочник.
Наркоман, эта формулировка на 100% передает суть полиморфизма в двух словах и будет понятна любому ньюфагу, не знакомому с ООП.
Я правильно понял, что выучив ангуляр, можно писать для десктопа (через электрон) приложения на нем и (через средства самого ангуляра) мобильные приложения? Есть реакт нэйтив, но это только мобилки и не тот же реакт, что и обычный реакт для веб-фронтенда. А у вью такого нет вовсе. Если я где-то ебланю, покажите, где. Но ангуляр выглядит самым универсальным в этом смысле, если правда можно писать фронтенд для чего угодно (любой платформы - десктоп, мобайл, веб) на одном фреймворке.
Реакт нейтив - это такой абстрактный реакт, который можно транспилировать как на мобилки, так и в веб, так на десктопные приложения (по крайней мере для десятой винды).
> приходишь в ООО Рога и копыта. Все написано на классах и редаксе. Сядешь переписывать на хуки или будешь делать только то что тебе сказали?
Перепишу на хуки, только при чём тут редакс, поехавший? Он никуда не денется от того, что я перепишу классовые компоненты на функциональные. Противопоставление редакса и хуков это сравнение тёплого с мягким.
Или с ним всё хорошо?
Он ок, если твое приложение это по сути набор форм без активного использования нативных фич или йоба-анимаций.
>Проигрывает ли он в скорости альтернативным технологиям технологиям, не обязательно связанным с js?
Смотря что ты им будешь делать. RN-приложение будет дольше запускаться, потому что телефону нужно распарсить код, на слабых телефонах это ощутимое время. Некоторые анимации будут работать медленно, если специально это не фиксить.
>Или с ним всё хорошо?
Далеко от этого. Основная проблема для меня — окружение все время ломается. То сборщик, то симулятор, то еще что-то. Все держится на соплях. Неприятно с таким работать. Алсо, RN сложно апдейтить, нужно ходить по миллиарду конфигов и править там все руками. Почти всегда апдейт у нас занимал минимум день, а если на несколько версий, то еще больше.
https://certification.mail.ru/tests/copy-javascript/start/
Не понимаю твоих заебов. Цель у тебя какая?
На вью тоже можно делать приложения под все платформы:
Шинда — электрон только по сравнению с нативным гуем жрёт дохуя и микрофризы
Мобилки — в кордову упаковался и сидишь довольный. Я Quasar использую, там это из коробки
Веб — ну тут и так ясно
На мой взгляд, все 3 фреймворка плюс-минус одинаковы. Из нового только Svelte, но в проде его ещё мало кто использует. Но обещает быть лютой годнотой
Почему это мейлру не может рекламировать свою парашу на своей параше?
Бро, это ебаный десяточный кал, а не "десктопы". Десктопы это все версии шинды хп и старше, макоси старше леопарда и линуксы хотя бы последних стабильных версий.
>>601363
Я не понимаю насчет десктопов, во всяком случае, не вот этих вот ювп-метро-модерн приложений. И реакт нэйтив все-таки другой реакт, нет? Ну, там чуть другая структура, другие методы, другое все.
>>601373
Хочу универсальный фреймворк для разработки подо все.
>только по сравнению с нативным гуем жрёт дохуя и микрофризы
Я знаю, мне шоб дешево и сердито, для быстрого прототипирование универсального, короче.
>Цель у тебя какая?
Чтоб не переучиваться, не перестраиваться. У вью вроде бы вообще нет нативной поддержки этих дел, у реакта - там 2 разных реакта, в ангуляре я так понял гугл обо всем позаботился, наделав хороших абстракций для всяких тачевых штук, сенсоров и т. д.
>Мобилки — в кордову упаковался и сидишь довольный. Я Quasar использую
Но ведь это все максимум для приложения по заказу пиццы. Каких-то платформоспецифических фич либо не будет, либо фреймворк не будет поддерживать и надо будет какие-то костыли прикручивать. В ангуляре, как я понял, все в одном, у реакта - нэйтив есть. А как я данные с акселерометра получу в аппе на вью, завернутом квазаром?
Из нового только Svelte - уже который раз про него слышу, это очередной форс? Чем хорош?
>Я правильно понял, что выучив ангуляр, можно писать для десктопа (через электрон) приложения на нем и (через средства самого ангуляра) мобильные приложения? Есть реакт нэйтив, но это только мобилки и не тот же реакт, что и обычный реакт для веб-фронтенда.
Ну то есть задача "один инструмент для всего" - идеально решается связкой жс+ангуляр+нода, а не чем-то с вуе или реактом, свелтом, етц?
https://codepen.io/wsjjsssf1/pen/XWbXPgq
>В целом объеткты чет не очень зашли.
JS был первым моим языком, и у меня понимание объектов и фабрик наступило после того, как я на практике понял, зачем оно нужно. Помню, я делал игру-космический скроллер, где слева страницы находился корабль (он мог ездить вверх и вниз), а с правой стороны появлялись астероиды, от которых нужно было уклоняться.
Очень быстро я понял, что каждый астероид должен хранить целый набор данных о самом себе: свои координаты, свой размер, свою скорость. И вот тут пригодились удобные объекты.
А потом, когда я устал вручную править в коде два десятка астероидов, я понял, зачем нужна фабрика.
Учить надо не Ангуляр, а JS(TS). На чем будешь писать проект - дело десятое. А после этого ты доучиваешь то, что требуется в тех компаниях, куда ты хочешь.
> А потом, когда я устал вручную править в коде два десятка астероидов, я понял, зачем нужна фабрика.
Можешь поподробнее?
>Можешь поподробнее?
Ну как ты представляешь себе реализацию летящих астероидов без фабрики? Ясное дело, что у меня прямо в коде была куча объектов, которые сдвигались влево, а выйдя за экран переносились обратно в правую часть.
Там, правда, всё можно было сделать проще и без всяких фабрик (в js вообще всё можно сделать без оператора new). Но тогда я искал способ создавать и уничтожать объекты динамически, и нашёл.
В курсе, что Бетховен 10к зелёных сейчас стоит? До хайпа 2к был.
Кого ебёт зп джунов и количество джунов которые откликаются на вакансии? Когда ты уже мидл и выше, тебе поебать на джунов.
Эти толпы джунов скоро тебя догонят, и обрушат твою ЗП.
Ведь ты не успел получить уникальную экспертизу и создать личный бренд.
Надо же мифы про армию макак до сих пор живы.
Как они меня догонят, если на работу набирают мизерное количество, а без опыта работы они не смогут конкурировать со специалистами?
Слишком толсто, попробуй чуть тоньше
Это итак понятно. Но вопрос все же про инструмент.
Стыдно, jshint не подсказал, я и забыл.
Параллельно пердолюсь на заочке, порешиваю/почитываю всякую математику/алгоритмы, сам планирую закопаться во всякие книги погромирования типа Кнута. Мне бежать из фронтенда в скором будущем и перекатываться в бэкенд? Перекатываться со знанием жабаскрипта в ноду, учитывая, что на нем большого не пишут - будет глупо. Подскажите, куда бежать? или оставаться?
Пользователь вводит данные в окно. Я хочу что бы я мог в любой момент отследить как он повел себя с prompt без передачи результата ввода как параметра функциичто бы без вот этого блять choiceObj.doChoice("some text here").choiceUp(doChoice);
> В курсе, что Бетховен 10к зелёных сейчас стоит? До хайпа 2к был.
Юристы готовы с тобой поспорить
Значит ты слабенький, основ не знаешь. Куда тебе нам на серьезную работу, иди цвета кнопочкам меняй.
choiceObj = {
choice:"",
doChoice: function(text){
text = text;
choice = prompt(text);
return this;
}, // передаю текст в prompt, и возвращаю то что ввел туда пользователь
choiceUp: function (){
if (this.choice) {
console.log('good');
return true;
} else {
console.log("false");
return false;
}
} // Отдельно! возвращаю true или false в зависимости как пользователь отреагировал на prompt.
}
choiceObj
.doChoice("some text here")
.choiceUp();
Благодарю
> // передаю текст в prompt, и возвращаю то что ввел туда пользователь
нет, ты возвращаешь this, т.е. контекст вызова.
так делают, чтобы была возможность чейнить вызовы методов.
Принципиально хочу дальше юзать commonjs как у ноды, какие подводные (все равно вебпак все соберет)?
Явно плохо понимаешь, что делаешь. Тебе надо просто поиграться с языком. Например, я раньше писал свою либу, которая расширяла прототип Boolean так, что было можно писать, например, true.invert() или false.withChance(0.8). Это всё помогает освоиться в языке.
Зачем вообще заморачиваться с модулями, да ещё и вебпук подключать, пиши всё сразу в один файл!
Кстати, пробелы тоже вообще ни о чём. Так что хуячь сразу минифицированный. Такое принципиально не может не нравиться.
К конструкциям языка у него симпатии и принципы. Ты как из палаты сбежал, ебанутый?
Даже клоун тебе может пояснить, что у модулей и коммонжиэса разное поведение. Тебе такое принципиально нравится, с твоим свитшотом норм смотреться будет?
Выдохни. Не надо переживать, бегать и перекатываться туда-сюда. Тебе некуда спешить, алгоритмы никуда не денутся. Планомерно развивай скиллы, берись за более сложные задачи. Если на работе совсем тухляк и некуда расти, то меняй ее.
Во фронтенде могут быть и алгоритмы и очень сложные задачи и не обязательно связанные с версткой. Хочешь чтобы жопа сгорела — смотри в сторону WebGL. Но работы там не супермного, значительно меньше чем на Реакте.
На лицо тебе сбрызнул. Как у моешься, погляди, почему Нода до сих пор нормально модули не имплементировала. И зачем вообще это делать, если КоммонЖиЕсть можеть принципально нравиться.
Покормлю.
Проблема в том, что импорты в стиле питона - самое говнистое что можно спиздить из других языков.
Если с require все просто, то модули завозят тонну магии под капотом (например разрешение импортов до исполнения).
Смысл такой же, как у следующей строки:
Со мной-то зачем? Пусть с рыночком впустую пытаются спорить.
Ну так я вроде и пишу, что я только изучаю их, я к сожалению в матклассе не был и меня никто не натаскивал, кроме молоденьких училок и старых пропердей, которым моя математическая база до пизды.
Спасибо, анон.
нахуя оно тебе надо? Алгоритмы на работе очень мало кто пишет. И тот, кто пишет, явно не круче тех, кто не пишет. Просто ебли больше, это как с байтами. Окстись, тебе оно не нужно. Бекенд? Бекенд не сложнее, чем фронтенд. А в последнее время может быть даже и легче. Хочешь большие хуйни? Так иди работать на большие проекты, они есть и во фронте. Но тоже пойми, что во всем есть плюсы и минусы. Я программирую большую хуйню, но хотел бы наоборот маленькую. Потому что в маленьких хуйнях больший спектр различных задач. А в больших хуйнях много людей задействовано. Тебе просто все разжуют и в рот положат, не придется думать даже
let ID;
let interval;
let timer = function(){
let Vremya = new Date().getHours() + ':' + new Date().getMinutes() + ':' + new Date().getSeconds();
bot.sendMessage(ID, 'Московское время: '+ Vremya);
}
bot.onText(/\/start/, function (msg, match) {
var userId = msg.from.id;
ID = msg.from.id;
bot.sendMessage(userId, 'Бот запущен');
interval = setInterval(timer,3000);
});
bot.onText(/\/stop/, function (msg, match) {
var userId = msg.from.id;
bot.sendMessage(userId, 'Бот остановлен');
clearInterval(interval);
});
>Бекенд не сложнее, чем фронтенд.
Много бекенда написал, маня? Заплатка для БД, которая просто данные из базы отдаёт это ещё не бекенд.
>Ваш бэкенд не бэкенд
Фронт без бэка? Это да, но я то про админку. Мне кажется, что она скорее к бэку относится, просто с интерфейсом в наличии. При этом я видел статью, где бэкендер бугуртил из-за того, что все админку к бэку относят, а это принципиально другая штука.
Нельзя так однозначно классифицировать. Даже если фронт для админки - это всратая белая страница с парой инпутов и кнопок, это всё равно фронт.
И как это должно помочь, сириусли?
Жс сейчас самый быстро развивающийся язык. У ноды все неплохо, хайпа нет, но среди динамически типизированных языков это лучший выбор для бэка на данный момент.
Электрончик.
А что тут не так? Добавил в пустой массив одно значение, метод push вернул новую длину массива.
Работающие статические анализаторы, линтеры, форматтеры, вот это все. На других языках эти инструменты поддерживаются на очень слабом уровне.
я почему то заглючил и думал что вернется массив с добавленым элементов хахъ
На питоне например нельзя сделать автозамену кавычек на одинарные, в жс можно. В питоне нельзя нормально включить статический анализатор mypy, потому что половина библиотек его не поддерживают, в жс все библиотеки поддерживают тс. Ну и так далее.
-Сплошные калбэки, которые надо заворачивать в промисы, чтобы увидеть что-то нормальное в виде async await
-Никто на async await и не пишет.
-Как только завернул все в промисы, становится нефига непонятно как и где ловить эксепшенны в ваших async await в ваших express (скорее всего нужно будет вернуться в промисы и ручками ручками обрабатывать ошибки).
-Хера напишешь простенький скрипт, везде блядские калбэки или события или вообще сплошная магия и говнокода как в С++.
-Фронтент js имеет такое же отношение к бэкенду, как люстра и к холодильнику (максимум общих пару хелперов и валидатор, которые вообще лучше бы не светить во фронте)
В функцию start добавь
if (interval != undefined) clearInterval(interval);
А в функцию stop
interval = undefined
После clearInterval(interval);
что ты называешь объектной моделью?
То ли дело видосики на ютубчике от индусов.
Я её решил, но видимо неоптимально с точки зрения алгоритмов - кодеварс не пропускает решение, так как там 12 секунд отведено только. Как бы вы её решили? Насколько плохи мои решения и какое из них лучше оба хуже - ни одно кодеварс не пропустил?
Скрипт же
Он не только динамически типизированный, есть же TS.
>>603002
NestJS.
>>603040
> -Сплошные калбэки, которые надо заворачивать в промисы, чтобы увидеть что-то нормальное в виде async await
Что там заворачивать? async/await используешь и всё.
> -Никто на async await и не пишет.
Как там в 2017?
> -Как только завернул все в промисы, становится нефига непонятно как и где ловить эксепшенны в ваших async await в ваших express (скорее всего нужно будет вернуться в промисы и ручками ручками обрабатывать ошибки).
В Express прекрасно ловятся ошибки через middleware.
> -Хера напишешь простенький скрипт, везде блядские калбэки или события или вообще сплошная магия и говнокода как в С++.
Это не проблема JS, это проблема того как именно ты пишешь код.
Спасибо, поменял на time и все сразу заработало как надо(нет)
>>603063
Ну в принципе я разобрался даже без условий. Просто воткнул clearInterval(interval) перед новым запуском.
Единственно я так и не понимаю почему оно само это не делает. Причем ладно бы interval была локалкой я бы все понял и простил. Но ведь она глобальная и почему то вместо приравнивания к новому таймеру, она создает новый. Бред короче.
Потому что переменная timer хранит id-указатель на постоянно повторяющуюся функцию. Задавая новый интервал ты просто перезаписываешь этот id, который никак не влияет на уже запущенную функцию.
Оба хуета. Зачем eval? Зачем переводишь в JSON, а потом обратно парсишь?
Да я даже кто есть кто из call и apply наизусть не помню лид 5 лет опыта, а ты про unshift.
Вспомнил про него потом, он в принципе только второй reverse убирает.
Родил ещё однострочник который не влез в таймаут. Из-за кучи пересоздаваемых массивов скорее всего.
Ну замени на цикл с конца в голову.
Это типичная задачка на отсев джунов у которых разрыв шаблона от того что массивы не только с 0 по length-1 можно перебирать.
>А от джунов требуешь?
Высмеять конечно высмею чтоб запоминали, полезно экономить наносекунду на поиске сигнатуры таких базовых функций, но это хуйня полная.
На собеседованиях mdn держу открытым чтоб тупняки типа этого отсеивать и на алгоритмах фокусироваться.
Есть куча других причин. Очень медленно, не безопасно, непредсказуемые сайд эффекты, которые усложняют понимание программы другими программистами.
Спасибо, терь понял.
Алсо тут новая проблема возникла, может тоже знаешь в чем суть, оказывается bot.onText работает только когда напрямую боту пишешь. Как сделать чтоб он слушал все команды в условном канале? /setprivacy - Disable уже поставил
>Это не проблема JS, это проблема того как именно ты пишешь код.
Нет, это именно говно дизайн js. Если фронтент макака еще не ощущает это так, то бэкенд макаке - очевидно
В чём твоя проблема? Я пишу бекенды на js и у меня красивый код с async/await, я даже синтакс промисов почти не использую.
>написал 1 кривой круд по туториалу
>Бекенд не сложнее, чем фронтенд
Всегда с таких петушков проигрываю. Хули там с этим бекендом люди возятся.
Я твой бекенд за пару минут уроню, что не встанешь.
Тимлид (мамка).
Мне вот очевидно что ты не смог в async/await, а виноват почему-то JS.
https://www.obfuscator.io/
(Что за browser no eval в параметрах - так и не понял. Типа не использовать внутри eval()?).
Но такие штуки относительно пережевываются чистилками вроде
https://beautifier.io/
https://lelinhtinh.github.io/de4js/
http://beautifytools.com/javascript-beautifier.php
http://www.jsnice.org/
Или вот хабр вот такие вот энкодеры предлагает
http://discogscounter.getfreehosting.co.uk/js-noalnum_com.php?i=1
http://utf-8.jp/public/aaencode.html
http://utf-8.jp/public/jjencode.html
Тут уже получше, но сразу вопрос, насколько эта хрень будет кроссбраузерной? Есть ощущение, что нинасколько, о чем одна из них даже предупреждает сама. У меня оно так просто в консоли тоже работать не хочет. Страшно представить, что будет в ие каком-нибудь. Ну и это только жс, а хотелось бы и верстку со стилями испидорасить.
Можно обойтись букмарклетом
1. Твой говнокод никому не нужен.
2. Если твой говнокод кому-то понадобится, то его вычленят и разберут по косточкам всё равно.
3. Держи важные части на сервере.
Обфускаторы ничего не защищают, это бесполезно.
От инструмента с первой строчки гугла ещё что-то можно спрятать как раз таки, а от человека ничего.
let obj {
name: "2ch",
age: 27,
get(){
switch (prompt("name, age")){
case this.name: alert(this.name); break;
case this.age: alert(this.age); break;
}
}
}
Твоя проблема решается более простым способом:
const obj = {
__name: 'asdf',
__age: 27,
__get() {
____const key = prompt('Enter key');
____return this[key];
__}
};
Там бабосики
Задача не настолько серьезная, чтоб вымудряться.
>>603545
1. Я считаю иначе.
2. Защита от манки-кодеров, копипастящих "прикольные штуковины", а не от человека.
3. Важные части, определяющие отрисовку, анимацию и т. д. графических схем? Охуенная затея.
>>603581
> от человека
Не от человека, а от манки-кодеров
>2. Защита от манки-кодеров, копипастящих "прикольные штуковины", а не от человека.
Скопируют обфусцированную версию, делов то.
Будет яблокоодно.
Гениально просто, спасибо.
axios
Шизик, то что ты сделал, с вероятность 99% уже есть в открытом доступе и работает быстрее.
Всем доброго времени суток, вопрос следующий. Учусь в универе на айти направлении, но там учат всякому говну по верхам, поэтому решил самостоятельно учить жабаскрипт для карьеры фронтендера в будущем. Ну вот учу по кантору уже месяца полтора, дошел до классов пока что, все заебись.
И сейчас вот у нас в универе начался предмет, где просто дают задачи всякие околоматематические, и надо написать программу, которая подобную задачу решит. Причем писать сказали на любом языке, какой хочется, но порекомендовали плюсы или питон.
Мне очень не хочется изучать параллельно жс для себя и плюсы/питон для ебаных лаб, поэтому вопрос - можно ли сделать лабы типа той, что на пикрил, с помощью жабаскрипта? Я слышал где-то когда-то от кого-то, что типа жс не очень хорош для математики и т.д., но меня интересует не то, насколько удобно будет, а смогу ли я в принципе такие задачи на жс решить.
Если можно, то буду делать на жс, и тогда предмет просто кайф. А если нет, то буду с лицом лягушки учить питон и терять время, по сути.
Заебись тебе, анон. Я вот учил другую инженерную вышку, а по вечерам программирование педалировал
пиши на чем хочешь, язык это инструмент. JS точно подходит
Сделать-то может и сделаешь, но не факт что препод примет.
С математикой у всех языков проблемы из-за двоичной системы счисления, просто в некоторых есть уже встроенные костыли для флоатов.
На жсе сейчас можно написать все что угодно от серверных приложений то мобилко-игор. Шли байтоебов нахуй и делай так как тебе нравится. Тем более раз пишешь в кайф
Препод сказала, что примет что угодно, лишь бы поставленную задачу выполняло.
>>603935
Я сам долбоеб, после школы поступил на теплоэнергетику по тупости, отучился 2 года и только после этого понял, что душа-то к кодингу лежит. В итоге отчислился и заново поступил на первый курс айти спецухи. Благо на шее маминой уже не сижу и могу позволить себе проебать пару лет, хотя и неприятно.
>>603923
Пофиг, что удобнее, я просто не хочу внимание свое разбивать на два языка сразу, лучше один учить, но учить конкретно.
>>603944
Заебись, ты меня прям успокоил.
В общем, всем спасибо, буду делать все на жс и очень этому рад!
Да что ты говришь, нерешаемая. Там даже в его лабе даэкстра указывается, хотя методов на самом деле хватает. Забавно что я как раз в свое время на жске с этими алгоритмами поиска путей баловался
Я не пробовал ее решать, просто несколько раз слышал что нерешаемая.
Ага, но пока не в айти сфере. Вот все надеюсь, что до конца 20 года выучу жс + реакт + все там сопутствующее и начну уже на кодинге зарабатывать понемногу.
Во что конкретно вкатываешься? Как давно, как успехи? Я вот уже смог себе сайт-резюме сверстать красивенький, горжусь им.
Сыглы, извиняюсь за оффтопы.
Кинь скрин сайта, интересно стало
В гитхабе длиннопост есть.
Если коротко, то настолько легаси что самом стыдно а менять ничего нельзя потому что весь интернет зависит от этого пакета.
Бамп вопросу, аноны.
Давайте плз без срача и "нинужна". Спрашиваю, значит хочу, даже если нинужна.
В чем смысл не минифицировать?
Что ты блять ещё хочешь услышать?
Тебе ответили что решения нет потому что задача которую ты себе придумал не решаема.
И можно ли как-то заставить не ререндериться не при каких обстоятельствах после первого action'а
Ну чет короче так и не нашел как решить свою проблему. Более того даже в тех примерах где писалось что он будет работать в каналах, он не работал. Хуйня какая то. Может им с какого то времени функционал урезали? Никто не слышал подобных новостей?
Алсо я щас даже на telegraf пересел и все равно нихуя работать не хочет. Обидно. При том вроде же были боты которые тебе с каналов ленту собирали. Как они работали то?
Массив объектов передавай вторым аргументом.
Нормальная история, что менеджер сети в браузере что сервер пытаются что-то понаоптимизировать и понарасставлять в очереди.
Если на странице графика мигает, предзагружай всё нужными тебе порциями.
>Аноны, почему какие-то картинки приходят быстро, а какие-то очень медленно.
Шиндошс в этот момент решил дрочнуть процессор для своих хотелок. Ну или макак в бэкэнд насрал. Или твой роутер в этот момент микрообосрался. Или роутер провайдера.
Если воспроизводимой зависимости замедления нету, то хуй забей.
nginx производительнее, ту же статику можно отдавать сразу. Ну и у тебя нода может быть не единственным сервером в проекте.
Я нашел и выше кинул неплохой обфускатор, который в принципе работает, для жс. Спросил хотя бы аналогичных для html/css. Что непонятного?
Как ты себе это представляешь вообще?
Пиши говнокод, чтобы даже мидл не мог разобраться.
A cookie associated with a cross-site resource at http://youtube.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
Как мне безопасные куки к локалхосту прикрутить?
Отчикали мне куки, но зато добавили просмотр видосов в режиме "картинка-в-картинке".
это рисуется как везде через svg
ну или если речь об иконках то есть fontawesome
let A = class {
__constructor() {
____// A {}
____//return Math.random() > 0.5
____// A {}
____//return 5
____// A {}
____//return "test"
____// A {}
____// return null
____// [Number: 4]
____//return new Number(4)
____// [Boolean: true] or [Boolean: false]
____//return new Boolean(Math.random() > 0.5)
____// [String: 'test']
____//return new String("test")
__}
}
console.log(new A)
Получается, что если конструктор возвращает не объект (хотя странно, ведь typeof null == "object"), то он заменяет его экземпляром вызываемого класса. А если возвращает нечто объектное, то ему всё ок.
let A = class {
__constructor() {
____// A {}
____//return Math.random() > 0.5
____// A {}
____//return 5
____// A {}
____//return "test"
____// A {}
____// return null
____// [Number: 4]
____//return new Number(4)
____// [Boolean: true] or [Boolean: false]
____//return new Boolean(Math.random() > 0.5)
____// [String: 'test']
____//return new String("test")
__}
}
console.log(new A)
Получается, что если конструктор возвращает не объект (хотя странно, ведь typeof null == "object"), то он заменяет его экземпляром вызываемого класса. А если возвращает нечто объектное, то ему всё ок.
Похоже, дело в примитивных типах. Конструктор не может вернуть примитивный тип. Так-то!
И в чём же она?
doSomething()
пишу
void doSomething()
На работе считают поехавшим.
Ты же поехавший. Почему у тебя doSomething что-то возвращает и ты это игноришь?
Прочитал, понравилось, тоже теперь буду дохуя юзать везде.
А может doSomething - это просто стрелочная функция без фигурных скобок. Или она возвращает this для чейнинга.
В первом случае у тебя та же проблема, но на уровень выше, во втором - у тебя мутабельное говно - хочешь чейнить в 2020 - возвращай изменённый объект.
Void нужен был во времена богов когда undefined можно было поменять, чтобы получить непереопределенный, настоящий undefined
Чаще всего это промис в редких случаях когда его можно игнорить. void тут помогает пояснить что "Да, я знаю что здесь проёбана асинхронщина и так и надо".
В цепочках промисов тоже часто утекает наружу ненужное значение которое для инкапсуляции лучше скрыть.
Это не совсем мой стек, я считчнулся с .Net + Angular. Помогите подготовиться к собеседованию по Node.js. Код писать умею, но теоритеческтх знаний около нуля. Что читать и пилить, чтоб ыстро подготовиться к техническому интервью?
компилируешь в JS и готво
Мне на собеседовании по NodeJS (миддл) дали пройти этот тест.
https://certification.mail.ru/tests/node-js/start/
Завалил офк.
Хотя, говоря по-правде, там не сложно. 100% не ответишь только про всякие монгусы, если с ними не работал.
Быстро, однако.
>(Async, Express.js, Request, Jade, LESS, Mongoose)
>Содержит вопросы по JS, MongoDB. Сертификат - да.
>Завалил
Ты ебанутый?
Если не делать кучу сайтиков на заказ, а работать годами с одной-единственной сложной системой, где не используется ни экспресс, ни монго, откуда ты всё это будешь знать?
>с одной-единственной сложной системой
>где не используется ни экспресс, ни монго
Чиво блять?
Ну так иди на вакансию, где использвались те технологии
Потыкал пару вопросов в тесте, какое же это говно, еще и устаревшее
Когда JS настолько богатый на фишки со своей особенно реализацией язык, просто ущербно спрашивать о каких-то частных модулях и их же частных методах по типу "path" или "os"
С вопроса "На чем построен Node.js" вообще выпал. С одной стороны, можно отсеить совсем мимокрокодилов, в глаза не слышаших о движках, но кто вообще пишет на этом древнем говнище?
За последние 2 года все проекты на JS пишу на Deno, который, как бы это смешно ни было, хоть до сих пор и не подобрался к основной идеи в виде "безопасного программирования", но по всем остальным параметрам обогнал ноду
Ну так это рудимент. Как eval или метки. Сейчас это сложно встретить в коде, только у совсем конченных вкатывальщиков или в совсем каких-то единичных суровых местах где это нужно и вокруг описано зачем.
если я сделаю вот так, то экспресс мне запустит два разных независимых сервера? Или для этого надо создавать два отдельных аппа, как на втором пике?
бамп
А конкретнее?
>У меня вопрос - как вы пилите Layout page?
Как вариант взять набор компонентов, типо material ui.
>Про bootstrap grid я осведомлен, но все равно все плывет
Ты просто неправильно его готовишь, читай доку.
Соври в резюме про опыт программирования, фриланс например. Хрюши не любят кандидатов абсолютно без реального опыта
>material ui.
спасибо, на вид годная херня
>неправильно его готовишь
я в верстке, вообще в вебе не силен, сидел на XAML хуй знает сколько, но не суть. Без PSD макета делаю сетку первого уровня, вкладываю сетку нижнего уровня. Пытался читать статейки про адаптивность - что то не идет. Энивей, спасибо за ответ
>>605222
Героям Слава
>>605389
двачую этого >>605391. Напиши, что работаешь в опенсоурсе. Если сделаешь куда ни будь (похуй куда) хоть один пул реквест - считай есть опыт. За фриланс - тоже изи спиздеть, главное чтобы не обосрался на тех. собесе, если спросит о том, что ты делал
Это нормально что фронтов заставляют разбираться во всех этих докерах?
>Откликаюсь на стажировки и на джун позиции. Никуда не приглашают. Либо просматривают, либо отказ.
Ты это я.
>я в верстке, вообще в вебе не силен, сидел на XAML хуй знает сколько, но не суть. Без PSD макета делаю сетку первого уровня, вкладываю сетку нижнего уровня. Пытался читать статейки про адаптивность - что то не идет. Энивей, спасибо за ответ
Тебе нужно понять, что в конечном итоге реакт компоненты это просто хтмл на странице, то есть история не про вёрстку. Сделать хорошую вёрстку бывает очень сложно, так что юзай либы и не еби себе мозг.
Придумай историю, что за проект, какие технологии. Если попросят что-то конкретное, говори что NDA
я сейчас смотрю на Full-stack и верстка для меня, как какой то ебаный ад. Даже JS после # не пугает, хотя язык реально фриковый.
Спасибо за советы, все равно дрочу пета, накидаю шаблонов и ебись оно конем
Хочу начать обучение на ЖС.
Куда стоит пойти учиться? Есть какие-нибудь хорошие школы/курсы на примете? Что можете посоветовать?
Хочу пробовать себя в фронт разработке.
Бауманка + Технопарк.
Если ты 20 лвл, то возьмут хоть куда с любым уровнем знаний, просто выучи отличие == от === и иди устраиваться. Если ты 30+ лвл, тебя не возьмут никуда с любым уровнем знаний.
Никуда
>я сейчас смотрю на Full-stack
А я наоборот на него не смотрю, ибо надо знать намного больше ради 10% прибавки к зп.
на .NET Core сейчас почти все идет из коробки, не нужно уже какие то абстракции создавать - уже все сделано до нас. А интересно сунуть нос куда ни будь еще
Анон, спасибо большое что готов время мне уделить, но резюме пока не готов бросить. Гитхаба пока нет, так как проекты, которые делал для себя, либо очень индивидуальные, либо "олимпиадные задачи" (проект Эйлера, codeforces, codewars, freecodecamp). Как доделаю мувисерчер, то обязательно сброшу с пометкой "меня держат три кiта".
возраст какой?
ближе к 30 появляется проблема, что джуном уже не берут, надо вкатываться как минимум мидлом.
25
На хероке.
Двачую.
>а джуном можно в 30 на галеру какую-нибудь.
еще несколько лет назад - вполне, сейчас это импосибл
Нода просто кажется в разы проще и быстрее из того что я уже успел попробовать.
пиздежь пьяного цыгана. Что мешает посадить писать код 30-40-50 летнего дядьку? Малолетние выебщики одного ранга с ним? Если человеку похуй (а ему похуй, зная что идет на почти что самый низший уровень), то и работодателю похуй
>>605491
Это их как-то оправдывает? Они едва-едва прикоснулись к стеку и уже требуют, чтобы их взяли на работу, всему научили и терпели их говнокод минимум год. Дальше учиться не хотят, а только сидят и ноют. Я чет не видел ни одного вкатывальщика, который может хотя бы развернуть сервер через докер, но при этом не может найти работу.
представь, ты тимлид 25 лет, а к тебе приходит джун 35 лет. С высокой долей вероятности, тебе будет не удобно им командывать. А ему будет не приятно что им командует молодой. Это одна из возможных причин, которой пытаются избегать.
А то что тебе 40 лет и якобы мозги не те, это всех волнует в самую последнюю очередь.
Да, потому что это позиции именно для неопытных.
>Я чет не видел ни одного вкатывальщика, который может хотя бы развернуть сервер через докер, но при этом не может найти работу.
Я видел, и далеко не одного.
В первом случае у тебя будет один контекст app который слушает 2 порта, во втором у тебя два контекста, которые слушают два порта по отдельности. Из одного сервера ты никак два сервера программно не сделаешь. Если тебе нужны разные настройки, то выбирай второй вариант, если просто два разных порта слушать, то первый.
понятно. Судя по посту ты никогда не работал на реальной работе. Возраст - ровным счетом не решает нихуя. Я лично сам работал с мужиком - 41 год, он пердолил так, что все охуевали. И так же работал с 21 летним слоупоком, который хз как вкатился, так не мог каких то банальных вещей сделать, типо реализации статического конструктора (в C#) и тупил, как 386 камень.
По поводу - ниприятно_командовать - такой же бред. В тебе говорят твои комплексы. Вы же не корову делите, а решаете проблему. И не важно сколько вам лет, главное это проблему решить. Если в 25 ты тим лид, то скорее всего, что ты успел понюхать пороха и знаешь то, чего не знают другие. Реверс этой ситуации - вкатыши. Из любых сфер причем.
Резюмирую - ты малолетний (скорее всего) даун, не знающий как работает бизнес
и да, добавлю - я видел в 25 челиков, которые тянут по возрасту на все 35. И челиков в 35, которым больше 27-28 не дашь
docker это бэк, стэк это full stack. Мы сидим в js треде, это фронт. То что ты там докер какой-то знаешь, не значит что остальные нулевые. Я немного ассемблер знаю, си и django. Че хотел сказать то?
Сама работа никак не связана с материальным миром
Так или иначе оба конвертируют время своей жизни в написание кода
>Если ты 20 лвл, то возьмут хоть куда с любым уровнем знаний, просто выучи отличие == от === и иди устраиваться.
Хуета, я 24 лвл, могу в реакт и никто на собесы не зовёт.
Ты готов выдавать свои догадки чужих мыслей за константу. Я вообще не понимаю, как ты кодил на Си, если тебе такие банальные житейские мысли не очевидны. Я могу полностью развернуть твои слова против тебя. Он мог ебашить так, потому что доказывал себе, что нуже вас зеленых. А этот парниша, его молодая версия 20 лет назад. И поэтому, он в 40 лет сидит с 20 летними, а не руководит тобой. А на счет комплексов, то чини детектор. Сними розовые очки, некоторым людям в твоем окружении ты можешь быть абсолютно не приятен и они могут не подавать виду.
>Если ты 20 лвл
>Хуета, я 24 лвл
>никто на собесы не зовёт.
>Если 20
>я 24
Не удивительно, ты даже элементарную конструкцию if освоить не можешь.
В посте не говорится, что если тебе от 20 до 30, то тебя возьмут хоть куда. В посте четко указан возраст - 20, очевидным будет только то, что если ты младше, то тебя тоже возьмут. Если ты старше, то тебя возьмут не "хоть куда", а при определенных условиях и чем старше, тем больше условий. А вот при возрасте 30+ тебя вообще никуда не возьмут.
Даже смешно, что такие мелочи разжевывать приходится в разделе для программистов. Видимо не врут, когда говорят, что сейчас любой тракторист в IT вкатиться пытается.
Неопытный человек должен понимать, зачем его должны взять на работу и как он будет генерировать деньги. Человек, который едва-едва умеет программировать и слабо знает стек, очень долго не будет приносить пользу компании, в отличии от добросовестного вкатывальщика, который потренировался в программировании на задачках, потрогал вебпак, ноду, базы данных, graphql, linux, docker.
>>605514
>докер какой-то
Докер не "какой-то", а стандарт энтерпрайз разработки. Не использовать его для деплоя - это такой же пиздец, как не использовать гит.
По бутстрапу смотри курс Web design master
>В посте не говорится, что если тебе от 20 до 30, то тебя возьмут хоть куда
Так из него можно вывод сделать, что если ты от 20 не далеко ушёл, то тебе работу будет легче найти, чем человеку 27+
>24
>не далеко
>опустил нижний порог до 27
Ох уж эти маняубеждения дурачка, который думает, что ему в свои 24 еще не поздно начинать вкатываться в IT. Остается тебе только посочувствовать.
Пасиба ебать
Как связаны useState и аргументы в useEffect? Туда же не только из стейта переменные можно пихать, но и пропсы и любые переменные, полученные с других хуков.
PS в данный момент так (без синего текста). Анон в треде сказал, что лучше передавать аргумент и в доках написано, что это рациональный подход.
Да, но походу он требует привязать даже пропсы к useState, иначе он не сможет на них ссылаться ( не сможет сравнивать текущую с предыдущей).
useEffect - это штука, которая позволяет тебе совершить сайд эффект в определенной точке жизни твоего приложения. Первым аргументом в него надо передавать функцию. Вопрос: что за хуйня у тебя в первой строчке компонента?
Это не "проблема", а варнинг линтера. Либо отключай его, либо передай ему зависимости, которые он просит. Либо перепиши так, чтобы он не жаловался.
>props.store.popularFilm.pages[hui]
Пиздец
Если ты делаешь мувисирчер, зачем тебе вообще редакс?
Вообще уже года 2 как все его дропают, особенно с выходом нативных реактовских редюсеров
Значит это хуевый компонент. Он у тебя весь будет перерендериться при каждом пуке в стор.
>кодил на Си
>могу полностью развернуть твои слова против тебя
уже повернул. Не осиливший чтение, не осиливший логику
именно так и должно быть, человек перешл на другую страницу, пропс страницы пришел новый, новый апи, сверка со стором избранных фильмов, если он уже был на этой странице и что-то лайкнул, то отобразить это. У меня прямая зависимость между всеми компонентами. А не просто лайкнул и все это записалось и хуй с ним
Я тебе сделал комплимент, предположил что ты бывалый. Ты вместо того чтобы угомогиться, только дискредитируешь себя. Если тебе легче, что ты только в си шарп можешь, пожалуйста.
В чем собственно проблема?
Много людей вижу, которые в 25+ начали карьеру.
Если ты долбаеб в 20, который не хочет развиваться в этом деле, то толку от того что тебе 20?
удивительно, но все сработало. Я понимаю почему, но не могу понять почему мой вариант не рабочий. Моя переменная так же напрямую зависит от этой и так же меняется между ререндерами. Может я че-то не замечаю?
PS могу предположить, что я использую не деструктивное присваивание в своей переменной и в этом всем дело
>>605862
все, я понял. Происходит первый рендер, когда апи еще ничего не получило, но пропс страницы уже поменялся и он его запомнил. Затем меняется стэйт, происходит ререндер, он проверяет : ага, я на этой странице уже был, useEffect не срабатывает и он рендерит.
В моем случае. Заходит на страницу, получает закономерный undefined, запоминает её и ререндерит. Приходит АПИ, он сверяет, видит был undefined, а сейчас массив, понимает что новый результат, закономерно вызывает новый АПИ запрос, рендерит то что есть, в стэйт приходит ТОТ ЖЕ JSON, но из-за того что мы не имеем право мутировать, стэйт пересоздается, это новый объект. Происходит ререндер, так как стэйт изменился, он сравнивает 2 массива 2 разных уже стэйтов в памяти, они никогда не будут одинаковыми и происходит бесконечный ререндер.
PS
>он сравнивает 2 массива 2 разных уже стэйтов в памяти
Стэйты разные, ссылки на все остальные свойства одинаковые, но ссылки на массивы текущей страницы - разные, так как именно этот массив в экшене и перезаписывается.
>в свои 24 еще не поздно начинать вкатываться в IT.
Я так понимаю, начинать вкатываться надо с детского сада?
Сильное заявление. Но пруфов конечно же не будет?
>>606018
>>606017
>>606014
шли ты вы отсюда, петушки
https://dou.ua/lenta/interviews/17-years-old-architect/
Анон, подскажи что юзать для написания проги на JS, но под Андрюшу, и в перспективе под Окна с Пингвином.
>>606351
Мы живы, пока работаем. Лежат только овощи на грядке.
Образцовый раб.
Не const length = ls.length, а const lastIndex = ls.length - 1
Меньше магических чисел и понятнее.
Открываешь доку по джесту и просто, без задней мысли их пишешь.
Источники данных вроде апих и бд мокаешь мокательными классами и хуяк хуяк тест кейсы, а вот если залупа такая а вот если залупа сякая и похуярил и похуярил.
@
ЗАДАЕШЬ ВОПРОС, ВРОДЕ НЕ СЛОЖНЫЙ - >>605058
@
ПОЛУЧАЕШЬ ОТВЕТ
@
"АЗАЗА, ЛОЛ КЕК ЧЕБУРЕК"
@
СКРОЛИШЬ ЛЕНТУ В ПОИСКАХ ХОТЬ КАКОЙ НИ БУДЬ НУЖНОЙ ИНФЫ
@
ПЕРЕЧИТАЛ ТОННЫ ПИЗДОСТРАДАНИЙ ВКАТЫШЕЙ И ПРОЧЕЙ НЕЧЕСТИ АКА "А В 30 НЕ ПОЗДНО?"
@
ЗАБЫВАЕШЬ ЗАЧЕМ ЗАХОДИЛ В ТРЕД ПОД ТОННОЙ ФЛУДА
@
СКРЫВАЕШЬ
Вопрос говно потому что. Это вкусовщина, кто хочет, тот идет пилить собственный велосипед, кто не хочет, тот юзает ui фреймворки, тысяча их.
Дельное замечание, спасибо. Правильное именование сложно дается. Сейчас подумал, что и counter правильнее было бы обозвать index.
Мир JS-a загадочный и странный - еще строчки кода не написал, а уже 10 библиотек подключил
>JS тред
>прочитать про React
Почему такой скот с полным отсутствием логики, лезет в программирование? Если залез в JS тред, то спрашивай про стандартные фреймворки, либо про те, которыми пользуются все без исключения, или хотя бы те которые не нужно изучать месяц. Зачем ты лезешь сюда со своей парашей и кукарекаешь? Нормальные люди вообще Vue используют, что им теперь обосраться только потому что какой-то дебил выбрал React?
>плодит массивы, переворачивает их там где это не нужно
Поздравляю, вы номинированы на премию "Говнокодер месяца".
Я бы сказал, кстати, что там n в степени 1.5
Кормэна почитай. Конкретно тут можно легко догадаться, for в for'е - значит квадратичная сложность.
>for в for'е - значит квадратичная сложность
Только вот длина внутреннего фора постоянно убывает. При length = 10 будет 55 проходов.
Несмотря на то, что функция временной сложности алгоритма в некоторых случаях может быть определена точно, в большинстве случаев искать точное её значение бессмысленно. Дело в том, что во-первых, точное значение временной сложности зависит от определения элементарных операций (например, сложность можно измерять в количестве арифметических операций, битовых операций или операций на машине Тьюринга), а во-вторых, при увеличении размера входных данных вклад постоянных множителей и слагаемых низших порядков, фигурирующих в выражении для точного времени работы, становится крайне незначительным.
Рассмотрение входных данных большого размера и оценка порядка роста времени работы алгоритма приводят к понятию асимптотической сложности алгоритма. При этом алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных, за исключением лишь, возможно, данных малого размера. Для записи асимптотической сложности алгоритмов используются асимптотические обозначения:
Не понимаю. Есть следующий обработчик, я его вешаю на кнопку, он отрабатывает, сервер ему отвечает. При этом на сервере я не могу никак получить данные. Делаю console.log(req), там целая куча непонятной хуйни, среди которой я и намека не вижу на данные при отправке через fetch. И при этом в браузере, вроде как, все нормально (пик 1). Как их получить?
Покайтесь, сколько в вашем проекте: ls -1 node_modules | wc -l
У меня 490, но правда без devDependencies в два раза меньше, 234. Это при 25 прямых зависимостях в package.json
req.body?
Есть массив объектов, у каждого объекта есть куча свойств среди которых есть свойство data: '01.01.2010'. Мне нужно отсортировать массив по возрастанию свойства data. Накидал вот такое решение:
https://jsfiddle.net/tjumpaL0/
Задачу свою выполняет, но мне интересно, можно ли более адекватное/быстрое решение предложить, возможно использовать какую-нибудь структуру данных.
можно же просто засунуть твою строку в new Date('...') и сравнивать в одну строчку
https://repl.it/@CharonIV/Sums-of-Parts
Скорей всего можно написать короче чем мой вариант, но в любом случае это самый оптимальный вариант.
Ты вот про это?
return new Date(a.date) - new Date(b.date);
У меня просто при таком подходе не правильно сортируется.
>Во-вторых, ты изменяешь переданный аргумент, а за такое бьют лица.
И что нужно сделать, если есть необходимость изменить ?
Ни в чем скорее всего, просто больно смотреть. Представь свою лесенку если надо еще часы/минуты и т.д. сравнивать
Пик стронгли рилейтед
То что возвращает метод push массива a. А именно новый размер массива, если мне не изменяет память.
Монорепа на Lerna, в ней два основных репозитория, первый вебсайт на React + самописный SSR, второй CRM с easy-peasy Redux. Все обмазано Typescript, юнит тестами на Jest, системными тестами на Cypress. Есть еще вспомогательные репозитории для webpack, lerna cli, babel-presets, styles, components, hooks, utils, test-utils. К конфигам не относится, но еще в проекте есть stylelint + eslint, Dockerfile, конфиг для CircleCI.
Ну и срань.
Ты много чего придумать не можешь, поэтому надо знать и пользоваться по мере необходимости. Элементарный пример, создание массива с элементами значения которых равны индекс_элемента + 1:
arr = [];
for (let i = 0; i < 10; i++)
{
arr = arr.push(i);
}
вакаба съела квадратные скобки и i, очевидно.
Посоветуйте что по нему почитать, кроме документации. Мож курс какой есть для даунов?
>с бэком на ASP.NET
Смотря какой asp.net. Если Core - то там все изи, если ASP.NET>3, то тобi пiзда
начать с того что бить лица надо тем кто передает нескопированный аргумент...
<script type=text/html id="address_template">
<% _.each (model.addresses, function(address) { %>
<%= address.city %>
что это за хуйня и как с ней вообще работать то ? на твиг обработчик это непохоже
Начиная с ASP.NET 4+ многие вещи реализованы из коробки. До него - это легаси 2009 года, говно и моча. Смотря какой у тебя функционал по нему будет. Если только подвязать под API - то это будет изи (если бэк настроит раутинг под контроллеры).
И ты прежде, чем паниковать - спроси версию. Если ты собрался в фул стек, то какой ты блять брался за проект и не уточнил всех ньюансов?
Та не, я на фронте джун. Просто любю знать как там оно вообще работает под капотом.
ASP.NET это далеко не капот, лол. Там такая же куча высокоуровневых абстраций, как и в любом другом фреймвоке. Под капотом - это преобразования C# в CLI с помощью CLR. Все что выше - перхоть
1-Заплатить за обучение frotend dev
2-Или выучиться самостоятельно?
Как по мне - второе. Если у тебя нет желания писать код, то хоть тебя 10 человек будет обучать, то ты не сможешь научиться. А если есть, то сам все найдешь, изучишь и еще захочешь.
Кому заплатить, блять? Если ВУЗу, то 1 выгоднее, потому что с дипломом на тебя не будут смотреть как на говно + за границей он тоже будет играть роль. Если говнокурсы из интернета, то конечно 2, потому что 1 это тоже самое, только переписанное кабанчиками и редко обновляемое.
То есть инет курсы и их обещания устроить меня на РАБоту это полная херь и не стоит тратится?
Вроде есть курсы, которые требуют оплату после того, как ты устроишься на работу, но там обдираловка. Если у тебя нет уверенности в себе и своих скиллах, то зачем ты вообще берешься за вкат? А если есть, то тебе будет в кайф отдавать этим жуликам, которые тебе по большому счету ничего полезного не сделали, овер 100к за первый год работы?
3. Устраиваешься на стажировочную программу прямиком на галеру
Да, это всё наебка на лохов, я один из этих лохов, повелся на курсы от маилсру, хорошо хоть всю программу не прошел и вернул большую часть денег. Все эти курсы построены на базе бесплатного контента, который есть в интернете, при этом в интернете информация обновляется, а в говнокурсах хуева туча опечаток и всё не обновлялось с момента их открытия. Препод мямлящий хуесос, которому похуй на всё кроме зарплаты, который не проверяет твой код, а просто смотрит чтобы он выдавал правильный результат и делает он это за час до начала след. лекции, т. е. никакого фидбека. Он конечно говорит "спрашивайте если что", но нахуй ты такой нужен, если спросить я могу на стэковерфлоу, а свой код оценить не могу, поэтому и вопросов по нему у меня нет, работает и работает. Сам препод говорит, что курсы хуйня и нужно читать книги. Я и без него их читал, оказывается, что я уже всё знаю и даже больше чем этот препод, который постоянно ошибается и иногда несет хуйню.
Завершает этот пиздец обещанная работа. Тебя либо кидают в группу с такими же долбоебами и наставником, с которым вы будете имитировать "бизнес-процесс", делая очередной калькулятор, который никому не нужен, либо тебя берёт на тестовый срок компания вида ООО "Рога и копыта", который тебе не оплачивают, после чего говорит, что ты им не подошел. И это в лучшем случае, чаще всего бывает 1 ситуация.
В общем, очередная наебка от кабанчиков, спиздивших бесплатный контент и поставивших всё на поток.
А что думаешь про курсы от сбера, например, школа 21? Они же даже денег не берут.
const child = { id: 2, children: [] }
const parent = { id:1, children: [child]}
Так вот возможно ли имея только ссылку на child получить parent?
Зверобанк. Этим все сказано. Там что то вроде армии. Ты будешь бегать как холоп. Протирать мониторы. Выполнять любые приказы. Если что-то в тебе не понравится - тебя выпнут. Если тебя выпнули - обязан выплатить штраф. Если сам захотел уйти - выплати штраф. Все законно. Эти условия прописаны в договоре.
var Bobby = {name: "Bobby"};
var Dad = {name: "Dad", children: [ Bobby ]};
var Mom = {name: "Mom", children: [ Bobby ]};
возможно ли имея ссылку на Bobby получить родителя?
Понял тебя
Нет, только вставлять эту ссылку в тело Bobby
в смысле мне нужно отправить человека покупать билет в этот кинотеатр, я знаю только id сессии, чтобы куда то послать нужно знать куда посылать же
нет офк, если не хранить ссылку на родителя как свойство
>response.writeHead(200, {'Content-Type': 'audio/mp3', 'Content-Length': fileSize});
>fs.createReadStream(path).pipe(response);
В ответ клиенту приходит буфер, но я не знаю как его дальше обрабатывать, чтобы прослушать. Ответ приходит, собственно, после выполнения промиса через
>fetch(url, {method: 'POST', ...}).then(response => {...});
До этого, когда я передавал домашнюю html страницу клиенту, достаточно было передать ее в виде строки и с соответствующими MIME типами. Клиент автоматически ее подхватывал и видел.
>возможно ли имея ссылку на Bobby получить родителя?
хз, можно попробовать прочитать файл скрипта как текстовый и распарсить его регулярками
Так он требует путь к файлу, который лежит на сервере. Мне надо буфер засунуть куда-то (содержимое аудио файла), который от сервера приходит, чтобы музыка заиграла.
Из полученных данных создаешь blob, потом используешь createObjectURL и передаешь полученное в конструктор Audio. Хули ты такой тупорылый то?
если я правильно помню, то длина получившегося массива, то есть 6
const blob = await fetch(url, {method: 'POST', ...}).then(response => response.blob())
new Audio(URL.createObjectURL(blob))
Я немног оподругому делаю, но по идее сути не меняет. Я в колбеке работаю с этим blob и audio. В общем, blob удается создать
>let blob = new Blob([audioBuffer], {type: 'audio/mp3'});
Но когда после пытаюсь вызвать
>let audio = new Audio(URL.createObjectURL(blob));
, то получаю ошибку в консоли браузера:
>Не удалось декодировать медиаресурс blob:http://localhost:3000/54dda6fa-01a6-4b26-8b99-949bff94d240.
>Не удалось декодировать медиаресурс blob:http://localhost:3000/54dda6fa-01a6-4b26-8b99-949bff94d240, ошибка: Error Code: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)
Сейчас пытаюсь гуглить, пока ничего не нашел.
Открыть? Имеешь ввиду вот так?
>window.open(URL.createObjectURL(blob));
Если так, то не удается открыть (пик 1). Не понятн опочему он считает это за видео, когда MIME тип был указан явно как audio. Если вывести объект в консоль, то все вроде бы нормально (пик 2).
Сверил байты буфера и самого трека, все сходится, т.е. файл пришел таким, какой он есть. Пробовал разные mp3 файлы, ни один не работает. Отключал блокировщики рекламы -- все равно.
Потушив чинарь ты одеваешься и выходишь из дома, в подъезде сталкиваешься с небритым соседом и вы вместе идете на остановку, где вас уже ждет промерзший ржавый ПАЗик, с куском пенофола на радиаторе и табличкой "Заказной" за стеклом. Не смотря на то, что ты ездишь на этом ПАЗике уже 15ый год, ты все равно чувствуешь легкое удовлетворение от того, что тебе не нужно платить за проезд, ведь ты работник завода.
Ты всегда им был и всегда им останешься, из года в год катаясь на одном и том же автобусе, по одной и той же дороге под свет одних и тех же фонарей, мечтая поскорее лечь спать.
Слабенькая паста. Заводчанину она лишний раз напомнит, что нужно вкатываться, а у разработчика она никаких эмоций не вызовет.
ну подскажите как реализовать такую форму покупки билета у себя на сайте ну пожалуйста ну все ж мы люди ну ребята
А шо не так?
ПЕРЕКАТ: https://2ch.hk/pr/res/1608124.html (М)
ПЕРЕКАТ: https://2ch.hk/pr/res/1608124.html (М)
Это копия, сохраненная 23 апреля 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.