Pull to refresh
27
0.1
Dmitry Rubinstein @Virviil

Software Developer

Send message

Да, именно так.

На самом деле сравнение не корректно. И все результаты фактически вытекают из этого.

Более корректно было бы сравнить горутины с async кодом, в идеале - наверное на голом tokio

Замечу, что tokio умеет запускать рутины в разных «физических» тредах, поэтому io-bound-ность не обязательно

Расскажите - куда читать про то, как это делать правильно?

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

Из 6 «инструментов» 3 - это просто «а вот у нас в каждом облаке есть что-то для МЛ», а ещё 3 - проприетарщина или сама по себе, и гвоздями прибитая к конкретным облакам, то есть вендор-лок.

Кроме того, из статьи не очень понятно даже какие именно функции в структуре ML Ops выполняют перечисленные инструменты.

Первая статья этого автора довольно общая, но хотябы имеет смысл в контексте минимального описания и ознакомления с темой.

Ну вот по какой-то причине Phoenix вообще не упомянут в самой статье.

Не холивара ради, а только в качестве интереса: не могли бы вы привести несколько примеров таких «фишек», которые есть в PHP а не только в языке X, и заодно сам язык X

Что значит nullable?

В proto3 спецификации все поля - optional, то есть могут либо быть либо отсутствовать. Чем это отличается от nullable?

Так всетки, есть шанс появления FlipperPay, или это слишком невозможно реализовать?

Фишка Wasm в том, что в него компилируется все. Зачем учить ещё один язык, который к тому же компилируется только в Wasm, если можно писать на Go, Rust, Js, C?

И как этот язык может быть чьим-то конкурентом, если у него нету экосистемы?

Безусловной новинкой является язык Go. Включивший в свой синтаксис средства коммуникации между потоками/процессами

 % Create a process and invoke the function web:start_server(Port, MaxConnections)
 ServerProcess = spawn(web, start_server, [Port, MaxConnections]),

 % Create a remote process and invoke the function
 % web:start_server(Port, MaxConnections) on machine RemoteNode
 RemoteProcess = spawn(RemoteNode, web, start_server, [Port, MaxConnections]),

 % Send a message to ServerProcess (asynchronously). The message consists of a tuple
 % with the atom "pause" and the number "10".
 ServerProcess ! {pause, 10},

 % Receive messages sent to this process
 receive
         a_message -> do_something;
         {data, DataContent} -> handle(DataContent);
         {hello, Text} -> io:format("Got hello message: ~s", [Text]);
         {goodbye, Text} -> io:format("Got goodbye message: ~s", [Text])
 end.

Пример из Википедии синтакса Эрланга, появившегося в 1986 году. Обратите внимание на восклицательный знак и управляющую конструкцию receive.

Согласен. Python — это язык с самой ярковыраженной stackoverflow driven development необходимостью. На это есть несколько причин, основные:


  • Довольно дурацкая дока (особенно в библиотеках), постоянное отсутствие примеров
  • Постоянные **kwargs, в которых даже читая source code библиотек не всегда понятно что происходит
  • Каждый пишет как хочет, нет общих паттернов. Код DataScience и код Web Service и сопутствующие библиотеки отличаются по парадигмам и подходам, кроме того есть огромное количество разных покалений (вроде "как тут делать async до того как завезли async"), и все библиотеки на разных покалениях сидят.

В результате, единственный быстрый способ писать на Python — гуглить вопрос как есть и копипсатить со stackoverflow. Качество кода — соответствующее

Я правильно понял, что автор этой статьи считает что необходим WASM и Rust для того, чтобы запустить child process в ноде?

Т.е. кинуть в сумку килограмовый ноут, когда едешь на дачу и знаешь что надо будет поработать — это проблема?

Мой MVP — это код в первую очередь, который от конфигурации развёртывания не зависит.


«Куча времени» — это нажать в digital ocean «создать сервер», зайти по ssh в него и набрать apt install docker-compose?


Ну и конечно «минимальная экспертиза»… Этот жестокий наброс видимо полностью уничтожает весь пласт Enterprise разработчиков, которые в силу ИБ вообще не работают с известными вам cloud providers. Почему говорю «известными вам»? Ну, предлагаю вам к примеру показать свою экспертизу во Free tier к примеру Alibaba Cloud. Случайно знаете? Ну завтра появится ещё игрок. А вы все ещё будете считать людей, которые не разбираются в тарифных планах «недо бэкенд инженерами»

Для дев окружения я делаю docker-compose и так и так.
Сервак такой стоит 10$ в месяц. Запустить scp — 1 секунда.


В результате я потратил 10$, и не разбирался ВООБЩЕ ни в чем. Например не читал 10 часов доки AWS, которых я вполне могу не знать, в поисках того, что именно включает free tier.


А вы, даже зная AWS от и до — уже закинули 70$ в кубер, который тут "нафик не нужОн".


И когда меня начнут дудосить китайские хакеры, у меня в крайнем случае ляжет моя VPSка, а мне все равно — у меня MVP.


А у вас на кубере он отмасштабируется, выдет за free tier и пришлет счет на сотни долларов в конце месяца. Скажете, надо правильно настроить? Отлично! Сколько стоит время девупса, который такое может сделать? 100$ за час? И где я сэкономил?


Так что если уж считаете — то считайте честно.

Автору, как спецу в RoR, советую сразу смотреть на Elixir.


Круто, когда переизобретают Erlang, жалко только, что он не на настолько на слуху, чтобы люди знали о нем ДО того как его переизобретают.

+1 к комментарию.


Даже если предположить, что авторы провели какие-то исследования на рынке, а не просто написали велосипед сразу (хотя верится в это с трудом) — в статье нету вообще никаких ссылок/отсылок.


  1. Где сравнения с существующими алгоритмами и решениями?
  2. Почему postgre (где сравнение с другими)?
  3. Как специфика задачи повлияла на выбор решения (типо если бы надо было больше писать или реже читать — взяли бы что-то другое?)

Есть material, а есть cupertino. Как в результате получается "нативное" приложение для двух платформ? И там и там делают одинаково или


if platform == android window = MaterialWindow
if platform == ios window = CupertinoWindow

Все ещё не понятно, как можно танцевать если видишь себя с такой задержкой…
Я через Zoom пробовал петь хором — это фактически невозможно

Как ffmpeg помог синхронизировать все видео? Т.е. 16 потоков идет на сервер, потом тебе в браузер возвращается 15 склеенных и они все еще синхронизированы?

Абсолютно точно, именно такой подход. Только на совещаниях надо говорить «Полный Agile с максимальным учётом пользовательского фидбека». Ну или не работать в стартапе, если тошнит. Но мы к сожалению идём туда прямым ходом, и вероятно это единственно верный подход в высококонкурентном капиталистическом мире

Information

Rating
3,285-th
Location
Тель-Авив, Тель-Авив, Израиль
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
From 900,000 ₽