• Почему unexpected end of file?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    > "Почему то вываливается ошибка Parse error: syntax error, unexpected end of file in H:\xampp\htdocs\phptest.php on line 41
    41 строка это последняя(там где "

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

    potapchino
    @potapchino
    Схема такая: клиент(Vue) --> серверное апи(ваш язык) --> бд(MySQL).

    Клиент делает запросы к апи, апи делает запрос к бд, бд отвечает апи, апи отвечает клиенту. Запросы к апи делать с помощью ajax, для реалтайм данных можно юзать вебсокеты
    Ответ написан
    Комментировать
  • Как сделать страницу 404 в VUE.js?

    @serg127
    Здравствуйте.
    А чем плох подход из официальной документации, о котором уже писали выше?
    guide
    const routes: [
        ...
        { path: "*", component: PageNotFound }
    ]
    Ответ написан
    Комментировать
  • Как сделать так, чтобы хэши md5 совпадали у python и js?

    Строка должна быть также в utf8. Извините за говно код, но вот пример
    const md5 = require("pure-md5")
    const utf8 = require('utf8');
    console.log(md5.md5(utf8.encode("Привет")))
    Ответ написан
    Комментировать
  • Как правильно разделять приложение node js на микросервисы?

    VGrabko
    @VGrabko
    Golang, Php, Js
    Ну вообще обычно есть "точка входа" которая имеет публичный Api и занята она проксирование запросов к микросервисам.

    По поводу протокола.
    Я юзаю Go и думаю что тоже подойдёт к любому ЯП.

    У меня между микросервисами сделано подобие json RPC по верх TCP и UNIX SOCKET. Второе сделано на случей если микросервисы на том же сервере и каждый микросервис слушает как tcp так и unix socket.

    Обычно каждый модуль выносят в микросервис (а-ля Авторизация, Чат, Отправка EMAIL и т.д.)
    Ответ написан
    Комментировать
  • Как уже на собеседовании понять, какое в компании качество кода?

    nozd
    @nozd
    C#
    5ddf698a8297f888580762.png
    Ответ написан
    Комментировать
  • Зачем нужен composer PHP?

    SPAHI4
    @SPAHI4
    реактовцы - это не девы, а прокидыватели пропсов
    Ой, сколько повидал я людей "у меня все велосипеды свои, родные, зачем мне что-то еще".
    1. Поставить какой-то пакет в одну команду – самое очевидное. Не запариваться с архивами.
    2. Обновление в одну команду. При том, если что-то пойдет не так, можно быстро откатиться.
    3. Зависимости сторонних пакетов. Не придется иметь несколько копий одной и той же библиотеки.
    4. Удобный встроенный автолоадер.
    5. Удобство развертки. В репозитории хранится только ваш собственный код, который быстро деплоится на сервер, а там уже ставятся все необходимые зависимости.
    Ответ написан
    3 комментария
  • Как ограничить доступ к api сайта?

    uDenX
    @uDenX
    PHP Developer
    С помощью CORS можно контролировать кому разрешено делать запросы

    CORS
    Ответ написан
    6 комментариев
  • Зачем нужно ООП?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Во-первых, jQuery родилась во времена, когда каждый браузер реализовывал JS и DOM API по-своему, её основным назначением было сглаживать эти различия. В наше время это преимущество библиотеки уже утеряно. Во-вторых, jQuery не соответствует основному вызову современности - сложной кодовой базе. В развитом фронте код, использующий jQuery, быстро превращается в трудно сопровождаемую лапшу. Поэтому для простого фронта чаще стали использовать ванильный JS, а для сложного фреймворки типа React, Angular и Vue.
    Ответ написан
    23 комментария
  • Как заменить текст в ссылке iframe с помощью javascript?

    @akyl-kb
    var container = document.getElementById('yohoho')
    container.addEventListener('DOMSubtreeModified', function listener(event) {
        var iframe = document.getElementById('yohoho-iframe')
        if (!iframe) {
          // iframe еще не появился в dom
          return
        }
        var url = iframe.src
        var updated = url.replace('kLShoChnGWEE', 'LFHkCbyQOWUm')
        iframe.src = updated
        
       // Задача выполнена, можно удалить обработчик
        container.removeEventListener('DOMSubtreeModified', listener)
    })


    Код сверху может не сработать
    2-й вариант
    window.addEventListener('DOMContentLoaded', function(){
        var timerId = 0
        function changeUrl() {
            var iframe = document.getElementById('yohoho-iframe')
            if (iframe && iframe.src) {
                var url = iframe.src
                var updated = url.replace('kLShoChnGWEE', 'LFHkCbyQOWUm')
                iframe.src = updated
                return clearTimeout(timerId)
            }
            // Каждые 100 мс делаем проверку на появление iframe в dom
            timerId = setTimeout(changeUrl, 100)
        }
        changeUrl()
    })
    Ответ написан
    1 комментарий
  • Нужно настоить htaccess laravel?

    @grinat
    Доступ залочен. У апача нет прав на чтение данных из этой дреиткории и т.д.
    Ответ написан
    Комментировать
  • Какие области в веб - разработке осваивать в перспективе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надеюсь, вопрос закроют как дубль. Потому что ну сколько можно уже. "Я ничего не знаю, ни к чему душа особо не лежит, но хочу быть молодым перспективным владельцем стартапов, газет, пароходов поэтому скажите мне какой язык программирования делает людей богатыми и успешными. но только чтобы особо напрягаться не нужно было!"
    Ответ написан
    4 комментария
  • Какую можете посоветовать литературу по взлому и пентесту веб сайтов?

    @uroot
    Да какая литература? Она выходит уже устаревшей. Форумы и только форумы: античат, эксплоит и другие. Читайте статьи и пробуйте. Не получается - задавайте вопросы на форумах.
    Вам нужно понять как работают такие вещи, как:
    1. SQL-injection
    2. PHP-injection
    3. XSS
    4. CSRF
    5. LFI
    6. RFI
    7. Эксплойты (поиск и эксплуатация)
    8. Научится работать со сканерами (особенно Metasploit)

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

    Stalker_RED
    @Stalker_RED
    Регуляркой, например: https:\/\/[^\s]*
    https://regex101.com/r/riu31t/1
    UPD: правильнее так, чтобы позволить символы только из числа
    разрешенных
    ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=`.

    см. RFC 3986 (Section 2: Characters)
    https?:\/\/[!#$&-;=?-[\]_a-z~]*
    Ответ написан
    9 комментариев
  • Для чего нужна ORM?

    Вы не путаете ORM с DBAL? ORM это не технология замены SELECT * FROM goods WHERE cost < 100.00 на $db->select()->from('goods')->where('cost < 100.00'). ORM это способ задания связи объектов и РСУБД. По сути позволяет абстрагироваться от способа хранения объектов вообще, с лёгкостью переходя от SQL к NoSQL, memcache, файлам или REST/RPC API на удалённом сервере, оперируя на уровне модели (если говорить о MVC и т. п.) простыми plain old objects, а их персистентность отдать контроллеру. Не $db->select()->from('goods'),, не mysql_query('SELECT * FROM goods'), а $goodsRepository->findAll(), а уж будет репозиторий формировать SQL запрос, читать файлы или память, а может стучаться на Гугл и парсить его вывод — его, репозитория, личное дело (а также разработчика(ов), отвечающих за подсистему хранения).

    Кроме того ORM, как правило не исключает обращение к БД на уровне произвольных SQL запросов, оно лишь преобразуют результаты этих запросов в объекты модели предметной области (и наоборот), которые ничего не знают (в идеале) о таблицах, WHERE, HAVING и т. п.

    ORM это не только инструмент архитектурного разделения областей ответственности объектов и классов приложения, а также инструмент облегчения разделения труда разработчиков: кто хорошо шарит в SQL вообще и особенностях конкретного движка в частности — работает по «ту сторону» ORM, оптимизирует его как хочет, может нормализовывать и денормализовывать, например; кто хорошо разбирается в дебетах и кредитах — работает с plain old objects в терминах предметной области и может вообще ничего не зная об SQL, ему лишь нужно знать, что он всегда может получить объект или их коллекцию обратившись к методам вроде findById() или findAll() и сохранить результат работы методом save() или flush().
    Ответ написан
    3 комментария
  • Upwork и налоги?

    opium
    @opium
    Просто люблю качественно работать
    так как вы работаете в черную полностью не легально и причем с полным палевом для налоговой и полиции, к вам уплата ндс не относится.
    Ответ написан
    Комментировать
  • Что почитать об архитектуре приложений и фреймворков на php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В целом сразу вас расстрою, то что вы хотите нельзя "разобрать" за пару месяцев. На это уйдет пару тройку лет. И книги которые стоит по этой теме прочитать имеет смысл перечитывать. Ну и практика практика практика.

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

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

    но совершенно не имею представления о правильной архитектуре приложений на php


    "Правильно" не бывает, все зависит от задачи. "Правильная" архитектура является:

    - понятной - то есть можно быстро разобраться. Это как читабельность кода (читать совершенный код Макконела) так и в принципе декомпозиция системы, разделение ответственности и т.д. (микросервисы, гексагональная архитектура). Тут можно посоветовать почитать Эрика Эванса.
    - удобной в изменениях (продумать все нереально, а сталобыть проще сделать так что бы адаптироваться под изменения в требованиях можно было эффективнее).
    - Тестируемой - то есть вы можете проверить работоспособность системы на различных уровнях. Тут стоит смотреть в сторону TDD или практик с той же идеей (сначала формулируем как работает и как мы это проверим а потом уже делаем).

    Вот и все. Далее уже есть принципы SOLID (читать Роберта Мартина), GRASP (Крэйг Ларман), GoF (лучше тут почитать head first design patterns или даже начать с Мэта Зандстры, у него помимо паттернов еще про процессы мельком рассказано).

    Ну и смысла в этом всем нет если вы еще до конца не осознали что есть инкапсуляция и полиморфизм. Многие могут рассказать что значат эти термины, но на практике эти знания они не могут применить (чаще всего страдает инкапсуляция)

    или написании чего-то своего с нуля на чистом php


    Такое решение может принимать только разработчик у которого уже есть за плечами хотя бы пяток лет опыта работы с различными (не одним) фреймворком и языками. В противном случае вы только будете заниматься бесполезным велосипедостроительством.

    идеально было бы вообще подробно расписанное сравнение внутреннего устройства нескольких фреймворков


    Берете Symfony или Zend и вперед. Все остальные фреймворки "проще". То есть скрывают больше от разработчика. После них уже можно брать что угодно.

    p.s. еще прочитайте тут: www.phptherightway.com
    Ответ написан
    12 комментариев
  • Symfony2 - Как правильно создать свой bundle?

    riky
    @riky
    Laravel
    сначала генерируешь новый дефолтный бандл.
    потом сам добавляешь туда что тебе нужно.

    скрипт сгенерит стандартную структуру и пропишет бандл в AppKernel и routes.yml - все

    идея в том что ты создаешь бандл и начинаешь работать в нем, нет инструментов для авто перемещения из бандла в бандл.
    Ответ написан