Стартую фронтенд
6708
150
pudgeRO сказал(а):↑тс, а какой у тебя план то?
Нажмите, чтобы раскрыть...Прямо детального плана у меня нет. Я сейчас делаю следующие вещи: прохожу курс с Udemi по js, читаю "выразительный джаваскрипт" +заглядываю во Флэнагана во время затупов.
Курс планирую закончить до июня, затем нужно будет делать проект, чтобы было что-нибудь в портфолио.
Из идей - сделать визуализатор сортировок.
Just_a_fire сказал(а):↑обосрался микрочелик, который ни разу не выкладывал код на этот сайт и не знает, что он обрезает квадратные скобки.
Кстати, я это исправил уже минут 15 назад.
Нажмите, чтобы раскрыть...красава, только что тестирует твой код?)то как быстро компилятор удалит не нужный код и будет просто проганять пустые циклы?)
sinkari сказал(а):↑Прямо детального плана у меня нет. Я сейчас делаю следующие вещи: прохожу курс с Udemi по js, читаю "выразительный джаваскрипт" +заглядываю во Флэнагана во время затупов.
Курс планирую закончить до июня, затем нужно будет делать проект, чтобы было что-нибудь в портфолио.
Из идей - сделать визуализатор сортировок.
Нажмите, чтобы раскрыть...а почему не посмотришь на вакансию джуна в своем городе и по ней не будешь? я хз че там на джуна надо
если по реакту то наверное верстку, джс ес6+, реакт, редух и понимать как работать с апи это все месяцев 3 максимум
pudgeRO сказал(а):↑красава, только что тестирует твой код?)то как быстро компилятор удалит не нужный код и будет просто проганять пустые циклы?)
а почему не посмотришь на вакансию джуна в своем городе и по ней не будешь? я хз че там на джуна надо
если по реакту то наверное верстку, джс ес6+, реакт, редух и понимать как работать с апи это все месяцев 3 максимумНажмите, чтобы раскрыть...А я так и сделал. Просто я же пока в универе на очном, не могу фулл-тайм работать, поэтому нужна компания, которая берет студентов на не полный день. А в такие места только через стажировку.
К тому, что ты написал еще требуют git + сборщики
sinkari сказал(а):↑А я так и сделал. Просто я же пока в универе на очном, не могу фулл-тайм работать, поэтому нужна компания, которая берет студентов на не полный день. А в такие места только через стажировку.
К тому, что ты написал еще требуют git + сборщики
Нажмите, чтобы раскрыть...да кста забыл про них ну гит и сборщики это еще пару недель
а в унике нет возможности за бабки закрывать? я в свое время пошел работать фул тайм а сесию за бабки закрывал
pudgeRO сказал(а):↑красава, только что тестирует твой код?)то как быстро компилятор удалит не нужный код и будет просто проганять пустые циклы?)
Нажмите, чтобы раскрыть...Что значит пустые циклы? Он создаёт два больших массива и последовательно заполняет каждый элемент значениями от 0 до n.
Пример был написан навскидку. Можно изменить условия.
let n = 1000000,
arr = Array(n).fill().map((_, $, arr) => ({value: ~~(Math.random() * arr.length), str: 'Fire'}))console.time('for test');
let maxValue = 0;for (let i = 0; i < n; ++i) { maxValue = Math.max(maxValue, arr[ i].value);}console.log('maxValue', maxValue);console.timeEnd('for test');console.time('foreach test');
maxValue = 0;arr.forEach(item => maxValue = Math.max(maxValue, item.value));console.log('maxValue', maxValue);console.timeEnd('foreach test');
Можешь сам написать пример, который считаешь приемлемым для теста.
Just_a_fire сказал(а):↑Что значит пустые циклы? Он создаёт два больших массива и последовательно заполняет каждый элемент значениями от 0 до n.
Пример был написан навскидку. Можно изменить условия.
let n = 1000000,
arr = Array(n).fill().map((_, $, arr) => ({value: ~~(Math.random() * arr.length), str: 'Fire'}))console.time('for test');
let maxValue = 0;for (let i = 0; i < n; ++i) { maxValue = Math.max(maxValue, arr[ i].value);}console.log('maxValue', maxValue);console.timeEnd('for test');console.time('foreach test');
maxValue = 0;arr.forEach(item => maxValue = Math.max(maxValue, item.value));console.log('maxValue', maxValue);console.timeEnd('foreach test');
Можешь сам написать пример, который считаешь приемлемым для теста.
Нажмите, чтобы раскрыть...в твоем первом примере со временем комплитор увидит что ты не используешь свои масивы а значит и запихивать в них ничего не будет а еще позднее так вообще циклы проганять не будет
в этом примере я хз т.к ты уже логируешь результатда и сама тема этих микротестов сложная
ну и офк фор быстрее фоичаsinkari сказал(а):↑Ты не правильно понял. Возможность скорее всего есть, у меня пока денег нет
Нажмите, чтобы раскрыть...так пойдешь работать будут деньги
pudgeRO сказал(а):↑в твоем первом примере со временем комплитор увидит что ты не используешь свои масивы а значит и запихивать в них ничего не будет а еще позднее так вообще циклы проганять не будет
в этом примере я хз т.к ты уже логируешь результатда и сама тема этих микротестов сложная
ну и офк фор быстрее фоича
так пойдешь работать будут деньги
Нажмите, чтобы раскрыть...Я потом еще хочу в магу залететь
pudgeRO сказал(а):↑в твоем первом примере со временем комплитор увидит что ты не используешь свои масивы а значит и запихивать в них ничего не будет а еще позднее так вообще циклы проганять не будет
Нажмите, чтобы раскрыть...Ещё раз... что значит не использую? Ладно, я ещё раз очень подробно объясню.
// инициализация двух массивов размером n и заполнение их нулями
let n = 10000000,
arrFor = Array(n).fill(0), arrForeach = Array(n).fill(0);// в каждой итерации цикла for элементу первого массива с индексом i присваивается значение i
for (let i = 0; i < n; ++i) { arrFor[ i] = i;}// здесь тоже самое со вторым массивом, но через метод forEach()
arrForeach.forEach((item, i) => item = i);
Так с какой стати циклы прогоняться не будут?
pudgeRO сказал(а):↑в этом примере я хз т.к ты уже логируешь результат
да и сама тема этих микротестов сложная
Нажмите, чтобы раскрыть...Уже просил тебя привести свой пример.
Да и в чём сложность провести подобные тесты с кодом реальной задачи и выявить более эффективный способ?
pudgeRO сказал(а):↑ну и офк фор быстрее фоича
Нажмите, чтобы раскрыть...Откуда ты это знаешь без тестов или же уже прогнал мой код в консоли?
StreLa1st сказал(а):↑Гугли "Владилен Минин".
У меня есть слитый курс "Senior" (почти 100 уроков) за 9900 рублей (без скидки 14990).
Могу скинуть бесплатно, если будет нужно.
Нажмите, чтобы раскрыть...видел такой курс на торрентах. Сомневаюсь в эффективности, так как автор, насколько я знаю, занимается обучением, а не разработкой. Возможно я не прав, но он мне напоминает бизнес-тренеров.
sinkari сказал(а):↑видел такой курс на торрентах. Сомневаюсь в эффективности, так как автор, насколько я знаю, занимается обучением, а не разработкой. Возможно я не прав, но он мне напоминает бизнес-тренеров.
Нажмите, чтобы раскрыть...
сколько времени уделяшь в день (из-за учёбки)?
я сам юзаю ща курс (ток не этот), но блин, хызы, мотивация то есть то нет, шаришь как это пофиксить? в смысле мне интересно, но это так, в день после 2-3 часов интерес пропадает, бывает после 4-5 и тупо через силу слушаю инфу и пытаюся чё то на Git\VS code варганить, начал чуть меньше месяца назад и вот столкнулся с банальной, не знаю, ленью что ли, у тебя такого не было?=)
FROZENRB сказал(а):↑
сколько времени уделяшь в день (из-за учёбки)?
я сам юзаю ща курс (ток не этот), но блин, хызы, мотивация то есть то нет, шаришь как это пофиксить? в смысле мне интересно, но это так, в день после 2-3 часов интерес пропадает, бывает после 4-5 и тупо через силу слушаю инфу и пытаюся чё то на Git\VS code варганить, начал чуть меньше месяца назад и вот столкнулся с банальной, не знаю, ленью что ли, у тебя такого не было?=)
Нажмите, чтобы раскрыть...Конечно было. Мотивирую себя тем, что буду зарабатывать Оч. хочу машину купить
По времени - не считал, так как в течение дня меня дергают то туда, то сюда. Ну, если прикинуть, выходит часа 3-4.
Just_a_fire сказал(а):↑Ещё раз... что значит не использую? Ладно, я ещё раз очень подробно объясню.
// инициализация двух массивов размером n и заполнение их нулями
let n = 10000000,
arrFor = Array(n).fill(0), arrForeach = Array(n).fill(0);// в каждой итерации цикла for элементу первого массива с индексом i присваивается значение i
for (let i = 0; i < n; ++i) { arrFor[ i] = i;}// здесь тоже самое со вторым массивом, но через метод forEach()
arrForeach.forEach((item, i) => item = i);
Так с какой стати циклы прогоняться не будут?
Уже просил тебя привести свой пример.
Да и в чём сложность провести подобные тесты с кодом реальной задачи и выявить более эффективный способ?
Откуда ты это знаешь без тестов или же уже прогнал мой код в консоли?
Нажмите, чтобы раскрыть...после фоича ты не используешь ни аррфор ни аррфорич оптимизируищий компилятор это увидит и поймет что в циклах мертвый код который делает целое ничего ведь после циклов ты их не используешь а потом поймет что и циклы можно не гонять ведь в них ничего не происходит
сложность в том что нужно понимать что компилятор опитимизирует и какой кусок кода просто выбросит
потому что фоич в себе использует фор? ну или вайл в зависимости от движка
и просто интересно какой у тебя опыт в програмировании? ну кем работаешь и сколько времени
pudgeRO сказал(а):↑после фоича ты не используешь ни аррфор ни аррфорич оптимизируищий компилятор это увидит и поймет что в циклах мертвый код который делает целое ничего ведь после циклов ты их не используешь а потом поймет что и циклы можно не гонять ведь в них ничего не происходит
сложность в том что нужно понимать что компилятор опитимизирует и какой кусок кода просто выбросит
потому что фоич в себе использует фор? ну или вайл в зависимости от движка
Нажмите, чтобы раскрыть...Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3.
Я специально для тебя ещё допишу код
let n = 10000000,
arrFor = Array(n).fill(0), arrForeach = Array(n).fill(0);console.time('for test');
let numFor = 0;
for (let i = 0; i < n; ++i) { arrFor[ i] = i;if (i%2) numFor += arrFor[ i ]; else numFor -= arrFor [ i ];}
console.log(numFor); // эти строчки можно убрать, но скорость выполнения теста не изменитсяconsole.timeEnd('for test');
console.time('foreach test');
let numForeach = 0;
arrForeach.forEach((item, i) => {item = i;
if (i%2) numForeach += item; else numForeach -= item;
});
console.log(numForeach); // хотя все переменные "перестанут" использоваться
console.timeEnd('foreach test');
Циклы гоняются в любом случае с одинаковой скоростью, хотя мы можем даже не выводить в консоль numFor, numForeach
Мы также можем увеличить или уменьшить n, и скорость выполнения тестов увеличится и уменьшится соответственно. Что опять же свидетельствует о том, что циклы прогоняются.
Кстати, вопрос к тебе. Если цикл for быстрее, то почему при n = 100000 у меня цикл foreach выполняется быстрее (1.80 ms), чем цикл for (2.21 ms).
Вот ещё тебе пример синтетического теста, в котором тоже "мёртвый код". И подобных тестов немало. Их написавшие тоже не понимают, что этот код вообще не должен выполняться?
pudgeRO сказал(а):↑и просто интересно какой у тебя опыт в програмировании? ну кем работаешь и сколько времени
Нажмите, чтобы раскрыть...Работаю программистом уже больше 6 лет. И что-то мне подсказывает, что у тебя опыта в программировании будет меньше. И ты до сих пор не привёл примера кода, который по-твоему будет справедливо тестировать эти циклы.
Just_a_fire сказал(а):↑Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3.
Я специально для тебя ещё допишу код
let n = 10000000,
arrFor = Array(n).fill(0), arrForeach = Array(n).fill(0);console.time('for test');
let numFor = 0;
for (let i = 0; i < n; ++i) { arrFor[ i] = i; if (i%2) numFor += arrFor[ i ]; else numFor -= arrFor [ i ];}console.log(numFor); // эти строчки можно убрать, но скорость выполнения теста не изменитсяconsole.timeEnd('for test');
console.time('foreach test');
let numForeach = 0;
arrForeach.forEach((item, i) => {item = i;
if (i%2) numForeach += item; else numForeach -= item;
});
console.log(numForeach); // хотя все переменные "перестанут" использоваться
console.timeEnd('foreach test');
Циклы гоняются в любом случае с одинаковой скоростью, хотя мы можем даже не выводить в консоль numFor, numForeach
Мы также можем увеличить или уменьшить n, и скорость выполнения тестов увеличится и уменьшится соответственно. Что опять же свидетельствует о том, что циклы прогоняются.
Кстати, вопрос к тебе. Если цикл for быстрее, то почему при n = 100000 у меня цикл foreach выполняется быстрее (1.80 ms), чем цикл for (2.21 ms).
Вот ещё тебе пример синтетического теста, в котором тоже "мёртвый код". И подобных тестов немало. Их написавшие тоже не понимают, что этот код вообще не должен выполняться?
Работаю программистом уже больше 6 лет. И что-то мне подсказывает, что у тебя опыта в программировании будет меньше. И ты до сих пор не привёл примера кода, который по-твоему будет справедливо тестировать эти циклы.
Нажмите, чтобы раскрыть...а каким именно програмистом если не секрет?
с этого я вообще кекнул "Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3."
ты хоть в курсе как код джс исполняется? комплитися ли он? или интерпретируется?
Just_a_fire сказал(а):↑Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3.
Я специально для тебя ещё допишу код
let n = 10000000,
arrFor = Array(n).fill(0), arrForeach = Array(n).fill(0);console.time('for test');
let numFor = 0;
for (let i = 0; i < n; ++i) { arrFor[ i] = i; if (i%2) numFor += arrFor[ i ]; else numFor -= arrFor [ i ];}console.log(numFor); // эти строчки можно убрать, но скорость выполнения теста не изменитсяconsole.timeEnd('for test');
console.time('foreach test');
let numForeach = 0;
arrForeach.forEach((item, i) => {item = i;
if (i%2) numForeach += item; else numForeach -= item;
});
console.log(numForeach); // хотя все переменные "перестанут" использоваться
console.timeEnd('foreach test');
Циклы гоняются в любом случае с одинаковой скоростью, хотя мы можем даже не выводить в консоль numFor, numForeach
Мы также можем увеличить или уменьшить n, и скорость выполнения тестов увеличится и уменьшится соответственно. Что опять же свидетельствует о том, что циклы прогоняются.
Кстати, вопрос к тебе. Если цикл for быстрее, то почему при n = 100000 у меня цикл foreach выполняется быстрее (1.80 ms), чем цикл for (2.21 ms).
Вот ещё тебе пример синтетического теста, в котором тоже "мёртвый код". И подобных тестов немало. Их написавшие тоже не понимают, что этот код вообще не должен выполняться?
Работаю программистом уже больше 6 лет. И что-то мне подсказывает, что у тебя опыта в программировании будет меньше. И ты до сих пор не привёл примера кода, который по-твоему будет справедливо тестировать эти циклы.
Нажмите, чтобы раскрыть...ладно ща покажу прикол
запускаем первый раз при n = 100000;первый раз https://prnt.sc/slabfm фор медленее ОГО ОКАЗЫВАЕЦА ФОР ТО МЕДЛЕНЕЕ ПОЙДУ ДОКАЗЫВТАЬ НА ФОРУМАХ
ну давай запустим второй раз https://prnt.sc/slabtc
ой а что теперь фор быстрее почти в 5 раз хотя код не меняли???? как это??? как???
ну давай запустим в третий раз https://prnt.sc/slad80
фор на 1 мс быстрее
хз прикольные тесты)
pudgeRO сказал(а):↑а каким именно програмистом если не секрет?
Нажмите, чтобы раскрыть...Легко догадаться по моим постам, что один из моих навыков - это JS.
pudgeRO сказал(а):↑с этого я вообще кекнул "Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3."
Нажмите, чтобы раскрыть...Отличный аргумент
pudgeRO сказал(а):↑ты хоть в курсе как код джс исполняется? комплитися ли он? или интерпретируется?
Нажмите, чтобы раскрыть...Во все подробности не вдавался, но движок (к примеру V8) делает некоторые оптимизации и преобразовывает код в машинный. Но как тот же GCC он "не свирепствует".
И я тебе уже не раз это продемонстрировал.
Just_a_fire сказал(а):↑Легко догадаться по моим постам, что один из моих навыков - это JS.
Отличный аргумент
Во все подробности не вдавался, но движок (к примеру V8) делает некоторые оптимизации и преобразовывает код в машинный. Но как тот же GCC он "не свирепствует".
И я тебе уже не раз это продемонстрировал.
Нажмите, чтобы раскрыть...обьяснишь почему 3 раза он дал разные результаты?)
хочешь подскажу?дал разные результаты потому что так тестировать это нужно быть дауном)
pudgeRO сказал(а):↑ладно ща покажу прикол
запускаем первый раз при n = 100000;первый раз https://prnt.sc/slabfm фор медленее ОГО ОКАЗЫВАЕЦА ФОР ТО МЕДЛЕНЕЕ ПОЙДУ ДОКАЗЫВТАЬ НА ФОРУМАХ
ну давай запустим второй раз https://prnt.sc/slabtc
ой а что теперь фор быстрее почти в 5 раз хотя код не меняли???? как это??? как???
ну давай запустим в третий раз https://prnt.sc/slad80
фор на 1 мс быстрее
Нажмите, чтобы раскрыть...Результаты могут разниться, но я сейчас выполнял их много раз на двух машинах, причём на ПК результаты разнятся, а на Маке foreach всегда быстрее
pudgeRO сказал(а):↑хз прикольные тесты)Нажмите, чтобы раскрыть...Конечно прикольные, ведь своих тестов ты так и не предоставил.
pudgeRO сказал(а):↑обьяснишь почему 3 раза он дал разные результаты?)
хочешь подскажу?дал разные результаты потому что так тестировать это нужно быть дауном)Нажмите, чтобы раскрыть...Даун как раз делает выводы на основании лишь 3-х тестов. А прогонять их нужно много раз.
pudgeRO сказал(а):↑а каким именно програмистом если не секрет?
с этого я вообще кекнул "Какой ещё оптимизирующий компилятор? Это тебе не GCC C++ с флагами оптимизации -O2 -O3."
ты хоть в курсе как код джс исполняется? комплитися ли он? или интерпретируется?
ладно ща покажу прикол
запускаем первый раз при n = 100000;первый раз https://prnt.sc/slabfm фор медленее ОГО ОКАЗЫВАЕЦА ФОР ТО МЕДЛЕНЕЕ ПОЙДУ ДОКАЗЫВТАЬ НА ФОРУМАХ
ну давай запустим второй раз https://prnt.sc/slabtc
ой а что теперь фор быстрее почти в 5 раз хотя код не меняли???? как это??? как???
ну давай запустим в третий раз https://prnt.sc/slad80
фор на 1 мс быстрее
хз прикольные тесты)Нажмите, чтобы раскрыть...Ух щас бы бенчмарки в ms
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:1
Просмотров:1
-
Сообщений:5
Просмотров:6
-
ippo_888578 25 Apr 2024 в 15:06Сообщений: 2 25 Apr 2024 в 15:06
Сообщений:2
Просмотров:4
-
ДауныНаВольво 25 Apr 2024 в 14:58Сообщений: 2 25 Apr 2024 в 14:58
Сообщений:2
Просмотров:3
-
limezs96 25 Apr 2024 в 14:24Сообщений: 5 25 Apr 2024 в 14:24
Сообщений:5
Просмотров:6