• Использование транзакций в сервисах?

    @vanillathunder
    Мухи отдельно, котлеты отдельно. Логику нужно хранить в одних методах, транзакции с вызовом логики в другом.
    Ответ написан
    Комментировать
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @itsjustmypage
    Если взяли, значит устраиваешь. Продолжай штудировать и спрашивать. Английский технический довольно простой и переводчики такое нормально переводят.

    KEEP-CALM-POSTER-LOW_large__78588.129146
    Ответ написан
    Комментировать
  • Как сверстать такую сетку?

    @UndineS
    гриды (display: grid и свойства для описания гридов) позволяют задать такое.

    С помощью гридов можно на уровне родительского блока указать стандартную ширину/высоту ячейки сетки (как в долях от экрана, так и в пикселях, в процентах, чередуя различные варианты), а уже у конкретного блока указывать границы его начала/окончания по вертикали и по горизонтали, основываясь на сетке, описанной в родительском блоке (например, указать, что первый блок по высоте идет от линии 1 до линии 3, а по ширине - от линии 1 до линии 2 и т.п.). Можно даже в описании родительского блока указать, какие ячейки должны занимать потомки, указывая их класс (пример тут: https://developer.mozilla.org/en-US/docs/Web/CSS/C... )

    Подробнее о гридах на русском языке тут: https://developer.mozilla.org/ru/docs/Web/CSS/CSS_...
    Ответ написан
    Комментировать
  • В каких случаях надо писать тесты для сайтов на фреймворках?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Вам стоит перефразировать свой вопрос, потому что из приведённых вами ответов все являются правильными.

    Настоящий вопрос звучит так: "Какую ценность несут тесты?". А ещё точнее, вот так: "Какую ценность лично для меня несут тесты?". И именно из такой постановки и вытекает правильность любого ответа - кто-то прекрасно обходится без тестов, кто-то предпочитает писать их на всё, а кто-то выбирает нечто среднее между этих двух крайностей.

    Вы пробовали их писать вообще? Если пробовали, то зачем? Потратили ли вы это время зря? Есть ли у вас бюджет на тесты?

    Если у вас есть какой-то приличный опыт написания тестов для настоящих проектов и нет понимания их ценности, то вам их писать не нужно. Если опыта нет - его нужно получить и дальше см. предыдущее утверждение.
    Ответ написан
    Комментировать
  • Проектирование структуры приложений для начинающего?

    @EvgeniiR
    https://github.com/EvgeniiR
    Роберт Мартин, "Чистая Архитектура", "Чистый код", "Идеальный программист"
    Макконнелл, "Совершенный код".

    Далее по ситуации, Фаулер, Эванс, Кент Бек и т.п.

    Заменять чтение книг собиранием по крупицам информации в интернете ни в коем случае не советую.
    Ответ написан
    28 комментариев
  • Есть ли open sourse Документооборот?

    @d-stream
    Готовые решения - не подаю, но...
    Нужно сделать документооборот для организации собственными силами
    А силы есть?

    Ну а если не такого то подскажите на каком языке лучше писать
    а где сила?

    Предлагаю начать с простого: на простом русском языке расписать подробное техзадание/требования к СДО на предприятии и схему внедрения. После этого уже думать дальше или же останавливаться.
    Ответ написан
    Комментировать
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Первое, что бросается в глаза - это многократное копирование массива. Представьте, что при сортировке мы бы после каждых двух-трех перестановок делали бы полный дубликат массива. Это же ужас! И это слабое место, постоянное перевыделение памяти больших размеров.

    Второе, что тоже важно - это сложность O(N*N). В вашем случае это критично, потому что много элементов в исходном массиве.

    Предлагаю немного изменить алгоритм. Делаем одно прохождение, но немного увеличиваем потребление памяти, в которой храним интервалы. Таким образом, мы избавляемся от постоянного копирования массива, а также уменьшаем сложность примерно до O(N).

    И маленькая оптимизационная хитрость - поиск интервала происходит по индексу, то есть O(1). Нужно немного поразмыслить, чтобы до этого догадаться, но в целом всё просто.
    Код
    <?php
    $arr = [100,125,75,175,25,300,275,325,375];
    $step = 50;
    
    $b = []; //-1 - deny, 0 - not set, 1 - has interval
    $int = []; //intervals if necessary 
    $step2 = intdiv($step,2);
    $arr = array_values(array_filter($arr, function($v) use ($step2,&$b,&$int) {
        $i = intdiv($v,$step2);
        $mod = $v % $step2;
        $res = true;
        if (isset($b[$i])) {
            if ($b[$i] === -1) $res = false;
            elseif ($mod < $int[$i][0] or $mod > $int[$i][1]) $res = false;
        }
        $b[$i] = -1;
        $b[$i+1] = -1;
        $b[$i-1] = -1;
        if (!isset($b[$i+2])) {
            $b[$i+2] = 1;
            $int[$i+2] = [$mod,$step2];
        } elseif ($b[$i+2] === 1) {
            if ($int[$i+2][0] < $mod) {
                $int[$i+2][0] = $mod;
                if ($int[$i+2][0] >= $int[$i+2][1]) $b[$i+2] = -1;
            }
        }
        if (!isset($b[$i-2])) {
            $b[$i-2] = 1;
            $int[$i-2] = [0,$mod];
        } elseif ($b[$i-2] === 1) {
            if ($int[$i-2][1] > $mod) {
                $int[$i-2][1] = $mod;
                if ($int[$i-2][0] >= $int[$i-2][1]) $b[$i-2] = -1;
            }
        }
        return $res;
    }));
    
    var_dump($arr); // [100, 175, 25, 300, 375]
    ?>

    Переписав алгоритм на С++, получите дополнительно 50-кратное увеличение скорости.
    Ответ написан
    3 комментария
  • Почему не берет данные из другой бд?

    uDenX
    @uDenX
    PHP Developer
    Читаем документацию: https://symfony.com/doc/current/doctrine/multiple_...
    $entityManager = $this->getDoctrine()->getManager('default');
    $customerEntityManager = $this->getDoctrine()->getManager('customer');
    Ответ написан
    1 комментарий
  • Что неправильно в регулярке?

    0xD34F
    @0xD34F Куратор тега Регулярные выражения
    /^\d{2,3}-\d{2,3}$/
    Ответ написан
    Комментировать
  • Symfony, Doctrine, PostgreSQL. Как правильно организовать связи между сущностями?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Можно ли организовать доступ к полям сущностей так, как это было бы при наследовании, при этом храня общие поля в таблице Users (как это сейчас в базе и есть)?
    class Saler extends User{...}

    в базе получалось так, что все таблицы создавались полностью с родительскими полями. Это не совсем то, что хотелось бы.


    Вот то — поля родительской сущности в отдельной таблице, в своей только индивидуальные
    Class Table Inheritance

    UPD: Немного перепутал с типом наследования, не single table, а class table конечно. Возможно вы разобрались, но другим пометки
    Ответ написан
    1 комментарий
  • Каковы _существенные_ (практически значимые) отличия Symfony от Laravel?

    @EvgeniiR
    https://github.com/EvgeniiR
    Eloquent = Doctrine?)
    Советую вам хоть немного разобраться что это такое, и какие паттерны реализованы в Доктрине, а какие в елоквенте.

    Мне в Laravel понравилась свобода - то есть при желании я могу запросто напихать в шаблоны PHP-код и в запросы к базе - RAW-SQL и запихнуть эти запросы хоть в роутер))))
    Пишите на чем угодно, все равно в помойку отправится, потому что подерживать такое никто не будет.
    Фреймворк для того что вы хотите делать не нужен вообще.

    А то мне сейчас нужно сайт-сообщество сделать, и я пока так и не нашел годный готовый опенсорсовый движок для этого на основе Laravel.

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

    Вы наслушались где-то про фреймворки, и теперь пытаетесь рассуждать о них даже не понимая что это такое и для чего они нужны.
    Вам нужен готовый конструктор / CMS
    Ответ написан
    Комментировать
  • Как с помощью css сделать вот такой стиль фото?

    SkiperX
    @SkiperX Куратор тега CSS
    https://kazzkiq.github.io/svg-color-filter/

    выстави значения как тут
    640a019443.jpg


    почитать подробнее
    https://alistapart.com/article/finessing-fecolormatrix/

    вот тут пример, на ховере svg фильтр
    https://theblueprint.ru/
    Ответ написан
    Комментировать
  • Ошибка EntityManager#remove() expects parameter 1 to be an entity object, array given. - как исправить?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Если вы предполагаете, что придет одна сущность, то получайте объект правильно:
    $repository->findOneBy() вместо вашего $repository->findBy()
    В противном случае у вас приходит массив с одним элементом
    Ответ написан
    1 комментарий
  • В чем смысл быть гуру тостера?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    1. Работа над личным брендом: Высокая репутация в профессиональных сообществах повышает привлекательность для нанимателей.
    2. Улучшение существующих знаний: Хочешь что-то понять, объясни другому.
    3. Приобретение новых знаний: Специализация замыкает в узком спектре задач и проблем, а Q&A-сервисы - это источник задач и проблем из самых разных областей и иногда под самыми неожиданными углами.
    4. Альтруизм: Большинству из нас кто-то помогал в начале пути, пришло время возвращать долг и делать свой скромный вклад в рост кадров.

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

    Для чего просиживаете на тостере по 5-6 часов в день?

    Я в среднем раз в полчаса-час заглядываю. Если находится интересный вопрос, могу потратить на него минут 10. Некоторые на перекуры больше времени тратят.
    Ответ написан
    7 комментариев
  • Задача коммивояжера. Как оптимизировать маршрут по забору груза c контрольных точек?

    Beshere
    @Beshere
    Разработчик
    Глава 14 книги Лафоре "Структуры данных и алгоритмы Java" посвящена данному вопросу - рекомендую ознакомиться.
    Ответ написан
    Комментировать
  • Есть у кого инструкция как установить готовый проект symfony на openserver?

    crashxd
    @crashxd
    Backend разработчик
    Устанавливаешь через composer. В документации в разделе установки все подробно описано.
    Ответ написан
    Комментировать
  • Как зарабатывать 1000$ на фрилансе верстальщику?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    3 года верстаете на фрилансе и до сих пор не поняли, что верстка бесперспективное направление?! 3 года уже точно как!

    Для развития и большего заработка нужно учить js --> js фреймворки (angular, react, vue, ... ).
    + Чтобы что-то заработать нужно знать английский и выходить на иностранные биржи (на upwork посадка на wp весьма актуальный заказ).
    + Научиться работать по часам, сейчас и отечественные уже переходят на такой формат работы.
    + Если 30 отзывов уже есть, то и сами понимаете что умение предложить свои услуги на приличный проект тоже немаловажный аспект.

    Посмотрите на требования в вакансиях, посмотрите какие заказы более оплачиваемы на фрилансе и поймете что еще нужно подтянуть.
    Ответ написан
    2 комментария
  • Обучение в хорошем вузе с "проблемами" или обучение в "так-себе" вузе, но "без проблем"?

    platotel
    @platotel
    IT Product Manager
    Есть альтернативный вариант: поступить в топовый ВУЗ на ту специальность, куда хватает баллов, а после первого (максимум - второго) курса перевестись на ту специальность, на которую изначально хотелось. Сама проходила такой путь. Надо понимать, что при переходе на другую специальность нужно будет сдать академическую разницу (сдать те предметы, которые есть в учебном плане целевой специальности, но которых не было у вас) в установленный срок, да и вообще организовывать переход придётся самому (узнавать в целевом деканате, готовы ли вас взять, как в плане бумаг и процесса будет выглядеть перевод, где посмотреть учебные планы, чтоб понять академ. разницу и т. п.). В деканатах да и вообще практически нигде возможность переходов внутри ВУЗа и между ВУЗами особо не афишируется. Никто особо не рассказывает, что так вообще можно, как и не описывается, что для этого требуется. На родной кафедре могут оказывать психологическое и административное давление, не подписывая бумаги о переходе (кафедры не хотят терять финансирование, привязанное к количеству студентов), но если это преодолеть, сдать в установленные сроки разницу в предметах, то можно оказаться на изначально желаемой специальности вместе с теми, кто попал по олимпиадам или по очень высоким баллам ЕГЭ. Если переходить, то чем раньше, тем лучше. Если правильно помню, в течение 1 курса переводы запрещены, а вот сразу после 1 курса - идеальное время. Лучше узнать процесс до начала сессии, чтобы до летнего отпуска преподавателей понять, к кому, когда и зачем бежать, и успеть всё подписать.

    По опыту работы замечала, что более квалифицированные специалисты преимущественно обучались в топовых ВУЗах, да и во время обучения окружение очень важно (будет тянуть вверх, а не вниз), так что я бы посоветовала пытаться попасть именно в ВУЗы первого эшелона. Единственное: надо понимать, что на престижных кафедрах могут быть очень высокие требования к успеваемости, и если пытаться с 2-3 курса работать, можно не суметь сбалансировать учёбу и работу - и попросту вылететь. После отчисления не у всех хватает силы воли, времени и мужества опять пойти учиться (отчисление считается социально неприемлемым вариантом, хотя ничего непоправимого в нём нет).

    Самообучением в любом случае придётся заниматься. В том же ИТМО сидеть с тобой рядом и обучать программированию никто не будет. Дали лекции, дали задания - делаешь, сам разбираешься. Другое дело, что в топовом ВУЗе лекции и учебный план будут ближе к реальности, ближе к практике. Условно: будет не Паскаль, а Java и С#. Но нужно в любом случае пообщаться со студентами старших курсов и/или недавними выпускниками конкретной кафедры (найти в ВК по её названию и годам обучения). Узнать, насколько образование помогло в работе, помогает ли кафедра хоть как-то с трудоустройством, сколько людей идут работать по специальности, насколько легко совмещать учёбу с работой с 3-4 курса. Посмотреть и сравнить учебные планы по конкретным направлениям на конкретных кафедрах. Например, в СПбГУ на программерских специальностях даётся много математики, которая далеко не всем пригодится.

    Лично мне очень пригодились знания, полученные в ВУЗе (процентов на 70-80). Я работаю по специальности, и понимаю, что обучение дало мне хорошую базовую подготовку. А дальше уже самообразование помогло углубиться в то, что мне ближе.

    Насчёт варианта "не поступать" - надо понимать риски. Да, можно устроиться работать программистом, имея должные навыки и не имея диплома, но надо представлять, чем вообще по жизни хотите заниматься и где. Например, во многих западных компаниях для того, чтобы занять верхние управленческие позиции, нужно иметь или определённый уровень образования (бакалавр либо магистр), либо иметь сколько-то лет эквивалентного опыта. Да и в российских компаниях могут быть требования об обязательности высшего образования. Но самое главное - обучение в ВУЗе - это не только и не столько знания. Это прежде всего профессиональные контакты, круг общения. IT-мир довольно тесен, и одногруппники могут быть в вашей жизни больше, чем приятелями. Они могут помогать развиваться, помогать найти работу, рекомендовать вас и т. п. Это очень ценно.
    Ответ написан
    Комментировать
  • Как зарабатывать 1000$ на фрилансе верстальщику?

    Sanes
    @Sanes
    Найти покупателей на $1000. Фриланс это предпринимательская деятельность.
    Ответ написан
    Комментировать