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

    @newpy
    web-dev
    Python
    arr = list([x for x in range(2,10) if x % 2 != 0] + [1])
    print(arr)
    Ответ написан
    Комментировать
  • На чём создать чат-форум для которотких сообщений с современным дизайном?

    @newpy
    web-dev
    Очень важно полностью кастомный дизайн.

    Если это важнее всего, то все равно на чем писать. Т.к. то что вы выберете не повлияет на дизайн никоим образом.
    Для начала отделите зерна от плевел.
    Выбор технологии зависит от конечного продукта. Чаты с большим количеством подключенных пользователей одновременно, и постоянно "висящих" на соединении, требуют некоторой асинхронности. Тут подошел бы Node.js. Если же это будет некая система больше похожая на форум/блог с подгрузкой необходимых данных, в качестве быстрого старта (не лучшего возможно), можно выбрать стек технологий PHP+Ajax+JavaScript. Т.к. у вас нет практического опыта, я бы советовал попробовать именно так. Будете ли вы использовать фреймворк или CMS тоже ваш выбор, но стоит учесть разницу. Используя CMS вы будете ограничены тем функционалом который в ней есть (по большей части), но если вам важен только дизайн, то как я уже сказал, в принципе все равно что использовать. Плюс требования к использованию к CMS несколько ниже, чем разработка вышеописанного с помощью фреймворка. Вам потребуются некоторые знания. Которых у вас без практического опыта с 99,9% долей вероятности точно не хватит. Зато это хороший повод научиться чему-то, и получить тот самый практический опыт. С CMS боюсь что вы этого не получите. Зато там будет возможность меньше напрягаться с программированием, и больше уделить внимания дизайну.
    По поводу блокнота: редактор кода вы можете выбрать любой, на технологию он влияния не окажет. Скажется на лично вашем субъективном удобстве при разработке, возможно скорости этой самой разработки(при наборе кода), а также частично сократит количество ошибок в написании используемых методов.

    В заключение:
    Если вы не имеете практического опыта, а только теоретические знания, подтвержденные только вашей собственной (склонной к завышению) самооценкой, то начните с чего-то более простого. Без использования фреймворков и CMS. Для начала просто разработайте дизайн сайта, добейтесь того чтобы он выглядел так как вы хотите. Затем сверстайте его в обычный HTML, а потом уже думайте как реализовать функционал. И тоже сперва начните с простого. С реализации простейшего блога с помощью выбранной технологии. Если будет получаться, то вы сами начнете видеть что делать дальше и усовершенствуете свою разработку. А если возникнут трудности с созданием простого блога с помощью какого-то фреймворка, то трудности подскажут какие знания вам необходимы. Начинайте всегда с простого. Самая частая ошибка начинающих, это маниакальная тяга все усложнить и сделать все сразу и сходу. Вы не первый. Не выйдет. Благо на просторах интернета полно исчерпывающих мануалов как создать простейший блог с помощью любой технологии и фреймворка.

    С Наступающим, и удачи.
    Ответ написан
    Комментировать
  • Как сделать автоматический деплой PHP приложения?

    @newpy
    web-dev
    TeamCity от JetBrains
    https://www.jetbrains.com/teamcity/
    Ответ написан
    Комментировать
  • Почему не передаются данные из формы методом POST?

    @newpy
    web-dev
    А вы уверены в том, что первый файл index.php и правильно ли он написан? В form.php вы указываете открывающий тег <?php и закрывающий, а в index.php у вас тегов нет. В таком случае это должен быть файл index.html. Или вы приводите не полный текст первого файла index.php. Или если вы хотите чтобы он был php и правильно интерпретировался, то должен быть
    index.php
    <?php
    echo '<form method="post" action="form.php">
     <input type="text" name="username" />
     <input type="submit" id="send" name="submit" value="Отправить" />
    </form>';

    Или без тегов <?php ?> и переименовывайте в index.html
    И лежат ли у вас файлы index.php и form.php на одном уровне (в одной папке рядом)
    Если и это не помогает, убедитесь что у вас вообще интерпретатор правильно работает.
    Ответ написан
    1 комментарий
  • PHP vs. all. Имеет ли смысл учить (параллельно) что-то еще?

    @newpy
    web-dev
    все языки хороши, каждый предназначен для своих целей...у всех свои минусы

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

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

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

    Про Python и Django - я знаком и с тем и другим (PHP), могу писать на том и другом. Но лично мое субъективное ощущение что на Python мне писать приятнее. И нравится больше. И тут работает главный совет из начала, "на чем нравится на том и пишите", если это позволяет задача, и есть возможность выбирать. Просто если поступил заказ использовать PHP, то что вы откажетесь от денег и заказа и будете сидеть пока не прилетит волшебник с заказом на python+Django?

    Про скорость работы языка: я думаю, вам рановато думать о скорости работы того или иного языка. Если вы только прям сейчас не пишете свой фейсбук, например. К слову, например Instagram написан на Python и вроде не испытывает недостатка в нагрузке, и вполне работает. Все остальное вполне справляется со своими задачами.

    Про скорость работы (просто скорость работы): Django даже позиционируется как фреймворк "для перфекционистов с дедлайнами", что гласит даже заглавная страница фреймворка, т.е. позволяет вести разработку быстро. К слову тоже самое можно делать и с помощью того же Laravel. Если хочется "по-взрослому": то чаще всего это Symfony. Но в большинстве случаев нет смысла писать небольшие сайты на Симфони. Не потому что Симфони там плох, а потому что это можно сделать быстрее. А в коммерческой разработке, бытует мнение, что главный критерий для клиента сейчас -это скорость разработки.
    Если проект крупный, то там сроки тоже поставлены, но они довольно большие, и там чаще всего и используют Симфони.
    Опять же Django при этом подходит как для небольших проектов, так и для очень больших.
    Если вам нужно разработать API, то там чаще всего используют другие инструменты, которых много как со стороны PHP, так и со стороны Python. Различные микрофреймворки в качестве backend-а.

    Подводя итог, вы можете заметить, пару ключевых тезисов:
    1. Зависит от конкретной задачи, которая перед вами стоит, или требование клиента(руководства компании)
    2. Если есть возможность выбирать, если это позволит вам получить конечный результат, то выбирайте то, что вам по душе. Кому-то Python "не лезет", кому-то PHP.

    Хотелось закончить на веселой ноте =), поэтому скажу так: при всем вышесказанном, чаще всего, всех этих людей объединяет одно: "так или иначе все они используют JavaScript"
    :D
    Ответ написан
    7 комментариев
  • Как разобратся с MVC?

    @newpy
    web-dev
    В представлении AR
    Model = Таблица
    экземпляр Model = запись из таблицы,
    что мешает получать записи по одной в цикле из нужной таблицы и записывать в массив. На выходе получается массив или коллекция. Собственно современные ORM это и делают.

    Например получение всех записей из таблицы категорий (модель Categories) в большинстве современных фреймворков выглядит примерно так:

    $categories = Categories::all()

    На выходе в переменной $categories получаем коллекцию (по сути массив каждый элемент которого является объектом модели Categories):

    Collection {#168 ▼
      #items: array:5 [▼
        0 => Categories {#169 ▶}
        1 => Categories {#170 ▶}
        2 => Categories {#171 ▶}
        3 => Categories {#172 ▶}
        4 => Categories {#173 ▶}
      ]
    }


    Вы можете пробежаться по этому массиву и получить нужную запись. Никаких проблем.

    Утрированно:

    Controller - управляет.

    Если это Посты, то ими надо управлять, действовать. Методы (actions, действия) работы с Постами, например create, delete, update, edit. Логично было бы предположить что для управления Постами нужен PostsController.

    Комментарии - свой набор действий (action) логично предположить что для них следовало бы сделать отдельный контроллер CommentsController, который содержал бы логику управления только Комментариями, а не всем на свете(например Пользователями). Вы всегда будете знать что Комментариями управляет CommentsController, Постами - PostsController. Более того, если кто-то другой откроет ваш код, то он сделает логичное предположение, что за Посты у вас отвечает PostsController и начнет работать/ломать оттуда.

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

    Создайте объект класса (Модели), сделайте запрос, выведите дампом и посмотрите как устроены данные. Вы наглядно увидите объект это или массив, или ни то, ни другое, ни третье )).
    Ответ написан
    Комментировать