dr.Brain
2.74K subscribers
1 photo
1 file
557 links
Мир глазами разработчика: обзоры, трюки, решения задач, примеры кода - рутина и не только... Front & Back

О нас: https://drbrain.pro/about/
Купить рекламу: https://telega.in/c/drbrain4dev

По всем вопросам: @gvastahov, @Pavel_A_G
Download Telegram
JavaScript: setTimeout внутри цикла

Функция setTimeout() является асинхронной, а это означает, что она запускается, только после выполнения всех операций в основном потоке данных JavaScript. Но, что получится, если поместить эту функцию в цикл for.

for (var i = 0; i < 5; i++) {
setTimeout(() => console.log(i), 0)
}


Какой результат будет выведен на экран после выполнения такого кода?

Узнать правильный ответ

#interview #frontend #js
JavaScript: MAX_NUMBER_SAFE

В JavaScript практически все цифровые значения соответствуют типу данных number и хранятся в формате 64-битных чисел двойной точности с плавающей запятой. Максимальным достижимым значение при использовании такого формата является 2 в 53 степени минус 1, что соответствует числу 9007199254740991. Это девять квадриллионов семь триллионов сто девяносто девять миллиардов двести пятьдесят четыре миллиона семьсот сорок тысяч девятьсот девяносто один - такое число достаточно трудно запомнить, Поэтому в объекте Number для него создана специальная статическая константа MAX_SAFE_INTEGER. Но, что получится, если мы попробуем увеличить это число хотя бы на 1?

let x = Number.MAX_SAFE_INTEGER + 1,
y = Number.MAX_SAFE_INTEGER + 2;

console.log(x === y);


Какой результат будет выведен в консоли?

Узнать правильный ответ

#interview #frontend #js
JavaScript: undefined

Согласно определению в JavaScript undefined является свойством глобального объекта, содержащим примитивное значение undefined. Если с помощью оператора typeof определить тип данных для undefined, будет получен ответ undefined. Но, что получится, если сравнить ответ переданный оператором с самой переменной undefined?

console.log(typeof undefined === undefined);


Какой результат будет получен в консоли?

Узнать правильный ответ

#interview #frontend #js
CSS: индикатор уведомлений

Читать

Время от времени каждый верстальщик сталкивается с нелюбимыми и раздражающими задачами. Возможно, для многих веб-разработчиков одной из таких задач является необходимость создания индикатора уведомлений. Давайте попробуем чуть-чуть облегчить нашу работу. В этой статье мы разберем, как создать такой индикатор на чистом CSS.

#frontend #css
JavaScript: Object.toString и Array.toString

Ни для кого не секрет, что в JavaScript стандартные встроенные объекты Object и Array имеют метод toString. Но в чем отличия Object.toString и Array.toString.

let toStringObject = Object.prototype.toString,
toStringArray = Array.prototype.toString,
arr = [1, 2, 3, 4, 5];

console.log(toStringObject.call(arr));
console.log(toStringArray.call(arr));


Вернут ли эти методы одинаковые значения при использовании для одного и того же объекта?

Узнать правильный ответ

#interview #frontend #js
Новые возможности PHP

Читать

Наряду с just-In-Time компиляцией, несомненно, положительно повлиявшей на производительность приложений, PHP 8 подарил миру разработчиков ряд полезных изменений в синтаксисе языка. В этой статье я хочу представить три примера использования нового синтаксиса в PHP-коде, полагая, что каждый из представленных случаев был бы полезен, при появлении таких возможностей, и в JavaScript.

#backend #php
CSS: сброс стилей

Читать

Рано или поздно каждый frontend-разработчик сталкивается со стилями, установленными по умолчанию. Это приносит в проект массу неудобств. Обычно, верстальщик в таком случае начинает волноваться, чувствует себя неуверенно и, занимая свое время поиском решения проблемы, вспоминает всех: от создателей CSS до программистов, мастерящих известные браузеры.

Как же избавиться от такого кошмара? Существует ли какая-то секретная кнопка, которая может быстро и эффективно справиться с проблемой CSS-стилей, установленных по умолчанию?

"Да, существует" - вот короткий ответ на этот вопрос. Но, все-таки, как решить озвученную проблему? В этой короткой статье или заметке, мы познакомимся с очень простой реализацией сброса CSS-стилей, установленных по умолчанию, а точнее CSS-стилей, навязываемых нам клиентским приложением (user-agent), то есть браузером.

#frontend #css
Командная строка: open

Иногда, работая в терминале, возникает необходимость открыть какой-либо файл. Но при этом нет никакого желания возвращаться в менеджер файлов операционной системы (для MacOS - это Finder), искать путь к файлу и открывать или запускать его с помощью программы, предназначенной для взаимодействия с нужным нам файлом по умолчанию. Это долго и утомительно.

К счастью в терминале есть команда open, которая позволит нам открыть файл в UNIX-подобной операционной системе (в том числе в MacOS и Linux).

В простейшем виде синтаксис этой команды выглядит так:

open file.txt

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

Читать

#tutorial #dev #bash
JavaScript: изучаем методы массивов с эмодзи

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

Чтобы внести ясность, мы визуализируем методы массивов с помощью эмодзи. Кто знает, может быть такой способ обучения превзойдет любые, даже самые смелые, ожидания.

Все приведенные примеры действительно работают. Поэтому, не стесняйтесь экспериментировать с примерами кода данной статьи в консоли Вашего браузера. 🤓

Читать

#frontend #js
JavaScript: BigInt

Что получится, если в JavaScript к обычному целому числу добавить суффикс n.

let sum = 1n + 2n;
console.log(typeof sum);

На какой результат можно надеяться?

Узнать правильный ответ

#frontend #js
Командная строка: history

Читать

Каждая команда, которую мы вводим в терминале, сохраняется в истории.

Для того, чтобы просмотреть историю, достаточно ввести команду:

history


#tutorial #dev #bash
CSS: неоновый текст

Читать

При правильном использовании неоновое свечение добавляет приятные футуристические нотки дизайну сайта. Мне всегда нравилась магия неоновых витрин и я не терял надежды воссоздать этот, поистине, бесподобный эффект с помощью CSS.

#frontend #css
JavaScript: валюта

Каким образом в JavaScript привести значение к формату местной валюты?

let price = 99n;
console.log(price.toLocaleString("ru-RU", {style: "currency"}));


И какой результат мы увидим в консоли при выполнении такого фрагмента кода?

Узнать правильный ответ

#interview #frontend #js
HTML: альтернативный текст

Читать

В этой небольшой статьи мы рассмотрим базовые подходы к написанию хорошего альтернативного текста для изображений.

#frontend #html
JavaScript: 10 полезных приемов

Читать

Экосистема JavaScript огромна. Существует несчетное количество библиотек и фреймворков, облегчающих повседневный труд разработчиков. Тем не менее существует достаточное количество задач, которые лучше решать, не прибегая к подключению дополнительных библиотек. К счастье JavaScript содержит большое количество встроенных функций и методов, значительно упрощающих решение многих проблем. В этой статье мы разберем несколько полезных фрагментов кода, основанных на встроенных возможностях языка JavaScript.

#frontend #js
JavaScript: длина функции

Что такое длина функции в JavaScript?

let sayHi = name => 'hi' + name,
confirmSubscription = () => "Would you like to subscribe?";

console.log(sayHi.length);
console.log(confirmSubscription.length);


Какой результат мы увидим в консоли?

Узнать правильный ответ

#interview #frontend #js
PHP: скорость конкатенации

Читать

Насколько я помню, мой дебют в PHP соответствовал еще четвертой версии этого языка. И уже в те казалось бы далекие времена обсуждались некоторые моменты производительности написанного кода. Так, в определенных кругах не теряло популярности обсуждение, что быстрее: одинарные кавычки с конкатенацией переменных или двойные кавычки с включенными в строку переменными.

#backend #php
JavaScript: объектные литералы вместо if и switch

Читать

Сложные условия в JavaScript ведут к появлению запутанного и плохо читаемого кода. Длинный список инструкций сравнения if/else или switch склонен к быстрому, постоянному и практически неконтролируемому росту. Я считаю, что объектные литералы являются наиболее приемлемым способом структурирования кода, в случаях, когда возникает необходимость использовать несколько условий.

#frontend #js
HTML: непопулярные теги

Читать

HTML - простой, но абсолютно необходимый в веб-разработке язык разметки. Поэтому каждый, даже начинающий, программист знает если не весь HTML, то хотя бы его основы. Но сегодня я хочу обратить внимание на ряд мало используемых HTML-тегов, о которых стоит знать.
Как разозлить разработчика?

Читать

Спойлер: разозлить разработчика очень просто. Точнее, разработчика может взбесить буквально все. И чем более "религиозны" взгляды разработчика в отношении определенных сущностей и событий, тем проще это сделать. Я считаю, что нет более токсичного сообщества, чем сообщество разработчиков, программистов и инженеров. Даже если мы заведем разговор хотя бы о том как правильно назвать профессию, споров и агрессии не избежать. Кем является каждый из нас? Жалким разработчиком, пишущей обезьяной, уважаемым программистом или высокомерным инженером - сколько людей, столько и мнений. Но, например, некоторые инженеры приходят в неистовое бешенство, когда кто-то то ли по незнанию, то ли специально называет их "разработчиками".

#dev #opinion
Доступность форм

Читать

Формы имеют большое значение для любого сайта. Они обеспечивают интерактивность: взаимодействие между пользователем и продуктом или услугой, предлагаемым ему с помощью интернета. Формы используются повсюду: для заказов, оплаты, отзывов и так далее. Недоступная форма наносит прямой удар по бизнесу. А это означает, что стоит поговорить о доступности форм.

#frontend #html