prog_point | Unsorted

Telegram-канал prog_point - Точка входа в программирование

21197

Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj

Subscribe to a channel

Точка входа в программирование

Над презентациями больше не прокрастинируем

Для тех, кто испытывает творческое напряжение во время верстки слайдов, разработали Tome — конструктор с ИИ, который:

— создаст типовую структуру презентации по коротком промпту (например, «напиши питч IT-стартапа в области медицины»);
— раскидает буллит-поинты, картинки по слайдам и даст их перегенерить при уточнении промпта;
— сгенерирует картинки, видео и анимирует переходы и многое другое.

How To

#нейросети

Читать полностью…

Точка входа в программирование

​​Как работает тёмная тема и как правильно её создать

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

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

#ux #ui

Читать полностью…

Точка входа в программирование

​​Про ООП в картинках и с трансформерами

В программировании объектно-ориентированный подход подобен работе с конструктором, где вы создаёте сложные системы, собирая их из меньших, но более понятных частей — объектов. Каждый объект — это своего рода строительный блок, который хранит данные и действия, специфичные для него. Например, объект "автомобиль" может иметь свойства скорости и цвета, а также методы для езды и остановки.

Тема ООП очень распространена в IT и является своего рода "базой", которую должен понимать разработчик.

Держите лонгрид, в котором все понятия ООП объясняют не стандартными формулировками, а на примере строения трансформеров. Тут же разбирают работу геттеров/сеттеров, перегрузки и немного SOLID. Всё с примерами кода, чтоб легче было усвоить.

#теория

Читать полностью…

Точка входа в программирование

Учимся анимировать в CSS за 20 минут

CSS предлагает два метода анимирования: переходы (transitions) и анимации (animations). Переходы плавно изменяют свойства, а анимации контролируются по ключевым кадрам.

Для создания перехода используются свойства transition: duration, timing function, delay. Анимации создаются с помощью @keyframes и параметров, таких как имя и длительность.

Также есть утилитарные классы, которые упрощают использование анимаций: slideInLeft, slideInRight, rotate и bounce.

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

#css #frontend

Читать полностью…

Точка входа в программирование

​​Что лучше использовать: PyTorch или TensorFlow?

Хотите разобраться в инструментах машинного обучения? Давайте разберём в сравнении PyTorch и TensorFlow:

PyTorch — это простой инструмент, который хорошо дружит с Python и создан на базе библиотеки Torch.

TensorFlow — это большая система от Google Brain, поддерживающая различные платформы и языки программирования. Есть множество предварительно обученных моделей.

У первого из преимуществ простота, гибкость, удобство с Python. Но есть ограничения с визуализацией и сервированием моделей. А TensorFlow хорошо может в производительность и масштабируемость, но иногда подводит с обратной совместимостью и скоростью.

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

#pytorch #tensorflow #ml

Читать полностью…

Точка входа в программирование

​​Участник 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

Читать полностью…

Точка входа в программирование

Что такое хэш-таблицы и как они работают

Хэш-таблица — это одна из самых популярных структур данных. Про неё любят спрашивать на собеседованиях и в целом использовать в программировании. И вот почему:

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

Если интересно, как именно работают хэш-таблицы и функции "под капотом", то держите видео на эту тему.

#теория

Читать полностью…

Точка входа в программирование

​​React Native vs. Flutter: что лучше?

Если только планируете вливаться в мобильную разработку, то можете стать перед выбором стека. Flutter и React Native — два основных инструмента для создания кроссплатформенных мобильных приложений. Оба позволяют разрабатывать приложения для iOS, Android и веб из одной кодовой базы.

Flutter предоставляет обширную библиотеку виджетов и плагинов, в то время как React Native — сторонние библиотеки и базовые компоненты.

Держите на заметку статью, где автор на практическом примере показывает разницу этих двух инструментов. Он создал чат-приложение с использованием Firebase в качестве бэкенда. React Native использует JavaScript и TypeScript, в то время как Flutter — язык Dart, оптимизированный для компиляции на разные платформы.

#mobile #react #flutter

Читать полностью…

Точка входа в программирование

Сделайте свой пет-проект в индустрии туризма! 
  
Открыта регистрация на Московский туристический хакатон — соревнование по цифровизации индустрии туризма. Он пройдёт в два этапа: отборочный онлайн-этап и очный финал в Москве. 
  
Общий призовой фонд: 7 500 000 рублей. 
  
Ждём IT-специалистов, продуктологов, разработчиков, дизайнеров, аналитиков, креаторов и других специалистов, создающих прорывные технологические и продуктовые решения. 
  
Вас ждут пять задач на стыке TravelTech и одной из дополнительных сфер: 
  
— BookingTech; 
— FinTech; 
— RoadTech; 
— ServiceTech; 
— E-Com. 
  
Окончание приёма заявок 11 марта, поторопитесь! Больше деталей на сайте
  
Заполняйте заявку на хакатон и выигрывайте!

Реклама АНО "Проектный Офис по Развитию Туризма и Гостеприимства Москвы" ИНН 7703468243, LjN8K43ay

Читать полностью…

Точка входа в программирование

​​Чистим код: советы по именованию

Записываем в блокнотик:

— Все сущности должны иметь понятные и удобнопроизносимые имена (т.е. никаких a1, a2, a3, temp, foo). Не бойтесь потратить на придумывание названия переменной более 5 секунд. В будущем вы от этого только выиграете.

— Длина названия должна быть пропорциональна области видимости сущности. Вот почему итераторы в маленьких циклах можно называть i, j, k, а какие-то глобальные константы лучше по типу MAX_REQUEST_COUNT.

— Имена классов должны представлять собой существительные или их комбинации.

— Методы в своём названии должны содержать глагол, описывающий действие метода. Если глагол не подобрать — задумайтесь, точно ли эта сущность должна быть методом?

— Стоит избегать названий со словами And, With, т.к. они нарушают принцип единой ответственности (хотя бывают и исключения).

— Если есть группа переменных с общим префиксом, то его ставим в конце, а различные части — вначале: StartButton, StopButton, а не ButtonStart, ButtonStop. Так проще находить нужное в группе нескольких переменных.

#чистимкод

Читать полностью…

Точка входа в программирование

Игры, помогающие прокачать логику и понимание алгоритмов

Держите целую подборку игр (более 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

Читать полностью…
Subscribe to a channel