Спрос на Go разработчиков явно только растет. 😎 Успели уже изучить этот язык программирования? Ловите подборку книг, которые помогут, как новичкам, так и продвинутым разработчикам пополнить свои знания.
📚 Язык программирования Go | Керниган Брайан У., Донован Алан А. А.
Исчерпывающие руководство, в которой вы найдете структурное понимание языка от А до Я. Книга очень легко написана и также содержит практические задания. Рекомендуется для тех, кто уже знаком с основами.
📚 Pro Go: The Complete Guide to Programming Reliable and Efficient Software Using Golang | Adam Freeman
Отличный мануал по стандартной библиотеке языка Go. С самого начала вы познакомитесь с примера разработки простого HTTP-сервера, а далее вас ждет глубокое погружение в примитивы синхронизации. Отлично подходит для новичков.
📚 gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes| Касун Индрасири, Данеш Курупу
gRPC – наиболее популярная технология межсервисного взаимодействия. Разработчики Go часто применяют gRPC, но в этом не всегда легко разобраться. Эта книга поможет структурировать знания на конкретных примерах.
📚 Высоконагруженные приложения. Программирование, масштабирование, поддержка | Клеппман Мартин
Книга будет полезна для всех бэкенд-разработчиков, независимо от языка программирования. Здесь вы найдете все объёмное руководство по многим вопросам в масштабировании веб-приложений.
📚 Распределенные данные. Алгоритмы работы современных систем хранения информации | Петров Алекс
Это просто обязательная книга к прочтению для бэкенд-разработчиков, чтобы вникнуть в построение баз данных. В книге нет практических примеров, но собрано огромное количество материалов из самых разных источников.
Знакомы с какой-то из этих книг? Поделитесь и своими рекомендациями.
📚 Язык программирования Go | Керниган Брайан У., Донован Алан А. А.
Исчерпывающие руководство, в которой вы найдете структурное понимание языка от А до Я. Книга очень легко написана и также содержит практические задания. Рекомендуется для тех, кто уже знаком с основами.
📚 Pro Go: The Complete Guide to Programming Reliable and Efficient Software Using Golang | Adam Freeman
Отличный мануал по стандартной библиотеке языка Go. С самого начала вы познакомитесь с примера разработки простого HTTP-сервера, а далее вас ждет глубокое погружение в примитивы синхронизации. Отлично подходит для новичков.
📚 gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes| Касун Индрасири, Данеш Курупу
gRPC – наиболее популярная технология межсервисного взаимодействия. Разработчики Go часто применяют gRPC, но в этом не всегда легко разобраться. Эта книга поможет структурировать знания на конкретных примерах.
📚 Высоконагруженные приложения. Программирование, масштабирование, поддержка | Клеппман Мартин
Книга будет полезна для всех бэкенд-разработчиков, независимо от языка программирования. Здесь вы найдете все объёмное руководство по многим вопросам в масштабировании веб-приложений.
📚 Распределенные данные. Алгоритмы работы современных систем хранения информации | Петров Алекс
Это просто обязательная книга к прочтению для бэкенд-разработчиков, чтобы вникнуть в построение баз данных. В книге нет практических примеров, но собрано огромное количество материалов из самых разных источников.
Знакомы с какой-то из этих книг? Поделитесь и своими рекомендациями.
🔥6
В написании кода лучше придерживаться принципов SOLID. Потому что кодовая база должна быть гибкой, расширяемой и легко тестируемой. В статье Айбека Ногоева, Software Development Engineer, вы узнаете о значении каждого из пяти принципов на понятных примерах.
Статья доступна на русском и английском:
🔗 Принципы SOLID в iOS разработке
🔗 SOLID Principles in iOS Development
Статья доступна на русском и английском:
🔗 Принципы SOLID в iOS разработке
🔗 SOLID Principles in iOS Development
Medium
Принципы SOLID в iOS разработке
Что такое принципы SOLID и как их использовать, чтобы писать отличный код без излишних усилий.
👍4
Что такое DeFi? И на какие проекты стоит обратить внимание 👀
DeFi или decentralized finance — это независимая финансовая экосистема, открытая для всех пользователей, внутри которой участники взаимодействуют друг с другом напрямую, без посредников (банков, кредитных организаций и др.). Таким образом транзакции проходят быстрее и дешевле. Считается, что DeFi-протоколы являются одними из самых надежных и безопасных, так как они работают на базе технологий блокчейн и смарт-контракт.
Из чего состоит DeFi?
🔗 Проекты DeFi — это блокчейны, распределенные реестры для записи транзакций. На сегодняшний день большинство сервисов DeFi работают в сети Ethereum. Хотя активность растет и на других платформах, таких как Polkadot или EOS.
💰 Цифровые активы или DeFi токены, представляющие ценность, которую можно продать или передать в сети блокчейна.
👛 Кошельки — программные пользовательские интерфейсы для управления активами, хранящимися в блокчейне. С помощью некастодиального кошелька, пользователь полностью контролирует свои средства через приватные ключи. Если кастодиальный кошелек, то приватные ключи управляются поставщиком услуг.
📝 Смарт-контракты — это компьютерный алгоритм, который точно выполняет заданное соглашение между двумя и более сторонами сделки.
💎 Стейблкоины — это цифровые активы, стоимость которых привязана к фиатной валюте, корзине фиатных валют или другим активам со стабильной стоимостью.
Популярные DeFi-токены на основе их рыночной капитализации по информации сайта CoinMarketCap:
📌 DAI — это стейблкоин, созданный на базе Ethereum, который привязан к американскому доллару и обеспечивается набором других криптовалют. За развитие этого проекта отвечает приложение Maker Protocol и децентрализованная автономная организация MakerDAO.
📌 Avalanche — одна из самых быстрых блокчейн-платформ смарт-контрактов. Перед проектом стоит задача убрать регуляторные и географические препятствия для операций с криптовалютами. Нативный токен Avax пользователи могут получать путем стейкинга.
📌 Wrapped Bitcoin — это технология, которая переносит Bitcoin в блокчейн Ethereum. Иными словами, была создана для пользователей, которые хотят начать использовать приложения DeFi, но работают с биткоином.
📌 Uniswap — децентрализованная биржа на базе Ethereum (DEX), которая упрощает обмен токенами ERC-20 между торговцами. Также существует одноименный токе Ethereum — Uniswap (UNI), который лежит в основе протокола Uniswap и объединяет токены в смарт-контракты и создает пулы ликвидности .
Возможно, вы уже знакомы с проектами DeFi. Расскажите о своем опыте в комментариях 👇
DeFi или decentralized finance — это независимая финансовая экосистема, открытая для всех пользователей, внутри которой участники взаимодействуют друг с другом напрямую, без посредников (банков, кредитных организаций и др.). Таким образом транзакции проходят быстрее и дешевле. Считается, что DeFi-протоколы являются одними из самых надежных и безопасных, так как они работают на базе технологий блокчейн и смарт-контракт.
Из чего состоит DeFi?
🔗 Проекты DeFi — это блокчейны, распределенные реестры для записи транзакций. На сегодняшний день большинство сервисов DeFi работают в сети Ethereum. Хотя активность растет и на других платформах, таких как Polkadot или EOS.
💰 Цифровые активы или DeFi токены, представляющие ценность, которую можно продать или передать в сети блокчейна.
👛 Кошельки — программные пользовательские интерфейсы для управления активами, хранящимися в блокчейне. С помощью некастодиального кошелька, пользователь полностью контролирует свои средства через приватные ключи. Если кастодиальный кошелек, то приватные ключи управляются поставщиком услуг.
📝 Смарт-контракты — это компьютерный алгоритм, который точно выполняет заданное соглашение между двумя и более сторонами сделки.
💎 Стейблкоины — это цифровые активы, стоимость которых привязана к фиатной валюте, корзине фиатных валют или другим активам со стабильной стоимостью.
Популярные DeFi-токены на основе их рыночной капитализации по информации сайта CoinMarketCap:
📌 DAI — это стейблкоин, созданный на базе Ethereum, который привязан к американскому доллару и обеспечивается набором других криптовалют. За развитие этого проекта отвечает приложение Maker Protocol и децентрализованная автономная организация MakerDAO.
📌 Avalanche — одна из самых быстрых блокчейн-платформ смарт-контрактов. Перед проектом стоит задача убрать регуляторные и географические препятствия для операций с криптовалютами. Нативный токен Avax пользователи могут получать путем стейкинга.
📌 Wrapped Bitcoin — это технология, которая переносит Bitcoin в блокчейн Ethereum. Иными словами, была создана для пользователей, которые хотят начать использовать приложения DeFi, но работают с биткоином.
📌 Uniswap — децентрализованная биржа на базе Ethereum (DEX), которая упрощает обмен токенами ERC-20 между торговцами. Также существует одноименный токе Ethereum — Uniswap (UNI), который лежит в основе протокола Uniswap и объединяет токены в смарт-контракты и создает пулы ликвидности .
Возможно, вы уже знакомы с проектами DeFi. Расскажите о своем опыте в комментариях 👇
👍5👎1
💪 Во вселенной IT люди увлечённые, фанаты разработки — это самураи исходного кода, а клавиатура — их оружие. Эти войны борются с медленным кодом, уродливым API, вопиющими косяками существующих систем. Однако все мы зачастую работаем не одни, а в команде. А что главное в таком случае? Конечно же общение. И это не только про умение излагать мысли, но и про умение слушать собеседника.
Объединяясь в команду, эти войны обретают силу. Но и сталкиваются с проблемами. А именно: им бывает сложно выстраивать коммуникацию друг с другом. Критика кода, медленная реализация, страх подвести соратников по разработке, работа на износ. Все это приводит к конфликтам, недопониманиям, стрессу.
🩹 Но как это можно исправить?
🔍 Для начала присмотритесь к себе. Сперва стоит принять тот факт, что вы пишите код для других людей, а не для машины. Почему так? Программисты жаждут, чтобы их поняли как людей, чтобы коллеги приняли и разделили их мышление, начав вдумчиво использовать предложенную архитектуру. Так как без восхищения коллег работа не принесёт удовлетворения.
👂 Следующий элемент, который поможет положить конец вашей войне с окружающим миром, — это научиться слушать и слышать. Не торопитесь отклонять предложения коллег. Постарайтесь искренне, с участием и уважением анализировать их взгляды и мнения, прежде чем выносить суждения. Таким образом, вы добьетесь того, чтобы вас тоже слышали.
😌 Критика в командной работе неизбежна. Если вы видите слабые места в работе сокомандника, то постарайтесь её донести конструктивно, спокойно. Примерьте на себя опыт собеседника и вспомните, как вы сами начинали свой путь, с какими трудностями сталкивались.
🛣️ Если же вы слышите критику в адрес своей работы, то постарайтесь прислушаться и реагировать без раздражения. Бывает так, что вы просто не замечаете, что пошли не туда. А так как люди зачастую критичны к новому, то критика со стороны может оказаться отличным шансом проверить свои убеждения на прочность. А также это отличная возможность обогатить свои знания за счет другого человека.
❓ Научитесь задавать правильные вопросы. Тем самым вы поможете коллеге быстрее осветить проблему и найти корень проблемы. Будьте искренним в общении и вникайте в его слова. Вы сможете быстрее избавиться от блоков в работе или найти новое решение. Как результат, это будет общее решение, впитавшее опыт двух людей, где взгляды согласованы, где вы работали как команда, и вы научились слушать друг друга и понимать.
🗃️ Если собрать все воедино, то можно сказать, что бремя современных самураев — это быть пристальным и въедливым. Но при этом научиться принимать позиции друг друга для выработки общих подходов. Для гармоничного рабочего процесса стоит выработать качества как экстраверта (умение слышать и доносить мысли) так и интроверта (пристальность к деталям, усидчивость, сосредоточенность). Научитесь проявлять эмпатию в технических аспектах.
🚲 Немаловажно научиться отвлекаться от работы и искать вдохновение для нее в сторонних делах и хобби. Очень часто для этого выбирают нетехническое хобби. Кто-то учится играть на музыкальных инструментах, кто-то вяжет, а кто-то разбирается в искусстве.
Как видите, чтобы вас слышали, нужно самому научиться слушать. Взаимоуважение, взаимопомощь и небезразличие друг к другу помогают выстроить в команде благоприятную и продуктивную атмосферу, что позволяет преодолеть все трудности 🏆
Объединяясь в команду, эти войны обретают силу. Но и сталкиваются с проблемами. А именно: им бывает сложно выстраивать коммуникацию друг с другом. Критика кода, медленная реализация, страх подвести соратников по разработке, работа на износ. Все это приводит к конфликтам, недопониманиям, стрессу.
🩹 Но как это можно исправить?
🔍 Для начала присмотритесь к себе. Сперва стоит принять тот факт, что вы пишите код для других людей, а не для машины. Почему так? Программисты жаждут, чтобы их поняли как людей, чтобы коллеги приняли и разделили их мышление, начав вдумчиво использовать предложенную архитектуру. Так как без восхищения коллег работа не принесёт удовлетворения.
👂 Следующий элемент, который поможет положить конец вашей войне с окружающим миром, — это научиться слушать и слышать. Не торопитесь отклонять предложения коллег. Постарайтесь искренне, с участием и уважением анализировать их взгляды и мнения, прежде чем выносить суждения. Таким образом, вы добьетесь того, чтобы вас тоже слышали.
😌 Критика в командной работе неизбежна. Если вы видите слабые места в работе сокомандника, то постарайтесь её донести конструктивно, спокойно. Примерьте на себя опыт собеседника и вспомните, как вы сами начинали свой путь, с какими трудностями сталкивались.
🛣️ Если же вы слышите критику в адрес своей работы, то постарайтесь прислушаться и реагировать без раздражения. Бывает так, что вы просто не замечаете, что пошли не туда. А так как люди зачастую критичны к новому, то критика со стороны может оказаться отличным шансом проверить свои убеждения на прочность. А также это отличная возможность обогатить свои знания за счет другого человека.
❓ Научитесь задавать правильные вопросы. Тем самым вы поможете коллеге быстрее осветить проблему и найти корень проблемы. Будьте искренним в общении и вникайте в его слова. Вы сможете быстрее избавиться от блоков в работе или найти новое решение. Как результат, это будет общее решение, впитавшее опыт двух людей, где взгляды согласованы, где вы работали как команда, и вы научились слушать друг друга и понимать.
🗃️ Если собрать все воедино, то можно сказать, что бремя современных самураев — это быть пристальным и въедливым. Но при этом научиться принимать позиции друг друга для выработки общих подходов. Для гармоничного рабочего процесса стоит выработать качества как экстраверта (умение слышать и доносить мысли) так и интроверта (пристальность к деталям, усидчивость, сосредоточенность). Научитесь проявлять эмпатию в технических аспектах.
🚲 Немаловажно научиться отвлекаться от работы и искать вдохновение для нее в сторонних делах и хобби. Очень часто для этого выбирают нетехническое хобби. Кто-то учится играть на музыкальных инструментах, кто-то вяжет, а кто-то разбирается в искусстве.
Как видите, чтобы вас слышали, нужно самому научиться слушать. Взаимоуважение, взаимопомощь и небезразличие друг к другу помогают выстроить в команде благоприятную и продуктивную атмосферу, что позволяет преодолеть все трудности 🏆
🔥6👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда один из разработчиков вставил в свою программу рандомный кусок кода, чтобы проверить работает ли он. В ролях: тестировщик, джуны, ПМ, стажер, техлид.
😁14👍1
Популярные практики автоматизации тестирования 🧰
Повторяющаяся ручная работа или работа с большими наборами данных осложняет работу над проектами. Именно для этого вводится автоматизация тестирования. Однако, стоит помнить, что автоматизация “всего” никогда не поможет.
Прежде чем, как начнется автоматизация тестирования, вам необходимо принять решение:
📌 что вы будете автоматизировать
📌 в каком порядке.
Ваша главная цель заключается в автоматизации из того, что приносит наибольшую пользу. Для этого перед началом автоматизации необходимо учитывать ряд областей:
📌 всегда тестируемых для каждого релиза;
📌 которые трудно тестировать вручную;
📌 в которых требуется обрабатывать огромные объемы данных.
Давайте, рассмотрим пять критических областей/факторов\, о которых следует помнить, когда вы рассматриваете возможность интеграции автоматического тестирования в свой текущий рабочий процесс.
🧰 Автоматизируйте ваши смоук тесты
Смоук тесты очень важно выполнять для получения уверенности, что ваше приложение функционирует, после каждого изменения или при создании нового билда. Автоматизация смоук тестов может:
📌 помочь быстро обнаружить блокирующие ошибки.
📌 обеспечивает более быстрое устранение новых и регрессионных багов.
📌 приводит к меньшему количеству ручного труда и экономит время.
🧰 Автоматизируйте тесты, которые выполняются всегда
Что позволит вам иметь набор стабильно работающих тестов. Создавая набор автоматизированной регрессии, вы можете:
📌 запускать тесты, которые быстро выявляют любые ошибки, возникающие в результате изменений в программном обеспечении.
📌 иметь набор стабильных тестов, жизненно важных для приложения.
📌 экономить время.
🧰 Автоматизируйте обширные тесты
Исчерпывающие тесты, например, требующие от тестировщика многократного выполнения одного и того же процесса, но с большим разнообразием данных, должны быть автоматизированы. Вы можете создавать автотесты на основе данных, которые позволяют сэкономить время. Тестирование на основе данных позволяет вам изменять только данные, а не тестовый сценарий, чтобы получить разные результаты. Такие тесты очень многоразовые и эффективные.
🧰 Автоматизируйте тесты, требующие нескольких конфигураций
Утомительно проводить тесты в различных операционных системах и комбинациях браузеров. Также, автоматизация таких тестов может помочь сэкономить время, если запускать их:
📌 в различных средах, просто изменив переменную среды.
📌 параллельно, что сокращает время, необходимое для выполнения.
🧰 Автоматизируйте ваши тесты производительности
Это позволяет избежать сбоев при запуске, и снижения производительности. Автоматизация может помочь вам легко сгенерировать тысячи пользователей, чтобы увидеть, как приложение отреагирует.
🔴 Данный список представляет из себя отправную точку, если вы думаете, как интегрировать автоматизацию в текущий рабочий процесс QA.
Повторяющаяся ручная работа или работа с большими наборами данных осложняет работу над проектами. Именно для этого вводится автоматизация тестирования. Однако, стоит помнить, что автоматизация “всего” никогда не поможет.
Прежде чем, как начнется автоматизация тестирования, вам необходимо принять решение:
📌 что вы будете автоматизировать
📌 в каком порядке.
Ваша главная цель заключается в автоматизации из того, что приносит наибольшую пользу. Для этого перед началом автоматизации необходимо учитывать ряд областей:
📌 всегда тестируемых для каждого релиза;
📌 которые трудно тестировать вручную;
📌 в которых требуется обрабатывать огромные объемы данных.
Давайте, рассмотрим пять критических областей/факторов\, о которых следует помнить, когда вы рассматриваете возможность интеграции автоматического тестирования в свой текущий рабочий процесс.
🧰 Автоматизируйте ваши смоук тесты
Смоук тесты очень важно выполнять для получения уверенности, что ваше приложение функционирует, после каждого изменения или при создании нового билда. Автоматизация смоук тестов может:
📌 помочь быстро обнаружить блокирующие ошибки.
📌 обеспечивает более быстрое устранение новых и регрессионных багов.
📌 приводит к меньшему количеству ручного труда и экономит время.
🧰 Автоматизируйте тесты, которые выполняются всегда
Что позволит вам иметь набор стабильно работающих тестов. Создавая набор автоматизированной регрессии, вы можете:
📌 запускать тесты, которые быстро выявляют любые ошибки, возникающие в результате изменений в программном обеспечении.
📌 иметь набор стабильных тестов, жизненно важных для приложения.
📌 экономить время.
🧰 Автоматизируйте обширные тесты
Исчерпывающие тесты, например, требующие от тестировщика многократного выполнения одного и того же процесса, но с большим разнообразием данных, должны быть автоматизированы. Вы можете создавать автотесты на основе данных, которые позволяют сэкономить время. Тестирование на основе данных позволяет вам изменять только данные, а не тестовый сценарий, чтобы получить разные результаты. Такие тесты очень многоразовые и эффективные.
🧰 Автоматизируйте тесты, требующие нескольких конфигураций
Утомительно проводить тесты в различных операционных системах и комбинациях браузеров. Также, автоматизация таких тестов может помочь сэкономить время, если запускать их:
📌 в различных средах, просто изменив переменную среды.
📌 параллельно, что сокращает время, необходимое для выполнения.
🧰 Автоматизируйте ваши тесты производительности
Это позволяет избежать сбоев при запуске, и снижения производительности. Автоматизация может помочь вам легко сгенерировать тысячи пользователей, чтобы увидеть, как приложение отреагирует.
🔴 Данный список представляет из себя отправную точку, если вы думаете, как интегрировать автоматизацию в текущий рабочий процесс QA.
🔥5
Протокол SSH и его прелести
Существует несколько сетевых протоколов, каждый из которых занимает свое место в индустрии 🏭
SSH или Secure Shell это сетевой протокол для удаленного управления операционной системой по зашифрованным каналам. 🔗
Какие возможности дает SSH?
🗂 Удаленная работа с файлами, директориями и базами данных.
📲 Удаленный запуск команд и приложений.
🔐 Проксирование и шифрование трафика.
Звучит недурно, но как именно он может использоваться?
🌐 Системное администрирование сетей, неудивительно видя основные достоинства протокола.
📫 Защищенная передача больших данных, например перенос проектов между серверами хостинг провайдеров.
🥸 Удаленная работа с системами, требующих высоко защиты пользовательских данных, от почтовых систем до онлайн игр.
Отлично, но какие решения есть для его использования?
🗄 SSH сервер 🗄
BSD
📌 OpenSSH отличный открытый бесплатный OpenSSH практически на все случаи жизни
Linux
📌 dropbear открытый и бесплатный, небольшой, но достаточно простой и совсем нетребовательный сервер SSH отлично работающий с терминалами POSIX
📌 OpenSSH все тот же открытый, бесплатный и универсальный OpenSSH доступен также на Linux, как и на все остальные платформы, а еще имеет встроенный клиент для Linux и MаcOS, но о клиентах чуть позже.
Windows
📌 WinSSHD немного олдскула для тех, кому вдруг понадобился SSH с поддержкой Windows 2000, XP, 2003, Vista, 2008 и 7.
📌 copssh платная, но достаточно мощное решение для SSH сервера с набором стандартных функций и дополнительных утилит для обеспечения безопасности и гибкой настройки. Также имеет и свой клиент.
📓 SSH клиент 📓
Linux/BSD
📌 OpenSSH - пожалуй, один из самых традиционных и топовых клиентов для Linux.
📌 Vinagre - отличный клиент, который поддерживает работу с GNOME
MS Windows
📌 PuTTY - особенно полезно, когда нужно подключиться по ssh с Windows к Linux.
📌 KiTTY - расширенная версия PuTTY, добавляющая еще больше функционала. Обе версии бесплатные и имеют открытые исходники.
📌 SecureCRT - мощный платный клиент корпоративного уровня, доступный на всех платформах и особенно популярный на Windows.
MacOS
📌 OpenSSH - бесплатный клиент с открытыми источниками и широкими возможностями, идет в комплекте с MacOS, однако требует JailBreak для iOS и iPadOS.
Android
📌 connectBot - отличный бесплатный клиент, позволяющий использовать оболочку на удаленном компьютере и безопасно передавать файлы.
Хотя задача SSH клиентов одна, их очень и очень много, с самым разным набором функционала и условиями использования.
Поэтому если вы хотите, чтобы мы сделали отдельный топ с подробным описанием, то дайте нам знать в комментариях 🤌
А мы желаем вам хорошего, продуктивного и безопасного дня ❤️
Существует несколько сетевых протоколов, каждый из которых занимает свое место в индустрии 🏭
SSH или Secure Shell это сетевой протокол для удаленного управления операционной системой по зашифрованным каналам. 🔗
Какие возможности дает SSH?
🗂 Удаленная работа с файлами, директориями и базами данных.
📲 Удаленный запуск команд и приложений.
🔐 Проксирование и шифрование трафика.
Звучит недурно, но как именно он может использоваться?
🌐 Системное администрирование сетей, неудивительно видя основные достоинства протокола.
📫 Защищенная передача больших данных, например перенос проектов между серверами хостинг провайдеров.
🥸 Удаленная работа с системами, требующих высоко защиты пользовательских данных, от почтовых систем до онлайн игр.
Отлично, но какие решения есть для его использования?
🗄 SSH сервер 🗄
BSD
📌 OpenSSH отличный открытый бесплатный OpenSSH практически на все случаи жизни
Linux
📌 dropbear открытый и бесплатный, небольшой, но достаточно простой и совсем нетребовательный сервер SSH отлично работающий с терминалами POSIX
📌 OpenSSH все тот же открытый, бесплатный и универсальный OpenSSH доступен также на Linux, как и на все остальные платформы, а еще имеет встроенный клиент для Linux и MаcOS, но о клиентах чуть позже.
Windows
📌 WinSSHD немного олдскула для тех, кому вдруг понадобился SSH с поддержкой Windows 2000, XP, 2003, Vista, 2008 и 7.
📌 copssh платная, но достаточно мощное решение для SSH сервера с набором стандартных функций и дополнительных утилит для обеспечения безопасности и гибкой настройки. Также имеет и свой клиент.
📓 SSH клиент 📓
Linux/BSD
📌 OpenSSH - пожалуй, один из самых традиционных и топовых клиентов для Linux.
📌 Vinagre - отличный клиент, который поддерживает работу с GNOME
MS Windows
📌 PuTTY - особенно полезно, когда нужно подключиться по ssh с Windows к Linux.
📌 KiTTY - расширенная версия PuTTY, добавляющая еще больше функционала. Обе версии бесплатные и имеют открытые исходники.
📌 SecureCRT - мощный платный клиент корпоративного уровня, доступный на всех платформах и особенно популярный на Windows.
MacOS
📌 OpenSSH - бесплатный клиент с открытыми источниками и широкими возможностями, идет в комплекте с MacOS, однако требует JailBreak для iOS и iPadOS.
Android
📌 connectBot - отличный бесплатный клиент, позволяющий использовать оболочку на удаленном компьютере и безопасно передавать файлы.
Хотя задача SSH клиентов одна, их очень и очень много, с самым разным набором функционала и условиями использования.
Поэтому если вы хотите, чтобы мы сделали отдельный топ с подробным описанием, то дайте нам знать в комментариях 🤌
А мы желаем вам хорошего, продуктивного и безопасного дня ❤️
🔥5
Хотите начать смотреть сериалы на английском, но не знаете, с чего начать? Мы подготовили небольшой список, который поможет вам с выбором 📺
@extra (Экстр@), [Elementary👶]
Эта серия британских обучающих иностранным языкам сериалов. И является идеальным вариантом, если вы только знакомитесь с языком и любите ситкомы.
Сюжет: Две девушки — Бриджит и Энни, снимают комнату в Лондоне по соседству с беззаботным актером Ником. В их компанию вливается Гектор — наивный аргентинец, который задает основную динамику сериала, потому что плохо говоритпо-английск. Все 30 серий друзья будут пережить самые разные житейские приключения, которые не дадут вам заскучать.
The Hollow (Лощина), [Elementary👶]
Анимационный сериал канадского производства. Главная особенность этого сериала заключается в том, что персонажи говорят четко и не слишком быстро, а также используют простой для понимания сленг.
Сюжет: Три главных героя — Адам, Кай и Мира просыпаются в незнакомом подземном бункере. Их цель — выбраться из него и отыскать дорогу домой. Но на пути их поджидают обитатели странных городов, сложные загадки, таинственные временные порталы.
The Umbrella Academy (Академия Амбрелла), [Pre-Intermediate/Intermediate🧒]
Один из популярных супергеройских сериалов последнего времени, который пропитан иронией. Персонажи харизматичны и легко запоминаются. А их короткие и простые диалоги, а также доступная для понимания речь актеров — прекрасный вариант для тех, кто хочет посмотреть сериал на английском.
Сюжет: В центре истории семья, в которой все дети обладают сверхспособностями. А их главная цель — раскрыть тайну смерти своего приемного отца-миллиардера. Помимо этого, им нужно предотвратить грядущий конец света.
Настоящий детектив / True Detective [Pre-Intermediate/Intermediate🧒]
Если вам нравятся вдумчивые и атмосферные сериалы, то этот вариант для вас. Он наполнен мрачной философией, бытовыми драмами, цинизмом. Отлично подойдет желающим узнать сложную лексику.
Сюжет: Все начинается с убийства, которое предстоит распутать паре детективов: Расту и Мартину. Серии заманивают зрителя в мрачный и антуражный мир тем, что в сериях затрагиваются 3 временных пласта, где оба героя разного возраста.
«Desperate Housewives» [Intermediate👨]
Уже с самых первых кадров «Отчаянные домохозяйки» пленяют красотой фешенебельной улицы Вистериа Лэйн, основным местом событий телесаги. После просмотра этого сериала вы точно запомните необходимые фразы для small talk: все постоянно спрашивают, как у кого дела, как дети, школы, работа. Неизбежно прилипают и сами фразы, и понимание того, что в англоязычной культуре small talk – обязателен.
Сюжет: В центре событий четыре современные домохозяйки, которые живут в тихом пригороде и отчаянно ищут личного счастья. Однако внезапное самоубийство подруги Мэри Элис Янг оставляет всех в недоумении. Поиски ответов приводят еще к большим загадкам.
The Crown (Корона) [Upper Intermediate/Advanced👴]
Сериал отлично подходит тем, кто хочет услышать аутентичный «королевский» английский и пополнить словарный запас историческими терминами.
Сюжет: В сериале представлены важные события из жизни королевы Великобритании Елизаветы II. Временной период от ее замужества в 1947 году и до наших дней.
Billions (Миллиарды) [Upper Intermediate/Advanced👴]
Данный сериал прекрасно подойдет тем, кто хочет освоить финансовую и биржевую лексику. Так и тем, кто хочет получить удовольствие от хорошего сериала.
Сюжет: Все разворачивается вокруг американского миллиардера, чей бизнес процветает во время кризиса.
Этот список не может быть полным без ваших комментариев 😉 Ждем ваших рекомендаций.
@extra (Экстр@), [Elementary👶]
Эта серия британских обучающих иностранным языкам сериалов. И является идеальным вариантом, если вы только знакомитесь с языком и любите ситкомы.
Сюжет: Две девушки — Бриджит и Энни, снимают комнату в Лондоне по соседству с беззаботным актером Ником. В их компанию вливается Гектор — наивный аргентинец, который задает основную динамику сериала, потому что плохо говоритпо-английск. Все 30 серий друзья будут пережить самые разные житейские приключения, которые не дадут вам заскучать.
The Hollow (Лощина), [Elementary👶]
Анимационный сериал канадского производства. Главная особенность этого сериала заключается в том, что персонажи говорят четко и не слишком быстро, а также используют простой для понимания сленг.
Сюжет: Три главных героя — Адам, Кай и Мира просыпаются в незнакомом подземном бункере. Их цель — выбраться из него и отыскать дорогу домой. Но на пути их поджидают обитатели странных городов, сложные загадки, таинственные временные порталы.
The Umbrella Academy (Академия Амбрелла), [Pre-Intermediate/Intermediate🧒]
Один из популярных супергеройских сериалов последнего времени, который пропитан иронией. Персонажи харизматичны и легко запоминаются. А их короткие и простые диалоги, а также доступная для понимания речь актеров — прекрасный вариант для тех, кто хочет посмотреть сериал на английском.
Сюжет: В центре истории семья, в которой все дети обладают сверхспособностями. А их главная цель — раскрыть тайну смерти своего приемного отца-миллиардера. Помимо этого, им нужно предотвратить грядущий конец света.
Настоящий детектив / True Detective [Pre-Intermediate/Intermediate🧒]
Если вам нравятся вдумчивые и атмосферные сериалы, то этот вариант для вас. Он наполнен мрачной философией, бытовыми драмами, цинизмом. Отлично подойдет желающим узнать сложную лексику.
Сюжет: Все начинается с убийства, которое предстоит распутать паре детективов: Расту и Мартину. Серии заманивают зрителя в мрачный и антуражный мир тем, что в сериях затрагиваются 3 временных пласта, где оба героя разного возраста.
«Desperate Housewives» [Intermediate👨]
Уже с самых первых кадров «Отчаянные домохозяйки» пленяют красотой фешенебельной улицы Вистериа Лэйн, основным местом событий телесаги. После просмотра этого сериала вы точно запомните необходимые фразы для small talk: все постоянно спрашивают, как у кого дела, как дети, школы, работа. Неизбежно прилипают и сами фразы, и понимание того, что в англоязычной культуре small talk – обязателен.
Сюжет: В центре событий четыре современные домохозяйки, которые живут в тихом пригороде и отчаянно ищут личного счастья. Однако внезапное самоубийство подруги Мэри Элис Янг оставляет всех в недоумении. Поиски ответов приводят еще к большим загадкам.
The Crown (Корона) [Upper Intermediate/Advanced👴]
Сериал отлично подходит тем, кто хочет услышать аутентичный «королевский» английский и пополнить словарный запас историческими терминами.
Сюжет: В сериале представлены важные события из жизни королевы Великобритании Елизаветы II. Временной период от ее замужества в 1947 году и до наших дней.
Billions (Миллиарды) [Upper Intermediate/Advanced👴]
Данный сериал прекрасно подойдет тем, кто хочет освоить финансовую и биржевую лексику. Так и тем, кто хочет получить удовольствие от хорошего сериала.
Сюжет: Все разворачивается вокруг американского миллиардера, чей бизнес процветает во время кризиса.
Этот список не может быть полным без ваших комментариев 😉 Ждем ваших рекомендаций.
👍7🔥2👎1
Copilot новый помощник или восстания машин?
Наверняка вас не обошла стороной новость и Copilot, который помогает в написании кода.
Он основан на Codex OpenAI и обучался на огромной кодовой базе всего GitHub, в котором хранятся архивы более 70 млн разработчиков.
С помощью него можно автоматически заполнять повторяющийся код, получать потенциальные решения и превращать комментарии в код и все это работает прямо в вашем редакторе кода.
Если в момент запуска инструмент уже умел удивлять, но все еще вызывал надменную ухмылку у большинства разработчиков, то к этому моменту многое изменилось.
Код, предложенный Copilot, уже составляет более 35% нового кода Github на Java и Python и данные показатели растут, а значит и удовлетворенность разработчиков данным инструментом тоже.
🤔 Стоит ли начинать бояться данного инструмента? Совсем нет!
Для тех кто боится искусственного интеллекта и всего, что с ним связанного, то Всемирный экономический форум прогнозирует, что к 2025 году ИИ заменит 85 млн рабочих мест во всем мире.
В то же время, он прогнозирует, что искусственный интеллект создаст более 97 млн других рабочих мест. Поэтому не нужно бояться изменений, нужно использовать их.
✍️ Сам Copilot не ставит перед собой цель заменить разработчиков, а избавить разработчиков от утомительных поисков нужного кода на Stack Overflow, Google и так далее.
👌 Вместо этого вы не выходя из редактора кода просто выбираете из ряда стандартных вариантов и если один из них вам подходит, то просто продолжаете писать код без прерываний.
☝️ Copilot не поможет в архитектурных решениях, уникальных решениях проприетарного кода и так далее.
☝️ Copilot не поможет начинающим разработчикам написать код за них, а поможет опытным разработчикам четко понимающих все используемые архитектуры и практики программирования.
Так что приобретайте фундаментальные знания, прокачивайте междисциплинарные навыки и работайте над готовностью замечать и использовать все новые и новые изменения в нашем мире.
❓Используйте ли вы Copilot уже сейчас и насколько вы довольные его работой в вашем случае? Насколько большие у него перспективы и насколько глубоки его недостатки?
❤️ Нам очень интересно узнать ваше мнение, ждем вас в комментариях 🤌
Наверняка вас не обошла стороной новость и Copilot, который помогает в написании кода.
Он основан на Codex OpenAI и обучался на огромной кодовой базе всего GitHub, в котором хранятся архивы более 70 млн разработчиков.
С помощью него можно автоматически заполнять повторяющийся код, получать потенциальные решения и превращать комментарии в код и все это работает прямо в вашем редакторе кода.
Если в момент запуска инструмент уже умел удивлять, но все еще вызывал надменную ухмылку у большинства разработчиков, то к этому моменту многое изменилось.
Код, предложенный Copilot, уже составляет более 35% нового кода Github на Java и Python и данные показатели растут, а значит и удовлетворенность разработчиков данным инструментом тоже.
🤔 Стоит ли начинать бояться данного инструмента? Совсем нет!
Для тех кто боится искусственного интеллекта и всего, что с ним связанного, то Всемирный экономический форум прогнозирует, что к 2025 году ИИ заменит 85 млн рабочих мест во всем мире.
В то же время, он прогнозирует, что искусственный интеллект создаст более 97 млн других рабочих мест. Поэтому не нужно бояться изменений, нужно использовать их.
✍️ Сам Copilot не ставит перед собой цель заменить разработчиков, а избавить разработчиков от утомительных поисков нужного кода на Stack Overflow, Google и так далее.
👌 Вместо этого вы не выходя из редактора кода просто выбираете из ряда стандартных вариантов и если один из них вам подходит, то просто продолжаете писать код без прерываний.
☝️ Copilot не поможет в архитектурных решениях, уникальных решениях проприетарного кода и так далее.
☝️ Copilot не поможет начинающим разработчикам написать код за них, а поможет опытным разработчикам четко понимающих все используемые архитектуры и практики программирования.
Так что приобретайте фундаментальные знания, прокачивайте междисциплинарные навыки и работайте над готовностью замечать и использовать все новые и новые изменения в нашем мире.
❓Используйте ли вы Copilot уже сейчас и насколько вы довольные его работой в вашем случае? Насколько большие у него перспективы и насколько глубоки его недостатки?
❤️ Нам очень интересно узнать ваше мнение, ждем вас в комментариях 🤌
🔥6👍3
С Днем Программиста!!! 🥳
📜 Программист (от древнегреческого про- пред, и грамма - писание, програма - расписание театральных представлений) - человек, который умеет писать компьютерные программы, компьютерные сети, чинить компьютерное оборудование типа принтеров и знать обо всех компьютерных играх.
😎 Этой удивительной професии уже несколько десятков лет и в течение этого времени программисты действительно стали главными авторами мирового театра.
🦾 Вы привносите в наш мир то, что меняет наш образ жизни, наш образ мышления, наше понимание прошлого и будущего.
❤️ Мы бесконечно благодарны вам за вашу страсть, энтузиазм и инициативы, которые делают лучше жизнь каждого из нас.
С Днем Программиста всех, от начинающих тестеров до самых саблезубых инженеров!
📜 Программист (от древнегреческого про- пред, и грамма - писание, програма - расписание театральных представлений) - человек, который умеет писать компьютерные программы, компьютерные сети, чинить компьютерное оборудование типа принтеров и знать обо всех компьютерных играх.
😎 Этой удивительной професии уже несколько десятков лет и в течение этого времени программисты действительно стали главными авторами мирового театра.
🦾 Вы привносите в наш мир то, что меняет наш образ жизни, наш образ мышления, наше понимание прошлого и будущего.
❤️ Мы бесконечно благодарны вам за вашу страсть, энтузиазм и инициативы, которые делают лучше жизнь каждого из нас.
С Днем Программиста всех, от начинающих тестеров до самых саблезубых инженеров!
🎉28
Код-ревью — это неотъемлемая часть процесса разработки, поэтому очень важно заложить принципы грамотного код-ревью. Это поможет вам с одной стороны, научиться писать хороший код быстрее, а с другой — делать в нём меньше ошибок.
Зачем нужен код-ревью?
Код-ревью — это процесс проверки кода, который позволяет:
▪️ выявить ошибки, пропуски, уязвимости и стилистические недочеты.
▪️ улучшить читаемость и понятность кода, архитектурные решения.
Какие существуют принципы хорошего код-ревью?
▪️ Взаимоуважение. Помните, что вы оцениваете код, а не человека. Это база, из которой складывается здоровая атмосфера в команде и эффективная работа.
▪️ Будьте объективны. Постарайтесь избегать комментариев, которые состоят только из субъективных оценок. Аргументацию стоит писать уважительно и ссылаться на источники, документацию, материалы, которые помогут разработчику быстрее решить проблему.
▪️ Не давайте готовое решение, так как ваша задача — подсказать, как ещё можно подступиться к задаче, какие инструменты можно использовать.
▪️ Больше общайтесь с командой, потому что некоторые моменты проще объяснить во время созвона или личной встречи. Лучшая команда — та, которая умеет эффективно общаться.
▪️ Учитесь в процессе код-ревью. Например, если в Pull Request для обсуждения изменений придут большие профессионалы с полярными мнениями, то приготовьтесь узнать много нового.
▪️ Помните, что вы несете такую же ответственность за будущую корректную работу кода, как и его автор. Учитывайте, что от ваших комментариев зависит, насколько качественно человек выполнит свою работу.
▪️ От первой полученной обратной связи зависит, как человек будет работать в дальнейшем, поэтому постарайтесь внимательно относиться к новичкам. Потому что может оказаться, что от этого зависит, останется ли он вообще с вами. Чем ответственнее вы и ваши коллеги относятся к код-ревью, тем быстрее будут расти новички как профессионалы.
Когда не нужно проводить код-ревью?
Вы можете отказаться от код-ревью в конкретном случае, если:
▪️ Отсутствует специалист, обладающий экспертизой в области специфики задачи;
▪️ Изменения незначительны, не требующие проверки.
Вы можете отказаться от постоянной практики код-ревью, если:
▪️ Все разработчики имеют одинаковый уровень погружения в контекст;
▪️ Были приняты другие практики проверки кода (например, парное программирование);
▪️ Практика в вашем случае показала свою неэффективность.
Как часто вы проводите код-ревью? А возможно, у вас есть чек-лист хорошего ревью? Расскажите в комментариях 👇
Зачем нужен код-ревью?
Код-ревью — это процесс проверки кода, который позволяет:
▪️ выявить ошибки, пропуски, уязвимости и стилистические недочеты.
▪️ улучшить читаемость и понятность кода, архитектурные решения.
Какие существуют принципы хорошего код-ревью?
▪️ Взаимоуважение. Помните, что вы оцениваете код, а не человека. Это база, из которой складывается здоровая атмосфера в команде и эффективная работа.
▪️ Будьте объективны. Постарайтесь избегать комментариев, которые состоят только из субъективных оценок. Аргументацию стоит писать уважительно и ссылаться на источники, документацию, материалы, которые помогут разработчику быстрее решить проблему.
▪️ Не давайте готовое решение, так как ваша задача — подсказать, как ещё можно подступиться к задаче, какие инструменты можно использовать.
▪️ Больше общайтесь с командой, потому что некоторые моменты проще объяснить во время созвона или личной встречи. Лучшая команда — та, которая умеет эффективно общаться.
▪️ Учитесь в процессе код-ревью. Например, если в Pull Request для обсуждения изменений придут большие профессионалы с полярными мнениями, то приготовьтесь узнать много нового.
▪️ Помните, что вы несете такую же ответственность за будущую корректную работу кода, как и его автор. Учитывайте, что от ваших комментариев зависит, насколько качественно человек выполнит свою работу.
▪️ От первой полученной обратной связи зависит, как человек будет работать в дальнейшем, поэтому постарайтесь внимательно относиться к новичкам. Потому что может оказаться, что от этого зависит, останется ли он вообще с вами. Чем ответственнее вы и ваши коллеги относятся к код-ревью, тем быстрее будут расти новички как профессионалы.
Когда не нужно проводить код-ревью?
Вы можете отказаться от код-ревью в конкретном случае, если:
▪️ Отсутствует специалист, обладающий экспертизой в области специфики задачи;
▪️ Изменения незначительны, не требующие проверки.
Вы можете отказаться от постоянной практики код-ревью, если:
▪️ Все разработчики имеют одинаковый уровень погружения в контекст;
▪️ Были приняты другие практики проверки кода (например, парное программирование);
▪️ Практика в вашем случае показала свою неэффективность.
Как часто вы проводите код-ревью? А возможно, у вас есть чек-лист хорошего ревью? Расскажите в комментариях 👇
🔥2
Поговорим сегодня про Kafka и NiFi, рассмотрим их достоинства и недостатки, а также предложим альтернативные инструменты, которые могут помочь вам в работе.
🔴 Kafka — это Message Broker — некая очередь, через которую можно отправлять сообщения, на которые подписываются другие приложения и считывают их.
Плюсы и минусы Kafka
✔️ Это RPS на одну ноду.
✔️ In-Memory Message Broker.
✔️ Работает по принципу распределенного лога .
✔️ Легко масштабируется 2m RPS+.
✔️ Отказоустойчивая.
✔️ Персистентность сообщений.
✔️ Много дополнительных плагинов и расширений, огромные возможности кастомизации.
✖️ Необходимо собирать индивидуальное решение.
✖️ Нужно самому докручивать мониторинг и админку. Отсутствуют Пром стандарт решения.
✖️ Маленький функционал из коробки. Принцип "простота в угоду быстродействия".
✖️ Большинство хороших админок и плагинов платные.
Популярные аналоги Kafka 🙌
RabbitMQ
✔️Популяризовал бинарный протокол AMPQ. А также представляет собой достаточно комплексный готовый инструмент, то есть вы можете его запустить и из коробки сразу пойдёт минимальный необходимый функционал.
✖️Сложно масштабировать, кластеризовать, так как кластеры периодически могут зависать, как и очереди внутри них. Его нельзя сделать в полной мере отказоустойчивым.
Apache ActiveMQ Artemis
✔️ Сложная логика фильтрации, которую ActiveMQ готов брать на себя.
✔️ Способно к масштабированию и отказоустойчивости из коробки.
✖️ Инструмент можно использовать только на языке Java.
✖️ Поддерживает AMQP, но из-за этого теряются все возможности JMS.
IBM MQ
✔️Популярное решение за счёт коммерческой поддержки от самого IBM.
✔️Решение умеет масштабироваться, собираться в кластеры.
✖️ Достаточно старое решение на API JMS.
Apache Pulsar
✔️ Относительно новое решение.
✔️ Может стать заменой Apache ActiveMQ в будущем, потому что имеет скорость гораздо большую чем у ActiveMQ Artemis и богатый встроенный функционал из коробки.
✖️ Упрощенное, нативное масштабирование, производительность на ноду ниже чем в Kafka.
🔴 NiFi — это ETL (Extract, Transform, Load) инструмент, который используется для сбора данных из разных источников и загрузки в какое-то единое место в базу данных.
Плюсы и минусы NiFi
✔️ ETL инструмент, у которого огромное количество адаптеров и решений из коробки.
✔️ Умеет хорошо масштабироваться, работать кластерами, принимать входящие запросы
✔️ Все можно настроить в GUI и неплохо держит нагрузку с точки зрения энтерпрайз-решений.
✔️ Хорошо масштабируется.
✖️ Некоторые неудобства эксплуатации.
✖️ Неудобный механизм логгирования.
✖️ Чувствительность к отключению узла от кластера.
✖️ Проблема с сохранением состояния в случае переключения основного узла.
✖️ Неоднозначность гарантированной доставки сообщений.
Аналоги NiFi 🙌
Apache Camel
✔️ Мощный инструмент.
✖️ Высокий порог вхождения.
✖️ Не получается быстро докручивать pipleline, приходится тратить значительные объёмы времени.
✖️ Приходится докручивать разного рода логику, дописывать на Java.
✖️ Недостаточно модулей и инструментов из коробки.
Apache Airflow
✔️ Масштабируется довольно хорошо.
✖️ Логику нужно писать на Python.
✖️ Нет полноценного GUI.
AWS Step Functions
✔️ Имеет большое количество готовых решений.
✖️ Признан одним из самых дорогих решений среди облаков открытого доступа.
Luigi
✔️ Есть GUI для мониторинга.
✔️ Из коробки имеет очень много возможностей.
✖️ Большую часть логики нужно писать на Python.
✖️ Плохо масштабируется.
В данном посте мы рассмотрели две технологии. Поэтому перед тем как что-то выбрать, внимательно ознакомьтесь с плюсами и минусами. Каким инструментом пользуетесь вы? Какой из них закрывает ваши потребности? 💬
🔴 Kafka — это Message Broker — некая очередь, через которую можно отправлять сообщения, на которые подписываются другие приложения и считывают их.
Плюсы и минусы Kafka
✔️ Это RPS на одну ноду.
✔️ In-Memory Message Broker.
✔️ Работает по принципу распределенного лога .
✔️ Легко масштабируется 2m RPS+.
✔️ Отказоустойчивая.
✔️ Персистентность сообщений.
✔️ Много дополнительных плагинов и расширений, огромные возможности кастомизации.
✖️ Необходимо собирать индивидуальное решение.
✖️ Нужно самому докручивать мониторинг и админку. Отсутствуют Пром стандарт решения.
✖️ Маленький функционал из коробки. Принцип "простота в угоду быстродействия".
✖️ Большинство хороших админок и плагинов платные.
Популярные аналоги Kafka 🙌
RabbitMQ
✔️Популяризовал бинарный протокол AMPQ. А также представляет собой достаточно комплексный готовый инструмент, то есть вы можете его запустить и из коробки сразу пойдёт минимальный необходимый функционал.
✖️Сложно масштабировать, кластеризовать, так как кластеры периодически могут зависать, как и очереди внутри них. Его нельзя сделать в полной мере отказоустойчивым.
Apache ActiveMQ Artemis
✔️ Сложная логика фильтрации, которую ActiveMQ готов брать на себя.
✔️ Способно к масштабированию и отказоустойчивости из коробки.
✖️ Инструмент можно использовать только на языке Java.
✖️ Поддерживает AMQP, но из-за этого теряются все возможности JMS.
IBM MQ
✔️Популярное решение за счёт коммерческой поддержки от самого IBM.
✔️Решение умеет масштабироваться, собираться в кластеры.
✖️ Достаточно старое решение на API JMS.
Apache Pulsar
✔️ Относительно новое решение.
✔️ Может стать заменой Apache ActiveMQ в будущем, потому что имеет скорость гораздо большую чем у ActiveMQ Artemis и богатый встроенный функционал из коробки.
✖️ Упрощенное, нативное масштабирование, производительность на ноду ниже чем в Kafka.
🔴 NiFi — это ETL (Extract, Transform, Load) инструмент, который используется для сбора данных из разных источников и загрузки в какое-то единое место в базу данных.
Плюсы и минусы NiFi
✔️ ETL инструмент, у которого огромное количество адаптеров и решений из коробки.
✔️ Умеет хорошо масштабироваться, работать кластерами, принимать входящие запросы
✔️ Все можно настроить в GUI и неплохо держит нагрузку с точки зрения энтерпрайз-решений.
✔️ Хорошо масштабируется.
✖️ Некоторые неудобства эксплуатации.
✖️ Неудобный механизм логгирования.
✖️ Чувствительность к отключению узла от кластера.
✖️ Проблема с сохранением состояния в случае переключения основного узла.
✖️ Неоднозначность гарантированной доставки сообщений.
Аналоги NiFi 🙌
Apache Camel
✔️ Мощный инструмент.
✖️ Высокий порог вхождения.
✖️ Не получается быстро докручивать pipleline, приходится тратить значительные объёмы времени.
✖️ Приходится докручивать разного рода логику, дописывать на Java.
✖️ Недостаточно модулей и инструментов из коробки.
Apache Airflow
✔️ Масштабируется довольно хорошо.
✖️ Логику нужно писать на Python.
✖️ Нет полноценного GUI.
AWS Step Functions
✔️ Имеет большое количество готовых решений.
✖️ Признан одним из самых дорогих решений среди облаков открытого доступа.
Luigi
✔️ Есть GUI для мониторинга.
✔️ Из коробки имеет очень много возможностей.
✖️ Большую часть логики нужно писать на Python.
✖️ Плохо масштабируется.
В данном посте мы рассмотрели две технологии. Поэтому перед тем как что-то выбрать, внимательно ознакомьтесь с плюсами и минусами. Каким инструментом пользуетесь вы? Какой из них закрывает ваши потребности? 💬
👍5❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Проект после слияния Pull Request 🌝
🤣13😁6👍1🥰1
Что такое новый сайдчейн Cardano EVM и почему он так важен для мира криптовалют?
В период пандемии остро встал вопрос снижения доверия граждан к финансовой системе. Хорошей альтернативой могли бы стать криптовалюты, но отсутствие прямого взаимодействия между блокчейнами, вынуждает людей продолжать пользоваться централизованной фиатной валютой.
Временным компромиссом, призваны решить проблему недоверия, были биржы. Альтернатива была найдена в одной из экосистем блокчейна. Это среда EVM (Ethereum Virtual Machine) 🦾
Данный децентрализованный вычислительный механизм позволяет использовать разные алгоритмы консенсуса, соответствующие потребностям разных блокчейнов, и передаёт EVM-совместимые смарт-контракты, активы и данные между блокчейнами. Теперь межсетевые транзакции сможет совершать и Cardano.
EVM — это программная платформа, которую разработчики могут использовать для создания децентрализованных приложений (dApps) на Ethereum. Если посмотреть с другой стороны, то EVM можно представить как всемирный децентрализованный компьютер с собственным постоянным хранилищем данных и независимыми узлами по всему миру, взаимодействующими друг с другом.
Таким образом, присоединившись к использованию EVM, Cardano открыли для себя возможность переносить смарт-контракты в сеть Ethereum. Кроме того, разворачивать совместимые с EVM контракты прямо в основной сети Cardano.
Теперь сайдчейн Cardano EVM обеспечивает:
📌 Совместимость экосистемы Cardano с хардфорками и инструментами разработки Ethereum, а также с фреймворком Web3.js.
📌 Безопасность, за счет того, что случайным образом выбирается валидаторов для создания и проверки блоков основной цепи и гарантируя их сменяемость через определённый интервал времени.
📌 Использование протокола консенсуса Byzantine Fault Tolerance (OBFT) — это реализация Ouroboros, которая позволяет обрабатывать транзакции на полной скорости сети без высоких комиссий за газ и экономить электричество.
Изначально Cardano создавалась с целью предоставить людям альтернативную финансовую инфраструктуру. Сайдчейн EVM, запущенный в тестнет Cardano в июне 2022 года, превращает эту сеть в децентрализованную платформу данных. Таким образом, блокчейны могут «перетекать» друг в друга без посредников.
Если команда разработчиков достигнет цели, то Cardano будет устойчивой, инклюзивной, безопасной, стабильной, децентрализованной экосистемой данных. Внутри данной системы у всех пользователей будут равные права и возможности владения инфраструктурой и принятия решений в отношении неё без участия посредников или политических лидеров. Таким образом, может случиться переход блокчейна и криптовалюты из маргинальной сферы в общественную. Можно сказать, что запуск Cardano EVM сайдчейна представляет из себя огромный шаг на пути к новым возможностям.
В период пандемии остро встал вопрос снижения доверия граждан к финансовой системе. Хорошей альтернативой могли бы стать криптовалюты, но отсутствие прямого взаимодействия между блокчейнами, вынуждает людей продолжать пользоваться централизованной фиатной валютой.
Временным компромиссом, призваны решить проблему недоверия, были биржы. Альтернатива была найдена в одной из экосистем блокчейна. Это среда EVM (Ethereum Virtual Machine) 🦾
Данный децентрализованный вычислительный механизм позволяет использовать разные алгоритмы консенсуса, соответствующие потребностям разных блокчейнов, и передаёт EVM-совместимые смарт-контракты, активы и данные между блокчейнами. Теперь межсетевые транзакции сможет совершать и Cardano.
EVM — это программная платформа, которую разработчики могут использовать для создания децентрализованных приложений (dApps) на Ethereum. Если посмотреть с другой стороны, то EVM можно представить как всемирный децентрализованный компьютер с собственным постоянным хранилищем данных и независимыми узлами по всему миру, взаимодействующими друг с другом.
Таким образом, присоединившись к использованию EVM, Cardano открыли для себя возможность переносить смарт-контракты в сеть Ethereum. Кроме того, разворачивать совместимые с EVM контракты прямо в основной сети Cardano.
Теперь сайдчейн Cardano EVM обеспечивает:
📌 Совместимость экосистемы Cardano с хардфорками и инструментами разработки Ethereum, а также с фреймворком Web3.js.
📌 Безопасность, за счет того, что случайным образом выбирается валидаторов для создания и проверки блоков основной цепи и гарантируя их сменяемость через определённый интервал времени.
📌 Использование протокола консенсуса Byzantine Fault Tolerance (OBFT) — это реализация Ouroboros, которая позволяет обрабатывать транзакции на полной скорости сети без высоких комиссий за газ и экономить электричество.
Изначально Cardano создавалась с целью предоставить людям альтернативную финансовую инфраструктуру. Сайдчейн EVM, запущенный в тестнет Cardano в июне 2022 года, превращает эту сеть в децентрализованную платформу данных. Таким образом, блокчейны могут «перетекать» друг в друга без посредников.
Если команда разработчиков достигнет цели, то Cardano будет устойчивой, инклюзивной, безопасной, стабильной, децентрализованной экосистемой данных. Внутри данной системы у всех пользователей будут равные права и возможности владения инфраструктурой и принятия решений в отношении неё без участия посредников или политических лидеров. Таким образом, может случиться переход блокчейна и криптовалюты из маргинальной сферы в общественную. Можно сказать, что запуск Cardano EVM сайдчейна представляет из себя огромный шаг на пути к новым возможностям.
🔥2
Kubernetes это одна из топовых платформ для автоматизации развертывания, масштабирования и координации контейнеров.
❗Если вы слышите о Kubernetes впервые, то при знании английского, мы рекомендуем ознакомиться с нашей статьей.
Или же с любой другой статьей на русском, поскольку Kubernetes это открытое и свободное решение, отлично показывающее себя в работе и совершенно точно заслуживающее внимания.
А для тех, кто уже пользуется Kubernetes кратко рассказываем обо всех нововведениях:
Основной фокус релиза в стабилизации CSI Migration, который заключался в отказе от встроенных плагинов от AWS до Portwox. Здесь мы получили три миграции, а именно Core CSI, плагины GCE PD и AWS EBS.
В этом релизе была произведена работа над другими фичами, в разной степени готовности от Alpha до Beta и Stable.
📍Alpha
- Forensic Container Checkpointing
- Kubelet OpenTelemetry tracing
- Pod sandbox ready condition
- CPU Manager policy: socket alignment
- NodeExpansion secret
- Reconcile default StorageClass in PVCs
- SELinux relabeling using mount options
- Take taints/tolerations into consideration when calculating PodTopologySpread
- Respect PodTopologySpread after rolling upgrades
- Cleaning up IPTables Chain Ownership
- Multiple ClusterCIDRs
- Auto-refreshing Official CVE Feed
- KMS v2 Improvements
- Retriable and non-retriable Pod failures for Jobs
📍Beta
- Ephemeral storage quotas
- Add configurable grace period to probes
- Seccomp by default
- CSI driver migration для томов Portworx и vSphere
- Min domains in PodTopologySpread
- Reserve Service IP Ranges For Dynamic and Static IP Allocation
- CRD Validation Expression Language
- Server Side Unknown Field Validation
- TimeZone support in CronJob
📍Stable
- Ephemeral containers
- Cgroup v2
- Local ephemeral storage resource management
- CSI Ephemeral volumes
- Graduate the kube-scheduler ComponentConfig to GA
- NetworkPolicy port range
- MaxSurge support for DaemonSets
- Add minReadySeconds to Statefulsets
- Identify Windows pods at API admission level authoritatively
- PodSecurity admission (PodSecurityPolicy replacement)
В новой версии Kubernetes некоторые фичи были изменены или удалены, а именно:
- Флаг --service-account-api-audiences заменен на --api-audiences
- Удалены неиспользуемые флаги в kubectl run
- Ряд аннотаций seccomp
- Удален контроллер PodSecurityPolicy
- Удалены встроенные плагины томов GlusterFS, flocker, quobyte, storageos
- Удалена версии VSphere версии ниже 7.0 U2
- Удалена поддержка Windows HNS v1 APIs для Windows winkernel Kube-proxy
Нравится ли вам направление, в котором развивается Kubernetes? Давайте обсудим это в комментариях! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6⚡2🤔1
Всем привет! Сегодня у нас важный опрос на повестке. Просим наших подписчиков ответить на вопрос «Как вы оцениваете свой уровень подготовки и профессионализма?» Выберите один из вариантов ниже:
Anonymous Poll
53%
Junior
33%
Middle
14%
Senior