Типичный программист
81.7K subscribers
2.69K photos
911 videos
8 files
7.47K links
Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
В своей статье о русскоязычной версии Wordle Саша рассказал, что использовал для её разработки Next.js.

Если вкратце, Next.js — это JavaScript-фреймворк, внутри которого работает библиотека React. Он «из коробки» отлично справляется с созданием статических веб-сайтов. Но главное, за что любят Next.js, — это возможность предварительного рендеринга страниц динамических сайтов на стороне сервера.

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

#курсы #js #веб #react
Кстати, о веб-разработке: помимо дорожной карты по бэкенду обновили и дорожную карту по фронтенду на 2022 год.

Как всегда, кратко — на картинке, а более подробно с инструкциями и полезными материалами — в заметке: https://tproger.ru/articles/frontend-roadmap-2021/

#фронтенд #шпаргалка
Что делать, если жильцы соседнего дома поставили рядом с вашим офисом шлагбаум?

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

Интересная история сама по себе. А если ещё интересуетесь информационной безопасностью в вебе и пентестингом, то материал точно для вас:

https://habr.com/ru/company/postuf/blog/596293/

#безопасность #веб
This media is not supported in your browser
VIEW IN TELEGRAM
Исследователи из Google Research и вашингтонского университета открыли код нейросети, которая позволяет путешествовать во времени

Не в прямом смысле, конечно, а с помощью особой технологии «восстановления» фотографий. Интересно, что в отличие от обычных способов восстановления изображений, здесь используется подход с моделью StyleGAN2 от Nvidia. Которая по сути заново генерирует фото, идеально подстраивая его под детали исходника. Результаты получаются значительно лучше, чем у аналогов вроде DeOldify.

Интересно, что видео с описанием и демонстрацией технологии было выложено ещё год назад. Но только теперь стал доступен код и колаб, в котором нейросеть может попробовать любой желающий:

https://github.com/Time-Travel-Rephotography/Time-Travel-Rephotography.github.io

#нейросети #ии #opensource
Сколько вкладок в браузере у вас обычно открыто во время работы?

#обсуждение
Сколько вкладок в браузере у вас обычно открыто во время работы?
Anonymous Poll
17%
1-5 вкладок
26%
6-10 вкладок
26%
11-20 вкладок
19%
21-50 вкладок
7%
51-100 вкладок
6%
>100 вкладок
This media is not supported in your browser
VIEW IN TELEGRAM
Подборка игр, которые прокачивают логику и алгоритмы

В статье вы найдёте более 20 игр, а тут расскажем о некоторых из них:

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

The Signal State — игра в стиле постапокалипсиса, где вы играете за техника и должны решить 40 головоломок (это она на превью).

Colobot — знакомая многим игра для простого изучения программирования. Язык C-подобный. По сюжету нужно найти новую планету для жизни.

Factorio — игра про проектирование, строительство и обслуживание фабрик. Можно создавать собственные карты, писать моды и даже играть по сети.

BOX-256 — 8-битный компьютер с 256 памяти и 16-цветным дисплеем. Для настоящих олдов.

Oh My Git! — игра для обучения Git. Там визуализируются внутренние структуры репозиториев. Игра опенсорс, так что можно покопаться в исходниках.

Полный список игр тут: https://tprg.ru/uDws

#начинающим
Media is too big
VIEW IN TELEGRAM
Наконец-то достойное применение для роборук: инженеры создали высокотехнологичный массажный стол с двумя манипуляторами

А показали его на выставке CES 2022. Роборуки умеют самостоятельно менять свои массажные насадки. И понимать голосовые команды пользователя, подстраивая силу давления и направление движения с помощью ИИ.

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

#роботы #медицина
Плохо ли сразу пушить сразу в мастер? Оказывается, не всегда

По крайней мере, так считает Мэттия Бэттистон. В своей заметке на Medium он рассказал о преимуществах подхода Trunk Based Development, а мы перевели её для вас. Статья 2019 года, но из неё до сих пор можно почерпнуть интересные мысли.

Приятного чтения: https://tproger.ru/translations/benefits-of-trunk-based-development/

А как вы считаете, есть ли преимущества у такого подхода к разработке?
This media is not supported in your browser
VIEW IN TELEGRAM
О да, теперь всё точно стало на свои места.

Очередная визуализация нескольких видов сортировок. На этот раз с Кронком.

#сортировка
This media is not supported in your browser
VIEW IN TELEGRAM
Ещё один годный репозиторий, на котором можно изучить реализации фронтенда и бэкенда одного и того же приложения на разных технологиях.

Angular, React, Vue, Node, ASP.NЕТ, Kotlin — всего более 100 реализаций с использованием различных языков, библиотек и фреймворков на реальном примере. Последнее обновление было меньше месяца назад:

https://github.com/gothinkster/realworld

#фронтенд #бэкенд
Подборка актуальных вакансий для мобильных-разработчиков

Flutter-разработчик
Где: Москва, можно удалённо
Опыт: От 1 года
Сколько: По итогам собеседования

IOS-разработчик
Где: Москва
Опыт: От 1 года
Сколько: По итогам собеседования

Android-разработчик
Где: Удалённо
Опыт: От 2 лет
Сколько: От 180 000 до 300 000 ₽

#вакансии #работа
JSON, или JavaScript Object Notation — текстовый формат обмена данными

И хотя JSON основан на JavaScript, он применяется и при работе с другими языками программирования. Корректные значения JSON — это:
— JSON-объект — неупорядоченное множество пар «ключ:значение», заключённое в фигурные скобки { };
— массив — упорядоченный набор значений, разделённых запятыми и находящийся внутри квадратных скобок [ ];
— число (целое или вещественное) или строка;
— литералы true, false и null.

Давайте на примерах разберёмся, чем JSON может быть полезен и как использовать его правильно: https://tproger.ru/articles/chto-takoe-json-vvedenie/

#начинающим
Что делать, если ваше приложение нарушает правила Google Play?

Часто такие ситуации происходят по смешным причинам. Но уж если это произошло, порой бывает сложно оспорить решение техподдержки Google Play.

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

Как не попасть в ту же ловушку, читайте в статье: https://habr.com/ru/company/productivity_inside/blog/646999/

#android #советы
Google опубликовала исследование с тенденциями в мире машинного обучения года

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

Будет интересно почитать людям, близким к ML и ИИ. А также просто чтобы убедиться, что это все эти ваши нейросети — не игрушки, интерес к которым скоро утихнет. А мощный инструмент, который сильно интегрировался в повседневную жизнь человека:

https://russia.googleblog.com/2022/01/google-2021.html

#тренды #ml
Запускать Android-приложения в Windows 11 можно будет уже в феврале

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

Интересно, что реализация поддержки приложений Android была анонсирована ещё во времена беты Windows 10. И вот, наконец, в блоге Microsoft назвали более конкретные сроки. Ранее, в Windows уже имелась возможность вручную запускать APK-файлы, но для этого приходилось устанавливать и настраивать Windows Subsystem for Android.

Ожидается, что теперь скачивать Android-приложения можно будет напрямую из онлайн-магазина. Для этих целей Microsoft даже заключила партнёрство с Amazon и Intel.

#windows #android
Задача на работу со скобками умеренной сложности

Как реализовать алгоритм для вывода всех корректных (правильно открытых и закрытых) комбинаций из n пар круглых скобок?

Например, при вводе «3» мы получаем:
( ( () ) ), ( ()() ), ( () )(), ()( () ), ()()()

Решение и подробное объяснение: https://tproger.ru/problems/working-with-brackets/

#задачки
Как попасть на стажировку в Tesla: история с инструкцией для студентов-программистов, готовых на шантаж Илона Маска

Всё началось с того, что 19-летний первокурсник Джек Суини создал бота, отслеживающего перемещения джета Илона Маска. Сейчас на него подписаны уже больше 86 тысяч человек: https://twitter.com/ElonJet

Это произошло ещё осенью 2021 года. Тогда Маск попросил удалить бота, назвав это «риском для безопасности». На что парень ответил, что с удовольствием сделает это. Но не просто так, а за $3000. И тут понеслась.

В ответ Маск предложил заплатить Джеку аж $5000, предложив помочь ему сделать так, чтобы всякие психи не отслеживали его местоположение. Но парню показалось мало даже такого предложения и он задрал ценник до $50 000. Сославшись на то, что это стало бы отличной поддержкой в колледже и, возможно, позволило бы ему купить Tesla Model 3. На что не получил ответа.

Но интересно тут не только это. Данные, которые использует студент в своём боте, по сути не являются конфиденциальными. А выкладываются в открытый доступ Федеральным управлением гражданской авиации США (FAA). Да, именно идентификационные данные частных самолётов удаляются из них. Но как раз тут студент и проявил смекалку.

Джек использовал данные транспондеров ADS-B. Они передаются в формате больше похожем на головоломку и также не сообщают ничего «личного». Но вот если сопоставить эти данные с данными FAA, получится почти точно предположить, где самолёт находится именно сейчас. Что и делает бот Суини. Парень объяснил это Маску, на что тот удивился, насколько управление воздушным движением примитивно.

Так вот на днях Суини написал Маску, что он с удовольствием предпочел бы стажировку в компании вместо денег. И кажется теперь шансы у него не плохие. Маск, правда, пока не ответил студенту, но парень не расстраивается. Ведь судя по данным бота, Маск сейчас отдыхает на Гавайях и видимо просто не успел ответить ему.

Как считаете, стоит ли взять такого «энтузиаста» на стажировку?

#кек #безопасность #илонмаск
This media is not supported in your browser
VIEW IN TELEGRAM
Кстати, про все эти визуализации алгоритмов сортировки

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

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

https://www.toptal.com/developers/sorting-algorithms

Например, если изначально объекты в массиве расположены в обратном порядке, то лучше с задачей справится алгоритм Шелла. А при сортировке объектов, расположенных полностью рандомно, чуть лучше отработает пирамидальная сортировка.

Пользуйтесь!

#сортировка #python #инструменты
This media is not supported in your browser
VIEW IN TELEGRAM
Ещё один проект, доказывающий крутость ESP32: энтузиаст создал полноценный эмулятор Nintendo на этом модуле и уложился всего в 15 долларов.

Почитать подробнее о том, как создать такой же, можно в репозитории NesCat: https://github.com/nathalis/NesCat

А посмотреть — на канале автора видео: https://www.youtube.com/watch?v=vKiWkSPpyaA

#diy