📌 Коллекция удобных онлайн-инструментов для разрабов и не только. Можно пользоваться онлайн, либо развернуть локально.
👉 Сайт & GitHub
👩💻 👩💻 Borgo — новый язык программирования, который пытается быть более выразительным, чем Go, но менее сложным, чем Rust. Он комбинирует лучшие черты Go и Rust, восполняя недостатки каждого из языков. Проект развивает Marco Sampellegrini, автор книги The Simple Haskell Handbook и разработчик системы непрерывной интеграции Quad CI.
В Borgo используется статическая типизация, аналогичные Go типы и синтаксис, похожий на Rust. Указание точек с запятой в конце строк в коде на Borgo не является обязательным. Код на языке Borgo компилируется в представление на Go, которое полностью совместимо с существующими пакетами для Go. Код компилятора написан на Rust и распространяется под лицензией ISC.
👉 Сайт & Источник
🧑💻 Бесплатный, минимально необходимый план подготовки к алгоритмическому интервью в компанию мечты. Подойдёт начинающим и опытным специалистам.
👉 GitHub
💬 Кстати, каким клиентом Git пользуетесь?
👍 — консольным
❤️ — встроенным в редактор/IDE
🔥 — сторонним графическим
🤔 — свой вариант (напишу в комментариях)
#холивар #айтисловарь
🥑 Подборка лучших статей «Библиотеки программиста» за апрель: сохраняй в заметки, чтобы не пропустить #самыйсок
🐛 7 признаков неопытного программиста
🐍📖 ТОП-10 книг по Python для начинающих программистов в 2024 году
✍️ Как написать отличную документацию
🐍🛠️ 32 инструмента для Python, которые помогут писать профессиональный код
🤖👾 Как злоумышленники взламывают LLM: 7 ключевых стратегий
🤖✍️ Как работают LLM: простое объяснение через аналогию с кулинарией
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠️ Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤖🛠️ 4 полезных инструмента для работы с ИИ: RAGFlow, The Pipe, UFO и SWE-agent
▶️ Как оживить фронтенд: 8 лучших JS-библиотек для анимации
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🎸 10 причин, по которым стоит выбрать Django вместо FastAPI
🐍❌ 10 основных ошибок начинающих Python-разработчиков
🏃 🏃 Самоучитель по Go для начинающих. Часть 11. Обработка ошибок. Паника. Восстановление. Логирование
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🤖🔢 Математические основы генеративных нейронных сетей: что нужно знать для их изучения
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
📖 ТОП-7 книг по C# для начинающих разработчиков в 2024 году
⚛️💥 React 19 уничтожит все фреймворки
🗺️💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
🐍🤔 «Задумчивый» код: временная сложность операций со структурами данных в Python
🤖🖼️ Как работают визуальные трансформеры: магия превращения пикселей в знания
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
🤔 Бывает, что в небольших командах devtool-стартапов создавать профессиональный UI-дизайн некому. Но выход есть: Глеб Строганов из Evil Martians предлагает гайд по разработке интерфейса даже без дизайнера + 5 паттернов, которые помогут создать UI максимально быстро.
👉 Читать
☕🔍 Тестирование в Java: лучшие практики, инструменты и
рекомендации для разработчиков
Качественное тестирование — залог успешного Java-проекта. В этой статье мы поделимся лучшими практиками, инструментами и методами, которые помогут вам создавать надежный и эффективный код.
Читать статью
📈 Состояние рынка труда и зарплат в IT в I полугодии 2024 года: результаты опроса, проведенного профсоюзом работников ИТ
🌍 География опроса: 1626 респондентов из 41 страны мира (страна, которую респондент указал в ответ на вопрос «Ваша локация»).
📌 Основные выводы:
☑️ В российских компаниях зарплаты руководителей выше на 75% по сравнению со специалистами. В иностранных компаниях разница всего 12%.
☑️ Самые высокие зарплаты в компаниях из банковской сферы, ритейла и IT.
☑️ Женщины в IT получают на 25% — 37% меньше мужчин.
☑️ В России медианные зарплаты выше 200 тыс. рублей у аналитиков, разработчиков, специалистов ИБ и менеджеров.
☑️ 92% айтишников работают по трудовому договору. Их зарплаты на 22% выше, чем у тех, кто работает по договорам оказания услуг.
☑️ Интернам и джунам чаще всего приходится соглашаться на менее выгодные условия. 14% — 16% из них работают не по трудовому договору. И только 39% — 42% из них доступна удалённая работа.
☑️ 60% работников получают зарплату только из оклада.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🥷 Хотите научиться проектированию систем на примерах и подготовиться к собесу? Ловите репозиторий со всем необходимым, чтобы стать профи в этой теме.
👉 GitHub
🤔 Как оценить, сколько вы стоите и как вести переговоры о деньгах с работодателем?
Методичка от Hello New Job, из которой вы узнаете:
1️⃣ Про оценку своей стоимости
2️⃣ Про определение компромиссов, на которые вы готовы
3️⃣ Про 2 главные цифры:
🔹 Среднюю рыночную стоимость такого специалиста, как вы
🔹 Желаемый доход, включая бонусы за выполненные KPI и т. д.
⚖️ Балансировка нагрузки — метод распределения сетевого трафика и задач между сетевыми устройствами. Вот некоторые из юзкейсов:
🔸 Обработка сбоев
🔸 Проверка состояния инстансов
🔸 Маршрутизация запросов, специфичных для платформы
🔸 SSL termination
🔸 Балансировка нагрузки между зонами
🔸 Поддержка сессий пользователей
👉 Источник
#инфографика
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
🤔 Google уволила команду Python-разработчиков
В преддверии ежегодной конференции Google I/O компания уволила сотрудников ключевых команд, не только Python, но и также Flutter, Dart и др. Сама Google говорит, что сделала это ради упрощения и повышения эффективности.
🐍 Сотрудники же рассказали чуть больше подробностей о происходящем. Так, по словам одного из них, были уволены люди, которые управляли всеми внутренними процессами, связанными с Python. Как отметили другие комментаторы, годами большую часть работы в Python-команде выполняли менее 10 человек.
Python был одним из первых языков, которые Google стала активно использовать. Это был последний главный язык бэкенда, для которого собрали команду.
💬 Удается ли вам отдыхать вне работы?
👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник
#холивар
📚 Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля — книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП — инкапсуляция и наследование
🐍 Часть 19: Основы ООП — абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
🙇♂️ SQL для анализа данных: одиннадцатичасовой гайд от freeCodeCamp
Изучите теорию и практику для уверенного решения сложных задач с помощью SQL. Предыдущего опыта не требуется, а вся практика — в вашем браузере с помощью BigQuery.
📺 Смотреть
🏃 🏃 🏃 Самоучитель по Go для начинающих. Часть 12. Обобщенное программирование. Дженерики
В этой части самоучителя подробно изучим парадигму обобщенного программирования и её реализацию в языке Go, на практическом примере рассмотрим дженерики и их основные составляющие. В конце статьи решим несколько интересных задач для закрепления материала.
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
IPv4 🆚 IPv6: ключевые отличия
Переход от IPv4 к IPv6 в первую очередь обусловлен необходимостью большего количества интернет-адресов, а также желанием оптимизировать определенные аспекты управления сетью. Выше — обзор основных отличий интернет-протоколов.
👉 Источник
#инфографика
⚡️ Открылась регистрация на митап Сбера по IT-архитектуре «Arch.Meetup by Sber»!
14 мая топовые спикеры из Леруа Мерлен, МТС и Сбера, а также ИТ-архитекторы и другие инженеры со всей страны соберутся вместе в штаб-квартире Сбера на Кутузовском проспекте 32 (и онлайн), чтобы поговорить о Composable-архитектуре.
Что вас ждет на митапе?
▪️Доклады по теме композитной архитектуры и реальные кейсы от лидеров индустрии: узнаем про AI-агенты, трансформацию бизнеса в условиях турбулентности, концепцию Packaged Business Capability и многое другое
▪️Выставка новых технологий и продуктов Сбера, нетворкинг с большим сообществом и фуршет
▪️И, конечно же, много подарков и сюрпризов для гостей
Регистрируйся и узнай больше о программе митапа по этой ссылке. Количество мест ограничено!
До встречи на митапе 😉
🎭 7 типов программистов, которых вы встретите на собеседовании
Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.
🔗 Читать статью
🔗 Зеркало
Требование заплатить за обучение при увольнении — это ок?
Многие компании готовы оплатить своим сотрудникам обучение только при одном условии: при увольнении, не отработав двух лет, сотрудник должен вернуть стоимость обучения.
👀Так вот, оказывается, тут все не так однозначно. Айтишник подписал (см. скрины) ученический договор с крупной компанией по разработке ПО. В нем не было четкого предмета обучения, а работодатель сам проводил курс без лицензии — так что и никакого сертификата выдано не было. На деле парень просто проходил процесс адаптации на новом месте, но в документе это назвали повышением квалификации.
Когда спустя год айтишник решил уволиться, его пытались заставить вернуть деньги за обучение еще до ухода из компании (а это вообще незаконное требование). В итоге компания отказалась от требований только когда подключились юристы.
Ликбез от наших коллег — что важно знать про компенсацию обучения.
❓ В каком случае работодатель может потребовать возместить расходы?
❗️ Только в случае получения новой профессии, квалификации или специальности в организации с образовательной лицензией. Наставничество внутри компании не считается.
❓ Какие условия должны быть соблюдены, чтобы за обучение можно было требовать возмещение?
❗️ Нужно подписать допсоглашение к трудовому договору или ученический договор, в котором указаны:
⁃ квалификация, которую получит ученик
⁃ период обучения и период последующей отработки
⁃ условия компенсации обучения сотрудником, если он уволился раньше срока
⁃ стоимость обучения. ТК РФ не обязывает указывать этот пункт, но лучше его включить, чтобы проверить, не завышена ли цена
⁃ условия, которые обеспечивает для ученика компания
Если у вас что-то из этого списка отсутствует — можете выдыхать: компания не имеет права требовать с вас неустойку.
Спасибо за помощь в юридических тонкостях нашим коллегам — если у вас есть другие вопросы/кейсы из области трудовых отношений, пишите в комменты, постараемся разобраться.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
👁️💼 Открытые и скрытые вакансии в IT: как найти работу мечты
Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.
🔗 Читать статью
🔗 Зеркало
🅾️ Что такое «О» большое: объясняем на простых примерах
«О» большое (Big O notation) — это математическая нотация, которая позволяет оценить, как изменяется время выполнения алгоритма или объём используемой памяти в зависимости от размера входных данных.
Мы написали подробный гайд по видам сложности, проиллюстрировав их понятными примерами.
🔗 Читать статью
🔗 Зеркало
😉 55 промтов для ChatGPT, которые помогут подготовиться к собеседованию
Вы когда-нибудь задумывались, как можно использовать искусственный интеллект для того, чтобы подготовиться к техническим собеседованиям лучше, быстрее и эффективнее? Мы вот — да! И поэтому подготовили 55 промтов, которые помогут сделать это.
В статье собраны шаблоны запросов, которые желательно «докрутить» под себя.
🔗 Читать статью
🔗 Зеркало
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python
Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.
🔗 Читать статью
🔗 Зеркало
👀 Свежий взгляд на методологию The Twelve-Factor App для разработки SaaS-приложений
Методология предоставляет набор лучших практик для разработки современных веб-приложений на любой платформе. Практики описывают приложения, которые готовы:
✔️ к горизонтальному масштабированию;
✔️ к непрерывному развертыванию;
✔️ к современным облачным хостингам.
👉 Читать
#проектирование_систем #инфографика
👩💻 Представлен Git 2.45
👉 Ключевые фичи новой версии:
☑️ Добавлена предварительная поддержка бэкенда reftable
для эффективного хранения в репозитории ссылок на ветки и теги.
☑️ Предоставлены средства для обеспечения переносимости между идентификаторами объектов на базе хэшей SHA-1 и SHA-256.
☑️ В команду git rev-list
добавлена возможность отображения идентификаторов объектов, отсутствующих в локальном репозитории, даже если они недостижимы в ветке или теге, что можно использовать для диагностики повреждения репозитория.
☑️ Добавлена новая команда git reflog list
для показа известных reflog-ов и соответствующих им ссылок на теги и ветки.
☑️ Предоставлена возможность определения альтернативных префиксов для вывода git diff
.
☑️ Добавлен параметр core.commentString
для определения строки-разделителя, которая будет использоваться вместо символа #
для игнорирования комментариев в сообщении для коммита.
☑️ В команду git config
добавлена опция --comment
.
☑️ В команду git cherry-pick
добавлена опция --empty
для автоматического удаления избыточных коммитов, по аналогии с опцией --empty
в git-rebase
и git-am
.
☑️ В команде git checkout -p
разрешено использовать символ @
в качестве синонима имени HEAD.
🔗 GitHub blog & OpenNET
#новости
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
В этой статье я расскажу, как оптимизировать сложную систему микросервисов через брокер сообщений, в данном случае RabbitMQ. Мы рассмотрим вариант решения проблемы высокой связанности между сервисами через переход на событийно-ориентированную архитектуру (EDA).
Читать статью