Библиотека программиста | программирование, кодинг, разработка
82.5K subscribers
3.88K photos
185 videos
89 files
6.93K links
Все самое полезное для программиста в одном канале.

По рекламе: @proglib_adv

Курс по ML: https://clc.to/eLH_zQ

Другие курсы: https://clc.to/goHZHA

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46
Download Telegram
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
7❤‍🔥1
🛤 Ах, как хочется вернуться, ворваться в монолит! / Павел Лакосников, TechLead команды SLA/Antimonolith в Авито

🤔 Микросервисы — это все еще новый черный. Любой продукт станет лучше, если в нем есть блютус, блокчейн и микросервисы. Но как оно на самом деле? Ждет ли вас «град на холме»?

🎙В докладе на конференции Saint HighLoad++ Павел рассказывает о том, как команда Авито шла к микросервисам. Доклад представляет собой таймлайн-историю, где показаны разные этапы микросервисной архитектуры Авито, компромиссы и что в итоге получилось.

🤯 В любой архитектуре простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев. Денис Исаев из Яндекс Go поделился опытом решения проблем с отказоустойчивостью из-за ретраев. История основана на реальных инцидентах в системе из 800 микросервисов.
👍7
🤯 Работа с конфликтами слияния (merge) и перебазирования (rebase) в Git может быть сложной и трудозатратной, особенно в больших проектах или при частых изменениях. Здесь на помощь приходит малоизвестная, но мощная функция Git — git rerere (reuse recorded resolution).

🛠 Этот инструмент позволяет Git запоминать, как вы разрешали конфликты, и автоматически применять эти решения в будущем, существенно упрощая процесс разрешения повторяющихся конфликтов.

📌 Существует несколько ситуаций, в которых данный функционал может пригодиться:

1️⃣ Один из примеров состоит в том, чтобы обеспечить в будущем простоту слияния некоторой долгоживущей ветки, не создавая при этом набор промежуточных коммитов слияния.

При использовании rerere вы можете время от времени выполнять слияния, разрешать конфликты, а затем откатывать слияния. Если делать это постоянно, то итоговое слияние должно пройти легко, так как rerere сможет разрешить все конфликты автоматически.

Такая же тактика может быть использована, если вы хотите сохранить ветку легко перебазируемой, то есть вы не хотите сталкиваться с одними и теми же конфликтами каждый раз при перебазировании.

2️⃣ Другая ситуация возникает, когда вы изредка сливаете несколько веток, относящихся к ещё разрабатываемым задачам, в одну тестовую ветку. Если тесты завершатся неудачей, вы можете откатить все слияния и повторить их, исключив из них ветку, которая поломала тесты, при этом не разрешая конфликты снова.

📌 Для включения функциональности rerere достаточно изменить настройки следующим образом:

$ git config --global rerere.enabled true


После этого Git начнет автоматически записывать и применять решения для конфликтов.

💡Помните, что такими долгоживущими ветками не стоит злоупотреблять. Хорошая ветка живёт день-два и уезжает в main (ну или в версию, если у вас одновременно живёт несколько веток).

👉 Подробнее

#советыдляразрабов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥31😁1
🎙️ Подкаст «Доктор Кот»: вредный трудоголизм — программирую, учусь и работаю 24/7, но этого все еще мало

Знакомо? Еще бы, но за трудоголизмом не всегда кроется благородное достигаторство — там может быть много негативных последствий.

Если вы, как и многие айтишники, не можете позволить себе нормально отдохнуть, этот выпуск для вас.

📺 Смотреть
🎧 Слушать

#подкасты
🥰12😁8👍4
🏃 Самоучитель по Go для начинающих. Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer

В этом уроке рассмотрим функции, аргументы, области видимости, затронем тему указателей, узнаем про рекурсию и её применение в программировании, а также научимся использовать ключевое слово defer.

👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👉 Часть 5
👍15
🤯 Про нашумевший тред парня, который нашел жену из 5239 девушек с помощью ChatGPT, слышно из каждого утюга. Поэтому интересна уже не сама история, а то, как люди на нее реагируют. А люди обычно разбираются, правда это или хайп, а также делают мемы.

🤦 Так вот, здесь айтишник с технической точки зрения оценил этот самый тред. Спойлер: либо парень гений, либо врёт.

Ну а мемы прикрепили к посту 😉

#назлобудня
😁31👍102🥱1🌚1
😈 Даркнет: как устроен теневой рынок труда

Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.

🔗 Читать статью
🔗 Зеркало
👍26🥱6😁4❤‍🔥3🔥2
🤔 Как правильно формулировать вопросы?

🤯 Согласитесь, что бесит, когда у тебя спрашивают какие-то очевидные вещи, и ты сразу понимаешь, что человек просто ленится сам погуглить. Автор треда прошел через многое, прежде чем научился правильно задавать вопросы.

📌 Его мысли можно выразить одной фразой: «Чтобы не задавать вопрос в духе "привет, а как делать N?", попробуйте разобраться сами и задайте его уже по сути, а не в общем».
👍33🔥11🤔43