proglibrary | Technologies

Telegram-канал proglibrary - Библиотека программиста | программирование, кодинг, разработка

77043

Все самое полезное для программиста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/a32a0d94 Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Subscribe to a channel

Библиотека программиста | программирование, кодинг, разработка

⚡️Иллюстрация технического стека 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 Science19 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/

Читать полностью…
Subscribe to a channel