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
Результат разговора ^ с боссом уровня свелся к тому, что Java-разрабы даже линтеров не используют, какая им разница что статическим анализом называть.
Энтерпрайз такой энтерпрайз.

И еще в копилку Java твит от бывшего фронта:
https://twitter.com/vkozulya/status/1197555301760851969?s=21
Сегодня случилось удивительное - я психанул и занес вастрику на патреон.

Если вы вдруг не знаете вастрика - vas3k.ru

Если вдруг не знаете патреон - patreon.com
Это такой кикстартер для порнохудожников и юмористов, которым в твитере не нравятся треды.

Не то чтобы мне не хватало бесплатного контента...
Но, во-первых, @vas3k смешной, а во-вторых, там типа клуб с секретными чатами в телеге. Нетворкинг, вот это вот все :)

Стоит это дело всего $1 в месяц, но ему уже напихали почти $2.5к ежемесячных донатов.

Потом я психанул еще раз и занес подкасту @podlodka

Если вы не слушаете подкасты совсем или Подлодку в частности, вам точно стоит начать. Там есть просто гениальные выпуски, например про базы данных.
Но им, почему-то донатят всего $350 в месяц.

У вастрика за бакс есть клуб и приватный контент, у подлодки просто донат.

И при том, что патреон собирает бабло, приложение у них - ад и израиль.

Главная неприятность в этом во всем такая, что расшарить статьи вастрика с друзьями не получается, тк paywall.

Но в богомерзкой ios13 появилась возможность на лету конвертить страницы и отправлять готовой pdf’кой в телегу. Если вам очень захочется почитать статьи вастрика - попросите меня, я вышлю.
А лучше занесите человеку доллар, оно того стоит
у patreon не только с приложением все плохо...
¯\_(ツ)_/¯
...После митапа на highload я полетел в Пермь на Miro Platform Developers Conference.
2 часа я ехал на такси до Шереметьево и 2 часа летел....
Вышел в час ночи в публичную зону аэропорта Большое Савино, заказал такси, стою, жду. Рядом местный молодой человек орал в трубку кому-то из встречающих - "Да вы что, сдурели, я вас тут 15 минут ждать буду?" :)

Miro - душевные ребята. Возможно, вы их знаете по названию RealTimeBoard. Офис у них в отдельном здании на берегу реки. Здание - бывший ремонтный цех. Т.е. лофт, все как положено :)

Конференция прошла задорно, но как вы понимаете, этого поста бы не было, если бы было все хорошо.

Во-первых, сама платформа. Как говорится, я джва года ждал эту игру (с). Они сделали API для Mindmap. На самом деле можно строить любые схемы. Я давно мечтал о такой штуке, чтоб визуализировать все issue из всех проектов в gitlab на одном графике. Жаль, что сейчас это не очень актуально, но вдруг кто-то сделает.
Но не просто API, а платформу. Т.е. возможность делать сторонние интеграции на базе этого API.
Кстати, они запустили contest с призом в $21k. Вряд ли вы успеете, но вдруг. https://go.miro.com/platform-contest

Так вот. Видно, что ребята не часто делали API. Сколько мануалов в сети с bestpractice, но это все равно не помогло. Например, описание линии
{
"type": "line",
// required for creation
"startWidget": {
"id": "3074457346811293699"
},
// required for creation
"endWidget": {
"id": "3074457346811293709"
},
"style": {
// supports short hex code color format
"borderColor": "#da0063", // default: "#000000"
// allowed values: "normal", "dashed", "dotted"
"borderStyle": "normal", // default: "normal"
// allowed values: 1.0, 2.0, 3.0, 4.0, 5.0, 8.0, 12.0, 16.0, 20.0, 24.0
"borderWidth": 1.0, // default: 1.0
// allowed values:
// "none", "opaque_block", "rhombus", "opaque_rhombus", "circle",
// "opaque_circle", "block", "open_arrow", "opaque_arrow"
"lineEndType": "opaque_block",
"lineStartType": "opaque_block",
// allowed values: "straight", "orthogonal", "bezier", "sketch"
"lineType": "orthogonal" // default: "straight"
}
}


Да, это прям из документации :)

Тут плохо приблизительно все, начиная от id в виде больших интов в строке вместо uuid, отсутствия общего namespace для borderColor, borderStyle, borderWidth и line, заканчивая енумом толщин линий, заданных в формате float.

Я думаю, они это осознают, но потом будет всем немножко больно.
Во-вторых, что у них на бэке... Начнем с того, что они долгое время хранили все в... Redis. Они, судя по всему, очень удачливые сукины сыны.
Это отчасти объясняет то, что у них нет namespace'ов в API.
Потом они решили, что дальше так нельзя и надо сложить данные в Postgresql. И знаете что они сделали? Они пропустили шаг с ORM и пошли еще дальше.
Взяли JOOQ (это такая либа для описания SQL в виде собственного DSL) и засунули его в свою Java. Т.е. они пишут запросы на JOOQ, который компилируется во время выполнения в SQL.
Кстати, у них есть вакансии постгревых DBA с релокацией в Пермь :)
И самое интересное. На конференции выступал разработчик из Stripe. Stripe - карточный процессинг, самый дорогой выпускник Y-Combinator с оценкой в $35b. Основной их фишкой с самого начала был самый легкий онбординг в индустрии. From developers to developers. Лучшая документация, лучшее версионирование api.

Мне немного удалось пообщаться с докладчиком. Знаете какой у них стек?
Ruby + mongoDb. И, кажется, vertica для аналитики (он ни разу не слышал про ClickHouse)
Но не просто Ruby и не просто MongoDb. Они и то и то допилили.
На вопрос "как же вы без транзакций живете, вы же платежный сервис", был дан ответ "страдаем" :))

Хотел сохранить эту ссылочку до разговора о NOSQL базах данных, но сейчас подходящий момент. Если вкратце - кластер MongoDb может терять до 42% данных.
https://aphyr.com/posts/284-jepsen-mongodb

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

Кстати, о Redis. Кластер Redis может терять до 56% данных...
https://aphyr.com/posts/283-jepsen-redis

Выводов не будет, выводы в названии канала.
PS: Miro отличные ребята. Все что они рассказывают про продуктовую часть своей работы - прекрасно. Я им желаю всяческих успехов и захвата мира. Если мир захватится с такими костылями, мир сам виноват. Перезагрузка матрицы всё почистит :)
Вот вам немножко фотографий из их офиса
По просьбам читателей добавил лайки. Т.к. к старым постам их не прикрутить, лайкайте все посты про поездку в Пермь тут.

PS: Дуров, лайки в твоем телеграмме без поллитра не прикрутишь. Шейм он ю
Запись моего доклада на highload 2019 включили в общий плейлист, перезалив оригинальный ролик. Теперь там отдельный счетчик просмотров и лайков. #attentionwhore