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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Можно.

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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Что скажите по этому поводу, дайте советов.
    Есть ли готовый скрипт(движок)?
    Как называются подобные сайты и на английском?
    Читал про LiveStreet и InstantCMS.
    дайте развернутый ответ пожалуйста


    коммерческий успешный проект типа пикабу

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

    А вот вложиться в раскрутку сайта - это нужно МНОГО работы. Реклама, раскрутка, SEO оптимизация, тщательная работа с поисковиками. И может быть через пару лет на сайт зайдет первая тысяча человек.

    Но вот станет ли он после этого коммерчески успешным - неизвестно никому.

    Вопрос ваш - вне тематики тостера.
    Ответ написан
  • Как заставить браузер работать через одно соединение?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Все браузеры открывают при необходимости больше соединений, и не все могут изменить это
    sgdev-blog.blogspot.com/2014/01/maximum-concurrent...

    Для firefox:
    about:config: network.http.max-connections-per-server

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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Разве вопрос в языках? IMHO вопрос в платформе.
    Какой браузер будет это выполнять?
    Сейчас вот разные табы работают в разных процессах, то есть с разделяемой памятью и т.п. И на это ушло много лет..

    Посмотрите https://developers.google.com/web/updates/2018/10/...
    Ответ написан
  • Как правильно задать права на web сервере для удобства работы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    build engineer
    1. sudo su www-data
    2. положить все в git и править у себя локально, а на сайт выкладывать после проверки
    Ответ написан
  • Лучше разобраться с cron или силами одного PHP?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Ваш план плохо масштабируется - в вопросе неизвестно сколько будет выполняться ваш запрос, и будут ли тормоза у пользователя. И что будет через месяц, через год, если товаров станет больше.

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

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

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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    1. Договор - полюбому. Чтобы можно было прижучить.
    В нормальных команиях также секьюрити проводят регулярные таунхолы, особенно для новичков, где рассказывают о безопасности. И приводят пару примеров, как кто-то расшарил кусочек кода, как его засудили на много денег и добавили в черные списки всех компаний.
    Это для тех, кто по глупости может.

    2. Делите исходники на части. Автоматизируйте деплой так, чтобы разработчик это руками не делал и никуда не лазил - сделал коммит - CI сервер автоматом закачал все нужное из разных репозиториев и задеплоил. Надо нескольким разработчикам - сделайте несколько тестовых окружений, чтобы разработчик мог зайти в Jenkins или Teamcity, нажал одну кнопку и выбрал куда ему деплоить. Но своих логинов парлей у него не было.

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

    И это все равно не гарантия. Смиритесь =)
    Ответ написан
  • Что должен знать от DevOps средний веб-программист при устройстве на работу?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    маст хев:

    Понимание принципа работы ssh ключей, чтобы уметь настроить себе доступ на линукс машину или в гит (bitbucket/github/etc)

    Базовое понимание git и то, что висит поверх него (github, bitbucket, etc) чтобы не путаться в пулл реквестах, понимать зачем они и как организована у вас работа - неймконвенш для веток, как ревью делается

    Если пишете под докер, то Dockerfile - это в основном ответственность разработчика. Где его запускать - уже второй вопрос.

    Вы должны уметь ваше приложение развернуть на локальной машине, и понимать как его развернуть на другой машине.
    Jenkins\Teamcity - это тулзы, где девопс старается автоматизировать то, что вы разворачиваете на локальной машине. Вы его консультируете где и откуда вы читаете конфиги, возможно у девопсов есть какие-то централизированные способы для этого. Но Jenkins\Teamcity вам нужны на уровне продвинутого юзера. Можно на месте попросить девопса вам показать базу.

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

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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    То есть по канону, даже если в одном файле надо букву поменять - следует запускать полный цикл выгрузки?


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

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

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Зачем вам нужен именно хостинг?
    Поработать с линукс?

    Так поставьте дома виртуалку и играйтесь. Бесплатно.
    Ответ написан
  • Что проджекту делать с недооценкой времени?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Agile технологии хорошо работают в опытной команде. Поэтому со временем и тимлиды и вы должны лучше справляться с оценкой.
    * Со стороны лидов - качественнее прогнозы, качественнее оценка работы подчиненных
    * С вашей стороны - корректировка самого agile процесса - размер спринтов, количество и время на митинги, размер буфера.

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

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

    Вообще, всегда в сложных тасках, они должны дробиться на более мелкие, вот уровень этого дробления и подбирается в каждом проекте на опыте.
    Ответ написан
  • Есть ли смысл в моем выборе. PHP или JS?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Изучиьт php на базовом уровне не проблема. Возьмите и изучите.

    Изучить php на уровень уверенного junior-а, умеющего хотя бы в базовую работу одного из популярных фреймворков - долго, много.
    Но для уверенного JS-джуниора будет гораздо проще, потому что есть определенное количество технологий, которые пересекаются - работа с json/xml/css/html/sql, базовая настройка веб-сервера, сертификаты, установка компонентов.

    PHP на текущий момент умирает уже десятки лет, и все равно он доступен на каждом хостинге. IMHO поднимать nodejs на бэкенде для сайта-визитки это ненужный оверинженеринг. Поэтому базово подтянуть PHP - маст хев.

    Углубляться в изучение фреймворков - уже отдельный вопрос. Смотря как устроитесь.
    Ответ написан
  • Где кончаются границы возможностей CMS в сравнении с web-разработкой?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Какие самые топовые двигатели существуют?
    Где заканчиваются возможности двигателей и начинаются возможности других способов что-либо двигать?

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

    Так же и тут - "топовых" небывает, есть популярные для решения конкретных видов задач.
    Любая CMS это обычно веб-продукт, и при желании ВСЕ можно реализовать в CMS, просто иногда задача бывает такова, что нет смысла переписывать CMS, а проще написать с нуля свое.
    Ответ написан
  • Как оценить стоимость разработки?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Вы уже работаете много лет.
    Неужели не можете оценить свои знания, и посмотреть среднюю ставку на рынке специалиста вашего уровня?

    Ставьте так, чтобы ставка вас мотивировала сделать эту задачу, и так, чтобы конкуренты не слишком демпинговали.
    Если у вас так не получается - продолжайте работать на работе за ЗП.
    Ответ написан
  • Как полностью написать сайт с нуля, если ты знаешь только frontend?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Неужели для того, чтобы написать простенький сайт без головокружительной графики, гифок и прочей "фигни" нужно для начала:


    Для того, чтобы написать простенький сайт, можно просто html.

    Вы лукавите, не указывая в вопросе какой именно функционал вы хотите. Если сказать хотелки, можно подсказать какими технологиями они реализуются. Тогда будет понятно куда копать.
    Простенький сайтик может быть hello world, а может быть адаптивный "одностраничник со скроллингом" на webassembly.
    Ответ написан
  • Почему мобильные версии сайтов иногда делают на поддоменах, а иногда нет?

    saboteur_kiev
    @saboteur_kiev
    build engineer
    Критерий - архитектура.

    Если сайт простой, то проще сделать один адаптивный сайт.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    build engineer
    Zak12,
    думаю вначале обучения у таких бездарей как я так и есть. Т.к. я всю жизнь 28 лет отдыхал прогуливал учебу учился а тройки пил пиво и играл в игры и тд. А теперь судорожно нужно что то менять , время игр кино и тд действительно прошло. Они училисмь раньше не гуляли забивали на жизнь и тд, а я глупо тратил время, теперь они кайфуют куда лучше чем я тогда, а мне нужно пытаться учить....


    У вас не получится. Кроме того, что они учились, они развивали свой мозг, свою усидчивость, характер. Чем старше становишься, тем сложнее менять привычки, потому что мозг всегда развивается. Просто у одних он развивается решать задачи, и получать от этого удовольствие, что позволяет им решать задачу, на которую нужно часы. А у других он развивается получать удовольствие от пива.
    Поймите правильно - это тоже развитие - мозг привыкает к тому, как вы проводите бОльшую часть своей жизни. И уже сформировавшаяся личность очень не хочет что-либо менять, ибо уже привыкла находить свои варианты решения проблем. Кто-то убегает покурить, кто-то почитать, кто-то напиться. Изменить эти привычки крайне сложно.
    Если в 28 лет вы овощ, то вернуть эти 28 лет невозможно. Если вы ничего не читали, не пытались решать логические задачки, программирование вам изучить будет в разы, если не на порядки сложнее, чем другим. А программирование само по себе сложное.

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

    saboteur_kiev
    @saboteur_kiev
    build engineer

    Язык должен быть компилируемого, а не интерпретируемого типа.
    Он должен быть кросс-платформенным (windows, linux) и не вызывать проблем при работе ни на том, ни на другом.

    Почему?
    Современные интерпретируемые java и python, да и php уже догоняет уже не совсем интерпретируемые, и используют jit компиляцию. По скорости уже вполне норм.

    Он не должен тянуть за собой тонны легаси и проприетарщины просто для работы, должен быть более-менее независимым.

    Тонны легаси и проприетарщины тянет не язык, а программист.
    Судя по вашим требованиям и оверхед подходу к выбору языка, вы только ТЗ будете писать месяцами. А к тому моменту, как вы выпустите в продакшн само прилжение, оно уже станет легаси.

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

    А как зависит "течь" от языка? Это зависит от криворукости программиста.

    Должно быть более-менее легко производить дебаг, в том числе желательно и удалённый.

    То есть программа не должна есть много памяти, но при этом легко производить удаленный дебаг?

    Быстродействие. Не то, что бы у меня хай-лоад, но я хочу, чтобы быстродействие моего кода больше зависело от меня, нежели от языка.

    Быстродействие всегда и зависит от программиста..

    Вообще, может быть рассмотрите ассемблер? На нем даже веб сервер уже есть написанный, и стандарты в нем есть, и компилируемый, и программа в нем точно занимает ровно столько, сколько вы ей дали.
    Ответ написан