Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj
Хватайте полезные сайты для создания резюме:
1. Novoresume — простой в использовании резюме-билдер. Шаблоны на сайте помогают создать резюме для иностранных компаний.
2. Resumake.io — на сайте можно сразу загрузить резюме в формате JSON-файла или заполнить только нужные поля, т.к. Resumake создаёт поля по шаблону автоматически.
3. Canva — бесплатный графический редактор, который подходит для создания не только презентаций или сторис, но и резюме. Если вам не хватает идей, то в каталоге можно найти более 100 вариантов шаблонов.
@prog_point #трудоустройство
Тест на отличие Java и JavaScript
Из-за своих названий, сравнение JavaScript и Java стало своего рода мемом. Но по факту общее у них только название — это результат сотрудничества двух компаний: Netscape, которая занималась развитием собственного браузера Netscape Navigator, и Sun Microsystems, которая до этого разработала Java.
Но действительно ли вы можете отличить два этих языка в мелочах? Предлагаем пройти тест на отличие JS от Java. Можете скидывать тому самому «специалисту в IT».
За кого голосуете?
🍌 JavaScript
🌭 Java
#meta
Стать инженером с нуля: работа в сфере телекоммуникаций
Телекоммуникации — область передачи данных по проводным и беспроводным сетям. За последние несколько лет она сильно изменилась: помимо технических аспектов, вроде кабелей и настройки железок, она включает знания о виртуализации и автоматизации.
Узнать о том, чем занимаются сотрудники разных групп направления и что включает в себя работа стажёра в этой сфере, вы сможете в статье.
Реклама
*Когда попросили объяснить твой код, который написал ChatGPT*
Читать полностью…Бинарный поиск — что за алгоритм
Про бинарный поиск вы могли слышать где угодно: форумы, статьи, задачи да и просто от какого-то ITшника. Давайте разберёмся.
Это алгоритм для поиска элемента в отсортированном массиве. Применяться может, например, для поиска по словарю, телефонному справочнику или базе данных. Принцип основан на деления пополам:
1. Берём центральный элемент массива и сравниваем его с искомым числом.
2. Если искомое число больше серединного элемента — значит нас интересует первая половина массива. Если меньше — вторая.
3. Повторяем п. 1 и п. 2 с выбранной половиной до тех пор, пока не дойдём до искомого элемента. Каждый раз отсеивается половина элементов.
Популярность алгоритма вызвана его большой скоростью выполнения. Последовательный поиск по массиву из 1000 элементов может занять в крайнем случае 1000 операций, а бинарным поиском — максимум 10. А массив из миллиона элементов — максимум за 20 операций.
На картинке разница простого и бинарного поиска.
#теория
Обучение с подкреплением (RL) – это способ в машинном обучении, при котором компьютер учится принимать решения, действуя в окружающем мире и получая за это награду. Например, ИИ может учиться играть в компьютерные игры или управлять роботом, чтобы достичь победы или других целей.
Держите подборку курсов и книг, которые помогут с нуля развиться в этой теме:
6 способов войти в ИТ без высшего образования и онлайн-курсов
Если курсы или высшее образование по каким-либо причинам не подходят вам, но развиваться в IT-сфере всё равно хочется, не беда — есть много других способов влиться в эту сферу. Вот парочка из вариантов, а в этой статье ещё больше и подробней:
— Роадмапы — готовые схемы со структурированными темами в нужной последовательности. Вот сайт-агрегатор таких карт обучения.
— Стажировки — есть компании, которые готовы брать совсем начинающих разработчиков, обучать их и трудоустроивать к себе.
— Геймификация обучения — есть игры, геймплей которых заточен на изучение азов программирования. Например CodinGame, CodeHero или CodeCombat.
#general
Old but gold: Android-разработка для новичков
Добротный материал с подборкой 20+ ресурсов для старта в карьере мобильного разработчика. Подборка хоть и 2023 года, но начинающим — самое то: https://habr.com/ru/companies/yandex_praktikum/articles/738638/
#android #начинающим
Углубимся в историю?
В какой последовательности появлялись следующие языки программирования?
#викторина
Какие разработчики игр зарабатывают в 2024
В прошлом году начинающий разработчик Лука выпустил Vampire Survivors. Этот простой проект всего за несколько недель обогатил его на десятки миллионов. А Among Us был небольшим экспериментом от трёх инди-разработчиков. Несмотря на провальный релиз, разработчики продолжили работу. Спустя время игру случайно заметили стримеры. В итоге разработчики заработали на ней 100 млн долларов. Такие истории вдохновляют, но одновременно и искажают представление об индустрии.
Держите статью, где Роман Сакутин, эксперт в сфере геймдева, рассказывает о том, как действительно обстоят дела в релизе игр, а в частности — в Steam. Там вы узнаете про основные причины того, почему игры не продаются, как найти аудиторию своей игры и как правильно выбирать идеи.
#gamedev
Держите огромную подборку инструментов для веба
Автор потрудился собрать большое количество инструментов и разделить их на 30 категорий. В каждой категории несколько десятков сервисов, так что можно найти решение для почти любой задачи.
Среди категорий: шрифты, иконки, палитры, стоковое аудио, шаблоны кода, инструменты для дизайна и JS-фреймворков, а также многое другое. Поэтому такая подборка — универсальная шпаргалка для любого веб-разработчика.
#web #frontend
На чём писать сайт в 2024?
Рынок веб-разработки никогда не стоит на месте. Те технологии и инструменты, которые были популярны и востребованы пару лет назад, уже могут потерять свою актуальность в этом году. Поэтому, если планируете развиваться в веб-разработке, то держите шпаргалку, в которой рассказали об актуальных технологиях в вебе на этот год.
Если кратко, то: JS — основной язык для фронтенда, также остаются актуальными React, Angular и Vue. Для бэкенда выбор зависит от сайта: маленькие — WordPress, большие — PHP/Laravel, Python/Django, Ruby on Rails. Крупные компании выбирают Java/C#. Важными остаются SEO и мобильная адаптивность.
#web #backend #frontend
Гайд по подготовке к собеседованию по Kubernetes
Kubernetes (K8s) — это открытая платформа для автоматизации развёртывания, масштабирования и управления приложениями в контейнерах. Она предлагает инструменты для упрощения работы с контейнерами, например, Docker, и позволяет легко управлять приложениями в распределённой среде.
В этой статье исполнительный директор по разработке Газпромбанка делится обширным списком частых вопросов с собеседований на тему k8s. Среди них есть и базовые темы на понимание инструмента, и специфичные вопросы, по типу управления ресурсами, best practices и Kubernetes Service.
#собеседование #devops #k8s
Продолжаем изучать SQL — выбор данных и их сортировка
Сегодня разберём два популярных оператора в SQL — SELECT
и ORDER BY
.
Первый — оператор выбора. Он используется для извлечения каких-то конкретных данных из таблицы. Например, в таблице есть данные о именах студентов, их курсе и оценках. Чтобы получить только имена студентов, используем SELECT name FROM students
. Выбирать можно также сразу несколько параметров через запятую. Вот небольшая шпаргалка по этому оператору.
Второй — оператор сортировки. Вместе с ним используется оператор ASC
для сортировки от меньшего к большему, и DESC
— от большего к меньшему. Например, если нужно отсортировать имена учеников по их оценкам, начиная с самых высоких, то используем: ORDER BY score DESC
. По этому оператору тоже есть небольшая статья.
#sql
Что такое TCP/IP — объясняют на пальцах
TCP/IP — это способ, с помощью которого компьютеры обмениваются информацией друг с другом в интернете. Он важен для того, чтобы данные могли безопасно и правильно передаваться. TCP/IP работает так, что данные разбиваются на маленькие кусочки (пакеты), отправляются через сеть с указанием адреса получателя, и затем собираются обратно в исходный файл или сообщение. Этот способ обмена данными является практически фундаментом работы интернета. Поэтому разработчику полезно знать, как работает этот протокол.
Держите видео, где наглядно и простыми словами разбирают принцип работы TCP/IP в деталях: рассказывают про порты, сокеты, DNS, маски сети и многое другое.
@prog_point #интернет #теория
Интерактивный курс по SQL
Держите ещё один ресурс для интерактивного обучения, на этот раз по SQL. В этом курсе большинство шагов — это практические задания на создание SQL-запросов. Каждый шаг включает теоретические аспекты по базам данных или языку SQL, примеры похожих запросов и пояснение к реализации. Поэтому это отличный вариант обучения для начинающих.
Также каждый учащийся может предложить свои задания по SQL. Лучшие из них публикуются в отдельном модуле.
#sql
Учить Git, да так, чтоб было ещё и интересно
Да, такое возможно. Один из вариантов — Learning Git — интерактивный тренажёр. В нём вы можете с нуля изучить Git и сразу же практиковаться с визуальной демонстрацией. Благодаря этому можно будет разобраться даже в самых трудных командах, ведь всё будет отображаться в схеме.
Тут также есть различные уровни сложности, поэтому проходить с полного нуля не обязательно.
#git
Куда идти на стажировку, если любишь чинить железо
Если вам нравится собирать и апгрейдить компьютеры, то вам может подойти профессия инженера вычислительной инфраструктуры. Такие специалисты работают с «внутренностями» компьютера, но задачи у них глобальнее — поддерживать работу серверов и решать технические поломки.
Узнать подробнее о том, кто такой инженер вычислительной инфраструктуры и что он делает, а также как можно устроиться на стажировку и какие перспективы открываются после неё, вы сможете в статье.
Реклама
Курсы:
— Курс от Hugging Face: баланс теории и практики, вы познакомитесь с основными библиотеками, получите сертификат по окончанию и сможете пообщаться с другими участниками в Discord.
— Плейлист с подробными лекциями о базовых концепциях и популярных архитектурах обучения роботов.
— Курс на Coursera: даст понимание ключевых идей обучения с подкреплением. Вы сможете реализовать полноценное RL-решение и научитесь применять инструменты ИИ для решения реальных задач.
Книги:
— «Грокаем глубокое обучение с подкреплением» Моралес Мигель;
— «Обучение с подкреплением [2-е изд.]» Ричард С. Саттон, Эндрю Дж. Барто;
— «Алгоритмы принятия решений» Кохендерфер М., Уинлер Т., Рэй К.
Дайте знать, если хотите видеть больше подобных подборок!
#rl #deeplearning
One Day Offer для Data Science
Обнаружен самый короткий путь к офферу в Сбере: 2 марта вас ждут на онлайн One Day Offer для специалистов Data Science.
Сбер разрабатывает и внедряет DS-решения в точки касания с клиентом: отделения, мобильное приложение, банкоматную сеть, кол-центр, канал Премьер и т. д. За год запускается более 200 моделей.
Стек направления: Python, Spark, SQL, Hadoop, GreenPlum.
В ваших задачах будет:
— Обучение всех типов моделей искусственного интеллекта: от классического ML до глубоких нейронных сетей.
— Создание высокотехнологичных сервисов: от систем принятия решений до компьютерного зрения и обработки естественного языка.
— Развитие хранилищ блока на Teradata и DataLake на Hadoop.
У вас есть уникальная возможность поучаствовать в выводе продуктов с нуля в промышленную эксплуатацию. Интересно?
Регистрируйтесь по ссылке.
Реклама
Как выучить язык программирования быстрее
Чтобы стать хорошим программистом, необходимо проработать свой план обучения. Без него вы рискуете быстро потерять мотивацию изучать язык программирования.
В этом видео разработчик с 20-летним стажем даёт полезные советы, которые помогут пройти путь от «чайника» до уверенного разработчика.
Если очень кратко, то:
— Помните, что каждый следующий язык учить легче. Соответственно первый — самый сложный;
— Читайте чужой исходный код;
— Не стесняйтесь спрашивать на форумах (по типу Stack Overflow);
— Попробуйте начать обучения на платформе с геймификацией;
— Не давайте волю синдрому самозванца;
— Учите алгоритмы и структуры данных;
— Не торопите себя и дайте время, чтобы всё выучить;
— Используйте отладчик.
#general #советы
Регулярные выражения для начинающих
Регулярные выражения — это инструмент, который позволяет определять, находить и заменять текст по определённому паттерну, состоящему из специальных символов. Простейший пример — нужно удостовериться, что эл. почта или моб. телефон в форме ввода действительно корректны, а не "фывфыв". Поддержка регулярных выражений есть в любом языке программирования.
Например, так выглядит регулярное выражение для телефонных номеров по типу 123-456-7890:\d{3}-\d{3}-\d{4}
где \d
— символ цифры, {3}
— количество повторений, -
необходимый разделитель.
Шпаргалки по регулярным выражениям стали своего рода мемом, ведь из-за сложности синтаксиса к ним регулярно обращаются даже бывалые разработчики. Поэтому держите шпаргалку в картинке, а также ИИ-инструмент, который по текстовому запросу сгенерирует вам необходимую регулярку.
#regexp
5 ошибок Python-разработчиков, которые выдают новичка
У начинающих специалистов может складываться впечатление, что рабочий код — готовый код. По мере роста скилов и опыта, становится понятно, что код рекомендуется писать не только рабочим, но и чистым. А также поддерживать в разработке определённые стандарты. Они относятся не только к коду, но и к тестам, ведению Git, да и просто к базовым знаниям технологий.
Собрали для вас самые распространенные ошибки в Python-разработке в этой статье. Особенно полезной будет тем, кто собирает портфолио для трудоустройства или хочет получить простые, но практичные советы.
#советы #python
Чистим код: Функции
В прошлом посте разбирали основные принципы по именованию программных сущностей. А сегодня разберём как лучше писать функции, чтобы их можно было легко читать и понимать:
— Функция должна быть короткой (хотя есть и исключения). Сложно сказать о норме, но ориентироваться можно на значение не более 10-20 строк.
— Функция должна выполнять чётко одну операцию.
— Правило понижения: код должен читаться сверху вниз. Если в функции А вызывается функция Б, то Б должна следовать после А.
— Функция должна иметь как можно меньше аргументов, т. к. каждый аргумент — это контекст, про который должен знать разработчик. Если аргументов много и они связаны — следует упаковать аргументы в один объект.
— У функции не должно быть побочных эффектов — скрытых действий, о которых разработчик может не догадываться.
— Касательно комментариев к функциям от Роберта Мартина: "Комментарии должны компенсировать неудачу в выражении мыслей в коде. Комментарии — признак неудачи". Чистое именование функции и её реализация избавляет разработчика от необходимости написания для неё комментария. Конечно, есть и исключения: авторские права, TODO-листы, объяснения важности или предупреждения.
#чистимкод
Про дефолтные утилиты в Go и чистоту кода
В Go есть Go fmt — готовый инструмент для форматирования кода на Go. А также Golangci-lint — линтер для поиска ошибок.
Какие ещё утилиты есть в Go и как они делают код чище и проще для ревью и чтения — смотрите в новом выпуске avito.code. Инженер PaaS AvitoTech Павел Агалецкий рассказывает о полезных командах на примере живого кода.
Реклама ООО «Авито Тех», LjN8JtHrs
Продолжаем изучать SQL: Индексы
Индексация в SQL похожа на книжную индексацию, ускоряющую поиск данных. Благодаря индексам на порядок повышается скорость запросов. Индексы эффективны в больших базах данных и системах с плановыми обновлениями, но не рекомендуются для небольших таблиц, частых обновлений и столбцов с множеством null значений.
Держите статью, где подробно и простым языком объясняют принцип работы индексов и их необходимость в базах данных.
#sql
Шпаргалка по Markdown в одной картинке
Markdown — популярный язык разметки текста, который можно встретить практически где угодно: редакторы блогов, документации (как на GitHub и т. д.), базы знаний и трекеры (типа Notion, Todoist). Поэтому понимание хотя бы базового синтаксиса этой разметки точно не будет лишним для общей эрудиции любого разработчика.
Разметка простая и местами даже интуитивная. Например, вот так пишется # Заголовок
, вот так *жирный текст*
, а так список:1. элемент 1
2. элемент 2
Всё самое необходимое по Markdown можно найти в шпаргалке выше (источник). Там же для лучшего понимания приведён аналог на HTML каждого из элемента.
#markdown #шпаргалка
Дорожная карта для изучения Rust
Rust — это современный и безопасный язык программирования, который обеспечивает высокую производительность и защиту от ошибок. Начинающих в IT этот язык привлекает своей простотой и удобством в использовании, а также возможностью разработки быстрых и надёжных приложений.
Держите дорожную карту по изучению Rust с нуля. На сайте можно узнать, в какой последовательности лучше изучать темы, что от чего зависит и главное — получить краткую выжимку по каждому из пунктов, нажав на него.
#rust #roadmap
Что такое MVP простыми словами
MVP (Minimum Viable Product) — это базовая версия продукта с минимальным набором функций, необходимых для решения основной проблемы целевой аудитории.
Зачем это нужно?
MVP позволяет проверить продукт на аудитории, собрать фидбек и скорректировать план, затратив при этом минимум финансов и времени.
Пример MVP:
Простое мобильное приложение для заметок, которое позволяет создавать, редактировать и удалять записи. Это основная функциональность, необходимая для удовлетворения потребностей пользователей — без перегруженного интерфейса и сторонних фич.
Ошибочное представление MVP:
Создание приложения для заметок с множеством "технологичных" функций, таких как голосовые комментарии и анимированные эффекты, но без базовой функциональности, такой как редактирование существующих заметок. Такой подход уводит внимание от основной проблемы и увеличивает затраты на разработку.
Если хотите глубже познакомиться с концепцией MVP с советами и примерами, то держите эту статью.
#теория