➕ ➕ 7 способов сортировки массивов на примере С++ с иллюстрациями
В этой статье продемонстрируем на иллюстрациях, как работают алгоритмы сортировки: от простейшей пузырьковой до сложной древовидной кучи. Также определим сложность худших и лучших случаев, а код напишем на С++.
Статья
Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки?
Чтобы знать плюсы и минусы каждого алгоритма, понимать, как действительно он работает (а не просто копипастить) и какой алгоритм выбрать для конкретной задачи. Плюс изучение алгоритмов развивает мышление и профессиональный кругозор.
Как мне оперативно научиться применять алгоритмы?
Начни с бесплатного демо доступа к курсу «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
В этой статье продемонстрируем на иллюстрациях, как работают алгоритмы сортировки: от простейшей пузырьковой до сложной древовидной кучи. Также определим сложность худших и лучших случаев, а код напишем на С++.
Статья
Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки?
Чтобы знать плюсы и минусы каждого алгоритма, понимать, как действительно он работает (а не просто копипастить) и какой алгоритм выбрать для конкретной задачи. Плюс изучение алгоритмов развивает мышление и профессиональный кругозор.
Как мне оперативно научиться применять алгоритмы?
Начни с бесплатного демо доступа к курсу «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
🥱5👍3❤1
🎉🍾🎁 С днем рождения, Go! 10-го ноября Go исполнилось 15 лет
Ухватите кусочек торта, Go отпраздновал свою последнюю годовщину. Austin Clements из команды Go размышляет о том, что изменилось за последний год и каковы текущие приоритеты команды.
👉 Читать
Ухватите кусочек торта, Go отпраздновал свою последнюю годовщину. Austin Clements из команды Go размышляет о том, что изменилось за последний год и каковы текущие приоритеты команды.
👉 Читать
🎉83🔥11❤4👍1
👀 wasmVision — простой способ начать работу с компьютерным зрением
Гениальная разработка TinyGo и GoCV представляет собой высокопроизводительный движок обработки компьютерного зрения, который можно настраивать и расширять с помощью WebAssembly (который можно создать с помощью TinyGo, Rust, или C, если вам так хочется) .
👉 GitHub
Гениальная разработка TinyGo и GoCV представляет собой высокопроизводительный движок обработки компьютерного зрения, который можно настраивать и расширять с помощью WebAssembly
👉 GitHub
🔥4👍3❤1🤔1
⚒️ Создание кастомного балансировщика нагрузки на Go для gRPC с приоритизацией адресов
Разработчик из VK делится опытом создания кастомного балансировщика нагрузки на Go для gRPC, который использует приоритеты адресов для выбора наилучшего соединения.
Это решение позволяет гибко управлять распределением клиентских запросов между серверами с разными уровнями доступности и обеспечивает подключение к оптимальному ЦОД с минимальными задержками.
👉 Читать
Разработчик из VK делится опытом создания кастомного балансировщика нагрузки на Go для gRPC, который использует приоритеты адресов для выбора наилучшего соединения.
Это решение позволяет гибко управлять распределением клиентских запросов между серверами с разными уровнями доступности и обеспечивает подключение к оптимальному ЦОД с минимальными задержками.
👉 Читать
🔥18👍2🥱1
fmt.Sprintf 🆚 String Concat
Хотя код с использованием
Max Hoffman из команды DoltHub разбирается, как
🔗 Читать
Хотя код с использованием
fmt.Sprintf
может выглядеть более структурированным, простая конкатенация строк (+
) оказывается несколько быстрее. Почему? Max Hoffman из команды DoltHub разбирается, как
fmt.Sprintf
работает под капотом👇🔗 Читать
😁9👾3👍2🥱2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
🚀 Как ускорить распределенные системы: 8 стратегий снижения времени ожидания
Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона?
Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN?
💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения.
🔗 Читать статью
🔗 Зеркало
Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона?
Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN?
💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения.
🔗 Читать статью
🔗 Зеркало
👍4
🔥 Разработка Brainrot Language Server на Go
Так называемый "Brainrot" — это смесь сленга и мемов нового поколения. Следуйте этому руководству по созданию базового сервера LSP и, возможно, вы сможете применить полученные знания с большей пользой! 😅
👉 Читать
Так называемый "Brainrot" — это смесь сленга и мемов нового поколения. Следуйте этому руководству по созданию базового сервера LSP и, возможно, вы сможете применить полученные знания с большей пользой! 😅
👉 Читать
🔥15👾3👍1
⚒️ Go Runtime Finalizer и Keep Alive
Если вы перешли с полностью объектно-ориентированного языка на Go, скорее всего, вам не хватало финализаторов для очистки ресурсов при уничтожении объекта. В Go есть (довольно непонятный) способ установки финализаторов — в пакете
Однако, как отмечает Phuong Le, «если вам вдруг понадобится использовать финализаторы, есть большая вероятность, что это признак проблемы с дизайном».
Как бы то ни было, финализаторы не совсем бесполезны. Они могут служить в качестве резервного механизма очистки для объектов, которые имеют явную функцию очистки(подумайте о методах Close() для подключений к файлам или базе данных) . Если пользователи таких объектов не смогут должным образом вызвать функцию очистки, может сработать финализатор.
👉 Читать статью
Если вы перешли с полностью объектно-ориентированного языка на Go, скорее всего, вам не хватало финализаторов для очистки ресурсов при уничтожении объекта. В Go есть (довольно непонятный) способ установки финализаторов — в пакете
runtime
.Однако, как отмечает Phuong Le, «если вам вдруг понадобится использовать финализаторы, есть большая вероятность, что это признак проблемы с дизайном».
Как бы то ни было, финализаторы не совсем бесполезны. Они могут служить в качестве резервного механизма очистки для объектов, которые имеют явную функцию очистки
👉 Читать статью
👏6👍3🤔2
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
👍2🥱2🥰1
🔐 Понимание уязвимостей, связанных с внедрением команд в Go
Если вы вызываете системные утилиты из кода, вы можете предпринять некоторые базовые, но важные меры предосторожности, чтобы избежать проблем с безопасностью(вы ведь не хотите, чтобы кто-то мог убедить ваш сервер запустить rm или что-то похуже) .
👉 Читать гайд
Если вы вызываете системные утилиты из кода, вы можете предпринять некоторые базовые, но важные меры предосторожности, чтобы избежать проблем с безопасностью
👉 Читать гайд
👍2❤1
Привет, друзья! 👋
Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал ещё полезнее. Самые интересные ответы войдут в статью! 🏆
Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал ещё полезнее. Самые интересные ответы войдут в статью! 🏆
👾3
Какой ИИ-инструмент для программирования вы считаете самым полезным и почему? 🛠
Anonymous Poll
14%
GitHub Copilot
38%
ChatGPT
7%
Claude
9%
Codeium
7%
Локальные LLM
22%
Не пользуюсь ИИ
4%
Другой (укажу в комментариях)
Какой аспект разработки, по вашему мнению, больше всего выигрывает от использования ИИ? 🚀
Anonymous Poll
50%
Автодополнение кода
18%
Генерация кода с нуля
17%
Отладка и поиск ошибок
10%
Оптимизация существующего кода
5%
Другое (поделитесь в комментариях)
Не забудьте оставить комментарий с вашими мыслями об ИИ в программировании! Какие преимущества и недостатки вы видите? Какие инструменты рекомендуете попробовать коллегам? 🤔💬
Media is too big
VIEW IN TELEGRAM
▶️ Разработка CLI-приложения на Go с Bubble Tea
Только не говорите, что не любите CLI-приложения! Ловите 50-минутное обучающее видео, с помощью которого вы напишете CLI-инструмент для заметок с использованием Go + Bubble Tea + Lip Gloss от Charm.
⏳ Таймкоды:
00:00 Intro
03:00 Basics
10:04 SQLite store
22:03 List view
31:55 Add lipgloss
39:15 Textinput and Textarea
47:20 Working App!
48:56 Outro
Только не говорите, что не любите CLI-приложения! Ловите 50-минутное обучающее видео, с помощью которого вы напишете CLI-инструмент для заметок с использованием Go + Bubble Tea + Lip Gloss от Charm.
⏳ Таймкоды:
00:00 Intro
03:00 Basics
10:04 SQLite store
22:03 List view
31:55 Add lipgloss
39:15 Textinput and Textarea
47:20 Working App!
48:56 Outro
👍4🥱1