ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

There will be no singularity

There will be no singularity

الذهاب إلى القناة على Telegram

Smartface, technologies and decay @antonrevyako

إظهار المزيد
1 948
المشتركون
لا توجد بيانات24 ساعات
-37 أيام
-530 أيام
أرشيف المشاركات
НГ (кродется). Желаю всем, чтобы без такой херни как в этом :) Как говорил дядя Витя, - watch yourself, be careful :)

Вообщем новость как-то прошла мимо меня. Оказывается килобайт уже давно (с 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

Че происходит.jpg

​Наша постоянная рубрика "дед открывает современную российскую музыку". Бодрый панк-рок в исполнении двух девушек: кис-кис. Узнал я про них из фита с Anacondas, у которых сегодня вышел клип. Напомнило группу фантастика вперемешку с нойзом и пошлой молли. Пользуясь случаем порекомендую еще несколько забытых панкушников - кожаный олень, питоны 3000, все равно и, естественно, моя большая и давняя любовь - ландыши. Оно, конечно, совсем с другим саундом, но мы-то все знаем, что в русском роке главное текстА :)

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

​В комментах под последним сообщением разгорелся небольшой срач, в котором меня явно приняли не за того. Пользуясь случаем хочу прояснить несколько моментов: 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 является приоритетом, стратегия масштабирования, найма и тд. Ведь железо надо покупать и обслуживать. Подведу итог. Существует много разных баз. Рассуждать кто кого заборет и воевать за какую-то одну не вижу никакого смысла. Мне хотелось бы делать инструменты для пользователей разных баз и зарабатывать на всех :) Но т.к. ресурсы конечны, приходится держать нос по ветру, и бежать туда, где есть деньги.

Просто бизнес понял, что крупный бизнес™ не уйдет с реляционных, а продать им что-то надо /тред https://twitter.com/copyconst
Просто бизнес понял, что крупный бизнес™ не уйдет с реляционных, а продать им что-то надо /тред https://twitter.com/copyconstruct/status/1342360717135998978

​Мы подошли к финалу разговора про 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 (на typescript) - плагины для CI (github, gitlab и тд) - SDK, cli и другие тулзы Мы соберем это все в отдельный проект и будем его везде всячески форсить. Возникает законное замечание - "Ты самый хитрый? Сейчас мы понаделаем интеграций, а ты потом включишь монетизацию и заработаешь мильен денег!" МЫ ПРЕДЛАГАЕМ ПАРТНЕРСТВО. После включения монетизации, авторам всех полностью бесплатных плагинов, через которые будут пользоваться платными подписками, будет выплачиваться вознаграждение. Если у вас есть желание создать платные или бесплатные инструменты на базе нашего API, пишите в личку @antonrevyako, на почту info@parsers.dev или в чат канала.

​Еще один экземпляр в коллекцию экзотических применений SQL (этот же список на гитхабе) 7) cloudquery - запросы по вашей облачной инфре https://github.com/cloudquery/cloudquery
> SELECT * FROM aws_elbv2_load_balancers WHERE scheme = 'internet-facing'

CEO jitbit написал пост про выбор no-code конструктора админок. И в частности про тот самый retool, который я пару раз уже упоминал. И все в этом деле круто, кроме одного - давать доступ к базе внешним сервисам. Вынесут retool = вынесут всех клиентов. Да, если пермишены были только на чтение, то только вынесут, удалить не смогут. А если есть пермишены на запись, то привет. PS: retool теперь стоит под ярд, и это одновременно круто и непонятно.

​Тотальная слежка и контроль! (но это не то, о чем вы подумали) Пока киберпанк завезли только в виде игры, но это не останавливает человечество от попыток приблизить его в реальной жизни. Кажется, люди начинают что-то подозревать и с завидной регулярностью появляются проекты, направленные на наведение порядка в том бардаке, который мы с вами устраиваем в своих проектах. Вообще у меня давно сформировалось понимание к чему должны быть приложены максимальные усилия айтишников - на УМЕНЬШЕНИЕ ЭНТРОПИИ. И в те дни, когда король разработки с хабра добрался до андерхуд паблика в твиттере и теперь и там ноет, что все пропало и что мы все умрем, подоспело несколько интересных новостей из области контроля за тем, что творят кожаные мешки на своих рабочих местах. Про питон в AWS CodeGuru я недавно писал, но есть еще: - Criticality Score от Google. Предлагается способ ранжирования проектов по степени пролюбленности полимеров, основываясь на мета-данных из репозитория - ControlFlag от Intel. Машинлергинг ищет баги. - Qodana от JetBrains. Статический анализ в CI с гуем. Все что может быть автоматизированно, должно быть автоматизированно. Никто не любит дебажить. Все любят творить. Сейчас статическая типизация присутствует практически во всех мейстримовых языках программирования. Даже, простигосподи, в Ruby :) Линтеры сделали для чего угодно - вплоть до markdown и ямлов докера. Know Your Foe! Вступай в отряды федерации борцов с багами!

Вопрос #2: В каких IDE вы пишите SQL-запросы?
Anonymous voting

​Вернемся к тому странному IS NULL Если вы с ходу не рассмотрели, подсказываю - разработчик забыл запятую между именами полей. По стандарту второй идентификатор считается алиасом. Эти выражения
SELECT a AS b FROM t
SELECT a b FROM t
дадут идентичный результат. В комментариях к твиту люди указывали, что они потратили от одной до пяти минут на поиск проблемы. Некоторые читатели моего канала потратили на много больше, даже зная, что проблема существует :) Прекрасно (нет), если есть возможность потестить запрос на реальных данных. Но такое бывает довольно редко. И не со всеми запросами такое можно делать. Если разработчик писал этот запрос в IDE и не проверил в реальной базе, то к осознанию того, что проблема существует, он придет далеко не сразу. Возможно, даже после отправки кода в прод. Если у разработчика IDE от JetBrains, то ему повезло. DataGrip подсветит конкретно эту проблему. Если нет, то нет :) А сейчас, комрадс, у меня к вам будет ряд важных вопросов. Буду благодарен, если вы мне поможете в кастдеве (customer development) Первый: хотели бы вы видеть интеграцию holistic.dev с основными IDE, чтобы можно было получать репорты, не отвлекаясь от разработки запросов?

Еще один rewrite engine для HiveQL, Presto, Apache Spark и Apache Pig. На джаве, на чем же, блин, еще... https://github.com/linkedin/coral

Оказывается, есть selfhosted аналог ifttt n8n.io

Для TS-мучеников :) https://t.me/why_typescript_is_bad

да что за день-то такой... https://t.me/sysadmin_tools/3970