How To WebDev
2.41K subscribers
8 photos
1 video
325 links
Заявки принимаются моментально!

Обучаем фронтентду и бекенду просто и понятно!

Сотрудничество: @me_Smith

Ссылка на канал: @HowTo_WebDev
Download Telegram
🧾Как пользоваться медиазапросами в CSS?

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

/* Изменить фоновый цвет любого элемента <div> на "red" в том случае, если ширина окна браузера составляет 600px или меньше */

@media only screen and (max-width: 600px) {
div {
background-color: red;
}
}

📂 #CSS #Код
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Какая разница между селекторами идентификаторов и классов в CSS?

Идентификаторы
(id) уникальны. У элемента может быть только один идентификатор. На странице может присутствовать лишь один элемент с конкретным идентификатором.

Имена классов (class) не являются уникальными. Один и тот же класс можно назначать множеству элементов. Элементу может быть назначено несколько классов.

Если некий стиль нужно применить к нескольким элементам страницы — эту задачу нужно решать с использованием классов.

📂 #CSS #Совет
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Какая разница между следующими видами позиционирования элементов: относительное, фиксированное, абсолютное, статическое?

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

📂 #CSS #Код
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Что такое рекурсия?

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

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

В процессе выполнения задачи в теле функции могут быть вызваны другие функции для выполнения подзадач. Частный случай подвызова – когда функция вызывает сама себя. Это как раз и называется рекурсией.

📂 #JavaScript #Совет
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Что такое контекст выполнения?

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

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

Один вызов функции имеет ровно один контекст выполнения, связанный с ним.

📂 #JavaScript #Совет
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Что такое контекст выполнения? №2

Когда функция производит вложенный вызов, происходит следующее:

Выполнение текущей функции приостанавливается.
Контекст выполнения, связанный с ней, запоминается в специальной структуре данных – стеке контекстов выполнения.
Выполняются вложенные вызовы, для каждого из которых создаётся свой контекст выполнения.
После их завершения старый контекст достаётся из стека, и выполнение внешней функции возобновляется с того места, где она была остановлена.

📂 #JavaScript #Совет
▬▬▬▬▬▬▬▬
\\ How To WebDev
🧾Методы примитивов

JavaScript позволяет нам работать с примитивными типами данныхстроками, числами и т.д., как будто они являются объектами.

Поэтому давайте взглянем на ключевые различия между примитивами и объектами.

Примитив – это значение «примитивного» типа.
Есть 7 примитивных типов: string, number, boolean, symbol, null, undefined и bigint.

А объект может хранить множество значений как свойства.
Объявляется при помощи фигурных скобок "{}», например: «{name: "Рома", age: 30}». В JavaScript есть и другие виды объектов: например, функции тоже являются объектами.

📋 #Совет 
▬▬▬▬▬▬▬▬
// How To WebDev
🧾Числа

В современном JavaScript существует два типа чисел:

Обычные числа в JavaScript хранятся в 64-битном формате IEEE-754, который также называют «числа с плавающей точкой двойной точности» (double precision floating point numbers). Это числа, которые используются чаще всего.

BigInt числа дают возможность работать с целыми числами произвольной длины. Они нужны достаточно редко и используются в случаях, когда необходимо работать со значениями более чем (253-1) или менее чем -(253-1).

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Цикл for в Python

В Python цикл for – это цикл перебора последовательности. Он состоит из двух компонентов: переменной (переменных) цикла и последовательности.

А функция range возвращает диапазон (последовательность) целых чисел. Range может принимать 1, 2 или 3 аргумента.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Цикл while в Python

Цикл while позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается после ключевого слова while и проверяется до выполнения тела цикла.

Этот цикл используется, когда невозможно определить точное количество повторений цикла.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Список в Python

Список
– это непрерывная динамическая коллекция элементов. Каждому элементу списка присваивается порядковый номер – его индекс. Первый индекс равен нулю, второй - единице и так далее. Основные операции для работы со списками - это индексирование, срезы, добавление и удаление элементов, а также проверка на наличие элемента в последовательности.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Индексирование в Python

Что такое индексирование? Это операция обращения к элементу по его порядковому номеру (нумерация начинается с нуля).

Индексирование работает и в обратную сторону. Мы просто обращаемся к элементу списка по отрицательному индексу. Индекс с номером -1 дает доступ к последнему элементу, -2 к предпоследнему и так далее.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Создание списка в Python

Списки в Python являются изменяемым типом данных. Мы можем изменять содержимое каждой из ячеек:

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
fruits[0] = 'Watermelon'
fruits[3] = 'Lemon'
print(fruits)

>>> ['Watermelon', 'Grape', 'Peach', 'Lemon', 'Orange']

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Создание списка в Python с помощью list

Создать список в Python можно также с помощью функции list. В неё мы можем передать любой итерируемый объект, с помощью которого можно запустить цикл.

Рассмотрим несколько примеров:

letters = list('abcdef')
numbers = list(range(10))
even_numbers = list(range(0, 10, 2))
print(letters)
print(numbers)
print(even_numbers)

>>> ['a', 'b', 'c', 'd', 'e', 'f'
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [0, 2, 4, 6, 8]

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Длина списка в Python

Как узнать длину списка? Есть два варианта, можно просто посчитать количество элементов, но есть способ проще, функция len.

Функция len возвращает длину любой итерируемой переменной, переменной, по которой можно запустить цикл.

Например:

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
print(len(fruits))

>>> 5

numbers = [40, 20, 90]
print(len(numbers))

>>> 3

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Срезы в Python

Срезом
называется некоторая подпоследовательность. Принцип действия срезов очень прост: мы "отрезаем" кусок от исходной последовательности элемента, не меняя её при этом. Срезы могут работать не только со списками, но и с другими итерируемыми типами данных, например со строками.

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
part_of_fruits = fruits[0:3]
print(part_of_fruits)

>>> ['Apple', 'Grape', 'Peach']

📋
#Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript

В JavaScript любые текстовые данные являются строками. Не существует отдельного типа «символ», который есть в ряде других языков. Внутренний формат для строк — всё время UTF-16, вне зависимости от кодировки страницы.

Кавычки.

В JavaScript существуют различные типы кавычек.

Строку можно создать с помощью одинарных, двойных либо обратных кавычек:

let single = 'single-quoted';
let double = "double-quoted";

let backticks = `backticks`;

Одинарные
и двойные кавычки работают одинаково, а если использовать обратные кавычки, то в такую строку мы сможем вставлять произвольные выражения, обернув их в ${…}:

let guestList = `Guests:
* John
* Pete
* Mary
`;

alert(guestList); // список гостей, состоящий из нескольких строк

📋
#Код
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript (часть 2)

В прошлый раз мы говорили о строках и кавычках в JavaScript. Теперь поговорим про спецсимволы.

Многострочные строки также можно создавать с помощью одинарных и двойных кавычек, используя так называемый «символ перевода строки», который записывается как \n:

let guestList = "Guests:\n * John\n * Pete\n * Mary";

alert(guestList); // список гостей, состоящий из нескольких строк

Эти две строки эквивалентны, просто записаны по-разному:

// перевод строки добавлен с помощью символа перевода строки
let str1 = "Hello\nWorld";

// многострочная строка, созданная с использованием обратных кавычек
let str2 =
Hello
World
;

alert(str1 == str2); // true

📋 #Код
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Строки в JavaScript (финал)

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

\nперевод строки.

\r – в текстовых файлах Windows для перевода строки используется комбинация символов \r\n, а на других ОС это просто \n.

\', \"кавычки.

\\обратный слеш.

\tзнак табуляции.

\b, \f, \vBackspace, Form Feed и Vertical Tab оставлены для обратной совместимости, на данный момент не используются.

\xXX – символ с шестнадцатеричным Юникодным кодом XX.

\uXXXX – символ в кодировке UTF-16 с шестнадцатеричным кодом XXXX.

\u{X…XXXXXX} (от 1 до 6 шестнадцатеричных цифр) – символ в кодировке UTF-32 с шестнадцатеричным кодом от U+0000 до U+10FFFF. Некоторые редкие символы кодируются двумя 16-битными словами и занимают 4 байта. Так можно вставлять символы с длинным кодом.

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Операция in в Python

С помощью in можно проверить наличие элемента в списке, строке и любой другой итерируемой переменной.

Приведём пример:

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
if 'Apple' in fruits:
print('В списке есть элемент Apple')

>>> В списке есть элемент Apple

fruits = ['Apple', 'Grape', 'Peach', 'Banan', 'Orange']
if 'Lemon' in fruits:
print('В списке есть элемент Lemon')
else:'
print('В списке НЕТ элемента Lemon')

>>> В списке НЕТ элемента Lemon

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev
🧾 Метод append в Python

Данный метод добавляет элемент в конец списка:

# Создаем список, состоящий из четных чисел от 0 до 8 включительно
numbers = list(range(0,10,2))
# Добавляем число 200 в конец списка
numbers.append(200)
numbers.append(1)
numbers.append(2)
numbers.append(3)
print(numbers)

>>> [0, 2, 4, 6, 8, 200, 1, 2, 3]

Методу append можно передавать абсолютно любые значения:

all_types = [10, 3.14, 'Python', ['I', 'am', 'list']]
all_types.append(1024)
all_types.append('Hello world!')
all_types.append([1, 2, 3])
print(all_types)

>>> [10, 3.14, 'Python', ['I', 'am', 'list'], 1024, 'Hello world!', [1, 2, 3]]

📋 #Совет
▬▬▬▬▬▬▬▬
// How To WebDev