Задать вопрос
  • Как вы работате с гитом?

    saintbyte
    @saintbyte
    Django developer
    Коммиты надо делать когда можешь написать комментарий к коммиту
    Ответ написан
    1 комментарий
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    "И соц. сети писал, и форумы и сервисы"

    Где ваша соцсеть хотя бы на десяток тысяч абонентов?
    Есть ваш форум, с ежедневным онлайном хотя бы 1000 человек?
    Что за сервисы, насколько они востребованы?

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

    ТС, надеюсь никому никогда не придется работать с тобой в команде и поддерживать твой код. Одно дело не знать, спрашивать и прислушиваться, другое дело гнуть свою кривую линию.
    Ответ написан
    4 комментария
  • Как проверить разроботчика на честность?

    Sanes
    @Sanes
    Что вы к нему (разрабочику) пристали? Или доверяете или нет. Не тратьте своё и чужое время.
    Ответ написан
    Комментировать
  • Как правильно спроектировать Laravel приложение с уклоном в enterprise?

    SowingSadness
    @SowingSadness
    web-разработчик
    Сейчас напишу немного высокомерно, но опыт позволяет. Уже почти 20 лет в разработке и около 15 в веб.
    Надо понимать, что почти все кто используют многочисленные Фреймворки не понимают что такое ООП. А уж тем более, что такое SOLID и т.д.
    И поэтому, что бы они не писали, в конце-концов превращается в какашку с костылями.
    Да, потом героически проект переписывается с учётом изменений (или ещё чаще умирает) Но, он по прежнему остаётся абсолютно не расширяемым и не поддерживаемым.

    И вот мы возвращаемся к Фреймворкам.
    Нужно брать тот Фреймворк, который писали с учётом определённых парадигм и принципов. Так как этих вот парадигм, достаточно описанных и изученных не так много (на самом деле их 2.5 штуки), то можно сразу ориентироваться на ООП + MVC(или MVP или MVVM) + SOLID
    Если Фреймворк что-то из этого нарушает, то он по умолчанию не может вам дать возможность написать хорошее, расширяемое приложение. А хороший Фреймворк, даже начинающим программистам должен прививать правильные подходы к разработке. Что-бы хочешь, не хочешь, а hello world уже не превращался в ад.

    Сразу оговорюсь, что я давно "забил" на Фреймворки. Есть один идеальный — это Pyramid. А оцениваю любой продукт по документации. Там сразу видны все огрехи и косяки. Буду писать и параллельно смотреть в доки.

    Larvel
    Первое что я вижу в этом Фреймворке, что большая часть работы каркасных компонентов завязана на статических вызовах. На этом можно уже, даже и остановиться. ООП, по большому счёту тут нет. Суть ООП в использовании объектов. Тут же класс выступает в качестве пространства имён функций.
    Раз нет ООП, то и нет всей теории и принципов связанных с ним.
    А раз под этим Фреймворком не заложено никакой теории, то в 99% случаев можно сказать, что на нём что-то правильно, написать невозможно.

    Если взглянуть глубже, то открывается ещё больше ада:
    ActiveRecord.
    Плох по умолчанию. С ним очень тяжело контроллировать целостность данных. Вам нужно придумать слой абстракции, где вы будете транзакционно записывать все данные вне бизнес логики. Фреймворк вам тут не поможет. Он предложит это делать в экшене (контроллере). И тут вы столкнётесь, что при написании чего-то сложнее чем бложик, вы будете терять целостность. Ибо бизнес логика и работа БД будет в одном методе. Отладка будет усложняться, ошибок плодиться и т.д.
    И не зависит это от программистов. Шаблон сам по себе провоцирует ошибаться.
    Далеко за примерами ходить не нужно, уже треш.

    Чем больше примеров я смотрю, тем больше не понимаю, как все это дело расширять. Как вставлять прозрачно через весь проект свои собственные аспекстные решения. Например RBAC. Или, если нужно, логику работы приложения отделить от БД и когда нужно, подставлять необходимую реализацию.
    Или сделать работу всех экшенов в рамках клиента, но производить авторизацию по пользователю(сотруднику)

    Все это предлагается зашивать прям в контроллерах, с помощью protected или private методов.
    Повеситься. Сложность приложения зашкалит.

    Symfony
    Только при выходе 2 версии я работал с этим чудом. Разработчики писали его под хапйом dependency injection. Мало того, что они взяли не самую хорошую стратегию для реализации всего костяка фреймворка, так ещё и сделали её не правильно.
    Они написали универсальный DI Container и кладут в него все что угодно, используя в качестве идентификатора строчку.
    Строчку, М**Ь ЕЁ! Не интерфейс — строчку!
    И знаете чем это аукнется? А тем, что при разработке своего приложения или очередного бандла, вам будет говорить, что в контейнере лежит что-то не то и вы подохните в конфигурационных настройках. А все потому что, подход: ВСЁ через DIC — строго навязывается.
    Расширение этого чуда, тоже причинит вам массу головной боли. Ведь, зачастую, вы будете работать с классами, которые ждут не интерфейс, а что-то из контейнера с ключём "я_твой_дом_шатал".

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

    Но, по правде говоря, слепить что-то годное возможность есть.
    Если взять микро ядро symfony, прикрутить Doctrine, то получится что-то годное.
    Но встаёт вопрос. А зачем вообще symfony, если можно взять doctrine и написать все остальное свое?
    И тут вы окажетесь правы — незачем.

    Ситуация с Symfony в enterprise очень схожа с ситуацией с Django. Повидал уже с десяток проектов, где последнюю брали для больших приложений. В итоге от Django оставались рожки да ножки. Всю её переписывали.
    Спрашивается — и зачем? Просто потратили кучу времени.

    Так что, если нужен суровый enterprise. Что бы писать что-то большое, с возможностью расширения — берите Pyramid и переходите на python.
    Ничего, даже близко с пирамидкой, по возможностью расширения, даже близко не лежало.
    Ответ написан
    33 комментария
  • Для каких проектов используется node js?

    @tef
    Нод придуман для тех кому впадлу учить другой язык программирования. Теперь можно писать на джаваскрипте и на сервере! Аллилуя!
    Ответ написан
    1 комментарий
  • Где найти грамотный код для хеширования/проверки на, скажем, PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Грамотный код есть в мануале:
    $hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT);

    и сохраняем в базу. потом, при проверке
    if (password_verify ("rasmuslerdorf", $hash)) echo "OK";
    Если версия РНР на хосте пока не доросла до 5.5, то есть имплементация на пхп - тупо заинклюдить, и всё.
    Ответ написан
    Комментировать
  • Посоветуйте тяжелую CMS на PHP

    alexbyk
    @alexbyk Автор вопроса
    Все большое спасибо. Вроде выбор пал на Битрикс-жеж) И как мне самоу это в голову не пришло) Вот жеж, перед глазами лежало)
    Ответ написан
    Комментировать
  • Посоветуйте тяжелую CMS на PHP

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Битрикс жеж =)
    Ответ написан
    2 комментария
  • Посоветуйте тяжелую CMS на PHP

    ertaquo
    @ertaquo
    Битрикс, особенно если в него много товаров забить
    Ответ написан
    Комментировать
  • Сколько брать за ремонт компьютера?

    @drunk
    Тут все как у проституток =) Час скажем 600 р. Медленный комп — проблема клиента. Клиет просит анального секса поставить игрушку которая не запускается — еще добавить. Как то так. Главное, что бы качественно.
    Ответ написан
    4 комментария
  • Влияние выбора CMS на ранжирование?

    TuiKiken
    @TuiKiken
    Первый раз слышу такое. Даже если допустить, что это правда… как поисковик определит движок сайта?
    Ответ написан
    1 комментарий
  • Плавающие блоки. Равная ширина. Разная высота. Расположить без дырок

    not_ice
    @not_ice
    Возможно вам подойдет это:
    desandro.com/resources/jquery-masonry/
    Ответ написан
    Комментировать
  • Количество процессов apache

    @bondbig
    Где задается максимальное количество процессов?

    Опция
    ServerLimit
    в конфиге апача.
    И как понять какие из процессов являются зомби?
    ps aux | grep apache
    PROCESS STATE CODES
    Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display
    to describe the state of a process.
    D Uninterruptible sleep (usually IO)
    R Running or runnable (on run queue)
    S Interruptible sleep (waiting for an event to complete)
    T Stopped, either by a job control signal or because it is being traced.
    W paging (not valid since the 2.6.xx kernel)
    X dead (should never be seen)
    Z Defunct ("zombie") process, terminated but not reaped by its parent.

    И на выполнение чего они застряли?
    Тут сложнее, либо strace, но можно для начала глянуть в server_status
    Ответ написан
    1 комментарий
  • Существует ли в природе form-builder (PHP) + validator (client+server) в одном флаконе?

    @BaBL
    Другими словами, есть дикое желание подружить HTML_QuickForm2 и zforms.ru, но перед этим хотел бы поинтересоваться у «ленивых программистов», как они борются с ленью при построении форм и двойной работой по проверке вводимых данных?

    мы говорим себе: сделай это и сможешь скушать шоколадку. И сидим делаем.
    Ответ написан
    Комментировать
  • Какую выбрать программу для хранения и управления паролями?

    @paxter
    Пользуюсь KeePass. Подходит под пункты 1-3, насчет 4 не знаю
    Ответ написан
    5 комментариев