Точка входа в программирование
21.4K subscribers
911 photos
164 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
Чем отличаются конкурентные алгоритмы от параллельных

В конкурентных алгоритмах запросы от разных процессов в программу приходят несинхронно и выполняются друг за другом.

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

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

#начинающим #видео
Большой сборник курсов от программистов для программистов: наши читатели рассказали о платформе Senior Junior

Senior Junior — это площадка с опенсорсными курсами для разработчиков. Да, там нет сертификатов, гарантий трудоустройства и лозунгов «освойте с нуля». Зато есть актуальная теория в связке с непрерывной практикой в онлайн IDE.

Тексты курсов и задачи выложены на гитхаб. Сейчас ребята почти дописали курс по Python и приступили к курсу по Rust. Курсы можно проходить на сайте и в Telegram-боте. Между ними легко синхронизировать прогресс.

Мы такое одобряем, поэтому делимся статьей, в которой рассказали о платформе и начинке проекта: https://tproger.ru/articles/senior-junior-kursy-ot-programmistov-dlya-programmistov

#курсы
Краткое введение в Машинное обучение

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

#ml #ии #статья
Приём заявок на конкурс пет-проектов завершен

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

Passcryptum: кроссплатформенный менеджер паролей на Vue, использующий стандарт шифрования PBKDF2 и позволяющий задавать PIN.
Браузерная MMORPG: экс-геймер и фанат World of Warcraft использовал свой опыт веб-разработки и создал 3D ролевую игру на Golang + MySQL. Интересный опыт человека, перепробовавшего несколько языков и фреймворков, прежде чем получилось достойное решение.
World Connect: фанат Clash of Clans переосмыслил идею гейм-чатов «обо всем и для всех» и реализовал на базе FastAPI + WebSockets свою систему для общения, прямо как ICQ когда-то.

Лайкайте понравившиеся статьи на сайте, чтоб они попали в итоговое голосование.

#diy #конкурс
Строки в PHP и команды над ними

Строка — это последовательность символов, заключенных в одинарные ' ' или двойные кавычки " ". Строки могут содержать любой текст, включая буквы, цифры, специальные символы и пробелы. Они используются для хранения текстовой информации, такой как сообщения, HTML-код, имена файлов и так далее.

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

#php
Решение задачи про определение типа в Typescript

В этой статье вы сможете увидеть решение интересной задачи, связанной с типизацией в Typescript, которая была представлена на Yandex Cup 2023.

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

Автор довольно подробно объясняет свое решение этой задачи, что может помочь начинающим программистам.

#задача #typescript
Признаки плохих работодателей, заметные в вакансиях

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

А с какими странностями работодателей сталкивались вы?

#статья #советы
Что такое DOM в JavaScript

DOM (Document Object Model или объектная модель документа) - это структура, которая позволяет управлять HTML-разметкой из JavaScript-кода. Управление обычно состоит из добавления и удаления элементов, изменения их стилей и содержимого. DOM организован в виде дерева, в котором элементы расположены иерархически в соответствии со структурой документа.

Браузер создаёт DOM на основе HTML-кода страницы. Затем на основе DOM и других структур, браузер рисует страницу пользователю. При изменении DOM, браузер анализирует это и обновляет страницу.

Методы DOM — это действия, которые вы можете выполнять (с элементами HTML). К ним относятся:
— getElementById — поиск элемента по идентификатору;
— getElementsByClassName — поиск элементов по названию класса;
— getElementsByTagName — поиск элементов по названию тега;
— querySelector — поиск первого элемента, подходящего под CSS-селектор;
— querySelectorAll — поиск всех элементов подходящих под CSS-селектор.

#js
Golang для новичков

Go, также известный как Golang, был создан командой Google в 2007 году для решения проблем крупномасштабных программных проектов.

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

Более подробно узнать о языке, его структуре и некоторых важных конструкциях Go вы сможете в этом полезном материале.

#go #golang #начинающим
Таблицы в SQL

В Structured Query Language таблица представляет собой структурированную коллекцию данных, представленную в виде строк и столбцов. Таблицы являются важной составляющей SQL и предоставляют надежный и эффективный способ организации данных. Они используются для хранения и организации данных в реляционных базах данных.

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

#sql
Настало время голосовать за самые-самые пет-проекты

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

Проголосовать

#diy #конкурс
Рекомендации по написанию кода

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

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

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

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

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

#начинающим
Как работает обучение без учителя для ИИ

Как машины могут обучаться без учителя или наставника?

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

В этом материале вы узнаете, какие алгоритмы используются в обучении без учителя и на примерах разберёте, для чего они нужны.
Оператор INSERT в SQL

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

Синтаксис оператора INSERT выглядит так:

INSERT INTO название_таблицы (список_столбцов)
VALUES (значения_столбцов);

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

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

Рассмотреть примеры использования оператора INSERT в SQL на практике, вы сможете в этом материале.

#sql
Различия между == и === в JavaScript

В JavaScript есть два похожих оператора: == и ===. Если не знать их отличия, это может обернуться кучей ошибок. Поэтому сегодня разберем различия между двойным и тройным равенствами в JavaScript.

Оператор == или loose equality сравнивает на равенство, фактически выполняя приведение типов.

Например:
console.log('1' == 1); //true т.к. совпадают значения, типы не важны

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

Например:
console.log(1 === 1); //true т.к. совпадают и типы, и значения
console.log('1' === 1); //false т.к. совпадают только значения


#js
Востребованные профессии в IT: как найти сферу для себя

IT — востребованная и прибыльная сфера. Но разобраться во множестве специальностей и выбрать «ту самую» для себя может быть сложно.

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

#начинающим
Команда JOIN в SQL

Ранее мы уже разобрали, что такое INSERT в SQL, а в этот раз узнаем, что такое JOIN.

JOIN — это операция, которая используется для объединения строк из нескольких таблиц. Она позволяет объединить данные для выполнения сложных запросов.

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

Существуют разные типы JOIN:
INNER JOIN;
SELF JOIN;
CROSS JOIN;
OUTER JOIN: LEFT, RIGHT, FULL.

Более подробно познакомиться с ними и рассмотреть примеры их использования можно в этой статье.

#sql
Как джуниору стать «качественным» мидлом

На старте карьеры сложно правильно выстроить траекторию профессионального развития. Из-за этого переход к позиции мидла может занять большое количество времени.

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

Кроме того, статья расскажет о soft и hard скиллах, которые необходимы для того, чтобы стать востребованным на рынке.

#начинающим
Что такое <!DOCTYPE> и зачем он нужен

Для начала, стоит разобрать, что такое quirks mode и standards mode.

Quirks Mode (режим совместимости) — это режим работы веб-браузеров, который сознательно симулируют множество багов старых браузеров. Этот режим необходим для поддержки сайтов, созданных до начала широкого применения веб стандартов.

Standards Mode (стандартный режим) — это режим, при котором поведение браузера соответствует описанному в спецификациях HTML и CSS. Этот режим используется во всех современных браузерах.

Вернемся к доктайпу.

<!DOCTYPE html> — это описание типа документа, которое позволяет браузеру понять, какую версию html следует использовать. Поставьте его первой строчкой HTML-документа, и браузер обработает страницу правильно, в стандартном режиме. Без него браузер переключается в режим совместимости со старым кодом.

Если сравнивать HTML с устройством человека, то <!DOCTYPE> — это его вид. Важно знать, что было раньше, но стоит быть австралопитеком. Единственный вариант, который можно использовать — это <!DOCTYPE html>, все остальные устарели.

#html
Как запустить свой ChatGPT

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

#ии #статья
Высокоуровневые и низкоуровневые языки программирования

Низкоуровневые ЯП — языки, максимально приближенные к машинному коду, позволяющие контролировать ресурсы и операции на низком уровне. Такие языки упрощают машинный код, но они все еще сложны для массового использования.

Высокоуровневые ЯП — языки, синтаксис которых близок к понятным человеку. Они облегчают создание сложных программных решений так как предоставляют готовые функции для работы с данными и операциями.

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

Низкоуровневые языки часто изучают в Вузах так как они дают понимание того, что находится под «капотом» у языков высокого уровня. Иногда высокоуровневый компилятор работает не так, как вы ждете от него. Зная низкоуровневый язык, вы сможете видеть истинную причину этого и понимать, как ее устранить.

Был ли для вас полезен этот пост?
❤️‍🔥 — да, спасибо.
👎 — нет.

#начинающим