Типичный программист
80.6K subscribers
3.12K photos
1.06K videos
11 files
7.74K links
Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
А вот свежий путеводитель по фронтед-разработке от коммьюнити

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

В дорожной карте собраны все актуальные инструменты и технологии по мнению комьюнити. А у репозитория kamranahmedse/developer-roadmap, в котором публикуются обновления, уже больше 250 тысяч звёзд: https://github.com/kamranahmedse/developer-roadmap

#шпаргалка #фронтенд #веб
👍26🔥81
Разработчик придумал грубое наказание для сайтов, которые воруют его веб-игру при помощи iframe

Бесплатная игра Sqword — несложная головоломка, в которой нужно последовательно размещать буквы в сетке 5×5, чтобы получилось как можно больше слов.

Как рассказал разработчик игры Джош Симмонс, он заметил, что несколько сайтов-агрегаторов игр встраивают его игру через iframe, где она отображается в окружении рекламных баннеров. Сам проект не монетизируется, но Симонса разозлило, что кто-то другой получает деньги с помощью игры, тем более таким способом.

Чтобы это исправить, Симмонс добавил в код пасхалку. Теперь, если сайт обнаружит, что игра загружается в iframe-окне, он отобразит goatse, старый NSFW-мем. Для посетителей сайта будет отображаться непристойное фото и сообщение: «Я краду чужой код, потому что я полное ничтожество».

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

Веб-разработчики, будьте повнимательнее с iframe. Геймдевелоперы, к вам вопросов нет.

#кек #веб #gamedev
👍88🤣273👎3🔥1
Вышла новая версия React-фреймворка Next.js 14

26 октября разработчики выпустили новый релиз Next.js. Из основных нововведений: релиз ускоряет время сборки в 2 раза, а Server Actions позволяет выполнять код на сервере.

Что ещё нового в Next 14:
— Ускоренный компилятор: Rust-based компилятор Turbopack обеспечивает стабильность и производительность.
— Fast Refresh ускоряет обновление кода до 94,7%.
— Введены маршруты API для упрощения создания внутренних эндпоинтов.
— Серверные действия позволяют определить функции, выполняемые на сервере и вызываемые из React-компонентов.
— Частичная предварительная отрисовка (Prerendering) оптимизирует отрисовку динамического контента.
— Улучшена обработка метаданных для более плавного пользовательского опыта и предотвращения проблем.
— Запущен новый бесплатный курс Next.js Learn для обучения разработчиков.

Подробнее: https://github.com/vercel/next.js/releases/tag/v14.0.0

#react #веб #фронтенд
😁16👍11🍾51👎1💘1
Как сделать сайт в стиле терминала за считанные минуты

Нашли очень интересный, настраиваемый и простой в использовании шаблон в стиле терминала, созданный на базе Next.js. Делимся с вами.

Для изменения контента сайта нужно работать только с одним файлом config.json. А ещё LiveTerm также можно использовать с Docker.

Сохраните, чтобы не потерять. Кто знает, когда такая красота пригодится: https://github.com/Cveinnt/LiveTerm

#веб
🔥15👍83
Новые единицы измерения в вебе — svh, lvh и dvh: для чего нужны и как их использовать?

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

Если вкратце, единицы измерения svh, lvh, dvh решают эту проблему, позволяя избавиться от ненужного скролла:
1. SVH (small viewport height) — единица измерения, которая задает самый маленький размер viewport, когда панель навигации отображается.
2. LVH (large viewport height) — задает размеры по самому большому размеру viewport, когда панель навигации скрыта.
3. DVH (Dynamic viewport height) динамически меняет значение высоты относительно того, открыта панель с навигацией или нет.

Их анонсировали несколько месяцев назад, они только начинают входить в обиход. Но эти единицы измерения можно использовать прямо сейчас. Согласно сайту can i use, они поддерживаются во всех современных браузерах.

#веб #фронтенд
👍30❤‍🔥73
Media is too big
VIEW IN TELEGRAM
Такого ужасного интерфейса вы ещё не видели

Наверное, все однажды встречали неудобную форму для ввода данных на сайте, но насколько она было неудобной? А что, если в одной месте будет собрана целая коллекция форм ввода номера с адовым UX.

Попробуйте ввести свой номер хотя бы в 3 формы и не получить при этом нервный срыв: https://fun.mishasaidov.com/badux/

#кек #веб
🤣97👍14🔥941👎1
Что изменилось в CSS за последние несколько лет

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

О том, что нового появилось в в CSS за последние годы вы сможете узнать здесь.

И нет, в статье не будет разбора и упоминания каждой новой функции за последние 5 лет, но в ней вы сможете узнать о новинках, оказавших наибольшее влияние на повседневную работу с CSS.

#веб #фронтенд #css
👍17🔥531
​​CSS в 2023 году: главные изменения

Не так давно компания Google представила обновления в CSS, вышедшие за прошлый год. А мы выделили для вас главные нововведения и рассказали о них кратко, просто и с примерами кода.

Узнать про архитектурные основы, работу с цветом, типографику, отзывчивую вёрстку и многое другое, вы сможете здесь.

#веб #фронтенд #cs
😁51👍10🎄42🤣2👎1
Media is too big
VIEW IN TELEGRAM
Самые чудовищные регуляторы громкости

Не так давно мы с вами увидели подборку самых неудобных форм для ввода номера телефона. Для любителей подобного, мы нашли новое зрелище: худшие слайдеры регуляции громкости.

Как вы думаете, на каком из них вы бы сдались?

#кек #веб
😁7021🔥14👍743🌚3❤‍🔥1
Поучительная получилась концовка 

Автор: Егор Векслер
 
#кек #веб
🤣163😁20👍13❤‍🔥72
​​Как исполняется код JavaScript и почему эти знания — суперсила веб-разработчиков?

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

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

Да, это не самая простая тема. Но вот несколько материалов, которые точно помогут в ней разобраться и здорово прокачать скилл работы c JavaScript:

1. Компактная статья с доступными объяснениями и крутыми анимациями: https://dev.to/lydiahallie/javascript-visualized-the-javascript-engine-4cdf

2. Серия из 19 статей на русском, после которых у вас точно не останется вопросов: https://habr.com/ru/company/ruvds/blog/337042/

#javascript #веб
👍214😱2
Подборка игр для обучения веб-разработке:

1. В Elevator Saga вам предстоит управлять лифтом с помощью JavaScript, разгадывая задачки. Игра опенсорс, так что можно покопаться в исходниках: http://play.elevatorsaga.com/

2. В Hex Invaders игрок должен быстро переводить шестнадцатеричное значение цвета на человеческий язык и сбивать пришельцев, чтобы спасти человечество: http://www.hexinvaders.com/

3. Если вы хотите изучить Ruby, то Ruby Warrior — то, что вам нужно: отличная игра для начинающих программистов. Есть два уровня сложности: https://www.bloc.io/ruby-warrior/

4. Flexbox Froggy — это логическая онлайн-игра, в которой вы должны помочь лягушкам добраться до их кувшинок. Делается это с помощью CSS Flexbox, что очень поможет развить навыки вёрстки: http://flexboxfroggy.com/

5. CSS Diner — отличная игра для знакомства с CSS-селекторами. Игроку даётся стол с посудой, заданный анимированной HTML-формой, и предмет или предметы, которые нужно взять со стола: https://flukeout.github.io/

#начинающим #веб
👍18🔥103🥰1
Разбираемся с CORS
 
Cross-origin resource sharing (CORS) — это механизм браузера, который обеспечивает контролируемый доступ к ресурсам, расположенным за пределами заданного домена. В вебе это довольно важная тема.
 
Поэтому держите небольшой набор статей, который поможет понять, как это вообще устроено. А если уже понимаете, но вас задолбали ошибки, то и с этим тоже: 
 
Лайтовое введение в CORS: история возникновения, как устроен и оптимальные методы работы: https://habr.com/ru/companies/macloud/articles/553826/
 
Более серьёзное руководство с многочисленными примерами и дополнительной информацией: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
 
Наиболее частые ошибки и способы их устранения: https://fatimamo.com/become-a-cors-wizard
 
#cors #веб
👍33😁63👏1🤯1👌1
​​Next.js: руководство по структурированию крупномасштабных проектов
 
Хорошая структура важна в любом проекте, а особенно в крупном, если, конечно, только вы не хотите чувствовать себя Индианом Джонсом, продирающимся сквозь густые джунгли компонентов, хуков и конфигурационных файлов. 
 
Эта статья посвящена именно этому. Следуя приведённой структуре, вы потратите меньше времени на размышления о том, куда что идет, и больше времени на создание потрясающих функций.
 
#веб #js
👍17❤‍🔥75
Подборка тренажёров для прокачки навыков вёрстки

Что делает из новичка крутого верстальщика? Правильно, практика, практика и ещё раз практика.

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

#подборка #вёрстка #веб
3👍4710👎2🤔2🔥1
Как повысить производительность сайта: улучшаем UX за счет сокращения времени загрузки

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

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

#веб
👍17😁94
This media is not supported in your browser
VIEW IN TELEGRAM
Как менялось соотношение популярности браузеров за последние 28 лет — свежая визуализация от Eeagli.

Муд оперы: стабильность залог успеха😂

#веб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7311😁11🔥8
Коды состояния HTTP на котиках 😺

Если объяснять HTTP-состояния текстом скучно, вот забавный проект: https://http.cat/

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

#веб
Please open Telegram to view this post
VIEW IN TELEGRAM
67👍17🔥7😐5🥰3😁2
Разбираемся с CORS
 
Cross-origin resource sharing (CORS) — это механизм браузера, который обеспечивает контролируемый доступ к ресурсам, расположенным за пределами заданного домена. В вебе это довольно важная тема.
 
Поэтому держите небольшой набор статей, который поможет понять, как это вообще устроено. А если уже понимаете, но вас задолбали ошибки, то и с этим тоже: 
 
Лайтовое введение в CORS: история возникновения, как устроен и оптимальные методы работы: https://tproger.ru/articles/cors-ot-a-do-ya--istoriya--owibki-i-gramotnaya-nastrojka
 
Более серьёзное руководство с многочисленными примерами и дополнительной информацией: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
 
7 распространенных ошибок CORS и способы их исправления: https://arunangshudas.com/blog/7-common-cors-errors-and-how-to-fix-them/
 
#cors #веб
👍2798
Как исполняется код JavaScript

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

Если хотите разобраться в теме глубже, вот подборка отличных материалов:
1️⃣ Краткая статья с классными анимациями
2️⃣ Большой разбор на русском (19 статей, после которых вы станете гуру JS).
3️⃣ Наглядный ресурс для визуализации порядка выполнения JS-кода

#javascript #веб
This media is not supported in your browser
VIEW IN TELEGRAM
9🔥9👍5🆒2👎1