⚡️Свершилось: канал с книгами только по Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
👉Книги для джавистов | Java
Коллеги, сворачиваем лавочку
🤨 Дженсен Хуанг, основатель и гендир Nvidia, на саммите World Government Summit в Дубае высказался о будущем мира в новой реальности ИИ и его влиянии на нашу с вами карьеру. По словам Хуанга, доминировавший в течение последних 10-15 лет призыв учиться программированию или обучать этому детей, а также стремиться к карьере в области компьютерных наук, теперь устарел.
🗣 Основатель Nvidia утверждает, что благодаря достижениям в области ИТ потребность в технических специалистах и количество технических рабочих мест в долгосрочной перспективе сократятся. Он говорит, что задача создателей компьютерных технологий — сделать так, чтобы никому не пришлось программировать, и чтобы языком программирования был человеческий язык. Таким образом, каждый человек в мире теперь является программистом, что является чудом ИИ.
📌 Главный совет — специализироваться в конкретных областях, включая науку, производство, с/х, строительство, образование, инженерия и т.д. При этом важно понимать проблемы в этих областях и использовать автономные интеллектуальные технологии для их решения, без необходимости тратить месяцы или годы на разработку необходимого софта вручную.
🤯 Хуанг также отмечает, что совет «учиться программированию» всегда казался ему неправильным, т. к. у всех нас ограниченное количество времени, и если мы тратим его на одно направление, мы автоматически не можем инвестировать его во что-то другое. Другими словами, он советует не учиться программированию, а учиться быть отличным в чем-то полезном, чем бы это ни было. ИИ всегда будет помогать в этом.
#назлобудня
💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?
🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)
#холивар
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали
Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.
👉 Читать статью
👉 Зеркало
🔍 Скрытые коммиты GitHub и где они обитают
🤔 Было у вас такое, когда вы закоммитили то, что не должно было попасть в публичный репозиторий? Ну «секреты» там всякие, или еще что! «А в чем проблема?» — спросите вы. Дело в том, что перезаписать историю коммитов GitHub-репозитория можно, но старые коммиты физически не удаляются с серверов GitHub. Это означает, что хотя эти коммиты не отображаются в обычной истории коммитов и не клонируются с репозиторием, они все еще доступны через API.
🛠 GitHub API предоставляет информацию о различных событиях в репозитории, включая PushEvent. Даже если коммит был удален из истории, событие PushEvent, связанное с этим коммитом, все еще может быть доступно через API. Это позволяет определить хеш удаленного коммита и обратиться к нему. Читайте подробнее исследование на эту тему или воспользуйтесь Python-скриптом Github Secrets, чтобы проверить свои репозитории.
🤔 Вычислительная сложность алгоритмов: удобная шпаргалка
Понимание вычислительной сложности алгоритмов важно для разработчика. Как минимум, про это могут спросить на собеседовании, как максимум — это поможет улучшить ваш проект.
❓Что это такое?
Вычислительная сложность пытается ответить: как изменятся время исполнения алгоритма и объём занятой памяти в зависимости от размера входных данных? Тут вводится понятие асимптотической сложности. Это математическая модель, описывающая поведение ограничений на ресурсы (например, время выполнения или использование памяти) в пределе, когда размер входных данных стремится к бесконечности. Алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных.
Для асимптотической сложности алгоритма используется следующая нотация: 𝑂
(«О»-большое), которое описывает верхнюю границу времени.
✍️ Категории алгоритмической сложности в 𝑂-нотации:
- Постоянное время: 𝑂(1)
Время выполнения не зависит от количества элементов во входном наборе данных.
- Линейное время: 𝑂(𝑁)
Время выполнения пропорционально количеству элементов в наборе.
- Логарифмическое время: 𝑂(log𝑁)
Время выполнения пропорционально логарифму от количества элементов в наборе.
- Линейно-логарифмическое время: 𝑂(𝑁log𝑁)
Время выполнения больше чем, линейное, но меньше квадратичного.
- Квадратичное время: 𝑂(𝑁^2)
Время выполнения пропорционально квадрату количества элементов в наборе.
🔗 Ссылка на отличную шпаргалку
🤩 Подборка случайных докладов на недавних конференциях (и не только) от известных специалистов в индустрии:
📺 Heisenbug: «AI: конкурент или помощник?» / Артем Ерошенко
📺 C++ Russia 2022: «Голый Rust» / Роман Проскуряков
📺 HolyJS 2023 Spring: «Telegram Web Apps: веб-приложения внутри Telegram» / Владислав Кибенко
📺 DotNext 2022 Autumn: «Best practices для разработки Application Layer» / Максим Аршинов, Андрей Парамонов, Андрей Цветцих, Денис Цветцих
📺 HighLoad++: «Авито Автозагрузка: как качать миллионы фотографий в сутки» / Евгений Толмачев
#матчасть
🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
☕️📦 10 Java-библиотек, которые изменят твой код навсегда
Из этой статьи вы узнаете о ключевых возможностях 10 популярных библиотек для Java: работа с коллекциями, строками, JSON, логами, датами и временем и многое другое.
Читать статью
🎙️ Как выдержать критику от других разрабов? Чужие мнения и своя самооценка
Свой уровень очень-очень трудно оценить правильно. Особенно когда только чему-то учишься. Успехи окрыляют, а неудачи — обрушивают на дно.
Садишься за работу с мыслями — ну охренеть я сеньор всемогущий. Показываешь код лиду, и уходишь с ощущением, что только джунам кофе носить годишься. Дожить до момента, когда опыт станет твоей броней против любой критики, а ошибки не будут уничтожать самооценку — это ой как непросто. Но как-то надо.
В новом выпуске Доктора Кота ведущие обсуждают, как жить с тем, что про тебя постоянно говорят что-то нехорошее, справляться с критикой и адекватно принимать свои успехи и неудачи.
#подкасты #айтипсихология
Я и моя команда DevOps пытаемся устранить неполадки кластера Kubernetes в продакшене
#жиза
🐣Скоро начинается сезон праздников, а к ним лучше готовиться заранее
Именно поэтому мы запустили электронные подарочные сертификаты на курсы proglib academy:
🎁 Выбирайте удобные номиналы от 1 000 до 10 000 руб;
🎁 Отправляйте получателю сразу или в конкретную дату;
🎁 Сертификат действует в течении года с момента покупки.
🙌 Дарите друзьям, сотрудникам, коллегам или партнёрам возможность получить новые знания и возможность профессионального роста в IT-сфере – https://proglib.io/w/d831f55d
🆚 Традиционное управлением конфигурацией vs. IaC
Infrastructure as Code (IaC) — подход к автоматизации и управлению инфраструктурой с использованием кода. Вместо ручной настройки и обслуживания инфраструктуры, IaC позволяет управлять инфраструктурой с помощью программного кода, выполняя автоматическую установку, конфигурацию и деплой через различные инструменты, включая Ansible, Terraform, Puppet, Chef и другие.
👉 Источник
#инфографика
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🧠 Знания — сила! Что должен изучить каждый программист?
Мы запускаем опрос среди наших читателей, чтобы выяснить, какие ключевые компетенции необходимо развивать программисту на текущий момент. Какие направления стоит изучать в первую очередь? Уровень каких знаний влияет на зарплату в отрасли?
Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!
👉 Пройти опрос
🧰 GitButler — инструмент управления ветками Git, созданный для современных workflow (работает пока только на macOS/Linux). Это Git-клиент, который позволяет быстро организовывать изменения файлов в отдельные ветки, сохраняя при этом их применение к вашей рабочей директории.
☑️ Основные особенности включают управление несколькими ветками одновременно с помощью «виртуальных веток», удобное управление коммитами (например, отмена, изменение, слияние), интеграцию с GitHub и, конечно же, функции ИИ.
💡 Короче говоря, это более гибкая версия git add -p
и git rebase -i
, позволяющая эффективно работать с несколькими ветками.
👉 GitHub
👉 Сайт
#инструменты
🔎 Пошаговый разбор работы базового поискового движка
1️⃣ Crawling
2️⃣ Indexing
3️⃣ Ranking
4️⃣ Querying
👉 Источник
#инфографика
🔥 На прошлой неделе представлена версия Git 2.44
📌 По традиции публикуем мини-обзор новых фич:
1️⃣ Быстрое создание пакетов: Git 2.44 включает оптимизацию для ускорения процесса клонирования и отправки изменений в репозитории, позволяя переиспользовать существующие пакеты данных, что сокращает время обработки.
2️⃣ Быстрые перебазирования с git replay:
новая команда предлагает альтернативу git rebase
, обеспечивая более высокую производительность и возможность работы в bare-репозиториях, а также обработку нескольких веток одновременно.
3️⃣ Автоматическое слияние с --autosquash
в неинтерактивных перебазированиях: в новой версии, функция autosquash теперь работает и в неинтерактивных режимах перебазирования, позволяя автоматически применять изменения fixup!
и squash!
без необходимости вручную редактировать список задач.
4️⃣ Улучшенные подсказки и новые возможности сортировки: Git 2.44 предлагает улучшенные подсказки для пользователей и новые опции для сортировки в командах, таких как git for-each-ref
.
5️⃣ Расширенные возможности работы с путями и файлами: в новой версии добавлены новые атрибуты для работы с путями файлов, позволяя более гибко управлять добавлением файлов в индекс.
👉 Подробнее
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
🥤🛡️ Как сделать Flask-приложение неуязвимым: полное руководство по защите от хакерских атак
Лучшие практики по созданию надежного и безопасного Flask-приложения, включая защиту от XSS/CSRF и API, созданных с помощью Flask.
👉 Читать статью
👉 Зеркало
👩💻 PGlite — Postgres в WASM
Эта сборка упакована в клиентскую TypeScript-библиотеку, которая позволяет запускать Postgres в браузере, Node.js и Bun без необходимости устанавливать какие-либо другие зависимости. Занимает 3,7 МБ в сжатом виде.
👩💻 GitHub
👉 Playground
🛍 -50% на наш флагманский курс по вышмату + курс по machine learning в подарок
📣 В честь 23 февраля мы решили снизить цену на курс по математике и подарить курс по machine learning в подарок – https://proglib.io/w/7a2b9c4a
14 990 рублей 29 990 рублей до 29 февраля
⭐️ На курсе вы получите все необходимые знания для старта карьеры в DS или аналитике.
Что еще вас ждет на курсе:
🔹 Полугодовая программа от преподавателей ВМК МГУ;
🔹 150 практических заданий и 47 видеолекций;
🔹 Бессрочный доступ ко всем материалам курса;
🔹 Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
‼️ Переходите на сайт, читайте подробности и заходите на обучение по самым выгодным условиям – https://proglib.io/w/7a2b9c4a
🤔 Какой язык учить первым?
Если ознакомиться с популярными айтишными ресурсами по этой теме, формируется два вывода:
1️⃣ Первым надо учить Python/JavaScript (пробудить интерес к программированию) или C++ (программирование интересно само по себе и человек хочет развиваться как разработчик).
2️⃣ Первый язык нужен не для того, чтобы писать на нём проекты, а для изучения базовых принципов программирования => поэтому первым должен быть не язык, а учебник программирования.
А язык будет тем, который используется в этом учебнике для объяснения алгоритмов, — удобным именно для начального обучения (на начальном этапе достаточно псевдокода).
💬 А вы как считаете?
#холивар
💡 GraphQL в деталях
GraphQL — язык запросов и серверная среда для API с открытым исходным кодом. В отличие от REST API, GraphQL позволяет запрашивать именно те данные, которые необходимы, что делает возможным получение данных из нескольких источников с помощью одного запроса. Эта эффективность извлечения данных может привести к повышению производительности веб- и мобильных приложений.
GraphQL-сервер находятся между клиентом и бэкендом. Он может объединять несколько запросов в один, позволяет организовать ресурсы в граф, поддерживает мутации (применение изменений данных к ресурсам) и подписки (получение уведомлений об изменениях схемы).
➕ Преимущества GraphQL:
🔸 GraphQL более эффективен в получении данных
🔸 GraphQL возвращает более точные результаты
🔸 GraphQL имеет строгую систему типов для управления структурой сущностей, что снижает количество ошибок
🔸 GraphQL подходит для управления сложными микросервисами
➖ Недостатки GraphQL:
🔸 Повышенная сложность
🔸 Избыточное получение данных
🔸 Сложность кэширования
👉 Источник
#инфографика
🏃 Самоучитель по Go для начинающих. Часть 7. Массивы и слайсы. Append и сopy. Пакет slices
Рассмотрим реализацию массивов и слайсов в языке Go, разберем функции append и copy, изучим пакет slices и по традиции решим несколько занимательных задач.
👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👉 Часть 5
👉 Часть 6
🤔 ФП vs. ООП
Дядя Боб считает (перевод), что споры сторонников функционального и объектно-ориентированного подхода не имеют смысла, так как эти парадигмы отлично уживаются вместе.
Более того, система, которая построена на комбинации принципов ООП и ФП максимизирует гибкость, поддерживаемость, тестируемость и простоту. Если убрать одно ради добавления другого, это только ухудшит структуру системы.
💬 А вы что думаете? Похоливарим?
#холивар
🐍⛓ Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python
В новой статье научимся генерировать осмысленные, но в то же время абсурдные фразы и предложения с помощью цепи Маркова.
🔗 Читать статью
🔗 Зеркало
📈 5 трендов в подборе ИТ-специалистов на 2024 год
Использование ИИ-алгоритмов становится трендом и в Human Resources. Такими инструментами пользуются и кандидаты, и работодатели.
🤖 Например, появляются Applicant tracking system (ATS) с ИИ, которые автоматизируют поиск и отбор кандидатов. А ещё есть Final Round AI — своеобразный помощник с искусственным интеллектом, который генерирует индивидуальные ответы на онлайн-интервью в режиме реального времени.
👉 О других трендах читайте в нашей новой статье 👈
🔗 Зеркало
🤔 Почему опыт разработчика важнее продуктивности?
🤯 Компании испытывают нездоровую одержимость поисками кейсов измерения продуктивности разработчиков. Это вполне понятно — руководители вынуждены добиваться результатов, одновременно извлекая выгоду из своих инвестиций в команды и технологии.
❗️Проблема в том, что продуктивность разработчиков невероятно трудно измерить, в результате чего организации тратят непропорционально много усилий и ресурсов, пытаясь найти волшебную меру.
🤩 Представьте себе возможности, если бы такое же количество времени и энергии было вложено в повышение производительности разработчиков, а не в попытки ее измерить. Несколько мыслей по теме из статьи на TechCrunch:
☑️ Счастливые разработчики — продуктивные разработчики. Удовлетворенность работой является ключом к продуктивности.
☑️ Факторы, влияющие на радость разработчиков: опыт разработчика (Developer Experience, DX) и инженерная культура.
☑️ Шаги к улучшению опыта разработчика: понимание текущего опыта, расширение возможностей «платформенной команды» и продвижение DX с помощью платформ разработчиков.
💆♂️ Под «платформенными командами» понимается внутренняя группа, сосредоточенная на предоставлении DX. Они предоставляют внутренние сервисы командам по доставке ПО, позволяя им работать автономно. Эти сервисы могут включать инфраструктуру, инструменты CI/CD, мониторинг и логирование, или облегчение понимания и соблюдения стандартов/практик компании.
🛠 Под платформой разработчиков понимается набор инструментов и сервисов, предоставляемых «платформенной командой», которые направлены на улучшение DX.