Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Часть утилит из этой статьи прислал мне благодарный подписчик. Если у тебя тоже есть о чем рассказать миру — добро пожаловать в комментарии.
Как известно, в Windows 10 и 11 можно запускать приложения для Linux. Система, которая позволяет это делать, называется WSL — Windows Subsystem for Linux. WSL (в простонародье — «весло») имеет две версии, незамысловато названные WSL и WSL 2. Первая версия вышла в 2016 году и уже морально устарела. Масштабно обновили систему в 2020 году, в релизе Windows 10 2004 — чтобы не путать, ее тогда и назвали WSL 2. Внутри WSL 2 — виртуальная машина Hyper-V с проброшенными в нее ресурсами хоста.
Когда какой‑то процесс внутри WSL 2 начинает слушать TCP-порт, wslhost.
слушает этот же порт на 127.0.0.1 хоста, фактически проксируя его наружу, на хост. Проблема такого форвардинга в том, что снаружи хоста этот порт недоступен, то есть поднятый на 8080-м порте веб‑сервис в WSL доступен для хоста, но не торчит в локалку.
Если хочется получить доступ к такому сервису снаружи, а не только с машины с самой WSL — пригодится WSL Host Patcher. Все, что он делает, — это патчит в памяти wslhost.
, чтобы тот открывал соединения не на 127.0.0.1, а на 0.0.0.0, слушая соответствующий порт на всех интерфейсах.
В продолжение извращений с WSL хочу показать маленькую утилиту на Rust, которая просто транслирует все вызовы себя в соответствующие вызовы git
в WSL 2. Зачем это надо? Допустим, у тебя есть какой‑то очень большой репозиторий Git внутри WSL, а ты работаешь в текстовом редакторе с хоста. Чтобы Git корректно работал с кодом внутри полувиртуального Linux, нужно как‑то транслировать вызовы Git с исправленными путями внутрь контейнера. Wslgit делает ровно это: исправляет путь, чтобы получить доступ из контейнера к файлам хоста, и запускает Git в WSL 2, чтобы выполнить нужное действие. Просто и понятно.
Юзкейсов wslgit немного, но иногда он совершенно незаменим.
Раз уж заговорили о WSL, упомянем еще одну важную проблему, из‑за которой порой приходится перезагружать совершенно исправный компьютер с неделями аптайма. WSL очень любит агрессивно кешировать в оперативную память, но не спешит освобождать ее, когда эта память нужна винде. В результате процесс vmmem съедает всю оперативку, и приходится перезагружаться.
Решение проблемы простое — выполнить от рута следующую команду в WSL:
# sh -c "echo 3 > /proc/sys/vm/drop_caches"
Но должен быть и способ получше. Может, ты знаешь? Расскажи в комментах!
TLS.support — это быстрый способ проверить, поддерживает ли браузер современные фичи TLS. Сервис проверяет поддержку одноразовых ключей, список доступных шифров, мгновенное возобновление шифрованного соединения и некоторые другие вещи.
На сервисе можно получить код результата конкретной проверки. Удобно, если ты хочешь попросить кого‑то протестировать работу и показать результаты.
Как‑то раз мне нужен был веб‑терминал. Я поискал и нашел проект Webshell.
Webshell — это полноценный терминал прямо в окне браузера. Он работает как SSH-клиент, но для моих задач было достаточно просто подключиться через него к 127.0.0.1 и работать. Сочетания клавиш поддерживаются, полноэкранные программы вроде htop и nano — тоже. Что нам еще нужно для счастья?
Если у тебя есть свой сервер и ты хочешь иметь возможность получать к нему доступ из SSH через браузер, то это отличный вариант.
Устанавливается программа через Docker:
docker run -d --security-opt seccomp=unconfined -p8018:80 -e ALLOWED_NETWORKS=0.0.0.0/0 bwsw/webshell
Webshell в действии
|
|