Точка входа в программирование
21.4K subscribers
931 photos
169 videos
1 file
2.47K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
И так каждый раз
Что такое многотопоточность? Разбираем основы

Когда мы запускаем простую программу, то она исполняется на одном ядре процессора.

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

Как работает многопоточность (с примером на Java), читайте в статье:

https://tprg.ru/bUgr

#потоки #java
Нужно больше материалов по многопоточности?
Anonymous Poll
89%
Конечно!
11%
Не очень интересно
Делаем на C# ASCII-графику из любого изображения

Встречали ли вы в чатах картинку, сделанную только из символов? Обычно их не делают вручную, а генерируют из исходных изображений.

Попробуйте сами реализовать такой генератор на C# с помощью этого видео:

https://youtu.be/zC0gn8_GafI?t=126

#csharp
Регулярные выражения для новичков

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

Держите объяснение простым языком того, как работают регулярные выражения:

https://tprg.ru/HfEl
Курс лекций по дополнительным главам математики

Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera).

В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg

Плейлист с лекциями: https://tprg.ru/kb0S

#курсы #математика
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел редактор Helix для комфортного написания кода прямо в консоли

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

Подробнее о Helix и как установить его на Linux: https://tprg.ru/C0ou
Если каждый шаг — это новая стена, то Джерри превратится в оладушек
Топ-5 необычных и эпических багов в программах и устройствах

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

Почитайте о пяти багах, которые навсегда вошли в историю:

https://tprg.ru/J0FT
Компилятор и интерпретатор — в чём различия?

Языки программирования делятся на компилируемые (C++, C, Go) и интерпретируемые (JavaScript, Python). Основное различие — преобразование написанного кода на этих языках в машинный. Этой задачей занимаются компиляторы и интерпретаторы.

Подробнее: https://tprg.ru/9K8z
Введение в многопоточность в Java

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

В видео объясняется наглядно и простым языком, как работать с потоками на Java:

https://youtu.be/0Cdsk2BeNA8

#java #потоки
Развеиваем мифы о C++

Действительно ли C++ такой сложный, как говорят? Имеет ли смысл его изучать, если есть другие языки? Давайте разберёмся вместе:

https://tprg.ru/O5qF

#cpp
Прямая трансляция лекции по линейному поиску

Лекция является частью тренировок по алгоритмам от «Яндекса» и пройдёт сегодня в 19:00 по МСК: https://youtu.be/SKwB41FrGgU

Тренировки по алгоритмам проводятся в течение июня (первая лекция про сложность и тестирование алгоритмов была 2 июня). Ведёт их Михаил Густокашин. Он может быть знаком, например, по онлайн-курсу «Основы программирования на Python» на Coursera.

К лекциям будут прилагаться задания на платформе Яндекс.Контест, так что сможете проверить себя. Затем Михаил разберёт домашние задания и допущенные ошибки.

Расписание тренировок: https://tprg.ru/XsME

#алгоритмы
Буткемпы по программированию — хороший способ войти в IT

Coding Bootcamp (буткемп по программированию) — это учебный лагерь, который длится несколько месяцев. Его участники погружаются в разработку и за короткое время усваивают материал, необходимый для старта карьеры разработчика.

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

https://tprg.ru/7UsC

#советы
Введение в делегаты C#

В C# можно создать события, которые будут уведомлять об интересующих действиях. Для наиболее удобной работы с событиями используют делегаты — тип, который определяет сигнатуру метода.

Подробнее о делегатах читайте в статье: https://tprg.ru/qyQE

#csharp
Задача обедающих философов

Эта классическая задача показывает проблемы синхронизации нескольких потоков. Приведём условие:

За круглым столом сидят 5 философов. Перед каждым философом стоит тарелка спагетти, а между тарелками лежит по одной вилке (всего их 5).

В каждый момент философ может:
— поесть (ему необходимо две вилки);
— размышлять (вилки не нужны).

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

Вот как можно решить эту задачу на Java (и никто из философов не умрёт от голодания): https://tprg.ru/vTdz

#потоки #задачи
25 ресурсов для изучения IoT-разработки в 2021 году

Сфера IoT (Интернета вещей) развивается бурными темпами. IoT-инженеры занимаются созданием систем «умного» дома или города и автоматизации промышленности. Основой этих систем является множество устройств с различными функциями.

В подборке вы найдёте полезные материалы для прокачки в сфере Интернета вещей:

https://tprg.ru/qfbR

#iot
Топ-10 полезных репозиториев на GitHub, на которые стоит подписаться

Список бесплатных API по различным темам, советы по собеседованию в крупные IT-компании, работа с командной строкой, бесплатные книги — найдите полезное для себя:

https://tprg.ru/EDw7
Основы REST: теория и практика

Чтобы клиент и сервер без проблем взаимодействовали друг с другом, используют архитектурный стиль REST. С его помощью клиент и сервер посылают сообщения в едином формате и без необходимости хранить состояние друг друга.

Подробнее о REST: https://tprg.ru/YifV

#бэкенд
Лекция по множествам от «Яндекса»

В 19:00 по МСК начнётся лекция «Множества». Она является частью тренировок по алгоритмам, которые организует «Яндекс». Мы рассказывали о них на днях.

Прямая трансляция: https://youtu.be/PUpmV2ieIHA

Расписание тренировок: https://tprg.ru/XsME

#алгоритмы