OneCode
前往频道在 Telegram
Full Stack на PHP, Laravel и всё, что с этим связано. YouTube: https://www.youtube.com/@onecode_blog
显示更多1 329
订阅者
无数据24 小时
无数据7 天
-930 天
帖子存档
1 329
С 12 сентября США запретило предоставлять любые IT-услуги в Россию
Такую новость можно найти в интернете. Не очень понятно что будет и как повлияет конкретно на нас с вам, но лучше точно не станет.
https://habr.com/ru/news/821315/
@onecode_blog
1 329
Filament не так идеален, как кажется на первый взгляд. Есть минусы и вопросы без ответов.
Какие-то сложные вещи, которые с нуля делать несколько дней, в филаменте делаются за считанные минуты.
А какие-то наоборот - мелоч, но ты не можешь её легко изменить. Приходится или лезть под капот трактора или смириться.
Но всё равно этот экскаватор очень хорош! Если его недостатки в конкретном проекте не доставляют особых проблем.
1 329
Поработав с Filament (конструктор кабинетов для Laravel), пришла прикольная аналогия. Есть задача - выкопать фундамент или любую другую яму, канаву, могилу, котлован и тд.
Какой инструмент для этого использовать? Например, экскаватор или обычную лопату. Экскаватор - это Filament, а лопата - разработка с нуля (например Vue + Laravel).
С одной стороны экскаватор позволит быстрее выполнить задачу при меньших физических усилиях. В тоже время лопатой копать очень долго, при этом с большими усилиями либо большой бригадой.
С другой стороны экскаватором нужно научиться управлять! А еще обслужитьвать его, заливать топливо. В тоже время лопату взял и сразу начал копать, а в случае чего можно купить новую. В крайнем случае можно копать голыми руками.
При этом нужно учитывать специфику задачи - какую именно яму нужно выкопать?
- Требуется высокая точность (соответствие ТЗ)?
- Имеются много сложных мест (кастомизация)?
- Тогда скорее всего нужна именно лопата.
- Требуется высокая скорость (большой объём)?
- Мало сложных мест (дёргай рычаги и всё).
- Тогда сильно поможет экскаватор.
А возможно понадобится и то и другое! Экскаватор (filament) сделает бОльшую часть, а особо "опасные" места может сделать лопатой (alpine или vue). Но часто мы пытаемся выбрать что-то одно и потом использовать это для ВСЕХ проектов. Иногда это может сработать, а иногда будет доставлять больше проблем.
Я часто выбираю alpine + livewire + filament, если вижу, что они будут больше помогать, чем мешать в конкретном проекте. Иначе берём nuxt spa + laravel api + команда разработчиков.
Недавно как раз выбрали именно второй вариант (nuxt + laravel) из-за его максимальной гибкости, хотя и высокими трудозатратами. Тем более большинству разработчиков это привычнее и понятнее.
Не все хотят изучать какой-то livewire или часами штудировать документацию filament (учиться водить экскаватор). Зачем, если ты и так можешь всё сделать с нуля? Сразу начать копать лопатой и в будущем гарантированно получить идеальный результат.
Надеюсь аналогия с использованием экскаватора и лопаты, в зависимости от задачи, поможет в выборе инструментов для очередного проекта. Все инструменты хороши, главное пробовать и делать свои собственные выводы.
1 329
+1
Оказывается есть официальные приложения ChatGPT на комп и телефон.
Установил на мак без проблем, а на айфоне пришлось создать американский аккаунт.
Можно пользоваться.
1 329
Docker Hub не работает из России. Теперь либо использовать VPN, либо настроить прокси типа https://huecker.io
@onecode_blog 👈
1 329
Интересно, что разработчики спрашивают где брать заказы, как найти работу, а по факту на вакансию выше совсем мало откликов.
1 329
Вакансия на разработку сайта
Знакомым нужно обновить старый сайт. У меня нет времени, поэтому размещаю вакансию для тех, у кого есть время и опыт.
Сайт нужно разработкть с нуля на Laravel и PostgreSQL, ориентируясь на новую вёрстку и старый сайт.
Вёрстка у ребят уже готова. Это простой шаблон на bootstrap с jquery. Можно скачать и посмотреть здесь.
Старый сайт для оценки функционала, который необходимо разработать, здесь.
Помимо разработки нового сайта нужно будет выполнить перенос данных из старой базы в новую, а так же перенести около 200ГБ видео на новый сервер.
Админку можно разработать на Filament, вывести там все основные данные (со связями) и реализовать несколько функций, например отмену пополнения баланса.
Если есть время, понимание и желание, то проведи анализ проекта, после чего отправь заявку, заполнив форму здесь.
Если не будет ответа в течении недели, значит взяли другого разработчика.
Желаю всем нам хорошей недели!
1 329
Repost from Макс Орлов Блог
Есть прикольные мысли на тему денег и свободы. Постараюсь найти время, чтобы поделиться на следующей неделе.
А пока, поделюсь небольшим достижением - прошел GTA Vice City 😁 Еще один шаг на пути к цели занял 25 часов.
Убедился, что это моя любимая часть из серии, потому что у неё какая-то прикольная атмосфера.
Ну и в детстве играл в неё больше всего. Тогда многие миссии казались сложными, а сейчас всё прошел довольно легко и с кайфом.
Кстати засомневался проходил ли я её раньше целиком? Чтобы прям до титров, потому что для этого нужно помимо основных миссий купить всю недвижимость в городе, типа таксопарка, и пройти эти миссии, чтобы получить звонок от Лэнса и доступ к финальной мисии.
Не скрою, что пару раз пришлось погуглить, а в детстве информация передавалась из уст в уста. Приятная ностальгия.
Установил San Andreas - моя нелюбимая часть. Графика там полная фигня, хотя в этой обновленной версии получше.
Хорошей недели, друзья!
1 329
Привет! Нужно сделать на Laravel магазин аналог rusavtomatika.ru, за плату. Желательно на двух языках. Обращайтесь пожалуйста в личку.
1 329
Серверы и масштабирование Часть 4 Нагрузочное тестирование
Нагрузочное тестирование - это отправка некоторого количества запросов для определения максимальной нагрузки, которую может держать приложение. То есть мы можем понять какое кол-во запросов способны обрабатывать наши серверы в секунду.
По факту мы можем получить лиш примерное представление, потому что запрос запросу рознь. У нас на сайте могут быть " лёгкие" разделы, которые не требуют обращения к базе данных, или наоборот "тяжелые" с большим кол-вом запросов к базе.
Поэтому здесь как вариант можно просто создать отдельный роут, в котором отправить несколько запросов к базе и получить таким образом что-то среднее для проведения нагрузочнгого тестирования этого роута. Конечно можно для этого использовать любые другие роуты нашего приложения.
Тут важно понимать, что опасно запускать такие тесты в продакшен, потому что сайт может сломаться вплоть до необходимости перезагрузки сервера, поэтому нужно действовать аккуратно и постепенно. ЛУчше сначала потренироваться отдельно на тестовом сервере.
Первый способ
В Linux есть такая утилита - AB. С помощью неё можно отправлять N запросов на определенный адрес. Строго говоря можно устроить простую DDos-атаку. Сразу скажу, что при отправке большого кол-ва запросов некоторые провайдеры могут всполошиться, потому что это может повлиять на стабильную работу серверов.
Но в целом для небольшого тестирования это хороший вариант. Короче устанавливаем AB и запускаем тест примерно с такой конфигурацией:
Отправить 100 запросов по 10 одновременно:
ab -n 100 -c 10 http://example.com
Отправить 1000 запросов по 100 одновременно:
ab -n 1000 -c 100 http://example.com
Отправить 1000 запросов по 500 одновременно:
ab -n 1000 -c 500 http://example.com
После завершения мы получаем полезную информацию, такую как кол-во неудачных запросов, время выполнения запроса, кол-во запросов в секунду и так дале. На основе этой информации может делать выводы и докручивать серверы.
Как докручивать серверы? Есть несолько основных параметров, которые сразу можно редактировать. Во первых конфигурацию Nginx (worker_connections), конфигурацию PHP-FPM (pm, max_children) и конечно конфигурацию сервера (процессор, память).
Еще полезно во время тестирования использовать утилиту HTOP в линукс, которая показывает потребление ресурсов сервера - процессора, памяти. Например если во время тестрования видим, что все ядра процессора загружены на 100%, значит логично добавить увеличить параметры сервера, тк добавлять воркеров смысла скорее всего нет.
Тут сложно дать какие-то четкие рекомендации, потому что в каждом проекте всё индивидуально + могут быть другие факторы, оказывающие влияние, например удалённость сервера. Конечно оптимизация самого приложения и запросов к базе данных тоже является важным фактором.
В целом это интересный опыт - отправить N запросов, посмотреть, добавить процессоров, опять запустить, посмотреть, добавить воркеров php-fpm, запустить, посмотреть и так далее. То есть пробовать разные варианты и смотреть как это влияет на результат.
Второй способ
Не многие знают, что в Postman (программа для отправки запросов) есть функция Runner, которая как раз нужна для теститрования производительности, например API нашего проекта. Честно я не пользовался этой штукой, просто знаю, что такая возможность есть. Мне больше нравится утилита AB, которую я могу запустить с отдельного сервера, отправить необходимое кол-во запросов на целевой сервер и посмотреть результат.
Заключение
Дополнительно хочу сказать, что кол-во запросов в секунду - это НЕ тоже самое, что кол-во пользователей онлайн. Например 1000 пользователей онлайн могут давать лишь 1-5 запросов в секунду, потому что юзеры не кликают кнопки постоянно, а читают контент, изучают и думают. Конечно это зависит от проекта, но в целом для ориентира даже 50 запросов в секунду по факту могут держать несколько тысяч пользователей онлайн.
1 329
Вышло предложение добавить в PHP BCmath (вычисления с повышенной точностью) объекты для работы с числами.
Очень похожую историю мы делали сами в уроке Как работать с деньгами на PHP.
Урок доступен в VIP-канале.
Как по мне - офигенная тема, надеюсь предложение примут.
https://wiki.php.net/rfc/support_object_type_in_bcmath
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
