Задать вопрос
  • Как организовать хранение лайков и решить вопрос с производительностью в реляционной БД (mysql)?

    Не хранить каждый лайк индивидуально, а держать два поля счётчиков лайков и дислайков в таблице connections. По поступлению лайка инкрементировать поле.

    Можно и так, как вы изначально описали. Всё равно скоро придёте к регистрации пользователей, и лайки станут связывать пользователя и лайкнутую связь – придётся их хранить индивидуально.

    Проблемы производительности решайте по мере их поступления или чуть заранее, но не так заранее, как сейчас )

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ответ написан
    Комментировать
  • Как вы поступаете с темами которые плохо понимаете?

    @Crowcloud
    Есть эффект Зейгарник.

    Суть: мясные процессор и память лучше обрабатывают и запоминают незакрытые гештальты. То есть то, что не доведено до конца.

    Пример: дочитать главу и уснуть - наутро будешь помнить меньше, чем если не дочитать главу до конца.

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

    Именно поэтому в учебных заведениях пары чередуются по часу, а не так, что неделю учим чисто философию, потом неделю чисто вышмат и еще неделю рисуем.

    Так что если уперлись в стену - не долбите ее. Сознание откроет более широкий и стабильный "канал" и более надежно "впечатает" в память (а следовательно, и упростит дальнейшие обработку и познание по теме) конструкции, если прервать поток, желательно в самом интересном месте.

    А главное:
    Ответ написан
    1 комментарий
  • Как повысить знания в области архитектуры веб проектов?

    TekVanDo
    @TekVanDo
    Javascript Developer
    http://codeschool.com - Очень качественные курсы по js ruby git и пр.
    http://laracasts.com - Скринкасты о php, laravel, паттернах и пр.
    https://egghead.io/ - Скринкасты о javascript, angular, react, d3, тестированию и пр.
    Ответ написан
    1 комментарий
  • Хочу сделать API, с чего начать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Следует начать с проектирования API. Возмите https://swagger.io/ и набросайте все, что нужно.
    Swagger вам позволяет объединить роутинг, документацию и примеры вызовов в единое целое.
    Кроме этого он позволяет сгенерировать заглушки для разных языков программирования и фреймворков.
    В принципе вы можете найти значительное количество интеграций для разных фреймоворков.

    В целом API лучше делать с помощью фреймворков, поскольку в них уже реализованы тривиальные моменты по безопасности, аутентификации и авторизации. Вы можете использовать микрофреймворки, например тот же Slim. Вы даже можете сгенерировать роутинг для него используя генератор от Swagger.

    В REST есть 6 принципов, прекрасно изложенных в Wiki. В REST нет ничего сложного и особенного. Это просто надстройка над стандартным протоколом HTTP. Именно поэтому нет никаких особенных уроков. Изучите работу HTTP и вы поймете как работает веб в целом и REST в частности.

    По поводу отдельного сервера для API. Есть множество разных подходов. В последнее время все более актуальными становятся Serverless-приложения. Serverless архитектура идеально вписывается в REST. Но думаю для вас это пока рановато и сложновато. Слишком много для начала.

    Логичнее всего держать проект в моно-репозитарии, если он не будет большим. Если вы точно не знаете насколько большим он будет, то можно разбить проект на компоненты и использовать Composer для управления зависимостями (советую полность прочитать эту страницу от корки до корки).

    По поводу best practices есть очень хороший ресурс https://12factor.net/ru/
    Он в целом применяется для всех приложений.

    Запомните: первый блин всегда комом. Прочитайте все ресурсы, которые я привел для вас. В них много ссылок на другие, походите по ним, присмотритесь. Напишите первую версию API так, как вам кажется удобно. Постарайтесь применить практики из статей.
    Вам нужен опыт и вы его не наберетесь, пока не сделаете что-то сами. Вы можете потратить год на чтение, но останетесь на том же месте, с которого начали. А другой человек напишет на коленке API за неделю, а потом перепишет его 20 раз за год и он вам расскажет в 10 раз больше, чем то, что вы изучили за год.
    Дерзайте!
    Ответ написан
    16 комментариев
  • Как заполнить документ .doc или .pdf данными на PHP?

    azrail_dev
    @azrail_dev
    Ответ написан
    Комментировать
  • Как учить программирование, чтобы понимать его и быть хорошим программистом?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    1) Нужно ли понимать как работает компьютер на самом низком уровне? Как кодируются и обрабатываются сигналы в процессоре и как выводится ответ на экран?

    Судя по тому, что у вас выставлен тег "веб-разработка" - нет, не надо.

    2) Нужно ли обязательно знать "исподнюю" языков программирования, то есть как устроен и как работает интерпретатор или компилятор того или иного языка? Где он хранится в программе-обработчике и как взаимодействует с ОС и компьютером в целом?

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

    3) Нужно ли хорошо знать математику?

    Нет, это даже вредно.

    4) Нужно ли хорошо знать английский язык?

    Нет, на Апворке можно через Гуглтранслейт спокойно общаться.

    5) Каким образом лучше учить программирование( в частности веб-разработку: сайты, приложения и т.д.) и в какой момент можно смело сказать себе: "Я - программист", ведь конечной точки нет, верно?

    Как заработаете свой первый миллион на jQuery. то есть, где-то через полгода.
    Ответ написан
    11 комментариев
  • Как в bootstrap 4 менять местами блоки при адаптации?

    @djv57
    Вот тут есть пример для изменения порядка вывода двух колонок в Bootstrap 4 при изменении разрешения:
    https://ru.stackoverflow.com/a/941035/325821
    Ответ написан
    2 комментария
  • Как в модуле yii2 подключить картинки?

    ap0stal
    @ap0stal
    Web-разработчик
    В представлении:
    <?php
    $bundle = $this->getAssetManager()->getBundle('app\modules\user\assets\AppAsset'); // получить бандл
    ?>

    Вывод картинки:
    <?= Html::img($bundle->baseUrl . "/img/find_user.png", ['class' => 'user-image img-responsive'])?>
    Ответ написан
    6 комментариев
  • Обязательно ли учить PHP для сайта?

    Moskus
    @Moskus
    Определитесь, в чем ваш конечный вопрос.
    Если это "можно ли написать back end не на PHP?", то ответ - "безусловно, можно".
    Если это "на сколько плох PHP относительно других языков для этой задачи?", то ответ - "для вас - без разницы".
    Если это "можно ли вообще не уметь программировать и сделать сайт?", то ответ - "можно, используя конструкторы, только он будет весьма типовым и шаблонным".
    Если это "проще ли вам, не умея программировать, будет научиться это делать на других языках вместо PHP?", то ответ - "нет, не будет проще".

    Ну и, как всегда, "учить" (тупо запоминать) - бесполезно. Нужно "изучать" (разбираться и понимать).
    Ответ написан
    Комментировать
  • Что лучше - normalize.css или reset.css?

    vladislav_boychenko
    @vladislav_boychenko
    Купаюсь в гривнах
    Они существуют для разных целей.
    Normalize подстраивает стили всех дефолтных элементов под 1 стиль во всех браузерах, а Reset просто обнуляет все стили, типу отступов, бордеров и так далее.
    Поэтому если вы хотите с нуля прописать все отступы всем 6-ти заголовкам, то выбирайте Reset, а если нет -- то Normalize.
    Ответ написан
    Комментировать
  • Чем отличаются миграции от доктрины?

    @vanillathunder
    Миграция осуществляет изменения в бд, а доктрина это ORM
    Ответ написан
    3 комментария
  • Как заставить WebStorm автоматически заворачивать длинные строки?

    Mesuti
    @Mesuti
    Актуализирую
    5b2bdfba7fcc6405104636.jpeg
    Ответ написан
    Комментировать
  • Как в Bootstrap создать многоуровневое меню или список?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    А чем Вас yii\widgets\Menu не устраивает?
    www.yiiframework.com/doc-2.0/yii-widgets-menu.html
    Да и тот же nav не ограничен одним уровнем.
    Ответ написан
    Комментировать
  • Какова производительность yii2 и laravel?

    sanchezzzhak
    @sanchezzzhak
    Ля ля ля...
    Yii можно ускорить выключить log и настроить другой кеш адаптер.

    Laravel такой же херней страдает, log адаптер для кеша. сессии на куки сменить должно прибавить скорости.

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

    Laravel использую на работе и за некого количество проектов, которые нужно поддерживать. + команде проще, когда нет зоопарка фреймворков.
    Ответ написан
    Комментировать