proglibrary | Technologies

Telegram-канал proglibrary - Библиотека программиста | программирование, кодинг, разработка

85658

Все самое полезное для программиста в одном канале. По рекламе: @proglib_adv Курс по ML: https://clc.to/eLH_zQ Другие курсы: https://clc.to/goHZHA Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5ba2901234b69883a4d46

Subscribe to a channel

Библиотека программиста | программирование, кодинг, разработка

🔥 Многие рассуждали в правильном направлении — так держать!

В этой задаче достаточно ввести два указателя. Первый будет увеличиваться при прохождении одного узла списка, второй – при прохождении двух узлов.

В момент, когда второй указатель дойдёт до конца списка (наткнётся на NULL), первый будет указывать на середину списка.

👨‍💻 Пример:

public class Central {    
public static void main(String args[]) {
LinkedList linkedList = new LinkedList();
LinkedList.Node head = linkedList.head();
linkedList.add( new LinkedList.Node("1"));
linkedList.add( new LinkedList.Node("2"));
linkedList.add( new LinkedList.Node("3"));
linkedList.add( new LinkedList.Node("4"));
linkedList.add( new LinkedList.Node("5"));
linkedList.add( new LinkedList.Node("6"));
linkedList.add( new LinkedList.Node("7"));
linkedList.add( new LinkedList.Node("8"));
linkedList.add( new LinkedList.Node("9"));
linkedList.add( new LinkedList.Node("10"));
LinkedList.Node current = head;
int length = 0;
LinkedList.Node middle = head;
while(current.next() != null){
length++;
if(length%2 ==0){
middle = middle.next();
}
current = current.next();
}
if(length%2 == 1){
middle = middle.next();
}
System.out.println("length of LinkedList: " + length);
System.out.println("middle element of LinkedList : " + middle);
}
}
class LinkedList{
private Node head;
private Node tail;
public LinkedList(){
this.head = new Node("head");
tail = head;
}
public Node head(){
return head;
}
public void add(Node node){
tail.next = node;
tail = node;
}
public static class Node{
private Node next;
private String data;
public Node(String data){
this.data = data;
}
public String data() {
return data;
}
public void setData(String data) {
this.data = data;
}
public Node next() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
public String toString(){
return this.data;
}
}
}


🐸 Библиотека программиста

#хардкод

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Как найти средний элемент в LinkedList за ОДИН ПРОХОД?

🚨 Это ночное включение. Предлагай свое решение в комменты, ответ опубликуем завтра!

Ты знаешь, что средний элемент в LinkedList несложно найти, определив длину списка, последовательно пройдя все его узлы, пока не дойдёшь до NULL в первом проходе. А затем, пройдя половину из них во втором проходе.

Но как ее решить за один проход?


🐸 Библиотека программиста

#хардкод

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Создавайте технологии, которые меняют мир

В команду Яндекса нужны бэкенд-разработчики с опытом от 3 лет на C++, Python, Java/Kotlin, Go — строить полезные сервисы для миллионов пользователей.

Как получить офер за неделю?

• До 12 ноября оставить заявку на участие и пройти предварительный этап.
• 15–16 ноября решить задачи на технических секциях.
• 17–21 ноября прийти на финальную встречу.

Присоединяйтесь к одной из команд Яндекса, чтобы усилить нашу инженерную культуру и строить новую технологическую реальность.

Читайте подробности и оставляйте заявку на сайте.

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

DevOps — это так, для души

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

👾 Весь код в OpenAI теперь проверяет Codex

ИИ ревьюит код в компании, которая разрабатывает ИИ. Круг замкнулся!


— это одна из многих новостей с недавнего OpenAI DevDay 2025.

Что интересного тебя ждет?

1️⃣ В ChatGPT завезли приложения — что-то типа MCP на максималках: ChatGPT соединяется с приложением, и ты можешь работать с ним прямо не выходя из чата.

▪️Figma — создаёт дизайн по описанию
▪️Booking / Expedia / Zillow — ищут жильё и варианты бронирования
▪️Canva — собирает презентации и постеры
▪️Spotify — генерирует плейлисты
▪️Coursera / Khan Academy — обучают прямо в окне чата
▪️Uber / DoorDash / Instacart — доставляют еду и вызывают транспорт

2️⃣ Agent Builder — конструктор, в котором собрать рабочего агента можно почти как лего-набор.

3️⃣ Обновлённый Codex — тот самый кодинг-агент, который теперь способен часами решать задачи разработки, подключаться к Slack, управлять устройствами и встраиваться в любые продукты через SDK.

▪️Агент вышел из беты — теперь стабильный и с расширенными возможностями
▪️Встроенная галерея виджетов и поддержка MCP
▪️Slack-интеграция: агент читает чаты и понимает контекст
▪️Codex SDK — можно встроить агента куда угодно, хоть в IoT-лампочку

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Нейронка раскидала всё как есть на самом деле

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🧰 Ключевые советы по проектированию RESTful API

1️⃣ Domain Model Driven — проектируй API согласно логике предметной области

2️⃣ HTTP Methods — используйте GET для чтения, POST для создания, PUT для обновления, DELETE для удаления

3️⃣ Idempotence — повторный запрос не должен ломать систему: GET, PUT, DELETE безопасны при повторе, а POST — нет

4️⃣ Status Codes — всегда возвращай понятные коды ответов (200, 201, 400, 404, 500), чтобы клиент понимал, что произошло

5️⃣ Versioning — добавляй версию в URL, чтобы не ломать старые клиенты после обновления API

6️⃣ Semantic Paths — проектируй роуты как существительные (/users, /orders/{id}/items), без глаголов вроде /getUser

7️⃣ Batch Processing — позволяй работать сразу с несколькими объектами (/users/batch), чтобы не дергать API сто раз

8️⃣ Query Language — добавляй параметры для фильтрации, сортировки и пагинации (?page=1&sort=name), чтобы было удобно искать данные

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Айтишник деталь не выточит, сеть коммуникаций не построит


...без таких специалистов зачастую невозможно обойтись — например, без токаря и фрезеровщика не получится выточить необходимую деталь, а без сварщика две части одной конструкции единым целым не станут.


Нейросети уже лишают работы ИТ-специалистов, в особенности программистов, однако научить искусственный интеллект, к примеру, варить металл, будет, вероятнее всего, непросто.


Несколько цитат из сенсационной статьи. А ведь и не поспоришь ведь 🤦‍♂️

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

📃🗑 «Пишу чистый код» и еще 50 фраз, из-за которых ваше резюме летит в корзину

Рекрутеры видят одно и то же в каждом втором резюме: «командный игрок», «работаю с современными технологиями», «обладаю аналитическим складом ума». Эти клише не просто скучны — они ставят под сомнение твою компетентность.

👉 Разбираем 50+ шаблонных фраз по всем IT-направлениям и показываем, как их заменить или вообще выкинуть

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

diff в Linux — полезная команда для поиска различий между файлами, но icdiff — еще круче:

$ icdiff config-dev.ini config-prod.ini


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

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Алло, я HR-риэлтор

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Техподы, было?

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🔥 Рынок IT в 2025: меньше вакансий, выше требования, больше фейков | Алексей Сухоруков | Подкаст «Организованное программирование»

Рынок найма снова лихорадит: кандидатов — море, вакансий — сильно меньше, а требования растут как на дрожжах.

В недавнем выпуске подкаста Алексей Сухоруков — человек, который 20 лет в IT-рекрутменте, — рассказывает, почему сегодня рынок стал «рынком компаний», и как ИИ, санкции и ковид перекроили правила игры.

⚡️ Как AI вымывает простые задачи и усложняет жизнь джунам
⚡️ Почему дипфейки добрались до собеседований
⚡️ Как рекрутеры теряют позиции из-за автоматизации
⚡️ И где теперь искать работу, если хочешь остаться в IT

🎧 Слушать выпуск

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

HTTP2 🆚 HTTP3

👉 HTTP1 → HTTP2

Первая версия протокола HTTP требовала дожидаться получения ответа перед отправлением следующего запроса в рамках одного соединения.

Во второй версии это исправили. Соединение может использоваться без ожидания завершения уже отправленного запроса.

👉 HTTP2 → HTTP3/QUIC

Проблема блокировки была решена в версии 2 — но только на уровне HTTP-протокола. На транспортном уровне TCP она все еще есть в виде обязательного последовательного получения пакетов.

Поэтому версию 3 собрали на протоколе UDP, в которой этой особенности нет, и назвали это QUIC.

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

👩‍💻 Напоминаем про наш полный курс «Самоучитель по Go для начинающих»

Мы написали и собрали для вас в одну подборку все 18 частей, подкрепленных практикой.

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net
18. Протокол HTTP. Создание HTTP-сервера и клиента. Пакет net/http

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🤯 Работать 38 часов в неделю — слишком мало для достижения успеха

Для реального карьерного роста необходимы минимум 60 часов в неделю

— отметил Andrew Feldman, CEO компании стоимостью $8 миллиардов.

🤔 Что вы там говорите про work-life balance?

Исследования показывают, что топ-менеджеры работают в среднем 62,5 часа в неделю. 39% предпринимателей трудятся более 60 часов. А 70% владельцев бизнеса вообще забыли, что такое выходные.

В Кремниевой долине график «996» — работа с 9 утра до 9 вечера шесть дней в неделю. Некоторые ИИ-стартапы вообще перешли на 100-120 часов в неделю, но это, видимо, когда фиксят последствия вайб-кодинга.

Такова реальность: без переработок — нет успеха 😡

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

💥 Железная математика

«Гений. Миллиардер. Инноватор. Data Scientist»
— Тони Старк, если бы занимался аналитикой данных


🚀 Мы запускаем экспресс-курс «Математика для Data Science»

Вас ждут:

🔹 10 живых вебинаров с экспертами;
🔹 общение в закрытом чате;
🔹 3 практических проекта;
🔹 викторина с розыгрышем TG-Premium 🏆

🧠 Спикеры Stark Industries уровня:

▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;

▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);

▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ;

👉 Запишись, как Железный Человек!

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🦑 Экспресс-курс «Математика для Data Science»

Добро пожаловать в игру.

⏺️ Ваша задача продержаться 10 раундов.
🔼 Каждый раунд: вебинар с экспертами, задачами и практикой.
⏹️ Пропуск — потеря шанса заложить фундамент своей карьеры в DS.

🎯 На испытаниях вас ждут:

— линейная алгебра;
— математический анализ;
— теория вероятности и статистика;
— градиенты и экстремумы функций;
— алгоритмы машинного обучения.

📜 Правило игры №7:

Оплатите участие до 19 октября и получите курс по базовой математике в подарок.

👉 Регистрируйся пока играет музыка!

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

ClickHouse и Cassandra: что скрывают highload-системы

16 октября в 18:00 на митапе 43Tech — три реальных кейса от инженеров, которые ежедневно работают с высоконагруженными хранилищами и миллиардами записей.

🟡Cassandra для маркировки товаров: как UDT помогают (и вредят), какие архитектурные решения работают и как можно оптимизирвать структуры данных
🟡ClickHouse без боли: эффективная запись данных, дедупликация и настройки, которые реально ускоряют вставку.
🟡Расскажем про цену «нулевой потери данных», как мы выбирали между производительностью и надёжностью при использовании Cassandra.

Митап пройдет в гибридном формате: вы можете присоединиться лично или онлайн.
Участие бесплатное, ссылку на трансляцию пришлем накануне.

Регистрация и подробности по ссылке: https://career.crpt.ru/events/database-meetup

Информационный канал /channel/database_43Tech
Чат для общения и нетворкинга: /channel/+N2GU6FaVzPhlNmYy

Реклама. ООО "НАЦИОНАЛЬНЫЙ КАТАЛОГ", ИНН 9731002289. Erid 2Vtzqwb1T2M

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Кому надо?

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🐧 Когда ты запускаешь команду через SSH, она падает при закрытии сессии. nohup (no hangup) решает это — команда продолжает работать даже после выхода.

nohup tar -cf archive.tar file1 file2 > /var/log/tar.log 2>&1 &


💡 Что нужно знать:

nohup игнорирует SIGHUP — процесс живёт после разрыва сессии.
✹ Без перенаправления весь вывод попадёт в nohup.out.
✹ Добавь &, чтобы запустить в фоне.
✹ Завершить можно обычным kill.

🧠 Альтернативы:

disown — отвязать уже запущенный процесс.
setsid — запуск в новой сессии.
✹ Для сервисов лучше — systemd unit.

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

3. Постоянно грозиться, что уволилишься, и не увольняться

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Коллеги, как у нас обстановка по экспертам?

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🍁 Осенние скидки на курсы от proglib.academy

Как быстро войти в IT? Вот пошаговый план:

1️⃣ изучаем Python для быстрого старта;
2️⃣ осваиваем алгоритмы эффективного решения задач;
3️⃣ учим математику для DS и работы с данными;
4️⃣ разбираем архитектуру кода для создания стабильных систем;
5️⃣ зарабатываем 500 тыс. $ в секунду.

🎓 И у нас есть курсы на каждый этап со скидкой 40% весь октябрь!

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

💉 БАЗА по SQL-инъекциям

SQL-инъекции делятся на три основные группы по способу получения данных.

1️⃣ In-band (внутриполосная) — атака и получение данных через один канал

Два подтипа:

▪️Error-based — атакующий вызывает ошибки БД и вытаскивает из них информацию.

▪️Union-based — добавляет UNION SELECT к существующему запросу и получает данные в обычном HTTP-ответе.

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

2️⃣ Blind (слепая инъекция) — данные читаются по поведению сервера

Никаких записей из БД в ответе — хакер делает выводы по изменениям в ответе или по задержкам

▪️Time-based — запрос заставляет БД задержать ответ, по времени отклика делаются выводы

▪️Boolean (булевая) — запросы возвращают true/false, по этим значениям восстанавливается информация

Если в теле ответа ничего нет, но сайт ведёт себя по-разному — это может быть «слепая» инъекция.

3️⃣ Out-of-band (внеполосная)

Используется когда:

▪️Невозможно атаковать и получить данные через один канал

▪️Сервер работает нестабильно или слишком медленно

Данные передаются через альтернативные каналы (DNS, HTTP-запросы на внешний сервер хакера).

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🤖 Model Context Protocol — универсальный протокол для взаимодействия с ИИ

Сергей Фролов, автор проекта That's IT, объяснил простым языком: MCP — попытка создать стандартный протокол общения между ИИ и внешним миром, анонсированный Anthropic в ноябре 2024 года.

💡 Какую проблему решает?

Современные ИИ-ассистенты — очень умные, но совершенно оторванные от реальности теоретики, которые живут в информационном вакууме. Каждая интеграция с новым API или сервисом — это боль и зоопарк несовместимых решений.

🧰 Архитектура

Классическая клиент-серверная модель с тремя компонентами:

🔴 MCP Host — приложение, где живет LLM (например, Claude Desktop)
🔴 MCP Client — компонент внутри хоста для общения с серверами
🔴 MCP Server — внешняя программа, предоставляющая данные или функции

Общение происходит через HTTP + JSON-RPC для запросов и Server-Sent Events для асинхронности и стриминга.

📦 Основные элементы протокола

🔴 Messages — структурированный диалог с ролями: user, assistant, system, tool

🔴 Tools — внешние сервисы, которые модель может вызывать

🔴 Memory — серверы памяти для хранения заметок, фактов, векторных представлений

🔴 Files & Resources — доступ к файлам, БД, API через URI-схемы

🔴 Prompts — предопределенные шаблоны взаимодействия для стандартных задач

🤖 Практическое применение

С поддержкой MCP можно просто написать «Открой мой документ gdrive://МойДиск/Отчет.gdoc, сделай саммари раздела про расходы на рекрутинг» — и ИИ откроет и прочитает файл, без копирования и вставки.

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Просто запусти это, когда тимлид подойдет к твоему рабочему месту:

while :;do echo $LINES $COLUMNS $((RANDOM%COLUMNS)) "$(printf "\U$((RANDOM%500+1000))")";sleep 0.05;done|gawk '{a[$3]=0;for(x in a){o=a[x];a[x]=a[x]+1;c=int(rand()*5);if(c==0)col="\033[1;32m";else if(c==1)col="\033[0;32m";else if(c==2)col="\033[1;36m";else if(c==3)col="\033[1;31m";else col="\033[1;37m";printf "\033[%s;%sH%s%s",o,x,col,$4;printf "\033[%s;%sH\033[0m",a[x],x;if(a[x]>=$1)a[x]=0;}}'


🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

Так сеньор в итоге затащил бы эту задачу?

🐸 Библиотека программиста

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

🚀 Курс «ИИ-агенты для DS-специалистов» уже стартовал

Первый вебинар успешно прошёл, участники уже начали разбираться, как использовать ИИ-агентов в реальных проектах.

Но всё самое интересное только начинается!

🔥 Впереди 4 мощных занятия — с практикой, инсайтами и разбором кейсов от экспертов.

💸 Сейчас действует специальная цена → 69.000 ₽ вместо 79.000 ₽.

⏳ Осталось всего 4 места.

Не упустите шанс прокачаться в том, что будет определять будущее индустрии.

👉 Забронировать место на курсе

Читать полностью…

Библиотека программиста | программирование, кодинг, разработка

📄🚫 5 неочевидных ошибок в резюме айтишника, которые убивают отклики

Резюме вроде нормальное, скиллы есть, а отклики уходят в пустоту? Проблема не в вас, а в том, как вы упаковываете свой опыт. Разбираем неочевидные ошибки айтишников при составлении резюме.

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

🐸 Библиотека программиста

Читать полностью…
Subscribe to a channel