/* WORKS */
a:hover{ color: red; }
a:active{ color: green; }
/* NOT WORKS */
a:active{ color: green; }
a:hover{ color: red; }
React: Правила хуков
В React есть два базовых правила использования хуков, которые обязательно нужно соблюдать
React: Редьюсеры и хук useReducer
Редьюсеры (или редукторы) – это простые чистые (предсказуемые) функции, которые получают в качестве аргументов предыдущее состояние объекта и объект действия (action), а возвращают обновленное состояние. Другими словами, редьюсеры применяют к состоянию некоторое действие.
React: Создание пользовательских хуков
Хуки создаются для того, чтобы можно было разделять одинаковое поведение между разными компонентами. Они работают гораздо очевиднее, чем компоненты высшего порядка или рендер-пропсы. Также, React позволяет создавать кастомные хуки.
PHP: Переадресация с передачей параметров
<?php
header("Status: 301 Moved Permanently");
header("Location: ./content/index.html".($_GET ? "?".$_SERVER['QUERY_STRING'] : ""));
die();
Three.js: Изометрический рендер в SVG
Код на CoffeeScript (прилагается сгенерированный Javascript).
PHP: WWW-авторизация
<?php
$valid_passwords = array ("LOGIN" => "PASSWORD");
$valid_users = array_keys($valid_passwords);
$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
$validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
if (!$validated) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
die ("Not authorized");
}
Python: Проверка типа переменной
# Use the type() builtin function:
i = 123
type(i) # <type 'int'>
type(i) is int # True
i = 123.456
type(i) # <type 'float'>
type(i) is float # True
# To check if a variable is of a given type, use isinstance:
i = 123
isinstance(i, int) # True
isinstance(i, (float, str, set, dict)) # False
Python: Срезы
a[start:stop] # items start through stop-1
a[start:] # items start through the rest of the array
a[:stop] # items from the beginning through stop-1
a[:] # a copy of the whole array
Python: Оператор «walrus»
Внутри цикла while
используется оператор присваивания :=
, который появился в Python 3.8. Он читает очередную строку из файла с помощью метода readline()
и присваивает ее переменной line
.
with open(filename) as file:
while line := file.readline():
print(line.rstrip())