Pull to refresh
26
0
Dmitry Rubinstein @Virviil

Software Developer

О вреде GOTO-фобии (с примерами на C)

И конечно же в любом языке с hof (я уверен что и в котлине, честно не знаю синтакс) это решается гораздо читабельнее:

data.flatMap(...).first(it.isSuccess)

И 99% примеров где нужен такой return или goto решаются каким-либо подобным очень простым и гораздо более читабельным способом.

И достаточно месяцок поупражняться с high order functions в хаскеле чтобы никогда в жизни в голове уже не возникала идея о необходимости раннего выхода, исключения, goto или чего-либо в таком роде.

Блогер показал более 9 часов прохождения Atomic Heart, разработчики решили его не банить и попросили прекратить

То есть эти сомневающиеся люди не могли бы посмотреть "НЕ слив, А прохождения тех кто купил в первый час релиза" и не покупать?

The Best Golang framework: no framework?

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

Если учесть то, что стандарты веба никто толком не знает - получаются очень часто очень топорные решения. К примеру, видел тысячи проектов на Го, которые отдают в браузер и не удосужились сделать HEAD и OPTIONS роуты. Необходимость вручную думать про CSRF, XSS, правильные роуты в соответствии с REST (которые тоже никто не знает)... А во фреймворке это из коробки, он за тебя позаботился.

Из-за кажущейся свободы начинается полный зоопарк с http codes и error handling в API, структуры папок в которых надо вникать 2 недели после смены проекта, зоопарк решений для конфигурации.

То же самое относится к SQL - тысячи проектов с конкатенацией строк для запросов SQL, каша из функций, raw sql без какого-либо порядка в миграциях и дата-миграциях.

Дикий запад PHP в его худшие годы.

И ради чего? Чтобы "гипотетически" не сражаться с фреймворком, причем на том этапе где все и так начинают переписывать, рефакторить, разбивать на микросервисы?

Пожалуйста, не используйте Python для инструментария

Как golang попал у вас в список интерпретируемых языков для прототипирования?

GraphQL, что ты такое?

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

  2. Денормализует клиент и в случае с REST. Тут никакой разницы нету. Чтобы в UI отобразить. То есть "клиенту денормализация не уперлась" - я не могу себе представить такого кейса. Наоброт, в конце-концов клиенту нужна денормализцаия для отрисовки UI.

GraphQL, что ты такое?

Для graphql есть некоторые решения которые делают подобное, например вот здесь: https://gajus.medium.com/reducing-graphql-response-size-by-a-lot-ff5ba9dcb60

GraphQL, что ты такое?

А как задача с недублированием данных о городе решалась бы в REST подходе?

[Карьера в IT] Собеседование в стартап: как пройти и к каким сюрпризам подготовиться

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

Как бы сказать помягче... Лично меня настораживают люди которые 5 лет сидят в энтерпрайзе на одной позиции.

Наблюдение за выполнением конкурирующих задач в Go и Rust

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

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

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

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

Найти за полсекунды: сравниваем похожие фотографии

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

Что такое MLOps и различные MLOps-инструменты  (часть 2)

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

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

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

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

Не нужно стыдиться PHP

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

Не нужно стыдиться PHP

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

gRPC: лучше ли этот фреймворк, чем REST API?

Что значит nullable?

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

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

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

У AssemblyScript новый конкурент: язык Grain, созданный для WebAssembly, громко заявил о себе

Фишка 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.

Самые популярные языки программирования. Хабратоп 2020 года

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


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

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

Information

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

Specialization

Backend Developer
Lead
From 900,000 ₽