Точка входа в программирование
20.3K subscribers
1.24K photos
215 videos
2 files
2.76K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Нет, это не кадры из голливудского фильма. Один разработчик всего лишь сделал красивую анимацию алгоритма шифрования SHA-256 в терминале.

Подробнее о том, как это работает: https://github.com/in3rsha/sha256-animation
В чём минусы профессии программиста?

Быть программистом — это здорово. Однако как у медали есть две стороны, так и у профессии программиста есть недостатки, которые, на первый взгляд, неочевидны.

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

https://tprg.ru/aFgu

#советы
Надо было копировать код со StackOverflow
Для чего хорош Python?

Язык Python достаточно лёгок в освоении и имеет большое сообщество. Поэтому язык нашел применение во множестве областей. Где именно — читайте в статье:

https://tprg.ru/zuoQ

#python
Задача про минимальное количество самолётов

На удалённом острове находится аэропорт. Этот аэропорт является базой для неограниченного количества одинаковых самолётов.

Топливная ёмкость каждого самолёта позволяет облететь ровно 1/2 земного шара вдоль большого круга. Самолёты имеют возможность дозаправки в воздухе без потери скорости и горючего. Хотя количество топлива тоже не ограничено, единственным его источником является этот остров.

Какое минимальное количество самолётов нужно, чтобы облететь земной шар? При этом:

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

Решение задачи опубликуем через 2 часа.

#задачи
Какое минимальное количество самолётов нужно, чтобы облететь земной шар?
Anonymous Quiz
28%
2
35%
3
23%
4
13%
5
Решение задачи про минимальное количество самолётов

Представим 3 самолёта (A, B и C). А собирается облететь вокруг Земли. Все три самолёта стартуют в одно время и в одном направлении. После 1/6 пути В передает 1/3 топлива С и возвращается домой, где заправляется и снова взлетает следом за А и С.

С продолжает лететь рядом с А, пока они не пройдут 1/4 всей дистанции. В этой точке С заправляет А до полного бака, так что А теперь может долететь до 3/4 окружности Земли. У С теперь осталось лишь 1/3 своего бака, и этого недостаточно, чтобы вернуться на базу. Но В будет в нужной точке для дозаправки C, и оба вспомогательных самолета смогут безопасно долететь до базы.

Таким же образом полностью заправленные В и С вылетают навстречу А. В снова дозаправляет С и возвращается на базу, чтобы пополнить бак. С встречает А в точке, когда А пролетел 3/4 дистанции.

Все три самолёта долетят до аэропорта, если дозаправка будет проводиться аналогично первой части полёта.
Онлайн-учебник по JavaScript

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

Весь материал разделён на 3 условные части:

1. Язык программирования JavaScript (упор делается только на сам язык).
2. Браузер: документ, события, интерфейсы (здесь изучается работа со страницей).
3. Полезные статьи.

Кроме того, на сайте есть специальные тесты, в которых вы можете проверить себя.

Ссылка: learn.javascript.ru

#js
Как одной формулой посчитать количество дней в месяце по его номеру?

Если посмотреть на количество дней в каждом месяце, то никакой закономерности поначалу найти не удаётся. Однако представим задачу как функцию f(x), где x — номер месяца, то есть функция получает номер месяца (от 1 до 12) и выдаёт количество дней в нём (високосные года в расчёт не берём).

Как можно решить:

https://tprg.ru/MZJ2

#задачи
А за занавеской скрывается JVM
Шпаргалка по Bash

Оболочка Bash принимает команды пользователя из терминала и передаёт их операционной системе на базе Linux.

С основными командами для работы с файлами, сетью и системой вы можете ознакомиться в статье:

https://tprg.ru/EftW

#linux
Шаблоны проектирования на Java

Шаблоны проектирования (design patterns) представляют собой некоторые правила, установленные сообществом программистов. Они помогают решить общие проблемы при проектировании и разработке программ.

На GitHub есть репозиторий, в котором собрано множество design patterns, реализованных на языке Java. К каждому шаблону есть описание, а сам код хорошо прокомментирован.

Если вы ещё полноценно не освоили Java, добавьте страницу в закладки — пригодится:

https://github.com/iluwatar/java-design-patterns

#java #паттерны #алгоритмы
Веб-разработка для начинающих: бесплатный видеокурс, который поможет оценить свои силы

Если вы не можете определиться с тем, стоит ли изучать фронтенд-разработку, обратите внимание на видеокурс по основам HTML, CSS и JavaScript. Темы курса объясняются на реальных примерах кода, поэтому вы получите примерное представление, с чем сталкивается в работе фронтенд-разработчик.

Весь курс выполнен в формате большого 11-часового видео. В описании к видео есть все необходимые таймкоды:

https://youtu.be/Xm4BObh4MhI

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

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

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

Ссылка: https://github.com/TheAlgorithms/Python

#алгоритмы #python
Код не может отжать ваш кошелёк, но может стащить память
👍1
Как стать разработчиком игр?

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

https://tprg.ru/bZlP

#gamedev
Крестики-нолики на JavaScript

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

Разработчик из ролика пишет игру «Крестики-нолики» без заранее подготовленного кода. Он допускает несколько ошибок, но быстро их исправляет. Из-за этого процесс создания игры становится более живым:

https://youtu.be/GTWrWM1UsnA

#js #gamedev
Кто такой DevOps-инженер?

Объясняем в формате «вопрос-ответ». В статье вы найдёте ответы на 12 вопросов, дополненные комментариями экспертов:

https://tprg.ru/nV5H

#devops
Как научиться программировать?

Если вы не можете понять, как найти в себе силы и учить программирование, советуем почитать статью ниже. Она объясняет, как сохранить мотивацию в обучении, а также развеивает некоторые мифы о программировании.

Большая часть статьи полезна всем разработчикам, а в последней части идут уже рекомендации по веб-разработке. Есть одно «но»: материал на английском.

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

Анимированная версия: https://youtu.be/sffufVH7aog

#советы