Адреналин от процесса кодинга и желание развиваться в этой сфере;
Хочу: Эффективный бэкэнд; Сократить до минимума взаимодействие с фронтендом, желательно до полной изоляции от Ангуляров, Эмберов, Бэкбонов и тому подобного; ТОЛЬКО продакшн (и тесты) хочу проводить под nix-совместимыми системами (сервисы вроде Хероку, например, или свой VPS-сервачок с Docker-контейнером), саму же непосредственно разработку вести под IDE, запущенным под Виндой; Ну, и самое главное во всём этом, без чего предыдущие пункты просто теряют всякий смысл. Наличие работы. Желательно на валютном рынке. Удалёнка и фриланс.
Выбор: Между Go, Node.js, Ruby + Rails и Python + Django. Также присматриваюсь к Rust и не совсем уж сбрасываю со счетов Symfony.
>>762941 (OP) >Сократить до минимума взаимодействие с фронтендом, желательно до полной изоляции от Ангуляров, Эмберов, Бэкбонов и тому подобного; Пишешь REST API и фреймворк на фронте полностью изолирован.
>>763454 Просто помню, как меня захватывало в школе прогать на Бэйсике и Вижуал Бэйсике, а в универе — на Borland C++ Builder. Вот и появилось желание снова это попробовать. Желательно с дальнейшим перекатом, но сначала, конечно, на уровне хобби, это понятно. Образование — айтишный вузик.
>>763464 А чем ты сейчас занимаешься? Вообще какие нибудь проекты кроме лаб на каких языках делал? Работал ли программистом вообще? Или чем ты после вуза знимался?
>>763467 Сейчас РП'шу в области системной интеграции. Проекты пилил самые простейшие, крудошлёпские, с коннектом к Мускулу. Ну, это если не считать всякие вычислители корней квадратных уравнений в школьные годы на советской ПЭВМ, лол. После вуза в армейке был.
>>763492 Тогда тебе еще далеко до фриланса/удаленки/заказов на валютном рынке. По крайней мере с теми технологиями, которые ты указал в ОП-посте. Надо сначала с ними поработать в офисе хотя бы год и потом уже идти на удаленку. Но если хочешь сразу туда и норм инглиш у тебя, то выбирай пхп/жс/верстка задачи простые чаще всего, вкатится тоже можно из дома буквально. Но если ты идешь за деньгами - то это неправильная позиция, ты должен получать удовольствие от работы в первую очередь, а деньги будут расти по мере твоего профессионального роста. Если на начальном этапе зп немного отличаются, то когда ты станешь сеньором-пхп/руби/питон/го етц. То для них всех примерно одинаковая зп. Да и вообще на языке зацикливайся только первый год. Потом учи новый язык раз в пол-года, год. И считай себя не программистом на одном языке, а софтваре-инженером, который решает языками и технологиями проблемы бизнеса, а не тупо программирует на чем то одном, потому что ничего больше не знает.
>>763559 То есть, если деньги есть, то толпы индусов, распихивающие друг друга и других локтями, не заставят себя ждать? А если брать не Апворк, а длительную удалёнку, скажем, с angel.ca?
>>763560 >angel.co Охуительную историю тебе поведаю: если ты не из страны первого мира или не звезда опенсорса, то это не для вас написано. 5 лет опыта, апплаился примерно на 15 стартапов, из них ответил один и сказал, что у меня хуевий онглеске, хотя имею B2 и в принципе работать бы нам это не мешало.
>>763565 >>763568 Ничего страшного. Не демотивирует. Буду потихоньку пилить типовые проектики, борды там, бложики, набивать руку, а потом буду смотреть варианты. Не думаю, что стать лучше индуса очень сложно.
>>763955 Remote, переезжать ради работы не вижу смысла лично для себя. Я фуллстак: в основном рубирельсы, немного эликсира, но могу и полностью во фронт по обстоятельствам. В данный момент пилю в офисе yet another SaaS-shop и всякие прилегающие к нему сервисы.
>>764516 Думаю стоит, это erlang done right. Даже не могу сказать, что там что-то сыро, хотя вроде как должно. Пока что или задачи были тривиальные или же всё как-то заводилось с пол-пинка.
>>764567 Ну хуй знает, на другом интервью меня вообще похвалили даже, и сказали что в среднем у остальных не-нейтивов гораздо хуже.. Конкретно в этом случае видать нужен был родной разговорный.
>>764572 Ну зато ты знаешь где у тебя слабое место и что это не скиллы в целом, так что можешь подтянуть и нанести ответный удар. Я пока думаю только на топталы и кроссоверы набижать, там требования к инглишу заметно ниже не ожидают очередного почти нейтива уровня азиатов где учат всё на англ со школы, удаленка, платят в далларах.
>>764625 Я посмотрел. На Топтале без регистрации можно посмотреть только на аккаунты фрилансеров. На Кроссовере отдельными категориями выделены Ruby и PHP, а Питон и Go отсутствуют как класс вообще! Даже в разделе Other. По Ноде есть одна только работка в связке с Ангуляром. Интересно.
>>764558 >erlang done right И что же там done right по сравнению с Эрлангом? Синтаксис? Это такой же Эрланг, ничего концептуально нового он не приносит, кроме выходцев из Рейлс которые написали хороший тулинг (типа mix, ecto, plug, ...). OTP там используется практически в том же виде, для кучи функций ты вызываешь явно :erlang
Мне нравится Эликсир, но концептуально он от Эрланга не ушел совершенно.
Если ты сравнишь с Кложей, например, то она приносит дохуища новых концепций, которых нет в хостед платформе. И да, мне и Кложа, и Эликсир/Эрланг нравятся, но пока я выбрал Кложу.
>>764959 Ну и Армстронг о том же: > Elixir has a non-scary syntax and combines the good features of Ruby and Erlang.
Просто после Эрланга перекат в Эликсир проходит без откровений.
> А это будто так, ничего особенного. Не, это круто. Разбросанное комьюнити с недосранным тулингом см. Джаваскрипт. В той же Кложуре нет каноничного веб-фреймворка, как то Феникс. И Жосе с Крисом делают очень большую работу по сплочению комьюнити. Поэтому, если выбирать между Эрлангом и Эликсиром я однозначно выберу Эликсир.
Но если между Эрлангом и Кложей, то я за Кложу (по крайней мере, пока). Она буквально взрывает мозг и заставляет переосмысливать происходящее вокруг.
Пишу на работе на python+django и go, свои проекты на go.
Если хочешь фрилансить, то go не вариант на ближайшие год-два точно, его подбирают сейчас в основнов большие компатии типа мейла, баду, вконтакта, яндекса, селектел, ivi.ru. (Последние два вообще заебали меня вакансиями спамить).
Но выучить его легко, спека маленькая, тулинг простой, попробуй, не пожалеешь. Намного легче писать параллельный код (горутины, сетевой стек хорошо оптимизирован для рантайма), чем с коллбеками (js), GIL и обмазыванием ивентпулами (tornado, twisted. Еще охуенно под каждый ивентпул искать либы для бд и редиса всякого).
Хайп с рельсами прошел (мое личное мнение, я не знаю, как там в комьюнити дела), нода годится только для рендеринга какого-нибудь говна на сервере (вк, digg и прочие благополучно свалили с ноды на го и попутно сэкономили сервера).
>>765541 Алсо, от фронтенда анально огородиться не всегда получится. Всё-таки в джанговском проекте обычно намешано говна шаблонов и джаваскрипта обильно.
У меня был опыт работы чисто с бекендом - делал всё на го, команда фронтенда пилила к этому интерфейс на ангуляре - было охуенно.
>>765553 Ну, значит, придётся Ангуляр осваивать. Конъюнктура рынка диктует, что поделать. Во всяком случае, это лучше, чем заниматься Ангуляром фуллтайм.
>>765534 >Хайп с рельсами прошел Только люди не хайпом пользуются, а рельсами, в которой продолжают появляться фичи, которые потом утаскивают в ту же джангу (которая собственно и являлась всегда портом рельсы на гвидопыху с дххпыхи). >>765541 >ТОЛЬКО продакшн (и тесты) хочу проводить под nix-совместимыми системами (сервисы вроде Хероку, например, или свой VPS-сервачок с Docker-контейнером), саму же непосредственно разработку вести под IDE, запущенным под Виндой Хорошим погромистом, да ещё и бекэндщиком с такими условиями не стать. Нужно обязательно подрочиться с дебианом на своей машине.
Все эти питоны, расты лучше учить когда ты уже кабан с защищёнными деньгами тылами: учи PHP, JS, стайлгайды, бестпрактисы и паттерны/хуяттерны. Язык не важен, на PHP есть много жирной работы. Когда сам создашь свою контору, будешь хоть на хаскеле проекты пиздюшить.
>>765534 Рельсы и джанги охуенно подходят для создания прототипов и в целом быстрого крудошлепства уровня стартапов, потом пришла нода ещё быстрее, ведь только один жс, но теперь наканецта пришёл го и можно охуенно быстро крудошлепить, но она будет работать и под приличной нагрузкой.
Хотя говоря честно, на том же hn много раз эту тему поднимали и пришли к выводу "когда у тебя нагрузка которую уже не держат нормально рельсы/джанги/ноды - ты уже взлетел и можешь позволить нанять специалистов чтобы переписать всё на серьезном дерьме". Я с этим согласен. 0.5% начинаний на этих технологиях доживают до такой нагрузки, зато рынок можно проебать изи.
>>765680 Она уже есть, просто у тебя нет опыта работы, поэтому ты никому не нужен. Выбери что угодно уже на самом деле, абсолютно похуй на чем крудошлепить.
>>765667 >ту же джангу (которая собственно и являлась всегда портом рельсы на гвидопыху с дххпыхи). >Django 2003 год первый выпуск >ROR 2004 год первый выпуск Фанатики совсем уже съехали с рельс.
Самое главное при перекате на Го - не участвовать в бесконечных холиварах фанбоев и хейтеров. Помни, анон, что долбоебы расположены по обе стороны баррикад.
>>762941 (OP) >валютный рынок К сожалению, и рыбку съесть, и на хуй сеть не получится. Фриланс на 90% состоит из работы уровня ДОПИШИТЕ МНЕ СКРИПТ НА ПЕХЕПЕ или У МЕНЯ ЕСТЬ САЙТ НА ДЖУМЛЕ НУЖНО ПРИКРУТИТЬ ПЛАГИН. Серьёзный заказчик, работающий на валютном рынке, никогда не пойдет на биржу фриланса за исполнителем, никому в здравом уме не нужна эта морока и такие риски. Тем более, для такого серьёзного проекта, который управляет финансами и от которого зависит прибыль, не потянет один говнокодер, слишком сложная бизнес-логика, слишком много всего нужно учесть и нет права на ошибку, нужна как минимум команда из бизнес-аналитиков, тестировщиков, ну и кодеры конечно. Поэтому такие заказчики обращаются в аутсорсинговые конторы, которые уже давно работают в этой сфере, имеют репутацию, ряд успешных проектов в портфолио, слаженную команду спецов. Поэтому советую тебе забыть про фриланс, если не хочешь прикручивать плагины на джумлу за еду. По настоящему интересная и сложная работа, ответственная, с высокими нагрузками и интересными технологиями, есть только в офисе. А язык похуй какой, это всего-лишь инструмент. В таких конторах кодеры часто знают несколько языков и переключаются между ними под нужды проекта.
Начал изучать Go. Может кто-то объяснить что за за (qwerty Azaza) в таком примере [code lang="go"] func (qwerty Azaza) SomeFunc {return nil} [/code] ? Это равносильно [code lang="go"] func SomeFunc() (qwerty *Azaza){return nil} [/code] или нет?
>>766317 >>766312 У тебя тупой вопрос. Нет, это не одно и тоже. Разница ровно та же, что между созданием метода класса и созданием метода, принимающего ссылку на экземпляр класса. В первом случае ты объявляешь метод только для типа Azaza (если не научишься для примеров выбирать более приличные названия, то можешь не рассчитывать, что хоть к чему-то придешь), а во втором ты объявляешь метод для всего твоего package.
>>766322 Да, я как-то очень хуево посмотрел на твой код. Так и есть. Если точнее, то вернет (нулевую) ссылку на структуру. Можешь опустить название переменной и скобки лишние убрать.
>>766330 Так лучше. Ты определил метод Read для структуры fakeNetConnection. Теперь ты можешь вызывать этот метод таким образом: n, err := fc.Read(...) ...
fc здесь — это структура типа fakeNetConnection. Название её значения не имеет, если что. Впрочем, не вижу смысла что-то объяснять здесь, это простейшая инкапсуляция, как и везде.
>>762946 >есть ли по факту на удалёнке/фрилансе объём работы по бэкэнду без необходимости дрочить Ангуляры. Работаю Ruby on Rails разработчиком. Длительные контракты на Upwork.com. Работаю исключительно над бекендом.
>саму же непосредственно разработку вести под IDE, запущенным под Виндой Вроде говорят, что разрабатывать на RoR под виндой можно, но, видимо, часто надо решать проблемы, которых под никсами не возникает (уверен, что с другими технологиями то же самое, может с некоторыми в меньшей степени). Так что если ты криворукий, то RoR под виндой не советую.
>>762941 (OP) 1) руби слишком сильно завязан на рельсах, проблемы с производительностью. обычно это будут не сложные монолитные сервера, соотв. будешь в небольших командах. сложнее завести трактор. хотя ни один из моих знакомых, которые перешли с явы на руби обратно на яву не хотят. 2) бекенд сильно зависит от нагрузки, цены, сложности. если простой небольшой магазин рор/джанго - все уже есть из коробки. средней сложности сервер - я бы уже смотрел на яву/шарп/скалу. очень сложный бекенд - обычно это приложение на микросервисах. тут зависит от компании. обычно ява,хотя в посл. время наблюдаю, что компании ради эксперимента пробуют ноду/го
>>770293 >Запили кулсторей про апворк. Говорят, хайп на рельсы прошел, сейчас уже поздно вкатываться? Говорят, хайп на ангуляр прошёл. Вот только на апворке 90% задач по фронту на первом (!) ангуляре.
Ну это так, пример. Работы жопой жуй на рельсах на апворке.
>>770349 Зайка на первый Ангулар и не было - был но второй, второй Ангулар мертв. На рельсы хайп был и он прошел, хотя рельсы бврвхтались дольше, чем второй Ангулар.
Скажите пожалуйста, насколько эффективно и нормально писать на эликсирах всякие АПИ и мультимедийный стриминг.
Как прикрутить к эликсиру джаваскриптовый фронтэнд ? Этот сраный эликсир же выполняется в распределенной среде, не? Банально как узнать, к какой ноде обращаться?
Хуй знает, короче, наверное очень тупые вопросы - скажите пару слов, а то я на нем уже на этой неделе свой собственный говнопроект напишу
>>775199 >мультимедийный стриминг Если хорошо уметь, то отлично, erlyvideo на эрланге написан, кроет всех. Но там внутри много хитростей, которые ты сделать не сможешь.
>API Зависит от того что за API. Эрланговский рантайм - какой бы язык на нем не был сверху натянут - хорошо делает одну вещь, и только одну. Берет данные из одного места и кладет в какое-нибудь другое. Как только возникает потребность сделать что-то большее, например, закодировать 100 Мб JSON, или смасштабировать картинку, все сразу становится очень плохо. Особенно если с твоим приложением одновременно работает больше сотни человек.
>Если хорошо уметь, то отлично, erlyvideo на эрланге написан, кроет всех. Но там внутри много хитростей, которые ты сделать не сможешь.
Например? >Но зачем ты пишешь все это в рельсотреде?
Это же бекенд-тред
Я просто хочу убить двух зайцев - выучить хоть один ФП язык, познакомиться с практиками, закодировать себе петпроджект с онлайн конференциями через браузер. Вот думаю, как это сделать и на чем, пока копаю эликсир, потому что давно на него смотрю.
Забыл добавить , что скорее всего разумнее делать это все через WebRTC, но , в принципе, возможность стримить что-то с сервака клиентам - тоже неплохо было бы иметь. Аудио, рекламу или типа того.
Если руки прямые то можно и на Petooh любую популярности в мире соцсетку захуячить напоминаем, что любая задача решаемая на одном тьюринг-полном языке, решаема и на всех остальных тьюринг-полных языках
>>778541 А о минусах он забыл? - Код не в системе контроля версий. - Апдейт логики - полный фарш. Можно что-то перемещать в базу только тогда, когда на 100% знаешь, что это не поменяется. То есть, только совсем тривиальные вещи.
И да, нормальная база данных должна быть встроенной в приложение, как и вебсервер. Как Datomic, например.
Кстати, кукареканье про CPU cycles выдаёт в нём человека плохо знакомого с архитектурой ЭВМ и никогда не занимавшегося низкоуровневым программированием и оптимизацией.
>>762941 (OP) > Сократить до минимума взаимодействие с фронтендом, желательно до полной изоляции от Ангуляров, Эмберов, Бэкбонов и тому подобного;
Нахуй таких бекендщиков. Ты всего лишь жалкая прослойка между веб-сервером и базой. Вся настоящая работа ведётся на фронтенде, и ты этому фронтенду должен всячески прислуживать и ублажать его всеми возможноыми способами. Если попробуешь и фронт и бэк то поймёшь о чём я говорю
>>778659 >А о минусах он забыл? >- Код не в системе контроля версий. Кто же, интересно, мешает ему быть в системе контроля версий?
>- Апдейт логики - полный фарш. Как сделаешь - так и будет.
>Можно что-то перемещать в базу только тогда, когда на 100% знаешь, что это не поменяется. То есть, только совсем тривиальные вещи. Если ты не умеешь работать с СУБД - да, только Mongo и остается.
>И да, нормальная база данных должна быть встроенной в приложение, как и вебсервер. Как Datomic, например. Или наоборот
>Кстати, кукареканье про CPU cycles выдаёт в нём человека плохо знакомого с архитектурой ЭВМ facepalm.pcx
>>778663 Нахуй таких фронтендщиков.. Ты всего лишь жалкая прослойка между пользователем и данными. Вся настоящая работа ведется на бэкенде, и ты этому бэкенду должен всячески прислуживать и ублажать его всеми возможными способами. Если попробуешь фронт и бэк то поймешь о чем я говорю.
>>778975 Насколько я понял в рельсах нельзя задать модель в файлике и сразу без ебли мигрировать и на проектах чуть больше бложика у меня возникает куча проблем из-за этого
>>778990 Как можно в рельсах так поменять модель, чтобы появилась какая-то нужда в автоматической миграции? Имеешь в виду просто создание миграции при добавлении ассоциации, например?
>>778995 Да. Меня например озадачило создание для модели 2-х разных manytomany ассоциации с пользователями. Как я понял чтобы добавить m2m ассоциацию необходимо создать еще одну модель связанную с первыми двумя и затем связать эту модель с первыми двумя foreign key'ем
>>779007 Я понимаю что оно так и делается, но хочется абстрагироваться от того как оно работает в базе, а кросс-таблица вроде делается только для одной ассоциации двух моделей а у меня две.
Например у меня есть Журнал и мне нужны 2 ассоциации с Пользователями: Редактор и Читатель. Получается мне нужно создать 2 модели и потом добавлять ассоциации с этими моделями для пользователя и для журнала. Вроде рейлс старается не плодить лишних сущностей, но это выглядит очень странно. Кроме этого рейлс по сравнению с джанго в разы удобней.
>>779053 >абстрагироваться от того как оно работает в базе Вырастешь монгоебом, не делай так.
>есть Журнал и мне нужны 2 ассоциации с Пользователями: Редактор и Читатель. В таблицах Редактор и Читатель первичным ключом будет внешний ключ указывающий на id в таблице Пользователь. Всё.
>мне нужно создать 2 модели и потом добавлять ассоциации с этими моделями Этой хуитой страдать не нужно вообще.
> рейлс по сравнению с джанго в разы удобней Оба говно и не нужны.
>>778541 какая-то хуита, серьезно. Предположу, что у долбоеба были линейный рост запросов к бд и реальная проблема в производительности располагалась между стулом и монитором.
В PLSQL имеет смысл переносить логику, когда она, да, скорее всего, не изменится (как логика, так и таблицы) и когда для получения результата требуется много запросов (а каждый запрос это обращение к БД серверу).
>>778667 Только данные эти находятся не в мифическом "бэкенде", а в базе данных. Фронтенд мог бы напрямую ходить в базу данных (как в firebase), но есть ряд досадных исторических ошибок, которые этого не позволяют. Бэкенд разработчик это всего лишь писатель костылей, прикрывающих эти ошибки.
>>782454 Позволяют, если не бояться stored procedures и использовать PostgREST.
Firebase это не база данных а ее отдаленное наколенное подобие - раньше таким подобием была кучка dbf-файлов, и даже она была больше похожа на БД чем это убогое гугло-говно.
Мой пост >>790833 из соседнего треда. >Для интереса поискал django и ror вакансии в РФ и штатах/европе. >ror вакансий везде больше, особенно в десять раз в штатах (dice.com), в два раза на апворке, в 2.5х на hh. По европе в UK ещё искал на монстер.ко.юк, там 181 vs 200 в пользу рор.
>Изначально собирался засеть за django, ибо питон знаком больше, чем руби, на руби не писал ничего. Теперь в сомнениях. Но вот сейчас всё равно думаю остаться при первом выборе.
Дано:
Адреналин от процесса кодинга и желание развиваться в этой сфере;
Хочу:
Эффективный бэкэнд;
Сократить до минимума взаимодействие с фронтендом, желательно до полной изоляции от Ангуляров, Эмберов, Бэкбонов и тому подобного;
ТОЛЬКО продакшн (и тесты) хочу проводить под nix-совместимыми системами (сервисы вроде Хероку, например, или свой VPS-сервачок с Docker-контейнером), саму же непосредственно разработку вести под IDE, запущенным под Виндой;
Ну, и самое главное во всём этом, без чего предыдущие пункты просто теряют всякий смысл. Наличие работы. Желательно на валютном рынке. Удалёнка и фриланс.
Выбор:
Между Go, Node.js, Ruby + Rails и Python + Django.
Также присматриваюсь к Rust и не совсем уж сбрасываю со счетов Symfony.
Анон, есть что сказать по теме?