Библиотека программиста | программирование, кодинг, разработка
82.6K subscribers
3.87K photos
183 videos
89 files
6.92K links
Все самое полезное для программиста в одном канале.

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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46
Download Telegram
🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)

Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.

👉 Читать статью

📌 Остальные части в серии:

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
👍6🤔1
🤩 Подборка случайных докладов на недавних конференциях (и не только) от известных специалистов в индустрии:

📺 Heisenbug: «AI: конкурент или помощник?» / Артем Ерошенко
📺 C++ Russia 2022: «Голый Rust» / Роман Проскуряков
📺 HolyJS 2023 Spring: «Telegram Web Apps: веб-приложения внутри Telegram» / Владислав Кибенко
📺 DotNext 2022 Autumn: «Best practices для разработки Application Layer» / Максим Аршинов, Андрей Парамонов, Андрей Цветцих, Денис Цветцих
📺 HighLoad++: «Авито Автозагрузка: как качать миллионы фотографий в сутки» / Евгений Толмачев

#матчасть
😁14👍21
👩‍💻 PGlite — Postgres в WASM

Эта сборка упакована в клиентскую TypeScript-библиотеку, которая позволяет запускать Postgres в браузере, Node.js и Bun без необходимости устанавливать какие-либо другие зависимости. Занимает 3,7 МБ в сжатом виде.

👩‍💻 GitHub
👉 Playground
Please open Telegram to view this post
VIEW IN TELEGRAM
👍262🔥1
big-o-cheatsheet.pdf
254.8 KB
🤔 Вычислительная сложность алгоритмов: удобная шпаргалка

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

Что это такое?

Вычислительная сложность пытается ответить: как изменятся время исполнения алгоритма и объём занятой памяти в зависимости от размера входных данных? Тут вводится понятие асимптотической сложности. Это математическая модель, описывающая поведение ограничений на ресурсы (например, время выполнения или использование памяти) в пределе, когда размер входных данных стремится к бесконечности. Алгоритм с меньшей асимптотической сложностью является более эффективным для всех входных данных.

 Для асимптотической сложности алгоритма используется следующая нотация: 𝑂
(«О»-большое), которое описывает верхнюю границу времени. 

✍️ Категории алгоритмической сложности в 𝑂-нотации:

- Постоянное время: 𝑂(1)
Время выполнения не зависит от количества элементов во входном наборе данных.
- Линейное время: 𝑂(𝑁)
Время выполнения пропорционально количеству элементов в наборе.
- Логарифмическое время: 𝑂(log𝑁)
Время выполнения пропорционально логарифму от количества элементов в наборе.
- Линейно-логарифмическое время: 𝑂(𝑁log𝑁)
Время выполнения больше чем, линейное, но меньше квадратичного.
- Квадратичное время: 𝑂(𝑁^2)
Время выполнения пропорционально квадрату количества элементов в наборе.

🔗 Ссылка на отличную шпаргалку
👍17🔥93🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
🥤🛡️ Как сделать Flask-приложение неуязвимым: полное руководство по защите от хакерских атак

Лучшие практики по созданию надежного и безопасного Flask-приложения, включая защиту от XSS/CSRF и API, созданных с помощью Flask.

👉 Читать статью
👉 Зеркало
😁47👍75🥰1
🔍 Скрытые коммиты GitHub и где они обитают

🤔 Было у вас такое, когда вы закоммитили то, что не должно было попасть в публичный репозиторий? Ну «секреты» там всякие, или еще что! «А в чем проблема?» — спросите вы. Дело в том, что перезаписать историю коммитов GitHub-репозитория можно, но старые коммиты физически не удаляются с серверов GitHub. Это означает, что хотя эти коммиты не отображаются в обычной истории коммитов и не клонируются с репозиторием, они все еще доступны через API.

🛠 GitHub API предоставляет информацию о различных событиях в репозитории, включая PushEvent. Даже если коммит был удален из истории, событие PushEvent, связанное с этим коммитом, все еще может быть доступно через API. Это позволяет определить хеш удаленного коммита и обратиться к нему. Читайте подробнее исследование на эту тему или воспользуйтесь Python-скриптом Github Secrets, чтобы проверить свои репозитории.
👍23🤔92
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
👍4
🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали

Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.

👉 Читать статью
👉 Зеркало
👍11🥱65
🔥 На прошлой неделе представлена версия 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️⃣ Расширенные возможности работы с путями и файлами: в новой версии добавлены новые атрибуты для работы с путями файлов, позволяя более гибко управлять добавлением файлов в индекс.

👉 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍41
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
3❤‍🔥1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔎 Пошаговый разбор работы базового поискового движка

1️⃣ Crawling
2️⃣ Indexing
3️⃣ Ranking
4️⃣ Querying

👉 Источник

#инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔2
💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?

🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)

#холивар
👍155🤩55🤔41😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🧰 GitButler — инструмент управления ветками Git, созданный для современных workflow (работает пока только на macOS/Linux). Это Git-клиент, который позволяет быстро организовывать изменения файлов в отдельные ветки, сохраняя при этом их применение к вашей рабочей директории.

☑️ Основные особенности включают управление несколькими ветками одновременно с помощью «виртуальных веток», удобное управление коммитами (например, отмена, изменение, слияние), интеграцию с GitHub и, конечно же, функции ИИ.

💡 Короче говоря, это более гибкая версия git add -p и git rebase -i, позволяющая эффективно работать с несколькими ветками.

👉 GitHub
👉 Сайт

#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🥱31
This media is not supported in your browser
VIEW IN TELEGRAM
Коллеги, сворачиваем лавочку

🤨 Дженсен Хуанг, основатель и гендир Nvidia, на саммите World Government Summit в Дубае высказался о будущем мира в новой реальности ИИ и его влиянии на нашу с вами карьеру. По словам Хуанга, доминировавший в течение последних 10-15 лет призыв учиться программированию или обучать этому детей, а также стремиться к карьере в области компьютерных наук, теперь устарел.

🗣 Основатель Nvidia утверждает, что благодаря достижениям в области ИТ потребность в технических специалистах и количество технических рабочих мест в долгосрочной перспективе сократятся. Он говорит, что задача создателей компьютерных технологий — сделать так, чтобы никому не пришлось программировать, и чтобы языком программирования был человеческий язык. Таким образом, каждый человек в мире теперь является программистом, что является чудом ИИ.

📌 Главный совет — специализироваться в конкретных областях, включая науку, производство, с/х, строительство, образование, инженерия и т.д. При этом важно понимать проблемы в этих областях и использовать автономные интеллектуальные технологии для их решения, без необходимости тратить месяцы или годы на разработку необходимого софта вручную.

🤯 Хуанг также отмечает, что совет «учиться программированию» всегда казался ему неправильным, т. к. у всех нас ограниченное количество времени, и если мы тратим его на одно направление, мы автоматически не можем инвестировать его во что-то другое. Другими словами, он советует не учиться программированию, а учиться быть отличным в чем-то полезном, чем бы это ни было. ИИ всегда будет помогать в этом.

#назлобудня
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱82😁28👍14🤔7🔥3
🧠 Знания — сила! Что должен изучить каждый программист?

Мы запускаем опрос среди наших читателей, чтобы выяснить, какие ключевые компетенции необходимо развивать программисту на текущий момент. Какие направления стоит изучать в первую очередь? Уровень каких знаний влияет на зарплату в отрасли?

Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!

👉 Пройти опрос
😁7👍62