• Как правильно сформировать json-запрос?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ответ написан
    Комментировать
  • ВЕБ студия с сотрудниками фрилансерами?

    catdesign
    @catdesign
    Веб-разработчик
    1. Фрилансер - это черная дыра. Нет никаких гарантий, что вы с первого раза найдете хорошего специалиста. Вы потратите массу времени походив по рукам как портовая путана, потеряете массу времени и сил. В итоге скорее всего специалиста вы найдете, но какой ценой?

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

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

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

    @jazzus
    Мда, сколько же здесь страждующих. Аж грустно становится, какая по сути негативная среда. Я себе айти другим представлял. Мне кажется есть 2 варианта решения большинства проблем.

    Если программированием заниматься не нравится

    Менять деятельность срочно. Ждать 5-7 лет ошибка. Как и оправдывать все зависимостью от дохода. Я однажды занимался нелюбимым бизнесом и не знал как свалить. Зарабатывал неплохо (200-300), но была квартира-машина в кредит, другие кредиты и обязательства, постоянно вкладывал в автоматизацию, чтобы освободить время. Пока волей случая бизнес резко не навернулся, я продал ипотечную квартиру и мне ПРИШЛОСЬ от всего отказаться и заняться тем чем давно хотел попробовать. В итоге через 2 мес,как оказался без всего я купил первую квартиру уже без ипотеки. Потом много чего еще на что прошлым бизнесом не заработал бы за всю жизнь. Кредиты с тех пор ни разу не брал. Кайфовал от процесса, свободного времени стало в разы больше. Оказался в другом мире. И если бы бизнес не навернулся так и занимался бы фигней. А оказалось все бросить очень просто и быстро. И необходимо. Поэтому совет №1 - срочно менять деятельность. Нафиг любые прогнозы, ты даже не представляешь где можешь оказаться.

    Если программированием заниматься нравится

    Не работать сидя. Сидячая работа убивает и воздействует на продуктивность, настроение и т.д. Когда ты сидишь, организм готовится тупить и отдыхать. Кровь плохо функционирует. Гормональный фон плохой. Большинство, кто сидит часами каждый день имеют хронические проблемы со здоровьем физическим и психическим. Не замечают т.к. привыкли. И по статистике проживут меньше. Курить и бухать гораздо полезней чем сидеть. И веселей. Поэтому. Стол для работы стоя, веселая музыка, спорт-атрибуты и много движений. 8 часов такого программирования в день и через месяц будешь похож на спортсмена. При этом будешь выполнять задачи горадо быстрее, голова от притока крови работает лучше, настроение лучше и не будешь отвлекаться на Интернет. Правда, я никогда не писал код за деньги и не копался в чужом коде (если только на Тостере :)). Такой деятельностью тоже наврядли бы смог заниматься. Поэтому в твоем случае я бы смотрел в сторону первого варианта.
    Ответ написан
    7 комментариев
  • Переходить ли мне на Python после Java?

    @jkotkot
    режим сарказма
    при 80% рано об этом думать.
    ваш уровень - недостажер.

    Java оборотов не сбавляла. платят за нее больше, спектр применения гораздо больше питона.
    Ответ написан
    2 комментария
  • Переходить ли мне на Python после Java?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Не стоит поизучайте яву ещё года 3-4
    Ответ написан
    2 комментария
  • Как программисту отдыхать и организовать распорядок дня?

    php666
    @php666
    PHP-макака
    Тема - вброс.

    Автор живет в Москве, но зачем-то ездит в область. Это как жрать авно при наличии коробки конфет - в Москве (в переделах МКАД) полно работы.

    Если не вброс и автор реален, то самый правильный совет - найти работу в Москвабаде или осознать, что работа не стоит тех мучений, что автор преодолевает.

    На лицо идеальный портрет современного айти(вайти)шника - инфантильный, глупый, не отдающий отчета в своих действиях. Копия меня в 20+ лет.
    Ответ написан
    7 комментариев
  • Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Давали ли Вы копию своих документов в компании, в которую пришли работать?

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

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

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

    К слову, доказать разглашение будет очень сложно, так что это просто запугивание. Ну или проверка. Вам виднее. Возможно, им нужен очень лояльный и послушный сотрудник, а отказ будет означать, что вы потенциально проблемный. Тогда это просто хитрая часть затянувшегося собеседования, которое продолжается даже во время работы. Иначе просто политика страха.
    Ответ написан
    Комментировать
  • Почему последнее время в Разработке такие маленькие зарплаты?

    php666
    @php666
    PHP-макака
    Crash попросил меня как "эксперта" высказаться, я не эксперт, но мнение есть.

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

    Это не реальность плохая, реальность как была, таковой и осталась. Это ваши воздушные замки рушатся об реалии. Поймите уже, наконец, если и есть в айти зарплаты, сопоставимые с зп депутата госдумы, то 99% программистишек они не светят. Как правило, это люди пишущие на низкоуровневых языках типа С и опытом в 10+ лет.

    На приведенном скриншоте зп до 90 тр за знания хтмл-цсс-пхп, ничего сверхъестественного, обычная зарплата для озвученного уровня. С чего ты решил, что достоин получать 150 или 200 за подобный стек требований?

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

    Кодить после 35 - жуткий ад.
    Знания улетучиваются, требования в вакансиях мутируют и/или растут. Мы не успели закончить проект на фреймворке версии 6, уже вышла версия 8. И так без конца. Не изучил новый фреймворк - летишь на мороз. Не знаешь современные технологии (не изучал их в своё свободное время) - летишь на мороз.

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

    когда паралельно, в других сферах строительства , полиции , армии, и тд, зарплата без опыта ближе, а то и выше этих значений
    тоже верно. Но знаешь, в чем прикол? Любой айтишник, поработавший в айти и успевший "повзрослеть" в рамках этой работы, уже НИКОГДА не попадет ни в полицию, ни в строительство. Допустим я - мне 38 долбанных лет и я в айти всю жизнь. Мне деваться некуда. Меня никто не возьмет, возраст под сорок, перспективы все закрыты. В полицаи или в стройку надо идти в 20+ лет. Так что и тут кроется западня - человек без должного ментовского или строительного образования, в возрасте и без соответствующего бэкграунда даже там никому нах не нужен будет.

    Так что профессию надо по уму выбирать, а не по сплетням из интернета.
    Ответ написан
    5 комментариев
  • Актуален ли Yii2 Фреймворк в 2020?

    myks92
    @myks92 Куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    Тут много нюансов и ответить однозначно сложно. Как уже написал Иван Шумов фреймворк - это инструмент. Каждый инструмент подбирается под конкретную задачу:

    • СMS - система управления сайтом (Wordpress, Joomla и т.д.). Создан для простого и удобного управления сайтом (контентом). Как правило, доступен для работы простому пользователю, без знания языков программирования. Подойдёт для: простых сайтов, блогов, там где не требуется нагрузка и безопасность.
    • RAD framework (Yii2) - фреймворк для быстрой разработки. RAD Фреймворк имеет, монолитную и связанную архитектуру. Он является антипаттенрном и позволяет вам делать всё что угодно, лишь бы вы быстро собрали свой проект. (Используется паттерн Table First - спроектировали базу и по схеме сгенерировали модели данных). При этом Вам никто не говорит, что он не может использоваться для серьёзных проектов. Например, DNS..
    • Компонентные фреймворки (Symfony, Laravel). Это фреймворки, которые разделены на независимые компоненты, которые вы можете подключать к своему проекту при необходимости. В самом фреймворке заложен только необходимый минимум, а всё остальное вынесено в компоненты. Эти компоненты могут использоваться (или не использоваться). Могут использоваться для другого фреймворка (сам Yii2 использует компоненты симфони). Doctirine, которая позволяет вам забыть о базе данных и сосредоточиться на коде. Фреймворк задаёт вам некий стиль, некую структуру и типизацию и требует более хорошего и обдуманного кодинга. Например, при использовании twig вы не сможете сделать запрос в view. Чего нельзя сказать про Yii. Вы там можете построить хорошую бизнес логику, что и встречается...
    • Микрофреймворки (Slim). В таких фреймворках заложен самый минимум, а всё остальное программист должен искать или писать самостоятельно, выстраивать свою архитектуру приложения. Он легкий и простой. Кто-то и Symfony относит к микрофреймворкам. Тут меня многие могут упрекнуть. Подойдет для очень простых, гибких, легких приложений, например, микросервисов. Фреймворк не задает вам никаких правил и архитектуры. Вы должны сами продумать все детали приложения. Где-то используете twig, где то Data Mapper, где-то ActiveRecord. Для работы с таким фреймворком требуется много знаний и опыта. Так как вам всё придется делать самому. Здесь за вас никто не подумал.

    Что же для чего выбрать?
    Решать вам исходя из конкретной задачи. Здесь нет понятия хуже/лучше. Чтобы что-то выбрать нужно на каждом попробовать собрать пару проектов. Тогда и будет понимание когда и что выбирать. Это как автомобиль. Какой лучше BMW или LADA? Оба автомобиля, но каждый для своей аудитории, по своим потребностям, для своих задач.

    Почему другие говорят что Yii2 плохой?
    • 2 версия морально устарела. Это не значит что ВЕСЬ фреймворк плохой, просто им давно никто не занимался. Сейчас идет разработка Yii3, которая многократно лучше 2 версии, но 3 версия доступна только в демо. Поэтому, если хочется писать НОВЫЙ проект на Yii, то я бы не стал выбирать 2 версию. Можете подождать Yii3, но никто не знает когда будет релиз. Можете начать писать используя Yii3-demo, но там может всё поменяться к моменту релиза.
    • Он монолитный. Если вам требуется сделать проект используя много приложений с разными компонентами, то пойдёте по пути Advanced шаблона, где каждое приложение будет папкой: backend, forntend, console. Однако при большой нагрузке вам потребуется разносить приложения. Тогда ваш core будет дублироваться во всех приложениях. Там будет то, что вам даже не требуется. Потому что Yii2 монолит.
    • В Yii2 используется Actvie Record. AR - это не плохо. Его многие любят, многие ценят и хвалят. Но для больших проектов он предоставляет неудобства. Например, при изменении поля в базе данных - приходится менять все свойства и надеяться что везде поменяли, так как в GrigView используется магия, при получение значений из модели 'value' => 'profile.last_name'. Так же нельзя сделать свойства модели (сущности), приватными. Из-за чего состояние модели можно изменить где угодно и вы никак не проконтролируете это.
    • Много абстракции, которую не распознает редактор. Например, вы можете вызвать в контроллере Yii::$app->user->id. Вам приходится делать докблок, что User это common/auth/Identity, а не yii/web/User


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

    Melkij
    @Melkij
    PostgreSQL DBA
    Могу ответить про postgresql.

    без ее блокировки

    Именно в такой постановке вопроса - никак.

    С короткой блокировкой (доли секунд) - другое дело. Принципиально зависит от конкретного alter table и версии базы
    Простой alter table foo add column col; - ставите statement_timeout to '100ms' и вносите как есть.
    alter table foo add column col default const - после pg11 см. выше, до - интересное приключение
    Если default не константа - сначала внесите как default null, затем обновляете частями. как в процессе до pg11.
    Ответ написан
    Комментировать
  • Почему Service Locator это зло и что использовать вместо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все эти страшные слова - они на самом деле всегда про одно и то же - про связность. Когда ты хардкодишь внутри класса вызов какого-то конкретного сервиса - ты намертво к нему привязываешься. И чтобы поменять сервис на другой, ты будешь вынужден поменять код класса. Окей, поменял. И тут же в другом месте, где этот же класс использовался, что-то сломалось! И что теперь? Делать два класса, которые различаются одной строчкой? Нет конечно. А как тогда использовать один и тот же класс для обработки разных входящих данных (или одних и тех же данных, но разными способами)? Сделать его поведение изменяемым. То есть сделать изменяемыми те инструменты, которыми он пользуется - т.е. его зависимости.

    Поэтому все зависимости обычно передаются через конструктор (и поэтому и называются инъекция зависимостей.)

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

    Но тут надо понимать, что всё это работает только при правильном применении ООП. А точнее просто при применении ООП. Потому что 98% "ООП" кода, который пишется на РНР - это голимая процедурщина, даже если она обёрнута в классы и методы. Если у тебя метод класса представляет из себя стену кода, которую ты тупо перенёс из файла, инклюдившегося в любимое похапешное спагетти - то это не ООП. Это та же процедурщина, вид сбоку. И смысл использования dependency injection ты с ним не почуствуешь. Будешь конечно применять, но в качестве карго культа - потому что тебе это на тостере написали.
    А вот когда твой код начнет становиться действительно объектным - тогда стразу станет понятнее.


    Похожим на сервис локатор является сервис- или DI-контейнер. Используемый вручную, он является тем же самым сервис локатором. Поэтому вручную его никогда не надо вызывать - что и запрещается в симфоневских конроллерах - а только для автоматического создания классов. В МВЦ у тебя ведь очень многие объекты создаются автоматом - сущности, контроллеры. И вот для того, чтобы при автоматическом создании экземпляра класса у тебя были на руках все требуемые сервисы - и нужен контейнер.

    Соотвтственно, ответ на вопрос "что использовать?" очень простой:
    - при ручном создании экземпляра объекта, все зависимости передавать в него через конструктор, а не получать "из воздуха" в коде.
    - при автоматическом создании экземпляра объекта, использовать dependency injection container

    В этим смысле очень полезно освоить Симфони - строгий фрейворк, в котором нет сервис локатора и в котором запрещено пользоваться контейнером напрямую.
    Ответ написан
    4 комментария
  • Остались ли еще толковые русскоязычные биржи?

    gigacoder
    @gigacoder
    Программист для Android
    Может это прозвучит не в тему, но попробуйте найти хорошо оплачиваемую постоянную работу.

    Я с 2006 по 2019 год занимался фрилансом. А потом нашёл работу. И не жалею.
    Ответ написан
    1 комментарий
  • Как вы пришли к смене направления в программировании?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Единственная вещь, которая мешает моей рациональности это огромное падение в зп с 200+ до 50 на позиции джуна.

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

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

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

    Это каким, интересно, местом, базы в мобильной разработке? Игрушечная sqlite?
    Ответ написан
    1 комментарий
  • Как вы пришли к смене направления в программировании?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Так как Вы пишете под vue с мобильной разработкой вам будет проще разобраться (перестроить мозги) чем с линейного подхода PHP .
    Если думаете, что поможет разобраться с базами данных , то тут ошибаетесь.
    Нравятся базы данных идите в бакенд и дба. На мобильниках работа с базами в основном не дальше банального круда.

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

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

    Есть четкое убеждение, что в мобилках, как правило, работают более сильные в профессиональном плане люди

    Вот с точностью наоборот. 95% программ написаны школьниками. В ядре самого андроида куча не доделанных тодо.
    Ответ написан
    3 комментария
  • А вы правда умеете программировать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Очень показательный вопрос.
    И очень, очень, очень показательные ответы.
    Наглядно показывают то, как обыватель представляет себе программирование:
    назапоминать побольше "функций", в продвинутом варианте - записывать на бумажку, и совсем уровень бога - уметь пользоваться гуглем. Для поиска этих самых функций.

    Слово "алгоритм" ни в вопросе, ни в многочисленных ответах не встретилось ни разу.

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

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

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

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    значит "запомнить много функций" или значит "запомнить и знать что и где искать в гугле и все понимать"?


    Детский сад, штаны на лямках. Уметь программировать - это решать поставленную задачу качественно и в срок. Методология решения - ну, она может быть непосредственного начальника заинтересует, и то, если на code review ему не понравится, как написано. А руководству - ему аще плевать, оно оценивает с точки зрения бизнеса.

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

    Jump
    @Jump
    Системный администратор со стажем.
    Что почитать по IT-Консалтингу?
    Книги разумеется.
    Подходят ли книги 70-80 годов?
    Вполне.
    Есть ли особенности национального подхода?
    Да, британцы например предпочитают читать у камина.
    Ответ написан
    Комментировать
  • Что нужно знать junior php developer для работы в аутсорсинге?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Намного выше чем у "стокового джуна" сидящего ровно на заднице, т.к аутсорс подразумевает собой "приходящего" сотрудника, и есть шанс, что в конкретной ситуации или вопросу вам никто не будет подсказывать. Поэтому для меня джун на аутсорсе - скорее минус чем плюс, ибо компания нанимающая вас, теряет деньги на ровном месте, ибо вы тратите больше ресурсов, на решение задач, чем компания заказчик хотела бы.

    Как по мне - минимум мидл, причем понимающий какие-либо бизнес процессы, и умеющий грамотно вести аналитику и тз(если нет грамотного PM)

    минимум $500-1000?
    - если регион - то это даже не запрлата джуна, особенно на аутсорс.
    Ответ написан
    Комментировать
  • Почему зависает соединение с сервером по ssh?

    @strmaks
    Попробуйте прописать у себя в конфигурации ssh клиента ~/.ssh/config опцию:
    $ cat ~/.ssh/config
    ...
    Host *
        ...
        ServerAliveInterval 10

    Файл ~/.ssh/config должен иметь права 600 (chmod 600 ~/.ssh/config)
    Секция Host * должна быть всегда в конце файла конфигурации

    Проверить работоспособность и уточнить причину разрыва соединения можно подключившись к серверу ssh клиентом с флагом -vvv (включает отладочный режим 3его уровня)
    $ ssh -vvv user@hostname
    много строк с установлением соединения и инициализацией сессии
    debug2: shell request accepted on channel 0
    ...
           __|  __|_  )
           _|  (     /   Amazon Linux 2 AMI
          ___|\___|___|
    
    https://aws.amazon.com/amazon-linux-2/
    [ec2-user@hostname ~]$ debug3: send packet: type 80
    debug3: receive packet: type 82

    появление при "простое" соединения сообщений:
    debug3: send packet: type 80
    debug3: receive packet: type 82
    Говорит о том что keepalive работает.
    Ответ написан
    Комментировать