Точка входа в программирование
20.5K subscribers
1.18K photos
207 videos
2 files
2.7K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Советы по программированию для Junior-разработчиков

В предыдущих постах (вы можете найти их по тегу #советы) мы затронули тему собеседования Junior-разработчика и soft skills, которые ему стоит прокачать.

В этой статье сделан акцент уже на работе над проектом. Из неё вы узнаете:

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

Статья: https://tprg.ru/DIKJ

#советы
А потом закончит аспирантуру и будет учить кожаных мешков
Подробное видео по практическому использованию Git

Нашли для вас интересное видео про Git, где рассказывается про настройку и основные команды системы контроля версий.

В видео есть вставки с записью командной строки, где наглядно видно, что происходит при вводе той или иной команды. Также видео разделено на разделы (не так давно на YouTube появилась эта фича), поэтому легко скроллить до нужной части:

https://youtu.be/SEvR78OhGtw

P.S. В конце видео автор предлагает купить конспект этого ролика в PDF, однако вы можете свободно найти информацию об этих командах в виде текста в Интернете (в том числе и в нашей статье про введение в Git).

#git
Типы циклов в языках программирования: for, foreach, while и do while

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

В основе циклов лежит условие и тело цикла. Пока условие истинно, цикл выполняет код в своём теле. Когда условие становится ложным, программа выходит из цикла и выполняет код, который следует за ним.

О том, чем отличаются такие циклы, как for, foreach, while и do while, читайте в статье:

https://tprg.ru/KEXu

#циклы
10 принципов хорошего кода и хорошего программиста

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

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

Подробнее о том, как сделать свой код лучше, читайте в статье:

https://tprg.ru/jiph

#советы
Где яблоки — новые фичи, а жизни — предупреждения об ошибках
Стили именования переменных и функций

Чтобы код был читаемым, следует давать переменным, функциям, методам, классам и константам понятные имена. Однако в этом случае названия содержат в себе несколько слов. Как оформить тогда названия правильно?

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

https://tprg.ru/gWvE

#советы
Что пишут на языке программирования C#?

C# чаще всего используется в двух направлениях разработки:

— веб-разработке (на C# и .NET пишут бэкенд сайтов и сервисов);
— разработке игр или gamedev (например, игровой движок Unity использует C#).

Подробнее об использовании C#, а также какие сопутствующие технологии стоит изучить, в видео (можно послушать как подкаст):

https://youtu.be/7c6LQCZt-2s

#csharp
Дорожная карта ASP.NET Core разработчика

ASP.NET Core — это фреймворк для кроссплатформенной веб-разработки. Благодаря ему можно создавать веб-приложения на языке C#.

Если вы хотите обучиться работе с ASP.NET Core, то взгляните сначала на дорожную карту, которая поможет выстроить правильно свои знания:

https://github.com/MoienTajik/AspNetCore-Developer-Roadmap

#csharp #dotnet
Для чего хорош C++?

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

В каких областях преимущества этого языка перевешивают его недостатки, рассказывается в статье:

https://tprg.ru/OJ0X

#cpp
Не понравились комментарии — обнуляешь переменную
Что почитать: «Алгоритмы на Java» Роберта Седжвика и Кевина Уэйна

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

Конечно, Java-программисты получат максимум из книги, однако её комфортно читать любому начинающему разработчику, ведь суть алгоритмов не меняется от языка, на котором их реализовывают.

Авторы книги хорошо разобрали некоторые нюансы, которые не упоминаются в других книгах. В частности, в «Алгоритмах на Java» часто рассказывается, где решается та или иная задача.

#алгоритмы #книги
Базовые знания Data Science: что и где нужно изучить новичку

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

— Numpy/Scipy;
— Pandas;
— Matplotlib/Seaborn;
— Sklearn.

К каждому инструменту мы приложили ссылку на бесплатные онлайн-курсы. Смотрите, пользуйтесь:

https://tprg.ru/EKFO

#python #data_science
Задача про взвешивание таблеток

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

Дано 20 баночек с таблетками. В 19 баночках лежат таблетки весом 1 г, а в одной — весом 1.1 г. Даны весы, показывающие точный вес. Как за одно взвешивание найти банку с тяжелыми таблетками?

#задачи
Ответ на задачу про взвешивания таблеток

Краткий ответ:

Пронумеруем наши банки и возьмём из каждой N таблеток, где N — номер банки (одну таблетку из банки №1, две таблетки из банки №2, три таблетки из банки №3 и т.д.). «Взвесим» получившийся набор таблеток. Так как все обычные таблетки весят 1 г, то суммарный вес набора из обычных таблеток составит 210 г.

Лишний вес набора образуют тяжёлые таблетки. Поэтому номер банки можно узнать по простой формуле: (вес набора — 210) / 0.1.

Подробный разбор решения:

https://tprg.ru/LDCn
Онлайн-курс «Введение в Linux»

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

В курсе «Введение в Linux» на Stepik освещаются:

— графический интерфейс ОС на базе Linux;
— основы работы с терминалом;
— работа с удалённым сервером;
— написание скриптов на bash.

Курс на Stepik: https://tprg.ru/7Uxf

#linux
«В книге одна вода, ничего не понятно»
Генерация случайных чисел с помощью лаваламп

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

Зачем? Компьютер способен генерировать лишь псевдослучайные числа. А подход с лавалампами позволяет вносить большую случайность в значения генератора чисел.

Статья о том, как это работает: https://tprg.ru/WTnI

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

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

https://tprg.ru/XilB
Основы HTML 5 в одном видео

Чтобы понять, как работает код HTML, советуем посмотреть видео с разбором синтаксиса HTML для создания веб-страниц.

В видео рассматриваются основы языка, а также вставка полей ввода, картинок, видео, списков, таблиц и других элементов. Дополнительно в видео уделяют внимание валидации HTML документа, семантике и доступности:

https://youtu.be/_J6hMLsscOo

#фронтенд