• Что делать с джуниор программистом, который самоучка и не с этой планеты?

    BojackHorseman
    @BojackHorseman
    ...в творческом отпуске...
    недуг надо в подвиг определять! а вам - учиться оценивать риски. те самые пресловутые "умножить на три".

    вообще грузить джуна изменяющимся тз и дедлайнами - это высший пилотаж менеджмента. оценить задачу вместе с ним похоже тоже не судьба.

    что делать с неграмотным тим лидом и бестолковым проджект манагером? крайнего они уже нашли. джун)))
    Ответ написан
  • Есть ли смысл идти в хороший вуз с it направлением или лучше оставаться в домашней обстановке и заниматься самообучением?

    DevMan
    @DevMan Куратор тега IT-образование
    самообразованием по-любому придется заниматься, вне зависимости от вуза.
    но вуз кроме собственно образования помогает прокачать коммуникативные/социальные навыки и обрасти связями.
    Ответ написан
  • При выборе PHP фреймворка стоит ли обращать внимания на тесты скорости?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Имхо, бесполезная метрика. Давайте разберёмся почему.
    Что нам даст данная метрика? Ничего. Бизнес-логика и сетевые издержки съедают куда больше и на их фоне производительность движка даже не заметна. А если вспомнить что проект состоит не только из кода так вообще смешно становится
    Ответ написан
  • При выборе PHP фреймворка стоит ли обращать внимания на тесты скорости?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В текущий момент поддерживаю достаточно большой проект на фалконе, который был написан до меня. Так вот, всем кто там дрочил на сишные либы фалкона, мое вам имхо, основаное на годе поддержки этого проекта:

    1) Оно мегахреново переносится и очень криво становится на свежие системы. Корме того что половина гайдов по установке устарела, но все еще лежит на оф. сайте, гайды сообщества противоречат друг-другу, 90% из них не работает, а про некоторые дистрибутивы можете просто забыть, там они работать просто не будут.

    2) Оно все работает as is и хрен ты посмотришь как работает родная вьюшка/конторллер "внутри", а доки не сказать чтобы хорошо описаны, комьюнити слабенькое, многие вещи сделаны спорно, а поправить или что-то подкрутить дело неблагодарное.

    3) Теперь про самое интересное - скорость работы. Так вот, вся это мутотень про память и прочие плюшки на нормальном сервере не ощущается вообще, то есть переходя определенный предел мощности/вооруженности сервера скорость практически сравнялась с нативом (использовался ларавел и Уии на том же сервере, по замерам - плюс-минус то же по скорости, и чуть больше по памяти (центос, 64гб оперативы, 4 проца, нжинкс, пхп 7.2). Короче выгода была на ветке пхп 5.+, сейчас его актуальность практически равна нулю.

    4) В моем случае по приходу сервер регулярно падал при "серьезной" нагрузке (20-30рпс), в чем я изначально предположил вину старых модулей фалкона, но по факту оказалось что 99% нагрузки вносили ожидания запросов к бд, некоторые из которых были по 7-15 минут, а некоторые куски кода создавали по 80+ запросов с 1 страницы, просто дозапрашивая какие-то данные для вьюшки в цикле. Предыдущий "кудесник" кормил руководство отмазками типа - "мало памяти, железо слабое, все плохо, а то бы летало...". "Магия плохого железа" закончилась после оптимизации запросов и доведения самых тяжелых до 0,5 секунды, а так же выборки всех данных в 1-2 запроса с нормальными джоинами.

    5) Основной вопрос всегда сводится к жадности - взять что-то побыстрее из софта, сэкономив на хостинге/оборудовании. И оно всегда не работает так, по ряду факторов, которые достаточно очевидны.
    Ответ написан
  • Какой алгоритм вычисления средней оценки товара?

    like-a-boss
    @like-a-boss
    признайся, тебя тянет на код мужика
    Это называется среднее арифметическое. Сумма значений всех оценок / кол-во оценок.
    Ответ написан
  • Какой алгоритм вычисления средней оценки товара?

    New_Horizons
    @New_Horizons
    Бред:
    сложить оценки и разделить на количество оценок? сложно ппц, математика 3 класс
    Ответ написан
  • Как использовать Laravel Eloquent Relationships со сложными запросами?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    В чем вопрос-то? Для этого есть Builder запросов, в котором можно делать что угодно, отношения к нему никак не относятся и существуют параллельно.
    Ответ написан
  • Какие есть способы для сокрытия статических файлов в Laravel, желательно в рамках локального хранилища без сторонних API?

    glaphire
    @glaphire
    PHP developer
    Без привязки к фреймворку - просто хранить файлы в директории, к которой нет прямого доступа на уровне сервера (т.е. по-сути любая, кроме public), создать эндпоинт (экшен контроллера), который будет брать из этой папки файл и возвращать, ну и добавить внутри эндпоинта проверку на права доступа к файлу, т.е. никакие сторонние апи тут не нужны
    Ответ написан
  • (windows. forms) Почему не правильно вычисляет?

    @majstar_Zubr
    C++ & gamedev
    получается 3, потом от 3,6 отнимается 3, должно получатся 0,6


    В общем случае - нет, не должно.

    А вот если округлять правильно
    Math.Round(double_num,2); , то с указанной точностью всё гарантируется.
    Ответ написан
  • (windows. forms) Почему не правильно вычисляет?

    GavriKos
    @GavriKos
    Welcome to float.
    Потому что нет целых вычислений. 4/2 == 1.9999. Или 2.00001. Почитайте про представление чисел с плавающей точкой в памяти
    Ответ написан
  • Вывод print_r($request) Laravel 6.0?

    romka123
    @romka123
    Программист пытающийся стать предпринимателем.
    1. Всё дело в рекруссивном вызове методов. При вызове переменной $request - дёргается куча методов которые вызывают себя же и вам не хватает памяти. Для того, чтобы посмотреть содержимое переменной, можно использовать функцию toArray(), например так: dd($request->toArray());
    2. Заглянуть в папку vendor, естественно. Можно ещё подебажить с помощью X-debug. Но как правило оно вам нужно почти никогда. Читайте документацию, задавайте вопросы как сделать что то конкретное, если что то не понятно и вам подскажут как правильно. Фреймворк для того и предусмотрел кучу уровней абстракции, чтобы лишний раз не лазали внутрь. Хотя на определённом этапе это может быть полезно, чтобы понять, что хотел сказать автор библиотеки.
    Ответ написан
  • Как работать в symfony env в продакшне?

    glaphire
    @glaphire
    PHP developer
    В самой документации написано, что нет преимущества проброса env через сервер по сравнению с .env файликом на проде

    Most Symfony applications read their configuration from environment variables. While developing locally, you'll usually store these in .env and .env.local (for local overrides). On production, you have two options:

    Create "real" environment variables. How you set environment variables, depends on your setup: they can be set at the command line, in your Nginx configuration, or via other methods provided by your hosting service.
    Or, create a .env.local file just like your local development (see note below)
    There is no significant advantage to either of the two options: use whatever is most natural in your hosting environment.

    https://symfony.com/doc/current/deployment.html#b-...
    Ответ написан
  • Как правильно деплоить laravel проект?

    tommy-vercetti
    @tommy-vercetti
    Symfony/Golang
    Т.к вы не работали с системами контроля версий и не сталкивались с деплоем, то я не буду вам советовать CI/CD с различными ветками и тд. Вам сходу будет сложно разобраться.

    Предлагаю для начала более простой способ:

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

    У Laravel есть пакет Laravel Envoy. В файле Envoy.blade.php описывыем список команд что нужно сделать на сервере, подключившись по SSH.
    @task('production:deploy', ['on' => 'production'])
        cd /var/www/my-project-folder
    
        git pull origin master // подтягиваем изменения из репозитория
    
        php composer install --no-dev --optimize-autoloader
    
        php artisan migrate --force // запуск миграций
    @endtask

    И локально (на своем ПК) запускаем таску envoy run production:deploy. Envoy подключится по SSH к серверу и запустит там эти команды.

    Про работу с базамы данных:

    Должно быть несколько БД: локальная и продакшн.
    Допустим, я хочу добавить новое поле в БД. Для этого локально создаю миграцию (это обычный php-класс), описываю какое поле добавить и запускаю её. Коммичу изменения в git и делаю пуш в репозиторий. И запускаю таску envoy run production:deploy, а там у нас уже есть команда для миграций.
    Для генерации тестовых данных для локальной бд можно использовать сиды.
    Ответ написан
  • Как связать Java (Spring Boot) и Vue Js?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Настроить Nginx как единую точку входа.
    Ответ написан
  • Как подгрузить разные формы в Blade Laravel?

    neuotq
    @neuotq
    прокрастинация
    Blade в любом случае это рендринг на стороне сервера.
    Любые динамические действия это JavaScript(за редким исключением).
    Значит далее вы уже решаете каким путём идёте.
    Можно идти популярным ныне путём создания компонентов и постройки интерфейса на реактивных фронтэнед фреймворках. При это не значит что нужно переписывать весь код, весь сайт делать SPA и тд. И react и vue, да и angular (и тд) вполне можно использовать и в более меньших масштабах, для небольших интерактивных компонентов. Laravel умеет со многими дружить практически из коробоки, в сети полно инструкций на этот счёт. И этот путь я вам советую.
    Второй вариант, более классический. Это решение на jquery (хотя можно и чистым js). Здесь вы можете делать например Ajax запросы к серверу, и там генерировать, в том же blade, часть select, а потом динамически подгружать.
    Кстати в Blade сейчас тоже появились компоненты (Laravel 7) советую почитать, возможно будет полезно.
    PS кстати на счёт первого подхода, вместе с Laravel 7, недавно вышел Livewire , специально разработанный под Laravel фулстек фреймворк для создание динамических сайтов, советую глянуть. Позволит быстро строить разные штуки, и порог входа ниже и проще React и Vue. В нём больше ориентация на AlpineJS. И в любом случае, после изучения, будет легче потом и Vue и React и изучать если что.
    Ответ написан
  • Почему так много удаленки на Bitrix?

    Adamos
    @Adamos
    "Почему так много работы аниматором на утренниках и так мало ролей Гамлета? Я, идя в театральный, по-другому себе это представлял..."
    Вот примерно поэтому.

    Профессиональные клоуны вам, конечно, расскажут, что утренники - это стабильный доход, а Станиславского оставьте дома. Им важно уговорить себя, что деньги не пахнут и рвотные позывы от результатов собственной работы - это нормально... не будем им мешать.
    Ответ написан
  • Как добавить свою валидацию при регистрации в Laravel?

    @ynblpb_spb
    дятел php
    $validator = Validator::make($data, [
          'name' => 'required|string|max:255',
          'email' => 'required|string|email|max:255|unique:users',
          'password' => 'required|string|min:6|confirmed',
       ]);
    $validator->after(function ($validator) {
       // проводим проверку на соответствие с БД
       if (....) {
          $validator->errors()->add('key', 'Неправильный ключ');
       }
    }
    Ответ написан
  • С какой книги начать изучение проектирования по?

    @nexus478
    Проектирование приложений можно условно разбить на 2 уровня:
    1. Уровень проекта.
    Сюда входит понимание того, как приложение должно выглядеть в целом и из каких компонентов состоять, а также по каким принципам оно собирается взаимодействовать с внешним миром (если есть такая необходимость). Компоненты зависят от выбранной архитектуры - в случае монолитного приложения вам требуется понимать, как разбивать его на слои и в чем ответственность каждого слоя; в случае микросервисов вы также должны понимать, как очерчивать зоны ответственности и определять протоколы взаимодействия между ними.
    Книги о том, как проектировать приложения на общем уровне:
    1. Роберт Мартин. Чистая архитектура - очень короткая и простая книга, рекомендую начать с неё.
    2. Эрик Эванс. Предметно-ориентированное проектирование (принципы + стратегические шаблоны).
    3. Мартин Фаулер. Архитектура корпоративных приложений (часть 1).

    Уровень 2. Уровень модулей (классов).
    Когда вы спроектировали компоненты, из которых состоит ваше приложение, теперь надо спроектировать их внутренности - то есть разбить на более мелкие и конкретные модули. Тут вам пригодятся принципы объектно-ориентированное проектирования, принципы SOLID, паттерны.
    Книги по уровню 2.
    1. Банда четырех. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. Тут важно не только сами паттерны, но принципы, по которым они строятся. Концентрируйтесь на принципах.
    2. Роберт Мартин. Принципы, паттерны и методики гибкой разработки на языке C#. Тут более подробно рассматривается объектно-ориентированный дизайн и принципы SOLID в сравнении с его "Чистой архитектурой".
    3. Эрик Эванс. Предметно-ориентированное проектирование (тактические шаблоны).
    4. Мартин Фаулер. Архитектура корпоративных приложений (часть 2).
    5. Стивен Макконел. Совершенный код (сконцентрируйтесь на понимании Главного Технического Императива!).

    Этих книг вам будет достаточно, чтобы ориентироваться в проектировании приложений, всё остальное решает практика. Рисуйте схемы, концентрируйтесь на ответственности компонентов и их интерфейсах, учитесь отбрасывать ненужные детали реализации.
    Ответ написан