Игры, помогающие прокачать логику и понимание алгоритмов
Держите целую подборку игр (более 20 штук), которые отлично подойдут начинающим в программировании. Вот некоторые из них:
Colobot — знакомая многим игра для простого изучения программирования. Язык C-подобный. По сюжету нужно найти новую планету для жизни.
The Nand Game — бесплатная браузерка, где вы собираете компьютер, начиная с самых базовых элементов.
Screeps — ММО стратегия, где вы программируете поведение своих «юнитов».
The Signal State — игра в стиле постапокалипсиса, где вы играете за техника и должны решить 40 головоломок (это она на превью).
BOX-256 — 8-битный компьютер с 256 памяти и 16-цветным дисплеем. Для настоящих олдов.
Oh My Git! — игра для обучения Git. Там визуализируются внутренние структуры репозиториев. Игра опенсорс, так что можно покопаться в исходниках.
Топ-12 ресурсов для бесплатного изучения веб-разработки и программирования
Это одни из самых популярных образовательных IT-ресурсов. Конечно, всю информацию из них нужно структурировать, какие-то из них полностью на английском. Но факт в том, что для своей ниши они проработаны очень даже неплохо.
Сохраните, чтобы изучать то, что нужно вам:
— W3School: https://www.w3schools.com
— Современный учебник JavaScript: https://learn.javascript.ru
— Codewars: https://www.codewars.com
— Refactoring Guru: https://refactoring.guru
— Web.dev: https://web.dev
— Harvard CS50 (2023): https://www.youtube.com/watch?v=LfaMVlDaQ24
— Geeks for geeks: https://www.geeksforgeeks.org
— Дока: https://doka.guide
— Egghead: https://egghead.io
— Freecodecamp: freecodecamp" rel="nofollow">https://www.youtube.com/@freecodecamp
— LeetCode: https://leetcode.com/explore
— Developer Roadmaps: https://roadmap.sh
#инструменты #курс
Как стать айтишником — ответы на популярные вопросы
Какой язык изучать, как мотивировать себя, где начинать начинающему — эти вопросы задаёт практически каждый айтишник на старте своего обучения.
В данной статье руководители IT-компаний отвечают на эти и другие вопросы, а также делятся полезными советами на старте. Разбирают темы общего плана, поэтому ответы будут полезны специалистам любого стека.
SOLID в картинках
SOLID — распространённая тема у программистов. Если кратко, то это набор правил и подходов к разработке, при которых архитектура приложения получается и остаётся лёгкой, гибкой и читаемой. Знание SOLID можно встретить в требованиях почти к каждой вакансии разработчика.
Всего этих правил 5. Смысл каждого описан на картинках выше — на примерах разбирают проблему в ООП и принцип, который эту проблему решает. А в этой статье детальней рассказывают про каждый из них. Если кратко:
S — Single Responsibility — Каждый программная сущность должна отвечать только за одну операцию.
O — Open-Closed — Классы должны быть открыты для расширения, но закрыты для модификации.
L — Liskov Substitution — Объекты дочерних классов должны быть способны заменить объекты родительских классов.
I — Interface Segregation — Не следует ставить клиента в зависимость от методов, которые он не использует.
D — Dependency Inversion — Сущности должны зависеть от абстракций, а не от конкретных деталей.
#solid #теория
Как писать чистый код
В современной разработке ПО одним из ключевых аспектов является создание чистого кода. Этот подход не только улучшает совместную работу команды разработчиков, но и способствует лёгкой поддержки и долгосрочной устойчивости продукта.
Держите серию видео, где разбирают простые, но эффективные советы по поддержанию чистоты кода — про именование, комментарии, реализацию функций и многое другое. Большинство советов универсальны и не зависят от определённого языка программирования, поэтому актуальны для всех программистов.
Хотели бы отдельную рубрику с разборами советов по чистому коду?
🍌 Да
🌭 Нет
#чистыйкод
Developer Roadmap обновили дорожные карты на 2024
Ребята здорово прокачали дорожные карты. Теперь шпаргалками можно пользоваться как чек-листом и узнавать подробности по каждому пункту прямо на сайте: https://roadmap.sh/android
#android #инструменты
Rest API для начинающих. HTTP, Клиент-Сервер, проектирование, разработка
Rest API — это способ, которым веб-приложения обмениваются информацией через интернет, подобно разговору на определённом "языке". Такой способ позволяет приложениям запрашивать и отправлять данные, такие как текст или изображения, чтобы работать вместе и обеспечивать взаимодействие в удобном формате.
В этом видео на простых примерах объясняют принцип работы Rest API. Тут разбирают теорию RESTful, расскажут, как это всё правильно проектировать, создавать и документировать.
#restapi
Разница между переменными значимого и ссылочного типа
Понимание различий между переменной значения (value variable) и ссылочной переменной (ref variable) считается фундаментальными знаниями практически в любом стеке. Также эта тема может подниматься на собеседованиях на позицию junior-разработчика. И вот в чем разница:
Когда мы оперируем переменной значимого типа (присваиваем, передаём аргументом в функцию, кешируем и т. д.), то мы оперируем непосредственным значением переменной (например, числом или буленом). То есть когда переменной А присваивается значение переменной Б, то переменной А назначается копия Б, которая никак не зависит от оригинала. Если же потом переменная Б изменяется, это никак не отражается на значении переменной А. Пример из жизни: подруга попросила у вас книгу, вы отдаёте ей ксерокопию книги. Если потом подруга решит разрисовать свою копию, на вашем оригинале книги это никак не отразится.
Когда мы оперируем переменными ссылочного типа, то мы оперируем лишь указателем на переменную, а не его непосредственным значением. Если переменной А присваивается Б, то в А никакого значения не хранится, а хранится лишь ссылка на Б. В таком случае, если меняется значение Б, то и значение А тоже изменяется. Пример: подруга попросила у вас книгу и вы даёте ей номер нужной книги в библиотеке — она может пользоваться оригиналом. Если она решит разрисовать книгу — она разрисует оригинал.
Это далеко не единственное отличие между этими типами, но крайне важное.
#теория
SQL-запросы — основные команды для работы с базами данных
SQL — это язык запросов для работы с базами данных (создание/изменение таблиц, добавление и редактирование записей в них). По синтаксису SQL-запросы похожи на обычные предложения:SELECT (Name, Age) FROM Clients WHERE Age > 20
Что можно перевести как
Выбрать Имя и Возраст из Таблицы клиентов, где Возраст больше 20.
Ниже рассмотрим базовые SQL-запросы. Первые две команды обязательны, а другие четыре используются по необходимости.
— SELECT
— выбирает отдельные столбцы или всю таблицу целиком;
— FROM
— указывает из какой таблицы получить данные;
— WHERE
— условие, по которому выбираются данные;
— GROUP BY
— параметр, по которому будут группироваться данные;
— HAVING
— условие, по которому сгруппированные данные будут отфильтрованы;
— ORDER BY
— параметр, по которому данные будут отсортированы;
Детальней про эти и другие команды, а также ещё много полезного читайте в этой статье.
#sql #db
Создание и бесплатная публикация сайта на GitHub Pages
GitHub — это не только агрегатор репозиториев с кодом. Одной из платформ сайта является GitHub Pages — инструмент для простой и бесплатной публикации статичных сайтов прямо на GitHub. Поэтому этот вариант отлично подходит для каких-нибудь лендингов, онлайн-визиток и портфолио.
В этой статье разбирают несложный процесс подключения Pages к репозиторию. Помимо взаимодействия со стандартным набором HTML/CSS/JS, сервис также поддерживает простой синтаксис форматирования текста Markdown — вот документация по нему от GitHub. Используя его, можно создавать простые сайты вообще без использования кода.
#frontend #web
Docker для начинающих
Docker — это инструмент для упаковки, доставки и запуска приложений в легко переносимых контейнерах. Контейнеры обеспечивают изолированное окружение, в котором приложение может работать независимо от системы, на которой оно запущено. Таким образом, разрабатывая локально приложение в контейнере, вы можете быть уверенными, что оно будет аналогично работать и на любой другой машине (с другим окружением, ОС, версиями библиотек и т. д.).
В этом видео-уроке вы познакомитесь с технологией Docker и научитесь с нуля пользоваться контейнерами. Тут разберут несколько примеров работы с Python и NodeJS, расскажут про основные команды. Потом вы увидите как происходит процесс упаковки контейнера и загрузки его на сервер.
#docker
Создание игр на Unity: от нуля до готового продукта
Unity — популярный кроссплатформенный игровой движок, на котором были созданы многие знакомые игры: Hearthstone, Cuphead, Pokemon Go, Among Us и многие другие. Движок отлично подходит для начинающих, так как имеет низкий порог входа и большое, активное сообщество.
Держите курс, на котором вы создадите свою собственную игру-раннер с нуля и узнаете, как можно начать зарабатывать на ней с помощью Яндекс Игр. Тут вы пройдёте весь процесс реализации игры: от создания механик и настройки окружения, до подключения рекламы и внутриигровых покупок.
#gamedev
Без каких знаний не обойтись бэкендеру в 2024 году?
Бэкенд — это серверная часть веб-приложений, ответственная за обработку данных, взаимодействие с базой данных и обеспечение их стабильной и безопасной работы. Технологии бэкенда, как и любые другие, не стоят на месте. Поэтому крайне важно быть в тренде, чтобы оставаться востребованным специалистом.
Если вы только планируете изучать бэкенд, то эта статья окажется особенно полезной. В ней специалисты отвечают на вопросы о трендовых стеках в бэкенде на этот год. Так вы сможете сразу изучать только востребованные технологии.
#backend #web
Участник Open Source — как им стать и зачем
Многие приложения и технологии, которыми мы пользуемся, содержат большое количество ПО с открытым исходным кодом. Это когда над кодом продукта могут работать не только непосредственно его разработчики, но и любые желающие программисты — всё бесплатно и доступно.
Работа с open source может помочь эффективно учиться и наращивать практические навыки. Также это отличный вариант для портфолио.
В этой статье рассказывают, зачем становиться участником OS, как это сделать и какие есть варианты работы (помимо написания кода).
#general
Паттерны MVC, MVP и MVVM — что это
Семейство MV*-паттернов — популярная тема у программистов. Про неё любят спрашивать на собеседованиях и указывать в вакансиях. Давайте разберёмся, что это:
MV*-паттерны — паттерны для организации архитектуры кода. Они улучшают его строение, читаемость и обеспечивают эффективную работу приложения. Каждый из них разделяет программную логику на 3 составляющих:
MVC — Model-View-Controller. Тут модель хранит в себе данные, представление отвечает за отображение этих данных, а контроллер реагирует на ввод пользователя, оповещая об этом модель.
MVP — Model-View-Presenter. Тут модель хранит бизнес-логику, представление отображает данные, а презентер реализует взаимодействие между моделью и представлением.
MVVM — Model-View-ViewModel. Модель отвечает за хранение данных и бизнес-логику. Представление — отображает данные и обрабатывает пользовательский ввод. Модель представления преобразует данные из модели для представления и уведомляет модель о вводе.
Подробнее в статье.
Что такое .gitignore-файл?
gitignore — это файл конфигурации, который используется в системе контроля версий Git для указания файлов и директорий, которые должны быть проигнорированы Git при отслеживании изменений в репозитории.
Зачем он нужен?
— Исключение временных файлов. Игнорирует файлы, создаваемые в процессе разработки, такие как *.pyc
и node_modules/
.
— Платформозависимый код. Игнорирует файлы, специфичные для ОС, например, .DS_Store
и Thumbs.db
.
— Защита чувствительных данных. Предотвращает случайное добавление паролей и ключей API в репозиторий.
Пример синтаксиса файла:# Игнорирование временных файлов Java (файлы с указанным расширением)
*.class
# Игнорирование настроек проекта IntelliJ IDEA (все файлы в указанной папке)
.idea/
Чтобы вручную не составлять .gitignore-файл, можно воспользоваться сервисами с готовыми конфигами. Например gitignore.io — указываете используемые в проекте технологии и получаете заполненный файл.
#git
Тест — Хорошо ли вы знаете принципы SOLID?
В прошлом посте рассказывали про принципы SOLID. Они помогают писать и поддерживать гибкий, читаемый и масштабируемый код.
Теперь предлагаем проверить усвоенные знания на нашем тесте. Всего в нём 10 вопросов. Результатами можно поделиться в комментариях.
#solid
Устроим викторину. Какой из следующих форматов чаще всего используется при обмене данными между веб-сервером и клиентом?
#викторина
Как программисту сохранить своё здоровье
Сидячий образ жизни программиста со временем сильно сказывается на его здоровье. Поэтому крайне важно как можно раньше начать бороться с этим, не дожидаясь каких-либо симптомов. Вот некоторые простые, но эффективные советы:
— Практика "20-20-20": Каждые 20 минут работы смотрите на объект, находящийся на расстоянии 20 футов (6 метров), в течение 20 секунд. Это поможет снизить усталость глаз.
— Используйте стол для стояния: Разнообразьте рабочий процесс, используя стол для стояния. Это поможет улучшить осанку и уменьшить проблемы со спиной.
— Метод Помодоро: 25 минут фокусированной работы, затем 5 минут перерыва. После каждого цикла делайте короткую физическую активность, например, приседания или отжимания.
— Гаджеты для улучшения осанки: Рассмотрите использование гаджетов, например, устройств для коррекции осанки, которые помогут поддерживать правильное положение тела.
— Используйте массажные коврики для стоп, чтобы стимулировать точки на стопах и улучшить кровообращение.
— Изучите простые упражнения для рук и запястий, которые можно выполнять прямо за рабочим столом, чтобы предотвратить туннельный синдром.
#советы #здоровье
Какую IT-профессию выбрать для старта
Планируете вливаться в IT, но ещё не определились с подходящим направлением? Тогда держите статью, где разобрали 11 самых распространённых IT-профессий и рассказали об их особенностях. Каждую оценили по критериям зарплаты, лёгкости первого трудоустройства и перспективам. Спектр направлений широкий: от программиста и тестировщика, до HR и UX/UI-дизайнера. Поэтому каждый сможет подобрать для себя подходящее направление.
#general
AvitoTech приглашает на Avito Android meetup #2
В программе много цифр и интересных кейсов по Android-разработке. А также три доклада про:
— сценарии сборки и их связь с Git Workflow;
— нюансы потребления памяти Android-сборками;
— автоматизацию генерации Baseline Profile.
Событие пройдёт 6 февраля в 19:00 в московском офисе Авито. Чтобы попасть на мероприятие офлайн, зарегистрируйтесь здесь.
Если вы не сможете прийти на встречу, то смотрите прямую трансляцию митапа на ютуб-канале AvitoTech.
Реклама ООО «Авито Тех» LjN8JuNsQ
Тренды и новинки в мире CSS и веб-дизайна
Если включать “режим Ванги” и попытаться предсказать, что изменится в веб-дизайне в течение 2024 года, нелишним будет оглянуться на события 2023. Тренды, наметившиеся в минувшем году, так или иначе лежат в трёх основных плоскостях — это технологии, стиль и организация труда.
В этой статье веб-дизайнер анализирует растущие тренды, которые есть смысл прокачать как начинающим разработчикам, так и опытным. Если кратко, то двигаться стоит в этих направлениях:
— Инструменты для создания сайтов на основе AI;
— Инструменты для ускорения рядовых задач на основе AI;
— Интерфейсы для смешанной реальности;
— Интеграция 3D-иллюстраций;
— Работа в распределённой команде, селф- и тайм-менеджмент;
#web #frontend
Станьте профессионалом в области Data Science за два года в академии от Центрального университета!
Получите диплом магистра в области математики и компьютерных наук и обучайтесь на основе реальных бизнес-задач и кейсов ведущих ИТ-компаний c преподавателями-практиками.
Также помимо образования и практики студенты получают:
— современный кампус в центре Москвы;
— личного ментора по обучению;
— оплачиваемую стажировку в Тинькофф или других партнерах программы с первого семестра;
— помощь с трудоустройством после первого года обучения.
Ознакомиться более подробно можно здесь
Реклама АО «Тинькофф Банк» erid:2VtzqvWM7pJ
В образовательном проекте avito.code вышли ролики по Kubernetes
В первом видео — база по деплою, во втором — более сложные команды с kubectl и гайд по работе с интерфейсом k9s.
Смотрите, чтобы научиться эффективно управлять приложением, быстро проверять и управлять его ресурсами.
Реклама ООО «Авито Тех» LjN8KDk3G
#kubernetes
Python — отличный вариант для начала карьеры в IT
Этот язык рекомендуют в качестве первого языка программирования, и для начала обучения вам не понадобятся технические знания и навыки.
Запишитесь на бесплатный курс Нетологии «Основы Python: создаём телеграм-бота». Программа акцентирована на практике. За 5 занятий вы погрузитесь в логику и синтаксис языка, изучите основные инструменты для написания кода. С нуля разработаете планировщик задач и создадите полезного Telegram-бота, которым сможет пользоваться кто угодно.
Попробовать Python
Реклама. ООО “Нетология“. Erid LatgBd3Pt
Как начать переход в IT без волнений
Вот всего 3 шага:
1) разобраться, как устроена профессия;
2) попробовать бесплатно выучить основы;
3) узнать больше об учёбе.
У Яндекс Практикума есть эти шаги в бесплатном курсе по основам Python-разработки. Программу составили опытные разработчики и методисты, чтобы вы сами могли освоить базу.
На курсе вы:
— узнаете, какие задачи решает бэкенд-разработчик;
— будете писать код на Python — с первого урока;
— создадите программного помощника Анфису.
Не стоит медлить: разберитесь бесплатно, что к чему в Python.
Реклама
Топ структур данных, которые важно знать
Понимание основных структур данных считается "базой" для разработчиков — про это спрашивают на собеседованиях, на них основываются различные задачки и они повсеместно используются в разработке.
Структуры данных используют для хранения информации таким способом, который выгоден в конкретной ситуации. Это можно сравнить с обычной библиотекой, где книги хранятся вертикально на полках, а не как-либо ещё (например горизонтально в стопке или вообще в бесформенной куче). Именно такой вариант хранения книг удобен и эффективен для библиотеки.
В этом видео разбирают такие структуры данных, как: stack, queue, linked list, hash table, binary tree. Разбирают их особенности работы и задачи, в которых они применяются.
#теория #структуры