На одном из проектов возобновилась работа. Текущая задача:
Сделать API для нового фронтенда на React.
В проекте уже есть старый API построенный на связке
Поэтому взялся на изучение вопроса и нашел пример использования стандарта PSR-13.
Вот кто знает, что это за стандарт и для чего используется? А я теперь знаю!
#api #jsonapi #psr #psr13 #hypermedialink #php #standarts
Сделать API для нового фронтенда на React.
В проекте уже есть старый API построенный на связке
Symfony 2 + FOSRestBundle, но такое себе нестандартизированное г-но. К тому же устаревшее.Поэтому взялся на изучение вопроса и нашел пример использования стандарта PSR-13.
Вот кто знает, что это за стандарт и для чего используется? А я теперь знаю!
#api #jsonapi #psr #psr13 #hypermedialink #php #standarts
WSL Troubleshooting
Если вдруг локальная разработка переползла на Windows, но ох как хочется *nix - выход есть: Windows Subsystem Linux.
Простыми словами: это некоторая урезанная виртуальная машина Hyper-V, в которой установлен Linux, и произведена некоторая бесшовная интеграция в окружение Windows.
Технология, сама по себе, мне нравится, но глюками своими меня периодически просто бесит. Одни из последних проблем:
- Нехватка ресурсов
- vSysCall
#wsl #wsl2 #docker #linuxinwindows #windows #windows10 #troubleshooting
Если вдруг локальная разработка переползла на Windows, но ох как хочется *nix - выход есть: Windows Subsystem Linux.
Простыми словами: это некоторая урезанная виртуальная машина Hyper-V, в которой установлен Linux, и произведена некоторая бесшовная интеграция в окружение Windows.
Технология, сама по себе, мне нравится, но глюками своими меня периодически просто бесит. Одни из последних проблем:
- Нехватка ресурсов
- vSysCall
#wsl #wsl2 #docker #linuxinwindows #windows #windows10 #troubleshooting
Нехватка ресурсов
Проект на PHP. Используется Composer для разрешения зависимостей. Добавляю новый пакет. Composer долго думает и выдает
Увеличиваю ресурсы:
#wsl #wsl2 #windows #windows10 #linuxonwindows #compser #composerkilled #composererror #troubleshooting
Проект на PHP. Используется Composer для разрешения зависимостей. Добавляю новый пакет. Composer долго думает и выдает
Killed. После двухдневного гугления оказалось, что для Docker-а в Linux доступны все аппаратные ресурсы операционной системы, а для WSL - только то, что задано в настройках файл конфигурации %userprofile%\.wslconfig. То есть на сервере с Ubuntu всё работает хорошо, локально на Windows с Ubuntu через WSL - не работает.Увеличиваю ресурсы:
[wsl2]и мониторю с помощью
memory=8GB
processors=2
docker stats - composer съедает около 4Gb оперативной памяти. И работа composer завершается корректно.#wsl #wsl2 #windows #windows10 #linuxonwindows #compser #composerkilled #composererror #troubleshooting
Sphinx 2.2.10 на CentOS 6
В проекте использую образ
#wsl #wsl2 #windows #windows10 #linuxonwindows #vsyscall #troubleshooting
В проекте использую образ
leodido/sphinxsearch:2.2.10. Контейнер стартует удачно, а вот sphinx внутри постоянно падает, причем без особых ошибок в логе, только записи в видаwatchdog … kill … SIG …Вот и пойми, из-за чего не стартует приложение. Меняю прямую команду запуска приложения в контейнере на shell-скрипт и контейнер завершает работу с кодом 139. Гугление - натыкаюсь на issue в github. По рекомендации вставляю в конфиг WSL строку:
kernelCommandLine = vsyscall=emulateПерезагружаюсь. И вуаля - sphinx стартует без проблем. А все почему? Потому что в WSL нет поддержки
vsyscall , и эмуляция отключена по умолчанию, потому что технология устаревшая и в современных дистрибутивах не применяется. А в контейнере используется CentOS 6, в которой эта технология используется. Ещё -2 дня. Бл..ть!!!#wsl #wsl2 #windows #windows10 #linuxonwindows #vsyscall #troubleshooting
Вечно измененные файлы
Проблемы в основном касаются работы в Windows. И последних проблем: файлы фреймворков или бинарные файлы библиотек - git ругается, что файлы изменены, различий в содержимом нет. Но, сюрприз-сюрприз, права отличаются: кто их меняет и в какой момент - пока что тайна. Ещё бывает окончания строк с *nix меняются на win. Временное избавление - отключить слежение за параметрами
Проблемные файлы перестают мешать. Главное не забыть потом поменять значения обратно.
Проблемы в основном касаются работы в Windows. И последних проблем: файлы фреймворков или бинарные файлы библиотек - git ругается, что файлы изменены, различий в содержимом нет. Но, сюрприз-сюрприз, права отличаются: кто их меняет и в какой момент - пока что тайна. Ещё бывает окончания строк с *nix меняются на win. Временное избавление - отключить слежение за параметрами
git config core.filemode false
git config core.autocrlf false
Проблемные файлы перестают мешать. Главное не забыть потом поменять значения обратно.
git config core.filemode true
#git #windows #troubleshooting
git config core.autocrlf true
Перестал работать GitLab CI/CD. Попытался зайти на сайт и посмотреть статус docker-сервисов:
Посмотрел место на диске:
Удалил логи, удалил лишние хвосты у докера, перезагрузил сервер - всё заработало.
Кто молодец? Я молодец! И немного сайт
blog.sedicomm.com
#troubleshooting #linux #diskspace #utilitty
docker-compose ps
В ответ: "Не удалось создать временный файл".Посмотрел место на диске:
df -h
Оказалось, корневой раздел забит под завязку, но чем - непонятно. Помогла команда:du -a /home | sort -n -r | head -n 5
Выводит 5 самых больших файлов и подкаталогов в заданном каталоге. Так, каталог за каталогом нашел самого большого потребителя места. Оказалось, monolog забил логами почти 200Гб и для докера не осталось места.Удалил логи, удалил лишние хвосты у докера, перезагрузил сервер - всё заработало.
Кто молодец? Я молодец! И немного сайт
blog.sedicomm.com
#troubleshooting #linux #diskspace #utilitty
Как добавить прав на группу?
Есть файлы и каталоги. Владелец ftn:ftn.
Текущий пользователь user. Надо разрешить текущему пользователю и программам, запущенным под текущим пользователям, использовать файлы и каталоги (чтение/запись).
1. Добавить user в группу ftn
2. Добавить объектам в каталоге права на чтение/запись для группы
u - user
g - group
+ - добавить права
r - read - чтение
w - write - запись
-R - рекурсивно (на всё, что внутри)
#linux
Есть файлы и каталоги. Владелец ftn:ftn.
Текущий пользователь user. Надо разрешить текущему пользователю и программам, запущенным под текущим пользователям, использовать файлы и каталоги (чтение/запись).
1. Добавить user в группу ftn
2. Добавить объектам в каталоге права на чтение/запись для группы
sudo chmod -R ug+rw .где:
u - user
g - group
+ - добавить права
r - read - чтение
w - write - запись
-R - рекурсивно (на всё, что внутри)
#linux
Центр приложений в Ubuntu 22.04
Начиная с версии Ubuntu 20.04 для управления приложениями вместо gnome-software используется snap-store. Периодически при запуске Ubuntu Software не отображается информация о приложениях и висит постоянная загрузка.
Как исправить?
Убиваем все процессы и снова запускаем приложение:
Начиная с версии Ubuntu 20.04 для управления приложениями вместо gnome-software используется snap-store. Периодически при запуске Ubuntu Software не отображается информация о приложениях и висит постоянная загрузка.
Как исправить?
Убиваем все процессы и снова запускаем приложение:
sudo killall snap-storeБолее радикальный вариант - удалить и заново установить Ubuntu Software:
sudo snap remove snap-store#linux #snap #ubuntu #bug
sudo snap install snap-store
Серия публикаций от OTUS, которая написана специально к старту нового потока курса «Software Architect» (2020).
- Выбор архитектурного стиля. Часть 1
- Выбор архитектурного стиля. Часть 2
- Выбор архитектурного стиля. Часть 3
#СписокНаПочитать
- Выбор архитектурного стиля. Часть 1
- Выбор архитектурного стиля. Часть 2
- Выбор архитектурного стиля. Часть 3
#СписокНаПочитать
Статья от OTUS для студентов DevOps
- Бессерверная архитектура и микросервисы: идеальная пара?
#СписокНаПочитать
- Бессерверная архитектура и микросервисы: идеальная пара?
#СписокНаПочитать