• Как протестировать сайт под высокие нагрузки?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    10к пользователей - это абстракция. Нагрузка обычно меряется либо в rps (request per second), либо в bit/sec.

    rps можно померить через утилиту ab (apache benchmark)
    трафик - uperf
    Ответ написан
    Комментировать
  • Как вести себя, когда дают большой проект с недокументированным кодом?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Радоваться, что есть возможность разобраться с чем-то новым, успокоиться, игнорировать неадекватность и адекватно парировать, в сотый раз подробно рассказывать, что по таким то и таким то причинам проект будет выполняться год-два. Главное - не умыкаться, не прятаться, вести себя как "чистый лист", чтобы все Ваши мотивы можно было понять, не сильно напрягаясь. И как можно раньше обо всем говорить. Лучше уволиться с рекомендациями и улыбкой сначала, чем со скандалом, нарушениями сна и угрызениями совести, через 2 месяца.
    Ответ написан
    Комментировать
  • Как и где хранить пользовательские данные в соответствии с законом "О персональных данных"?

    kumaxim
    @kumaxim
    Web-программист
    В тексте этого закона написано примерно следующее: "персональные данные граждан РФ должны храниться на серверах, расположенных в пределах РФ". Вы где-то видите что эти данные должны хранится исключительно в РФ? Лично я там такого пункта не нашел.

    Лично для себя я придумал такое решение: ничего из Германии где у меня все настроено и прекрасно работает я переносить не собираюсь, но дабы не влететь на штраф от Роскомнадзора, я беру в РФ VPS'очку, устанавливаю там СУБД и настраиваю репликацию. Все! Формально я требования закона исполнил, регулятору придраться не к чему.

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

    @IceJOKER
    Web/Android developer
    КОД УЖАСЕН
    Если не ваш сайт и пхп не знаете, то какого хрена вы собираетесь что-то там менять?
    Если верстальщик, то смело скажите заказчику, чтоб привели код в порядок или заплатили двойную цену(половину переведете мне и я вам помогу xD).
    А в других случаях - платите.
    Вряд ли кому захочется разбирать такой код, даже если он небольшой
    Ответ написан
    4 комментария
  • Web - студия в 2015году?

    AlexanderTsymbal
    @AlexanderTsymbal
    tsymbal.su
    Вполне перспективное предприятие.

    Главный вопрос - не "открывать или нет?", а "как организовать внутренний рабочий процесс в условиях растущей конкуренции с фрилансерами и фриланс-командами".

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

    opium
    @opium
    Просто люблю качественно работать
    Самое лучшее все потерять и зона комфорта вас сама найдет
    Ответ написан
    Комментировать
  • Как прeодолеть зону комфорта, стать фрилансером не обанкротившись?

    kumaxim
    @kumaxim
    Web-программист
    Для начал ответь сам себе на вопрос "А чем тебе неудобна текущая золотая клетка"? Можешь не писать здесь, но определись для себя.

    Далее нужно осознать, что фриланс - это подвид бизнеса. Есть книжка Р.Киосаки "Квадрант денежного потока". Там всех людей, работающих в экономике разделяют на 4 части:
    1. Р - наемные работники
    2. П - предприниматели
    3. Б - бизнес
    4. И - инвесторы

    Фриланс - это сегмент П. Ты работаешь один, возможно зарабатываешь больше чем работая по найму, но вот ты заболел, продуло тебя где-то, температура 38.5.... Сомневаюсь что ты из стали сделан и сможешь в таком состоянии писать код.
    Сегмент П очень хорошо охарактеризовал г-н Залогин из Локус Медиа. Он сказал примерно так: "Вы человек-велосипед - пока крутите педали - едите, как только перестали - упали"

    Переходя к твоему вопросу о выходе из зоны комфорта.
    Первое что рекомендую перед началом своего бизнеса - оплати все долги. Закрой ипотеку, погаси автокредит, все потребительские заемы и т.д. В случае если ты провалишься(первый блин, обычно, комом) по крайней мере ты со своей семьей не под мостом окажешься.
    Второе - содержание семьи. Никакие твои заработки не должны влиять на твою жену/ребенка. Твои родные, как минимум, должны иметь крышу над головой + еду на столе. Посчитай сколько ты платишь за комуналку + еду. Далее умножаешь эту сумму на 24 месяца. Это финансовая подушка твоей семьи.
    Третье - планирование. Бизнес без бизнес-плана - это не более чем хобби. С 16 лет стремился зарабатывать в сети. Продавал ссылки на sape.ru в 2008-2009, работал с трафиком в 2010-2012, продавал китайские безделушки с 2013-2014... Сейчас ушел в разработку одного SaaS-решения. Первые пару месяцев оптимизм из ушей хлещет, думаешь "Да все будет, да это фигня, преодалею...." Но вот начинаются черные полосы: ТИЦ сайта в планируемый апдейт не вырос до нужного значения, твой сайт на 9 месте в выдаче, вместо требуемой тебе 3-4 позиции, товар из Китая на таможне завис.... Да я могу до бесконечности перечислять проблемы, которые возникали у меня... А время - деньги: тебе нужно платить аренду, зарплату, рекламу, кредиты и т.д. Не платишь - начинается ругань, из Максима Александровича я сразу превращаюсь в мошенника, кидалу, сволочь... эх, во общем суть ты понял. Думай на 2 шага вперед, вот что я хочу сказать
    Четверное - не делай бизнес с полного нуля. Перт Осипов(проект Бизнес Молодость) в каком-то из видео говорил, что мы не ценим самое ценное что у нас есть, мы воспринимаем это как должное, когда для других людей это может быть сравни бриллианту среди кучи стекляшек. Вы не первый день работайте в ИТ по какой-то специализации, так ведите эту специализацию и дальше. Занимайтесь своим любимым делом.
    Пятое - не пытайтесь все делать сами. Когда я запустил свой самый первый интернет-магазин по Китайским безделушкам я все делал сам: рисовал дизайн, верстал его, настраивал рекламу, обзванивал клиентов, носил товар на почту.... В общем занимался вообще всем! Причем за всей этой рутиной я не видел, что мой сайт работает не эффективно, я упускаю из виду 20% горячих клиентов, 10% моих бандеролей исчезают в глубинах Почты России... Вы как первое лицо компании должны знать все процессы своего предприятия, иначе Вы не сможете им управлять, но Вам не нужно все процессы делать самому. Отдайте часть на аутсорс или делегируйте наемному сотруднику.
    Шестое - я на этом очень сильно обжегся около 3-х лет назад.... Ставьте своим сотрудникам четко достижимые KPI(ключевые показатели эффективности). Например, есть у меня форма заказ обратного звонка на сайте. Человек пишет туда своего Имя и номер телефона, после чего эти данные попадают в CRM. Для менеджеров, которые у меня обрабатывают вызовы клиентов один из KPI звучит так: перезвонить клиенту в течении 15 минут после поступления от него заявки, если она поступила в рабочее время. Причем все KPI Вы должны сформулировать максимально точно и подробно. Я сам с KPI работаю так: есть у человека базовый оклад и базовый набор KPI, которые ему необходимо выполнять. Если он их выполняет - получает оклад, выполняет лучше - получает оклад + премию. Причем оклад у меня сам небольшой, около 6 т.р., но нижняя з/п у меня примерно в 2,5 раза выше.

    Первые 4 пункта - это как мягко выйти, вторые два - как не свалиться.

    В целом о бизнесе в РФ могу сказать что его делать относительно легко. Достаточно просто делать что-то хорошо и по человечески относится к своим клиентам. Примерно за 1 год Вы нарабатываете определенную базу контактов(поставщики/партнеры/клиенты), которые Вас знают и доверяют Вам. А далее главное все это не растерять.

    Вам могут все Ваши родные/коллеги/друзья говорить "Да ты что, сейчас санкции, налоги, коррупция..." Поверьте, все это херня! Под прессом можно работать и зарабатывать, причем когда его снимут - Вы получите взрывной рост. А все эти отговорки про санкции, коррупцию, высокие налоги... Да просто у кого-то очко играет!
    Ответ написан
    14 комментариев
  • Есть ли основные правила супер оптимизации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Главное правило оптимизации - не заниматься преждевременной оптимизацией.

    Вообще все просто - пишите код, пишите нагрузочные тесты, профилируете, оптимизируете узкие места. С опытом ляпов будет меньше изначально. Ну и книжки стоит читать всякие, желательно обобщенные (типа там паттерны проектирования и т.д.) что бы можно было вместо оптимизации просто быстро систему масштабировать (это дешевле). Ну и еще теория алгоритмов помогает, если у вас есть именно обработка больших объемов данных (массивы на миллионы айтемов, на тысячах пофигу обычно)
    Ответ написан
    1 комментарий
  • Стоит ли записываться на курсы от geekbrains? Или стоит получить второе высшее образование?

    @AlexLIn
    Онлайн обучение это только для себя.
    Их бумажечка и граша ломоного не стоит.
    В 28лет посоветую идти на Dual-study - обучение и практика в одной программе.
    Ответ написан
    6 комментариев
  • Rails и PHP на одном сервере?

    я вижу такой путь решения:
    ставите NGINX. для PHP можно установить apache, для RoR - unicorn воркеры. потом все, что приходит на NGINX проксировать на соотвествующий веб-сервер (apache, unicorn). вместо apache можно поднять php-fpm. в такой связке NGINX будет работать в качестве прокси
    Ответ написан
    Комментировать
  • AngularJS. Как правильнее организовать валидацию полей?

    FINTER
    @FINTER
    Дело в том, что идеологически "серверная" валидация и UX валидация -- разные вещи. UX валидация скорее для увеличения удобства заполнения полей, а серверная валидация для принятия бизнес решения. Часть кода действительно можно совместить, но лично я пишу всегда отдельные логики для фронта и бека. Да, это чуть дольше, но дьявол в мелочах =)
    Ответ написан
    2 комментария
  • Насколько существенно повышает эффективность работы решение общих задач?

    @mamkaololosha
    Это как диплом о ВО. Однажды они спасут вам жизнь.
    Ответ написан
    Комментировать
  • Какой движок заюзать для поисковика по html коду?

    @rodion-dev Автор вопроса
    хотя 1млрд страниц на одном серваке это конечно не будет работать
    нужно хотябы 20 нод с хорошей конфигурацией
    Ответ написан
    Комментировать
  • Какой движок заюзать для поисковика по html коду?

    maaGames
    @maaGames
    Погроммирую программы
    Парсить 10 МИЛЛИАРДОВ страниц в реальном времени и на Яве? Не смешите мои тапочки!
    Вам нужно проиндексировать тэги(или классы, что вы там будете искать) всех страниц (в офлайне, на любом языке), а уже потом искать в этих таблицах. Т.е. искать будете не по самим HTML, а по базе данных тэгов(классов). С линейным поиском в 10 миллиардах страниц не справится даже ассемблер. Если конечно пользователь не готов подождать пару часов до получения результата.
    Ответ написан
    6 комментариев
  • Объясните коротко, по делу что же лучше/производительнее/удобнее и в каких ситуациях?

    live отметаем сразу, т.к. он уже не только deprecated, но и deleted. С bind и click все интереснее - внутри (в коде jquery) они ссылаются на on, и возможно даже будут удалены в будущем. Отличие функциональности click в том, что он может возвращать уже привязанное событие (аналогично trigger), если оное уже есть. Например, объявление click выглядит как-то так (не скажу за все версии):
    function (data, fn) {
        return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
    }


    Также click не может делегировать события, т.е. вы не сможете сделать так, чтобы событие было актуально не только для всех элементов a, которые уже есть, но и для тех, что сгенерируются любым способом в будущем (собственно, это позволяют live и on, первый из которых имеет статус deleted и недопустим к использованию).

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

    Как-то так. Прошу извинить если немного напутал терминологию.

    UPD. live технически также ссылался на on, но, хотя в отличие от bind и прочих позволял отслеживать появление новых элементов, имел много недостатков - тут можно много интересного прочесть. Возможно, поэтому его и удалили.
    Ответ написан
    2 комментария
  • Разъясните суть кода?

    @SlivTime
    filter возвращает список тех элементов, для которых переданная ему функция вернет true, Boolean(true) == true, Boolean(false) == false. Того же эффекта можно было бы добиться, передав в filter функцию, просто возвращающую данный элемент. В es6 вообще красиво будет:
    arr.filter(x => x).length;
    Ответ написан
    Комментировать
  • Как вернуть код ошибки из метода?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если исключение ловить, то оно не относится к фатальным ошибкам.
    Ответ написан
    1 комментарий
  • Есть ли какая нибудь организация которая занимается полным тестом готового приложения?

    newross
    @newross
    Product owner
    Вам нужно чтобы приложение решало свою задачу или чтобы код был внутри красивый? Если решает, проверяйте только на наличие ошибок, для этого есть куча сервисов, например testfairy.com . Если погуглить - с десяток аналогов наберется.
    Если же в планах долгосрочное развитие приложения - забудьте о найме студентов. Какой бы не был потенциал, без опыта они не смог написать поддерживаемый и расширяемый код. Обратитесь в студию или наймите опытного специалиста с последующим переходом в штат.
    Ответ написан
    1 комментарий
  • Каких тех. специалистов необходимо нанять в стартап для разработки мобильного приложения?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Вообще стартапы нанимают cto ну или хотя бы грамотного и опытного менеджера в первую очередь.
    Это не обязательно отдельный человек, дефакто это вполне может один из программистов - но в команде обязательно должен быть технически и организационно сильный человек, имеющий полномочия по выбору стека технологий, сроков и прочего. Иначе все скатывается в лютую кашу.

    В общем же случае (если речь идет про нативные приложения), роли в команде такие:

    1. тот кто будет писать тз (product manager)
    2.1 тот кто будет делать дизайн (ux дизайнер)
    2.2 тот кто будет делать графику/иконки (дизайнер-иллюстратор)
    3. разработчик серверной части (язык по вкусу, мейнстрим php/ruby/java )
    4. разработчик мобильной java для приложения под android
    5. разработчик objective c / swift для приложения под ios
    6. тот кто будет тестировать приложения/сервер

    Как это все ложится на живых людей - зависит от их квалификации, сроков и объема задач.
    Ответ написан
    4 комментария