• Полезно ли долго (и вообще) «велосипедить» в программировании?

    php666
    @php666
    PHP-макака
    Индустрия сожрала сама себя и вогнала в коллапс.
    Фреймворки, которые по идее должны давать некое облегчение, сейчас представляют собой монстроподобные механизмы.
    Скоро в вакансиях будет не просто "программист ЯП", а "программист на ЯП на Фреймворк"
    Всё к тому идёт.

    Не путать это утверждение с библиотеками.
    Ответ написан
    1 комментарий
  • Как вы учились или как вы считаете чему нужно учить Web-разработчика в ВУЗе?

    php666
    @php666
    PHP-макака
    Современное программирование (особенно веб) вообще никак не связано ни с математикой, ни с алгеброй, ни с геометрией или физкультурой. В большинстве случаев работа программиста - это оперирование абстракциями. Для покрытия 99% бизнеса хватит 5 класса математики.

    Грубо говоря, если ты формошлепом себя видишь, не оканчивал школу с золотой медалью и ты понимаешь трезво, что тебя не ждут в Яндексе или Гугле на разработку движка поисковой системы, то не надо никакого ВО.

    и совсем нет желания его получать. Вообще и совсем.
    И не надо. Не надо жить так, как велит тебе общество. Даже не общество, а стереотипное мышление.

    Я в 2001 году, сразу после колледжа, проработал несколько месяцев инженером в IT на ныне покойном ЗИЛе. Потом пошел вышку получать. Как сейчас помню - абсолютное, тотальное нежелание заниматься херотой, которую нам преподавали, особенно когда ты уже работал и трезво понимаешь, что нужно в жизни, а что - нет. Плюнул и ушел дальше работать.
    Ответ написан
    1 комментарий
  • Локальный сервер - GIT - удаленный сервер - Платежные системы. Как подружить?

    php666
    @php666
    PHP-макака
    ЯК привязывается к домену, т.е. все операции с ЯК можно делать только на боевом сайте.
    многие платежные системы, если не все, дают тестовые механизмы для внедрения их решений в ваши проекты.

    Дальше ничего не понял. В чем проблема?
    Ответ написан
    Комментировать
  • В URL при роутинге не получается передать массив, что делать?

    php666
    @php666
    PHP-макака
    красивые урлы имеет смысл делать только для статических ресурсов (SEO, приятный внешний вид)
    для поисков, как и раньше, используется Query string

    MVC не обязывает делать красивые URL, МVС вообще никак не относится к теме роутинга и вида входящих параметров. можно придумать любую нотацию URL-адреса, приложение, построенное по принципу MVC, не станет от этого "не MVC".

    нет ни одного здравого аргумента "маскировать" query string и изобретать велосипед поверх HTTP-протокола
    Ответ написан
    2 комментария
  • Как сделать страничку с сохраненными данными php, ООП?

    php666
    @php666
    PHP-макака
    сейчас обучаюсь на курсах по Web-програмированию и сейчас вообще не понимаю как работать с ООП
    к ООП ты придешь сам, но спустя некоторое время практики (год-два). Когда тебе не потребуются курсы, что бы писать на языке. Сейчас что-либо тебе объяснять бесполезно. И не нужно. Научись писать сначала код без самописных классов.

    И как можно сделать страничку с сохранеными данными через ооп?
    Это тема если и не целой книги, то большого раздела в книге.
    Ответ написан
    6 комментариев
  • Как изучить php и 1с Битрикс?

    php666
    @php666
    PHP-макака
    . У нас постоянные проблемы с программистами
    у вас проблемы не с программистами, а с Битриксом.

    Как изучить php и 1с Битрикс?
    Битрикс вообще не надо изучать. Это помойка высшей категории, это говно гной и блевотина. Омерзительная система, которая отстала от времени лет на 20, которая писалась абсолютными дилетантами.

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

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

    php666
    @php666
    PHP-макака
    У меня есть несколько доменов, я бы хотел на них разместить сайты, но лично у меня уже закончились идеи.
    для начала надо переосмыслить свои поступки - зачем содержать домены, если нет сайтов, идей и средств для реализации этих идей?

    сейчас домены ничего не стоят. ровно как и любые "гениальные" идеи. стоит реализация и профит, который она приносит.
    Ответ написан
    Комментировать
  • Универсальный метод обновления данных в БД?

    php666
    @php666
    PHP-макака
    гугли ORM, ActiveRecord
    Ответ написан
    Комментировать
  • Как правильно получить составные данные из базы и сложить их в одну сущность?

    php666
    @php666
    PHP-макака
    PostsView, который отвечает за вывод поста в виде HTML
    никакого PostsView быть не должно - достаточного одного View - это, по сути, шаблонизатор, с буферизацией вывода. Что, по твоему, должен делать PostsView?

    Что почитать по этой теме
    "Архитектуру корпоративных приложений" Фаулера. Главу "источники данных".

    Ведь мы не можем просто взять и в PostsModel выполнить JOIN необходимых полей из таблицы Users?
    Я в своем самописном фреймворке так и сделал. Есть метод для JOIN в моей ORM, он возвращает многомерный массив объектов, где каждый конечный элемент (на твоем примере) будет объект модели Поста и Пользователя. Почему так? Потому, что сделать так:

    <html>
      Текст поста: <?=$post->getText()?><br>
      Автор поста:  <?=$post->getAuthor()->getName()?> <!-- это самое сложное -->
    </html>


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

    php666
    @php666
    PHP-макака
    php бэкенд + фронтед js. HTML+CSS позади
    как грязи таких разработчиков...
    Хочу после 9 класса переезжать в Москву в съемку (которую пару месяцев смогут оплачивать родители) и искать работу php джуниора
    аренда в москве от 25 тр, надо вроде платить за первый и последний месяц + риэлтору... ну мне так говорили знакомые, кто снимает.
    Школьник, вот буквально в прошлом месяце огэ сдал, год пилил знания и углублялся в программирование, переезжает в Москву на съемку и начинает ходить на интервью и трудоустраивается
    конечно, это из разряда фантастики. ты должен получать, что бы отбивать аренду и не сдохнуть с голода. и не факт, что школоло возьмут. а если и возьмут, то на теже 35-40 тр
    Ответ написан
    4 комментария
  • Как найти возможность в любой момент брать шабашки на 1000-2000 рублей?

    php666
    @php666
    PHP-макака
    Если перефразировать вопрос: я работаю удаленно, денег не хватает, нищеброд. Хочу такую работу, что бы ничего не делать и получать косарь рублей за установку цмс.

    Рональд Макдональд правильно написал - "Влажная мечта любого фрилансера"
    Объективно, айти - не та отрасль, где можно легко находить такие мелкие заказы.
    Такси, грузоперевозки или все, что связано с массовой востребованностью. Ибо на тысячу населения гораздо больше людей имеют потребность в такси, нежели в сайто-правках.

    В автосервисе за снятие/установку одного колеса берут рублей 100 или 200. Фрилансеры тоже хотят также - прилагать мало усилий и получать за это немалые деньги. Проблема только в том, что вас много, а заказчиков - объективно меньше. И раздутый пузырь фриланса терпит крах каждый раз, когда тут появляется очередная тема про фриланс, не состыковывающаяся с реалиями жизни.

    Чтоб покрывать непредвиденные затраты (поход в кафе, в гости, заправка авто, подарки... ) .
    Это не непредвиденные затраты, это ничто. Даже мужичок с завода может себе позволить кафе и заправить своё ведро. Куда деньги деваешь (если они у тебя, конечно, есть)?
    Ответ написан
    Комментировать
  • В какой фриланс-бирже можно начать работать?

    php666
    @php666
    PHP-макака
    Сижу в офисе, протираю штаны, курю каждый час, зарплата падает...
    А вы батрачьте на фрилансе.
    С невнятными заказчиками, которые хотят интернет-магазин за 500 рублей,
    сидите в вечных дедлайнах,
    исполняйте роль менеджеров
    и т.п.

    Мне хватило мозгов в 22 года, что бы понять, что эта форма деятельности - бред полный. Я 2 часа слушал лекции про водорослей и крабов от чувака, который хотел сайт своего зоомагазина. Когда я от него вышел, я понял, что это всё мне нахрен не упало и устроился в офис.
    Ответ написан
    4 комментария
  • Как создать приложение - задачник (mvc приложение на чистом php)?

    php666
    @php666
    PHP-макака
    В приложении нужно с помощью чистого PHP реализовать модель MVC
    Глупая тестовая задача. Я писал с чистого листа свой собственный MVC-фреймворк на PHP и я откровенно скажу, что до того момента, пока код не стал более-менее идеальным MVC, ушло, мягко сказать, очень много времени.

    Новичок не потянет такую задачу - это будет абсолютно неправильное наколенчатое решение. MVC - это не просто разделение по файликам кода. Это концепция потянет за собой необходимость в доменных объектах, те в свою очередь нуждаются в CRUD, т.е. в ORM, там надо копать AR или DataMapper. Новичок не сможет грамотно отделить представление от логики контроллера или логики модели, для пагинации нужен сервис, для сортировки нужен сервис, для вывода объектов нужна коллекция (опять же, ORM).

    Кто дал эту задачу?
    Ответ написан
    9 комментариев
  • Как автоматизировать изменение версии css?

    php666
    @php666
    PHP-макака
    last modified
    css отдавать через php по виртуальным путям
    у меня вот так сделано
    общий алгоритм такой:
    берем необходимый файл, смотрим время его модификации по filemtime, преобразуем в $date
    далее проверка:
    public static function IfModifiedSince(\DateTime $date): bool
        {
            if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
                $if_modified_since = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
    
                if ($if_modified_since && $if_modified_since >= $date->getTimestamp()) {
                    return false;
                }
            }
    
            return true;
        }

    клиентский код:
    $resource - объект Css, Js или картинки. Вот базовый класс.
    if (!Request::IfModifiedSince($resource->getModificationTime())) {
                    // отдаем 304 заголовок
                    return $this->getResponse()->setHttpStatusCode(304);
                }
    
                $this->getResponse()
                    ->setHeader(Response::HEADER_CONTENT_TYPE, 'text/css; charset=utf-8')
                    ->setHeader('Last-Modified', $resource->getModificationTime()->formatHttpDate())
                    ->setHeader('Cache-Control', 'no-cache, must-revalidate');
                    // выводим файл
    Ответ написан
    Комментировать
  • Чем реально на работе занимаются безопасники?

    php666
    @php666
    PHP-макака
    Бюрократией занимаются (те хренью).
    Что бы с гитхаба выкачать фреймворк писали кучу запросов, выуживали через лог какие хосты/порты открыть и потратили на всё 1.5 месяца.
    Ответ написан
    Комментировать
  • Что должно быть в резюме у начинающего разработчика без коммерческого опыта?

    php666
    @php666
    PHP-макака
    какое же идиотское слово - пет-проекты... ну да ладно..

    Это лет 15 назад ты был обязан показать работодателю ПРОЕКТ, над котором работал. Это когда командная разработка была чем-то далеким, а каждый разработчик (на примере веба) был и программист и верстальщик и... дизайнер. И подразумевалось, что ты должен показать свои навыки на примере "своего проекта".

    Сейчас если у вас спрашивать будут "покажите ваши проекты" - надо бежать сломя голову. Ибо работодатель будет скорее всего неадекватен.
    Сейчас время командных решений, где разработчики на 90% правят говнокод и баги, дописывают и переписывают монстроподобные решения, которые пилятся годами.
    Гитхаб зачастую никто не смотрит, особенно если это не законченная библиотека.
    Все будет решаться на собеседовании. Поэтому, как выше написали:
    Пишешь что конкретно умеешь. Ставишь галочку "мало опыта / без опыта" и активно откликаешься на вакансии.
    Не просто ждешь пока позовут, а именно делаешь отклик.
    Ответ написан
    1 комментарий
  • Как выполнит одним запросом несколько действий MYSQL?

    php666
    @php666
    PHP-макака
    поставить индекс на timer на vk_id
    поставить индекс на score на vk_id
    больше ничего не трогать
    никакой нагрузки тут нет
    Ответ написан
    5 комментариев
  • Как правильно организовать ЧПУ для дерева категории в PHP?

    php666
    @php666
    PHP-макака
    Первое. Твой роут (надеюсь, знаешь что это такое и используешь), должен быть вида
    '~^/categories(/[a-z0-9_/\-]+/)$~i'
    улавливая то, что в скобках мы получаем это
    /<category_slug>/<subcategory_slug>/

    при добавлении новых категорий ты должен записывать в таблицу категорий путь от вершины дерева до новой конечной категории.

    зная полный путь к категории ты можешь получить её ID

    далее исходя из архитектуры
    Ответ написан
    Комментировать
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    php666
    @php666
    PHP-макака
    Я проектировал доску с нуля на ООП.
    Я бы написал расширенный ответ, но лень.
    Надо просто читать Фаулера, я говорил тебе 100 раз. Ты этого не делаешь, поэтому ты пишешь какую-то вроде отчасти и правильную вещь, но если разложить по полочкам - сам не понимаешь. что хочешь добиться в архитектуре. В итоге сам не понимаешь, куда движешься. У тебя НЕТ архитектуры и понимания, как сделать правильно, поэтому мечешься. А архитектура - это когда шаг влево, шаг вправо - расстрел. Это когда ты делаешь всё по оговоренным правилам и не задаешься вопросами, а как правильно.

    class Advert {
      // Объявление детально
      public function displayAdvert(){
        // Показать объявление детально
      }
    }


    какая-то дичь. Ты должен оперировать в первую очередь контроллером, моделью, представлением. Модель - это классы сущностей и сервисы. Во многих популярных фреймворках модель - это сущность+ActiveRecord. Можно использовать паттерн модель + DataMapper. Не суть.

    Вот что такое Advert? Это объявление. Это модель. У нее нет никакого метода displayAdvert. Этот метод может быть у контроллера объявлений, который выводит ОДНО объявление на странице.
    Что, по твоей логике, должен делать этот метод? Чем он отличается от метода ХРАНИЛИЩЕ::findById()?

    public function displayMyAdverts(){
    Это должно быть в AdvertCollection::findByUser()
    Ответ написан
    Комментировать