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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
​​Продолжаем изучать SQL — выбор данных и их сортировка

Сегодня разберём два популярных оператора в SQL — SELECT и ORDER BY.

Первый — оператор выбора. Он используется для извлечения каких-то конкретных данных из таблицы. Например, в таблице есть данные о именах студентов, их курсе и оценках. Чтобы получить только имена студентов, используем SELECT name FROM students. Выбирать можно также сразу несколько параметров через запятую. Вот небольшая шпаргалка по этому оператору.

Второй — оператор сортировки. Вместе с ним используется оператор ASC для сортировки от меньшего к большему, и DESC — от большего к меньшему. Например, если нужно отсортировать имена учеников по их оценкам, начиная с самых высоких, то используем: ORDER BY score DESC. По этому оператору тоже есть небольшая статья.

#sql
8🍌2
Дорожная карта для изучения Rust

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

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

#rust #roadmap
5🍌2
​​Гайд по подготовке к собеседованию по Kubernetes

Kubernetes (K8s) — это открытая платформа для автоматизации развёртывания, масштабирования и управления приложениями в контейнерах. Она предлагает инструменты для упрощения работы с контейнерами, например, Docker, и позволяет легко управлять приложениями в распределённой среде.

В этой статье исполнительный директор по разработке Газпромбанка делится обширным списком частых вопросов с собеседований на тему k8s. Среди них есть и базовые темы на понимание инструмента, и специфичные вопросы, по типу управления ресурсами, best practices и Kubernetes Service.

#собеседование #devops #k8s
👍6🍌21🔥1
Шпаргалка по Markdown в одной картинке

Markdown — популярный язык разметки текста, который можно встретить практически где угодно: редакторы блогов, документации (как на GitHub и т. д.), базы знаний и трекеры (типа Notion, Todoist). Поэтому понимание хотя бы базового синтаксиса этой разметки точно не будет лишним для общей эрудиции любого разработчика.

Разметка простая и местами даже интуитивная. Например, вот так пишется # Заголовок, вот так *жирный текст*, а так список:

1. элемент 1
2. элемент 2

Всё самое необходимое по Markdown можно найти в шпаргалке выше (источник). Там же для лучшего понимания приведён аналог на HTML каждого из элемента.

#markdown #шпаргалка
👍65🍌1
​​На чём писать сайт в 2024?

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

Если кратко, то: JS — основной язык для фронтенда, также остаются актуальными React, Angular и Vue. Для бэкенда выбор зависит от сайта: маленькие — WordPress, большие — PHP/Laravel, Python/Django, Ruby on Rails. Крупные компании выбирают Java/C#. Важными остаются SEO и мобильная адаптивность.

#web #backend #frontend
7🍌2😁1
Продолжаем изучать SQL: Индексы

Индексация в SQL похожа на книжную индексацию, ускоряющую поиск данных. Благодаря индексам на порядок повышается скорость запросов. Индексы эффективны в больших базах данных и системах с плановыми обновлениями, но не рекомендуются для небольших таблиц, частых обновлений и столбцов с множеством null значений.

Держите статью, где подробно и простым языком объясняют принцип работы индексов и их необходимость в базах данных.

#sql
6🍌2
Как минимум ещё один раз
🤣42🍌4
Держите огромную подборку инструментов для веба

Автор потрудился собрать большое количество инструментов и разделить их на 30 категорий. В каждой категории несколько десятков сервисов, так что можно найти решение для почти любой задачи.

Среди категорий: шрифты, иконки, палитры, стоковое аудио, шаблоны кода, инструменты для дизайна и JS-фреймворков, а также многое другое. Поэтому такая подборка — универсальная шпаргалка для любого веб-разработчика.

#web #frontend
6🍌2🏆2👍1🤯1
​​Чистим код: Функции

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

Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.

Функция должна выполнять чётко одну операцию.

— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.

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

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

— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.

#чистимкод
🔥5🍌211👍1
Какие разработчики игр зарабатывают в 2024

В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.

Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.

#gamedev
4🍌2
​​5 ошибок Python-разработчиков, которые выдают новичка

У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.

Собрали для вас самые распространенные ошибки  в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.

#советы #python
👍51🍌1
Углубимся в историю?

В какой последовательности появлялись следующие языки программирования?

#викторина
🔥3🍌1
Регулярные выражения для начинающих

Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.

Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:

\d{3}-\d{3}-\d{4}

где \d — символ цифры, {3} — количество повторений, - необходимый разделитель.

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

#regexp
👍106❤‍🔥4🍌2
​​Old but gold: ​Android-разработка для новичков

Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/

#android #начинающим
❤‍🔥3🍌2👍1
Как выучить язык программирования быстрее

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

В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.

Если очень кратко, то:

— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.

#general #советы
👍115🍌3😐1
6 способов войти в ИТ без высшего образования и онлайн-курсов

Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:

— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.

— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.

— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.

#general
11💅41👍1🍌1
Обучение с подкреплением (RL) – это способ в машинном обучении, при котором компьютер учится принимать решения, действуя в окружающем мире и получая за это награду. Например, ИИ может учиться играть в компьютерные игры или управлять роботом, чтобы достичь победы или других целей.

Держите подборку курсов и книг, которые помогут с нуля развиться в этой теме:
🍌4
Forwarded from Нейроканал
Курсы:
Курс от Hugging Face: баланс теории и практики, вы познакомитесь с основными библиотеками, получите сертификат по окончанию и сможете пообщаться с другими участниками в Discord.

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

Курс на Coursera: даст понимание ключевых идей обучения с подкреплением. Вы сможете реализовать полноценное RL-решение и научитесь применять инструменты ИИ для решения реальных задач.

Книги: 
— «Грокаем глубокое обучение с подкреплением» Моралес Мигель;

— «Обучение с подкреплением [2-е изд.]» Ричард С. Саттон, Эндрю Дж. Барто;

— «Алгоритмы принятия решений» Кохендерфер М., Уинлер Т., Рэй К.

Дайте знать, если хотите видеть больше подобных подборок!

#rl #deeplearning
👍10🍌42👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Бинарный поиск — что за алгоритм

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

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

1. Берём центральный элемент массива и сравниваем его с искомым числом.

2. Если искомое число больше серединного элемента — значит нас интересует первая половина массива. Если меньше — вторая.

3. Повторяем п. 1 и п. 2 с выбранной половиной до тех пор, пока не дойдём до искомого элемента. Каждый раз отсеивается половина элементов.

Популярность алгоритма вызвана его большой скоростью выполнения. Последовательный поиск по массиву из 1000 элементов может занять в крайнем случае 1000 операций, а бинарным поиском — максимум 10. А массив из миллиона элементов — максимум за 20 операций.

На картинке разница простого и бинарного поиска.

#теория
👍18❤‍🔥3🍌3🆒32