Точка входа в программирование
20.2K subscribers
1.26K photos
218 videos
2 files
2.78K links
Фундаментальные знания по основам программирования

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Для чего хорош C++?

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

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

https://tprg.ru/OJ0X

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

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

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

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

#алгоритмы #книги
👍1
Базовые знания 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

#фронтенд
Где поупражняться в языках программирования: Exercism

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

На Exercism представлено свыше 50 треков по технологиям, и при желании вы сами можете стать ментором одного из них. И главное — платформа бесплатная.

Ссылка: exercism.io

#задачи
Задача: ищем кота в коробках

Кот прячется в одной из 5 коробок. Коробки пронумерованы от 1 до 5 и расположены в ряд по порядку.

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

Как нужно играть в эту игру, чтобы вычислить коробку с котом?

Оставляйте свои ответы в комментариях, решение опубликуем через 2 часа.

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

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

Предположим, что кот начал с чётной коробки (№2 или №4):

1. В первый день проверяем коробку №2. Если нашли кота — выиграли. Если нет — кот прыгнул в коробку №4. Следовательно, на следующий день кот прыгнет в коробку №3 или №5.
2. Во второй день проверяем коробку №3. Если нашли кота — победа. В противном случае кот находится в коробке №5 и сможет перепрыгнуть только в коробку №4.
3. На следующий день проверяем коробку №4 — кот должен быть в ней.

Теперь предположим, что кот начал с нечётной коробки (№1, №3 или №5). Следуем той же стратегии до четвёртого дня, когда кот окажется в коробке №2 или №4:

1. В первый день – кот в коробке №1, №3 или №5.
2. Во второй день – кот в коробке №2 или №4.
3. В третий день – кот снова в нечётной коробке.

Следовательно, в 4-й день кот будет во 2-й или 4-й коробке.

Ситуация аналогична предыдущему случаю. Мы можем проверять коробки в порядке «2, 3 и 4» и так найти кота.

Итоговая последовательность: 2, 3, 4, 2, 3, 4
Другой вариант: 2, 3, 4, 4, 3, 2.
👍1
Основы криптографии: от математики до физики

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

https://tprg.ru/D8cw

#математика
Делаем игру с динозавриком из Chrome на JavaScript

Наверняка вы сталкивались в Chrome с динозавром, когда пропадала связь с Интернетом. В качестве упражнения предлагаем написать свою реализацию этой игры на JavaScript, CSS и HTML.

Как это сделать, пошагово объясняется в видео:

https://youtu.be/Av53VJI-UiE

#js #веб
Я изучаю программирование по графику 5/2:

5 строчек пишу и 2 часа отдыхаю.
Хочу стать айтишником. С чего начать?

Если вы только решили войти в IT, то эта статья поможет вам разобраться:

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

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

#советы
Что почитать: «Карьера программиста» Г. Макдауэлла

Чтобы успешно пройти собеседование в крупную IT-компанию, недостаточно владеть технологиями, перечисленными в описании вакансии.

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

Обзор на книгу: https://tprg.ru/TSQK

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

#книги
This media is not supported in your browser
VIEW IN TELEGRAM
Нет, это не кадры из голливудского фильма. Один разработчик всего лишь сделал красивую анимацию алгоритма шифрования SHA-256 в терминале.

Подробнее о том, как это работает: https://github.com/in3rsha/sha256-animation