• На каких сайтах можно посмотреть идеи дизайна веб элементов (кнопок, полей ввода, списков и т.д.)?

    nikitanaz
    @nikitanaz
    UX Lead and DesignOps @EPAM
    Эх, жаль пару порталов кануло в небытие…
    Вот парочка что есть)

    houseofbuttons.tumblr.com
    www.uiparade.com
    ui-cloud.com
    Ответ написан
    Комментировать
  • Где найти удаленную стажировку для новичка PHP?

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

    Что я вынес из практического опыта
    - не нужно бояться сказать "не знаю" или ляпнуть не то. Адекватные работодатели нормально относятся к слабой подготовке кандидатов
    - делай ВСЕ тестовые задания, даже если отказали. Тебе нужна практика? Вот она
    - отказ - это нормально? отказывать будут много. Это нормально. И хорошо мотивирует. Тебе зададут правильные вопросы, ты поймешь куда двигаться
    - взяли на работу - делай больше. Тут вообще без вариантов. Изучай сопутствующие вопросы. Спрашивай более опытных (см.п.1). Не получается - проси помощи. Накосячил - сразу признавайся. Нормальные старички обматерят, но попытаются наставить на путь истинный
    - скорее всего, хотя бы раз кинут на деньги) Просто смирись

    Не в обиду другим комментаторам, но:
    - самому сесть и придумать (а потом - заставить делать) какое-либо задание крайне трудно
    - переучиться в 28 лет - вообще не проблема. Мир IT по-своему интересен: где-то прикольно, где-то убого. Как и везде
    - читай больше кода. Порядок таков: код -> книжки -> видосы. В ходе обучения у тебя ДОЛЖНЫ возникать вопросы и ты ДОЛЖЕН их решать (как и в работе). Если не понятно из книг - посмотри видео, но не наоборот, ибо в голове нихера не отложится
    - надоело - брось. Не заставляй себя кипеть над фреймворками, если они тебе не заходят. Всему свое время. Ковыряй WordPress-ы, Joomla и прочие CMS
    Ответ написан
    Комментировать
  • Несколько простых вопросов по тестированию. Кто поможет?

    latteo
    @latteo
    Мне очень помогло вот это видео - https://www.youtube.com/watch?v=8u6_hctdhqI Хотя, стоит заметить, что до него я потратил десятки часов на чтение статей ;)

    Хорошей практикой считается создавать suite под разные виды тестов: unit, интеграционные (функциональные), UI
    Все они служат для повышение качества софта.

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

    То что вы описали $this->visit('/users') / see / dontSee / press. ближе всего к UI тестам. Это проверка софта с точки зрения пользователя. Очень часто они написаны даже не разработчиком, а QA. Если для их выполнения настроить Selenium, то можно приятно удивить клиента :)
    Ответ написан
    3 комментария
  • Несколько простых вопросов по тестированию. Кто поможет?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Итак, для начала следует разобраться в разнице между юнит-тестированием, интеграционным тестированием, функциональным тестированием и тестом на регрессии.

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

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

    Функциональное тестирование проверяет соотвествие требованиям проекта. Например, при нажатии кнопки Удалить появляется окно подтверждение с текстом "Вы уверены", затем при нажатии кнопки "Да", запись удаляется из БД и пользователю выводится сообщение "Запись успешно удалена!".

    Тест на регрессию - это повторная проверка работы конкретного участка кода. Как правило это участок кода, который не был покрыт тестами ранее.

    PHPUnit изначально предназначен для юнит-тестирования, однако это не мешает вам использовать его для других видов тестирования. Есть даже коннекторы к WebDriver.

    Тестирование контроллеров и моделей по отдельности - это юнит-тесты.
    Тестирование связки контроллер-модель - это интеграционное тестирование.
    Тестрование работы сайта целиком с помощью того же Selenium и т.п. - это функциональное тестирование.
    Ответ написан
    1 комментарий
  • Что нужно изучить для разработки современных веб-приложений?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    В связи с этим вопрос – что ещё нужно знать?

    Бэкенд вам в любом случае нужен.

    Если я правильно понимаю, Angular, Vue и прочие фреймворки – это только фронтенд.

    Все верно.

    Куда не сунься, везде о веб-разработке говорится, как о разработке именно фронтенда, а также это непременно связано с Node.js (дабы что-то написать на ангуляре, без него никак). Каким боком связан фронтенд с Node.js - я не понимаю, т.к. Node.js - это, по сути, способ запустить JS вне браузера.

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

    Если я хочу запустить приложение в браузере, то зачем мне node? Это всё меня вводит в ступор, я вижу лишь противоречия.

    Вы не путайте. Есть технологии, которые используются в процессе работы приложения и есть технологии, которые используются в процессе разработки приложения. Все эти Gulp, Grunt, Babel, Webpack и прочие - это инструменты разработки. Они ускоряют, упрощают, повышают качество работы. В то время jQuery, Angular, React - это библиотеки и фреймворки, с помощью которых приложение будет работать.

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

    Здесь я лишь могу предположить, что сервер вместо html должен обмениваться данными с приложением посредством json или чего-то ещё.

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

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

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

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

    Что ещё нужно изучить? Или перечисленных знаний достаточно?

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

    Можно ли не использовать Node.js и, соответственно, npm, если JS (TS) требуется только в браузере? При этом тестирование тоже необходимо.

    Да, вполне. На стороне клиента, к примеру, JS+Angular. А на стороне бэкенда, к примеру, PHP+Laravel. Сейчас очень много языков и еще больше фреймворков под них. Выбирайте то, что для вас проще.
    Ответ написан
    2 комментария
  • Как элегантно банить по ip при первой же попытке обращения к системному ресурсу из вне?

    @Psq
    Информационная безопасность. Пентест.
    fail2ban если сконфигурируете корректно - подойдет. Он анализирует логи (в вашем случае access.log), выявляет подозрительные элементы на основе регулярных выражений и выполняет указанное вами действие.

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

    Возможно есть более простые решения (например, через htaccess).
    Ответ написан
    Комментировать
  • Где найти актуальный путеводитель по созданию RESTfull API?

    anton_lazarev
    @anton_lazarev
    Ответ написан
    Комментировать
  • По какому принципу создавать контроллеры в MVC?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Контроллер должен быть тонким.
    А тонких не проблема сделать несколько - все равно никакой функциональности в них быть не должно - она должна лежать в репозитории и хелпере.

    Так что делаем productRepozitory в котором пишем всю работу с БД
    и productHelper, в котором пишем всю пхп логику
    и дальше из контроллеров только дергаем методы хелпера
    Ответ написан
    Комментировать
  • Как сделать правильную(гибкую, качественную) архитектуру Vue в Laravel?

    @hopeful_romantic
    Правильно писать так, как в примере от Laravel (файл Example.vue).

    Хотя, можно обойтись и без Example.vue, а писать бизнес логику в app.js.
    Например, вот этот товарищ так и делает:
    https://www.youtube.com/watch?v=ZEF3TAAzfVM

    Но, первый вариант, более правильный.
    Когда начнешь так писать, возникнет необходимость в обмене данными между разными vues.
    Для этого используй Vuex.
    Можешь посмотреть о нем вот здесь:
    https://www.youtube.com/playlist?list=PL55RiY5tL51...

    А в остальном, в правильном направлении движешься.
    Приложения с использованием связки Laravel+Vue.js получаются реально классными.

    Желаю удачи!
    Ответ написан
    3 комментария
  • Rails или Node.js для backend (RESTful API)?

    Kaer_Morchen
    @Kaer_Morchen
    Разрабатываю web-приложения.
    RoR или node.js для платежного сервиса? Серьезно?

    Для платежного сервиса важна:
    - отказоустойчивость (стабильность работы)
    - 0% downtime
    - hot code reload
    - скорость работы

    Я бы взял OTP + Elixir + PhoenixFramework + JSONAPI
    Ответ написан
    2 комментария
  • Как правильно спроектировать Laravel приложение с уклоном в enterprise?

    Используйте Laravel и не беспокойтесь. Он построен на Symfony. Если понадобится, то использование Doctrine вместо/вместе с Eloquent возможно.

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

    Laravel позволит быстро построить прототип. Изменить какие-то критичные части всё одно придётся. И это не отменит использование частей от Symfony.
    Ответ написан
    Комментировать
  • Как правильно спроектировать Laravel приложение с уклоном в enterprise?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Главное правило счастливого энтерпрайза - не тащить методики и технологии в которых нет опыта. Если вы не работали на проектах с DDD, не делали своих пет проектов чтобы опробовать подход, то не надо тренироваться на больших проектах.
    Я уже 10 проектов в мире симфони видел и с тремя работал, везде попытки сделать DDD заканчивались невероятной сложностью поддержки после которой даже битрикс не кажется ужасом. 4 дня и изменения в 32 файлах чтобы добавить в список сортировку и фильтрацию... Наверное, можно писать на DDD правильно и с быстрой разработкой и лёгкой поддержкой, но я ещё таких проектов ни сам не создавал, не работал с чужими, не видел в качестве примеров. Поддерживать 10 летний легаси стартанутый на php4 с глобальными переменными гораздо проще чем любую поделку ddd-шников.
    Ответ написан
    Комментировать
  • Как правильно спроектировать Laravel приложение с уклоном в enterprise?

    @zugo
    Из личного опыта, вкратце:
    1. Не используйте фасады, только dependency injection, благо автоматическое разрешение зависимостей в Laravel очень мощное и удобное.
    2. Не используйте Eloquent, используйте Doctrine. *
    3. Не стесняйтесь использовать асинхронные задачи. При желании можно с их помощью реализовать полноценный CQRS.

    * - Если, конечно, в вашем представлении сущность бизнес-логики соответствует модели ORM, ведь DDD предполагает разделение "domain layer" от "persistence layer", хотя Doctrine ползволяет довольно безболезненно их смешивать. В любом случае, Eloquent - худшая часть Laravel, и, наверное, одна из самых неудачных реализаций ActiveRecord на PHP.
    Ответ написан
    2 комментария
  • Как правильно спроектировать Laravel приложение с уклоном в enterprise?

    @Finsh
    Взять Symfony.
    Только вот серьёзно, зачем делать из отвертки дрель, когда она уже есть. Вы думаете, что это будет быстрее? Вы думаете что это будет дешевле? Laravel прекрасен для своих, средних, задач, для "enterprise" берите Symfony.
    Ответ написан
    Комментировать
  • Переход из 1С в web-разработчики (PHP ) в 35 лет. С чего начать и реально ли?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Спасибо людям, настрочили довольно много постов поддержки, а я всё-таки настрочу ещё один))

    Насчёт веба - очень хорошая и интересная область деятельности. Единственное только не рекомендую надолго зависать в битриксе. Почему? Потому что его применение ограничивается РФ и прилежащими республиками. А чтобы хорошо зарабатывать в вебдеве, тебе придётся выходить за границы и писать для клиентов США и Европы. Если, конечно, хочешь преодолеть барьер в 2к долларов. Когда я ушёл из вебдева, я зарабатывал 4-5к в месяц, работая с клиентами из Мексики. Возможно это даже меньше, чем можно было. Но не суть.

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

    С чего лучше начать? Поглощай информацию. Пиши свои проекты. Влейся в небольшую команду (именно небольшую, где с тобой будет кто-то общаться и помогать), которая делает веб-проекты.

    Удачи!
    Ответ написан
    2 комментария
  • Где найти актуальный путеводитель по созданию RESTfull API?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Начните с ознакомления с принципами этого подхода, прочитав статью в википедии о Representational state transfer (REST) or RESTful .... Статья содержит необходимые отсылки к смежным концепциям и понятиям, познакомьтесь также с теми, с которыми вы не знакомы. Когда концепция будет понятна, выберите из многообразия имплементаций подходящий вам по стэку фреймворк и изучите особенности реализации REST в нём.
    Ответ написан
    Комментировать
  • Переход из 1С в web-разработчики (PHP ) в 35 лет. С чего начать и реально ли?

    zualex
    @zualex
    Senior Software Engineer
    Возраст не помеха.
    Уже сейчас можешь пробовать устроиться на работу, бывают кампании, которые сами занимаются обучением сотрудников.
    Но пока ищешь работу вот план:

    Но не останавливайся в развитии, в этом тебе поможет Карта развития веб-разработчика
    Ответ написан
    Комментировать
  • Переход из 1С в web-разработчики (PHP ) в 35 лет. С чего начать и реально ли?

    za4me
    @za4me
    Человек
    Нафига писать столько простыней, если человеку необходимо просто написать список?
    Читай Котерова 7 (или доку), потом Зандстру, потом статью о MVC на хабре и проект по тому же мануалу, придет понимание MVC. Все.

    Дальше выбираешь фреймворк yii2/symfony/laravel и изучаешь его по документации.
    Ответ написан
    Комментировать