Тёмный
No video :(

Кто написал? Джун или мидл? 

WebDev с нуля. Канал Алекса Лущенко
Просмотров 14 тыс.
50% 1

Ссылка на статью: itgid.info/art...
Курс JavaScript 2.0: itgid.info/cou...
Курс HTML для начинающих: itgid.info/cou...
Другие курсы: itgid.info/course

Опубликовано:

 

26 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 109   
@OnlyLuck1000
@OnlyLuck1000 4 года назад
Никогда не думал, что со мной это произойдет, но смотрю видео Александа, не для обучения, а в свободное время, как просто что-то интересное) PS: Контент с задачками по JS и вариантами их решения очень зашел.
@romankopylov5013
@romankopylov5013 4 года назад
Сам Java разработчик, но иногда посматриваю вот такие интересные и познавательные видосики по JS.
@Idontknow-xo7ou
@Idontknow-xo7ou 4 года назад
В первом решении на массивы понял только то, что делают filter и length
@robert33232
@robert33232 3 года назад
Первое решение первой задачи на скале было таким (проверил, компилится) (0 to 100).filter(_ % 3 == 0).length На остальные вещи из жс лучше не тратить время имхо (А вообще решение такое: 100 / 3 + 1 :-) )
@AOne1999
@AOne1999 4 года назад
Не по звону колокольчика, А по зову сердца😏
@user-kr3gj2eb9q
@user-kr3gj2eb9q 4 года назад
Огромное спасибо за видео. От Вас много хорошего и полезного узнал и продолжаю узнавать. к первой задаче можно добавить одно действие и улучшить баланс сохранив читаемость: let count = 0; for (let i = 0; i
@Ams-sv5bf
@Ams-sv5bf 4 года назад
let count = 0; for (let i = 0; i
@user-tr9sf3uj8g
@user-tr9sf3uj8g 4 года назад
Первая задача вообще решается вот таким элегантным способом в 1 команду: return Math.ceil(100 / 3). Так зачем изобретать велосипед?)
@Oleg87arh
@Oleg87arh 4 года назад
100/3 +1
@---vy1zd
@---vy1zd 3 года назад
Вот ещё варианты: 1+100/3|0 1+100/3>>0 1+~~(100/3)
@kabukijoe99
@kabukijoe99 4 года назад
Блин так я МИДЛ!!! Спасибо за видео :)
@MrFreeedman
@MrFreeedman 4 года назад
в задаче найти числа кратные 3, а мы ищем количество чисел кратное 3. Отличная постановка задачи, или я чего-то не понял )
@itgid
@itgid 4 года назад
наверно. Нужно найти количество.
@evilevil1619
@evilevil1619 3 года назад
@@itgid у вас не указано, что количество. Я тоже думала, что надо найти все числа, а не их количество
@dj_yamato
@dj_yamato Год назад
прикольный трюс замены с помощью массивов. спасибо
@videoCxema
@videoCxema 4 года назад
Я за второй вариант, потому что сразу и без напряга серого вещества понял что он делает. ПыСы: я всегда рад нововведениям, но для меня главное чтобы код был понятен всем - джунам-мидлам-помидорам
@7241984ify
@7241984ify 4 года назад
Хороший разбор, побольше таких видео...с помощью таких обсуждений узнаешь важные нюансы: обмен значений переменных, как по феншую, а как нет...спасибо
@admenmod
@admenmod 4 года назад
В первой задаче точно требуется найти количество чисел кратных 3. Может всё-таки найти все числа кратные 3? ))
@Alexey-N
@Alexey-N 3 года назад
for (let i = Math.min(a, b); i
@AlexanderOsnovnoi
@AlexanderOsnovnoi 2 года назад
Первую задачу легко решить через fill+reduce, если речь идёт именно о количестве чисел, кратных трем
@user-sp1xf3ls9k
@user-sp1xf3ls9k 4 года назад
Насколько эффективным является такое решение для обмена значений?) if (a < b) { a = a + b; b = a - b; a = a - b; } Или лучше пользоваться решением [a, b] = [b, a] ?
@dimeliora
@dimeliora 4 года назад
Вполне как вариант, особенно если требуется обойтись без посторонней переменной. Можно подобным образом еще сделать посредством оператора ^ (XOR).
@---vy1zd
@---vy1zd 3 года назад
ваше решение более эффективно по памяти, но менее эффективно объему вычислений, а решение с массивами по идее наоборот, плюс более универсальное в плане того что при большем количестве переменных оно будет всё так же элегантно записываться.
@xmaksym6391
@xmaksym6391 3 года назад
Читабельность понятие субъективное. Если отбросить задачу сгенерировать масив, то вариант с filter будет выглядеть красиве чем с for - if.
@robert33232
@robert33232 3 года назад
На скале (проверил, все компилится) Если четко следовать условию первой))) def f1() = 34 Если x вместо 100 в первой def f1(x: Int) = x / 3 + 1 Либо же, если ракетой по мухе def f1(x: Int) = (0 to x).filter(_ % 3 == 0).length Вторая def f2(x: Int, y: Int) = (List(x, y).sorted match { case List(a, b) => a to b }).mkString(" ") Можно ли вторую также лаконично на жс написать?
@DagestanShop
@DagestanShop 4 года назад
интересно было бы рассмотреть задачку-написать инпут маску телефонного номера (на чистом джс без доп бибилиотек)
@user-pd4gx7bs2k
@user-pd4gx7bs2k 4 года назад
спасибо что снимаете видио, лучший учитель !!!!
@FLCL-fan
@FLCL-fan Год назад
В первой задаче можно итератор по 3 прибавлять - самое простое и читабельное решение - мнение как любителя.
@olnimus
@olnimus 4 года назад
А есть ли сборник с такими примерами джуна vs мидла. Или канал какой?
@user-qu5xj4no5q
@user-qu5xj4no5q 4 года назад
честно не js разработчик, больше php. Только все больше приходится погружаться в frontend. в первой задаче вопрос: по вашему решению 0 тоже делится на 3, или ответ все-таки 33? Решение один: let count = 0; for (let i = 0; i < 100; i+=3) { count++; } Второй вариант, ведь нам нужно количество чисел. а не сами числа, поэтому зачем обходить по массиву? count = Math.Floor(100/3); или сокращенно ~~(100/3); это если 0 не считать за решение, но +1 добавить не проблема.
@evilevil1619
@evilevil1619 3 года назад
0 делится на любое число, на 0 ничего не делится
@user-uk4zm6iz1m
@user-uk4zm6iz1m Год назад
Пайтон/скала розраби такі: [0: 100: 3] Ну ладно мені так подобається: Array(34).map((_, i) => i * 3) Але границя не очевидна зато очевидна кількість. А можливо компілятор навіть сам це переведе в цикл.
@user-lo9pu9vd8p
@user-lo9pu9vd8p 4 года назад
В первой задаче идея с последним делимым интересная. Интересное видео. Лайк.
@user-dk2cn2hz7n
@user-dk2cn2hz7n 4 года назад
Судя по видео, курсы Александра готовят сразу мидл девелоперов. 😀
@VasulKa22
@VasulKa22 3 года назад
Александр я джун и я так бы не написал )))) природная лень не даст мне возможности так заумно писать )
@curemoonlight4509
@curemoonlight4509 3 года назад
Здравствуйте. Существуют ли способы научиться программировать? Уточню вопрос. Я уже учу Js и React. Если с манипуляциями DOM более менее понятно что да как. То вот подобные математические задачи у меня вызывают дикие проблемы. И чет страшновато данное непонимание. Ибо грустновато будет если из за плохой математической базы не получится хотя б в вебдев влиться.
@dimitriy1861
@dimitriy1861 4 года назад
А почему не сделать for (let i=3: i
@user-wo8wd9kr1b
@user-wo8wd9kr1b 4 года назад
i+=3
@user-qu5xj4no5q
@user-qu5xj4no5q 4 года назад
написал свой коммент, потом ваш прочитал )
@ivanovserg8795
@ivanovserg8795 3 года назад
Да, только начинаем не с 3, а с нуля, так как 0 тоже делится на 3
@GreenHappyHelix
@GreenHappyHelix 4 года назад
Есть еще миддлы-извращенцы - они на каждый чих создают функции и методы, по названию которых можно понять, что в них происходит, но при этом само тело функции с элементами садомазо. Комменты для новичков, в принципе по названию переменных и функций всё ясно: // функция для создания массива нужной длины с нужным шагом function newArr(l = 100, count = 1) { return Array.from( {length: l+1}, (el, id)=>id*count) } // метод массива для краткой записи фильтра. конечно же не обойтись без строки через eval! Array.prototype.fltr = function (func) { return this.filter(i => eval(func)) } // можем быстро находить кол-во элементов, подходящих для различных условий console.log( newArr().fltr('i%3 === 0').length ) console.log( newArr(1000, 5).fltr('i%20 === 0').length ) console.log( newArr().fltr('i * i < arr.length').length ) ссылка на фиддл: jsfiddle. net/ 56o1j09s/
@user-tj7bt6bi5k
@user-tj7bt6bi5k 3 года назад
То чувство когда не знаешь JS а просто немного знаешь другие языки и придумал в голове ответ Милла...
@user-qz8wu6bh2t
@user-qz8wu6bh2t 4 года назад
Да, кстати, заметил в последнее время, что джуны пишут максимально обфусцированный код , слепляя в одну большую кучу непонятно чего
@user-hm7kd1is2q
@user-hm7kd1is2q 2 года назад
В первой задаче во втором примере, еще экономится память, не создается массив.
@q1dsdsdsq2dssdsd95
@q1dsdsdsq2dssdsd95 4 года назад
new Array(100).fill().map((_, idx) => idx + 1)
@mishan9199
@mishan9199 4 года назад
Очень классное видео, спасибо
@povertyinside4733
@povertyinside4733 2 года назад
let count = 0; for (let i = 0; i < 100; i++) { if (i % 3 !== 0) { continue } count += 1 //считаем сколько чисел console.log(i); //все числа кратные 3 } console.log(count); норм?(не смотрел видос)
@DK-fg8sl
@DK-fg8sl 4 года назад
Кто нибудь объяснит, как эта запись работает [a,b] = [b,a] в таких скобках обычно массивы видел.
@TDmitry412
@TDmitry412 4 года назад
Это похоже на кортежи.
@denisbielishev
@denisbielishev 4 года назад
Почитай про деструкторизацию
@brainiak
@brainiak 4 года назад
Элементарно мы создаем масивы и переприсваиваем одному значения из второго, типа а=б только [а] = [б]
@DK-fg8sl
@DK-fg8sl 4 года назад
@@denisbielishev Спасибо!!! Полезно направил, долго искал какую тему изучать по этому вопросу!
@stanislav1125
@stanislav1125 4 года назад
Вы описали почему a лучше b (хотя очень кратко, есть целые книги и не одна на эту тему), но вы не обьяснили для чего тогда b. П.С. a. читаемость кода b. новые конструкции языка И эта тема настолько ничтожно мало касаема в этом видео, что помимо этого видео (если уже так хотелось затронуть эту тему) в конце лучше список книг сказать (например для начала Чистый код подойдет).
@user-lo9pu9vd8p
@user-lo9pu9vd8p 4 года назад
В первой задаче решение через цикл(понравилось).Вторая задача - прямой обмен(понравилось) честно говоря, не знал что так можно, делал бы через доп. переменную.
@vitaliytrots8985
@vitaliytrots8985 3 года назад
Есть решение без дополнительной переменной. Чисто математическая задачка. let a = 3; let b = 5; a = a + b; // 8 b = a - b; // 3 a = a - b; // 5
@Nikita-hr6ss
@Nikita-hr6ss 4 года назад
Так из условия нам нужно найти числа, а не найти количество этих чисел. И никакой счетчик не нужен. Выводить просто в самом цикле эти числа или пушить в пустой(изначально) массив нужные значения. К слову, я бы при решении такой задачи создал бы отдельную функцию, которая бы принимала в себя значения от, до и число, кратное которому нужно найти числа и возвращала бы эта функция массив с нужными значениями. Но опять-таки исходя из практической точки зрения, если такая универсальность вообще нужна. Если нет, то можно указать ещё параметры по умолчанию, которые будут работать при обычном вызове или вовсе убрать параметры и сделать уже по статическим цифрами и тогда назвать функцию соответствующим образом.
@itgid
@itgid 4 года назад
JS 1love нужно количество найти
@user-he8io9tr8m
@user-he8io9tr8m 4 года назад
Алекс, спасибо Вам за ваши уроки. Все забываю спросить, а как в VS Code продублировать строку? Вижу вы это часто делаете, какое сочетание клавиш?
@user-lv4lx1wk9g
@user-lv4lx1wk9g 4 года назад
Alt+Shift+Стрелочка вниз
@Bxz56Rvp8
@Bxz56Rvp8 4 года назад
Ctrl + D
@user-he8io9tr8m
@user-he8io9tr8m 4 года назад
@@user-lv4lx1wk9g спасибо огроменное! ))
@Den4eg37
@Den4eg37 4 года назад
Можно ctrl+L выбрать целую строку,дальше по желанию ))
@Den4eg37
@Den4eg37 4 года назад
@@Bxz56Rvp8 ctrl+D выберет слово внутри которого курсор
@brainiak
@brainiak 4 года назад
Я точно немогу сказать к какой категории я отношусь, может джун а может мидл, пишу только для себя, никогда не работал програмистом, знаю С++, С, ПХП, Джаву, Джаваскрипт, немного ХТМЛ и ЦСС, в основном сайты пишу на ПХП, много где использую ДЖеквери, могу сказать только одно, всегда решаю задачу как можно развернутей, а уж после довожу до идеала и максимально оптимизирую, и терпеть не могу обфусцировпнный код, люблю чтоб когда через год, два сиотришь на код было так как будто инструкцию читаешь, так же стараюсь по максимуму все коментировать, опять же когда через время возвращаешься к своему коду то все предельно понятно и знакомо.
@mainsport7851
@mainsport7851 4 года назад
Классный ролик.
@MrErl
@MrErl 4 года назад
console.log(Math.floor(100/3+1));
@Idontknow-xo7ou
@Idontknow-xo7ou 4 года назад
Смысл задачи не сделать математический пример, а найти красные числа!!!!
@MrErl
@MrErl 4 года назад
@@Idontknow-xo7ou автор делал вывод количество чисел которые делятся на 3, а не те цифры которые делятся на 3
@user-ji6df1ei2c
@user-ji6df1ei2c 4 года назад
А если без +1 то можно округлять в большую сторону и всё) Math.ceil(100/3); Я не программист, но просматриваю иногда видео, что то могу, но не представляю , что делают и как работают программисты. Одно дело задачки, тут всё ясно и понятно, а другое дело в реальной работе посмотреть. Эта неизвестность и пугает.
@antiga1000
@antiga1000 2 года назад
@@user-ji6df1ei2c Math.ceil(99/3) = 33 , а нам нужно получить 34. Тут Math.floor + 1 надо применять
@user-ji6df1ei2c
@user-ji6df1ei2c 4 года назад
Math.ceil(100/3); Вместо 100 любую переменную и будет искомое количество.
@DagestanShop
@DagestanShop 4 года назад
7:41 , в задании же вроде надо вывести все числа (то есть массив), не ?
@странствие
@странствие 4 года назад
Каким образом вторая задача решается в одну строку?
@itgid
@itgid 4 года назад
:)
@странствие
@странствие 4 года назад
@@itgid ну минификация не в счет
@user-qz8wu6bh2t
@user-qz8wu6bh2t 4 года назад
@@странствие Вот так можно const x = (()=>{for(let arr = {out:"",sort:[+document.querySelector(".t91").value, +document.querySelector(".t92").value].sort((( a, b ) => a - b))};arr.sort[0]
@robert33232
@robert33232 3 года назад
def f2(x: Int, y: Int) = (List(x, y).sorted match { case List(a, b) => a to b }).mkString(" ") Можно в одну строку написать. Но это скала
@romankopylov5013
@romankopylov5013 4 года назад
Современный программист в первую очередь должен писать код для других программистов (поддерживаемось/расширяемость), а уже потом для машины!
@cumar8585
@cumar8585 4 года назад
Зачем на собеседованиях спрашивают как обменять значение двух переменных не используя дополнительную переменную)))
@Victor90056
@Victor90056 4 года назад
Потому что больше нечего спросить. Это имеет смысл в системном коде, но в JS экономить одну переменную непонятно для чего- смысла нет.
@sampeckjowerfell2515
@sampeckjowerfell2515 4 года назад
Вообще не понимаю прикола решения математических задач. Как это относится к реальным навыкам? Зачем это нужно?
@itgid
@itgid 4 года назад
я тоже, но факт - их очень любят в вузах и на дурацких собеседованиях.
@alexpipin3693
@alexpipin3693 4 года назад
для мышления, програмирование это ебеший слой абстракциий и тот лучший кто умеет этот слой делать больше, а в реале может пригодится для работы с потоком данных
@k0dzer0
@k0dzer0 4 года назад
Объясняю, заказчик просит предположим не трогать логику бекенда на PHP, хотя задача чисто бекендовая. Не важно почему так, но приходится в таких случаях выруливать JS фронтендом с разработкой алгоритма. Ну или предположим чисто на бекенде, в WordPress нету поумолчанию нормальной реализации сессий и плюс нету MVC модели - это исторический момент, в некоторых случаях проще разработать костыль с. Плагинами, херовой тучей вложенности циклов и сложным математическим алгоритмом, где вложенность этих циклов и их область видимости, как раз решается массивами, потому что последнее значение массива не затирает предыдущее. Только так иногда быстрее решить не стандартную задачу для WP, с которой тот же Ларавел справится на раз два.
@alexpipin3693
@alexpipin3693 4 года назад
найс, фп-шечка всегда сложно, потому что заставляет мыслить так как мы не привыкли, первый пример уже более академический, но все же показывает, понимание фп, писать лаконично на фп это как каждый день ходить в качалку)) задачки надо такие решать постоянно, но не согласен что полноценно дает понять как человек мыслит, в реале же решает, архитектура, умение мыслить абстракциями, но задачки тоже этот скилл качают
@Vipochk27
@Vipochk27 4 года назад
ну что сказать, лайк
@user-gs7jt9od4g
@user-gs7jt9od4g 4 года назад
Как по мне [a,b] = [b,a] очень затратная операция, да хорошо читаемая, но я наверно все таки использовал бы вариант с доп. переменной
@Den4eg37
@Den4eg37 4 года назад
Почему затратная? В память же не пишется ничего и не читается,изменяются ссылки на переменные в памяти,или я что то не правильно понимаю?
@user-og4bz5fy6i
@user-og4bz5fy6i 4 года назад
2
@itgid
@itgid 4 года назад
100%
@sergeyshramko4200
@sergeyshramko4200 4 года назад
👍🏻
@user-tr3qr6br5i
@user-tr3qr6br5i 3 года назад
для первой задачи: console.log([...Array(10).keys()].map(el => el + 1).filter(el => el % 3 === 0)); Мап можно убрать, если нужно считать от нуля.
@RisenCodeOld
@RisenCodeOld 4 года назад
Хороший программист который пишет let вместо const xD
@evilevil1619
@evilevil1619 3 года назад
Зачем ему использовать константу?
@povertyinside4733
@povertyinside4733 2 года назад
...
@vasya8441
@vasya8441 4 года назад
о это я вовремя зашел, я первый, мой день удался
@YMinaBolshoiPisun
@YMinaBolshoiPisun 3 года назад
Надо так 1...100.Он 0 / 3 = остаток будет 0.
@MarkusRepository
@MarkusRepository Год назад
а на холєру взагалі таке робить? це ж брєдятіна. де воно буде застосовуватись в роботі?( я взагалі не уявляю що робить фронтен)
@digitalturkistan1857
@digitalturkistan1857 4 года назад
Второй ввриант лучше
@itgid
@itgid 4 года назад
гуд!
@FA1F.W
@FA1F.W Год назад
поставил видео на паузу на 01:43 и высрал такое: for(let i = 0; i < 101; i++) { if (i%3 == 0) { console.log(i); } } это я к какой категории отношусь? Александр, огромное спасибо за Ваши уроки!!
@FA1F.W
@FA1F.W Год назад
Первое решение все равно круче
Далее
I Took a LUNCHBAR OFF A Poster 🤯 #shorts
00:17
Просмотров 2,7 млн
9 минут про чистые функции
10:48
Reduce, isArray - методы массивов
18:33
Every, some, find - нужны ли? JavaScript
10:48
I Took a LUNCHBAR OFF A Poster 🤯 #shorts
00:17
Просмотров 2,7 млн