• Критерии реляционной бд?

    sarapinit
    @sarapinit
    Точу водой камень
    Это очень странно. Ваш преподаватель руководствуется каким-то своим определением реляционной бд. Классическое определение говорит что реляционная бд - бд использующая реляционную модель. А реляционная модель - модель описания данных которая поддерживает описание отношений (relations) между типами данных.
    Я могу описать, например, биологические виды реляционной моделью, у меня будут таблицы «семейства», «роды», «царства» и т.д. Таким образом я опишу структуру биологических видов, отношения между разными уровнями. Но я не буду описывать никакой процесс.
    Ваш преподаватель на какой-то своей волне. Попросите его дать определение реляционной БД и пример такой БД. И сделайте задание по аналогии. Переубеждать человека бессмысленно.
    Я бы посоветовал искать учителей, которые имеют реальный опыт работы в IT. А тех которые имеют опыт лишь в псевдоинтеллектуальном анонизме, обходить стороной и не давать портить себе мозг.
    Ответ написан
    Комментировать
  • Есть ли защита от большого количества запросов в laravel?

    miraage
    @miraage
    Старый прогер
    А типа документацию почитать???

    https://laravel.com/docs/5.8/routing#rate-limiting
    Ответ написан
    Комментировать
  • Не могу разобраться CMS, админка, и т.д. ??

    @Dasslier
    FrontEnd Developer
    Если всю жизнь хочешь заниматься такими задачами - то да, учи и PHP и Wordpress.
    Если хочешь стать фронтом и разрабатывать на React, то лучше потрать время на обучение этому, а для задачи найди кого-другого или откажись.

    А так для этой задачи, в твоем случае, только Wordpress. Даже не рыпаться с другими вариантами
    Ответ написан
  • Поступить в университет или пойти на работу после школы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Я на вашем месте пошёл и учиться, и работать.
    Ответ написан
    Комментировать
  • Подключение css в MVC системе на PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Используйте нормальный шаблонизатор, Twig.

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

    Таким образом не получится столь привычного быдлокодерам винегрета.
    Любые стили будет лежать только в шаблонах, и не будут засорять другие элементы MVC.
    При этом главный шаблон не будет засоряться. ненужными ссылками.

    Я понимаю что без примера сложно.
    Вот простейший пример того, о чем я писал выше:

    main.twig.html
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
    {% block stylesheets %}
        <link href="/css/main.css" rel="stylesheet">
    {% endblock %}
            <title>{% block title %}Twig Example{% endblock %}</title>
        </head>
        <body>
            {% block content %}{% endblock %}
        </body>
    </html>

    index.twig.html
    {% extends "main.twig.html" %}
    
    {% block content %}
    <h1> index page </h1>
    <li><a href=/page1.php>Page 1</a>
    <li><a href=/page2.php>Page 2</a>
    {% endblock %}

    page1.twig.html
    {% extends "main.twig.html" %}
    
    {% block stylesheets %}
        {{ parent() }}
        <link href="/css/page1.css" rel="stylesheet">
    {% endblock %}
    
    {% block title %}Page 1{% endblock %}
    
    {% block content %}
    <h1> page 1</h1>
    <li><a href=index.php>index</a>
    {% endblock %}
    Ответ написан
    Комментировать
  • Фреймворк или микрофрейворк?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Если нет опыта построения хорошей архитектуры без фреймворка, то лучше сразу полноценный фреймворк. Symfony 4 идет как микрофреймворк, но легко дополняется до большого фреймворка (другой вопрос, что с ней долго разбираться). Остальные фреймворки проще, и не думаю, что условно лишний функционал сильно усложняет жизнь, проще что-то выключить в конфигурации и включать по мере надобности, чем наспех дополнять в микрофреймворке.
    Ответ написан
    9 комментариев
  • В чем отличие книг Бьярне Страуструпа?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Для некоторых новичков подошёл бы какой-нибудь учебник по базовой логике... Конечно исправленный вариант лучше!
    Ответ написан
    3 комментария
  • Зачем нужно ООП?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прочитайте "Чистый код" Роберта Мартина, там это доходчиво объясняется. Все существующие парадигмы программирования, паттерны проектирования и архитектурные принципы существуют ровно с одной целью - снизить сложность сопровождения и развития большой кодовой базы.
    Ответ написан
    Комментировать
  • Как разработать простую защищенную архитектура веб сервера?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Удивительно, но за архитектуру отвечает .... Архитектор! Его и ищите) девопс эту инфраструктуру уже будет реализовывать

    И под такие задачи одного сервака не хватит
    Ответ написан
    Комментировать
  • Что нужно знать для PHP Developer?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Этот вопрос поднимался на тостере неоднократно, почитайте ссылки
    Отдельно можно выделить этот вопрос и ответы на него, книги можете также догуглить на тостере - по алгоритмам, паттернам, advanced php, unit test, mysql и т.д.
    Ответ написан
    Комментировать
  • Как задавать дополнительные свойства сущностям в Doctrine ORM?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Теперь я использую Doctrine ORM, у которой свойства должны быть закрытыми, а сеттеры/геттеры для таких вещей (которые в базу не заносятся, только контроллер и вид) не надо делать.

    Доктрине фиолетово на приватность/открытость ваших свойств, ровно как и на наличие методов для их
    записи/чтения, кроме того этого сеттеры/геттеры распространены (абсолютно везде), но все равно это признак плохого кода, писал об этом статью на Хабре: Геттеры/сеттеры и проблема с инкапсуляцией.
    А так Доктрина работает с объектами через рефлексию.

    Как выводить нужные в другом слое данные, которые нужны для отображения, а не для бизнес-логики — DTO,
    отвечал на днях: Что делать, если нужно получить часть данных сущности?

    Если хотите работать с полем сущности, но не хотите чтобы оно загружалось из/в БД, то просто не делайте для этого поля аннотацию (или не указывайте его в yml, если используейте его для маппинга):

    @Column
    Marks an annotated instance variable as "persistent". It has to be inside the instance variables PHP DocBlock comment. Any value hold inside this variable will be saved to and loaded from the database as part of the lifecycle of the instance variables entity-class.
    https://www.doctrine-project.org/projects/doctrine...


    Итого:
    Рекомендую или DTO или сервис (как указал BoShurik), который вернет ссылку, при том в этот сервис можно скормить роутер и создавать сылку не по названию сущности, а по названию роута — это облегчит потом смену сразу всех роутов одного типа, если не меняете название. А вообще и DTO и сервис нужны. В любом случае сущность знать о роутах ничего не должна, тем более этих роутов под одну сущность можеть быть куда больше, чем /blog/ и меняться это может довольно часто...
    Ответ написан
    Комментировать
  • Можно ли создать социальный проект(мобильное приложение), с облачной разработкой?

    Adamos
    @Adamos
    Опенсурс и базарная разработка - это не выкармливание чужих идей.
    Суть опенсурса - в привлечении к развитию твоего продукта людей, которые заинтересованы в его развитии.
    Продукта, а не идеи. Развитии, а не написании с нуля.
    "Гениальных идей" у любого студента полна голова, их тем больше, чем меньше реальных знаний.
    Если ты не готов реализовать свои идеи сам - с какого перепуга их кто-то возьмется реализовать за тебя?
    Ответ написан
    3 комментария
  • Сколько денег можно просить неглупому джуну Frontend-ру в Москве на конец 2019?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    хороший кругозор и голову на плечах.

    Почему широкий кругозор и голова на плечах не позволяет воспользоваться поиском по вакансиям, готовым статьям где разжеваны и расписаны актуальные графики и примерные зарплаты, и наконец прямое хождение по собеседованиям и переговорами с менеджером/директором?

    Даже на Хабре каждые несколько месяцев постят графики о ЗП, не говоря уж о куче других ресурсов.
    Ответ написан
    Комментировать
  • Что делать, если нужно получить часть данных сущности?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Для отображения используйте DTO и доставайте их из репозитория. Для логики отображения негоже сущности из бизнес-слоя вытягивать.

    1 способ — заюзать Доктрину
    сразу не увидел, что вы без нее работаете

    Доктрина умеет создавать дтошки из коробки
    class PostDTO
    <?php
    
    namespace App\DTO;
    
    class PostDTO
    {
        /** @var string */
        private $name;
        
        /** @var string */
        private $description;
        
        /** @var string */
        private $text;
        
        public function __construct(string $name, string $description, string $text)
        {
            $this->name = $name;
            $this->description = $description;
            $this->text = $text;
        }
    
        public function getName()
        {
            return $this->name;
        }
    
        public function getDescription()
        {
            return $this->description;
        }
    
        public function getText()
        {
            return $this->text;
        }
    }

    И используя синтаксис NEW DQL создаем наши DTO :
    $query = $em->createQuery('SELECT NEW App\DTO\PostDTO(p.name, p.description, p.text) FROM App\Entity\Post p');
    $users = $query->getResult(); // array of PostDTO

    Источник: https://www.doctrine-project.org/projects/doctrine...

    2 способ — заюзать DBAL/PDO
    Сделать запросы через более низкую прослойку без ORM (например через Doctrine DBAL или PDO) и результат фетчить в те же самые PostDTO в репе
    Ответ написан
    2 комментария
  • Какой PHP-фреймворк для приложения по обработке данных из разных источников?

    DevMan
    @DevMan
    эмм.... кагбе никакой фреймворк не мешает создать объект на основании внешних данных.
    Ответ написан
    6 комментариев
  • Обязательно ли читать книгу по языку/технологии что бы быть тру и продвинутым кодером?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вы не найдёте ни одного авторитетного программиста с мировой известностью, который бы утверждал, что курсы и видео-уроки лучше книг. Обычно это утверждают либо профаны, оправдывающие своё нежелание читать, либо авторы курсов, делающие деньги на лентяях и глупцах. И я лично за 18 лет в отрасли встретил множество программистов, но ни одного хорошего, выучившегося по курсам и видео-урокам.

    Видеокурс может запилить любой дурак. Чтобы написать книгу, нужно иметь авторитет достаточный для издательства. Кроме того, текст пройдёт редактуру нескольких профессионалов. Поэтому знания в книгах качественные и систематизированные. Для начинающего это очень важные качества.

    К тому же, после достижения профессионального уровня достаточного чтобы называться специалистом, вы обнаружите, что необходимые на этом уровне знания можно почерпнуть только из документации. То есть всё равно придётся читать. Много и часто.

    Наконец, постоянная практика чтения неизбежно приводит к увеличению скорости чтения. И наступает момент когда прочитать учебник будет в 10 и более раз быстрее, чем просмотреть видеокурсы по той же теме и в том же объёме.

    Кроме того, чтение развивает абстрактное мышление - основной инструмент разработчика.
    Ответ написан
    16 комментариев
  • Видеоуроки - долго, и много воды. Стоит ли тратить на них время?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Нет, не стоит.
    Вы тупо будете слушать, как картавый мычащий Васян пересказывает какой-нибудь learnjavascript, пропуская половину тем, которые сам не понимает.
    И таких видео - 90%.
    Ответ написан
    12 комментариев
  • Зачем учить jvm языки кроме Java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Это очень странный вопрос. Почему под .NET существует множество языков, если можно писать всё на C#? Почему вообще существует множество языков, если можно писать всё на C? Почему так много разновидностей мобильников? Почему автомобили бывают разных марок? И т.д. и т.п. Потому что не бывает единственно правильного всегда и для всего решения.

    Как понять, что вот проект А пишется на Java, а вот проект B ужеее неее, на Scala или Groovy лучше будет.

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

    Тогда если он такой крутой, почему я за 6 лет в айти(не коммерческого, но всетаки был рядом) не слышал почти про него

    В пещере может жили?

    И где тогда куча вакансий на него?

    Между "крутостью" языка и количеством вакансий на него нет прямой связи. Дворников сильно больше, чем нейрохирургов, но вы же не будете утверждать, что дворником быть круче?
    Ответ написан
    7 комментариев