• Как понять причину блокировки РКН?

    SagePtr
    @SagePtr
    Еда - это святое
    "Как понять причину блокировки РКН" - никак, даже у кота, вылизывающего свою мошонку, причин на это куда большее, чем у РКН причин для блокировки всего подряд. Самый вероятный вариант - заблокировали за то, что нашли на нём mtproto-прокси, под надуманным предлогом борьбы с Телеграм.

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

    DevMan
    @DevMan
    1. для брю не нужен судо.
    2. сносите все что устанавливали и ставите как надо. brew install php
    Ответ написан
    Комментировать
  • Как получить таблицу "зеброй"?

    @EvgeniiR
    https://github.com/EvgeniiR
    А причем тут Symfony и Twig то?)
    Это делается одним CSS параметром :nth-child
    См. htmlbook.ru/css/nth-child
    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
      <title>nth-child</title>
      <style>
       table { 
        width: 100%; /* Ширина таблицы */
        border-spacing: 0; /* Расстояние между ячейками */
       }
       tr:nth-child(2n) {
        background: #f0f0f0; /* Цвет фона */
       } 
       tr:nth-child(1) {
        background: #666; /* Цвет фона */
        color: #fff; /* Цвет текста */
       } 
      </style>
     </head>
     <body>
      <table border="1">
       <tr> 
        <td>&nbsp;</td><td>2134</td><td>2135</td>
        <td>2136</td><td>2137</td><td>2138</td>
       </tr>
       <tr> 
        <td>Нефть</td><td>16</td><td>34</td>
        <td>62</td><td>74</td><td>57</td>
       </tr>
       <tr>
        <td>Золото</td><td>4</td><td>69</td>
        <td>72</td><td>56</td><td>47</td>
       </tr>
       <tr>
        <td>Дерево</td><td>7</td><td>73</td>
        <td>79</td><td>34</td><td>86</td>
       </tr>
       <tr>
        <td>Камни</td><td>23</td><td>34</td>
        <td>88</td><td>53</td><td>103</td>
       </tr>
      </table> 
     </body>
    </html>
    Ответ написан
    3 комментария
  • Обработка json запроса в php?

    @kastembay Автор вопроса
    Русич
    Ошибка - local.ERROR: Undefined index: id

    dd($request->all()) выводит
    array:2 [▼
      "_token" => "dXOYleK8Ev0b51JgnGjVrCLk9Xj8W2Lkto2gKB4w"
      "data" => array:3 [▼
        0 => array:2 [▼
          "id" => "3"
          "numflow" => "1"
        ]
        1 => array:2 [▼
          "id" => "4"
          "numflow" => "2"
        ]
        2 => array:2 [▼
          "id" => "6"
          "numflow" => "3"
        ]
      ]
    ]


    Убрал итерацию, но ошибка все равно присутствует Trying to get property 'id' of non-object

    Что-то я вообще не понимаю(((
    Ответ написан
    1 комментарий
  • Обработка json запроса в php?

    @aywan
    Универсальная не боевая единица
    User::find($u[$i]['id']); -> Здесь $u уже элемент из $num, то есть ['user'=>1, 'numFlow'=>1]. Не надо $u[$i], а сразу $u['user']
    Ответ написан
    Комментировать
  • Laravel 5 добавить hasher sha512?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Создаёшь свой юзер провайдер, делаешь в нём нужные операции, прописываешь его в конфиге... PROFIT!
    Ответ написан
    Комментировать
  • Какие области в веб - разработке осваивать в перспективе?

    dom1n1k
    @dom1n1k
    В общем у меня уйдёт на это 2 - 2.5 месяца. Только на основы!

    Ну обосраться. Два грёбаных месяца!!!1
    До чего докатилась индустрия, что 2 месяца воспринимаются как огромный срок. И всё чаще натыкаешься на статьи, где пишут о годовалых якобы мидлах и трехлетних якобы сеньорах.
    Лично я считаю, нужно потратить от 2-3 лет, чтобы начать более-менее прилично и системно ориентироваться в теме. В течении этих лет неоднократно будут возникать моменты, когда тебе кажется, что ты уже достаточно крут - но это только кажется.
    Нормальный специалист средней руки формируется около 3 лет. Не гуру, не сенсей, не сеньор - просто крепкий линейный боец. Это много где так, не обязательно в JS. И это нормально.
    Хочешь за несколько недель - иди установщиком пластиковых окон, как раз строительный сезон начался.
    Ответ написан
    11 комментариев
  • Какие области в веб - разработке осваивать в перспективе?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    В перспективе достаточно выучить/понять любой язык нормально. Т.е. понимать вообще что есть программирование и такие вещи как переменная/цикл/функция/условные операторы. Это всё везде одно и тоже, только под разным соусом.

    Все остальные будут учиться за пару открытий документации чтобы посмотреть синтаксис.

    Определитесь что больше нравится и выберите бекенд язык какой-нибудь.
    JS при любом раскладе надо уметь. (а еще html/css кудаж без них)

    И тогда будет обычный фулстек на выходе.

    js/php/html
    js/python/html
    js/ruby/html
    js/что угодно/html

    Вы сможете решать все задачи связанные с вебом.

    И учить фреймворки будет легче, потому что "учить" там ничего не надо.
    Достаточно уметь гуглить и понять основные принципы работы каждого из них.
    А язык-то там все равно JS/php/python.

    Сначала нужно выучить основы JS, а только потом уже разбираться с фреймворками

    Так и есть, иначе будете задавать вопросы из разряда:
    "как на jquery сложить два числа"
    "как на laravel сделать цикл"
    и т.д.
    Даже не понимая что ваш_фреймворк_нейм здесь вообще не причем, и делается это на языке JS/php/python, а не на jquery/laravel/django/ruby on rails. (это же относится и к CMS Wordpress, MODX, Битрикс, OpenCart.)

    В общем у меня уйдёт на это 2 - 2.5 месяца

    Нет, учиться вы будете не останавливаясь постоянно.

    Jquery не знаю, и есть ли смысл его сейчас учить когда существует Vue.js, и подобные ему фреймворки.

    это просто набор функций, и там учить ничего не надо, надо ссылку на документацию запомнить максимум.

    и где больше перспектив?

    тут только ванга поможет.
    Ответ написан
    2 комментария
  • Какие области в веб - разработке осваивать в перспективе?

    У вас каша в голове, связанная с отсутствием опыта решения задач.

    1. Ваш первый пункт вытекает из второго. Если вы умеете п. 2, то и п. 1 вы сможете научиться (быстро). Уметь только в CMS это примерно как уметь забивать гвозди только одного вида (а ведь могут потребоваться и другие гвозди).
    2. Вам нужно понимать, что есть задача, а есть инструмент. Все что вы перечисляете - это инструменты для решения задач. Какие инструменты изучать? Инструменты, которые подходят под задачи, которые вы решаете. Какие задачи вы решаете или хотите решать? Это основной вопрос.
    3. Не стоит обращать внимания на длительность уроков. Никто не начинает работать только после того, как просидит N часов за теорией и N часов за практикой. Осваиваете базу, начинаете что-то делать на реальных задачах и постепенно учитесь (не в ущерб времени и деньгам клиента конечно же).
    4. Этот пункт - продолжение третьего. Вы смотрели что такое jQuery? Вы пытались им пользоваться? Зная js, приучить себя к jquery можно за 3-4 проекта. Надо просто брать и делать, а не думать: "там по jquery уроков на 300 часов, видимо это слишком сложно для меня". Вам нужно брать и начинать.
    5. Задачи всегда бывают разные, следовательно и подбор инструментов тоже, следовательно нужно знать и jQuery и Vue.js, а не что-то одно. Не всегда же вы пилить SPA будете? Кому-то потребуется сделать простой калькулятор, чтобы человек мог его поправить потом. Будете использовать Vue, который клиент может не знать? Или все же jQuery или нативный js? Ответ очевиден.

    Опишу свою ситуацию:
    1. Начинал с HTML + CSS
    2. Начал учить JS и параллельно Jquery (никогда так не делайте, сначала js, потом jq).
    3. При набранном опыте я смог нормально освоить Vue за 1 проект (объемный).
    4. Так как иногда роюсь в PHP, освоиться в Laravel на уровне: есть проблема - знаю где посмотреть и как ее решить в случае чего, смог за 1 проект длиною в месяц.

    Все эти фреймворки и тд пишутся на том языке, который вы, по логике, уже должны знать, так что перестать бояться какой-либо фреймворк можно через неделю. Писать на нем что-либо толковое через 1 месяц.

    Поэтому вам нужно:
    1. Определиться с выбором области работы, судя по вашему вопросу у вас выбор между фронтом (javascript + frameworks) и беком (python, php + frameworks)
    2. Далее загуглить road map по фронту или бекенду (в зависимости от вашего выбора)
    3. Поступательно двигаться и не бояться.
    4. У вас еще хватит времени прожить счастливую и долгую жизнь.

    P.S вся эта арифметика со скоростью изучения фреймворком исключительно мой опыт, у кого-то быстрее, у кого-то медленнее. Дабы внести разъяснения, добавлю: я вполне себя спокойно ощущаю в том или ином фреймворке, однако не являюсь очень серьезным разработчиком.

    P.S.S Отвечая на главный вопрос: "Какие области в веб — разработке осваивать в перспективе?" - в перспективе нужно становиться разработчиком, у которого есть достаточно опыта в смежных областях, есть знания, помогающие решать те или иные задачи (чем сложнее задачи, тем больше ваша зп, тем вы ценнее), и постоянное развитие, так как наука продвигается, задачи и их сложность меняется, инструменты добавляются и так далее. И не забывайте, программирование это не только делать сайты или приложения, если области задач, не связанные с веб разработкой, но которые тоже интересны.
    Ответ написан
    7 комментариев
  • Как улучшить архитектуру и убрать дублирование?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Я бы сделал так. Тем более, если там добавятся еще методы, то вы утоните в if-ах при вашем подходе

    <?php
    
    namespace App\Controller;
    
    use App\Entity\User;
    use App\Service\UserService;
    use Symfony\Component\DependencyInjection\ServiceLocator;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Security\Core\Exception\AccessDeniedException;
    use Symfony\Component\Security\Core\Security;
    use Twig\Environment;
    
    interface AdminControllerInterface
    {
        public function index(): Response;
    
        public function read(string $id): Response;
    }
    
    class UserController implements AdminControllerInterface
    {
        /**
         * Security - объект-helper, он содержит в себе AuthorizationCheckerInterface
         *
         * @var Security
         */
        private $security;
    
        /**
         * @var ServiceLocator
         */
        private $controllerLocators;
    
        public function __construct(Security $security, ServiceLocator $controllerLocators)
        {
            $this->security = $security;
            $this->controllerLocators = $controllerLocators;
        }
    
        public function index(): Response
        {
            $role = $this->getRole();
    
            if (!$this->controllerLocators->has($role)) {
                throw new AccessDeniedException();
            }
    
            /** @var AdminControllerInterface $controller */
            $controller = $this->controllerLocators->get($role);
    
            return $controller->index();
        }
    
        public function read(string $id): Response
        {
            $role = $this->getRole();
    
            if (!$this->controllerLocators->has($role)) {
                throw new AccessDeniedException();
            }
    
            /** @var AdminControllerInterface $controller */
            $controller = $this->controllerLocators->get($role);
    
            return $controller->read($id);
        }
    
        private function getRole(): string
        {
            // Для простоты представим, что роль у пользователя одна. Иначе искать среди ролей
            // ROLE_SUPER_ADMIN и ROLE_CUSTOMER_ADMIN и возвращаем с соответствующим приоритетом
            return current($this->security->getToken()->getRoles());
        }
    }
    
    class SuperAdminController implements AdminControllerInterface
    {
        private $userService;
    
        /**
         * @var Environment
         */
        private $twig;
    
        public function __construct(
            UserService $userService,
            Environment $twig
        ) {
            $this->userService = $userService;
            $this->twig = $twig;
        }
    
        public function index(): Response
        {
            $users = $this->userService->getAll();
    
            return new Response($this->twig->render('admin/users.html.twig', [
                'users' => $users
            ]));
        }
    
        public function read(string $id): Response
        {
            $user = $this->userService->getById($id);
    
            return new Response($this->twig->render('admin/user.html.twig', [
                'user' => $user
            ]));
        }
    }
    
    class CustomerAdminController implements AdminControllerInterface
    {
        private $userService;
    
        /**
         * @var Security
         */
        private $security;
    
        /**
         * @var Environment
         */
        private $twig;
    
        public function __construct(
            UserService $userService,
            Environment $twig
        ) {
            $this->userService = $userService;
            $this->twig = $twig;
        }
    
        public function index(): Response
        {
            /** @var User $user */
            $user = $this->security->getUser();
    
            $users = $this->userService->findByRoleAndWorkspaceId(
                User::ROLE_TEAM_MEMBER,
                $user->getWorkspace()->getId()
            );
    
            return new Response($this->twig->render('user/users.html.twig', [
                'users' => $users
            ]));
        }
    
        public function read(string $id): Response
        {
            $user = $this->userService->getByIdAndWorkspaceId($id);
    
            return new Response($this->twig->render('user/user.html.twig', [
                'user' => $user
            ]));
        }
    }


    app.admin_controller_locator:
        class: Symfony\Component\DependencyInjection\ServiceLocator
        arguments:
            -
                ROLE_SUPER_ADMIN: '@App\Controller\SuperAdminController'
                ROLE_CUSTOMER_ADMIN: '@App\Controller\CustomerAdminController'
        tags: ['container.service_locator']
    Ответ написан
  • В чем смысл быть гуру тостера?

    NeiroNx
    @NeiroNx
    Программист
    Когда ты думаешь что все знаешь, заходишь на тостер, начинаешь читать вопросы и понимаешь что не знаешь даже и половины. Начинаешь изучать что-то новое - знаешь уже больше. Учишься искать ответ в интернете быстрее чем это сделают другие.
    Ответ написан
    2 комментария
  • В чем смысл быть гуру тостера?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Если верить некоторым гражданам, то всё потому, что такие гуру:
    1) очень умный чтоли,
    2) задроты, которым бабы не дают,
    3) ничего из себя не представляют и только тут натирают своё ЧСВ.

    А если серьёзно, то «прокачанные» аккаунты на Тостере и Гитхабе уже давно позволяют мне тратить меньше времени на собеседованиях, не выполнять тестовых заданий и иногда получать приглашения на конференции.
    Ответ написан
    10 комментариев
  • В чем смысл быть гуру тостера?

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

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

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

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

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Потому что ты не разобрался с гвардами и юзер провайдерами, как я тебе советовал в прошлом вопросе.

    Как можно избавиться от проверки пароля в Auth::attempt?
    Создать свой юзер провайдер. attempt сам ничего не делает, он передаёт массив данных (логин/пароль/токен/ФИО/что-угодно) юзер провайдеру, который уже знает, что с этим делать и как это проверять.
    Ответ написан
    Комментировать
  • Как сформировать команду для IT компании?

    @qoso
    Да Вы хоть все сайты перелопатьте и выучите наизусть какие программисты бывают и какие нужны, у Вас НЕТ КОМПЕТЕНЦИЙ чтобы их собеседовать, Вы не сможете элементарно понять, кто из них реально хорош, а кто вчерашний джун, думающий что все могёт. Понимаете, не зря в мире стартапов есть золотое правило, что если в стартапе нет технаря, то до свидания. Вам нужны не просто программисты, Вам нужен опытный инженер, который правильно спроектирует систему и будет руководить разработкой. Так что найдите нормального СТО и избавьте себя от множества проблем.
    Ответ написан
  • Как написать запрос правильно Laravel?

    netrox
    @netrox
    foreach ($filters as $filter) {
      
                if ($filter['operation'] === 'in') {
                    $builder = $builder->whereHas('resource', function ($query) use ($filter) {
                        $query->whereIn($filter['name'], $filter['value']);
                    });
                } else {
                    $builder = $builder->whereHas('resource', function ($query) use ($filter) {
                        $query->where($filter['name'], $filter['value']);
                    });
                }
            }
    Ответ написан
    6 комментариев
  • Как работать командой над большим проектом?

    Kozack
    @Kozack
    Thinking about a11y
    1. Договор стоит заключать со всеми
    2. У вас должен быть отдельно сервер для разработки и сервер продакшена. Ко второму доступ имеют только отдельные сотрудники которые занимаются деплоем.
    3. Сам проект стоит разделить на несколько подпроектов. По типу back-end, interface app, api app и для каждого сотрудника выдавать доступы только в пределах подпроекта, наказав следить за обратной совместимостью. Так вам будет проще, скажем, написать интеграционные тесты
    4. Обязательна система контроля версий. Во многих, насколько я знаю, можно ограничивать доступ для разных сотрудников
    Ответ написан
    1 комментарий
  • Как правильно настроить автодеплой в веб разработке?

    crashxd
    @crashxd
    Backend разработчик
    Для деплоя кода попробуй что-нибудь типа deployer.
    Для баз данных почитай про миграции.

    Также почитай про Continuous Integration, есть множество ПО в этой области.
    Ответ написан
    4 комментария