Forwarded from Азбука айтишника
🔀 Как айтишнику оформить отношения с работодателем: разбираем ТД, ГПХ, самозанятость и ИП
Подробный гайд по видам трудоустройства в IT-сфере. Разбираем особенности, налоговые ставки, социальные гарантии и подводные камни каждого из популярных форматов сотрудничества.
👉 Статья
Азбука айтишника
#свежак
Подробный гайд по видам трудоустройства в IT-сфере. Разбираем особенности, налоговые ставки, социальные гарантии и подводные камни каждого из популярных форматов сотрудничества.
👉 Статья
Азбука айтишника
#свежак
👍1😁1
Разберут, как превратить AI из инструмента для отдельных задач в часть инженерного процесса
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Proglib.academy | IT-курсы
Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали.
Поэтому в большой команде недостаточно просто выбрать хорошую модель.❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения.
GenAI Data Platform, и с этой проблемой сталкивался не раз
Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что такое loop unrolling (развёртывание цикла)?
Anonymous Quiz
22%
Полное удаление цикла и замена его вызовом функции
7%
Перенос всех вычислений цикла в отдельный поток
7%
Автоматическое кэширование результатов каждой итерации
54%
Дублирование тела цикла ради уменьшения накладных расходов
11%
Замена цикла рекурсией для лучшей читаемости кода
❤5😁2
Ниже — бесплатный вебинар о том, как этого избежать 📍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from Proglib.academy | IT-курсы
Где-то есть тесты, где-то их забыли. Где-то агент следует архитектуре проекта, где-то предлагает решение, которое с ней не сочетается.
Завтра покажем, как передать AI инженерный контекст команды и не превратить его внедрение в ещё один источник хаоса.
Бесплатно. 60 минут доклада + 30 минут вопросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Forwarded from Библиотека Go-разработчика | Golang
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
C++23 значительно расширил библиотеку Ranges. Рассмотрим важнейшие добавления.
Раньше преобразование view в контейнер было неудобным:
// C++20: нужно было делать так
std::vector<int> v = {1, 2, 3, 4, 5};
auto view = v | views::filter([](int x) { return x > 2; });
std::vector<int> result(view.begin(), view.end()); // громоздко!
C++23 добавляет
std::ranges::to:// C++23: красиво и лаконично
auto result = v
| views::filter([](int x) { return x > 2; })
| std::ranges::to<std::vector>();
// result = {3, 4, 5}
// Можно указать тип элементов явно
auto strs = views::iota(1, 6)
| views::transform([](int x){ return std::to_string(x); })
| std::ranges::to<std::vector<std::string>>();
// strs = {"1", "2", "3", "4", "5"}
// Работает и с другими контейнерами
auto s = some_range | std::ranges::to<std::set>();
auto m = pairs_range | std::ranges::to<std::map>();
views::zip_transform — zip + transform в одномstd::vector<int> a = {1, 2, 3};
std::vector<int> b = {10, 20, 30};
// Попарная сумма
auto sums = views::zip_transform(std::plus{}, a, b);
// 11, 22, 33views::adjacent — соседние N-киstd::vector<int> v = {1, 2, 3, 4, 5};
// Пары соседних элементов
for (auto [a, b] : v | views::adjacent<2>) {
std::cout << "(" << a << "," << b << ") "; // (1,2) (2,3) (3,4) (4,5)
}
// Тройки
for (auto [a, b, c] : v | views::adjacent<3>) {
std::cout << a+b+c << " "; // 6 9 12
}views::adjacent_transform — скользящая функцияstd::vector<int> v = {1, 2, 3, 4, 5};
// Скользящий максимум из двух соседних элементов
auto sliding_max = v | views::adjacent_transform<2>(
[](int a, int b) { return std::max(a, b); }
);
// 2, 3, 4, 5views::slide — скользящее окноstd::vector<int> v = {1, 2, 3, 4, 5};
// Скользящее окно размером 3
for (auto window : v | views::slide(3)) {
for (int x : window) std::cout << x << " ";
std::cout << "| ";
}
// 1 2 3 | 2 3 4 | 3 4 5 |views::cartesian_product — декартово произведениеstd::vector<int> xs = {1, 2};
std::vector<char> ys = {'a', 'b', 'c'};
for (auto [x, y] : views::cartesian_product(xs, ys)) {
std::cout << "(" << x << "," << y << ") ";
}
// (1,a) (1,b) (1,c) (2,a) (2,b) (2,c)C++23 добавляет
std::generator<T> — корутину, которая является диапазоном:#include <generator> // C++23
std::generator<int> fibonacci() {
int a = 0, b = 1;
while (true) {
co_yield a;
auto next = a + b;
a = b;
b = next;
}
}
// Использование как обычного диапазона!
for (int f : fibonacci() | views::take(10)) {
std::cout << f << " "; // 0 1 1 2 3 5 8 13 21 34
}
// Можно комбинировать с другими адаптерами
auto big_fibs = fibonacci()
| views::filter([](int x) { return x > 100; })
| views::take(5);
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Кажется, безобидная замена
< на <=. Но теперь в сет уникальных чисел попадают дубликаты, а find иногда не находит существующий элемент.struct Cmp {
bool operator()(int a, int b) const { return a <= b; }
};
std::set<int, Cmp> s;
s.insert(5);
s.insert(5);
// s.size() == ? find(5) работает?📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Proglib.academy | IT-курсы
Агент работает только с тем контекстом, который ему дали. Если документация неполная или устарела, он начинает додумывать — отсюда появляется неверный код.
Также разберём, как выбирать модель под задачу: Claude, DeepSeek, Qwen и другие
Впереди 7 недель работы со своим репозиторием. Вебинары проходят вживую и остаются в записи.
Стартуем 31 августа. До конца июля можно присоединиться по ранней цене, а доступ к материалам останется бессрочным
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🐸 Подборка вакансий для C++-разработчиков за неделю
C++ Developer (Chromium) — Sigma Browser — Офис (Санкт-Петербург)
Разработчик C++ — от 100 000 ₽ Офис (Новосибирск)
Разработчик С++ — Удалёнка
Разработчик С++/QT — от 160 000 и до 300 000 ₽ Удалёнка
Руководитель / Начальник отдела разработки ПО (C++) — Доход по договоренности, Офис (Санкт-Петербург)
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
C++ Developer (Chromium) — Sigma Browser — Офис (Санкт-Петербург)
Разработчик C++ — от 100 000 ₽ Офис (Новосибирск)
Разработчик С++ — Удалёнка
Разработчик С++/QT — от 160 000 и до 300 000 ₽ Удалёнка
Руководитель / Начальник отдела разработки ПО (C++) — Доход по договоренности, Офис (Санкт-Петербург)
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#вакансии
👍2
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Азбука айтишника
Насколько востребованы релоканты на российском рынке труда сегодня и кому из них будет проще найти работу в IT?
👉 Статья
Азбука айтишника
#свежак
👉 Статья
Азбука айтишника
#свежак
😁3👍1
Куда на самом деле уходят токены во время агентного кодинга? ⚡️
❤1
Forwarded from Proglib.academy | IT-курсы
В итоге станет понятнее, сколько ресурсов выделять на запуск, когда его останавливать и в какой момент лучше изменить подход🔍
До 31 июля курс можно купить со скидкой, а все материалы останутся в бессрочном доступе.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Азбука айтишника
🛡️ Почему 432 уязвимости в Linux — не повод паниковать
Недавно в новостях мелькнуло: за 31 час в ядре Linux нашли 432 уязвимости. Звучит как катастрофа — разберёмся, почему на самом деле это рабочая рутина.
🍒 Что такое CVE
🥝 Откуда столько сразу
Заявки копились неделями из-за конференций и отпусков. То есть 432 дыры не открылись одновременно — их просто зарегистрировали одним заходом.
🥕 Номер ≠ катастрофа
Команда ядра намеренно присваивает CVE даже мелким исправлениям, которые теоретически могут повлиять на безопасность.
❗Если вы собираете ядро сами то стоит сопоставить из описания каждого CVE с теми компонентами, что реально включены. Так список «что чинить» сразу сокращается до 10%.
👉 Продолжение
Азбука айтишника
#свежак
Недавно в новостях мелькнуло: за 31 час в ядре Linux нашли 432 уязвимости. Звучит как катастрофа — разберёмся, почему на самом деле это рабочая рутина.
🍒 Что такое CVE
CVE (Common Vulnerabilities and Exposures) — это уникальный номер, который присваивают каждой потенциальной дыре в безопасности. Один CVE = одна запись в общем каталоге, чтобы все говорили об одной и той же проблеме одинаково.🥝 Откуда столько сразу
Заявки копились неделями из-за конференций и отпусков. То есть 432 дыры не открылись одновременно — их просто зарегистрировали одним заходом.
🥕 Номер ≠ катастрофа
Команда ядра намеренно присваивает CVE даже мелким исправлениям, которые теоретически могут повлиять на безопасность.
❗Если вы собираете ядро сами то стоит сопоставить из описания каждого CVE с теми компонентами, что реально включены. Так список «что чинить» сразу сокращается до 10%.
👉 Продолжение
Азбука айтишника
#свежак
👍3❤2