😴Вы ведь там не спите?! И правильно — ведь у нас для вас есть предложение отправиться в путешествие по техническому стеку Uber (аналогичный недавний пост про Netflix)
Иллюстрация основана на исследованиях из технических блогов Uber и проектов с открытым исходным кодом:
📌Фронтенд
• Веб: Fusion.js (React-фреймворк для создания надежных веб-приложений) + Visualization.js для сценариев геопространственной визуализации.
• Mobile: кроссплатформенная система RIB с архитектурой VIPER вместо MVC.
📌Бэкенд:
• Uber Gateway как динамическая конфигурация поверх Nginx. Сервис использует gRPC и QUIC для взаимодействия клиент-сервер, а также Apache Thrift для описания интерфейсов.
• Единое хранилище конфигураций под названием Flipr (позже измененное на UCDP), H3 в качестве библиотеки хранилища location-index, Spring Boot для сервисов на основе Java, uAct для архитектуры, управляемой событиями, и Cadence для оркестрации.
📌Базы данных: для OLTP используется DocStore, под капотом у которой MySQL + PostgreSQL + движок RocksDB.
📌Big data: управление осуществляется с помощью семейства Hadoop. В качестве форматов файлов используются Hudi и Parquet, а Alluxio — для кэширования. Данные временных рядов хранятся в Pinot и AresDB.
📌Обработка данных: Hive, Spark и фреймворк с открытым исходным кодом Marmaray + Apache Kafka и Apache Flink.
📌DevOps: Uber использует Monorepo с упрощенным окружением под названием devpod. CD управляется через Netflix Spinnaker, метрики передаются в uMetric, уведомления в uMonitor и базу данных observability M3.
🔗Подробнее
#инфографика #проектирование_систем
🐍 Дорожная карта Python-разработчика в 2023 году
Расскажем, что и в какой последовательности нужно изучить, чтобы стать Python-джуном и найти первую работу.
Читать статью
🍏Сегодня важный день для Apple. Вот полный список продуктов, которые должен презентовать Тим Кук:
🔥iPhone 15
🔥Apple Watch 9
🔥USB-C AirPods Pro
🔥iOS 17
🔥iPadOS 17
🔥watchOS 10
Помимо порта USB-C, титанового корпуса iPhone 15 и новой кнопки журналисты ожидают, что Тим Кук расскажет новые детали относительно Vision Pro.
👀Посмотреть по традиции можно на официальном YouTube-канале Apple.
💬Будете смотреть?
👍 — конечно, всегда смотрю
🥱 — нет
🤔 — ненавижу технику Apple и смотреть не собираюсь
#афиша
🚀 Не знаете, чем заняться вечером в понедельник? У нас есть несколько предложений: можно закрепить знания или выучить что-то новое.
👨🎓 А поможет в этом Code Basics, полностью открытый проект команды Хекслета, где любой разраб может как получить знания, так и сделать этот мир немного лучше, улучшив материалы курса.
📌 На платформе уже есть курсы по Java, JavaScript, Python, HTML, CSS, PHP, TypeScript, C, C#, Racket, Clojure, Ruby, Go и Elixir. А многие пока находятся в разработке.
🤩 Дерзайте
👀 Любопытная история компании, которая ввела метрики личной эффективности «в целях анализа и личностного совершенствования». Каждый работник измерял количество реализованных показателей, которые представляют ценность для бизнеса.
📈 У героя статьи Тима этот показатель всегда был равен нулю. Неделя за неделей... Со стороны руководства уже было принято решение уволить его.
🤝 Но у команды Тима было другое мнение. Вместо отслеживания показателей Тим проводил свой день, взаимодействуя с разными членами команды. При работе с менее опытными разработчиками он позволял им брать управление на себя, в то же время подталкивая к правильному решению.
🤩 С сеньорами его взаимодействие напоминало совместное творчество и спарринг. Одним словом, Тим не создавал ПО — он создавал команду, которая создавала ПО.
💡 В конечном итоге его оставили в команде и спокойно отказались от метрик личной продуктивности в пользу отчётности всей команды.
💬 А как в вашей компании/команде отслеживается продуктивность?
🤔 Многие линуксоиды и маководы знают про командную оболочку Zsh, которая используется непосредственно как интерактивная оболочка, либо как скриптовый интерпретатор.
Но мало кто использует все ее функции. Однако это и не требуется — фреймворк Oh My Zsh позволяет настраивать ее и кастомизировать с помощью тем и плагинов.
Если еще не пробовали, обязательно сделайте это прямо сейчас:
> sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Но данный пост немного не про это. Он про инструмент, который позволяет пойти дальше. В Oh My Zsh много алиасов, но их нужно учить и вспоминать.
💡И это не проблема! Ловите плагин, который анализирует введенные команды и рекомендует готовый алиас.
🤩GitHub
🤔Татьяна Дерягина, Mobile QA в СберМаркете, делится своей историей борьбы с выгоранием. Она про то, как ей понадобилось выгореть до углей, чтобы понять, что ворк-лайф баланс необходим. Причём не только, чтобы не остаться совсем без лайф, но и чтобы делать свою любимую ворк хорошо и с удовольствием.
🚀Мини-подборка советов на основе статьи:
📌Как понять, что что-то идёт не так? Это сравнимо с постоянным стрессом — поэтому вы не можете:
• расслабляться;
• радоваться;
• придумывать новое;
• планировать будущее и вообще смотреть на него широко открытыми глазами;
• расставлять приоритеты;
• заставить себя сделать необходимые задачи;
• концентрироваться;
• запоминать.
📌Как не попасть в зависимость от работы? Просто имейте это в виду:
1️⃣Работа никогда не закончится
2️⃣Незаменимых людей нет
3️⃣Ты не перестанешь расти, если будешь себя хвалить
4️⃣Не кори себя за «лень», когда чувствуешь усталость
5️⃣Не бойся просить о помощи
6️⃣Умерь свой перфекционизм
7️⃣Тайм-менеджмент реально помогает
📌Что делать, если ты уже выгорел?
⚠️Научиться отдыхать, но это еще не все.
А теперь по шагам: что делать, если выгорел👇
Отдохни 👉 Выйди на прогулку 👉 Вспомни, какие занятия доставляли тебе удовольствие 👉 Системно займись тайм-менеджментом 👉 Будь себе другом, относись к себе бережно и работай над отношениями, даже если эти отношения — с работой
#infographic #проектирование_систем
🚀 7 популярных сетевых протоколов на одной диаграмме: наглядная демонстрация от Alex Xu
#инструменты
☝️🚀 Рейтинг инструментов-альтернатив ChatGPT за последние 28 дней
🔝Топ-10:
1⃣ facebookresearch/llama
2⃣ ggerganov/llama.cpp
3⃣ nomic-ai/gpt4all
4⃣ lm-sys/FastChat
5⃣ hpcaitech/ColossalAI
6⃣ tatsu-lab/stanford_alpaca
7⃣ LAION-AI/Open-Assistant
8⃣ rustformers/llama-rs
9⃣ LC1332/Chinese-alpaca-lora
1⃣0⃣ Lightning-AI/lit-llama
#проектирование_систем
Как данные передаются между приложениями: пошаговое визуальное руководство от Alex Xu
#матчасть
🤩 Ловите запись фундаментального курса по алгоритмам и структурам данных от Степанова И. Д.
🔇 Звук местами хромает, но антураж жесткой математической теории все перебивает.
👨🎓 Динамическое программирование: часть один, два и три
👨🎓Простейшие алгоритмы на графах
👨🎓Эйлеровы циклы, мосты и точки сочленения
👨🎓BFS, алгоритмы Дейкстры и Форда-Беллмана
👨🎓Алгоритмы Флойда и А*
👨🎓Алгоритмы Прима, Крускала, Борувки
👨🎓Паросочетания
👨🎓Потоки: часть один и два
👨🎓Потоки минимальной стоимости
👨🎓Центры и центроиды
👨🎓Декомпозиция
👨🎓Link cut tree
❗«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих тем:
👉С++
👉Frontend
👉мобильная разработка
👉тестирование
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
- 35% на все курсы Proglib Academy
Дада, распродажа не просто так стартует в день знаний😉
🌟 Математика для Data Science – 19 490 рублей 29 990 рублей
🌟 Алгоритмы и структуры данных – 23 390 рублей 35 990 рублей
Переходите, активируйте пробную версию и начинайте учиться уже сейчас!
🔥 А еще вы можете активировать бесплатную демо-версию любого курса – https://proglib.io/w/e68e7e0b
А также посмотреть вебинары на интересующие вас темы 🙌🏻
#новости #чтопроисходит
🔥 Новости и обновления для разработчика: подборка за две недели
• Вышла новая версия системы контроля версий Git. Самые важные обновления читайте в нашей публикации.
• Анонсирован язык программирования Moonbit, оптимизированный для WebAssembly. Hongbo Zhang, основной разработчик языка ReScript, также участвовавший в разработке OCaml и Flow, представил новый ЯП Moonbit, специально оптимизированный для создания приложений, компилируемых в WebAssembly.
• В Microsoft Excel встроена поддержка языка Python. Его можно использовать для написания формул, работы с данными, анализа информации и формирования диаграмм.
• Состоялся релиз Firefox 117, а также в браузере развивается возможность импорта дополнений из других браузеров.
• Представлен новый релиз дистрибутива для этичных хакеров Kali Linux 2023.3.
• Опубликован релиз Rust 1.72, основанного проектом Mozilla, но в данный момент развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Также представлен первый стабильный выпуск проекта sudo-rs, развивающего написанные на Rust варианты утилит sudo и su.
• Ядру Linux исполнилось 32 года. 25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux. Также представлен релиз ядра Linux 6.5.
• Опубликован манифест OpenTF, цель которого — вернуть Terraform к лицензии с полностью открытым исходным кодом. Разработку планируется перевести под покровительство Linux Foundation для дальнейшего развития платформы на нейтральной площадке Cloud Native Computing Foundation при участии заинтересованных в проекте компаний и энтузиастов.
• Доступен релиз ОС Chrome OS 116, основанной на ядре Linux, системном менеджере upstart, инструментах ebuild/portage, открытых компонентах и веб-браузере Chrome 116.
🔝Топ-5 архитектурных паттернов ПО: на заметку разработчику
Интересна эта тема? Смотрите полное видео с объяснениями от Alex Xu.
📺Смотреть
На днях «Мамба» провела исследование под названием «Как стать девушкой айтишника». И вот что получилось: программисты ценят внутренний мир будущих партнерш — они выбирают девушек по характеру (важен для 50% респондентов) и общим интересам (42%).
Портрет идеальной девушки программиста: 30% хотели бы видеть рядом с собой девушку с «пышной» фигурой, цвет волос большинство предпочло рыжий (39,9%).
А вам какие девушки нравятся? Пишите в комментарии.
Кстати, чтобы найти себе рыжеволосую девушку с мягким характером, залетайте на «Мамбу» с промокодом на 14 дней VIP для всех новых пользователей.
Реклама АО "МАМБА" ИНН 7714548885
🤖🔥 Главные новости за неделю, связанные с ИИ и не только
1⃣OctoML интегрируется с Llama 2, предоставляя разработчикам мощные инструменты.
2⃣Amazon представила биометрический сканер по ладони на базе ИИ Amazon One.
3⃣Zoom представила нового генеративного ИИ-ассистента AI Companion, интегрированного в одноименную платформу. Он помогает автоматически создавать сводки встреч и предлагать ответы в чатах.
4⃣Glass Health разрабатывает ИИ-решение для помощи врачам в диагностике, а компания Starkey уже разработала слуховые аппараты Genesis AI, которые улучшают качество звука, переводят язык в реальном времени и выступают в качестве ассистента.
5⃣OpenAI объявила о первом мероприятии для разработчиков ИИ DevDay 6 ноября в Сан-Франциско.
6⃣Apple вкладывает миллионы долларов в день на развитие своего ИИ, который упростит многозадачность для пользователей iPhone через голосовые команды. Кстати, сегодняшнюю презентацию можно посмотреть здесь, а анонсы почитать здесь.
7⃣Heart on My Sleeve: песня на основе ИИ, имитирующая Drake и The Weeknd, представлена для рассмотрения на Grammy.
#чтопроисходит #новости
⚡️На одном из самых популярных ресурсов с дорожными картами несколько обновлений, которые помогут пошагово вкатиться в ИИ/дата сайенс и SQL:
🚀 AI/Data Scientist Roadmap
🚀 SQL Roadmap
#roadmap #хардскиллы
⚡️Иллюстрация технического стека Netflix, основаннная на исследованиях многих инженерных блогов Netflix и проектов с открытым исходным кодом
🔸Мобилки и веб: Swift + Kotlin / React.
🔸Связь между фронтом и сервером: GraphQL.
🔸Бэкенд: ZUUL, Eureka, Spring Boot и другие технологии.
🔸Базы данных: EV cache, Cassandra, CockroachDB и другие.
🔸Messaging/streaming: Apache Kafka и Fink.
🔸Хранение видео: S3 и Open Connect.
🔸Обработка данных: Flink, Spark, Tableau и Redshift.
🔸CI/CD: JIRA, Confluence, PagerDuty, Jenkins, Gradle, Chaos Monkey, Spinnaker, Altas и другие.
🔗 Подробнее
#инфографика #проектирование_систем
📕 ТОП-9 книг по языку программирования Go в 2023 году: от новичка до профессионала
Книги по языку Go, расставленные в порядке возрастания сложности, с отзывами читателей.
🔗Читать статью
🔗Зеркало
#инфографика #проектирование_систем
🤔 Как устроены языки программирования на базовом уровне? Разбираемся на примере C++, Java, Python
📌C++
• Парадигмы: процедурное, объектно-ориентированное, функциональное, обобщенное программирование.
• Типизация: статическая.
• Компиляция/Выполнение: компилируется в машинный код для конкретной платформы. Не требует виртуальной машины или интерпретатора для выполнения.
• Особенности: управление памятью осуществляется вручную с использованием операторов new и delete.
• Использование: системное программирование, разработка приложений и игр, высокопроизводительные приложения.
📌Java
• Парадигмы: объектно-ориентированное, частичное функциональное программирование (с Java 8).
• Типизация: статическая.
• Компиляция/Выполнение: компилируется в байт-код, который затем интерпретируется или компилируется JIT-компилятором на Java Virtual Machine (JVM).
• Особенности: автоматическое управление памятью с использованием сборщика мусора. «Напиши раз, запусти везде» благодаря JVM.
• Использование: веб-разработка, мобильная разработка (Android), корпоративные приложения, встроенные системы.
Python:
• Парадигмы: процедурное, объектно-ориентированное, функциональное программирование.
• Типизация: динамическая.
• Компиляция/Выполнение: интерпретируемый. Байт-код Python выполняется на Python-интерпретаторе.
• Особенности: легко читаемый синтаксис, управление памятью с помощью сборщика мусора, богатая стандартная библиотека.
• Использование: веб-разработка, научные вычисления, обработка данных, искусственный интеллект, автоматизация.
🧰 Механизмы работы
• C++: прямая компиляция в машинный код для определенной ОС и архитектуры.
• Java: компиляция в байт-код, который затем выполняется на JVM, обеспечивая кросс-платформенность.
• Python: интерпретация исходного кода с помощью Python-интерпретатора.
🤖📄 ChatGPT: эффективная суммаризация с помощью LLM
В этой статье разберём суммаризацию с помощью LLM на примере обработки отзывов в e-commerce.
🔗Читать статью
🔗Зеркало
🪳 100% тестовое покрытие != отсутствие ошибок
💬Согласны?
👍 — конечно, так и есть
🤔 — у меня в проекте вся кодовая база покрыта тестами — полет нормальный
#холивар
Тред Бориса Трушина зашел слишком далеко — ему даже из издания Газета.Ru написали: мол, одна часть пользователей говорит, что вопрос изначально сформулирован некорректно и построить можно фигуру любой площади, другие ссылались на знаменитую нерешенную задачу о квадратуре круга (нельзя построить квадрат равный по площади кругу с помощью циркуля и линейки).
🤔Сам Борис считает, что любой девятиклассник сможет прокомментировать, почему там нет верных ответов.
💬А вы что думаете?
#bugbounty #learning #guide
Как прокачаться в багхантинге веб- и мобильных приложений: полная серия статей от команды Positive Technologies
Естественно, все разобрано на типичных примерах. Но не обошлось и без вопросов со звездочкой. Одним словом, маст хэв для любого новичка и не только.
🔹Часть 1
• Что такое платформы и программы багбаунти?
• Какой базовый инструментарий может использовать багхантер, чтобы облегчить или автоматизировать поиск?
• Реальные примеры уязвимостей из старых версий приложений с открытым исходным кодом
• Литература для самостоятельного изучения
🔹Часть 2
• Что такое скоуп (scope)
• Как работать со скоупом и какие инструменты могут быть полезны
• Другие классы уязвимостей
🔹Часть 3
• Разбор уязвимостей и советы для багхантеров
📖 ТОП-10 книг по JavaScript в 2023 году
Популярные книги по изучению JavaScript на русском языке, опубликованные за последние несколько лет.
🔗Читать статью
🔗Зеркало
🤔«Вы не можете просто писать код, вам нужно развивать больше навыков, если вы хотите стать всесторонним успешным разработчиком», — поделился создатель C++ Бьёрн Страуструп в недавнем интервью платформе Honeypot.io.
📌Другие ценные советы от Страуструпа для разработчиков, независимо от их опыта. По сути, они тесно связаны с вышеприведенной цитатой:
💬Не углубляйтесь слишком глубоко в специальность. Будьте гибкими и помните, что карьера и работа — это долгосрочная вещь. Слишком много разработчиков думают, что могут что-то оптимизировать, а затем обнаруживают, что потратили пару лет или больше на специализацию на чём-то, что, возможно, было неправильным. И в процессе они выгорают, потому что не уделяют достаточно времени налаживанию дружеских отношений и жизни вне ИТ.
💬Делитесь своими идеями и слушайте. Вы должны иметь возможность общаться со своими потенциальными пользователями и учиться у них. И вы должны быть в состоянии донести до них свои идеи.
💬Поэтому вы не можете просто писать код. Вам нужно развиваться всесторонне. Найдите время, чтобы вести сбалансированную жизнь.
💬Широкое образование и широкий набор навыков — это то, что вы приобретаете во время обучения, вы, по сути, создаёте портфель навыков — означает, что вы можете воспользоваться возможностью, когда она появится. У нас много возможностей, но многими из них мы либо не можем воспользоваться, либо не замечаем.
🔗Подробнее
🔍🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
Как составить резюме, оптимизировать сопроводительное письмо и найти вакансию в 2023 году? Использовать сервисы на основе искусственного интеллекта. Какие именно — рассказываем в этой статье.
🔗 Читать статью
🔗 Зеркало
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🧮 Большие языковые модели: стоит ли бояться больших калькуляторов?
Разберём, можно ли считать большие языковые модели разумными (и почему ответ — нет).
Читать статью