RSS

Комментарии

Примерно так же “ведет” себя легаси. Поэтому работа программиста, который взялся за задачу модернизировать и “вдохнуть вторую жизнь” в проект, должна быть в некой степени ювелирной. Большинство программистов пытаются избегать и вообще “спрыгнуть с темы” технического долга. Даже составил хит-парад самых распространенных цитат, которые приходилось слышать от программистов, оказавшихся в условиях legacy:

— Мы делали “просто” сайт, а теперь вы хотите получить новую “плюшку”, и нам нужно все это переписать, так как у нас легаси…
— Никто не знает, как это работает…
— Чтобы добавить модуль, необходимо весь сайт проверить — только так мы поймем, что и где может вылезти…
— Я туда не полезу ни в коем случае, там уже все плохо…

Но опыт в программировании показывает, что жизнь после legacy существует. Ведь в программировании нет проблем. Есть только задачи, которые нужно решать. И перед составлением плана действий “по преодолению наследственного кода” нужно понять, насколько плохо обстоят дела на проекте в целом. По ходу практики выделил 6 стадий проблемности проекта:
В целом схоже с местами где я работал, но везде все ровно по своему делают.
Никто не придерживается канона
Проработав долго менеджером-проектов с разработчиками я бы выделила следующие вопросы:

Что такое этап разработки и продюсирование?

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

Что такое тестовый продукт для разработчиков?

Разработка, тестирование, приемка и производство (DTAP) — это поэтапный подход к тестированию и развертыванию программного обеспечения. Четыре буквы в DTAP обозначают следующие общие этапы: Разработка: программа или компонент разрабатываются в системе разработки. Эта среда разработки может не иметь возможностей тестирования.

В чем разница между Dev Test и Prod Environment?

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

Что такое DEV и Staging?

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

Что такое рабочая среда Dev UAT?

В течение жизненного цикла проекта код будет создаваться и распространяться в различные промежуточные среды, такие как разработка (DEV), системное интеграционное тестирование (SIT), пользовательское приемочное тестирование (UAT), предпроизводственная подготовка (PRE) и производственная (PROD). ).

В чем разница между стадированием и UAT?

Промежуточная среда будет находиться под контролем операционной группы, чтобы обеспечить правильное развертывание. Среда пользовательского приемочного тестирования (UAT) будет использоваться командой заказчика. Также может существовать среда производственных снимков для воспроизведения проблем клиентов.

В чем разница между prod и QA?

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

В чем разница между промежуточной средой и средой тестирования?

Среда тестирования помогает убедиться, что каждый компонент выполняет свою работу. Между тем, промежуточная среда гарантирует, что каждый компонент по-прежнему выполняет свою работу, а все остальное происходит вокруг него. И то, и другое поможет вам не сойти с правильного пути.

Что такое «прод» и «непрод»?

Производственная и непроизводственная среды логически и физически разделены. Среды разработки, обеспечения качества и производства используют отдельное оборудование и среды, управление которыми осуществляется отдельно. Производственные данные не реплицируются и не используются в непроизводственных средах. На уровень выше: Безопасность данных.

В чем разница между UAT и производством?

База данных, которая используется при ежедневной обработке транзакций. После завершения UAT данные перемещаются на PROD Server. Производственная среда также называется живой, особенно для серверов, поскольку это среда, с которой пользователи напрямую взаимодействуют. Здесь хранятся живые данные.

Что такое среды разработки/тестирования и живая среда?

Дев, за разработку кода. Тестируйте, проверяйте и проверяйте работающий веб-сайт, прежде чем запускать новый код. Иногда его называют постановкой. Live, где разрешен только проверенный и работоспособный код.

В чем разница между развертыванием и производством?

«Выпущено»: деловой термин, определяющий функциональность, доступную конечному пользователю. «Развернуто» не обязательно означает «Выпущено». «Производственная готовность» = Приращение продукта, которое «Готово» и потенциально может быть передано конечному пользователю. «Готов к выпуску» — это синоним «Готов к производству».

Каков процесс постановки?

Промежуточная зона или зона приземления — это промежуточная область хранения, используемая для обработки данных в процессе извлечения, преобразования и загрузки (ETL). Промежуточная область данных находится между источником(ами) данных и целью(ями) данных, которыми часто являются хранилища данных, витрины данных или другие репозитории данных.

Какова цель постановки?

Стадирование позволяет сравнить результаты местного лечения с национальными данными на основе общих критериев распространенности заболевания. Стадирование ускоряет обмен данными и помогает в продолжении исследований рака. Записи медицинской информации являются основным источником документации для подготовки информации.

Что такое постановка проекта?

Постановка — это деятельность или практика представления представления в процессе строительства или эксплуатации. Зона подготовки — это специально отведенная зона, где размещаются материалы и строительное оборудование для доступа на строительную площадку.
Сейчас время нишевых маркетплейсов, обще тематические такие как Озон, Мегамаркет и WB заняли свою нишу и конкурировать с ними уже нет никакой возможности.

Вместе с ростом общеизвестных крупных площадок, развиваются и небольшие нишевые площадки. И они имеют все шансы успешно конкурировать с лидерами рынка. Тут главные причины:

1. Работа на своих условиях. Собственный проект в сфере электронной коммерции позволяет бизнесу устанавливать свои правила внутри маркетплейса, а также, дает возможность получать дополнительный доход с комиссий привлеченных селлеров.

2. Экспертность. Универсальные маркетплейсы слишком масштабны и разноплановы, чтобы проявить экспертизу в том или ином продукте. Нишевые площадки тщательнее подходят к заботе о качестве поставщиков и продукции.

3. Стоимость товара. На нишевых площадках предприниматели могут работать с более высокими ценами. Такие маркетплейсы избавлены от погони клиентов за самой низкой стоимостью.
Сейчас время нишевых маркетплейсов, обще тематические такие как Озон, Мегамаркет и WB заняли свою нишу и конкурировать с ними уже нет никакой возможности.

Вместе с ростом общеизвестных крупных площадок, развиваются и небольшие нишевые площадки. И они имеют все шансы успешно конкурировать с лидерами рынка. Тут главные причины:

1. Работа на своих условиях. Собственный проект в сфере электронной коммерции позволяет бизнесу устанавливать свои правила внутри маркетплейса, а также, дает возможность получать дополнительный доход с комиссий привлеченных селлеров.

2. Экспертность. Универсальные маркетплейсы слишком масштабны и разноплановы, чтобы проявить экспертизу в том или ином продукте. Нишевые площадки тщательнее подходят к заботе о качестве поставщиков и продукции.

3. Стоимость товара. На нишевых площадках предприниматели могут работать с более высокими ценами. Такие маркетплейсы избавлены от погони клиентов за самой низкой стоимостью.
Сейчас время нишевых маркетплейсов, обще тематические такие как Озон, Мегамаркет и WB заняли свою нишу и конкурировать с ними уже нет никакой возможности.

Вместе с ростом общеизвестных крупных площадок, развиваются и небольшие нишевые площадки. И они имеют все шансы успешно конкурировать с лидерами рынка. Тут главные причины:

1. Работа на своих условиях. Собственный проект в сфере электронной коммерции позволяет бизнесу устанавливать свои правила внутри маркетплейса, а также, дает возможность получать дополнительный доход с комиссий привлеченных селлеров.

2. Экспертность. Универсальные маркетплейсы слишком масштабны и разноплановы, чтобы проявить экспертизу в том или ином продукте. Нишевые площадки тщательнее подходят к заботе о качестве поставщиков и продукции.

3. Стоимость товара. На нишевых площадках предприниматели могут работать с более высокими ценами. Такие маркетплейсы избавлены от погони клиентов за самой низкой стоимостью.
Laravel широко используется в различных проектах, от небольших веб-сайтов и блогов до крупных корпоративных порталов и электронной коммерции.

Laravel позволяет создавать и использовать собственные пакеты, модули и библиотеки, которые могут быть легко переиспользованы в других проектах. Это повышает эффективность разработки, уменьшает объем необходимого кода и сокращает время на создание новых функциональностей.

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

Использование Laravel позволяет ускорить процесс разработки, улучшить качество кода, упростить поддержку проекта и создать высокопроизводительные и безопасные веб-приложения. Фреймворк предлагает широкий набор инструментов, которые помогают разработчикам реализовывать различный функционал и настраивать приложения под конкретные потребности и требования бизнеса.
Сейчас многие говорят про Ларавел и советуют на него переходить, а вообще что такое Laravel: какие у него основные принципы и преимущества, кроме того что это фреймворк ничего не понятно и чем он лучше других?
Тут на самом деле не так все сложно:

1. Выбор языка программирования и фреймворка

Есть множество языков программирования и фреймворков, которые позволяют создать RESTful API. Вот некоторые из них:

— JavaScript и Node.js с фреймворками Express, Koa или Nest
— Python и фреймворки Flask или Django
— Ruby и фреймворк Ruby on Rails
— Java и фреймворки Spring, Jakarta EE или Micronaut

Выберите язык и фреймворк, с которыми вам комфортно работать и которые подходят для вашей задачи.
2. Планирование API

Прежде чем начать разработку, нужно спланировать API. Определите, какие ресурсы (данные) будут доступны через API, и какие операции (CRUD — Create, Read, Update, Delete) можно будет выполнять с этими ресурсами.

Например, если вы создаете API для блога, ресурсы могут включать статьи, авторов и комментарии. Для каждого ресурса определите доступные операции, например:

— Создать статью
— Получить список статей
— Получить статью по ID
— Обновить статью
— Удалить статью

3. Разработка API

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

4. Тестирование API

После разработки API необходимо провести тестирование. Используйте инструменты, такие как Postman или Insomnia, для отправки запросов к вашему API и проверки корректности работы всех маршрутов.
5. Документация

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

После завершения разработки, тестирования и документирования вашего API, разверните его на сервере или облачной платформе. Некоторые популярные варианты размещения включают Heroku, AWS, Google Cloud Platform и Microsoft Azure.

Теперь ваш RESTful API готов к использованию!

Если вы хотите углубить свои знания в области веб-разработки и изучить создание RESTful API подробнее, рекомендую посетить [название знакомой школы](ссылка на сайт школы), которая предлагает качественное обучение.
Сейчас нашей компании нужно разработать собственные API, а у ИТ-отдела совершенно нет понимая как и что делать. Может конечно задам вопрос не корректно — но как создать RESTful API, можете указать шаг за шагом, от выбора языка программирования до развертывания на сервере.
Существует три основных подхода к разработке веб-приложений: одностраничные (SPA), многостраничные (MPA) и прогрессивные (PWA). Они выделяются среди других подходов простотой разработки, удобством для пользователей и широкими возможностями для развития бизнеса.

Рассказываем, чем отличаются компоненты MPA, SPA и PWA, какие у них преимущества и недостатки, что из них выбрать и для каких задач.
Одностраничные приложения

SPA или Single Page Application — это одностраничное веб-приложение, которое загружается на одну HTML-страницу. Благодаря динамическому обновлению с помощью JavaScript, во время использования не нужно перезагружать или подгружать дополнительные страницы. На практике это означает, что пользователь видит в браузере весь основной контент, а при прокрутке или переходах на другие страницы, вместо полной перезагрузки нужные элементы просто подгружаются.

В процессе работы пользователю может показаться, что он запустил не веб-сайт, а десктопное приложение, так как оно мгновенно реагирует на все его действия, без задержек и «подвисаний».

Такого эффекта удается добиться с помощью продвинутых фреймворков JavaScript: Angular, React, Ember, Meteor, Knockout.

Примеры динамических приложений: Gmail, Google Maps, Facebok, GitHub, Meduza.
Преимущества

— Высокая скорость — все ресурсы загружаются за одну сессию, а во время действий на странице данные просто меняются, что очень экономит время;
— гибкость и отзывчивость пользовательского интерфейса — за счет того, что веб-страница всего одна, проще построить насыщенный интерфейс, хранить сведения о сеансе, управлять состояниями представлений и анимацией;
— упрощенная разработка — код можно начинать писать с файла file://URL, не используя сервер, не нужен отдельный код для рендера страницы на стороне сервера;
— кэширование данных — приложение отправляет всего один запрос, собирает данные, а после этого может функционировать в offline-режиме.

Недостатки

— Seo оптимизация требует решений в виде серверного рендеринга — из-за того, что контент загружается при помощи технологии AJAX, которая подразумевает динамическое изменение содержания станицы, а для оптимизации важна устойчивость;
— нагрузка на браузер — из-за того, что клиентские фреймворки тяжелые, они довольно долго загружаются;
— необходима поддержка JavaScript — без JS нельзя полноценно пользоваться полным функционалом приложения;
— утечка памяти в Java Script — из-за плохой защиты, SPA больше подвержена действиям злоумышленников и утечке памяти.

Многостраничные приложения

MPA или Multi Page Application — это многостраничные приложения, которые работают по традиционной схеме. Это означает, что при каждом незначительном изменении данных или загрузке новой информации страница обновляется. Такие приложения тяжелее, чем одностраничные, поэтому их использование целесообразно только в тех случаях, когда нужно отобразить большое количество контента.
Преимущества

— Простая SEO оптимизация — можно оптимизировать каждую из страниц приложения под нужные ключевые запросы;
— привычность для пользователей — за счет простого интерфейса и классической навигации.

Недостатки

— Тесная связь между бекендом и фронтендом, поэтому их не получается развивать параллельно; сложная разработка — требуют использования фреймворков как на стороне клиента, так и на стороне сервера, что увеличивает сроки и бюджет разработки.
— сложная разработка — требуют использования фреймворков как на стороне клиента, так и на стороне сервера, что увеличивает сроки и бюджет разработки.

SPA и MPA. Что выбрать?

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

Целесообразен, если:

— есть необходимость в многофункциональном, насыщенном пользовательском интерфейсе;
— есть необходимость в интерфейсе API — использовании готовых блоков для построения приложения.

Выбор MPA

Целесообразен, если:

— приложения используются только для чтения информации;
— есть необходимость в использовании приложения в браузерах без поддержки JavaScript.

Зачем нужны PWA

Прогрессивные приложения или Progressive Web Application взаимодействуют с пользователем, как приложение. Они могут устанавливаться на главный экран смартфона, отправлять push-уведомления и работать в офлайн-режиме.

Пример: Google Docs.
Преимущества

— Кроссплатформенность — могут работать сразу с несколькими операционными системами;
— высокая скорость работы и возможность запуска и отображения данных в офлайн-режиме с моментальной загрузкой;
— высокая скорость установки;
— быстрая разработка — для создания PWA, не нужен отдельный сайт, достаточно изменить уже существующий.

Недостатки

Не все браузеры поддерживают основные функции таких приложений (например, Firefox и Edge).
Хотелось бы по подробней узнать про преимущества и недостатки одностраничных (spa) и многостраничных (pwa) веб-приложений
SPA и PWA — это веб-сайты, которые постепенно смещают со своих позиций классические MPA. Так происходит из-за того, что они более простые в разработке, быстрее работают и нравятся пользователям. Однако у них есть слабое место — SEO-оптимизация. Пока еще не все браузеры могут с ними нормально работать, поэтому, чтобы сделать такие приложения дружественными для сео, нужно прибегать к ряду ухищрений. MPA-сайты в этом плане более простые и надежные.
SPA и PWA — это веб-сайты, которые постепенно смещают со своих позиций классические MPA. Так происходит из-за того, что они более простые в разработке, быстрее работают и нравятся пользователям. Однако у них есть слабое место — SEO-оптимизация. Пока еще не все браузеры могут с ними нормально работать, поэтому, чтобы сделать такие приложения дружественными для сео, нужно прибегать к ряду ухищрений. MPA-сайты в этом плане более простые и надежные.
Кстати, специально для Вас нашел замечательную таблицу со всеми (основными) видами типов веб-приложений
15:58 (отредактировано)
+2
Очень интересный комментарий! И хотелось бы увидеть не просто коммент, а целую статью по данной теме, поскольку (как мне кажется) вы в ней очень хорошо разбираетесь, и в последнее время она становится все более актуальной.
Несколько слов поводу SPA и их «недостатках» (буду высказываться в контексте Vue.js)

1) Для SEO в мире SPA существует SSR (Server side rendering) — Nuxt.js.
Если кратко, то когда пользователь впервые обращается к сайту, то на стороне сервера делаются все необходимые запросы к API для получения данных + «раскрывается» вся html, выполняется еще куча различных действий и в итоге на клиент улетает уже развернутая html, со всеми необходимыми данными, а дальше web-приложение начинает работать как обычное SPA.

2) Производительность при первой инициализации сайта на стороне клиента (без использования SSR) действительно будет уступать многостраничным (MPA) приложением, но когда дела доходит до роутинга (переходам по страницам) выбору фильтров, оформления покупки и т.д. (AJAX), то SPA в десятки раз выигрывает по производительности у MPA приложений, т.к. время на отрисовку при каждом действии всей страницы (как в MPA) требуется гораздо больше, нежели чем SPA приложению (т.к. перерисовывается только то, что изменилось и не более того). Стоит помнить, что самая дорогая операция в вебе — это рендер / отрисовка

А если же использовать SPA + SSR, то MPA приложения проигрывают по производительности практически во всех аспектах.

Так же, с помощью SSR мы можем реализовывать следующую технику: загружать только те части js / css, которые необходимы для работы конкретного компонента, т.е. представьте, что у нас есть страница каталога с закрытой картой и с закрытыми фильтрами. Когда мы загружаем эту страницу, то у нас не подгружаются компоненты, связанные с картой и фильтрами (т.к. она закрыты) => размер страницы будет крайне мал, а когда человек включает карту или (и) фильтры, то у нас динамически со стороны сервера подгружаются эти самые компоненты (Code Splitting), крч мы подгружаем компоненты только тогда, когда в них есть необходимость.
И дополню, что Code Splitting работает не только для отдельных компонентов, но и для целых страниц, что очень сильно облегчает размер бандла => скорость отдачи web-приложения на сторону клиента.

3) Утечка памяти: если над SPA приложением работает (ют) квалифицированные разработчики, то я на 99.8% уверен в том, что подобной проблемы не возникнет, т.к. методы / тулзы для профилирования (анализа работы приложения) уже давным-давно вышли на новый уровень и сейчас не эпоха ie6, где люди дебажили (искали баги / ошибки) с помощью alert's. И непонятно, почему этот пункт отнесся именно к SPA, ведь в любом приложении, где есть хоть какая-то логика, может возникнуть подобная ситуация, ни?

4) Поддержка js — я хз, но мы сейчас не в 2001 году, и я никогда (на основе личного опыта) не видел подобных людей, у которых был бы отключен js (исключение — это Opera Mini или всякие proxy browser, доля которых 0.0001% (наобум)), да даже в том же Tor Browser уже по умолчанию включен js (просто знаю).
В дополнении к этому, могу сказать, что для этого в мире SPA, и не только — существует специальная техника, которая называется Graceful Degradation (можно так же посмотреть в сторону Progressive Enhancement, как делает VK и многие другие популярные платформы).

5) Про PWA / TWA даже писать не буду, т.к. для этого нужно писать отдельную статью о том, что в этой статье не так.

Для frontend developer'ов: я постарался выражаться не с точки зрения программиста, а с точки зрения «обывателя», чтобы всем было понятно, о чем я говорю, поэтому примите и простите.
В 2022 году окончательно перешли на DST Platform, удобная и мощная платформа, спасибо специалистам компании DST
В медицинской сфере давно пора уже было переводить работу на собственные платформы, сейчас наверное порядка 90% всех мед учреждений и клиник работают на зарубежном софте, таком как WordPress, при этом WordPress отличается своей дырявостью и уязвимостями но всем пофиг, хранят конфиденциальную информацию о пациентах в базах WP.

Конечно, свой продукт нужен и их уже сделано не мало, имею ввиду российских МИС систем, но клиники не понимают, что, перейдя с зарубежной МИС системы они все равно имеют сам сайт, который работает на импортном, не безопасном софте, посмотреть как пробит WordPress не сложно, просто наберите в поиске взлом WordPress и найдете не одну тысячу результатов.

Вообщем для сайта — ДСТ Мед Центр + российская МИС система вот что нужно для полного импортозамещения и безопасности, из МИС систем посоветовал бы Rrnova
Работаем на DST Platform уже больше 7 лет, все устраивает
← Предыдущая Следующая → 1 2 3 4 Последняя
Показаны 1-20 из 803

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Россия, Ижевск, ул.Салютовская,
д.1, офис 17

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон