Ответы пользователя по тегу Веб-разработка
  • Почему web-сервисы стали называть API или какая между ними разница?

    1) олдскульные (SOAP/XML) веб-сервисы называли так, потому что есть группа стандартов от W3С, и там используется именно понятие "web service" (https://www.w3.org/TR/ws-arch/#id2260892);
    2) поэтому REST API называются так, чтобы побольше отличаться от веб-сервисов, и заодно подчеркнуть, что в таком взаимодействии единственный стандарт "для всех" - это HTTP. Все остальное - форматы запросов/ответов, степень соответствия архитектуре REST - определяется конкретным сервисом, и поэтому хотелось некий "легковесный" термин, который бы говорил о таких контрактах взаимодействия, которые работают поверх HTTP и соответствуют архитектуре REST. Поэтому и REST API/Web API , что переводится как "контракт, работающий поверх HTTP в соответствии с архитектурой Web".
    Ответ написан
    Комментировать
  • Востребована ли профессия веб-разработчика?

    от "да, очень нужный скилл, будущее за вебом"

    до "это днище..."


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

    Вы Тостер полистайте, и посмотрите, по каким тегам спрашивают.

    P.S. Вебу уже не первый десяток лет, веб это не будущее, веб это настоящее. А то, что перечисленные Александр школьники и инвалиды понимают под "вебом" странички с js-кодом, и даже не знают, например, что такое REST на самом деле - вот это результат низкого порога входа.
    Ответ написан
    6 комментариев
  • Чем отличаются языки программирования PHP, PYTHON, RUBY?

    1. Аналогию с самими языками проводить не стоит. Аналогию стоит провести для платформ.
    Платформы вроде .net и java, которые разрабатывались для энтерпрайза, разумеется лучше для него подходят. И не важно даже, десктопное у вас приложение или веб-сервис. Важно, что в платформе есть поддержка нужных стандартов и технологий с гарантией качества от производителя.
    С другой стороны, многие компоненты таких платформ это closed-source. Поэтому, если вы не банк, а стартап, то для веб-сервиса выбирайте
    Ruby или Python.
    Социальную сеть можно сделать много на чем, но я бы делал на рельсах или джанге. А вот функционал сбербанк-онлайн я бы делал на ASP.NET MVC (т.е. на C#) или на джаве (на спринге например). Однако, тот же близзовский battle.net написан на спринге (сервер когда-то случайно отдал мне stack-trace после ошибки).

    Хотя, имхо, некоторые ключевые элементы дизайна языка все-таки влияют на возможность его применения в крупных проектах. Например, я считаю, что писать крупные проекты на языке со статической типизацией намного проще. Однако это вопрос очень холиварный.

    2. Нет, не будет. Не должно быть, если точнее. Для пользователя язык общения с сервисом - HTTP. Если в современном веб-фреймворке нельзя нормально абстрагироваться от используемой технологии, это плохой фреймворк.

    3. На PHP много чего нельзя сделать. Вернее, КАК БЫ можно все, но нормально можно только веб. Именно поэтому для меня он не язык, а какой-то шаблонизатор - слишком у него дурная история и связь с веб (что нехорошо для языка общего назначения). Конечно, современные веб-фреймворки его очень хорошо причесывают, что даже можно работать с ним, но мы же о языках говорим..

    4. Для веб-проектов между Ruby, Python и PHP человек бы выбирал исходя из своих умений. У каждого языка своя экосистема (библиотеки, пакетные менеджеры, серверы приложений/плагины для веб-сервера) и довольно непросто знать все сразу. Именно поэтому все расходятся по своим лагерям и просто работают. Первичный выбор языка часто определяет его популярность. Лет 5 назад Руби всех рвал за счет Рельсов, сегодня Питон и PHP подтянулись в плане экосистемы, поэтому ситуация уже другая.
    Если человек таки сумел познакомиться с разными языками, он выберет тот, в котором ему проще мыслить. Модель ООП, статическая/динамическая типизация - все это определяет ощущения КОНКРЕТНОГО человека от КОНКРЕТНОГО языка.

    5. PHP учится быстрее всех, но если вы не знаете других нормальных языков, лучше его не учите - испортитесь как программист. Python и Ruby учатся примерно одинаково. Изучение C++ - совсем другая история, я бы не ставил его в один ряд с Питоном - этот язык несколько другого уровня и требует других (более глубоких) знаний о вычислительной технике (т.е. он 100% учится дольше, чем Python).
    Ответ написан
    22 комментария
  • Как сгенерировать код с++ из php?

    Nipheris
    @Nipheris Куратор тега C++
    то мне нужно было сделать сайт на си++

    вы ничего не перепутали?
    Я могу вам дать пару советов, но не уверен, что они вам нужны.
    EDIT: простейший вариант - SPA с JSON WebAPI на плюсах (например, связка cpp-netlib.org + https://github.com/nlohmann/json/ )
    Ответ написан
    4 комментария
  • Как объяснить девушке что такое "некрасивый" код?

    Объясните, что написание кода - изложение идей и мыслей программиста, его видения предметной области и алгоритмов (собсно, это так и есть). Красивый код - это внятно изложенные, четкие и незамутненые мысли, код-спагетти - это такое же спагетти в голове этот код писавшего. Объясните, что приведение кода в порядок приводит в порядок мысли пишущего, и не позволит лопнуть мозгу читающего.

    Вообще, расскажите о том, что деятельность программиста - это постоянная работа и со своим разумом, не только с предметной областью. Это умение построить систему в голове, и потом изложить эту систему и взаимосвязи в ней как машине, так и другим программистам.

    Молодые люди с ясными и последовательными мыслями, насколько мне известно, пользуются успехом у девушек.
    Ответ написан
    2 комментария
  • Как можно организовать изменения порядка вывода строк из таблицы?

    > Но у моего варианта есть косяки.
    А какие именно на ваш взгляд?

    Альтернативный вариант - указывать previous_id или next_id, тогда вы будете хранить минимум информации о порядке. Фактически это будет связный список. Для перемещения любого элемента достаточно будет изменить 2-3 строки.
    Ответ написан
    2 комментария
  • Что выбрать, единую базу или по базе на каждого пользователя?

    Все зависит от того, что предполагается давать пользователю в управление. Если сервис таков, что юзер никогда-никогда не должен получать доступ к базе, то тогда можно в одном наборе таблиц. Хотя разные БД будут проще в администрировании и на порядок безопаснее (вдруг где-то забудете сделать WHERE по id магазина). Если между магазами не будет общих данных, тогда преимуществ от использования одной базы ИМХО практически нет.
    Ответ написан
    1 комментарий
  • Какие методы/библиотеки/технологии использовать в web-проекте?

    > в БД через каждый цикл и соответственно в начале следующего его разворачивая, но это уж как-то изощренно получается.
    Ничего изощренного в этом нет, по крайней мере если хотите это все реализовать на PHP.
    Паттерн применения этого языка такой, что лучше таки давать скриптам быстро отрабатывать ценой необходимости сохранения состояния. Дополнительными плюсами автоматически идут:
    масштабирование (один сервер может сохранить состояние, а уже другой - извлечь) и надежность - упавший скрипт не убьет игру.
    В качестве БД советую взять Redis или Mongo, можно даже в паре, РСУБД для сохранения состояния игры будет малополезным решением, хотя будет гораздо полезнее для сохранения и обработки статистики, если таковая планируется.
    Ответ написан
    2 комментария
  • Как вернуть мотивацию к обучению?

    При повторной потере мотивации алгоритм следующий:
    1) Идем высыпаемся. По-нормальному так, без будильников. Чтоб глаза вообще больше не закрывались.
    2) Если мотивация не вернулась (возвращается в 70% случаев) - берем велик (хотя можно и пешком) - и на улицу. Если есть приличный парк в городе - находим пару нестандартных физ. упражнений (можно боевых), пытаемся выполнить. Работа с телом и физические нагрузки - это совершенно другая часть вашего сознания, про нее нужно не забывать.
    3) Если мотивация не вернулась (уже где-то 85% случаев) - берем случайную книгу (не техническую), в идеале - из жанра который вам нравится. Читаем. Спокойно, страницы не считаем.
    4) Если не вернулась, повторить с п. 1 до пяти раз, не думая о времени и выполняя только самые важные дела (срочные задачи по учебе, работа, если есть), можно даже попросить родных/знакомых помочь по дому и бытовым делам, чтобы себя разгрузить.
    5) Если не помогло после 5 раз, задаем новый вопрос на тостере, подробно описываем что делали).

    Хотя бы один из п. 1-3 выполняем для профилактики каждый выходной.
    P.S. в принципе плохо сравнивать себя с кем-то - для "сравнения" на свете есть всякие соревнования и состязания, где есть правила и контекст. В жизни правил нет, один учится в MIT, другой учится в колледже в России - какие могут быть сравнения? Вы думаете тут большинство людей за один год все узнало и всего добилось? Вы глубоко заблуждаетесь) PHP-шники-выскочки не в счет, у них искаженное представление о реальности.
    Ответ написан
    11 комментариев
  • Возможно ли построить интерфейс сайта полностью кодом C#?

    Nipheris
    @Nipheris Куратор тега C#
    Просто крайне негативно отношусь к html и xaml, хочется избавиться от этих разметок.


    Может тогда попробуете jade-lang.com или slim-lang.com (или еще 100500 аналогов)?
    Я так понимаю вас синтаксис не устраивает? Языки-наследники SGML вполне неплохо подходят для иерархического контента, т.к. для этого и создавались. Так что обычно если что-то не нравится, так это теги и скобочки)
    Ответ написан
  • Какая должна быть структура SQL запросов, учитывая текущего пользователя?

    Nipheris
    @Nipheris Куратор тега C#
    Направление мыслей верное, с технической точки зрения тоже. Не уверен насчет необходимости обновления апдейтов и делитов - если вы уже проверили UserId и выяснили, что запись принадлежит конкретному пользователю, и получили ее Id - то и удалять уже достаточно только по Id (за исключением, конечно, случая, когда вам нужно удалить ВСЕ записи конкретного пользователя).
    Правильность этого варианта зависит от вашей задачи. Если вам достаточно знать пользователя-владельца - то все хорошо, но если вы потом захотите более сложную систему доступа к записям - например давать и другим пользователям доступ к записям пользователя A, то и схема базы также усложнится.
    Ответ написан
    3 комментария
  • Сильные ли отличия между версиями ASP.NET MVC?

    Да чего вы паритесь, учите последнюю технологию. А если уж прям с нуля решили учить, то берите сразу ASP.NET 5 и MVC 6, они пока в превью, но я думаю довольно скоро будет релиз, в Update 1 или 2. А разработка под них будет отличаться довольно прилично от текущего workflow.
    Вы бы еще спросили, надо ли знать WebForms чтобы учить MVC). Ну конечно, если вы будете знать оно пригодится, для общего представления о развитии технологий, от чего к чему пришли.
    Ответ написан
    4 комментария
  • Почему Debug Assertion Failed?

    Nipheris
    @Nipheris Куратор тега C++
    На глаз в коде ошибок в работе с памятью не видно. Могу предложить еще раз внимательно проверить, правильные ли библиотеки кьюта используются. Библиотеки должны соответствовать версии компилятора и рантайма, битности собираемого экзешника и конфигурации сборки (дебаг/релиз). Проверьте, все ли у вас верно подключено. Масса странных плавающих ошибок может появляться, если, например, кьют собран под 2010-ю студию, а используется в проекте с компилятором из 2013-й и наоборот.
    Ответ написан
  • Какой движок учётной (информационной) веб-системы выбрать?

    Несколько независимых рекомендаций
    1. Многие из перечисленных вами требований стандартны для большинства современных информационных систем, и предментными не являются. Вам стоит обдумать конкретные требования и конкретные ваши процессы на предприятии или в исследованиях. Если не считать некоторых продвинутых требований (история и разграничение доступа по классам), то вы и описали что-то вроде Access, которое как бы "подходит" для всего.
    2. Все-таки весьма сомнительно то, что вам нужна система для учета любых объектов, особенно с учетом того, что вы дали конкретное описание модели. Это бессмысленная цель, подобная система реально не упростит вам задачу. Вам стоит поставить конкретную задачу и автоматизировать ее. Невозможно получить что-то полезное на общем уровне, не вникая в детали. На общем уровне можно открыть Ворд или опять-таки Access, и забить в табличку данные.
    3. Если вам важна привязка к карте, посмотрите в направлении GIS-систем. Многие из них предлагают что-то похожее на ваши требования - создавать объекты с любым набором свойств (помимо геометрии). Только обычно клиентский софт в таких системах используется для работы именно с геометрией - все прочие операции автоматизируются отдельно (тут полезно хранить данные в СУБД общего назначения, классика жанра - PostgreSQL + PostGIS).

    P.S. Все-таки у вас видимо вполне конкретная задача, которую вы зачем-то пытаетесь обобщить. Система для учета любых объектов называется СУБД, а инструмент для выполнения операций и вычислений - языком программирования.
    Ответ написан
    Комментировать
  • Каким должен LMS?

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

    Это я все как дилетант говорю, эл. обучением не занимался. Это то, что я бы хотел и ожидал увидеть в такой системе.
    Ответ написан
    2 комментария
  • Как узнать, что адресат открыл письмо?

    www.readnotify.com

    хотя не удивлюсь, если они и используют указанные вами методы.
    Ответ написан
    1 комментарий