• Как грамотно создать сайт с 0?

    @jazzus
    Нужно взять хостинг, который автоматом умеет ставить WordPress. Он все настроит и пришлет доступы. Далее останется только выбрать шаблон и поставить плагины. Но это уже как в игру играть
    Ответ написан
  • Как сделать лендинг с корзиной?

    @jazzus
    Наверняка есть верстальщик, который смог бы сверстать сайт мечты где угодно без проблем. И который ищет дизайнера. Потому что он пробовал ФШ и это АД какой-то, шаблонность, ограниченность, да еще и оплату просят по тысяча/месяц. Короче вы подружитесь)
    Ответ написан
    Комментировать
  • Какое дистанционное образование существует (вопрос внутри)?

    @jazzus
    Комплексная защита объектов информатизации

    Я аж поперхнулся.. Учитель информатики в смысле в ФСБ?
    Ответ написан
    5 комментариев
  • Заочное обучение на программиста?

    @jazzus
    Я бы не советовал заморчиваться. Возможно это даже отрицательно повлияет, когда будете устраиваться на работу.. Левая заочка? Не топовый супер вуз? Без побед чемпионата мира по программированию и фотографий из ла? Тогда смысл? Спросят учился ли где - говори что веришь в интуицию. Скоро бумажки совсем отменят и что с ней делать? Есть конечно варианты, но и то сомнительно. Поэтому - ютуб, практика, [гитхаб, тостер, доки]. Наверное можно на курсы базовые. На начальных этапах - когда только одни вопросы и нет ответов, я думаю будет полезно в команде с живым учителем на которого их можно направить.
    Ответ написан
    Комментировать
  • Онлайн курсы есть ли толк?

    @jazzus
    Конечно есть толк если их продавать (но это не точно)
    Ответ написан
    Комментировать
  • Какой уровень математики необходим для работы с машинным обучением?

    @jazzus
    Как почти профессиональный программист я вам отвечу:
    1. Математика программисту необходима
    2. Без математики программист не сможет мыслить математически, создавать сложные взаимосвязные формулы, не только видеть числа, но и смотреть, что ЗА ними. Без математики вы станете еще одним программистом, не знающим математику.. Оно вам надо?
    3. Хотите быть программистом, учитесь считать.
    Вот такие 4 пункта я вам предложу, но выбор за вами.
    Ответ написан
    2 комментария
  • Как разобраться в Vue?

    @jazzus
    Только практика. Потому что мозг человека так устроен – он будет эффективнее запоминать устройство копья во время охоты, а не когда смотрит на березу) С природой и гормональным фоном не поспоришь – вы гораздо быстрее и эффективнее других все выучите (в том числе и основы). А то, что есть в книге - мозг запоминать не будет т.к. это и так в книге есть. Любой начинающий программист это понимает. В следствии неизбежного развития логики)) Документация, основы, термины, понятия – все постепенно подтянется в процессе. Только вы не просто узнаете, что такое массив, но и зачем он на этой планете. Что касается материалов.. Я сам его начал 2 мес. назад изучать без базовых курсов. Действительно док самый лучший ресурс. Видео тоже есть простые и понятные, но по докам мне быстрее получилось узнать, как делать то, что требовалось. С видео есть проблема - они жутко занудные, смотреть сложно и неинтересно. Но на начальных этапах (например когда инсталируешь и пишешь хелло ворлд) - видео самый лучший источник знаний т.к. показывает куда щелкать мышкой. Еще примеры с github. Был один пример в связке с LAravel, ссылки уже не осталось, по нему я 90% логики понял как vue с ларавель работают. Так понятно он там все написал. Поэтому советую github юзать в процессе практики. А так Vue прикольная штука, но бесячая иногда. С этой его реактивностью.. капризной) На ларавеле после него отдыхаешь. Там как написал так и будет, а vue нужно уговаривать чутка) Хотя шаблоны удобнее и быстрее собрать на vue т.к. можно много запросов делать из разных контроллеров без перезагрузок
    Ответ написан
    Комментировать
  • Каким образом сделать связи между четырьмя и одним изначально не существующим объектом?

    @jazzus
    Как бы не хотелось сейчас создать 3 таблицы для одинаковых сущностей – не делайте этого. Совет от новичка) Потом замучаетесь рефакторить, а рефакторить структуру бд – это все сносить и делать заново. И вы будете это делать. Потому что юзеры в разных таблицах принесут вам проблемы.

    Нужно сделать модели (таблицы)
    User (все пользователи)
    Role (именование ролей – учителя, ученики и т.д.)
    UserRole (с полями user_id и role_id)

    User связывается с Role через ManyToMany
    В модели user
    public function roles()
        {
          return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');
        }

    В модели Role

    public function users() {
            return $this->belongsToMany('App\User', 'user_roles', 'role_id', 'user_id');
          }

    Можно проще записать но лучше так. Теперь у вас есть связь между ролями и юзерами через промежуточную таблицу 'user_roles'. Почему именно так:
    1) У вас будет одна таблица вместо 10 для любых изменений, связанных с пользователями. Например, добавить новое поле, изменить поле ит.д. Вы это будете делать 1 раз, а не 10, исключая ошибки человеческого фактора
    2) Вы захотите добавить правила доступа. А для этого нужна будет еще одна таблица Perm. Которая будет привязана к ролям. И сделать это будет легко и просто в данной структуре и права доступа вы потом будете менять в несколько кликов.
    3) С несколькими таблицами юзеров у вас будет запутанная раздутая логика со множеством моделей, переменными , вы замучаете ларавелю, запутаетесь сами и снесете все нафиг.

    Ладно, модели создали)) Теперь при регистрации добавим роль пользователю. Допустим учитель регистрируется и выбрает себе роль учитель (пускай будет чекбокс с полем role где value это ид роли).

    В контроллере регистрации (если стандартном ларавелевском) идете в метод
    protected function create(array $data)

    и пишете после создания юзера

    $user->roles()->attach($data['role']);
    После чего у вас автоматом создастся запись в промежуточной таблице и юзеру будет присвоена роль учителя. Готово. Теперь вы можете делать все что угодно.

    Например
    получить пользователей указанной роли в контроллере

    $teachers = Role::find(3)->users()->get();
    Правильно написал? только цифры нужно поменять на константы и вообще лушче сразу в модели написать один метод для получения юзеров любых ролей (подставлять название константы роли через переменную) – но это ладно, потом просто передалть. На этом все) Только после создания ролей можно приступать к группам и это уже нужно выносить в отдельный вопрос.
    Ответ написан
    2 комментария
  • Что делать если обманул фрилансер?

    @jazzus
    Попробуйте "пробить" человека по каким-либо контактам через которые вы работали (емейл, в файлах исходников, ник, телефон и т.д. - по цепочке). Обычно в сети можно выйти на человека. Напишите ему, сообщите его контакты, что вы обратились в полицию. И вежливо попросите вернуть в ближайшее время, чтобы вы успели забрать заявление. Мы так вернули деньги от 100% мошенника (сумма была гораздо больше чем у вас). Но у вас ситуация спорная. Скорее даже судебная. Т.к. вам он что-то выслал. Если он это понимает, то это плохо. И это все при условии, что то что он выслал не относится к сделке. Если относится, то это уже не мошенничество, а "низкое качество исполнения" по-вашему мнению и нужно разбираться
    Ответ написан
    Комментировать
  • Какую связь в Laravel использовать если нужно неким пользовательским группам добавлять задания?

    @jazzus
    Создать связующие таблицы между всеми сущностями в отношениях, сделать связь в моделях многие ко многим и делать потом записи в связующих таблицах через метод ->attach()
    Ответ написан
    Комментировать
  • Почему не находит метод validate?

    @jazzus
    Попробуйте прописать дополнительно use App\Http\Requests;
    И лучше валидировать отдельным реквест файлом чтобы код потом не дублировать
    Ответ написан
    Комментировать
  • Почему получаю GET при axios.post?

    @jazzus Автор вопроса
    Ошибка была в контроллере на бэке (редирект при проверке переменной).
    Ответ написан
    Комментировать
  • Сколько платить за аренду движка интернет-магазина?

    @jazzus
    Обновляет базу товаров

    Уникальный контент или спарсить с конкурента?

    Если уникальный, значит:
    Добавляет товары с уникальными описаниями для индексации
    Создает вложенные категории с уникальными описаниями
    Прописывает метатеги у товаров и категорий
    Проверяет себя на ошибки (и не только орфографические, но и по информативной части)
    Отслеживает комплектации
    Обновляет изображения
    Отслеживает наличие
    Отслеживает цены

    Если не уникальный контент, то все равно нужно синхронизировать с реальность (цены, наличие, изменения описаний, фото, комплектации и т.д.).
    Это может стать самым затратным и дорогостоящим в онлайне. Самих движков полно, программист не нужен, любой школьник сделает за 100 рублей. Денег будет стоить контент, поддержание, хотелки и доработки. Но, как обычно - онлайн только кажется простым и не затратным мероприятием, любые решения несерьезного подхода в этом направлении (типа взять программиста с сайтом) не принесут результата, только геморой и убытки. Пример: ваш программист решил заняться музыкой, вы ищете другого, который сливает вашу базу конкурентам и вешает в код вирус. В общем если не хотите вникать в cms, совет - берите аутсорс в какой-то крупной компании (будет стоить денег) либо набирайте группу людей (еще дороже), но не одного на удаленке
    Ответ написан
  • Когда начать изучение ЯП на английском?

    @jazzus
    Не знаю насколько мой пример применим (я новичок) - я стартовал по роликам на Ютуб на английском языке. На русском смотреть не мог - либо очень нудно (грузят теорией), либо непонятно. Только не смотреть парня из Индии, он там заспамил все своими роликами с жутким говнокодом (делает запросы к бд из шаблонов). Я после него переосмысливал заново, что и как работает. А вообще видео смотреть, как кто-то кодит - то еще удовольствие (также весело, как на стену смотреть). Сейчас изучаю по тостеру + документация, но 1,5 месяца назад доки было совсем не осилить т.к. важно, что как запускается, где и в каких файлах - это на видео хорошо видно и с нуля в доки сразу не въехать. Поэтому с доков начинать не рекомендую, можно потерять интерес. Мне кажется практика, а потом уже теория (когда ты понимаешь про какие объекты и массивы речь) - будет более рабочей схемой
    Ответ написан
  • Основы, алгоритмы, проектирование. Как начать?

    @jazzus
    Начинать полюбому с практики. Это в разы лучше по всем параметрам:
    Занимаясь практикой, ты неизбежно учишь теорию
    Ты не только узнаешь, что такое массив, но и ЗАЧЕМ он существует в этом мире
    Практика формирует из тебя человека дела, а не любителя волейбола
    С практикой ты достигаешь целей, которые можно пощупать или увидеть, а значит мотивация сама по себе (без психотренингов) будет несоизмеримо сильнее чем «завтра я выучу еще 2 новых термина и буду знать 2 новых термина, офигеть».
    Стресс и дофамин от ожидания антилопы у водопоя сделают твое зрение острым, пальцы, бьющие по клаве - точными и быстрыми и память твоя будет запоминать все: как ты тратишь 3 часа на поиск решения проблемы и, как ты ее решаешь.
    В теории память работает только в результате самоизнасилования т.к. мозг твой не дурак и не будет тратить драгоценные ресурсы на качественное запоминание того, что и так есть в книге. И да - данное понимание неизбежно приходит с развитием логики, которая также развивается исключительно в процессе практики программирования. Поэтому:
    Основы, алгоритмы, проектирование. Как начать?

    Легко. Бери Laravel и php неизбежно подтянется в процессе)
    Ответ написан
    Комментировать
  • Как ввывести в шаблон blade переменную по условию?

    @jazzus
    @if ($title)
         {{ $title }}
    @else
    'Default'
    @endif
    Ответ написан
    Комментировать
  • Как сделать универсальный вид для подобных моделей?

    @jazzus
    Как сделать универсальный вид? В одной таблице. На каждую сущность - своя таблица (так говорят).
    admins лучше не создавать. Т.к. это пользователь, а у вас уже есть users. Лучше сделать таблицу roles и туда поместить роль admin и уже присвоить роль конкретному юзеру в промежуточной таблице user_roles с полями user_id и role_id
    Создаем модель c миграцией:
    php artisan make:model Models/Название модели -m
    И там прописать поля таблицы (примеры в доках).
    Выгрузить миграцию в базу командой php artisan migrate
    Ответ написан
  • Как разрулить через RBAC установку прав в зависимости от выбранной "сущности"?

    @jazzus
    Не знаю насколько поможет мой опыт т.к. я сам только учусь) но я сделал так:

    3 таблицы

    Roles
    role_perms
    perms

    Связываем роли и пермы через manytomany.

    В AuthServiceProvider прописываем правила. Типа

    Gate::define('CREATE_PRODUCT', function($user){
              return $user->canDo(3);
            });

    На каждый пермишен или автоматизировать.

    В модели User делаем проверку

    public function canDo($perm_id) {
          foreach ($this->roles as $role) {
            foreach ($role->perms as $perm) {
              if ($perm_id==$perm->id) {
                return true; }}}}

    Теперь подключив Gate к контроллеру можно делать перед выполнением метода.

    if (Gate::denies('CREATE_PRODUCT ')) {
                   abort(404);
                 }

    И в шаблоне

    @can ('CREATE_PRODUCT’)
    Код создания продукта
    @endcan

    Все. Можно ограничить еще в роутах (через мидделварь, эт о просто). Что там еще? Назначать роли в контроллерах просто. Типа

    If($user->isDirector() and $company->type(‘it’))
    {
    $user->roles()->attach($id);
    }

    Attach делает запись в промежуточной таблице
    Type – метод у компаний, который ищет по массиву типов
    isDirector - метод у юзера типа

    public function isDirector()
    {
    if роль == director return true;
    return false;
    }

    Или получать роль через имя

    public function getRole($name)
        {
            return $this->roles()->where('name', $name);
        }

    Но лучше (для меня) создать дату с ролями в модели User (типа констант) и искать по id, а не по name(я так сделал)

    Что касается разных ролей для каждой компании. Можно связать компании роли и юзеры и получать права записью типа
    $user->company($id)->roles();
    Ответ написан
    Комментировать
  • Как сделать одну форму для редактирования/создания VUE?

    @jazzus Автор вопроса
    В общем написал я велосипед и он он работает. Опубликую пока в решение. Что я сделал:

    1) Когда создание статьи, я в пропс передаю пустой объект статьи. Пустой объект заранее готовлю. Что-то типа article={'name: ''}. Передаю из родителя в форму
    2) когда редактирование. В туже форму передаю пропс заполненный объект статьи. Это понятно.
    3) В самой форме поле сделал edit=true/false. Если количество символов в (article.name)==0 то edit==true. А раз мы получаем edit то открывается широкий простор действий:
    Можно менять кнопки, названия в форме. Например: создание /редактирование
    Можно вызывать разные методы сохранения и редактирования
    Что я и сделал. Сейчас еще попробую в контроллере Ларавель в одном методе делать создание и редактирование и будет норм.
    Ответ написан
    Комментировать