proglibrary | Technologies

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

77049

Все самое полезное для программиста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Учиться у нас: https://proglib.io/w/a32a0d94 Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising

Subscribe to a channel

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

🔍Вопросы с собеседований и задачи по C#

У нас появились новые каналы по C#, в которых мы готовимся к собеседованиям и проверяем себя на практических задачках 🚀

Подписывайтесь:
👉Библиотека собеса по C# — тут мы готовимся к интервью
👉Библиотека задач по C# — тут решаем задачи, проходим тесты и изучаем код

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

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

Как работают SQL Joins: шпаргалка от ByteByteGo (Alex Xu)

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

🔹INNER JOIN возвращает совпадающие строки в обеих таблицах
🔹LEFT JOIN возвращает все записи из левой таблицы и соответствующие записи из правой
🔹RIGHT JOIN возвращает все записи из правой таблицы и соответствующие записи из левой
🔹FULL OUTER JOIN возвращает все записи, в которых есть совпадения, в левой или правой таблице

#cheatsheet

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

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

Привет! Приглашаем на девятый QIWI Server Party. В этот раз своими историями поделятся спикеры из QIWI, Яндекса и Альфа-Банка.

В программе митапа:
— Павел Черняк, QIWI «Нельзя просто так взять и обновить»
Обновление Java до 17 версии, Spring Framework до 6-й и связанные с этим подводные камни;

— Андрей Свиридов, Альфа-Банк «Как TDD поможет вам лучше работать»
Польза TDD как подхода для повышения качества кода;

— Дмитрий Некрылов, Yandex 360 «Защищаем пользователей от раздвоения конференций»
Лучше практики Яндекса для спасения пользователей Телемоста от раздвоения;

— Самвел Барсегян, QIWI «Инфраструктурная платформа QIWI»
Знакомство с Platform engineering на практическом примере.

Приезжай на митап или подключайся к трансляции.
Детали и регистрация по ссылке.

Реклама. Рекламодатель: КИВИ Банк (АО). ИНН: 3123011520. Erid: 2SDnjdmYEvL

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

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

Первая конференция Сбера по ИТ-архитектуре «Arch.Conf by Sber» уже совсем скоро! ⏱️

12 декабря спикеры из Тинькофф, Газпром нефти, Норникеля, Билайна, Русагро Тех, Cloud.ru, СберАвто, Сбера и других компаний расскажут о:

— Трендах и развитии управления IT-архитектурой, «Архитектуре как код» и облачных технологиях

— Собственном опыте в принятии архитектурных решений

— Практиках и инструментах трансформации и контроля IT-ландшафта и построения геораспределённых систем

Познакомьтесь с действующими IT-архитекторами и управленцами крупных компаний и станьте частью большого архитектурного сообщества!

Узнать программу и зарегистрироваться на Arch.Conf by Sber

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

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

Python-разработчики, готовы к новым карьерным возможностям? Тогда One Day Offer от Сбера для вас!

16 декабря вы сможете пройти fast-интервью и при успешном прохождении получить оффер. Чем предстоит заниматься?

— Решать технические задачи при разработке новых и доработке существующих сервисов с использованием Python
— Взаимодействовать с другими сервисами посредством различных API
— Работать с заказчиками, аналитиками и смежными командами.

Присоединяйтесь к команде SberDevices, которая создает голосовые продукты, умные устройства, виртуальных персонажей и другие интересные проекты:
• Поисковый сервис SmartSearch
• Краудсорсинговую платформу TagMe для разметки данных
• Intelligent Document Processing – продукты для решения задач обработки неструктурированного контента
• Мультимодальную нейросетевую модель GigaChat.

Работа в крупнейшем IT-сообществе ждет вас. Все, что нужно сделать – зарегистрироваться на One Day Offer и готовиться к интервью.

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

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

🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈

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

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

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

Трехчасовой курс погрузит вас в тему на примере реального проекта: от сбора данных до деплоя, с использованием самых современных инструментов, включая ZenML, MLflow и различные библиотеки MLOps.

📺 Смотреть

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

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

🎙Серия языковых и платформенных выпусков подкаста Podlodka пополнилась интересной темой про язык TypeScript, который настолько глубоко проник во фронтенд-экосистему, что JavaScript де-факто зависит от него.

Андрей Старовойт, тимлид команды WebStorm в JetBrains, который много лет занимался поддержкой TypeScript в IDE, рассказал всё про принципы дизайна языка, устройство системы типов, экосистему и известные проблемы.

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты

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

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

⚡️Свершилось: канал с книгами только по C#

Мы создали для вас канал с книгами по C#, куда будем публиковать самые полезные книги по C#, F#, .NET и ASP.NET. Подписывайтесь!

👉Книги для шарпистов | C#, .NET, F#

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

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

🤔 Как вкатиться в Machine Learning с нуля за ноль рублей? Универсального ответа нет, но можно опереться на опыт других айти-специалистов.

👾 Лаида Кушнарева, старший Академический Консультант в Huawei (AI Foundation and Algorithm Lab), делится своим мнение о том, что, где и в какой последовательности изучить.

👉 Читать

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

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

Когда ИИ станет настоящим конкурентом человека?

На конференции «Импульс Т1», организованной Холдингом Т1, Пётр Басин, эксперт по исследованиям пользовательского опыта из Группы «Иннотех», поделился размышлениями на эту тему.

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

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

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

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

Конференция «Импульс Т1» собрала вокруг себя множество интересных спикеров и докладов про технологии. Больше ИТ-новостей и экспертных мнений читайте здесь

Реклама. ООО «Т1», ИНН 7720484492

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

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

🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь

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

🔗 Читать статью
🔗 Зеркало

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

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

🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈

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

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

Предновогодний митап Frontend Night by Sber!⚡

Уже в понедельник, 11 декабря, Frontend-команда Сбера приглашает всех фронтендеров на свой заключительный митап в этом году. В программе:

✔️ Антон Непша — Senior Frontend-разработчик департамента IT-блока «Транзакционный банкинг B2C» — расскажет о том, как продать бизнесу рефакторинг и использовать простые решения для масштабных результатов.

✔️ Роман Ганин — Senior Frontend-разработчик команды «Салют В2В» — поделится секретами о важности тегов и их влиянии на работу сайтов.

✔️ Алексей Охрименко — TechLead Yandex Cloud — рассмотрит статистический анализ кода и покажет, как применить этот подход на практике.

А еще: много нетворкинга, игры и подарки.
Подключайтесь онлайн или приходите офлайн по адресу: г. Москва, ул. Маросейка, 7/8, FotoFaktura.
Важно: для участия в любом формате необходима регистрация.

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

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

Зачем проводить CTF для разработчиков, и как сделать его интересным

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

Важно, чтобы они умели писать защищенный код, и один из инструментов, который их сможет заинтересовать в развитии этого навыка — CTF.

🔗 Читать статью

Реклама, ООО «Антифишинг» , ИНН: 6950191442
Erid: 2VtzqvVLdSA

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

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

📌Интересные новости и обновления популярных инструментов для разрабов:

🤖 Google представила ИИ-модель Gemini, которая обходит GPT-4 в большинстве тестов. Вместе с семейством моделей Gemini был показан видеоролик, где человек взаимодействует с мультимодальной языковой моделью. Позже Google признала видео постановочным.
🗣 Линус Торвальдс рассказал о Rust в Linux, усталости сопровождающих ядра проекта и будущей роли ИИ в новых версиях ОС
⚡ На Rostelecom Tech Day представлена ОС «Аврора 5.0» и проект Aurora Foundation
😎 Опубликованы результаты анализа популярности открытых лицензий, в зависимости от используемых в проектах ЯП
🤝 Сформирован AI Alliance для совместного развития открытых технологий ИИ

🔸 Релиз ядра Linux 6.6.6, в котором предложено изменение, затрагивающее беспроводной стек cfg80211
🔸 Релиз системы сборки CMake 3.28
🔸 Обновление Debian 12.4
🔸 Выпуск Electron 28.0, платформы создания приложений на базе Chromium
🔸 Релиз веб-браузера Chrome 120

#чтопроисходит

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

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

🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈

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

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

🐍 5 задач для подготовки к собеседованию по Python

В нашей новой подборке задачи про составление анонимного письма, гипотезу Коллатца, судоку, разработку кэша для операций над ISBN и вычисление интервалов занятости. Можно попробовать сначала решить их самостоятельно, а затем прочесть нашу статью с подробным объяснением и кодом.

🔗Читать статью

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

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

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

🤔 Почему это не так и в чем есть качественные отличия объясняет Евгений Кот, которого вы могли слышать в подкасте «Доктор Кот» про психологию в айти.

Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты

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

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

🏃 Самоучитель по Go для начинающих. Часть 2. Ресурсы для изучения Go с нуля

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

🔗 Читать статью
🔗 Ссылка на первую часть

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

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

🗄 ACID в контексте транзакции базы данных: наглядная демонстрация от ByteByteGo (Alex Xu)

🔹 Atomicity (атомарность) гарантирует, что каждая транзакция будет выполнена полностью или не будет выполнена совсем. Не допускаются промежуточные состояния.
🔹 Consistency (согласованность). Благодаря тому, что транзакция не допускает промежуточных результатов, БД остается консистентной. Есть такое определение транзакции: «Упорядоченное множество операций, переводящих базу данных из одного согласованного состояния в другое». То есть до выполнения операции и после БД остается консистентной (согласованной).
🔹 Isolation (изолированность). Во время выполнения транзакции параллельные транзакции не должны оказывать влияния на ее результат.
🔹 Durability (надежность). Если пользователь получил подтверждение от системы о выполнении транзакции, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.

#вопросы_с_собесов

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

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

🗄 Endatabas (endb) — документная SQL база данных с полной историей.

📌 Что скрывается за этими словами?

🚀 Неизменяемость данных с полной историей: все записи в endb являются неизменяемыми, что обеспечивает полную историю изменений данных. Это делает endb идеальным выбором для приложений, где требуется аудит или отслеживание истории изменений, например, в финансовых системах или системах управления версиями.
🚀 SQL-совместимость с гибкой схемой: endb поддерживает SQL-запросы, что облегчает интеграцию с существующими системами и упрощает переход для команд, уже знакомых с SQL. Гибкая схема данных позволяет легко адаптироваться к изменяющимся требованиям без необходимости миграции данных.
🚀 Хранение данных в Apache Arrow: использование Apache Arrow для хранения данных обеспечивает высокую производительность и эффективность, особенно при работе с большими объемами данных и аналитических запросах.
🚀 Разделение хранения и вычислений: архитектура endb позволяет масштабировать хранилище и вычислительные ресурсы независимо, что делает endb подходящей для облачных и распределенных систем.
🚀 Поддержка HTAP (Hybrid Transactional/Analytical Processing): endb стремится обеспечить возможности HTAP, что делает ее подходящей как для транзакционных, так и для аналитических нагрузок без необходимости использования отдельных систем.

🔗 Документация

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

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

🎉 В прошлом месяце Turbo Pascal исполнилось 40 лет! Это был знаковый инструмент разработки, положивший начало компании Borland и тысячам карьер в области разработки ПО. Turbo Pascal в далеком 1983 году стала первой популярной IDE. В Embarcadero, компании, продолжающей работать над преемниками Turbo Pascal, выпустили 36-ю версию этого компилятора.

🤩 Хотите погрузить в историю? Читайте статью David Intersimone (Chief Evangelist & VP-Developer Relations в Embarcadero Technologies), где он делится воспоминаниями первой встречи с Philippe Kahn и начала работы с Turbo Pascal 40 лет назад.

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

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

📊 Состояние экосистемы разработчиков в 2023 

🤩 Команда JetBrains опубликовала результаты ежегодного опроса 26 348 разработчиков со всего мира. Он охватывает широкий спектр тем: от языков программирования, инструментов и технологий до демографических данных и интересных фактов.

📌 Основные тенденции в нашей подборке:

1️⃣ Тенденции в программировании:
• Наблюдается небольшое снижение популярности JavaScript за последние три года.
• Rust увеличивает свою популярность и является единственным широко используемым языком, который установил новый рекорд популярности в этом году.
• Objective-C теряет свою пользовательскую базу.

2️⃣ Тенденции зарплат разработчиков:
• Разработчики на Scala, Go и Kotlin входят в топ-3 категорий с самыми высокими зарплатами в 2023 году.
• Гендерный разрыв в индустрии остается значительным, только 5% разработчиков — женщины.

3️⃣ Генеративные ИИ-сервисы:
• 77% разработчиков используют ChatGPT.
• 46% используют GitHub Copilot.

4️⃣ Психическое здоровье в сообществе разработчиков:
• Разработчики, пережившие выгорание, проявляют больший интерес к своему психическому здоровью.
• 73% испытали выгорание в своей карьере.

5️⃣ Обучение и развитие:
• Большинство разработчиков сообщили, что изучали программирование в университетах и других образовательных учреждениях.
• В областях науки о данных, машинного обучения или инженерии данных более половины респондентов сообщили, что они самоучки.

6️⃣ Тестирование ПО:
• 58% респондентов, участвующих в тестировании, сообщают, что они разрабатывают автоматизированные тесты.
• 46% используют проектирование тестовых кейсов как часть своего процесса тестирования.

7️⃣ Опенсорсные проекты: 41% респондентов внесли свой вклад в проекты с открытым исходным кодом.

8️⃣ Удаленная и совместная разработка:
• 49% респондентов занимаются удаленной разработкой.
• 61% сообщили о практике совместной разработки.

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

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

✍️ Библиотека программиста» находится в поиске переводчика и автора оригинальных статей

Кто нужен?
● Энтузиасты, которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать

Тематика
● Java, C#
● В четырех случаях из пяти вы предлагаете тему статьи

Объем
● От 7 до 15 тыс. знаков без учета кода
● 3-4 статьи в месяц

Оплата
● 4к руб. за статью
● Перевод — 250 руб. за 1000 символов без учета кода
● В месяц выйдет ~16к руб.
● Работаем с самозанятыми (компенсируем налог), ИП

Тестовое задание
Автор: написать статью по Java или C#
Переводчик: перевести статью или часть статьи по Java или C#
● Тема: на ваше усмотрение
● ЦА: начинающие/джуны
● Объем: 5-7к символов без пробелов
● Не оплачивается

Не хочу выполнять тестовое задание
Если у вас есть опубликованные статьи, пришлите ссылки на них.

Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.

Где публикуется статья?

Статья публикуется на сайте proglib.io, в группе ВК (425к подписчиков), на канале «Библиотека джависта» (24к подписчиков) и в «Библиотека шарписта» (20к подписчиков).

Вакансию закроем 15 января. У вас есть время пройти курс и написать тестовое задание.

➡️ Заполнить анкету ⬅️

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

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

Правильная IT-иерархия в 2024 году. Кто знает — тот поймет!

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

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

💻🤦‍♂️ Работа — огромная часть жизни, и слишком часто рабочие моменты становятся личными конфликтами. Иерархия, какой бы горизонтальной ни была, все только усугубляет. Принцип «Я начальник — ты дурак» никак не изжить.

Как вы уже наверняка поняли, речь про новый выпуск подкаста «Доктор Кот». Ведущие разобрали два разных письма. Первое — про джунов, которым все кажется несправедливым. Когда с их перспективы все выглядит так: ты пашешь в поте лица, изо всех сил хочешь сделать хорошо, закрепиться и вырасти — а начальству и менеджерам на тебя плевать.

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

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты #айтипсихология

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

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

💡10 архитектурных стилей ПО и их паттерны: шпаргалка для разработчика

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

📌 Основные характеристики архитектурных стилей и примеры паттернов:

1️⃣ Многослойный: разделяет систему на слои с четко определенными ролями и зависимостями. Каждый слой выполняет определенную функцию.

📝 «N-уровневая архитектура», «Чистая архитектура».

2️⃣ Компонентно-ориентированный: фокусируется на разделении системы на отдельные, взаимозаменяемые компоненты, каждый из которых имеет четко определенный интерфейс.

📝 «Микроядро», «Плагин».

3️⃣ Сервисно-ориентированный: состоит из независимых сервисов, которые общаются друг с другом.

📝 SOA, Broker, «Микросервисы», FaaS.

4️⃣ Распределенная система: включает системы, распределенные по различным сетевым узлам для улучшения масштабируемости и надежности.

📝 Space-Based, «Одноранговая сеть».

5️⃣ Предметно-ориентированный: подход, сосредоточенный на моделировании домена и бизнес-логики, и акцентирующий внимание на сложных бизнес-правилах.

📝 Шестигранный паттерн, DDD.

6️⃣ Событийно-ориентированный: архитектура, основанная на обработке событий, где компоненты системы реагируют на события.

📝 CQRS, Pub-Sub.

7️⃣ Разделения ответственности: фокусируется на разделении системы на части, каждая из которых решает отдельную задачу.

📝 MVVP, MVP.

8️⃣ Интерпретатор: используется в кейсах, где требуется гибкость и возможность обработки разнообразных языковых структур.

📝 «Интерпретатор».

9️⃣ Конкурентность: ориентирован на разработку систем, которые одновременно выполняют несколько операций, улучшая производительность и отзывчивость.

📝 «Оркестрация», Choreography, Primary-Secondary, Pipeline.

🔟 Ориентированный на данные: архитектура, в которой данные играют ключевую роль, и все компоненты системы ориентированы на обработку данных.

📝 CQRS, Event Sourcing, Kappa, Lambda.

👉 Источник
👉 Читать на русском

#проектирование_систем

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

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

🏃 Самоучитель по Go для начинающих. Часть 1. Особенности и сфера применения Go, установка, настройка

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

🔗 Читать статью
🔗 Зеркало

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

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

Присоединяйтесь к SberAutoTech — компании, создающей будущее в области беспилотного транспорта.

Наши автомобили находятся на дорогах с декабря 2020 года: проходят тестирование в условиях плотного городского трафика, с учётом различных погодных условий и времени суток. Кроме легковых, мы активно развиваем технологию на грузовых автомобилях, а в июне запустили коммерческие автономные грузоперевозки вместе с компанией-партнёром.

Для развития автономной транспортной системы нам нужны амбициозные и перспективные специалисты, разделяющие нашу веру в беспилотное будущее.
Вместе мы сможем решать самые смелые задачи, затрагивающие:
•разработку универсальной технологии автономного вождения и беспилотных транспортных средств;
•автомобильную ОС для комфортных и безопасных поездок;
•экосистему сервисов для автономного транспорта.

Давайте создавать будущее индустрии вместе. Присоединяйтесь к команде!

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