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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Как найти сумму и количество чётных и нечётных чисел в диапазоне на C#

Если вы только начали изучать C#, то решение этой задачи поможет разобраться, как работают циклы и конструкции if-else.

Разбор задачи на YouTube:

youtu.be/bJ4DtsojdrI

#csharp
История входа в IT: из инженера-химика в Java-разработчики

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

Почитайте его историю тернистого пути в Java-разработчики:

tprg.ru/Kjuk

#советы
Логические задачки, мемы и не только в нашем боте

Мы обновили раздел развлечений бота и добавили рассылку случайных мемов и задачек с нашего сайта. И теперь вы можете получить их прямо в Telegram-чате. Удобно, не правда ли?

У бота есть ещё несколько крутых фишек, попробуйте:

t.iss.one/tproger_official_bot?start=entertainments
Динамическое выделение памяти в C++

Для создания переменной требуется выделить определённое количество памяти. А если во время работы программы требуется, например, записать строку, введённую пользователем, то заранее предугадать её размер невозможно.

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

Подробнее о динамическом выделении памяти:

tprg.ru/U9FV

#cpp
Задача про деление бактерий

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

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

Известно, что 1 бактерия делится на 2 бактерии один раз в конце каждой секунды.

Через сколько секунд заполнится пробирка, если в неё положить 3 бактерии?

Ответ опубликуем через 2 часа.

#задачи
Через сколько секунд заполнится пробирка, если в неё положить 3 бактерии?
Anonymous Quiz
37%
30
20%
45
20%
58
22%
59
Решение задачи про деление бактерий

Задачу удобно решать, если представить её как битовую маску std::uint64_t, ведь каждая бактерия удваивается в конце каждой секунды.

Рассмотрим заполнение пробирки одной бактерией. В первую секунду заполнен ровно 1 младший бит (нулевой бит) 000...0001. Через 60 секунд у нас будет заполнен 60-й бит, то есть 60-й бит является условием заполнения колбы.

Если положить три бактерии, то битовая маска примет вид 000...0011 (двоичное представление числа 3 — 11). Через 59 секунд сдвигом будет заполнен 60-й бит. Однако 59-ый бит тоже будет равен 1, и часть бактерий вывалится из пробирки.

Если рассмотреть пробирку через 58 секунд, то она не заполнится до конца, поскольку будут заняты 58-й и 59-й бит.

Ответ: 59 секунд.

Мы показали решение задачи с точки зрения программиста, но её можно решить и математически через степени двойки, что, по сути, аналогично предложенному решению.

Источник
Вводный курс по машинному обучению с использованием TensorFlow

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

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

Введение: youtu.be/qu_WEHvGXWk

Основы компьютерного зрения: youtu.be/cjSI3gcC2IA

Введение в свёрточные нейронные сети: youtu.be/lthIsMLaq1Q

Создание классификатора изображений: youtu.be/WzxkhTxKZcs

#ml #python #курсы
Еженедельный #чат снова открыт. Сегодня предлагаем вам обсудить, с какого языка стоит начать программировать.

Мы привели пример C++, потому что его синтаксис схож со множеством других языков программирования. Также в C++ нужно много кода писать собственноручно, и поэтому базовые элементы запомнятся гораздо лучше.

Напишите в комментариях, согласны ли вы с тем, что C++ подойдёт в качестве первого языка. А если нет, то расскажите, с какого языка стоит начать.
Есть компромисс — перенести закрывающую скобку на следующую строчку
10 JavaScript-фреймворков, которые стоит выучить в 2021 году

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

Чтобы новички не потерялись в обилии инструментов, мы подготовили подборку наиболее актуальных JavaScript-фреймворков:

tprg.ru/9jh8

#js #веб #фронтенд
Массивы в Java: объявление, создание, инициализация и вывод

В Java синтаксис массивов в целом схож с C++, но имеет и свои «плюшки». Например, в Java есть встроенный класс Arrays, в котором присутствуют методы по сортировке, поиску элемента и приведению к строке String.

Подробнее о массивах в Java:

tprg.ru/itfP

#java
Плюсы и минусы Go, а также его использование в инфраструктуре «Вконтакте»

Недавно мы делились видео, которое поясняет основную идею языка Go (Golang).

Если вас зацепил этот язык, то посмотрите доклад о преимуществах и недостатках языка Go. Также в видео рассматривается синтаксис Go и его применение:

youtu.be/2fxNbhy2gt0

#go
7 логико-математических задач: от простого к сложному

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

tprg.ru/QkNI

#задачи
История входа в IT: стать успешным программистом без образования и технического склада ума

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

tprg.ru/meny

#советы
Отметим шестой баг, исправим его, и можно поздравлять уже с 10 багами
JavaScript для... кошек

Да, вы всё правильно прочитали. Разработчик Макс Огден создал одностраничное руководство по JavaScript в «кошачьем» стиле.

Полезного не очень много, зато веселья и кошек предостаточно:

jsforcats.com

#js #веб
Идеи проектов машинного обучения для начинающих

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

Эту и другие идеи мы собрали в одной подборке:

tprg.ru/isjk

#ml
Что почитать: «Совершенный код» Стива Макконнелла

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

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

#книги
Введение в Java Stream API

Обычно обработка данных происходит с помощью циклов и рекурсивных функций. Но в Java имеется удобный инструмент Stream API.

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

Подробнее о Stream API читайте в статье:

tprg.ru/ucOR

#java