🛠 Обзор GitHub на некоторые из наиболее интересных функций и изменений Git (обзор от OpenNET)
▫️В команду git repack
добавлены опции "--filter
" и "--filter-to
", позволяющие выполнить переупаковку репозитория c учётом заданного фильтра объектов, и при необходимости перенести в отдельное место объекты, не удовлетворяющие заданному фильтру.
▫️Например для оставления в репозитории блобов, размером менее 1 МБ, и выносом в отдельный репозиторий остальных крупных объектов, можно выполнить:
$ git init --bare ../backup.git
$ git repack -ad --filter='blob:limit=1m' \
--filter-to=../backup.git/objects/pack/pack
$ git clone --filter=tree:0 git@github.com:git/git.git
git repack --max-cruft-size
) с несколькими pack-файлами с информацией о недостижимых объектах (cruft packs), на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги).git revert
и учёт этого факта при формировании сообщения об отмене$ git revert --no-edit HEAD >/dev/null
$ git revert --no-edit HEAD >/dev/null
$ git log --oneline
a300922 (HEAD -> main) Reapply "fix bug"
0050730 Revert "fix bug"
b290810 fix bug
--rfc
" и "--subject-prefix
". Например, для формирования письма с префиксом "[RFC PATCH bpf-next]
" в теме сообщения можно указать:$ git format-patch --subject-prefix="PATCH bpf-next" --rfc
git log
разрешено указание заполнителя "%(decorate)
" для показа имён связанных веток при определении формата при помощи опции "--format
", например:$ git log --format='%cr%(decorate) (%h) %s'
📌 То, что зацепило на это неделе:
🤯 Как сооснователя Сэма Альтмана уволили с поста СЕО, а затем вернули обратно: разбор истории.
🤩 Dota 2 стала образовательной дисциплиной по стратегии в Филиппинском университете.
🤩 DALL-E 3 заработала в Paint для всех пользователей Windows 11.
🔸 Опубликован выпуск IDE Qt Creator 12.0, предназначенной для создания кроссплатформенных приложений с использованием Qt.
🔸 Представлен релиз PHP 8.3. Новая ветка включает ряд новых возможностей, а также несколько изменений, нарушающих совместимость.
🔸 Доступен выпуск Git 2.43. О новых фичах на русском читайте здесь.
🔸 Состоялся релиз Firefox 120. Новый выпуск поддерживает операцию Copy Link Without Site Tracking, позволяющую скопировать URL выбранной ссылки, предварительно вырезав из него опции, которые используются для отслеживания переходов. Читайте подробнее об этой и многих других фичах на русском.
🔸 В репозитории PyPI выявлено около 5000 оставленных в коде секретов и 8 вредоносных обфускаторов.
#чтопроисходит
🤩 Ребята из Honeypot продолжают снимать замечательные доки про языки программирования, популярные технологии, библиотеки и инструменты. Из последнего — Ruby on Rails.
Ruby on Rails (Rails) — один из самых обсуждаемых полнофункциональных фреймворков, который за 20 лет превратился из «сумасшедшей идеи» в ключевой инструмент в мире веб-разработки. Основатель Rails, датский программист Давид Хейнемейер Ханссон, известный как DHH, является одной из самых спорных и влиятельных фигур в сообществе. Он рассказывает о том, как Rails развивался и менялся.
Вас ждут интервью с ключевыми фигурами Rails, которые делятся историей языка и фреймворка, страстью, противостоянием и зрелостью, наступившей после выпуска Rails 3.0.
📌 Другие доки:
📺 React.js
📺 Prometheus
📺 Kubernetes: часть 1 & часть 2
📺 Vue.js
📺 GraphQL
📺 Elixir
📺 Ember.js
👁Помогите «Библиотеке программиста» лучше узнать свою аудиторию
Друзья, мы хотим делать для вас самый лучший контент — и для этого нам нужно узнать вас получше.
Пожалуйста, ответьте на несколько вопросов — это не займет у вас много времени, но поможет нам делать более полезные и интересные посты!
🤷♂️ «Питомцы vs Скот»: 99% вашей работы в итоге выбросят, но это и сделает вас профи
Раньше в DevOps, когда каждый сервер был уникален и имел свое имя (как домашний питомец), админы уделяли много внимания каждому серверу. Если сервер падал, его восстанавливали (лечили больного питомца).
Современный подход к серверам больше похож на управление стадом скота: если один сервер выходит из строя, его заменяют новым. Это стало возможным благодаря развитию облачных технологий.
Может разработчикам тоже стоит изменить свое отношение к коду и проектам? Вместо того чтобы относиться к каждой строке кода, как к домашнему питомцу (с бесконечными рефакторингами и заботой), нужно принять, что большая часть кода со временем станет ненужной и будет заменена.
Это поможет избежать выгорания, ведь ты осознаешь, что твоя работа — это решение текущих задач бизнеса.
И хоть с 99-ю процентами автор загнул (хотя кто знает) , это весьма любопытная аналогия. https://sider.ai/lp/linkReader?source=lr&p1=vision&p2=lp
🛠 Как проектировать REST API: полезные советы для разработчика
1. Используйте существительные во множественном числе для обозначения коллекций.
# Хорошо
GET /products
GET /products/{product_id}
# Плохо
GET /product/{product_id}
# Хорошо
GET /v3/application/listings/{listing_id}
# Плохо
PATCH /v3/application/shops/{shop_id}/listings/{listing_id}
.json
или другие расширения к URL-адресу.# Хорошо
GET /things returns:
{ "data": [{ ...thing1...}, { ...thing2...}] }
# Плохо
GET /things returns:
[{ ...thing1...}, { ...thing2...}]
# Хорошо
GET /things returns:
{
"data": [
{ "id": "KEY3", "foo": "bat" }
]
}
# Плохо
GET /things returns:
{
"KEY3": { "id": "KEY3", "foo": "bat" }
}
# Хорошо
{ "id": "123" }
# Плохо
{ "id": 123 }
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
🔢 Как научиться решать сложные задачи
Нам может не даваться решение сложных математических задач по многим причинам: от стереотипов до негативного школьного опыта. К счастью, это можно исправить. В карточках перечислили лучшие на наш взгляд книги, которые помогут понять, полюбить и подтянуть математику.
Ещё больше книг, а также курсы, игры, методики и приложения — в нашей статье 👈
😈 Самые черные скидки в академии. -50% на курсы
🔥 В честь черной пятницы до 30 ноября мы запустили масштабную распродажу на все наши курсы – https://proglib.io/w/80fc1817
На всех курсах вас ждет:
⚫️ Лучший преподавательский состав.
Например, математику вам будут преподавать доценты ВМК МГУ. А алгоритмы разработчик из Яндекса и преподаватель МФТИ и НИУ ВШЭ.
⚫️ Бессрочный доступ ко всем курсам.
А это значит, что вы сможете проходить обучение в своем темпе, без жестких дедлайнов.
⚫️ Поддержка преподавателей в чате и на платформе Coreapp.
Вам всегда помогут разобраться в сложной теме и ответят на любые вопросы.
👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/80fc1817
До встречи на обучении 🙌
💻 Комфортный сетап и качественное рабочее пространство — это то, что прямо пропорционально влияет на вашу продуктивность. Кто-то тратит на всё это очень большие деньги, а кому-то вообще по барабану, в какой монитор смотреть, на чём сидеть и на что нажимать.
В любом случае эта тема важная и интересная. Смотрите подкаст «Мы обречены» о том, как собрать идеальное рабочее место для программиста:
📺 02:58 — Представление гостей
📺 05:31 — Значение и смысл личного и рабочего комфорта
📺 16:23 — Поднимающийся стол
📺 23:16 — Стул
📺 30:23 — Монитор
📺 45:23 — Клавиатура
📺 1:08:51 — Мышка
📺 1:15:28 — Странные бесполезные устройства
📺 1:21:33 — Умный дом
📺 1:47:52 — Важность комфорта для продуктивности
📺 1:58:07 — С чего начать в осваивании комфорта
📺 2:02:32 — Обнадеживающее аутро
#подкасты
🦀 Отличная новость для начинающих и начавших Rust-разрабов!
На roadmap.sh вышла дорожная карта, которая поможет выбрать правильный вектор в обучении.
#roadmap #rust
💡 Каждый шаг вперёд в области вычислительной техники сопровождался достижениями в области отображения и редактирования кода. Появление графических пользовательских интерфейсов привело к появлению интегрированных сред разработки.
🧑💻 Даже сегодня у нас ограниченные возможности, когда мы хотим добавить дополнительный смысл к коду. Подсветка синтаксиса была изобретена в 1982 году, чтобы помочь детям программировать на BASIC. Но помимо цветов, большинство редакторов должны общаться с разработчиками через свои интерфейсы — всплывающие подсказки, подчёркивания и так далее.
🤔 К чему всё это? Недавно команда Vercel представила новый шрифт Geist, а ребята из GitHub пошли еще дальше — анонсировали появилась команда GitHub Next с целым семейством шрифтов Monaspace. Новые шрифты предлагают более выразительную палитру для кода и инструментов, с которыми вы работаете.
💬 Как вам?
🔥 — огонь
🥰 — пойду скачивать
🤔 — да как-то пофиг на шрифты
🗄️ Векторные базы данных: наглядная иллюстрация от ByteByteGo
Векторные БД появились не так давно, чтобы помочь в работе поисковых систем, основанных не на ключевых словах, а на нейронных сетях. Они имеют несколько ключевых применений в ИИ:
🔎 Семантический поиск — получение информации на основе смысла, а не только ключевых слов.
💡 Рекомендации — предложение контента, который наиболее релевантен интересам пользователя.
⚒️ Большие языковые модели — понимание слов в контексте для генерации и суммирования.
📈 Обнаружение аномалий — идентификация аномальных точек данных по сравнению с нормой.
🖼️ Классификация изображений — категоризация изображений на основе визуальных свойств.
Векторные БД позволяют моделям машинного обучения устанавливать связи между частями данных. Это поддерживает продвинутые возможности ИИ, которые невозможны при использовании только сырых данных. Векторное пространство действует как своего рода «память» для алгоритмов.
#инфографика
👀 6 способов привлечь внимание работодателя
Как рассказать, что вы умеете программировать и хотите получать за это деньги, не говоря об этом напрямую:
1️⃣ Оформить профиль на Линкедин, Гитхаб и Стековерфлоу
2️⃣ Участвовать в хакатонах
3️⃣ Начать вести свой блог об IT
4️⃣ Стать участником конференций от IT-гигантов
5️⃣ Создать канал на YouTube и рассказывайте об IT
6️⃣ Написать в личку
👉 Подробнее о каждом пункте читайте в статье
🥵 7 типов «сложных» разработчиков
Как найти подход к таким «сложным» типам и сделать работу в команде более эффективной и приятной? Рассказываем в статье, как с ними работать, чтобы избежать конфликтов и достичь общих целей.
Читать статью
#почитать
👨🏫Полезные каналы по Go
Напоминаем, что «Библиотека программиста» запустила два канала специально для Go-разработчиков и тех, кто хочет ими стать.
Подписывайтесь:
👉Библиотека собеса по Go — тут мы готовимся к интервью
👉Библиотека задач по Go — тут решаем задачи, проходим тесты и изучаем код
❗️Мы запускаем серию исследований — и вы можете нам в этом помочь!
«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.
Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?
Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
🥷Это путь воина
Напоминаем, что «Библиотека программиста» запустила два новых канала специально для специалистов по C++ и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по C++ — тут мы готовимся к интервью
👉Библиотека задач по C++ — тут решаем задачи, проходим тесты и изучаем код
🤖 «Генеративный ИИ для начинающих» — новый курс от Microsoft, который включает 12 уроков от Microsoft Cloud Advocates. Каждый урок охватывает ключевые аспекты принципов генеративного ИИ и разработки приложений и включает:
☑️ Видеообзор темы
☑️ Текстовая лекция
☑️ Jupyter Notebook с примерами кода
☑️ Задание для самостоятельной работы
☑️ Ссылки на полезные ресурсы
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🤔 Переосмысление привычных нам уровней разработчиков (junior, middle, senior)
Автор делится видением уровней разработчиков, в которых главный критерий разделения — способность решать проблемы. По его классификации 2-й и 4-й уровни дают предсказуемый результат эффективным способом, отличается только сложность решаемой проблемы:
1️⃣ Простое решение проблем случайным образом
2️⃣ Простое решение простых проблем
3️⃣ Решение сложных проблем случайным образом
4️⃣ Простое решение сложных проблем
По сравнению с классическим набором уровней эти уровни:
☑️ Более прозрачны
☑️ Измеримы
☑️ Соотносятся с опытом
☑️ Соответствуют ожиданиям
👉 Подробнее о каждом уровне с примерами читайте в статье
☝️🚀 Рейтинг Low Code опенсорсных инструментов разработки за последние 28 дней
🔝 Топ-5 в нашей подборке:
1️⃣ AppFlowy-IO/AppFlowy — альтернатива Notion на Flutter и Rust. Вы отвечаете за свои данные и настройки.
2️⃣ supabase/supabase — альтернатива Firebase. Один из самых быстрорастущих проектов на GitHub.
3️⃣ refinedev/refine — основанный на React фреймворк для создания внутренних инструментов, панелей администратора, информационных панелей и приложений B2B с акцентом на гибкость.
4️⃣ n8n-io/n8n — расширяемый инструмент автоматизации рабочих процессов.
5️⃣ appwrite/appwrite — end-to-end бэкенд сервер для веб-, мобильных, нативных или серверных приложений, упакованный в виде набора микросервисов Docker.
#инструменты
Хочу вас огорчить, программисты не делают игры — их делают дизайнеры и арт...
— правдивое начало статьи о разработке в геймдеве.
🤔 Можно уволить программиста, на его место придет другой и через условные месяц-два-полгода начнет закрывать таски не хуже. Если увольняется дизайнер, его монстр, пушка или контент повисает без хозяина и без «видения». Если её не перехватил сосед (а у соседа свой монстр), то в большинстве случаев его работа просто уходит в стол и монстра пишут заново на тех же ассетах и принципах, но заново.
🤯 Это не поток мыслей, а мнение и опыт автора статьи и разработчика игр в Ea Spb. И как вы уже поняли, этот материал об обратной стороне любви к играм и том, что из себя представляет геймдев в конкретной компании.
💬 Ситуация в других компаниях может отличаться. Если у вас есть положительный опыт, поделитесь в комментариях👇
💻 Если ввести в браузере «стажировка в Aston», то можно узнать, как начать карьеру в ИТ и найти первую работу
Каждый месяц мы запускаем набор на стажировки по разным направлениям👍
Подавать заявку можно без практического опыта в ИТ.
Достаточно быть коммуникабельным, мотивированным и иметь крепкие теоретические знания по выбранному направлению. Мы гарантируем трудоустройство всем, кто успешно пройдет стажировку 🕺
💯 Оставить заявку можно здесь
Программирование — это не просто работа, это образ жизни и страсть для многих людей. Кто-то находит в кодинге творчество, кто-то — интересные задачи и возможности для саморазвития.
Расскажите, что именно вдохновляет вас писать код и создавать новые программы.
👉Опрос тут👈
🤖📜 Искусственный интеллект: краткая история
Впервые люди задумались о мыслящих машинах ещё в античности — у древних греков, например, был миф о гигантском бронзовом автоматоне Талосе. Позднее люди и вовсе решили, что мышление — это механический процесс, а значит его можно имитировать.
Подробнее о том, как мы докатились до создания искусственного интеллекта, читайте в статье 👀
🎙️ArchDays — конференция по микросервисам и архитектуре IT-решений. Ниже — записи свежих и не только докладов с митапов, приуроченных к конференции.
📌 Выберите и смотрите ту тему, которая вам интересна:
📺 Сага — решение технической проблемы или доменный процесс / Михаил Натаров
📺 Об архитектуре системы моделирования на базе цифровых двойников производства / Илья Смирнов
📺 Многоликий DDD / Сергей Баранов
📺 Тернистый путь инструмента цифрового проектирования / Виктор Выскребенцев
📺 Проектирование БД: от NF к денормализации данных / Антон Цитульский
📺 Continuous deployment — следующая ступенька после Continuous delivery / Иван Волынкин
📺 Как автоматизация и AI позволяют сократить время устранения уязвимостей / Антон Башарин
#чтопроисходит #проектирование_систем
🤔 Что самое трудное в работе программиста? Правильно, выдумывать имена для переменных.
💬 Как вы считаете, насколько важен хороший нейминг для сущностей (функций, переменных и т. д.) в вашем коде? И есть ли у вас или в вашей команде общепринятые правила или лучшие практики, которым вы следуете при нейминге?
Если да, поделитесь опытом👇
#холивар
📈 Octoverse: состояние открытого исходного кода и развитие ИИ в 2023 году
Мы кратко уже касались этой темы, но здесь есть на чем остановиться более подробно:
🔝 JavaScript — снова в топе среди самых популярных ЯП, после него Python и Java
🔝 TypeScript впервые обогнал Java как третий по популярности язык среди проектов OSS
🔝 Значительный рост в новых проектах показали Kotlin, Rust, Go и Lua
🔝 Увеличилось количество популярных языков и платформ для анализа данных и операций (например, T-SQL и TeX)
🔝 Разработчики все чаще используют облачные нативные приложения, автоматизируют свои рабочие процессы и экспериментируют с ИИ-моделями
🔝 ИИ-проекты продвинулись от узкоспециализированных исследований к более массовому внедрению
🔝 К 2027 году Индия обгонит США как крупнейшее сообщество разработчиков на GitHub
🔝 В 2023 году Shell и Hashicorp Configuration Language снова стали ведущими языками в опенсорсных проектах
#инфографика