• Можно ли писать форумы на Laravel?

    @tester_toster
    Смотря, что вам нужно.
    Если нужен быстрый готовый форум с типичным функционалом, phpbb или любой другой скрипт - ваш выбор. Если функционал будет нестандартный, важна скорость, не нужно лишнего, минимум кода, в общем, не нужен монстр - то можно написать и самому на laravel, любом другом фреймворке, или как иногда делают - на наборе компонентов (fastroute, request, di, template, qb ) добавляя по потребностям новые.
    Плюсы laravel: Авторизация есть из коробки, qb, di, blade.
    Добавить пару сущностей, контроллеров и самый простой форум готов. При необходимости дописывать нужный функционал будет легче, и быстрее, так как вникать в движок не придется. Скорость разработки не будет уступать написанию модификаций готовых движков, ибо не изучая движок, находя ответы в статьях "simple from, how make..." - рано или поздно поймете, сколько шлака наделали, и придется все переписывать, чтобы было правильно. Некоторые умудряются менять код движка, что замораживает апдейты, при этом некоторый код сам просит так, чтобы изменили его ядро, так как по другому определенного функционала не добиться, особенно этим грешит старый код.
    С теми, кто говорит про велосипед - не полностью согласен , так как это зависит от требуемого функционала. За последние пару лет правил код за "гуру невелосипедостроения", когда к обычной cms или магазину требовался нетипичный функционал - если новый код был написан как правильное расширение - уже было хорошо, по самому коду было видно - что кроме "how to make simple extension" люди не читали, так как для того, чтобы изучить достаточно большое ядро нужна даже не пара дней, а после изучения езе нужно, чтобы все и в голове отложилось.
    Также нужно учитывать, что сама модульность готовых движков будет отыгрываться либо на скорости, либо на возможностях модификации, либо на сложности, а может и на всем сразу.
    Когда создают что-то сложное на wp - охото убивать, да движок рабочий, миллионы сайтов, да, можно прикрутить шаблонизатор, laravel и.т.д., но зачем? Проще написать к laravel код для вывода статей.
    Работаю над сайтом с 8млн просмотров в день. Написан на dle - это самая распространенная в рунете cms, причем платная, но кто видел код - не спит по ночам. Также и начиналось - взяли готовое решение, раз доработка, ..., n доработка, а потом смотришь - пи**ец. Функционал уже не лезет, скорости не хватает, ядро все переписано. В итоге вся пользовательская часть переписана на фреймворк с горем пополам, ибо готовое решение положило свои особенности на архитектуру проекта. От решения осталась только админка, в которой мало чего осталось, не переписана просто по тому, что нет времени.
    Но если раньше борясь с архитектурой коробочного решения на задачу уходил день - теперь тратится час. Хотя тянули с переносом до последнего, год точно уже был напряг выдумывали костыли и.т.д.. Очень много денег бы было сэкономлено если бы перевели на фреймворк еще год назад, не говоря уже о том, что если бы при старте проекта начали сразу писать на фреймворке, да даже на голом php, так как при разработке было понятно, что бложик - 1% от функционала.
    Хотя своих решений тоже стоит избегать, был проект - написан программистом с нуля, весь код написан им, но опыта не хватило - архитектуру закосячил, ну там жесть была - ни автозагрузки классов, ни нэймспейсов, хотел модульность как в cms. Одному такое не написать, по крайней мере за стандартный срок проекта. В итоге - переписан на фреймворк. Взял бы готовые компоненты + типичную архитектуру mvc - не было бы проблем.
    Мой совет: смотрите по потребностям - времени - деньгам.
    Ответ написан
    1 комментарий
  • Как Laravel ускоряет создание сайта?

    riky
    @riky
    Laravel
    просто поработай без фрейма, поначалу будет просто и весело, через полгода/год/два это веселье надоест. а твой проект никто не захочет допиливать, потому что разбираться в нем будет ад - без доков и с сомнительными конструкциями (костылями(да)).
    Ответ написан
    Комментировать
  • Как Laravel ускоряет создание сайта?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как Laravel ускоряет создание сайта?
    Тут вместо Laravel может быть любой php framework. Но главный вопрос ускоряет по отношении к чему? И в рамках какого проекта?

    Быстрее ли разработка стандартного блога на php framework чем на готовой CMS? НЕТ
    Быстрее ли разработка блога с нестандартными возможностями на php framework чем на готовой CMS? ДА

    Быстрее ли написать простой сайт на голом php c нуля, чем на php framework? ДА
    Быстрее ли написать сложный сайт на голом php c нуля, чем на php framework? НЕТ

    Смогу ли я заработать много денег и работать с интересными проектами, работая только с WP? НЕТ
    Будут ли меня брать на работу в серьезные компании без знания frameworks? НЕТ
    Востребован ли WP среди провинциальных web студий? ОЧЕНЬ
    Смогу ли я в них развиваться и получать достаточно денег? НЕТ
    Ответ написан
    1 комментарий
  • Как понять логику не скриптовых языков программирования?

    @Yupa20171123
    На web страницах вешали таймеры. Их запускал браузер.

    1. денди-
    * основной поток. Ждет в безконечном цикле пока не изменится ячейка памяти.
    Что случилось? Логика игры и запись через порты IO (2004..2007) в видеопроцесор.
    Звук. ... Ждем дальше .
    * (немаскируемое) прерывание, пусть раз в 1/25 секунды. Из него опрашивают джойстик.
    пишется в ячейку памяти.

    2. windows-
    CreateWindow(...) // создаем окно. Оно вешает в безконечный цикл (или ждуший) свои области экрана и функции. 
       while ( GetMessage( MSG)!=WM_QUIT ){   MSG  -> WinProc(); } 
       DestroyWindow();


    Функция GetMessage помешается в массив в ОС, и если с ее окном что то происходит она возврашает управление (пробуждает поток). Потоки если ждут как правило усыпляются - экономия ЦПУ.

    WinProc(MSG){// это тело вызывается когда чтото присылается окну.  
          switch( MSG.code){ //что за сообшение 
          case КНОПКА_НАЖАТА: 
               ....
             switch ( key){//какая кнопка нажата? 
                case LEFT: g_siPosX++; g_nScreenChanged=1;  break;  //вправо, и перерисовать экран. 
             }  
              break;
          case таймер: if (g_nScreenChanged) SendMessage(..., WM_PAINT); break; //анимация не спит.  
          case WM_PAINT:  Рисую окно. break;  //рисовать все и сбросить флаг что надо перерисовать
       }


    3. Игра -
    Используются функции ожидания - WaitForSingleObject и Semaphiore&Events или условные переменные.

    * поток для ввода пользователя - ждать события DirectInput или ReadPort :).
    WaitForIOEvent(code);   <i> или любая друга ждушая функция.  Хоть прерывание. Часто с таймером чтоб не висеть. </i>
          switch(code){ 
              case МОНИТОР_ВКЛЮЧОН:  SendEvent(GRAPHICS_PAINT_ALL); ...
          }


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

    * поток для окна - Ждет события для рисования, размеров окна, ... (опенгло не даст рисовать из другово потока чем создавало окно. DirectX использует указатели а не номера потоков тот дает. )
    lock_...(условная_переменная, мютекс). 
         while (ЧтоСлучилось==0){ 
             r=wait...( условная_переменная,мютекс). 
             if (r==TIME_OUT){ if (*pQuit) break; }
         }
        unlock(...);
        switch( ЧтоСлучилось ){
            case ОБНОВИТЬ СЦЕНУ:   //событие надо обновить сцену. 
              РИСУЕМ_В_БУФФЕР.  //может тоже быть отдельным потоком, чтоб окно быстро риагировало на события.  
                 // тогда запускаем рендеринг и ждем событие что готово. 
              PushPin(SCREEN_RESET,1); //прерывание - сброс экрана. 
              PushPin(SCREEN_RESET,0); 
              SendBufferToSPI(НАШ БУФФЕР); 
              break;   
        }


    Если вы пишете для Windows то это тоже как набор скриптов, событиям WM_MOUSEMOVE, WM_PAINT, WM_CLOSE, WM_CHAR, ... они будут вызываться системой. Можно сделать таймер. Если чего то ждете - запускаете свой дополнительный поток, посылая сообщения куда то еше.
    Если пишите для arduino - тогда да, надо цикл. Хотя и там можно ждать например таймер или прерывание ( как MS-DOS программы).

    Когда ваш PHP что то записывает в файл он копирует память, то есть ждет. Ждет пока другой поток запишет на диск. Ждет опять пока винт не скажет что все хорошо. Тогда берет следующую команду. Поэтому коректнее сказать что скриптовые и не скриптовые это уровень абстракции. Например g-basic преобразовывал
    10 PRINT 2+2
    в [000][010][130 например][2][+][2][END]
    а при исполнении выполнял как ваш PHP. Это компилирующий интерпретатор был.
    Ответ написан
    Комментировать
  • Болезнь творца или как создать свой виртуальный мир?

    @xCyber
    История одного искусственного виртуального мира: https://geektimes.ru/post/90571/
    Реализовать можно на javascript и canvas
    5a58717ee25db142273485.png
    Ответ написан
    Комментировать
  • Есть ли у вас любимый код?

    daager
    @daager
    Как ребенок радовался от работы с моделями в Laravel.
    Ответ написан
    Комментировать
  • Порядок изучения react.js?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Курс по react.js на русском языке в формате текста.
    Ответ написан
    Комментировать
  • Как организовать вход через zimbra для других веб-приложении?

    @Vasily_Pechersky
    Системщик с опытом
    Zimbra использует openLDAP для аутентификации пользователей.
    Дальше ldap_connect и танки наши быстры ....
    Обратите внимание, openLDAP может быть закрыт фаерволом/слушать только localhost !
    Ответ написан
    3 комментария
  • Что вернет следующий MySQL запрос?

    во-первых: update запросы сами ничего не возвращают
    во-вторых: клиенты могут узнать сколько строк было обновлено, если значение уже 0, то запрос успешно выполниться и скажет, что обновлено 0 строк
    Ответ написан
    Комментировать
  • Что вернет следующий MySQL запрос?

    @IceJOKER
    Web/Android developer
    А он и false не возвратит, только кол. затронутых строк, в вашем случае 0 или 1 строка в зависимости от того есть строка с id = 1 или нет
    Ответ написан
    Комментировать
  • Что означает данная ошибка, при установке gitlab?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Он не может в загрузку поставить неисполняемый файл.
    Попробуйте
    sudo chmod +x /etc/init.d/gitlab && sudo update-rc.d gitlab defaults 21
    Ответ написан
    Комментировать
  • Достаточно ли использовать filter_input_array для защиты от XSS?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Достаточно, но неправильно.
    Данные надо форматировать перед использованием, а не перед сохранением.
    Ответ написан
    3 комментария
  • Как лучше хранить данные клиента между его запросами?

    Куки + сессии. Все современные фреймворки умеют работать с различными хранилищами данных сессии: бд, файлы, мемкеш (имхо для сессий самое то). НО не надо сохранять всю инфу пользователя в сессию, она для этого не предназначена. Можно хранить в сессии ID пользователя и остальные ключи, что бы в нужный момент легко выдернуть нужные данные из бд. Если данных много и они не менятся каждый раз, при запросе от пользователя, то можно кешировать данные, например в мемкеш, при этом данные пользователей которые давно не посещали сервис должны вытесняться данными пользователей, посетившими сервис только что.
    Ответ написан
    Комментировать
  • Как лучше хранить данные клиента между его запросами?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1) Не надо использовать встроенные сессии вообще нигде и никогда.
    В api можно использовать свои собственные токены, описать в документации api процесс их получения и передачи.

    2) Почитайте документацию любого api крупного проекта: fb, https://developers.facebook.com/tools/explorer/?me... twitter https://dev.twitter.com/rest/public итд
    Так или иначе (oauth, своя авторизация, еще как то) клиент получает access token который далее явно передает.

    3) Если вся эта история нужна Вам для авторизации/разграничения прав - ок.
    Но если Вы хотите для каждой сессии хранить какие то состояния на сервере - хорошо подумайте насколько это необходимо. Работать со stateless api гораздо приятней и понятней.
    Ответ написан
    5 комментариев
  • Есть ли у вас любимый код?

    VolodyaHome
    @VolodyaHome
    Очень понравился код у фреймворка fatfree на php. Разработчик любит минимализм.
    Ответ написан
    Комментировать
  • Есть ли у вас любимый код?

    bboytiwst
    @bboytiwst
    У этих ребят код отличный
    thephpleague

    А вот этот проект на симфони мне вообще очень нравится
    oro crm platform
    Ответ написан
    Комментировать
  • Какую систему управления версиями посоветуете для веб-разработки (PHP, js, html/css)?

    @REDkiy
    Мы гоняем mercurial привязанный к trac. В качестве клиента используем TortoiseHG. В trac видно историю, можно делать тикеты, плюс доступность через браузер. Заливаем изменения через ssh.

    Mercurial распределённая система контроля версий.
    Ответ написан
    Комментировать
  • Какую систему управления версиями посоветуете для веб-разработки (PHP, js, html/css)?

    kapitansen
    @kapitansen
    Веб-погромист
    Мы (команда в 2-3 человека) давно и успешно используем SourceTree в сочетании с Bitbucket. Во-первых, потому, что не надо ничего настраивать, лезть в консоль и бороться с совместимостью. Во-вторых, потому что вменяемый интерфейс. В-третьих, потому, что бесплатно для команды до 5 человек. Неограниченное количество проектов и облачное хранилище для кода.
    Ответ написан
    Комментировать
  • Какую систему управления версиями посоветуете для веб-разработки (PHP, js, html/css)?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    если хотите централизованную, то mercurial

    Другое дело что вы хотите, по-моему, другого.
    Система контроля версий - это средство коллективной разработки.
    А судя по словам "количество версий", вам нужен каталогизатор.
    Хотя возможно я просто не так понял и вам нужно именно что мержить результат работы разных разработчиков.
    Ответ написан
    1 комментарий
  • Какую систему управления версиями посоветуете для веб-разработки (PHP, js, html/css)?

    Adamos
    @Adamos
    Как страшно мучаются люди под виндами! И главное - зачем?!
    Linux + PhpStorm + git, который в тот Шторм, собственно, встроен по умолчанию.
    Ответ написан
    4 комментария