maks.4k

maks.4k

Fullstack-разработчик HTML CSS JS NEXT.JS PHP MySql Много полезной информации в моих каналах https://t.me/moshniyWeb https://max.ru/join/XxJzvteC-e-gypKRIxQEfzkONMw-rYqj_4hN6ht_4sE
Пикабушник
Дата рождения: 8 февраля
в топе авторов на 132 месте
99 рейтинг 0 подписчиков 0 подписок 4 поста 0 в горячем
2

Apache vs Nginx

Серия Open Server_Setup

В дополнение у посту про open server v6.

Коротко сравним какой веб -сервер выбрать.

Apache — надёжная классика.

Главная фишка поддержка файла .htaccess,это файл для настройки редиректа, ограничение доступа и параметров php , прямо в папке проекта не трогая глобальный конфиг . Супер удобно для локальной разработке и имеет низкий порог вхождения.

Идеален для cms Wordpress, Битрикс ,Joomla-все работает из коробки.Можно написать настройки в одном проекте и просто переносить их в другой , методом ctrl+c=>ctrl+v.

Из минусов медленнее работает со статикой (картинки , css ).Потребляет больше памяти , в локальное разработке вы вряд ли это заметите , но на проде может аукнуться.

Nginx — скорость и гибкость

Главная фишка :Скорость и производтельность.

Из плюсов, скорость , можно использовать как прокси с apache , в open server v 6.

Из минусов выше порог вхождения для новичков , что касается настроек . Отсутвует файл .htaccess.Все настройки пишутся в основном файле настроек , в open server v6 ,этот файл называется nginx.conf в папке с модулем. Необходимость разбираться в синтаксисе Nginx , если необходимо будем настроить к примеру , сложные проекты с «красивым» URL.

Если ты разрабатываешь высоконагруженные проекты, API, используешь современные фреймворки (Laravel, Symfony) и готов разбираться с конфигами-выбирай nginx.

Короткая таблица сравнения:

Характеристика apache nginx

.htaccess Есть Нет

Простота нас-ки Высокая Требует знаний

Производ-ть Средняя Высокая

Потр-е памяти Выше Ниже

Wordpress Подходит Да(но с руч. нас-кой)

Для Open Server 6 и локальной разработки:

Начинай с Apache — проще, привычнее, меньше головной боли.

Переходи на Nginx, если:

-нужна максимальная скорость

-хочешь разобраться, как работают веб-серверы

-проект уже требует сложных настроек, где Nginx даёт больше гибкости

В новой версии ты можешь переключаться между ними прямо в меню OSPanel или в project.ini, так что можно пробовать и менять без риска сломать систему

Если вам интересна тема веб-разработки, я также публикую разборы других кейсов в своем Telegram-канале и на Максе. Буду рад единомышленникам

Показать полностью
3

Открываем сервер 6 версии-Guide setup open server v 6

Серия Open Server_Setup

Для разработчиков , которые переставили пользоваться open server до 2025 , а так же для тех кто только начинает свой путь в разработке , этот гайд будет очень полезным так как , приложение значительно изменилось , по сравнение с прошлой версией, прочитав этот гайд вы сможете легко запустить свой первый проект в open server.

И так вместо графического интерфейса-настройка основывается на работе с файлами и конфигами.

1) Находим папку home , которая в этой версии заменила папку domains, создаем там папку проекта.

2)Создаем папку .osp ,которая по дефолту должна быть скрытой , в ней файл project.ini -это файл настроек , в нем будет указан название проекта , движок веб сервера , версия языка php и название публичной директории ,ниже для примера как может выглядеть этот файл

[myproject.local]

web_engine = Nginx # или Apache

php_engine = PHP-8.2

public_dir = {base_dir}\public

В 5 версии было все более нативной , настраивалось через графическое дерево в меню open server , новый же подход позволяет задать более гибкие настройки.

3)Далее включаем модули , глобальный и для проекта отдельно.

Глобально через меню open server модули =>http=> выбираем нужный веб движок apache или nginx

Настройка веб сервера

Настройка веб сервера

После настройки глобальных модулей , мы можем настроить , веб сервер и версию php , локально для проекта

Тут думаю понятно , где настраивается версия php ,а где версия веб сервера

Тут думаю понятно , где настраивается версия php ,а где версия веб сервера

Так же локальная настройка , доступна через тот самый файл project.ini , про который я писал выше .В прошлых же версиях все было более проще , через трей интерфейса.

4) Что касается файла project.ini , и настройки корневой папка .Если файл лежит именно в корне проекта , оставляем настройку

[myproject.local]

public_dir = {base_dir}

если же присутствуют подпапки,как в laravel к примеру :

home/

└── myproject.local/

├── app/

├── config/

├── public/ ← вот она, папка с точкой входа

│ ├── index.php

│ └── style.css

├── storage/

└── vendor/

То добавляем через / название папки где находится наша точка входа в приложение

[myproject.local]

public_dir = {base_dir}/public

Думаю тут понятно что этой настройкой мы указываем откуда серверу отдавать файлы , где находится наша точка входа

Что будет, если не указать public_dir?

Без public_dir в project.ini домен появится, но сервер не будет знать, откуда отдавать файлы, и вы увидите ошибку 404 или пустую страницу.

5)Как теперь работают домены (Прощай, файл hosts!)

В 5-й версии мы были обязаны вручную править системный файл C:\Windows\System32\drivers\etc\hosts, прописывая туда строки вида 127.0.0.1 myproject.local.

В Open Server 6 всё работает иначе:

В программу встроен собственный DNS-сервер.

При запуске OSP 6 автоматически перехватывает DNS-запросы на вашем компьютере.

Как только вы прописали имя проекта в скобках [myproject.local] внутри project.ini, программа сама связывает этот домен с нужным внутренним IP-адресом.

Вам больше не нужно трогать файл hosts — Windows мгновенно увидит ваш сайт по его DNS-имени. Если вам всё же нужен доступ по IP, проект по умолчанию доступен на локальном адресе http://127.0.0.1 (или с указанием конкретного порта, если вы изменили его в глобальных конфигах)

6)Важное изменение при подключении к БД (MySQL)

Раньше в конфигурационных файлах ваших сайтов (например, в .env файле Laravel или wp-config.phpв WordPress) в строке подключения к базе данных (DB_HOST) мы всегда писали localhost или 127.0.0.1.

В OSP 6 из-за изолированной архитектуры модулей localhost больше не работает!

Теперь для подключения к MySQL нужно использовать:

DNS-имя модуля: Например, MySQL-8.2 (указывайте ровно то имя, которое запущено у вас в системе).

Или конкретный IP-адрес: По умолчанию OSP 6 выделяет модулям баз данных адреса в локальной подсети. Чаще всего это 127.0.0.1, но с уникальным портом, либо выделенный IP из диапазона 127.x.x.x (смотрите точный IP/порт в консоли OSP при старте модуля).

Пример настройки файла .env ,в проекте

DB_CONNECTION=mysql

DB_HOST=MySQL-8.2 # Вместо localhost пишем имя модуля DNS

DB_PORT=3306

DB_DATABASE=my_db

DB_USERNAME=root

DB_PASSWORD=

Вот и все основные нюансы для запуска проекта в open server v6.

А если вы не знаете какой веб-сервер выбрать apache или nginx .Об этом я тоже расскажу в след. посте.

Если вам интересна тема веб-разработки, я также публикую разборы других кейсов в своем Telegram-канале и на Максе. Буду рад единомышленникам.

Показать полностью 2

Есть ли жизнь после GitHub?

Всем привет, коллеги.

Коротко о проблеме: GitLab ещё в 2022 году официально притормозил с работой в РФ. Сейчас и GitHub начал подглючивать.

Поэтому решил накидать гайд по переносу кода на российский сервис GitVerse.
Это не реклама. Просто способ подстраховать проекты.

Как зарегистрироваться.

Giga ID Сбер IDили обычную почту

После включения двухфакторки попадаете на главную. =>

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

SSH-ключи. настройка HTTPS.создание репозиториев.GitVerse Pages (для хостинга статических сайтов) и интеграцию с инфраструктурой Cloud.ru.CI/CD пайплайны ,рекламировать их не буду скажу только что есть платные и бесплатные вариант.
и самое главное — импорт репозиториев из других Git-систем

Кстати: если тащите приватный проект, сначала создайте персональный токен (Personal Access Token) там, откуда экспортируете.

Ок поговорим про импорт по пунктам:

Импорт одного репозитория

Жмёте «Импортировать репозиторий» или значок «+» в меню.Вставляете URL

Жмёте «Импортировать репозиторий» или значок «+» в меню.Вставляете URL

Выбираете сервис (ну, например, GitHub).

Через пару минут проект уже в GitVerse.

  1. Импорт нескольких репозиториев (массовый)

Если хотите перенести всё подряд:

На GitHub генерируете токен (classic).Ниже покажу как это сделать.

Нажимаем на свой профиль GitHub=>Settings=>Developer settings=>Personal access tokens=>Generate new token

В GitVerse выбираете импорт через токен.

Вставляете токен — сервис сам покажет, какие проекты можно импортировать.

3.Как работать с новыми проектами (зеркалирование).
Самый практичный метод пушить в 2 репозитория одновременно.
Как это сделать:
Создаём два репозитория Один на GitHub (как обычно),второй на GitVerse
.Далее несколько команд настроит нам push в 2 репозитория одновременно.
Настраиваем несколько адресов для push.
Сначала привязываем тот сервис откуда будет скачиваться код ,для избежание конфликтов -код скачивается из одного места а пушится в два,мы выберем сервис для скачивание GitHub в качестве примере.

Если нужна автоматическая синхронизация, в GitVerse можно настроить официальное зеркало (синхронизация каждые 8 часов). А если хотите пушить вручную в два сервиса — можно добавить несколько push-адресов через git remote.

git remote add origin https://github.com/maks4k/testHelloWorld

git remote set-url --add --push origin https://gitverse.ru/maks4k/HelloWorldTest.git

set-url --add просто добавляет новый адрес

В итоге у origin будет два push-адреса.

Проверяем, что получилось:

git remote -v

Должно быть примерно так:

origin https://github.com/maks4k/testHelloWorld.git (fetch)
https://gitverse.ru/maks4k/HelloWorldTest.git (push)
https://github.com/maks4k/testHelloWorld.git (push)

Ссылки, естественно, будут ваши.

Почему у GitHub и fetch и push ,связанно как раз ,с тем какой сервис мы привязали первым.

4.Как все это работает:

После настройки команда git push шлёт код и на GitHub, и на GitVerse.Если какой-то сервер недоступен, push упадёт с ошибкой.
Так скорее всего будет при первом push на GitVerse,вас попросит авторизоваться Git Manager,авторизация будет зависеть от того каким образом вырегистрировались, скорее всего потребуется получить токен что-бы ввести его вместо пароля ,а логин надо использовать имя вашего профиля на GitVerse(не логин при авторизации на GitVerse,а именно имя профиля).

Как получить токен для пароля:Аватар=>Настройки=>Управление токенами=>Отметить галочками необходимую функциональность и сгенерировать токен.

Для автоматического зеркалирование лучше использовать CI/CD, но для ручного резервного копирования этот способ нормально заходит.

5.Что ещё умеет GitVerse

Что ещё умеет GitVerse

Автоматическая синхронизация

GitVerse сам подтягивает изменения из GitHub. Даже если вы забыли сделать push с компьютера (или пушили только через телефон с GitHub), GitVerse всё равно заберёт свежий код.

Но работает это только если вы импортировали репозиторий с GitHub.

2.Так же существуют приватные репозитории ,если необходимо спрятать код под NDA

3.Разнообразные ачивки ,ну так на любителя естественно

Настройка зеркалирования занимает пару минут и не требует танцев с бубном.

Итог GitVerse пока что не замена GitHub, а просто полезная штука, чтобы подстраховать проекты и иметь к ним доступ без лишних проблем.

Настройка зеркалирования занимает пару минут и не требует танцев с бубном.

Если вам интересна тема веб-разработки, я также публикую разборы других кейсов в своем Telegram-канале и на Максе. Буду рад единомышленникам

Показать полностью 4
4

Новые CSSединицы rcap, rch, rex, ric

Новые CSSединицы rcap, rch, rex, ric

В CSS давно есть единицы вроде rem, em , но они не всегда хорошо отражают реальные метрики конкретного шрифта. Это особенно заметно в интерфейсах, где важны пропорции текста, иконок, полей ввода и отступов.

Новые корневые единицы rcap, rch, rex и ric как раз решают эту задачу: они позволяют строить размеры не от абстрактного font-size, а от реальных характеристик шрифта корневого элемента <html>.

Перейдем к самим единицам с минимальными примерами:

rcap равен cap height корневого шрифта - номинальной высоте заглавных букв шрифта корневого элемента.

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

```
.nav-icon {

width: 1.2rcap;

height: 1.2rcap;

}
```
rch- (root character unit) измеряет ширину символа 0 (ноль),заданную для шрифта корневого элемента <html>.

Как это работает: браузер берет advance measure глифа 0, в шрифте корневого элемента, и это значение становится равным 1rch.

Стоит уточнить что речь идет именно о advance measure-это расстояние, на которое курсор (или печатающая головка) продвигается после отображения символа, до того, как начнет рисоваться следующий символ.
Один из самых практичных сценариев для rch — поля ввода, где ширина должна быть привязана к количеству символов.
Например, если интерфейс предполагает ввод короткого кода, PIN или номера заказа фиксированной длины, можно задать ширину поля не в px и не в rem, а через rch. Тогда размер будет опираться на реальную ширину символов корневого шрифта.

```
.code-input {

width: 8rch;

padding: 0.5rem 1rch;

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

rex — корневая версия ex, это x-height шрифта корневого элемента.

rex больше не привязан к конкретному элементу. Это корневая версия ex,он считается не от текущего элемента ,а от корневого элемента html.
То есть чтобы точно было понятно rex игнорирует локальные шрифты и всегда смотрит только на глобальный шрифт заданный в html.

Если корневой шрифт, например, 'Georgia', rex всегда будет использовать его метрики, даже если внутри элемента задан другой шрифт

```
html {

font-family: 'Georgia', serif;

font-size: 16px;

}

.button {

font-family: 'Courier New', monospace;

padding: 1rex;

}

```

ric-пожалуй самая не обычная единица про которую хочется сегодня расcказать.

Корневая версия ic, единицы для идеографической метрики в CJK-письменностях. Обычно она соотносится с advance measure символа 水 и полезна прежде всего для китайского, японского и корейского текста.
Удобна, когда нужно создать сетку, рассчитанную на иероглифические тексты. Например, поле для ввода на 20 иероглифов.

Единицы rcap, rch, rex и ric описаны в CSS Values and Units Module Level 4. Несмотря на то что спецификация W3C по-прежнему имеет статус Working Draft, сами единицы уже поддерживаются современными браузерами

Chrome / Edge: 135+ ✅Firefox: 130+ ✅Safari: 18.3+ ✅(на июнь 2026)

и могут использоваться в реальных проектах.
На практике это уже не эксперимент ради эксперимента, а рабочий инструмент для интерфейсов, где важны именно метрики шрифта корневого элемента, а не только font-size.
Особенно ,если вы разрабатываете интерфейсы, где важна точная типографика: лендинги, блоги, сайты с кастомизируемым шрифтом. Для обычных админок разница будет незаметна.

Краткая сводка по css-еденицам :

rch и rex: они понятнее в использовании и хорошо подходят для типографически выверенных интерфейсов, полей ввода и внутренних отступов.
rcap полезен там, где нужно соотносить размеры элементов с высотой заглавных букв, например для иконок и логотипов.
ric остается более нишевой единицей и в первую очередь нужен в интерфейсах, рассчитанных на CJK-тексты.

На всякий случай для production-проектов: используйте с @Supports или fallback-значениями, так как спецификация ещё не финальная.

Подробнее - в спецификации по ссылке ниже:

https://www.w3.org/TR/css-values-4/

Если вам интересна тема веб-разработки, я также публикую разборы других кейсов в своем Telegram-канале и в Максе. Буду рад единомышленникам!

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества