Вы видите копию треда, сохраненную 30 января 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку, сервер, контейнер https://zeit.co/now
Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:
У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).
Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
утро добрым не бывает
Ставишь этот пакет https://www.npmjs.com/package/typescript Он компилирует ts в js. Вот пример проекта на ts https://github.com/microsoft/TypeScript-Node-Starter Можешь брать его за основу.
он и так норм
Что тебе не нравится?
Сделай лучше, ничтожество
нет, он чтобы количество непрочитанных сообщений правильно показывать
Operator Mono; Consolas
firacode
Какой алгоритм сортировки, в конце 2к19-го - самый быстрый и эффективный?
Интересует сам алгоритм. И желательно, чтобы он был обратимым.
Например, строка: "ABACABA" -> сортируется в строку "AAAABBC".
В результате, массив: ["AAAABBC", x], где x - число раундов обратной сортировки,
чтобы восстановить "ABACABA" из "AAAABBC".
Зависит от данных, которые ты сортируешь. Если брать среднее значение, то выгоднее всего использовать алгоритм Quicksort.
А этот алгоритм обратимый?
Интересуют именно обратимые алгоритмы.
Пока-что нашёл только некое подобие в виде - преобразования Барроуза-Уилера.
Но это не совсем сортировка, на выходе.
На крайняк - интересуют детерминированные алгоритмы, которые осуществляют сортировку однотипными действиями,
и выдают в результате - отсортированную строку/массив на каком-то n-ном шаге,
который можно указать, в обратном алгоритме - чтобы обратить эту сортировку и восстановить изначальные данные.
лол
Насколько актуальны эти лекции для человека, который вкатывается во фронтенд с нуля?
Вам ржавые уже вовсю дают.
благославил тред реактом
https://codesandbox.io/s/heuristic-pond-lw147
Я сделал так, чтобы входные данные второго селекта зависели от первого, но в дочерней компоненте которая по результату двух этих селектов рендерится возникает следующий косяк. Если после рендера итоговой компоненты я захочу поменять первую, то значение второй на экране выбирается как-то автоматом, но при этом её значение внутри остаётся тем-же. Вот тут кусок кода, который за это всё отвечает.
https://codesandbox.io/s/serene-pike-39udv
Что этот хряк сказать то хотел?
Пытаюсь делать так:
var req="https://api.vk.com/method/users.get?v=5.103&access_token=token"
$.ajax({
url : req,
type : "GET",
dataType : "jsonp",
success : function(msg){
console.log(msg.response[0]);
}
});
Но нихера не выводит, хотя если перейти в броузере с access токеном то норм
Так перейди по своей ссылке, у тебя получится "https://api.vk.com/method/users.get?v=5.103&access_token=token", ты просто слово token в строчку забиваешь.
var req="https://api.vk.com/method/users.get?v=5.103&access_token=" + token;
вот так ты приклеиваешь к строке переменную, ну или так
var req=`https://api.vk.com/method/users.get?v=5.103&access_token=${token}`;
Возможно ты не понел, но я писал что я вставлял так, и я получаю данные, но когда я через скрипт запускаю этот код, то в console.log не выводит response
через greasemonkey запускаю
добавил туды
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @require https://vk.com/js/api/xd_connection.js
а, не так понял, да
Times New Roman
Весь диск засрал порнухой, места нет, а хочу игру поставить, прост.
https://jsfiddle.net/xah8ep2c/
Сап дваче. Помоги с задачей:
Имеется массив с элементами. Нужно (обязательно) через цикл for найти квадратный корень из суммы кубов его элементов
Не могу понять как мне в каждом новом шаге цикла выводить последующий элемент массива. То есть, в первом шаге у нас:
Сумма кубов = элемент массива[0] 3 //Берем элемент массива и возводим в куб
Но в следующем шаге возводиться будет все тот же элемент, а мне нужен уже 2-й. Каким образом сделать так, чтоб на 1 добавлялось?
Поисковик адекватного ответа давать не хочет, везде непонятные методы. Надеюсь что тут если и приведут, то хоть объяснят принцип работы, а не просто: Вот пример, вот работа, разбирать и объяснять мы конечно же не будем
Почему-то после "элемент массива[0]" не отобразилось двойное умножение (что есть возведение в корень), двач бракует
for let i = 1; i < are.lenght; i++
Если я правильно твою портянку понял. Потом каждый элемент в цикле вертишь как хочешь.
Бля, я обосрался с себя:
for let i = 0; i < arr.lenght; i++
Пойду на хуй схожу. Вычисления можешь засовывать в другой массив или отдельную переменную. Обоссыте меня плз.
Хочу в приложении сделать простую аутентификацию, но ловлю ошибку:
_config_Fire__WEBPACK_IMPORTED_MODULE_2__.default.auth.createUserWithEmailAndPassword is not a function
Подключаю базу вот таким способом:
import firebase from 'firebase';
const config = { / COPY THE ACTUAL CONFIG FROM FIREBASE CONSOLE /
apiKey: 'AIzaSyD_PxFjzcPKX50pq3ITq6Q69fuHvCowMtE',
authDomain: 'visual-studio-sync.firebaseapp.com',
databaseURL: 'https://visual-studio-sync.firebaseio.com',
projectId: 'visual-studio-sync',
storageBucket: 'visual-studio-sync.appspot.com',
messagingSenderId: '691628632398'
};
const fire = firebase.initializeApp(config);
export default fire;
То, что ты написал, просто задание шагов цикла, равных количеству элементов массива
Это у меня уже есть. Я говорю о том, что мне нужно К КАЖДОМУ КУБУ ЭЛЕМЕНТА МАССИВА СУММИРОВАТЬ КУБ ПРЕДЫДУЩЕГО и т.д
То есть:
Массив[0]^3 + массив[1]^3 + массив[2]^3...
Как мне сделать так, чтобы при каждом новом шаге цикла выбирался последующий элемент массива? Если я задам:
Массив[0]^3, то он каждый раз будет суммировать ПЕРВЫЙ элемент, а мне нужно, чтобы он их перебрал
Сначала первый, потом второй, потом третий и т.д
Как это реализовать?
Ебать гениально. Спасибо, дядя-анон
А чисто так для интереса, если у меня i не будет соответствовать необходимому вызываемому элементу массива, то есть иные способы решения данной проблемы?
В том то и прикольчик, что индекс массива можно вычислять, перед тем как обращаться к элементу. Твоя, программиста, задача - придумать, как его вычислить. В большинстве случаев хватает прохода по всем элементам циклом фор или методами класса Array
Благодарю х2
Я при поисках в гугле находил такой метод как forEach. Писалось, что он подходит для моего случая. Но, примеры его работы были до ужаса непонятные, и их даже не разобрали, а потому недокодер со стажем не больше собственного достоинства вроде меня разобраться как он работает - не смог
Случайно, не обладаешь данными знаниями?
forEach просто применяет функцию, которую ты ему передал к каждому элементу массива, мутируя его, т.е.
[1,2,3].forEach(elem = > elem * 2) // [2,4,6]
О, ясно. Спасибо х3
//Когда счетчик благодарностей перейдет за десяток - подниму кружечку чая с лимоном в твою честь. В моих кругах это высшая мера признания
////Мои круга ограничиваются мною одним
Да, то есть в его случае foreach не подходит
Нужен array.reduce( (sum, element) => sum + element^3);
Может ты доку будешь сначала смотреть? Поисковый запрос 'mdn array ru'
Еще вопрос:
Как мне при каждом новом шаге цикла добавлять новый элемент в массив? Причем, элемент должен быть рандомный. Кол-во элементов: 10шт
for (i = 0; i >=10; i++){
arr.unshift(Math.floor(Math.random() * 100));
//Ограничился рандомными числами 1-100
}
Выдает ошибку при выводе алертом, где я обосрался?
Массив вначале задал: "arr = []"
Тьфу. Ебучий двач.
Ты обосрался, когда не захотел читать MDN (массивы). И не вздумай читать - нам конкуренты не нужны, оставайся на своем уровне.
Присмотрелся. Попробовал. Снова жидкого выдал
А почему мне присмотреться к .push? Он ведь аналогичен .unshift, только вместо начала в конец добавляет? Как это должно что-то изменить?
https://codepen.io/rudolf15254780/pen/MWYKWKz?editors=0012
А в чём конкретно выебон? Из-за чего ошибка?
Что вводится блять, имя и итерал который просто прибавляет к однерке единицу итак до 11? Нужно вводить имя и класс а уже потом получать результат
7 kyu задачка с кодварс:
Take 2 strings s1 and s2 including only letters from ato z. Return a new sorted string, the longest possible, containing distinct letters, each taken only once - coming from s1 or s2.
Мой код:
https://codepen.io/keka4/pen/OJPMVLJ
Где я обосрался? Голова уже не соображает, много шлака для нубов сегодня прорешал. И вообще, задачки с кодварс имеют пользу для вкатывальщика?
Алсо, массив в строку я потом обращу, не могу получить новый массив из уникальных значений другого массива через цикл.
Для этого придумали класс Set, который содержит только уникальные значения.
Объединяешь строки, делаешь из них Set, потом из него делаешь массив, сортируешь его, переводишь обратно в строку.
А ошибка у тебя в том, что цикл не начинается, потому что 0 < undefined возвращает false.
Еще раз спасибо!
https://codepen.io/keka4/pen/OJPMVLJ?editors=1111 - вот готовое решение. Вкатившиеся, я не безнадежен?
> forEach просто применяет функцию, которую ты ему передал к каждому элементу массива
В чем отличие от map?
Блять, ну че вы такие тупые, пишите в поисковике 'Array.prototype mdn', попадайте на сайт mozilla developers и смотрите все, что нужно и понимаете, что как отличается.
> в чем
В том, что ты пидор map для того, чтобы преобразовать массив, сделать из одного другой (такой же длины). forEach это просто цикл по всему массиву, ничего не возрващает
А почему так сложно, попроще нельзя, символы непонятные, зачем там литерал вообще..
И я пробую вот так элементарно написать чтобы хоть что-то работало, но все равно ошибку выдает:
function Pizda (name, classs) {
return console.log(name + 'осталось учится' + classs 'лет');
}
Pizda(suka, 13);
Все, вот так сделал кароч:
function Pizda (name, classs) {
classs = 11 - classs;
return console.log(name + ' учится ещё ' + classs + 'года');
}
Pizda('suka', 9);
Поставь себе нормальный редактор и установи ноду. Не будешь таких тупых ошибок совершать с пропущенными операторами.
Нет. Это глобальное состояние, доступное каждой части приложения. Его цель - предоставить глобальное состояние, доступное каждой части приложения.
Перепеши сейчас же на хуки, это читать просто невозможно
Только смысл не в глобальности. Это как базу данных считать глобальным объектом доступным везде из системы. Смысл в разделении ответственности. Выделяется подсистема которая отвечает за хранение состояния, убирается проблема синхронизации локальных состояний. Появляется проблема публичного интерфейса: чем больше публичных методов - тем больше зацепление модулей системы
Смысл и первопричина - в доступности всем компонентам. То о чём ты говоришь - это уже свистоперделки и "правильность" подхода при реализации именно изначальной задачи.
В общем-то я тоже редакс добавляю чтобы меньше рефакторить при постоянно меняющихся хотелках заказчика. Но куча всяких js ниндзя которые говорят что пиздец, не храните данные в редаксе. Это бядь состояние, а это блядь данные. Я бы как раз состояние хранил локально в компоненте, ибо оно часто более нигде ненужно.
Совершенно верно, локальное состояние должно оставаться локальным, да и как бы никто не запрещал, вроде, юзать локальное состояние и редакс/етц совместно. Тупо туда пихать всякие булеаны "список выпал" и прочие UX-штуки.
Для новичка, с нуля лекции не актуальны. Проще прочитать кантора и приступить к фремворку. А потом, уже дождливыми вечерами, после работы джуном, посматривать лекции.
Написал https://repl.it/repls/LostColorfulCharacter, но оно не работает. Если быть точнее, редьюс на второй итерации(?) суммирует на один элемент больше, чем нужно. Потом все работает правильно. Помогите, молю. Уже все голову сломал.
Репл сломался, вот код:
function Xbonacci(signature, n){
let lngth = signature.length;
for (let i = 0; i < n - lngth; i++ ) {
signature.push(signature.reduce((sum, item, index, array) =>
(index >= i && index < i + lngth ) ? sum + array[index] : null))
}
return signature
}
console.log(Xbonacci([1,1],10));
Почему typescript при компиляции ругается на ошибки в .ts файлах, которые даже не импортированы и не используются? Как исправить?
Пользуйся слайсом, я охуел с твоего коллбека reduce непонятного страшного
const L = signature.length;
let newSeq = signature.slice(0, n);
const reductor = (sum, item) => sum + item;
for (let i = L; i < n; i++) {
newSeq.push( newSeq.slice(-L).reduce(reductor, 0) );
}
return newSeq;
Типа вот так
сам сейчас на распутье, если учесть что тебе не ответили видимо очевидного ответа нет и приходится просто ебашить код.
Надо стремиться к тому, чтобы все было настолько просто насколько возможно. Загугли create-react-app, он уже настроен так что можно юзать в проде, если не выебываться всякими ssr. Разве что надо линтер и приттиер подрубить и настроить нормально.
ну, например, указать в тс конфиге только то, что ты хочешь компилить.
"include": [
"src/index.ts*"
],
По началу и в правду можешь скипнуть, подрубить create-react-app и концентрироваться исключительно на коде. Но рано или поздно придется все таки вернуться к ручному конфигу вебпака и сопутствующих инструментов
> на бекенде Express, Mongoose в качестве ORM
Ловите НЕСАМОРАЗВИТОГО
Уже два года как актуально онли TypeScript и NestJS
Прибивать гвоздями к уже мейнстримной NoSQL и уже почти скатившейся в офиснокостюмный интырпрайз для тридцатилетних офисных юнитов? Фубля, фу нахуй, сейчас не 2013, ты что застыл там в своей криокамере? А ну догоняй давай до актуального.
Да, любые дисковые базы данных устарело и немодно, сейчас в моде in-memory на куче миккроервисов, общающихся через rabbitMQ.
ну тут сыглы
>онли TypeScript и NestJS
hh Moscow
12 вакансий «nestjs»
38 вакансий «Express.js»
736 вакансий «Laravel»
www.monster.com/
nestjs Jobs(5 Jobs Found)
express js Jobs (533 Jobs Found)
laravel Jobs (311 Jobs Found)
www.upwork.com
nestjs 7 jobs found
express.js 15 jobs found
laravel 454 jobs found
>NestJS
сейчас чекнул, пиздец как похоже на спринг со всеми этими @Controller, забавно выглядит
>уже почти скатившейся в офиснокостюмный интырпрайз для тридцатилетних офисных юнитов
ну это же рофл, че ты такой серьезный?
Все верно, потому что на чистом жс уже никто не пишет, все крутые парни пишут на TypesScript, и уже его конпелируют в JS
Раз знаешь слово "спринг" то учи жаву. Не вкатывайся "фулстеком" - козленочком станешь будешь весь в мыле трудится на жадных работодателей.
Да я даже писал на нем круды хуюды. Меня смущает в спринге наличие слишком уж большого количества легаси, особенно если попадешь на старое что-то, будешь сидеть xml конфиги править, там же вообще ебануться можно
А на js будешь исходники ковырять, потому что документации нет или она не соответствует действительности.
Спасибо, уже разобрался. tsconfig такой пиздец, почему все так сложно сделали.
Это ебаный пиздец отловить что-то после async hook.
Слоёв логики настолько много, что невозможно отследить стэк вызовов из-за асинхронщины
проблема не только в типах, что ф-ция хуй пойми что возрващает
а то, что неясна сама макаронная логика. один слой логики за 10 слоёв другого прячется. Нахуй так писать было, держались за свои рабочие места в Индии, энивей
Нужно с кучки select-ов собрать данные и сохранить их в БД, а потом загрузить их на опред. страницу. Как такое провернуть? Есть гайды?
Собираешь данные с кучи селектов, а потом загружаешь на определенную страницу. Что сложного?
без индусского опыта не будет нормальных галер
Спасибо, это действительно выглядит гораздо лучше. Я ещё ночью решил пикрил, это тоже говнокод?
У меня просто бзик на решения в строчку с минимальным количеством переменных, ещё в школе ездил на олимпиады и на это надрачивали, хотя знаю, что так делать не стоит. Сложно переключиться.
ап
https://pastebin.com/qndiUYiJ
Не работает запрос к vk api в юзерскрипте, но работает в локальном html файле
и побочный вопрос, если я хочу задеплоить всратый проект, то какой бэк использовать? видел связку django+react, немного знаю питон, есть какие-то другие более приземленные варианты для нубов?
>задеплоить всратый проект, то какой бэк использовать
Ну смотря что ты хочешь на беке делать. Причем тут деплой я не особо понял, но на хероку, к примеру, можно много всякого разного захостить относительно бесплатно
в вебшторме, крутые инструменты для дебага
А что насчет ноды? Единый стек и бла бла бла
Флексы учатся за час, а их все возможности далеко не всегда используются. Сасс, лесс это вообще компилятор в css (это позволяет удобнее писать css и не срать в css файл ) - это просто один из способов написания css. Это как будто ты писал в дефолтном блокноте код, а теперь поставил IDE и стало удобнее.
Учи JS , но без вот этой залупы document.getElement... В css к флексам стоит выучить гриды. И опять же это все учится за один день.
PS
в JS ты должен знать базу + ES5 + ES6,
замыкание,
промисы,
что такое ООП (хотя бы на пальцах) и как пишется "якобы" ООП параша в JS ну и тут прототипы
Дальше выбираешь фреймворк. К примеру React стремится к функциональному программированию.
Дело в том, что столкнулся с такой проблемой: пишут и объясняют, что должны быть чистыми компоненты (то есть они не должны ничего генерировать нового). И вроде бы логично все, но не понятно куда запихнуть fetch. Пришла мысль запихнуть в Redux.
>Что за get element?
Все что встретится с таким началом интуитивно понятно что делает, но этим уже не пользуются
Ты дурак, бля? Ясное дело, что про нативный жс речь. Какие еще способы получить доступ к компоненту?
хорошо, а как оно должно быть на самом деле? моё мнение что этот JSON должен вообще sql отдавать, а генерировать бэк или это не имеет значения?
Разработчик программ для микроконтроллеров на JS, ты?
гайды есть в интернете. Не не нужен именно Firebase. Почитай про его интеграцию и смотри на любую бд
>у тебя хранится где-нибудь currentPage?
вот пример кода https://ideone.com/IBQBhN
перед этой функцией в другой функции получается глобальная переменная tag уже и сюда я ее вставляю, для того чтобы пагинация нормально по тегам работала
У меня есть родительская компонента, которая использует getDerivedStateFromProps и в зависимости от изменений пропсов вызывает обычную функцию, которая строит дочернюю компоненту. В дочерней компоненте есть элементы формы, на которые мне нужно навесить обработчики onChange. Я написал обработчик и пытаюсь прокинуть его через компоненту, но почему-то функция обработчик не прокидывается в обычную функцию т.е. я передаю её в функцию как параметр someFunc(arg1, arg2, this.funcForOnChange), но в самой функции обработчик превращается в undefined. Из-за чего это происходит?
Нет, никакой асинхронщины нет.
Для начала научись выражать свои мысли по-русски.
>getDerivedStateFromProps
>this.funcForOnChange
Твоя хуйня уже провалилась
Перекатывайся на хуки
>Из-за чего это происходит?
Какие тут могут быть варианты?
1. Ты обосрался со скопами
2. Ты обосрался с прокидыванием
>Ты обосрался с прокидыванием
Так вот я про это и спрашиваю:
если я в компоненте определил функцию, а потом передаю её в функцию, которую я определил в другом модули и сделал инклуд, она должна нормально передаться?
>Перекатывайся на хуки
Эту хуйню надо уже доделать такой, какая она есть. Это почти что-то лаба.
Перешёл ко второй части и... Не могу. Пиздец это уныло. Какие-то селекторы, теги и прочее говно. Я не думал, что верстка -- это так скучно. Посоветуйте годные ресурсы, что ли, придется учить через силу.
>взял 4 куи на кодварс
>сложными штуками
>типа асинхронности, замыканий, контекста и декораторов
Я не знаю как. Ну вот мне понятно, как решать всякие задачки с кодворс, а тут я вообще ничего не знаю. Например, я хочу написать банальный мувисерчер или туду, с чего мне начинать? Как мне заебашить все эти прикольные эффекты и анимации? Как организовать директорию с проектом?
Я как-то делал подобие сайта ещё будучи пиздюком, так вот там я просто кидал разметку, скрипты и картинки в одну директорию на локальном сервере и все работало, но это же наверняка неправильно.
>>43978
Вот ты сука, я только полтора месяца вкатываюсь.
Хуй на кодворс, но из всего Кантора эти вещи показались наиболее сложными для полного осознания. Что не так?
Тот самый мемный говносайт который кидали вкатывальщикам? Он разросся до конторы?
Кое-кто уже сделал свою КОРПОРАЦИЮ про вкатывание, а ты даже так и не закончил лабу2
> getDerivedStateFromProps и в зависимости от изменений пропсов вызывает обычную функцию, которая строит дочернюю компоненту
Похоже ты не понимаешь зачем тебе этот метод.
> В дочерней компоненте есть элементы формы, на которые мне нужно навесить обработчики onChange
Не вижу никаких сложностей
> Я написал обработчик и пытаюсь прокинуть его через компоненту, но почему-то функция обработчик не прокидывается в обычную функцию
Скорее всего забыл забиндить контекст.
Либо пиши обработчик стрелкой если подключен babel типа handleClick = () => {} прямо в теле класса, либо биндь в конструкторе.
> Из-за чего это происходит?
Без кода сложно сказать, у тебя поток мыслей как у шизофреника
Пророк Кузя тоже сделал свою КОРПОРАЦИЮ про вкатывание срубив миллионы и хуле?
>а ты даже так и не закончил лабу2
>пук
>Откуда они в браузере берутся?
Догружаются запросами, которые выполняют скрипты на странице.
>И можно ли как то получить
Можно, достаточно посмотреть при помощи каких запросов берутся эти элементы.
>Догружаются запросами, которые выполняют скрипты на странице.
Спасибо, тоже подумал про это.
>Можно, достаточно посмотреть при помощи каких запросов берутся эти элементы.
Как это сделать? Извините за тупой вопрос.
Загуглить для начала, ну или подождать пока кто-нибудь здесь распишет, если захочет.
Если тебе нужна страница в том виде, что ты видишь в браузере, то тебе её нужно отрендерить и прогнать все скрипты на странице. Смотри в сторону phantomjs/casperjs/puppeteer. Может есть уже другие подобные пакеты, уже несколько лет этой темы не касался.
какая то кастрированая хернЯ
>>43479 - кун
Спасибо большое, какой же я даун.
Это че, теперь жабаскрипт в начальной школе преподают?
Какие же вы ебатуные, зумера-вкатывальщики... просто пиздец...
Охуеть, не знал что в js есть паки.
Какие же вы ебанутые, зумера-вкатывальщики... просто пиздец...
По хуй, сделал вот так:
var products = ["Choo Choo Chocolate", "Icy Mint", "Cake Batter", "Bubblegum"];
var last = products.pop();
console.log(last);
У всех этих уебанских заданий всегда что-то лишнее в коде и ты должен ломать голову что от тебя хотят и зачем они сделали две переменные для одной задачи
Голова у тебя лишняя. Теперь у тебя в products не хватает последнего сорта. Поздравляю, долбоеб, ты только что сломал всё производство.
Опять что-то не отработало?
var products = ["Choo Choo Chocolate", "Icy Mint", "Cake Batter", "Bubblegum"];
var last = JSON.stringify(products).split("\"").slice(-2)[0]
console.log(last);
Все, допер что от меня хотели, спасибо
Лучше не лезть во фронто-парашу, держись от этого гнилого болота подальше и попробуй вкатиться бекендером на ноде. Уже в процессе работы освоишь какой-нибудь нормальный язык типа го или сишарпа и всё норм будет.
>Го - это вообще язык для макак, которому можно обучить любого индуса и который создавался для демпингования зарплат.
У тебя слишком много опечаток в слове "жопаскрипт".
Это тебе должно быть стыдно. Я, в отличие от тебя, в теме уже 8 лет, и разбираюсь что к чему.
Надо чтоб функция определяла наличие свойства в объекте, что я сделал не так/или так нельзя вообще сделать?
https://rextester.com/DDL33840
Решил другим способом, но интересует, можно ли ещё как-то так сделать с проверкой на undefined.
Спасибо!
А причём тут мой вопрос...
let products = ["Choo Choo Chocolate", "Icy Mint", "Cake Batter", "Bubblegum"];
let last = JSON.stringify(products).split("\"").slice(-2)[0]
console.log(last);
Так нормально?
Незаметно, если ты считаешь, что однопоточный кал без базовой инфраструктуры, построенный поверх кучи воняющего легаси-дерьма, вытащенного из браузеров, где даже система модулей прибита сбоку гвоздями(нода), может сравниться с олдовыми гигантами, уровня сисярпа или джавы, не говоря уже про многопоточный го.
>Используйте === и откажитесь от alert. Если будете запускать тот же код в ноде, переписывать придется.
Зачем, если код не работает, потому что я что-то неправильно сделал. Лучше бы сказал, как правильно.
Я пытаюсь так сделать и в интернете схожие варианты есть:
function isEmpty(obj){
for (let key in obj){
return false
}return true
}
Это правильный вариант? У меня просто не работает почему-то.
>Так нормально?
Если у тебя по заданию сорта попадают в порядке создания, то зачем весь этот огород? Зачем JSON и методы?
let products = ["Choo Choo Chocolate", "Icy Mint", "Cake Batter", "Bubblegum"];
let last = products.length-1;
console.log(products[last])
Ну, он не совсем однопоточный. В V8, он однопоточный только в пределах одного Isolate.
Да, на нём нельзя писать полноценные десктопные приложения. Но зачем их писать на сисярпе, если для этого есть C++?
Полностью согласен. Какой-то дурак. За место того, чтоб ответить/помочь - какую-то хуйню пишет. Типичный программист.
>С++
НУ ты и дебил, повелся.
С++ это высер.
Microsoft Visual C++
>Microsoft
Нормальные языки с микрософтом не выступают
Комбайн ржавый и дороже поддерживать
Джава тормозит и от её экосистемы тянет блевать. Gradle, Mercurial, Spring, EJB, Oracle - фу, блядь.
Страдания программистов никого не волнуют, кто они там или что используют.
Клиент доволен - деньги текут рекой.
>Да, на нём нельзя писать полноценные десктопные приложения
На нем ничего нельзя писать, кроме хуйни в браузер. Даже сраную рест-прокладку на ноде ты заебешься поднимать, потому что вместо поддерживаемых всем коммьюнити go-to фреймворков и либ тут существует огромный зоопарк разносортной хуйни, которую тебе предлагается выбирать на авось и склеивать вместе, надеясь, что оно не развалится. Так во всем. Хочешь тестовый фреймворк? Ну вот тебе jest, mocha, jasmine и еще сотня других, правда они все похожи как близнецы, отдают запахом BDD-говнеца, засирают глобал скоуп и не имеют базовых фич, уровня "выполнить x перед каждым тестом в приложении и передать y в сам тест", но зато выбор ебать.
>>44433
У джавы хотя бы есть экосистема, а не море говна, из которого надо вылавливать ее по кускам и собирать самому.
Мне js нравится тем, что его легко встраивать куда угодно. Никакого больше lua(прости г-споди) и прочих angelscript'ов. Джава же мне не нравится ничем. То, что ты сравниваешь два совершенно разных языка - выдаёт в тебе джуна, который рвёт жопу за свой любимый язык и в упор не видит, что занимается копрофилией.
Джава тоже. Для бэка есть тот же C++. Да даже новомодный go лучше вашей ебаной джавы, хоть и он тоже говно.
> C++. Да даже новомодный go
только для спец мест,где критична скорость.
и да на них все придется велосипедить,если система больше чем затычка
>Мне js нравится тем, что его легко встраивать куда угодно.
Куда ты его там "встраиваешь", наркоман ебаный?
>То, что ты сравниваешь два совершенно разных языка
Языки уже нельзя сравнивать друг с другом? Я что-то пропустил? Не говоря о том, что там идет сравнение инфраструктуры, а не самих языков.
>>44459
>Для бэка есть тот же C++
Еб твою мать, зачем ты серешь под себя, ты писал хоть на чем-нибудь, кроме ссаного жопаскрипта? Хотя бы на питоне, про кресты и прочее не говорю.
>Для бэка есть тот же C++
>Еб твою мать, зачем ты серешь под себя, ты писал хоть на чем-нибудь, кроме ссаного жопаскрипта? Хотя бы на питоне, про кресты и прочее не говорю
ты постом ошибся
В C++ куча решений для бэка. Poco, Qt, Boost - используй что хочешь(кроме Poco, он для говноедов). Что ты там собрался велосипедить?
Как распетушился-то, лол.
> Языки уже нельзя сравнивать друг с другом?
Если они из разных областей - нельзя. Ещё раз спизданёшь подобное - огребёшь.
>из разных областей
Они были бы из разных областей, если бы жс оставался там, где и должен - у параши в браузере. А так на нем пытаются высирать и бэк, и десктоп, и мобилки.
На джаве тоже пытаются высирать десктоп, и что с того? Что у джс, что у джавы - десктоп получается отвратительным говном. Я говорю о тех областях, для которых предназначен язык, а не тех, в которых его используют всякие ебанаты.
В своей области(браузер и встраивание) джс работает отлично. Джава же в своей области(бэк) работает плохо. И то, что залётные джавапетухи стремятся обосрать другие технологии - показывает, насколько у вас там всё плохо, что вы такие злые.
Там везде используется абсолютно разная инфраструктура, шиз. Из общего только сам жопаскрипт и какие-нибудь библиотеки, чтобы скрасить полную убогость стандартной.
>В своей области(браузер и встраивание) джс работает отлично
ЖС в этой области является абсолютным монополистом, это единственная причина, по которой он вообще еще существует.
>Джава же в своей области(бэк) работает плохо
Ты скозал?
Это я, кстати, сам себе ответил.
Ну такое себе, когда у тебя сервер неоправданно жрёт оперативку.
Больной ублюдок
потому что считаются объектами
> Почему в треде про жопаскрипт разговаривают про джаву? Вы же понимаете, что это разные языки?
Проязык (родитель) у них один. Поэтому это братские языки.
Какой-то хипстерок-пидарок триггернулся на то, что моднейший go и проприетарный клон убогой джавы от копрософта не такие уж и крутые языки, и начал прямо посреди треда дристать себе в портки, зачем-то приплетая джаву.
Ну так не используй массивы
> не лучше
fix
Я просто хуею блядь. Какой-то тупой студент узнаёт про новый хайповый хипстерский язык, учит его за пару дней и потом ходит по тредам с неебически высокомерным ебалом и рассказывает, какие джсеры тупые. Они-то может и тупые, но и ты ничем не лучше, кал ебаный.
а нету
Двачую. Это даже хорошо, что долбоёбы-вкатывальщики хотят найти ту самую книгу, прочитав которую они станут спецами, вместо того, чтобы изучать язык на stackoverflow.
это больше рама,на которые накидывают приблуды
Как блять вообще работает Java(скачал, открываю jaotc,java)
Нажимаю на них, и нихуя!
Ничего, это нормально.
Ха-ха. Это тебе не C++.
Сначала скачай Netbeans, потом Glassfish, после почитай про EJB и сделай свой первый хеллоу-ворлд. Зависимости с меркуриала можешь подтянуть, через Gradle.
Выглядит очень просто. А мне хватит 64 гб оперативной памяти, чтобы просто вывести в консоль hello 2ch?
Мало кто сможет дорасти до размеров этого нелепого монстра.
В целом, ну или например создания рест апи\graphql
а чем это отличается?
https://react-bootstrap.github.io/components/alerts/
Ну ты посмотри как там компоненты должен описывать
Спс анон, буду пробовать
Реализуйте паттерн "Декоратор"
Требуется создать декоратор для логирования LoggingDecorator. Он должен принимать в себя только функцию. Он не должен влиять на поток ее выполнения или модифицировать результат. В свою очередь он должен запоминать с какими аргументами была вызвана функция и что она вернула в ответ. Эту информацию он должен предоставлять функции логгирования которая должна хранится в том же модуле что и декоратор. подменить функцию логирования можно используя метод registerLogger из модуля
Вам требуется создать модуль
function module(){
class Decorator {}
return {
Decorator
}
}
Из которого будет возвращен класс либо функция
Декоратор должен проходить следующий тест(см. скриншот).
Буду благодарен за любую подсказку. Понятия не имею как реализовать логгирование оригинальной функции.
Правда, спасибо! Добра.
Сильно нагло будет просить объяснить паттерн Фабрики?
Опять же дали задание:
Реализуйте патерн "Фабрика"
Вам необходимо сделать контейнер для фабрик. В зависимости от переданного экземпляра фабрики должны создаваться конкретные продукты (компоненты в нашем примере, в них достаточно реализовать метод render).
AbstractFactoryContainer - хранит фабрику, ничего не должен знать о производимых продуктах. Имеет метод create - делегирует создание продукта на переденный экземпляр фабрики
InputComponentFactory - порождает компоненты для инпута с типом текст
CheckboxComponentFactory - порождает компоненты для чекбокса
TitleComponentFactory - порождает компоненты для заголовков с текстом
Вам требуется создать модуль
function module(){
class Factory {}
return {
Factory
}
}
Из которого будет возвращен класс.
Нужно чтобы фабрика создавала компоненты 3-х типов и вызывала метод рендер. Пример теста с компонентом тайтл на скриншоте.
Завтра ищешь в интернете книжку HTML5 Canvas. Похуй если ничего не поймешь. Затем идешь на w3.org и изучаешь стандарты от корки до корки. Потом зубришь, именно, сука, вызубриваешь содержимое сайта developer.mozilla.org, чтобы от зубов отскакивало. Когда напишешь свой первый сайт - видеоредактор, по пути детально разобравшись в WebGL, скачиваешь и изучаешь любой редактор, рекомендую Notepad++ или Adobe Dreamweaver. Как переделаешь редактор, чтобы можно было добавлять объекты из 3DSMax и красивые 3D-переходы, можешь идти дальше - тебя ждет увлекательный мир JavaScript. WebCL, XUL, сверхбыстрый асинхронный Node.JS, сверхмощная мозговыебывательная многоуровневая обфускация. Отсос хиккующих выблядков / просто неудачников типа рейфага или Flash/Silverlight-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Эээ... там вроде не эта была
И так, вопрос какие приложения вы пилили и сколько это занимало времени от начала до релиза?
Я на React Native делал приложение, которое читало смску с кодом подтверждения и делала с ней нужный запрос. Хватило того, что было в офф. документации реакт нетива.
Убери все тесты, кроме одного, напиши минимальное количество кода, чтобы этот один тест проходил, потом добавь обратно еще один тест, напиши минимальное количество кода, чтобы этот один тест проходил... И хуяк, ты открыл для себя TDD, весь процесс пойдет в сто раз легче, и вопросы сможешь задавать уже по конкретному код и тесту. А вообще дрочить кастрированные жс-классы - это такое.
flutter и все твои проблемы решены. есть годная серия гайдов от net ninja по флаттер + фаербейс
Лул, нет конечно, мы всем тредом ищем единственную и неповторимую серебряную пулю книгу для 100% вката в ойте без регистрации и смс
Что плохо в том, чтобы сделать что-то по примеру, а потом дополнить?
>мы всем тредом ищем единственную и неповторимую серебряную пулю книгу для 100% вката в ойте без регистрации и смс
Вот ана!
Я специально скинул последние 2 теста о последнем компонете тайтл, предыдущие тесты аналогичные по компонентам инпута и чекбокса.
Бамп вопросу, вообще не знаю как подступиться
Cпасибо огромное еще раз. Я тебе только 2 последних теста скинул, думал верхние по аналогии сделаю сам( там еще инпут и чекбокс компоненты). Но видимо зря и только сбил тебя этим с толку. Запилил такую же фабрику и компонент для каждого из оставшихся типов, как ты сделал для тайтла - но не преуспел.
Мой код в данный момент:
function module(){
class AbstractFactoryContainer{
constructor(factory){
this._factory = factory;
}
create (){
return this._factory.create();
}
}
class InputComponentFactory{
create(){
return new InputComponent();
}
}
class CheckboxComponentFactory{
create(){
return new CheckboxComponent();
}
}
class TitleComponentFactory{
create(){
return new TitleComponent();
}
}
class Component{
constructor(){
this.props = {};
}
}
class InputComponent extends Component {
render(){
return `<input type="text" />`
}
}
class CheckboxComponent extends Component {
render(){
return `<input type="checkbox" />`
}
}
class TitleComponent extends Component {
render(){
return `<h1>Privet humans<h1/>`
}
}
return {AbstractFactoryContainer, InputComponentFactory, InputComponent}
}
Первые тесты на скриншоте(в принципе аналогичные тому что ты сделал с тайтлом, вот только видимо ретурнить надо только контейнер, а он сам должен вызывать нужную фабрику исходя из переданного компонента). Извини, если слишком сумбурно, чуть больше месяца варюсь в этом всём.
Cпасибо огромное еще раз. Я тебе только 2 последних теста скинул, думал верхние по аналогии сделаю сам( там еще инпут и чекбокс компоненты). Но видимо зря и только сбил тебя этим с толку. Запилил такую же фабрику и компонент для каждого из оставшихся типов, как ты сделал для тайтла - но не преуспел.
Мой код в данный момент:
function module(){
class AbstractFactoryContainer{
constructor(factory){
this._factory = factory;
}
create (){
return this._factory.create();
}
}
class InputComponentFactory{
create(){
return new InputComponent();
}
}
class CheckboxComponentFactory{
create(){
return new CheckboxComponent();
}
}
class TitleComponentFactory{
create(){
return new TitleComponent();
}
}
class Component{
constructor(){
this.props = {};
}
}
class InputComponent extends Component {
render(){
return `<input type="text" />`
}
}
class CheckboxComponent extends Component {
render(){
return `<input type="checkbox" />`
}
}
class TitleComponent extends Component {
render(){
return `<h1>Privet humans<h1/>`
}
}
return {AbstractFactoryContainer, InputComponentFactory, InputComponent}
}
Первые тесты на скриншоте(в принципе аналогичные тому что ты сделал с тайтлом, вот только видимо ретурнить надо только контейнер, а он сам должен вызывать нужную фабрику исходя из переданного компонента). Извини, если слишком сумбурно, чуть больше месяца варюсь в этом всём.
Скрин с тестами отклеился.
>JS - это вообще язык для макак, которому можно обучить любого индуса и который создавался для демпингования зарплат.
Fixed.
Чиво?
Серьезным он будет только на C/С++/Rust, но все почему-то выбирают несерьёзную хуету вида PHP, Python, Node.js, Java, C#
Пишите бэк на ассемблере блеать
>Серьезным он будет только на C/С++/Rust
Серьезным он будет на любом языке, предназначенном для этого, а не на браузерной хуйне, где вся инфраструктура заточена под рисование анимаций.
>есть тайпскрипт
Очередной дегенрат, который думает, что тайпскрипт привносит что-то в JS, а не является всего-лишь надстройкой для IDE
а я и не отрицаю.что он все равно компилируется в обычный жс.
но развитие идет большими темпами
хватит постить код в тред, питух
Нет.
что выбрать - реакт или ангуляр? какой из них проще и легче?
так я и не собираюсь вкатываться во фронтенд, просто хочу немного расширить горизонт так сказатб
Хочешь за вкрай обнаглевших js-школьников юниттесты писать?
А это разве не входит в рабочие обязанности фронтендеров?
И как это отменяет то, что Go такой же?
Вопрос - как это называется и как это сделать ? (у меня не SPA)
https://www.vedomosti.ru/technology/articles/2014/12/09/rossijskij-razrabotchik-softa
https://www.rbc.ru/technology_and_media/13/12/2019/5df352719a794739052c0147
Вешаешь событие на скролл, отслеживаешь достижение конца статьи, подгружаешь новый контент, вставляешь в конец, указываешь новый url через history.pushState
спасибо, попробую
Лучше history.replaceState
position === 'B', но нихуя не работало. Нагуглил метод charAt и всё заработало.
А можно как-то иначе, без charAt это сделать?
Да
Неа
Я в душе не ебу чё этот чел написал.
Типа, сначала сплит по буквам, а дальше, судя по всему, фильтр с... функцией? или чё это. Понятно, что он делает, но не понятно как.
К тому же чё слабого в простом и понятном решение...
заманчивое предложение, но я же сказал что не хочу быть фронтендщиком
В 2019 году важнее красота и читаемость чем эффективность в плане ресурсов для исполнения
> Понятно, что он делает, но не понятно как.
learn.javascript.ru
Все уже для дураков расписали, что не понятно изучай
не буду.
Все стали успешными и ебут эйчарок?
Зачем тебе книжки, пупсик? Документация отличная, она самодостаточна. Скоро вот асинхронный рендеринг подвезут, в книжках про это ещё долго не напишут.
Ну ты самый умный, сам и ответишь
На hh уже видел кучу резюме от таджиков и узбеков по реакт-фронтенду, даже бабы во фронтенде, конкуренция сумасшедшая, рыночек демпингует пора сваливать
В C++.
>>1545599
>А я человек с опытом, мне сразу понятно, что человек спрашивающий подобное - нихрена ещё не знает, салага, проще говоря.
Не много ли ты на себя берешь, школьник?! Тебя не спрашивали че ты там знаешь. Анон хочет чтобы посоветовали книгу. Не знаешь ответа, не лезь нах. Если такой умный, реализуй автомат на реакте по их документации. Посмотрим как она тебе в этом поможет.
Ещё раз - вопрос был задан некорректный, книжки по реакту не нужны. И я это обосновал, почему.
И я писал pushdown КА машину, никаких сложностей у меня не возникло. Кстати, модер такой же баклан, удалил мои абсолютно адекватные ответы, засим из этого ньюфажного треда я удаляюсь, ибо тред создан вкатывальщиками для вкатывальщиков, а я уже тимлид давно
Вопрос о книге, на который можно ответить названием книги - корректный. Даже у орайли есть книги по реакту, а значит ещё куча других тоже имеется и какая-то из них точно подойдёт анону. Это твой ответ некорректный.
>Ещё раз - вопрос был задан некорректный
Ты чё кран? Тебя не ибет как вопрос задан. Не знаешь, не можешь, не хочешь прямо отвечать, - потеряйся нах.
>книжки по реакту не нужны
Самы умный что ли? Вот тебя еще забыли спросить, нужны ли книги.
Проблема: если переключатель стоит в состоянии, при котором инпут не показывается, то у нас есть бесполезный стэйт (error). Как быть: иметь в компоненте состояние, который может вообще и не пригодится или выносить такой маленький компонент как инпут с состоянием как отдельный. Кажется, что и то говно и это.
>Это надо задрачиваться
Вооот. Никто не хочет трудиться. Все хотят халяву. Нормальному спецу конкуренты не конкуренты.
Согласен, прототипы со скоростью света делать. Можно быстренько мвп нашлёпать, чтобы показать дядям с деньгами, что оно работает, а дядям и похуй, что оно внутри на низкопроизводительных велокостылях держится. Но потом в большинстве случаев всё равно переписывать придется, если контора и продукт не второсортные.
>>45019
> Серьезным он будет только на C/С++/Rust, но все почему-то выбирают несерьёзную хуету вида PHP, Python, Node.js, Java, C#
Во-первых, как ты умудрился поставить джаву и шарп в один ряд со скриптовыми языками? А во-вторых, серьезный бекенд может быть далеко не только на с/с++ и расте. Сюда же эрланг/эликсир, кложа, скала, го, и джава с шарпом тоже. Кресты и раст быстрее по производительности, но и писать на них намного дольше и дороже, при этом в большинстве задач вышеперечисленных языков более чем достаточно.
ну правильно,если взлетит,то можно переписать,когда дойдет нагрузка до критических значений
>Можно быстренько мвп нашлёпать
Это можно сделать на любом динамикоязыке с популярным веб-фреймворком. На тех же рельсах сервер с базовым круд сетапом поднимается буквально за две команды и там просто миллиард гайдов для ньюфагов. Причем "базовый круд сетап" рельс включает в себя столько всякой удобной хуйни, что в ноде аналогичный функционал пришлось бы неделю собирать по помойкам из разных жсерских говнолиб.
Иди конкурируй с миллионами php/js разрабов. Тебе же сказали, тишина и покой, это не хайп. И вакансии есть, не там ищешь. Даже на HH есть.
Erlang
https://hh.ru/vacancy/33631775
https://hh.ru/vacancy/34263226
https://hh.ru/vacancy/33282997
https://hh.ru/vacancy/34608869
https://hh.ru/vacancy/32905020
https://hh.ru/vacancy/34962433
Haskell
https://hh.ru/vacancy/32444079
https://hh.ru/vacancy/28045786
https://hh.ru/vacancy/34661710
https://hh.ru/vacancy/34566793
> ноде аналогичный функционал пришлось бы неделю собирать по помойкам из разных жсерских говнолиб.
вот это правильное замечание.
Нахера нужен жс на бэке,что на нем можно серьезное родить,а не демо скриптики?
>>45688
Я худею с вас максималистов. Серьезный бекенд это качественно написанный бекенд. Качественно написать можно на любом языке. Также как хреново написать можно на любом языке. На C/C++ весь бекенд никто никогда писать не будет, если он конечно в своем уме. Максимум какие-то небольшие участки, требующие особо высокой производительности. Но пля, у вас же нет таких задач. Вы же ничего сложного никогда не писали. Нахрена вам highload? Это юношеский максимализм.
>эрланг для нагруженных сетей,слишком узкая специализация
Ты сказал? Эрланг годится для любых проектов. Язык простой. Это не C++, чтобы боятся на нем писать большой проект.
>А хаскель то зачем???
For fun. Приятный язык. Низкая конкуренция. У работодателей нет "ООП головного мозга", маниакальных загонов по паттернам. Код короткий, лаконичный. В сообществе нет мамкиных хипстеров.
>Качественно написать можно на любом языке
...только на жсе это будет в сто раз сложнее, чем на питоне/руби/кложе/эликсире или даже похапе хотя бы потому, что там не надо будет использовать левую(и крайне дерьмовую) либу вместо стандартной библиотеки, не нужно будет использовать 3rd-party транспайлер блять только вдумайся в этот пиздец, чтобы добавить базовые фичи в язык, и прочее прочее. Самое начало работы с нодопроектом - это уже борьба с говноязыком, когда на остальных ты просто садишься и пишешь.
а я онлайн игруху на ноде сделал
>нет
Кто сказал? На нем даже CLI тулзы пишут. Если не шаришь не встревай.
>>45734
>только на жсе это будет в сто раз сложнее, чем на питоне/руби/кложе/эликсире или даже похапе хотя бы потому, что там не надо будет использовать левую(и крайне дерьмовую) ли
Я и бу. Ты не шаришь. JS тем и круче, что нигде нет такой богатой мощной экосистемы. Когда там в Питон, Руби, etc новые фичи завезут? Никогда нахой. А в JS можно прямо сейчас юзать новые фичи, которые еще не реализованы в движке. Еще с Бабелем можно добавлять в JS новые синтаксические конструкции, или даже создавать свои языки.
Ну найс, наскреб пару десятков по всей россии, там поди ещё и требований больше чем в любом другом языке
>Ну найс, наскреб пару десятков по всей россии
А сколько тебе надо вакансий чтобы устроиться? Ты хочешь сразу на несколько компаний одновременно работать? Нужна всего одна вакансия. Как всегда плять, то у них вакансий нет, даешь им вакансии, мало плять. Хотят мало конкунции, получают, потом начинают ворчать что требования выше. А как ты хотел? Хочешь хорошо зарабатывать, мало конкуренции, приятные языки и адекватных работодателей - будь добр соответствовать. Я тебе дал вакансии стажеров и джунов!!! Это вообще нонсенс. Должен радоваться. 5 лет назад вакансии стажеров и джунов на Erlang/Haskell днем с огнем нельзя было найти.
>Когда там в Питон, Руби, etc новые фичи завезут
Каких новых фич тебе не хватает? Мне например в жсе не хватает базовых фич классов(кукареку ООП не нужно), не хватает each/map/reduce итерации по объектам(кукареку функциональный язык), не хватает нормальных импортов без дроча релативной дрисни(кукареку установи плагин бабеля) и прочее прочее, причем это самые-самые базовые вещи, которые любой современный язык предоставляет из коробки, но в жсе единственная рекомендация - это собирать своего франкенштейна.
>Еще с Бабелем можно добавлять в JS новые синтаксические конструкции, или даже создавать свои языки.
Для этого можно взять любой диалект лиспа или тот же эликсир и дрочить макросы. Но жсеры вряд ли слышали про первое правило макросов, и поэтому считают, что менять синтаксис языка по желанию левой пятки - это охуенная вещь и никаких минусов у нее быть не может.
Ты тупой. На том же жеесике есть перспективные и ещё не особо популярные штуки, в которые можно начать перекатываться. Плюс тот же кложур, без ооп параши, будто специально создан для реактогоспод.
Типа скрапинг.
Опять выходишь на связь?! Иди доки по JS читай, map-а ему плять не хватает. Мозгов тебе не хватает.
iOS
Ты же понимаешь, что под объектом в жсе мы подразумеваем обычную хэшмапу? Enumerable не траверсится и прочие открытия, каждый день в чудесном мире жопаскрипта!
С такой логикой и пыхи достаточно для бэка. Серьезный бэк это тот, что производительный, не требует большого количества ресурсов, кроссплатформенный и выдерживает наибольшую нагрузку. При этом если брать серьезный-серьезный, то останется только Раст, который пиздит тебя по затылку и не дает скомпилировать код до тех пор пока ты его до идеала не доведешь.
Это совершенно ошибочное представление о том, что требуется для бекенд языка.
Для бэка требуется бесперебойно отвечать на миллион единовременных запросов и не падать. Выбор технологии за вами
Бампаю вопрос!
Хочу цап-царап разметку, но стандартными средствами node.js.
Какой поток позволяет открываться с удаленной url страницы?
В модуле http чет ниче не нашел, мож я в глаза ебусь?
Или в модуле fs?
В пхп для подобных целей используется файловый поток.
Не туда воюешь
ˈruːbi
иными словами, мёртворожденный язык для истории
Вот у меня самопоставленная задача - есть 1000 запросв к стороненнему АПИ, ответ может иметь разный объем ( соответственно разная скорость возврата ответа на запрос )
Согласно асинхронной логике ноды - ответ мне придет не 12345..., а в разнобой, так?
А если мне принципиально важен правильный порядок возвращенных данных? Что делать? Promise.ALL - ждет возврата всех, да, но все равно они в разнобой.
После я этот ответ - хочу залить в sql базу - тут тоже все асинхронно.
Варианта два - первый- по возвращению ответа от АПИ - я этот ответ отправляю в базу(запрос тоже займет время).
По итогу данные максимум перетасованы(базе конечно похуй).
Второй - собираю всю 1000 ответов, и в цикле (допустим не хочу одним запросом все добавлять) отправляю к базе - я правильно понимаю что согластно логике ноды - третий запрос может выполниться раньше допустим второго, если второй тяжелый а третий легкий?
Так как соблюсти порядок? Никак?
array.shift.repeat(n)
Типа из массива удаляется первые символы N раз
Хочу пример реализации найти - ниодного из 20 который бы не использовал для этого какую нибудь "ВЕЛЕКОЛЕПНУЮ" стороннюю либу.
Ищи биндинги на .net для electron. Вроде даже есть какой-то electron.net - но не юзал сам, хз что там.
Бери либочки, Зоя для тебя делали что ли
В рекрутинговых агентствах как раз часто работают бывшие кодеры хорошо понимающие специфику своей сферы. Но не каждая компания набирает персонал через них.
>Promise.ALL - ждет возврата всех, да, но все равно они в разнобой.
Результат не вразнобой, а в том же порядке, в котором ты их передал в Promise.all
>Так как соблюсти порядок?
Если тебе нужно просто получить список результатов выполнения промисов в определенном порядке - Promise.all. Если нужно выполнить их один за другим в строгом порядке - чейни промисы - fetchAndSaveItem1().then(fetchAndSaveItem2)
try {
await connection.promise().beginTransaction();
// savepoint p1;
await connection.promise().query(...);
await connection.promise().commit();
await connection.promise().query(...);
await connection.promise().commit();
} catch (error) {
// rollback to p1;
throw error;
}
Если вместо rollback to p1 в случае ошибки написать await connection.promise().rollback() , то первый commit будет выполнен, чего нельзя допускать. Инфы по этому вопросу вообще найти не смог. Документации у них вообще нет как будто.
Я думал про вариант через query('SAVEPOINT pointname'), query('ROLLBACK to pointname'). Но не стал пробовать, ибо START TRANSACTION, COMMIT, ROLLBACK у меня не работали. Но сейчас попробую...
Попробовал, пишет
>UnhandledPromiseRejectionWarning: Error: SAVEPOINT p1 does not exist когда catch срабатывает...
Вот код
await connection.promise().beginTransaction();
try {
await connection.promise().query('SAVEPOINT p1');
await connection.promise().query(...);
await connection.promise().commit();
await connection.promise().query(...);
await connection.promise().commit();
} catch (error) {
await connection.promise().query('ROLLBACK TO p1');
throw error;
}
Как-то так, но лучше цикл использовать.
array.splice(0, n);
Суть токова: мне нужен начинающий фронтенд разработчик, который бы реализовал интерфейс к моему API. Это очередная имиджборда убийца двача, к которой я на данный момент пишу backend. Сам я фронтенд-разработчик, работаю уже несколько лет кодингом занимаюсь уже лет 8, и решил значит освоить бек, запилив свой пет-проектик. Так как фронт мне делать неинтересно, то ищу здесь анончика, готового взяться за кодинг, я же буду выступать в роли ментора: подсказывать, подкидывать информацию, всячески помогать, учить как правильно делать, а как делать нельзя. В общем, с меня code review, консультации, проектирование, с вас - написание кода.
Основные требования: владение программированием на базовом уровне, знакомство с JS и каким-нибудь фреймворком (react, angular) или стойкое желание и возможность их изучить, а главное - наличие свободного времени и ЖЕЛАНИЕ что-нибудь закодить. То есть школьники старших классов, скучающие студенты и хикканы, желающие вылезти со дна – в приоритете. В перспективе уже через вы сможете найти достойную работу начинающим программистом.
Спрашивайте все свои вопросы или пишите сразу в телегу.
tg:@namelessonee
Чел, я этим летом окончил вуз, все лето сидел не знал в какую область пойти развиваться. Просидел-продрочил время. Вот, недавно, решил написать свою первую online игру на js и node. Где же ты был раньше? Так бы согласился. Не совсем понял будешь ты платить за это или нет, но я бы даже за бесплатно согласился, если бы ты действительно давал полезный экспириенс. Алсо, удачи тебе.
Кидай сюда проект на гитхабе. Пиши ишьюсы по фронту. Жди пулл реквестов. Так это быстрее заработает, чем ты будешь ждать когда кто то напишет в личку.
Нахуй твой тг, кидай сюда лучше git ссылку для всех, кто захочет, будет кидать пуллы
А почему это я должен был бы тебе платить, а не ты мне? Все-таки это я трачу свое время на твое развитие.
>TS7016: Could not find a declaration file for module ...
Как в ts правильно использовать модули у которых нет типов?
Самый простой вариант сделать noImplicitAny: false, но мне кажется это такой себе вариант, а как правильно работать с d.ts файлами из гугла тоже не понятно.
либы не предлагайте - я именно хочу понять как самому этос делать.
Хочу понять как это сделать.
Пыхи недостаточно, это однопоточная скриптодрисня типа питона/руби/ноджс.
Остаётся не только раст. С очень большими нагрузками могут справиться мной перечисленные:
>эрланг/эликсир, кложа, скала, го, и джава с шарпом тоже
Обожаю эти необоснованные детские набросы в духе "скриптодрисня". Ты же сам показываешь себя тупой малолеткой. И с куя это PHP однопоточный?
The keys of an Object are String and Symbol, whereas they can be any value for a Map, including functions, objects, and any primitive.
The keys in Map are ordered while keys added to object are not. Thus, when iterating over it, a Map object returns keys in order of insertion. (Note that in the ECMAScript 2015 spec objects do preserve creation order for string and Symbol keys, so traversal of an object with only string keys would yield the keys in order of insertion)
You can get the size of a Map easily with the size property, while the number of properties in an Object must be determined manually.
A Map is an iterable and can thus be directly iterated, whereas iterating over an Object requires obtaining its keys in some fashion and iterating over them.
An Object has a prototype, so there are default keys in the map that could collide with your keys if you're not careful. As of ES5 this can be bypassed by using Object.create(null), but this is seldom done.
A Map may perform better in scenarios involving frequent addition and removal of key pairs.
https://ru.stackoverflow.com/questions/1058610/Проблемы-вставки-внешнего-ключа-внутри-транзакции-node-js-mysql2
Ответа нет. Задам еще раз тут... И картинку для привлечения внимания добавлю...
1. Хуй знает что ты там напридумывал под "транзитакцией"
2. Ошибка не имеет никакого отношения к JSу
3. Твой "асинхронный" код с await на каждый вызов и полным непониманием происходящего выдают 15 летнего васяна, репортнул
2. Ну да, не имеет... Nodejs и его npm модули никак не связаны же с js
3. В каком месте он асинхронный? При чем тут вообще асинхронность/синхронность, ты че доебался до этого? Себя репортни, шизло.
Называю вещи своими именами. Пхп это скриптодрисня, заслуженно.
> Пхп не однопоточный
> Ряяя, школьник, тупая малолетка
Почему у тебя так бомбит на пустом месте? Тебе 40 лет и ты с 2005 года пишешь на пхп?
Это констатация факта. Ты реально что ли пол жизни пхп отдал, что на свой счёт принимаешь?
Пхп по классификации является скриптовым и интерпретируемым языком. Да ещё и с динамической типизацией. Как его после этого называть?
>с динамической типизацией
И чё? В Си тоже динамическая типизация.
>является скриптовым и интерпретируемым языком
И чё? Хочешь сказать, что это мешает на нем писать проекты?
> И чё? В Си тоже динамическая типизация.
Динамическая типизация не всегда плохо, но в руках веб-макак она часто не приводит ни к чему хорошему. Не надо сравнивать пхп и С.
> И чё? Хочешь сказать, что это мешает на нем писать проекты?
Это мешает писать на нем качественные серьезные проекты для большой аудитории.
>>47049
Анон, потуши уже свой пожар, это вредно для психики.
Если бы в Гугле нашел - сюда бы не писал, очевидно. Гугл выдает много инфы, но с использованием сторонних либ
U: (row, column) => [row + 1, column],
R: (row, column) => [row, column + 1],
D: (row, column) => [row - 1, column],
L: (row, column) => [row, column - 1],
}
анон, что в данном контексте означают брекеты?
https://codepen.io/webgospodin/pen/ExagdQW?editors=0010
Короче duoble передается по цепочке промиса дальше, а мне надо чтобы все await'ы исполнились, все записалось в double и уже потом передавалось дальше
Создается объект с методами U, R, D, L. Все из которых принимают аргументы row и column и возвращают массив из двух чисел.
Никак, только через бэк
input type="file" и обычное file api браузера, нет?
есть мой супер почти класс и в нём массив,
var My = function(){
arr: [],
methods.....
}
Вопрос как к нему обратсят из вне по ключу ?
var x = new My();
Хочу вот так
alert(x[0])
но не так:
x['arr'][0]
До появления Redux реакт компоненты общались другом с другом прокидывая колбеки через пропсы. Естественно с таким подходом не построить нормальный сайт. Потому и появился редакс.
Интересно почему эликсир так не популярен в сравнении с той же нодой? Реально отличный язык. Более производительный, умеет в многопоточность, есть отличный фреймворк - Феникс
>Это мешает писать на нем качественные серьезные проекты для большой аудитории.
А как же фейсбук, порнхаб и прочие известные сайты?
Потому что для этого нужно отдельный язык учить, когда для освоения ноды тебе хватит знаний JS и нескольких часов времени. При этом выхлоп того не всегда стоит.
ФП вообще не сильно популярно в коммерческой разработке. Только сейчас его понемногу начинают откапывать и осторожно пытаться использовать. Но мало погромистов умеющих в ФП, мало опыта обкатывания таких проектов. С точки зрения манагеров это довольно авантюрная затея.
Ну вот я фронт который вкатывается в бек. На эликсир + феникс в разы проще чем на ноде, хоть там и знакомый язык. А все потому что нет одного устоявшегося фреймворка. Только всякие экспрессы, коа, фастифай которые по-сути не фреймворки даже. Либо монструозные - Лупбек, Адонис и Нест комьюнити которых вообще непонятно где. И судя по вакансиям последнии три вообще не шибко применяются. А собирать в каждом новом проекте из говна и палок - такое себе удовольствие.
Ну хуй знает, мне Эликсир очень-очень зашел. Лаконичный синтаксис, все понятно и по-людски как говориться. Единственный и огромный минус почему я перестал его учить, то что вакансий на нем хуй да нихуя
И вообще использование Redux - это какая-то блажь. Как можно хайпить это неудобное говно, которое даже сам Фейсбук не использует?
Так я говорю, что с точки зрения манагеров. Если бы мне предложили вести проект на который сложно найти программистов и мало историй успеха, я сам постремался бы с этим связываться. На императивные языки полчища программеров, хорошо изучены все тропы, есть много готовых либ.
Ну в Реакт экосистеме особо нет выбора, как я понимаю. А вот нахуя тянуть это говно в мир ангуляра, рожая всякие ngrx мне непонятно
У феникса очень плохо с производительностью, судя по бенчмарку. Грустно, хоть я и тоже люблю эликсир. Но может быть код феникса написанный для бенчмарка некорректный?
https://www.techempower.com/benchmarks/
У феникса 53к, это совсем мало. У чистой ноды/фастифай 90-100к, у го вообще 200-400к
Фейсбуку вообще пришлось собственную виртуальную машину написать, которая конпелирует пхп в кресты, без такого огромного костыля пхп давно бы захлебнулся. А сообщения у них на эрланге, что не удивительно.
Ты шо ебанутый дядя, почитай описание тестов, там бенчат по сути однопоточный дроч записей из БД. Конечно ЧИСТАЯ нода и ЧИСТЫЙ го будут в этом быстрее. Но во-первых даже в этом бенчамарке почти любой жс-фреймворк сидит гораздо ниже феникса, а во-вторых область применения эликсира/эрланга - это работа с кучей одновременных соединений, где он без шансов ебет почти любой язык, а уж тем более однопоточную ноду https://stressgrid.com/blog/benchmarking_go_vs_node_vs_elixir/
Так для других языков такие же условия.
>область применения эликсира/эрланга - это работа с кучей одновременных соединений, где он без шансов ебет почти любой язык
Знаю, но без шансов почти любой язык он не ебет. У него достаточно сильных конкурентов.
>https://stressgrid.com/blog/benchmarking_go_vs_node_vs_elixir/
Он на пикриле жрёт ресурсы процессора не так уж эффективно, как го. Го это как раз один из его сильных конкурентов. И скала с кложей. Да и в принципе на том же расте можно реализовать хоть акторы, хоть CSP как в го и core.async кложи. Но эликсир всё равно хорош, просто он не серебряная пуля.
>> когда для освоения ноды тебе хватит знаний JS и нескольких часов времени
Ну и как? Сам то освоил ноду за несколько часов? Распарсить бинарный поток по MIME типу сможешь?
Или освоить ноду - это поставить express и passport? А потом мидлвэйров накидать? Да?
Хуя макаке припекло. Даже не знаю, что смешнее — такая реакция на правду или то, что макака считает парсинг бинарного потока чем-то сложным.
Нода низкоуровнева, и требует или тыщ библиотек, либо предолинга.
Я бек на пхп пишу. Нода требует большего знания матчасть низкоуровневой для того что бы хоть что то писать. В пхп - тоже есть доступ к низкоуровневым процедурам, потокам, бинарным данным - но над этим есть обертки из коробки, которые отлично работают. А в ноде - либо сам, либо 100500 библиотек. ПХП на самом деле сложен, обширен, это такой не плохой форк Java. Но вся его сложность на втором плане, скрыта.
А нода тебя сразу мордой в грязь кидает. Начиная с "прозрачной документации" я охуел разбирать че от кого наследуется, и почеми хуева туча разных классов/функций возвращает один и тот же объект
Добавь к этому асинхронность - и получаешь не такую уж простую систему.
Человек на нативном пхп уже через неделю сможет сделать не сложный сайт, с какой то логикой.
На ноде он писю понюхает.
потому пхп и рулит в беке%%
Соси сучка, я бекенд пишу, а в ноду вкатываюсь. А ты не знаешь
с разметкой я канеш обосрался.
пхп поддерживает сокеты, и есть библиотеки реализующие реал - тайм. Но конечно пхп для этого не особо удобен. Лучше пистон, или нода
ну, бля. создаешь modules.d.ts файл, там пишешь типа "declare global module "модуль наме"'.
Все, можешь импортить.
Если есть желание их типизировать, то в том же modules.d.ts пишешь типы
они там через одно место сделаны и их лучше не использовать на норм проэкте
>Так для других языков такие же условия.
Речь не про условия, а про то, что цель твоего приложения - это просто тащить ресурсы из базы и засовывать в html/json, то скорее всего там абсолютно похуй, насколько производительный фреймворк/язык ты будешь использовать и лучше уж выбрать тот, на котором писать удобнее, то есть опять пеникс вместо любого говна на ноде.
>Да и в принципе на том же расте можно реализовать хоть акторы, хоть CSP как в го и core.async кложи
Можно и в жсе дохуя чего "реализовать", только тогда ты как минимум получаешь на руки новую технологию, которую нужно тестировать и оптимизировать, а в эликсире уже есть за спиной 20 лет продакшен опыта эрланга.
Где пара миллионов? Всего 53к. Пара миллионов соединений (не запросов) есть в статье вроде как в блоге феникса, где его ни с чем не сравнивают.
>>48268
> Речь не про условия, а про то, что цель твоего приложения - это просто тащить ресурсы из базы и засовывать в html/json, то скорее всего там абсолютно похуй, насколько производительный фреймворк/язык ты будешь использовать
Согласен, дёрганье базы и отдача статики это не то, надо смотреть по количеству поддерживаемых открытых соединений, это эликсир и феникс могёт.
> и лучше уж выбрать тот, на котором писать удобнее, то есть опять пеникс вместо любого говна на ноде.
Ну вообще для вот этого самого дёрганья базы и отдачи статики писать очень удобно на каком-нибудь экспрессе. Да и сокеты удобно писать, но вот с производительностью слабовато, придется C++ либы типа uWebSocket юзать.
Через document.write('<table>') вывожу таблицу со стилями, оно всё в функции и в конце эта функция просто вызывается func()
Но при вызове функции этой таблицы повторно она без границ таблицы и без стилей
в чем может быть причина? в мейлруответах говорят а че не юзаешь get element и прочее говно, а я разбираться в этом ещё не хо4у и переписывать
Илиии кому не впадлу мне переделать задание на жаваскрипте с таблицами? Там должен муравей бегать от точки начальной до конечной (до стула), через манхэттонское расстояние.
Есть готовая формула математическая, есть даже рабочий пример на document.write
Но надо переделать через get element или как у вас эта хуйня называется, потому что document.write при переписывании почему-то сбрасываеt css стиль и границы таблицы
Я очень устал в этом копаться, не хочу ничего, получить диплом поскорее и свалить
Если кто готов помочь за спасибо отпишите вкшечкой там или почтой
>>Ребзи, что делать, в прогерстве не разбираюсь
>>очень устал в этом копаться, не хочу ничего, получить диплом поскорее и свалить
>>вышка программиста небось
Проиграв.
Но на самом деле не троллю. Программирование нужно любить. Лучше займись тем что по душе.
53к на одно соединение?
да не, среднее в шараге
думал когда шел хаха круто обучат прогерству
по факту старые методы, на всю шарагу 1 толковый препод со зрением -100
а самому уже не хочется совсем
>дёрганья базы и отдачи статики писать очень удобно на каком-нибудь экспрессе
Да хуй там, один раз попробуй Ecto.Query и о любой нодолибе для дерьганья базы будешь вспоминать как о страшном сне.
эликсиро-шизик,тебе руби треда мало?
Ну тебе говорят правильно, document.write вообще не нужен. Делай element.append, element.textContent, element.replaceChild. Думаю этого хватит. Чтобы почитать что делают методы - mdn, я с него скрин взял.
там можно вставлять стили? у меня просто с этим траблы, я тупенький
у меня типа таблица 6х6, там на 1 клетке муравей и при нажатии на кнопку муравей должен по таблице двигаться и все такое
Можно как-то это устроить? или пример как это бы выглядело?
то есть цикл с двумя условиями, где если координаты муравья не соответствуют ничего не показывать, а если совпали то выводить картинку муравья?
потому что я не понял как это связать с X Y координатами, у меня хуня какая-то
то есть у меня должно быть несколько chair на таблице, а рисует только первый из нескольких....
с ходу можно понять че тут? а то мне лень копировать код на сайты
Как создание нового объекта на основе другого может взять и сломать метод?
файлы обычно не загружаются в бд, туда записываются ссылки на файлы, файлы дергать с бд в сотню раз медленнее чем читать прямо с диска
https://www.typescriptlang.org/play/#code/C4TwDgpgBAggPAFQHxQLxQN4FgBQV9QBmAdgFxQAUAhgE4Dm5CAlGigG4D2AlgCa4C+uXKEhQAQohTpseAiXLV6jFqnbc+OQTlwBjDsQDOwKBwBGAK3LwjNLsTooAPuLjEArgFtTEGlMy4CIjJKWjoVFBlAwIB6aKhQqABaeOIQABooQF4QQAYQQBYQQD4QDMBxEEAhEHzARhBAaRAoKsBuEHyody8fKGcbOzoAqPwaCGA3GmIu-C1+IA
У тебя какой-то надмозг случился, или ты плохо объяснил суть задачи.
fn: (arg: string | number)
Я хочу, чтобы тайпскрипт сам понимал, что тип такой fn: (arg: string | number) на основе того, что я прокинул в дженерики A и B, а он считает, что fn: (arg: any). Надо, чтобы тс сам понимал это без задания типа для arg с моей стороны.
Тебе нужно саму функцию тогда делать дженериком
const funct = <T>(arg: T): T => arg;
Функция понятия не имеет, чему ты ее пытаешься присвоить и какого оно у тебя типа. Если она может быть всего двух типов - number или string, то так ее и описывай.
не ебу, чё у вас там в ангуляре происходит и могу ошибаться, но у тебя судя по всему тайпскриптовая ошибка
Сомневаюсь, что такое существует. Политика эпла очень просто: хочешь разрабатывать под эпл - делай это на железе от эпл. Они те еще жлобы. Айфоны/сафари это всегда боль и страдание. В свое время компания мне оплачивала браузерстак. Когда фрилансил просто одолживал айфон у знакомых нищебродов за небольшое вознаграждение (почему-то айфоны среди знакомых имеются только у бедных. я хз зачем они их покупают при их заработках).
Чтоб они в аду горели. Пилю видео плейер, везде всё нормально работает, но на блядском айфоне ивенты плейера вообще хз как триггерятся.
Поспрашивай знакомых, мб у кого есть дать погонять на денек.
Еще способ, но весьма сомнительный и можно провернуть всего пару раз - взять айфон в магазе, оттестировать что тебе нужно, а потом просто его вернуть.
xcode только на эпл-платформы. Если у человека есть эпл-машина, то у него в принципе не может возникнуть такая проблема.
Вообще, айфон-эмуляторы для PC если и существуют, то они не совсем легальные и никто такие разрабатывать от своего настоящего имени не станет, так как это напрямую нарушает условия эпл по разработке под их девайсы.
А не слишком ли ты наглый? Я тебе дал ссылку, смотри проверяй выбира. Или делай запрос "ios emulator" в гугл.
Я не тот анон, что изначально про это спрашивал. Но я серьезно сомневаюсь, что на PC есть рабочий эмулятор iOS.
>Но я серьезно сомневаюсь, что на PC есть рабочий эмулятор iOS.
Чё серьезно? А я вот сомневаюсь в твоей квалификации, и хотя бы мизерной объективности. Как же смешно, когда какие-то аноны, не соображающие в теме, выставляют свое мнение, как истину в последней инстанции.
Берешь Virtualbox и ставишь туда MacOS.
> А я вот сомневаюсь в твоей квалификации
И то верно. Мобайл для меня лишь как что-то вторичное, если не третичное. Не мой профиль.
Но вот ты сам назови рабочий эмулятор iOS на PC. забрасывать дженерал ссылками из гугла не надо - в свое время сам перелопатил пол интернета и обломался.
Я в свое время не нашел других решений, кроме как собственно раздобывать эпловское железо и трахаться с хакинтошами/виртуалками.
В случае ошибки диспатч экшон ошибки, затем в редюсере его обрабатывай(в стейте у тебя должен быть ключ, говорящий о том, была ли ошибка, типа hasError: true/false), ставь его значение в true, а в компоненте бери этот ключ из стора и обрабатывай ошибку, если его значение - true.
a/s/l?
Блядь, опять двач хуйню на маковском хроме откалывает. Кароч, с бэка прилетает туева хуча вариантов строк. Как их покороче и пооптимальнее размапить на разные реактовские компоненты, ключ-значение? И чтобы ТС не выебывался особо. Спасибо.
Массив строк.
Уже разобрался.
const someReactNativeSvgShit: { [key: string]: ReactElement } = {...}
Может кто-нибудь переделать эту срань под append и getelement и прочее, а не через document.write и перезагрузку всей страницы?
Красные клетки движутся на зеленые при нажатии на кнопку, которая прибавляет секунду, у каждого свой зеленый квадрат и когда достигают его квадрат становится синим.
На сайте нихуя не работает потому что перезагрузка страницы....
мимоптушник
окей я немного переделал
https://codepen.io/125125xfsd/pen/GRgrZQx
должно быть 5 зеленых клеток, а не 1
должно 5 красных клеток (изначально они друг в друге) бежать к зеленым клеткам (у каждого своя)
когда достигают клетка должна стать синей
и кнопка при которой на 1 секунду увеличивается время и клетки двигаются
из чего состоит кодЭ:
есть массив объектов если правильно говорю st:
xs ys - координаты зеленой клетки
xa ya - координаты красной клетки
curtime - когда клетка достигла другой клетки меняется на 1 и собственно меняется цвет
show:f - метод где все расчеты идут по манхэттонскому расстоянию
дальше функция createField, создает собственно поле
там цикл где проверяется например xs==i && ys==j, при совпадении закрашивает цвет
и есть там count который должен увеличиваться и сбрасываться при нажатии на перезапуск
при увеличивании там через функцию page() должно поле перерисовываться, считать show и выводить новое поле, где клетки уже сдвинулись вперед
проблемы:
1) в самом начале уже немного описано, что по 1 всего рисует вместо 5
2) count не понимаю как сделать чтобы при restart() сбрасывался и рисовал заново все их координаты начальные
3) не вырисовывает все 5 клеток
4) не становятся синими при достижении конечной точки
если ещё что-то непонятно объясню (хотя я сам этот код не понимаю)
хелп хелп хелп
окей я немного переделал
https://codepen.io/125125xfsd/pen/GRgrZQx
должно быть 5 зеленых клеток, а не 1
должно 5 красных клеток (изначально они друг в друге) бежать к зеленым клеткам (у каждого своя)
когда достигают клетка должна стать синей
и кнопка при которой на 1 секунду увеличивается время и клетки двигаются
из чего состоит кодЭ:
есть массив объектов если правильно говорю st:
xs ys - координаты зеленой клетки
xa ya - координаты красной клетки
curtime - когда клетка достигла другой клетки меняется на 1 и собственно меняется цвет
show:f - метод где все расчеты идут по манхэттонскому расстоянию
дальше функция createField, создает собственно поле
там цикл где проверяется например xs==i && ys==j, при совпадении закрашивает цвет
и есть там count который должен увеличиваться и сбрасываться при нажатии на перезапуск
при увеличивании там через функцию page() должно поле перерисовываться, считать show и выводить новое поле, где клетки уже сдвинулись вперед
проблемы:
1) в самом начале уже немного описано, что по 1 всего рисует вместо 5
2) count не понимаю как сделать чтобы при restart() сбрасывался и рисовал заново все их координаты начальные
3) не вырисовывает все 5 клеток
4) не становятся синими при достижении конечной точки
если ещё что-то непонятно объясню (хотя я сам этот код не понимаю)
хелп хелп хелп
Какой же ты дегенерат, просто пиздец. Потом такие еще на систему образования жалуются.
я не хочу трогать твой говнокод, просто скажи задачу. желательно прямо скрин\фотку раздачи, доски, или как там твои говнопреподы это передали
for (var i = 0, i <= 100, i++) {
if (i % 3) {
console.log('Fizz');
}
else if (i % 5) {
console.log ('Buzz');
}
else (i % 15) {
console.log('FizzBuzz')
}
}
Write a program that uses console.log to print all the numbers from 1 to 100,
with two exceptions. For numbers divisible by 3, print "Fizz" instead of the
number, and for numbers divisible by 5 (and not 3), print "Buzz" instead.
When you have that working, modify your program to print "FizzBuzz" for
numbers that are divisible by both 3 and 5 (and still print "Fizz" or "Buzz"
for numbers divisible by only one of those).
(This is actually an interview question that has been claimed to weed out
a significant percentage of programmer candidates. So if you solved it, your
labor market value just went up.)
Вот так ещё сделать пробовал
function Fuzzi () {
for (i = 0; i <= 100; i++); {
if (i % 3 ==0); {
console.log('Fizz');
}
else if (i % 5 ==0); {
console.log ('Buzz');
}
else if (i % 15 ==0); {
console.log('FizzBuzz');
}
}
}
Fuzzi();
Так тебе надо еще узнать нет ли у них общего делителя. А если вместо 3 и 5 будут два параметра? Сосать хуй будешь?
Меня как-то смущает, что придется все время хранить эти данные об ошибке, причем компонентов таких и ошибок еще много. И эту проверку я так понимаю тогда надо будет в componentdidupdate засунуть?
textomate.com и у них есть api.
https://textomate.com/res/Textomate_API.pdf документация
textomate.com/res/test.html их формочка для теста
Нужно написать ajax post запрос чтобы в результате выдавалось количество слов. Без редиректа страницы. Если кто-то сможет помочь - скину 1к на карточку и буду оч благодарен.
79995145982 - тлг
Обычно в стейте всегда есть два ключа для каждой сущности, isLoading и isError, это обычная практика. Хранишь ты их в сторе редакса. Тебе не нужен дидапдейт, просто берёшь этот ключ из редакс стора в контейнер-компоненте и в рендер методе работаешь с ним, как с обычным пропсом.
Извините, у меня иногда бывают такие припадки
Иными словами, по физбазу можно определить уровень сеньорности
Вот такой код вроде 100% правильный, но все равно выдает ошибку Uncaught Error
for (var i =1, i <=100, i++) {
if (i % 3 === 0 && i % 5 === 0) {
console.log('FizzBuzz');
}else if (i % 3 ==0) {
console.log('Fizz');
}else if (i % 5 ==0) {
console.log('Buzz');
}else () {
console.log(i)
}
}
Хуй знает кароч, с моей 15 все норм работает
for (var i=1; i <= 100; i++){
if (i % 15 == 0) {
console.log("FizzBuzz");
}
else if (i % 3 == 0) {
console.log("Fizz");
}
else if (i % 5 == 0) {
console.log("Buzz");
}
else {
console.log(i);
}
}
Ну вот тебе придётся переделывать. Т. е. код-реюз говно.
Блин, точно, думал что там как раз запятые нужны, спасибо.
Имел ввиду что нативно для ноды. Но я уже начал пердолинг с тысячей mime-типов.
И мне не понравилось.
Ты про структуры с моделью акторов? Потому-что недо-ООП в стиле плюсов в жиэсике есть уже и в своем прототипном и в классовом вариантах.
покормил жирнича
это вполне себе норм делается на ноде. хоть один аргумент, почему именно пхп?
для ООП пишите на ОПП-языках, ваш кэп. не надо мечтать, что у автобуса появятся гребные винты.
Объясните почему я не могу внести в test1 st через переменную или значение в html формочке
То есть если ввести нечто вроде st[0]['x'] вносится первый элемент спокойно в хранилище
Но если я хочу через цикл сделать внос или из формы то пизда рулю
Не эксперт, но может кавычки на х не нужны?
Чего, блять? Нормально покажи данные, код, ожидаемый результат и фактический
весь стейт формы - в JSON, JSON в локалсторадж
пиздос,я только вчера видел 7.9 было
И вот глава робот например, эта сука половину кода прячет. Нахуя? Зачем мне додумывать там что-то? Если решил такую здоровенную хуету писать для тех кто только стартует, уверен, нечитаемую, то хоть код весь предоставь. Нет блядь пол кода тупа нет.
Я сначала подумал может я даун, открыл ютуб по этой главе, там видос. И чел то же самое говорит.
Книга рили странная, до этого я там главы две читал, сейчас вот еще семь. Для вкатывалбщика - громоздкая, фрустрирующая, реально важные практические вещи практически не упоминающая . Для тех кто базу освоил - бесполезная.
Освежить знания после месяцев прокрастинации - видимо, ее единственное предназначение.
а где почитать про все возможности языка кроме их уебищного тутора на оф сайте где нихуя не понятно и примеры даны через жопу?
ишь ты, зумерок, бота захотел
Это MDN - Mozilla то уебищный ресурс?...
Ну я даже не знаю, насколько ты убогий зумерок-вкотунок.
Я видел, читал главу про this.
Там книга сразу с вызовом, для ПРОДВИНУТЫХ так сказать, так что там любой беспредел можно оправдать. mad coz bad все такое
Я к тому что подразумевается, что ты уже что-то знаешь о жс.
Так это языка стандарта, дейсвтительно, нахуй никому не нужОн
Ты просто еще не работал с проектами, в которых стопицот зависимостей от библиотек всех мастей и раскрасок, в том числе древнющие и самописанные
mdn (on)focus/(on)blur
как бы да,я могу эксперементировать и не бояться что все рухнет,переписать не сильно гемморойно
>>51037
Javascript - торговая марка Оракла. Кроме владения оной Оракл никаким боком с JS не связан. Поэтому вендоры и реализовывают стандарт ECMAScript, да бы не попасть на копирайтный троллинг (ведь Оракл может, уже знаем).
Официального туториала в принципе быть не может. Экма там что-то может и выпускать помимо собственно спецификации, но по факту кто угодно может клепать "официальные" туториалы.
MDN самый нормальный ресурс, если ты хоть что-то понимаешь в кодинге. Иначе выбирай любой мего туториал для начинающих в интернете, коих тысячи.
>Иначе выбирай любой мего туториал для начинающих в интернете, коих тысячи.
ты не совсем понял,мне нужно описание ВСЕХ возможностей жс,с кратким описанием и примером как это фурычит,а не то нечитабельное говно,которое выкатывает эксма фоундейн
https://en.wikipedia.org/wiki/JavaScript#Trademark
>>51111
тебя уже послали на mdn. там достаточно годный док, только на английском читай, потому-что русский док имеет большие пробелы. Если же тебя именно строгая спецификация языка написанная как собственно спецификация языка (а не для макак), то собственно то, что экма публикует это оно и есть. Бери или спецификацию экмы или доки мдн или жры що дають, падлюко.
Эти возможности доступны точку, оператор доступа который двачер.сычевать()
В мире JavaScript они владеют только названием. Ну и владеют они им абсолютно легитимно. Это название специально включало в себя Java, что бы подмазаться к набиравшей тогда обороты оной Java. Это была сделка Нэтскейпа с Саном.
Проблем с этим, собственно и нет. Во всех юридических документах просто пишут EcmaScript вместо JavaScript и этим любые копирайтные претензии исчерпываются.
Я работаю на redux/thunk/axios, можно даже назвать это уже легаси. Чувствую что не успеваю за трендами.
Нахуй нужны хуки, мне и классы очень норм. Пока вообще не понимаю, нахуя они нужны. Нужно ли переходить на mobx или забить хуй, пока не попадется проект с этим стеком?
Че по TS? Нужен ли он?
Как научиться тестировать, чтобы было чем блеснуть на собеседовании
Или этот тред для срача между возрастодипломошизиками?
> Нахуй нужны хуки, мне и классы очень норм. Пока вообще не понимаю, нахуя они нужны
Аналогично. На хуки фапают ФП-дрочеры. Но ФП нынче популярно.
> Нужно ли переходить на mobx или забить хуй
Мне мобикс нравится. Красиво и без ебли. Но в коммерческой разработке редакс и его приблуды все равно доминируют. Так что особой нужды нет.
> Че по TS? Нужен ли он?
Ну он который год стабильно вытесняет чистый JS. Даже многие либы и фреймворки переписывают на него. Я перешел, мне нравится.
> Как научиться тестировать, чтобы было чем блеснуть на собеседовании
А хз. Но обычно умение тестировать само по себе уже отличительный признак прошаренного разработчика, так как вкатывальщики обычно даже этого не умеют.
> Или этот тред для срача между возрастодипломошизиками?
Это тред для срача между возрастодипломошизиками.
Можно как-то переместить то что находится в 2 3 4 блоке, вниз на 7 8 9 блок? Кроме как размечать grid-area / grid-template-areas?
У каждого элемента указываешь в каком столбце и строке грида он должен находится и переносишь. Есть еще Gird.RowSpan для того чтобы элемент растягивался сразу на несколько столбцов/строк.
Грид это система будущего, станет использоваться везде после того как все браузеры научатся её поддерживать так же как флексы и флоаты.
В чём костыль? Костыль это когда ты добавляешь невидимый элемент для того чтобы у тебя другие элементы не схлопывались, а это вполне себе адекватный подход.
>grid-area / grid-template-areas
Это надо смотреть, я гридами только в XAML пользуюсь, когда пишу WPF приложения.
Ну ок. Мне субъективно это показалось что костыль.
Потому что он внутри канваса
как сохранять и уничтожать динамичный роутер без перезагрузки?
каждый раз когда прыгаю по роуту у него исполняется mounted(), а нужно сохранять содержимое роута и не вызывать каждый раз маунт
У вебпака есть параметр proxy, посмотрю в его сторону
Я понимаю, если бы ты думал между native и flutter, но нода и нейтив?! Определись сначала с тем, что хочешь. Можно купить, можно на эмуляторе, зависит от задач. Но чтобы вкатиться в нейтив, это вообще десятое дело.
К слову, как правильно деплоить проект с реактом на фронте и рест апишкой на беке.
Фронт запускаю через serve /dist, бек через node /dist. Висят они на разных портах соответственно.
Это неверно так делать?
Хорошая идея отдавать статику реакта с бека на любой запрос?
На самом деле я не до конца понимаю как это вообще работает.
Когда я пишу в ноде.жс выражения вида
then.(()=> Promise.all(asyncPromieses))
это JavaScript или EcmaScsript?
Только бутстрап немного использую
Старые скрипты не работают. Пишут, что-то изменилось в движке, а кому старые скрипты нужны, ставить Violentmonkey или Tampermonkey.
- Что именно поменялось, в двух словах? Почему $ в загруженной странице не виден?
- Если переходить, то на какой плагин, чтобы как раньше было, но при этом не заразиться?
Хочу вкатиться в JS с полного ноля. В активе есть только знание английского, очень общее и примерное понимание hmtl, css и их отношение к js.
Есть ли какие-то годные лекции для вот нулевых, может платные спизженные? Хотя платные не значит обязательно хорошие, это да. Так как знаю ангельский, то можно и на нем.
Если вы сами вкатывались недавно, и вам не лень поделиться историей успеха - что и как учил - то можете еще в тг написать @Sendmesome
Да, я пишу про лекции.
На самом деле не только они.
Любой формат знаний, который вам кажется наиболее оптимальным.
Спасибо.
Первая ссылка в гугле:
https://learn.javascript.ru/js
На самом деле там даже два учебника, новый и старый. Лучше в рунете нет.
успеха пока никакого у меня, но тебе надо двигать на https://learn.javascript.ru/ , это тебе все будут советовать
лучше вряд ли найдешь, там есть практика и теория, это если знаком с html и css хотяб чуть чуть.
После принятия стандарта языка ECMA и реализации этого стандарта вендорами, то можно считать, что это уже EcmaScript.
Да, там есть даже прям сильно пиздецовые задания иногда, их можешь дропать и переходить на другую тему.
бамп
потом как пройдешь обе части можешь вот это заценить
http://nnmclub.to/forum/viewtopic.php?t=1273331
Рассказывает все тоже самое что в документации (за исключением нескольких тем, которых по пальцам посчитать можно) на примере реальных проектов. Практику можешь сам придумать во время прохождения (написать тот или иной компонент сам, а потом пересмотреть видео).
бамп
А иногда вообще пишут Java script developer.
Css Modules?
Перекат https://2ch.hk/pr/res/1552228.html (М)
Перекат https://2ch.hk/pr/res/1552228.html (М)
Перекат https://2ch.hk/pr/res/1552228.html (М)
Перекат https://2ch.hk/pr/res/1552228.html (М)
>Нахуй нужны хуки, мне и классы очень норм.
Самый галвный плюс хуков в том, что можно реюзать логику стейта.
Кратко, быстро, реюзабельно, отвязано от жизненного цикла
Буржуи тоже пишут, что чет эта книга рисование совы напоминает. Вплоть до объектов там типа для новичков главы, галопом по европам через примитивы и базовые структуры данных, а потом ХУЯК - наследование, классы и прототипы, фи-коэффициент, матрицы, графы, ебать мой хуй. Нахуя новичку графы? С массивами бы разобраться.
Глава про робота вообще задвигает ЗАДАЧУ КОММИВОЯЖОРА новичку, слава богу хоть решить полностью не предлагают.
Таки да, для вкатывальщика лучше все-таки с Кантора начать, а продвинутому там делать уже нехуй.
Ты самую последнюю версию с сайта читал?
ECMAScript - Это спецификация
JavaScript - реализация этой спецификации. Язык называется JavaScript
Вы видите копию треда, сохраненную 30 января 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.