⚡️Иллюстрация технического стека 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 — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🧮 Большие языковые модели: стоит ли бояться больших калькуляторов?
Разберём, можно ли считать большие языковые модели разумными (и почему ответ — нет).
Читать статью
#подкасты
Полу-выпуск Доктора Кота, в котором вместо обсуждения писем ребята просто разговаривают про айтишную психологию и отвечают на некоторые вопросы и предложенные темы.
⏯️ YouTube
#вопросы_с_собесов
🤔Представьте, что в вашем проекте была обнаружена ошибка, и вы знаете, что несколько недель назад такой ошибки не было.
💬Каким инструментом Git можно воспользоваться, чтобы быстро выяснить, из-за какого конкретно коммита возникла данная проблема?
📌Вместо того чтобы вручную проверять каждый коммит, вы можете использовать мощный инструмент git bisect.
🔸Это утилита для поиска коммита, в котором впервые проявился баг или проблема с помощью автоматического бинарного поиска.
🔸Последовательность действий следующая: запускаем процесса поиска, затем указываем Git на коммть, который сломан, после чего указываем, когда было последнее известное рабочее состояние.
> git bisect start
> git bisect bad
> git bisect
[good_commit]
1⃣Git автоматически переключит нас на коммит, который находится посередине между хорошим и плохим коммитами. Продолжаем👇
2⃣Запускаем тесты и проверяем наличие проблемы в этом коммите. Пусть в данном коммите проблема не выявлена. Сообщаем об этом Git с помощью git bisect good
и продолжаем дальше👇
3⃣Мы оказались на другом коммите, расположенном посредине между только что протестированным и плохим коммитами. Снова выполняем тесты и обнаруживаем, что текущий коммит сломан, и сообщаем об этом Git с помощью команды git bisect bad
👇
4⃣Данный коммит хороший и теперь Git имеет всю необходимую информацию для определения того, где была внесена ошибка. Он сообщает нам хеш первого плохого коммита и отображает некоторую информацию о коммите и файлах, которые были изменены в этом коммите, чтобы разобраться в проблеме.
4⃣После завершения поиска выполняем git bisect reset
, чтобы вернуться к изначальной ветке и завершить процесс bisect.
Используя этот инструмент, мы можем существенно ускорить процесс выявления проблемных коммитов, особенно в больших проектах с активной историей разработки.
#холивар
🤔Микросервисы 🆚 монолиты
🚀Микросервисная архитектура — это подход, который помогает не только ускорить разработку продукта, но и сделать ее гибкой и управляемой. В микросервисной архитектуре приложение разбивается на ряд независимо развертываемых сервисов, которые взаимодействуют с помощью API-интерфейсов.
В отличие от монолитного приложения, с микросервисной архитектурой команды могут быстрее внедрять новые возможности и вносить изменения, при этом им не приходится переписывать большие фрагменты существующего кода.
❗️Микросервисный подход не лишён недостатков. При кажущейся простоте и логичности деления большого продукта на самостоятельные сервисы разработка распределённой системы — процесс сложный и с технической, и с организационной точек зрения. Плюсы могут обернуться минусами.
💬Можете ли вы привести примеры успешных или неудачных попыток перехода к микросервисам в вашей практике или в отрасли?
👀 Любопытная история компании, которая ввела метрики личной эффективности «в целях анализа и личностного совершенствования». Каждый работник измерял количество реализованных показателей, которые представляют ценность для бизнеса.
📈 У героя статьи Тима этот показатель всегда был равен нулю. Неделя за неделей... Со стороны руководства уже было принято решение уволить его.
🤝 Но у команды Тима было другое мнение. Вместо отслеживания показателей Тим проводил свой день, взаимодействуя с разными членами команды. При работе с менее опытными разработчиками он позволял им брать управление на себя, в то же время подталкивая к правильному решению.
🤩 С сеньорами его взаимодействие напоминало совместное творчество и спарринг. Одним словом, Тим не создавал ПО — он создавал команду, которая создавала ПО.
💡 В конечном итоге его оставили в команде и спокойно отказались от метрик личной продуктивности в пользу отчётности всей команды.
💬 А как в вашей компании/команде отслеживается продуктивность?
🤔 Многие линуксоиды и маководы знают про командную оболочку 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.
📺Смотреть
#холивар
😎Первый проект в карьере разработчика — самый волнительный и запоминающийся.
💬А вы помните свои впечатления от первого проекта и стек, на котором он был написан? Как бы вы подошли к своему первому проекту с нынешним опытом?
🔥🕑 10 признаков того, что пора увольняться
«Быть или не быть?», «Уйти или остаться?»: делаем вдох-выдох и принимаем важное решение.
🔗 Читать статью
🔗 Зеркало
#новости
Исследователи из подразделения искусственного интеллекта Google DeepMind анонсировали новую ИИ-модель Gemini, которая, как заявляется, минимум в 5 раз мощнее GPT-4.
Gemini умеет работать сразу со всеми типами контента: текст, видео, аудио и изображения. Модель выйдет в паблик ближе к концу этого года.
💬Ждем GPT-5 этой осенью? Или OpenAI превращается в отстающих? Там еще и Meta* со своими моделями.
*организация, деятельность которой запрещена на территории РФ
Оффер за одну неделю для Backend & Frontend mobile разработчиков в компанию YADRO
Ведущая технологическая компания России YADRO проводит One Week Offer, в рамках которого ты сможешь получить оффер от компании за одну неделю.
Специалисты нужны в команду KVADRA OC, которая занимается созданием и разработкой операционной системы для персональных компьютеров, ноутбуков и других клиентских устройств, выпускаемых под брендом KVADRA.
Оставь заявку на участие до 13 сентября: https://oneweekoffer.yadro.com/