• Как оценить стоимость разработки?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Ответ написан
    1 комментарий
  • Хочу начать изучать Laravel, ответите на несколько вопросов?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1) хз
    2) А тут по подробнее:
    - vue - это маст хев на ближайшие годы не зависимо от laravel.
    - vue не исключает использования jquery, хотя я уверен, что любой плагин можно найти и на чистом js.
    - судя по тому, что Вы пишите, Вы явно не видели варианты со сборкой vue из компонентов. Там в html лишнее не попадает, не больше, чем с jquery
    3) Если от легкого к сложному, то явно не интернет магазин. Вначале блог или новостной сайт, потом каталог "чевачупчичей", а потом уже сами поймете куда двигаться.

    ПС. Я не верен. Что изучение laravel и vue стоит совмещать. Наверное кашка может получиться. Лучше вначале освоить vue + сборщики, хотя бы азы, до состояния "дочитал до конца документацию, но хрен что запомнил", а потом вникать уже в laravel.
    Ответ написан
    6 комментариев
  • Вернуть клиенту деньги, за проделанную работу?

    vetero4eg
    @vetero4eg
    Frontend
    Подготовьте ему смету, куда включите все по пунктикам, что сделано: прототип - столько-то часов, столько-то денег, телефонные переговоры с таким-то и таким-то его кандидатом на роль крутого фотографа - столько-то часов, столько-то времени... Длинный список, итого - затрачено времени - стоимость. Ознакомьте клиента. Разберитесь кто что кому еще должен. Желательно держаться в рамках спокойного диалога, ну а там уж как получится.
    Ответ написан
    2 комментария
  • Вернуть клиенту деньги, за проделанную работу?

    iamd503
    @iamd503
    Верстальщик
    Посчитай всё, что сделала, вычти из аванса и если там что то осталось, то верни деньги ему, накуй его пошли и не переживай.
    Ответ написан
    Комментировать
  • Как перенести код из одной ветки в другую?

    почему это работает плохо?
    Потому что "в коммит мог попасть и не относящийся к фиче код".

    как это делать правильно?
    Делать атомарные коммиты - все изменения в коммите должны быть жёстко связаны друг с другом, коммиты должны быть максимально мелкие и частые. А процесс переноса делайте через cherry-pick.
    Ответ написан
    3 комментария
  • Подготовка к собеседованию Junior Ruby on Rails?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    Я уже выучил Ruby, RoR


    до сих пор не могу сказать, что выучил рельсы и руби =)

    По сабжу

    REST, MVC, структура проекта, в каких папках что лежит, включая папку config.
    что такое представление, паршиалы, по моделям полностью - скоупы, ассоциасии. валидации, коллбеки
    контроллеры - before_action, что уже лежит в ApplicationController
    Unix - что такое приложение, процесс и порт. Что делать если при старте сервера пишет, что порт 3000 уже используется.
    По руби - идиома @a ||= b, блоки, циклы, что делаeт attr_accessor, что такое символ, константы в руби.
    По базам - прошу привести примеры какие запросы генерирует та или иная цепочка DSL ActiveRecord, например
    User.where(id: 1), User.where(id: [1]), User.where(id: []) И таких вариантов куча, нет смысла пытаться заучить, нужно разбираться.

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

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

    Например, большинство кандидатов на вопрос, что в имени представления index.html.erb означает html отвечают, что это язык разметки в котором вернется ответ. Т.е. они просто строят логичное предположение и не пытаются его проверить. И таких, казалось бы простых вопросов, у меня целая пачка. В большинстве случаев кандидат уходит с пониманием, что ничего на самом деле и не знает.

    P.S. лучше знать что-то одно хорошо, чем много всего по немногу.

    Но, в каждой компании по разному.
    Ответ написан
    Комментировать
  • Хранение номеров мобильных телефонов и кредитных карт в открытом виде?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    OWASP запрещает это делать

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

    Безопасно ли хранить их в открытом виде?

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

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    Софт для прототипирования, создания эскизов, макетов, скетчей, мокапсов, схем и т.п.

    1. Draw.io — бесплатный аналог Visio
    2. https://moqups.com/  (2 проекта на бесплатном акке)
    3. balsamiq.com (desktop бесплатно 30 дней, web версия бесплатная)
    4. ninjamock.com — отличный бесплатный софт для скетчей и макетов
    5. gotiggr.com
    6. pencil.evolus.vn/Default.html
    7. www.teehanlax.com/blog/2010/06/14/iphone-gui-psd-v4
    8. www.lumzy.com
    9. mockupbuilder.com (14 дней бесплатно)
    10. www.axure.com/download
    11. bohemiancoding.com/sketch
    12. Mockups.com = https://moqups.com
    13. https://wireframe.cc (триал 7 дней)
    14. mockups.me (триал-версия действует 30 дней)
    15. www.hotgloo.com (15 дней бесплатно)
    16. https://gomockingbird.com (1 проект на бесплатном акке)
    17. iplotz.com (в бесплатном тарифе возможность работать над 1 проектом, только 5 экранов)
    18. www.protoshare.com (триал-версия работает 30 дней)
    19. www.mockflow.com (1 проект на бесплатном акке)
    20. wireframesketcher.com/features.html
    21. https://www.yworks.com/products/yed
    Ответ написан
    5 комментариев
  • Как удалить файлы из pull request?

    @ivaleyev
    Обычно можно в вашей ветке сделать коммит с amend - поменять последний коммент. Т.е. удалить файлы или ревертнуть. git add..., git commit -a, и запушить с форсом git push -f
    Ответ написан
    2 комментария
  • Как решать проблему недостаточного менеджмента в небольшой команде веб-разработчиков?

    Sir_Waat
    @Sir_Waat
    Business Analytics, Scrum Master
    Появление продажника решит только одну проблему - с простоями.
    Если продажник имеет неплохой навык и достаточно знаний, он сможет обеспечить достаточный объем работы всем. На мой взгляд удобным решением является назначить одного из разработчиков тим-лидом и дать ему "власть" составления и редактирования ТЗ.
    Тим лид может взять на себя роль детального оформления задач и обращаться к руководителю только по поводу глобальных изменений.
    Ответ написан
    Комментировать
  • Как решать проблему недостаточного менеджмента в небольшой команде веб-разработчиков?

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

    Вообще, менеджмент никогда не является узким местом, в этом участке процесса все происходит достаточно быстро (именно поэтому он один, а вас разработчиков трое). Узкое место - это обычно разработка, тестирование, но никак не подготовка ТЗ или распределение задач. На этапе разработки задач гораздо больше, чем на предыдущих этапах.

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

    Поймите, почему бэклог задач иногда пустой. Сделать это можно при помощи Канбан-доски. Детально распишите все этапы получения результата для вашего клиента, например:
    1. поиск клиента
    2. переговоры
    3. подготовка ТЗ
    4. согласование ТЗ
    5. контракт
    6. план работ
    7. разработка
    8. ...

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

    Много срочных, но коротких проектов приведут к авралу на месяц, а потом будете простаивать. Нужно распределять нагрузку таким образом, чтобы работа была всегда. Например, найти долгоиграющие проекты, найдите доп. канал задач (upwork, etc). Нужно формировать пайплайн проектов и выстраивать сроки таким образом, чтобы равномерно распределять нагрузку. Подумайте над маркетингом, где брать больше клинетов, чтобы отбросить невыгодные проекты и взяться за те, где вы сможете нормально зарабатывать.
    Ответ написан
    Комментировать
  • (Организационный вопрос) Какие есть инструменты и техники разработки API?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Для API использовал https://github.com/ruby-grape/grape (отлично встраивается в рельсы, можно использовать отдельно)
    Гугл подсказывает https://github.com/ruby-grape/grape-swagger для документации(сам не использовал, не было проблемы с документированием)

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

    gobananas
    @gobananas
    finishhim.ru
    Программист - узконаправленный специалист который выполняет только 1 задачу. Ну пару смежных (сисадминистрирование, вёрстка).

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

    слепая печать

    На кой этот навык предпринимателю? Вы что машинисткой работать собрались?

    навыки решения типовых задач

    Предпринимателю нужен навык решения НЕ типовых задач ))

    доведенные до автоматизма

    Это тоже скилл исполнителя

    по настройке сервера, веб-дизайну, типографике итд.

    У вас бизнес в сфере дизайна? Если нет то дизайн и типографика не ключевые процесс - выбрасываем

    если коммерческий проект успешно работает на Yii 1, то его без веских причин никто не будет переписывать на Yii 2

    Проблема с поддержкой, сейчас найти человека который согласится работать на Yii1 уже сложнее, хотя у меня есть знакомые, которые не перешли на 2, далее кадровый дефицит заставит вас или перейти или работать с теми кто согласится
    Ответ написан
    5 комментариев
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    poimtsev
    @poimtsev
    CEO / Founder в Progress Engine
    Не слушай никого, кто рекомендует тебе пользоваться ООП и прочей странной и непонятной хренью. Пиши как ты пишешь, от этого выигрывают все:

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

    PROFIT! :)

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

    PS: покури Elixir и Phoenix Framework - там нет классов, которые тебя так напрягают :)
    Ответ написан
    Комментировать
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я понимаю, о чем вы пишите и почему. Ваш код работает, т.к. решает поставленные задачи и удовлетворяет потребности ваших клиентов. Имеет ли он право на жизнь? Да, но только в вашем отдельно взятом случае.

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

    Что если вам потребуется сделать блог, в котором нужно иметь комментарии, которые обновляются в режиме реального времени? И комментарии могут содержать HTML, но такой, чтобы ваш сайт не могли взломать?
    А еще комментарии короче 2000 символов по воскресеньям платные. Оплата через Яндекс.Деньги.
    Вы все это делаете, все работает.
    Затем заказчик вам говорит, я хочу запустить такую же систему другу, но с оплатой по понедельникам через WebMoney.
    Вы копируете сайт, переписываете функцию оплаты.
    Дальше ваш заказчик видит, что у друга больше денег, он просит добавить WebMoney к себе.
    Вы опять переписываете код. Добавляете условия.
    Потом к вам приходит друг заказчика и хочет другое оформление. Вы переписываете его функции.
    Затем он просит добавить поиск по названиям записей к себе на сайт. Вы делаете. Буквально на следующий день к вам приходит заказчик и тоже просит поиск, но не только по названиями, но и по телу статей и по комментариям. Вы делаете.
    Затем ваш заказчик видит, что дела у него идут в гору и он просит отменить платные комментарии и сделать просто платные аккаунты для всех. Вы переписываете.
    Тем временем друг просит вас сделать все тоже самое, но с его оформлением.
    Дела у заказчика идут в гору и сайт начинает тормозить. Вы делаете кэширование.
    Внезапно сайт заказчика попадает в топ и нагрузка резко увеличиваете настолько, что один сервер уже не справляется. Вы переносите все на самый мощный, но он его тоже мало.
    Нужно делать горизонтальное масштабирование.
    Для этого нужно переписать все функции, которые работают с базой данных. А их уже больше двухсот. И просто замена не подходит.
    Сайт открывается через раз, заказчик звонит вам каждые 2 часа и спрашивает, как там прогресс.
    И тут вам присылает письмо друг заказчика и говорит, что хочет перейти с MySQL на PostgreSQL.
    И вы понимаете, что вам надо будет переписать еще 300 функций, но на другом сайте. Вы его посылаете, поскольку вы и так в мыле.
    Друг жалуется на вас заказчику. Заказчик, не ставя вас в известность, нанимает другого исполнителя, у которого отваливается челюсть от того, что творится в системе. Он объясняет, что ему нужно будет потратить полгода, чтобы вникнуть в то, чтобы понять ваш код, но он может сделать все тоже самое за 4 месяца, причем для заказчика и его друга так, что это будет расширяемо и поддерживаемо не только им.
    Тем временем, спустя двое суток жизни на кофеине вы героически переписываете все функции заказчика и идете отсыпаться. После суток сна вы обнаруживаете на автоответчике сообщение, что вы уволены. А все потому, что забыли проверить функцию логина.

    А теперь разберем эту историю по частям. Почему же вас уволили?

    Незнание абстракций и шаблонов проектирования привело к тому, что вы вынуждены были поддерживать 2 разных проекта с практически одинаковой логикой.
    Например ORM смог вам помочь поддерживать 2 разные базы данных без каких-либо усилий. Сменить одну базу на другую стоило бы исправления конфигурации, а не переписывания 300 функций.
    Использование фреймворков позволило бы сократить время на реализацию подключений платежных систем. Многие из них имеют готовые реализации.
    Опять же в современных фреймворках, например в той же Doctrine реализован шардинг. В большинстве случаев ваши проблемы свелись к изменению настроек.
    Но даже если бы вы накосячили, то интеграционные тесты не позволили бы попасть говну в продакшен. А если бы оно и попало, ну накосячили вы с тестами тоже, то проблема была бы обнаружена на раннем этапе благодаря "сине-зеленому" развертыванию и она бы не затронула всех пользователей.
    И да, ваш код не прошел внешний аудит.

    Чтобы быть настоящим профессионалом, нужно не только знать, но и уметь применять на практике ООП, популярные фреймворки, шаблоны проектирования, тестирование и средства непрерывной интеграции, а еще пользоваться нормальными IDE и нести ответственность за сделанную работу.

    Когда пишете свой код, почаще задавайте себе вопрос: А если бы это был код для моего кардиостимулятора? Это поможет.
    Это вам для общего развития.
    Ответ написан
    5 комментариев
  • Как сделать оценку потенциальной стоимости/сроков проекта, при заказе у фрилансеров?

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

    piromanlynx
    @piromanlynx
    Системный администратор в Perfect Solutions
    Используйте puppet/ansible/... и не думайте об этом вообще
    Ответ написан
    Комментировать
  • Как правильно настраивать дев-окружение для веб-разработки?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Развернуть GIT?

    Идеальной на мой взгляд будет схема:
    • [branch].company.com
    • [branch].service1.company.com


    И собственно ветка будет не для разработчика, а для фичи/фикса/дева
    Про структуру репозитория почитать можно тут: https://habrahabr.ru/post/106912/
    Как это реализовать, я не подскажу, так что это не более чем концепт.

    P.S. как по мне, если разработчики правят один и тот же файл, то тут дело в постановке задач для них.
    Ответ написан
    5 комментариев
  • Как сделать автоматический деплой PHP приложения?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Например, Jenkins + Capistrano (или Rocketeer). Комбинаций - масса.
    Кстати, у последних версий Gitlab должна быть поддержка CI.
    Ответ написан
    Комментировать