Задать вопрос
  • Что делать веб разработчику, если уже всё придумано?

    AlexMaxTM
    @AlexMaxTM
    У каждого свои проблемы :)
    Только у меня есть несколько идей, которые еще никем не реализованы. Но сам я это не потяну, потому они остаются не реализованными.
    Уверен, что найдутся миллионы людей, у которых еще куча нереализованных идей, поскольку либо это очень трудоемко, либо очень дорого, либо не понятно как это реализовать.
    Ответ написан
    7 комментариев
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • Высоконагруженный проект. Стоит ли переехать с PHP на NodeJS? Или может на что нить ещё?

    @Railchik
    Мало данных про архитектуру. Почему на PHP не хватает производительности? Что именно жрет ресурсы? Можно ли это оптимизировать?Какие узкие места в приложении? Лучше ответте сначала на вопрос, чего не хватает сейчас в PHP , а потом смотрите/спрашивайте чем заменить - highload очень разный. Лучше использовать тот инструмент, которым вы хорошо владеете.
    Ответ написан
    2 комментария
  • Высоконагруженный проект. Стоит ли переехать с PHP на NodeJS? Или может на что нить ещё?

    @L17217
    Высоконагруженные facebook и vkontakte живут на php.

    Проблемы не в языке а в умении им пользоваться правильно
    Ответ написан
    3 комментария
  • Высоконагруженный проект. Стоит ли переехать с PHP на NodeJS? Или может на что нить ещё?

    @vanillathunder
    Для фоновых задач достаточно будет добавить очереди, и запустить много процессов. Тык.
    Если есть средства и возможности, то выбирайте любую технологию по своему вкусу.
    P.S. Node js не многопоточный, а асинхронный.
    Ответ написан
    Комментировать
  • Как подсвечивать магические классы в Phpstrom?

    Можно если руками каждый метод описывать.

    /**
     * Class A
     *
     * @method get_post (string $url)
     */
    class A
    {
    }

    Если это статический метод, то писать так @method static get_post (string $url)

    Если нужна цепочка вызова, то там нужно писать так @method $this get_post (string $url = '') (Если возвращается класс, то $this заменить на название класса)

    9bd90f384757456e942f4740d11dd347.png
    или
    19616338ee92491a851b55003bea731d.png
    Ответ написан
    1 комментарий
  • Нужно ли останавливаться на упражнениях в которые не въехал?

    @SashaKon
    Учусь Python/Django
    Тоже учусь, тоже его читаю, тоже есть такие моменты )). Вроде упрешься, разберешься и поймешь. Через пару дней перечитаешь и нифига не понимаешь некоторые упражнения... Заатоо, уже несколько раз столкнулся с ситуациями когда надо что-то сделать, хз как и вспоминаешь, что у Саммерфилда это было - и вот тут-то и приходит понимание данного упражнения. Каеф )))
    Ответ написан
    Комментировать
  • Стоит ли использовать Lumen для больших web-сайтов и стоит ли уходить в сторону?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    ИМХО, Lumen это высер обиженного Тейлора после теста на производительность, он взял и поубирал вовсе или в ифы часть laravel. Мой опыт общения с подобными фреймворками подсказывает что рано или поздно придтся тащить остальную функциональность, поэтому лучше иметь сразу готовый фреймворк, слава богу с x64 и гигами оперативки можно уже на заморачиваться микрооптимизацией.

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

    @skozlovf
    Я использую git-deliver. Он создает удаленный репозиторий на сервере и атомарно меняет дерево исходников. Можно запускать свои скрипты в разные этапы деплоя. Минус - надо потратить время, чтобы все настроить.
    Работает примерно так:
    * Делаешь git deliver.
    * Изменения заливаются в удаленный репозиторий на сервере.
    * Выполняются скрипты остановки сервера.
    * Меняются исходники на актуальные.
    * Выполняются скрипты для запуска сервера.
    Ответ написан
    1 комментарий
  • Как обернуть в ссылку хештег?

    GeneMoss
    @GeneMoss
    void
    $string = '#небо #море';
    echo preg_replace('/#([a-zа-я0-9]+)/ui', '<a href="tag/$1">#$1</a>', $string);
    Ответ написан
    2 комментария
  • Как перезапустить nginx через php на debian?

    fred55rus
    @fred55rus Автор вопроса
    Всё, я добился своего.
    Мой скрипт запускался под пользователем, у которого нет прав (www-data).
    Чтобы скрипт запустился, я установил модуль sudo и в его конфиге (visudo) добавил строчку: www-data ALL=NOPASSWD: ALL
    Перед самой командой я теперь приписываю sudo -S и она отрабатывает.
    Ответ написан
    Комментировать
  • Где найти готовое GEO решение?

    @Valeriyat
    Если нужны адреса по России – посмотрите https://dadata.ru/api/detect_address_by_ip/
    Ответ написан
    Комментировать
  • Ваши действия, если джуниор не успевает выполнить задачу?

    darqsat
    @darqsat
    PM
    Вопрос довольно каверзный, так как имеет несколько путей решения.
    1) Можно сместить сроки (Они смещаются даже на самых дорогих и страшных проектах где казалось нельзя ничего сместить. Нужно лишь правильно аргументировать...);
    2) Можно посадить помощь в пару (Ваш "запоздалец" будет излагать задачи и будет подсказывать по архитекутуре и логике проекта, а "новый" свежим взглядом окажет помощь. Помогает всегда, вопрос лишь в реалиях уложится конкретно в 1 день, если там трудозатрат на 3 дня. Тут уже надо подключать больше людей. Лишь бы хватило компетенции поделить задачу на это количество людей)
    3) Упростить задачу (наверное, самое простое и применяемое на практике решение. Если по бизнесу задача критична, то её можно довыписать в доделку. Важно уловить на чем разработчик завис и постаратся эту сложность срезать но обеспечив задаче "сдачу" по требованию хотя бы в минимально подобном виде)
    4) Перенести дедлайн (дедлайн он чем то обусловлен. релиз, показ, тест, либо же стопер для другой задачи. ну если речь про джуна, то необходимо избегать поручения зависимых задач на джунов. ну а если отойти от уровня и говорить о дедлайне, то можно исключить задачу из релиза или показа. Частенько такое практикуется. Ни кто пока от сотрудничества не отказался. Чаще всего на сдаче крупных годичных проектов у нас 5-15% требований не сделаны к релизу до конца и в него не включены. Да, кланяемся, извиняемся, работаем ночами но это все равно решение лучшее когда другое уже не поможет)

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

    Ресурс должен работать! Каким бы галимым он не был. Если издержки перевешивают профит от ресурса, то да, следует выгнать. Чаще всего, издержки мизерные. Нужно лишь правильно это построить.

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

    С некоторыми даже происходили невероятные метаморфозы из-за этого. Кто то перестал курить по 15 раз на день бегая на балконы с кофе. Кто то перестал читать ленты вконтакте и лайкать смешные видео. И не пришлось никого наказывать или ставить жуткие правила в офисе. Сверхурочная работа выбила дурь из людей и они ходят с 9 до 18 что бы делать работу не показывая головы из неё пока не сделают.
    Ответ написан
    Комментировать
  • Ваши действия, если джуниор не успевает выполнить задачу?

    StrangeAttractor
    @StrangeAttractor
    Во-первых правильная задача решается в очень и очень обозримые сроки. Если у нас задача, которую заведомо беспроблемный программист решит за нелелю - она должна быть раздроблена на такие задачи, которые решаются за полдня максимум (даже если это принесёт день-два оверхеда) - в таком случае мы сможем вовремя обнаружить затык и оперативно решить проблему, а не завалить проект. В результате объективной мерой доверия к сотруднику является именно то, на сколько объёмные задачи ему можно давать одним куском, это тем больше, чем выше его собственный опыт в структурировании задач и разрешении подобных ситуаций и на сколько он доказал свою предсказуемость временем. Впринципе неадекватное определение этого параметра как раз и является причиной всех разочарований в сотрудниках/работодателях и фэйлов всех процессов выращивания профессионала из новичка.

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Адекватный джуниор не должен ПРОСТО сидеть и не успевать в срок.

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

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

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

    @PolkovnikBrumel
    Контролировать в процессе исполнения, а не когда уже сроки поджимают.
    Ответ написан
    6 комментариев
  • Что посоветуете еще подучить что бы тянуть на Junior PHP разработчика?

    Decadal
    @Decadal
    чтобы тянуть на джуна, нужно вовремя закрывать задачки. Работа джуна - просто закрывай задачки которые тебе выдают. Поэтому списки технологий и все эти стеки - одна большая условность, фильтр для вакансии. Ну что значит "знать jquery"? или "знать ajax"? Работайте и запоминайте, где что и для чего используется, а если попросят экзотику - вы её, что поделать, выучите.
    В конечном счёте, всё упирается во время и компанию, на которую собираетесь работать. Для джуна в известной крупной компании нужно действительно хорошо натаскаться в тех стеках, которые они перечислили (не факт что они пересекаются с перечисленными здесь, так что нет смысла заучивать всё подряд),
    для джуна в какой-нибудь компании может не понадобиться вообще ничего кроме базовых знаний, а всё остальное вы приобретёте на ходу.
    Ответ написан
    Комментировать
  • Сколько Nodejs сервер должен есть памяти сервера?

    По умолчанию процесс Node.js расчитывает, что ему доступны аж 1.5 Gb памяти.

    Параметр --max_old_space_size задаёт максимальный размер т.н. Old Space – части Heap, куда попадают неактивные и не нужные данные. Это, на практике, область, занимающая наибольшую память. Именно её есть смысл ограничить, чтобы процесс Node занимал поменьше памяти.

    Но у меньшей памяти есть и своя цена: чаще будет запускаться «сбор мусора» (garbage colleciton) – процесс очистки из памяти неиспользуемых данных, к которым более нет ссылок из глобальных или активных локальных переменных. Это блокирующий процесс – Node полностью останавливается на время очистки памяти, не реагирует на запросы и не выполняет никаких действий.

    Итого, чтобы занимать меньше памяти, нужно запускать Node с параметром:
    node --max_old_space_size=128 index.js
    Тут указано занимать под old data не более 128 Mb памяти, т.е. весь Node займёт незначительно больше.

    Можно задать переменную окружения WEB_MEMORY которой установить доступный процессу node.js объем памяти в Mb: WEB_MEMORY=128 bash startup.sh , если использовать для запуска node приложения скрипт, предложенный автором статьи (на англ.), откуда я всё это только что сам узнал )
    Ответ написан
    1 комментарий
  • Что использовать на backend для SPA приложений?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Мне не понятно что использовать на сервере для обработки API запросов приложения

    www.yiiframework.com/wiki/748/building-a-rest-api-...

    Сейчас я понимаю в необходимость SPA архитектуре

    Возможно в этом и есть необходимость, но из описания не очевидно

    Вот если я буду использовать Yii2 или другой php фреймворк, то какой вообще в нем смысл

    Создание REST api почти в две строчки кода

    Есть вариант использовать Node.js

    Да есть такой вариант

    использовать базу mySql или же переходить на mongoDB

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

    Что лучше на данный момент использовать на бэкенде и что на практике используют чаще

    Лучше использовать то что знаешь и то что подходит под проект. А вот чаще используют wp, но вряд ли это значит, что стоит его использовать.
    Ответ написан
    Комментировать