There will be no singularity – Telegram
There will be no singularity
1.99K subscribers
248 photos
15 videos
5 files
995 links
Smartface, technologies and decay
@antonrevyako
Download Telegram
Оказывается, есть selfhosted аналог ifttt

n8n.io
Вернемся к тому странному IS NULL

Если вы с ходу не рассмотрели, подсказываю - разработчик забыл запятую между именами полей. По стандарту второй идентификатор считается алиасом.

Эти выражения
SELECT a AS b FROM t
SELECT a b FROM t

дадут идентичный результат.

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

Прекрасно (нет), если есть возможность потестить запрос на реальных данных. Но такое бывает довольно редко. И не со всеми запросами такое можно делать.

Если разработчик писал этот запрос в IDE и не проверил в реальной базе, то к осознанию того, что проблема существует, он придет далеко не сразу. Возможно, даже после отправки кода в прод.

Если у разработчика IDE от JetBrains, то ему повезло. DataGrip подсветит конкретно эту проблему. Если нет, то нет :)

А сейчас, комрадс, у меня к вам будет ряд важных вопросов. Буду благодарен, если вы мне поможете в кастдеве (customer development)

Первый:
хотели бы вы видеть интеграцию holistic.dev с основными IDE, чтобы можно было получать репорты, не отвлекаясь от разработки запросов?
Тотальная слежка и контроль!
(но это не то, о чем вы подумали)

Пока киберпанк завезли только в виде игры, но это не останавливает человечество от попыток приблизить его в реальной жизни.
Кажется, люди начинают что-то подозревать и с завидной регулярностью появляются проекты, направленные на наведение порядка в том бардаке, который мы с вами устраиваем в своих проектах.
Вообще у меня давно сформировалось понимание к чему должны быть приложены максимальные усилия айтишников - на УМЕНЬШЕНИЕ ЭНТРОПИИ.

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

Про питон в AWS CodeGuru я недавно писал, но есть еще:

- Criticality Score от Google. Предлагается способ ранжирования проектов по степени пролюбленности полимеров, основываясь на мета-данных из репозитория
- ControlFlag от Intel. Машинлергинг ищет баги.
- Qodana от JetBrains. Статический анализ в CI с гуем.

Все что может быть автоматизированно, должно быть автоматизированно.
Никто не любит дебажить. Все любят творить.

Сейчас статическая типизация присутствует практически во всех мейстримовых языках программирования. Даже, простигосподи, в Ruby :)
Линтеры сделали для чего угодно - вплоть до markdown и ямлов докера.

Know Your Foe!
Вступай в отряды федерации борцов с багами!
CEO jitbit написал пост про выбор no-code конструктора админок. И в частности про тот самый retool, который я пару раз уже упоминал.

И все в этом деле круто, кроме одного - давать доступ к базе внешним сервисам. Вынесут retool = вынесут всех клиентов.
Да, если пермишены были только на чтение, то только вынесут, удалить не смогут. А если есть пермишены на запись, то привет.

PS: retool теперь стоит под ярд, и это одновременно круто и непонятно.
Еще один экземпляр в коллекцию экзотических применений SQL (этот же список на гитхабе)

7) cloudquery - запросы по вашей облачной инфре
https://github.com/cloudquery/cloudquery

> SELECT * FROM aws_elbv2_load_balancers WHERE scheme = 'internet-facing'
Мы подошли к финалу разговора про ORM наоборот.

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

Мы зарелизили новый проект - parsers.dev - AST парсеры и компиляторы для различных SQL диалектов as a service.

Сейчас доступен следующий функционал:
- SQL -> AST парсинг для Postgresql и Snowflake
- SQL -> IR компиляция (на данный момент только для Postgresql)

SQL -> AST парсеры
AST
(Abstract syntax tree) - объект, описывающее дерево, которое репрезентует исходный запрос в машиночитаемом виде.
Может пригодиться для создания:
- плагинов для IDE (подсветки синтаксиса, IntelliSense, LSP)
- линтеров (как sonarsource.com или некоторые правила holistic.dev)
- преттиеров и бьютифаеров (например, как у tensor.ru)
- трансформаторов запросов (например, кросс-db aws babelfish)
- сервисов графического отображения схем и запросов (например, для ETL процессов)
- инструментов создания и валидации миграций схем баз данных
- еще чего-нибудь крутого, о чем мы пока не догадываемся :)

SQL -> IR компиляция
IR
(Intermediate representation) - объект, описывающий состояние схемы базы данных после применения всех DDL команд, или содержащий подробную информацию о DML-запросе с типами, нуллами, классом количества строк используемыми таблицами и вьюхами.
Может пригодиться для создания:
- генераторов кода!!! Можно генерировать части микросервисов или сделать аналоги dbcore, octo-cli и xgenecloud для генерации микросервисов целиком
- статических анализаторов (да, вы сможете писать правила, как в holistic.dev)
- инструментов для создания каталогов запросов
- инструментов для поиска логических проблем в запросах
- новых крутых ed-tech проектов
- любых инструментов из предыдущего раздела с более глубоким функционалом


Как пользоваться?
Все просто - регистрируетесь на parsers.dev, получаете API токен, идете в документацию или качаете postman-коллекцию.


Сколько стоит?
Пока бесплатно. Позже будет платно. И бесплатно тоже будет.


Новость #2 (тоже хорошая)
По понятным причинам мы не сможем сделать все эти крутые инструменты сами и нам нужна помощь. Ну т.е. как нам... Всем!

Что было бы круто реализовать:
- кодогенераторы под разные языки
- плагины для IDE. Судя по голосованию в топе JetBrains (на groovy) и vscode (на typenoscript)
- плагины для CI (github, gitlab и тд)
- SDK, cli и другие тулзы

Мы соберем это все в отдельный проект и будем его везде всячески форсить.

Возникает законное замечание - "Ты самый хитрый? Сейчас мы понаделаем интеграций, а ты потом включишь монетизацию и заработаешь мильен денег!"

МЫ ПРЕДЛАГАЕМ ПАРТНЕРСТВО.
После включения монетизации, авторам всех полностью бесплатных плагинов, через которые будут пользоваться платными подписками, будет выплачиваться вознаграждение.


Если у вас есть желание создать платные или бесплатные инструменты на базе нашего API, пишите в личку @antonrevyako, на почту info@parsers.dev или в чат канала.
Channel name was changed to «Сингулярности не будет (18+)»
Forwarded from oleg_log (Oleg Kovalov)
Просто бизнес понял, что крупный бизнес не уйдет с реляционных, а продать им что-то надо /тред

https://twitter.com/copyconstruct/status/1342360717135998978
В комментах под последним сообщением разгорелся небольшой срач, в котором меня явно приняли не за того.

Пользуясь случаем хочу прояснить несколько моментов:

1) on-premise bare metal, on-premise в облаке, managed database и serverless database это настолько разные с точки зрения эксплуатации вещи, что обсуждать что из них лучше без приземления в контекст не имеет никакого смысла. Даже любая опенсорсная база (mysql/postgresql), запущенная 4 разными способами будет иметь 4 разных набора свойств и тонких мест. А если еще начать сравнивать реализации у разных облачных провайдеров, можно совсем кукухой поехать :)

И тот, кто говорит, что можно легко развернуть базу на виртуалках и не переплачивать за RDS, скорее всего не делал этого для нагруженных проектов. Например, на AWS эта история довольно быстро упирается в лимиты iops и cpu credits.

2) Я не эксперт и не евангелист snowflake. (евангелист - Кент)
Мне категорически все равно будете ли вы использовать snowflake, redshift, bigquery или у вас много свободных сисадминов и вы сможете поднять кластер на clickhouse сами.
До весны 2020 я ничего не слышал про snowflake, но сейчас решил хайпануть и нажиться на кровавом ынтерпрайзе(и не только), который сплошь и рядом его использует.

Snowflake задуман интересно, реализован так себе, но невозможно отрицать то, что он дал волшебный пендель всей индустрии serverless db.

В нем встроены инструменты, которые для любой другой базы пришлось бы прибивать сбоку. Например, column-level security и etl.

Так же они попытались совместить в одной базе OLTP и OLAP, что тоже наложило свой отпечаток (микро-партишены, отсутствие вторичных индексов). А раздельное масштабирование compute и storage скорее всего станут key-feature многих новых баз.

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

3) Clickhouse отличный продукт, мы использовали его в одном из проектов и после этого остались только положительные впечатления. Есть много тонкостей как в плоскости администрирования, так и в плоскости архитектуры, без знания которых использование принесет страдания.
Я очень надеюсь, что Althinity сделают из clickhouse удобную serverless платформу.

4) Утверждение, что в облаках сидят только стартапы, а серьезные ребята строят свои дц, пахнет нафталином :) Рассуждая об облаках, многие апеллируют к тому, что облака это дорого. Это справедливо, если считать железо "в лоб". Но правильный ответ зависит от разных вещей: cost management strategy - оптимизация capex или opex является приоритетом, стратегия масштабирования, найма и тд. Ведь железо надо покупать и обслуживать.

Подведу итог.
Существует много разных баз. Рассуждать кто кого заборет и воевать за какую-то одну не вижу никакого смысла. Мне хотелось бы делать инструменты для пользователей разных баз и зарабатывать на всех :)
Но т.к. ресурсы конечны, приходится держать нос по ветру, и бежать туда, где есть деньги.
Пользуясь случаем, напомню всем желающим погреть руки на сноуфлейке (и на всем остальном) вместе с нами:
авторам любых бесплатных инструментов, сделанных на базе API parsers.dev и holistic.dev, которыми будут пользоваться платные подписчики сервисов, будет выплачиваться доля от инкама.

Монетизация будет запущена в начале 2021.
Подробнее я писал здесь.
Наша постоянная рубрика "дед открывает современную российскую музыку".

Бодрый панк-рок в исполнении двух девушек: кис-кис. Узнал я про них из фита с Anacondas, у которых сегодня вышел клип. Напомнило группу фантастика вперемешку с нойзом и пошлой молли.

Пользуясь случаем порекомендую еще несколько забытых панкушников - кожаный олень, питоны 3000, все равно и, естественно, моя большая и давняя любовь - ландыши. Оно, конечно, совсем с другим саундом, но мы-то все знаем, что в русском роке главное текстА :)
Че происходит.jpg
Вообщем новость как-то прошла мимо меня.

Оказывается килобайт уже давно (с 1998 года!) не 1024 байт, а 1000.
А 1024 байт теперь называется Кибибайт.

Proof: https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82
НГ (кродется). Желаю всем, чтобы без такой херни как в этом :) Как говорил дядя Витя, - watch yourself, be careful :)
Forwarded from 🇺🇦 Go for two :)
Happy New Year’; DROP TABLE 2020;--