Записал вводное видео про регулярные выражения

Предпоказ выявил закипание мозгов у зрителей. Но более подробное видео получилось в полчаса длиной и скучное.

https://youtu.be/b-EkpnLINKw

Если кратко. Регулярные выражения помогают искать в тексте куски по сложному шаблону. Например, шаблон /[0-9]+/ найдёт в тексте все цифры, которые повторяются один или более раз подряд.

Но это самый простой случай. В примере я разбираю как работает вот такое выражение: /^(Смартфон\s)?(Apple)\s([a-z ]+)\s(\d+)GB\s(.*)\(([^(]+)\)\s([\d ]+)\sруб.$/igm.

Регулярные выражения помогают обрабатывать большие объёмы данных и приводить их к читаемому виду.

Их сложно понять с первого раза. Но, посмотрев видео, вы поймёте область их применения и сможете изучить их при возникновении необходимости.

Что необычного с точки зрения бизнес-модели Tesla?

Что необычного с точки зрения бизнес-модели Tesla?

А вот что:

1. Другие автомобили теряют в стоимости сразу же после выезда из автосалона. У Tesla этот эффект не так ярко выражен.

Для сравнения: в первый год использования Mercedes Benz или BMW стоят на 10-15% дешевле. А за три года — до 40%. У Tesla показатель падения стоимости едва достигает 10% за три года.

2. У классических автомобилей полный пакет опций доступен только на момент покупки. Повышение класса или апгрейд сопряжены с адскими затратами времени, денег и нервов.

Для сравнения: установка Full Self-Driving на Tesla занимает один час. Запись — через мобильное приложение. В недалеком будущем авто едет на апгрейд самостоятельно. У Mercedes и другой классики апгрейд это условный выкуп дилером старого авто и выдача нового за доплату.

А теперь к фишке и вероятному ответу, почему стоимость Tesla не падает по сравнению с остальными:

3. Без софта Tesla — это дизайнерская железка с четырьмя моторизированными колесами. А вот софт и компьютер — ядро, не теряющее в цене со временем. Апгрейды и опции включаются программно и часто без необходимости личного посещения автосервиса.

Хочешь разгоняться чутка быстрее? Не вопрос. Тапни в приложении вот здесь, отдай $2000 и вот разгон до 100 км/ч уже на полсекунды быстрее. Нужен крутой автопилот? Да, пожалуйста — держите электронную квитанцию об оплате $8000.

Получается, бизнес-модель детища Маска это «Железка как сервис?» и главное конкурентное преимущество.


https://www.facebook.com/100011222233927/posts/1320897518294310/?d=n

Вадим Шлячков написал о законе Хика.

В статьях (и даже в википедии) пишут, что закон Хика утверждает следующее: с увеличением количества вариантов увеличивается время принятия решения.

В своей работе Хик пишет не о «времени принятия решения», а о «времени реакции выбора», что не одно и то же.

1. Время простой реакции (simple reaction time) — испытуемый даёт единственный ответ на единственный раздражитель.
2. Время реакции выбора (choice reaction time) — от испытуемого требуется реагировать различным образом на разные типы раздражителей.
3. Время реакции различения (discrimination reaction time) — предполагает единственный ответ на один из нескольких раздражителей.

Концепция принятия решений подразумевает, что мы можем столкнуться с раздражителем, для которого не установлены варианты реакции. Испытуемый самостоятельно формирует список потенциально возможных реакций и систему оценивания, которая позволяет определить, какой из ответов правильный. Пример: выбор ужина или квартиры.

При оценке времени реакции выбора более сложной задачей будет та, где больше вариантов.

Также исследования показали, что закон:
— Перестаёт работать после практики. После 6000 попыток время реакции на 8 вариантов раздражителей приблизилось ко времени реакции на 2 варианта.
— Не работает, когда раздражитель и способ реакции взаимосвязаны. Надо указать стилусом на подсвечиваемую область.
— Не распространяется на реакцию зрачков.
— Не учитывает эффект последовательностей.
— Ограничен количеством вариантов. Время реакции в эксперименте с 1023 вариантами отличалось всего на 20−30 мс от эксперимента с 31 вариантом.
— Не всегда хорошо описывает ситуацию, когда пользователь может связать предлагаемые варианты ассоциациями.

https://medium.com/v.shliachkov/2d577e005a69

Меня тут спрашивают, зачем нужны шпаргалки, о которых я написал постом выше

Как и любая шпаргалка, они помогают не держать в голове кучу информации, а быстро вспоминать нужную команду при необходимости.

Например, вы знаете основы JS, но всё чаще встречаете в примерах непонятный новый синтаксис — ES6. Вы можете прочитать про него длинную статью (например: http://babeljs.io/learn-es2015/), но, скорее всего, сразу всё забудете. Тут вам и придёт на помощь шпаргалка https://devhints.io/es6

Или вы установили себе модный редактор кода Visual Studio Code, но не знаете ни одного хоткея в нём. Вот шпаргалка с ними: https://devhints.io/vscode

Или вы решили научиться верстать флексбоксами, но постоянно забываете синтаксис. Шпаргалка вам его быстро напомнит: https://devhints.io/css-flexbox

Время — невосполнимый ресурс

Если вы придёте на новогоднюю вечеринку второго января вместо первого, то увидите пустую комнату с запахом алкоголя — вечеринки уже не будет.

Если 1 ноября вы запускаете на рынок новый корм для кошек, то к 1 октября у вас полюбому должны быть нарисованы макеты банеров для наружки, а к середине октября запущен сайт, который рассказывает о продукте. Если банеров или сайта не будет, то продукт банально никто не возьмёт с полки — результат вашей работы пропадёт.

Что вы станете делать, если баннеры до сих пор не готовы, а уже 7 октября? Вы будете искать способы закончить раньше. Этих способов не так уж и много — либо пожертвовать проработкой макетов (запустить меньше посылов, сделать макеты проще), либо пожертвовать себестоимостью, наняв, к примеру, пять дополнительных дизайнеров.

Единственное, что вы не сможете сделать, когда опаздываете — это добавить себе ещё неделю, чтобы закончить проект: машину времени пока не изобрели. Пожертвовать деньгами или качеством — можно. Уменьшить проработку — можно. Добавить себе срок — нет.

Время стоит беречь не только в проектах, но и в личной жизни. Всё так же — если уже 20:00, а вы ещё не ходили в спортзал, то вы никак не можете сделать так, чтобы сейчас стало 18:00 — вы можете только не пойти в спортзал. Если вы приехали на работу в метро, а по дороге слушали музыку или изучали новинки в Arcades — вы просто приехали на работу на метро. А эти же 40 минут можно было потратить на чтение книги или спокойно поспать.

Берегите время.

Чтобы обратиться к какому-либо узлу, его сначала надо найти

Для этого есть разные методы, но в современном прототипировании чаще всего применяются два метода:

let el = document.querySelector(selector)
и
let elems = document.querySelectorAll(selector)

Оба метода получают на вход CSS-селектор элемента. Например:

let el = document.querySelector(".someClass b");

Отличие их в том, что querySelector вернёт один узел, который попался первым, а querySelectorAll вернёт список всех узлов на странице, соответствующих селектору.

Список узлов очень похож на массив, но не является массивом. Например, у него, как и у массивов, есть метод forEach, при помощи которого можно перебрать один элемент за другим. Но у него нет метода map, который позволяет преобразовать один массив в другой, применив к каждому элементу функцию-колбэк.

Если же вам всё-таки нужен метод map, то вы можете преобразовать список узлов в массив при помощи конструкции [...nodeList]:

let arr = document.querySelecroAll("a");
[...arr].map(el => el.innerText);

Подробнее в видео: https://youtu.be/KIBv7QMToP4
И в примере с кодом: https://codepen.io/detepr/pres/mQqKZO