„Chillin‘“ at Amazon
618 subscribers
27 photos
1 video
7 files
370 links
Amazonian SDE is sharing, 'cause sharing is caring 👨‍💻

note: I do not represent any of my employers in this channel
Download Telegram
#kotlin #jvm #test #spek

В прошлой команде, мы использовали Огурец! 🥒

Очень привык к фреймворку Given/When/Then, которому мы придерживались при написании тестов. Сразу все становится понятно: за что отвечает та или иная часть теста. 💡

С недавних пор, я начал изучать Kotlin, так как рассматриваю его для своего нового проекта. Соответсвенно, и не мог не обратить внимание на Spek Framework, который рекомендуется очень много среди Котлин разработчиков. 👨🏻‍💻

У Spek развивают под два стиля, один из которых как раз таки и Gherkin/Gurken/Cucumber или Огурец! 🥒

Scenario("getting the first item") {
val item = "foo"
Given("a non-empty set") {
set.add(item)
}

lateinit var result: String

When("getting the first item") {
result = set.first()
}

Then("it should return the first item") {
assertEquals(item, result)
}
}

Разве не красота?! 😋

Я сейчас попробовал его в деле - очень удобно! Так, что рекомендую! 👍

Второй стиль - specification. Хз что это, но вроде бы им пользуются Рубисты. 💎

https://www.spekframework.org/gherkin/
Совет гостя, в конце выпуска, очень хороший!
Очень спонтанное Мок интервью по Кодингу.
Начинаем через 30 минут. Кому интересно, подключаейтесь!

Topic: Mock Interview (Coding)
Time: Apr 10, 2021 12:00 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

Join Zoom Meeting
https://us05web.zoom.us/j/83310428156?pwd=TDlhU3M5ekdGVlV2Wm9aOEs2UlJNUT09

Meeting ID: 833 1042 8156
Passcode: 5PcQvE
#systems #design #architecture

Ого, что нашел! Куча паттернов на исполнения микросервисов на AWS: https://www.jeremydaly.com/serverless-microservice-patterns-for-aws/

В купе с этим репозиторием получается отличный кладезь знаний: https://github.com/cdk-patterns
По случайности, я как раз сейчас занимаюсь становлением best practices в команде, так как команда новая. Без принятых стандартов начинается очень много дискуссий на тему как "нужно", как "лучше". Не люблю холли вар - для бизнеса вредно, кастомеру не нужно.

https://pragmaticsoftwareengineering.com/f/5-signs-of-an-immature-software-developer
Крутые ребята, которые "потом и кровью" продолжают расти. Из интервью отметил как сильно компания обращает внимание на корпоративные ценности. Часть из ценностей очень напоминают те, что в Амазоне. Очень верю, что это является частично причиной их успеха!
#algorithms #data #structures #video

Нашел неплохой канал с видео по структурам данных: https://www.youtube.com/c/WilliamFiset-videos/videos
Лучшие новости! Мои труды проходят не зря!))

"Здравствуйте Елдос, хотела поблагодарить вас за предоставленную возможность практиковать поведенческое интервью.
Спешу делиться хорошей новостью, я получила оффер от Амазона😁 хотела чтобы вы знали."
Forwarded from Boris Burkov
Дележ ничейного: Cloud Protection Licenses и война Elastic против Amazon

Только что прошли KubeCon-2021 и Kafka Summit-2021.

Масса интересного: поразительно, с какой скоростью плодятся качественные опен-сорс-решения для работы с болшими данными и облаками. Очень здорово выглядят проекты вроде Yugabyte и TitaniumDB - современные, грамотно написанные распределенные аналоги Postgres и MySQL. MariaDB и Percona прикручивают движок MyRocks на основе RocksDB с ее быстрыми LSM-деревьями к MySQL (ведь кретины в пиджаках из Oracle никогда бы сами не додумались это сделать). К Postgres сделали отличное расширение TimescaleDB для хранения временных рядов, которое в 10-100 раз быстрее даже созданной исключительно под временные ряды InfluxDB. Kafka избавляется от надоевшего всем Zookeeper’а в пользу собственной реализации распределенного консенсуса на основе Raft.

Вот скажите, на какие деньги могут развиваться эти опен-сорсные (бесплатные, если разворачивать на собственном железе) решения в жестоком мире капиталистических акул? Каким образом Elastic выходит на IPO с оценкой почти $5 миллиардов, если половина девопсов в России пользуется ELK сколько себя помнит, знает его на зубок, и не заплатила при этом ни копейки?

Выясняется, что источником дохода для этих проектов является не только поддержка по подписке/консалтинг для крупных компаний. Основным источником дохода для целого ряда опен-сорс проектов являются managed cloud hosted-версии их основного продукта, которые они продают клиентам (что кажется немыслимым для России, но отлично работает на Западе).

Так, Confluent - компания, стоящая за Apache Kafka - смогла вырастить свою годовую выручку до $127 миллионов в год, а штат до полутора тысяч человек, что только что сделало ее миллиардным бизнесом, исходя из оценки капитализации в 100 месячных выручек. Основные их продукты лицензированы по Apache License, а вот весь обвяз - по Confluent Licenses, разновидностям Cloud Protection License. Всякий, кто работал с голой Kafka, может припомнить массу неудобств, связанных с ее администрированием, которые устранены в облачных платформах вокруг нее от Confluent и Cloudera.

Я налетел на отличную статью от TimescaleDB, где они объясняют, как устроена их лицензия Timescale License. Суть в том, что TimescaleDB опен-сорсна и бесплатна, и каждый желающий может развернуть ее у себя на серверах (мы вот уже больше года ею пользуемся). Но если какая-нибудь крупная компания вроде Amazon вздумает начать продавать cloud hosted TimescaleDB-as-a-service, ей придется поделиться доходом от своей деятельности с авторами проекта, которые приложили 99% усилий к ее разработке. 5 мая TimescaleDB подняла round B на $40 миллионов от нескольких инвесторов, включая 2Sigma, и имеет все шансы завоевать мир.

Timescale License - это частный случай Cloud Protection Licenses или Server Side License, эдаких “AGPL-2.0/GPLv4”. Ранее MongoDB подобным образом перелицензировала свою базу данных по Server-Side License, подробно объяснив, что причина такого решения - в том, что большие облачные вендоры пожинают плоды их труда, не разделив при этом рисков с разработчиками Mongo и не приложив никаких усилий.

Приживутся ли данные лицензии - интересный и очень важный вопрос, потому что прямо сейчас разворачивается эпическая битва по этому поводу между Elastic и Amazon.

AWS как и все остальные крупные облачные вендоры (теперь вот и Yandex) с удовольствием взяла готовый ELK, лицензированный по Apache License, развернула его на своих серверах, и продаёт клиентам, при этом палец об палец не ударив, чтобы помочь развитию ELK.

Elastic такая ситуация не устраивает, и в этом январе они объявили, что планируют перелиценизировать ELK по Elastic License (частный случай Cloud Protection License), который заставит AWS/Azure/GCP и других облачных вендоров платить Elasic за использование результатов их труда.