DevNotes Live
6 subscribers
84.2K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Вебинар «Как проводить код-ревью».

→ Зачем нужно ревью и как его внедрить
→ Плюсы и минусы код-ревью
→ Как справиться с трудностями в процессе внедрения
→ А ещё — поговорим о код-ревью в образовании

Советы подкрепим примерами из практики: разберём кейсы руководителя отдела разработки поисковых интерфейсов в Яндексе и старшего код-ревьюера на курсе «Веб-разработчик» в Яндекс.Практикуме.

Ссылка на вебинар
​​⚡️Бывший пиарщик Бургер Кинга, Кока-Колы и Тинькофф завёл свой телеграм-канал, где постит афигенную рекламу, и уничтожает брендов за зашкварную.

Это как 99 франков, только в России - тыц
Парное программирование: Плюсы и минусы

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

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

Сиди смирно и:

• Не получишь 650 тысяч налогового вычета
• Не получишь выплат по ковиду
• Ты даже не узнаешь, что мог бесплатно за 5 лет в очереди получить квартиру!

Подпишись на t.me/notes_legal — это канал самого полезного юриста, который для граждан раскрывает все лазейки в КоАП, Трудовом кодексе, административном праве и прочих полезных для нас с вами тонкостях.

⚖️ Забирай своё по закону — t.me/notes_legal
Лайфхаки для разработчика на Django

Для написания данной статьи был изучен очень большой пласт материала, разбросанного по всему Интернету, по форумам, чатам, сайтам-блогам, stackoverflow. Я собрал все воедино, так как это пригодится и мне и очень надеюсь, что другие разработчики на Django, также, останутся довольны данным материалом.

Статья
2017: не хочу я быть инста-блогером
2018: не буду я покупать криптовалюты
2019: не хочу снимать тиктоки
2020: да не хочу разбираться в NFT
2021: да не шарю я за метавселенную

А теперь всё это — тренды, на которых вы могли заработать миллионы. И кажется, таких шансов больше не будет, но это не так.

Фишка в том, что сегодня таких возможностей СОТНИ. Каждый день появляются тренды, которые принесут миллионы через пару месяцев. И чтобы замечать их достаточно читать канал Джейпег Малевича.

Ребята каждый день постят инсайдерскую инфу, которая не попадает в простой люд и рассказывают про то, что точно выстрелит в 2022 году.

Обязательно подписываетесь:
@malepeg
Если бы вы шарили за тренды, то всегда были бы при деньгах. Даже в кризис — https://t.me/+8O-_W9a7tEk1MzEy
Узнаем Bootstrap 4 за 30 минут

В данной статьи мы расскажем про framework bootstrap и покажем как сделать красивый лендинг

Статья
1024 способа переехать за границу БЕСПЛАТНО

Гранты, стипендии, стажировки — каждый найдёт подходящий способ после подписки на канал @internship_grants.

Английский не нужен. Опыт работы не нужен. Диплом тоже не нужен.

Короче, если хотите уехать уже сегодня, то канал мастхэв: @internship_grants. Лучше уже не будет.
Также требуется человек для прохождения стажировки в Microsoft! Зарплата 4000 руб/день. Срочно!

👉🏻 Забрать вакансию тут - https://t.me/+-FAfWJQPeaBmNDgy
​​Алгоритм Форда-Фалкерсона

"Алгоритм ФордаФалкерсона решает задачу нахождения максимального потока в транспортной сети. . Затем величина потока итеративно увеличивается посредством поиска увеличивающего пути (путь от источника s к стоку t, вдоль которого можно послать больший поток). Процесс повторяется, пока можно найти увеличивающий путь."
[ Статья ]
Подсказка от Илона Маска: изучайте стартапы. Tesla, блокчейн, метавселенные и даже тик-ток — всё это стартапы, на которых вы могли сделать себе себе состояние.

Если лень искать интересную инфу самому, читайте Стартапную. Там автор делает всю работу за вас: читает зарубежные медиа, ходит на закрытые конференции, общается со стартаперами.

Внутри: что за метавселенные, когда биткоин перевалит за сотню, какие стартапы выстрелят в следующем году сильнее, чем Tesla или тик-ток.

Подписывайтесь и изучайте, других таких каналов просто нет:
@startapnaya
​​🤘Чек-лист:

Как оставаться отказоустойчивым, переходя на микросервисы на PHP (и как правильно падать)
[ Статья ]
This media is not supported in your browser
VIEW IN TELEGRAM
Авито уже не торт…

🔹Вот вы спросите «Где дешевле всего совершать покупки: на Авито или Яндекс Маркете?» и вопрос будет изначально не верным, потому что истинной халявы вы там не найдете. У этих гигантов есть конкуренты, которые смогут предоставить более вкусные предложения.
🔸Например, команда G.I.O APK это сервис с уникальными возможностями, где вы найдете:
- Брендовую одежду за 60% от цены!
- Скидка на такси, продукты до 50%!
- Авиабилеты и отели за 50% от цены!
- Провести онлайн вакцинацию!
- Изменить себя, создать новую личность!
- Погрузится в свой мир качественных связей в сети!
🔹Хотите решать свои вопросы в разы быстрее? Доверьтесь услугам профессионалов, которые держат под контролем половину глобальной сети!
🤙Подключайся и начни жизнь в кайф вместе с G.I.O LIFE...

🤪Люди в движении: https://t.me/+QTOshkteNBM4MjQy
🤖Робот бот: @GIOAPK_BOT
Релиз TypeScript 4.5

Сегодня вышел TypeScript 4.5. Дениэл Розенвассер рассказал о всех новинках релиза.

Был добавлен новый утилитарный тип Awaited. Этот тип моделирует разворачивание промисов с помощью await в async-функциях и метода .then() у промисов. Awaited теперь используется для типизации Promise.all, улучшая вывод типов.

С версии 4.5 встроенные типы можно обновлять отдельно от компилятора. Также теперь можно оверрайдить встроенные типы, используя пакеты @typescript/lib-* в node_modules.

Строковые шаблонные типы могут использоваться в качестве дискрименантов в union'ах. Эта фича будет полезна при типизации ответов API.

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

Появилась возможность отключения удаления неиспользуемых импортов. Также в рамках этой фичи был добавлена поддержка модификатора type для импортируемых типов: import {someFunction, type BaseType} from "./module.js";.

Реализованы пропозалы "Ergonomic Brand Checks" и "Import assertions".

Также в этой версии должна была появиться поддержка ESM для Node.js, но она была временно удалена из-за несовместимости с экосистемой и проблем в реализации.

#release #typescript

https://devblogs.microsoft.com/typescript/announcing-typescript-4-5/
Рендеринг DOOM с помощью чекбоксов

Эндрю Хэли из Vercel рассказал про свой эксперимент с DOOM — "DOOM Rendered via Checkboxes".

В статье рассказывается про интеграцию библиотеки Checkboxland и WebAssembly-порта DOOM. Checkboxland — это библиотека для рисования с помощью чекбоксов на HTML-странице. С её помощью можно рендерить текст, фигуры, изображения и видео.

Для рендеринга картинки DOOM используется видео. Изображение из <canvas> захватывается с помощью метода captureStream(), преобразуется в MediaStream и передаётся методу renderVideo из Checkboxland. Таким образом получается картинка. Автор пишет про то, что на высоких разрешениях всё тормозило, поэтому он остановился на разрешении 160x100. Вполне возможно, что в будущем мы увидим какой-нибудь бенчмарк на базе этого проекта.

Статья несерьёзная, но интересная. Рекомендую заглянуть.

#webassembly #fun

https://healeycodes.com/doom-rendered-via-checkboxes
https://habr.com/ru/post/590337/ (мой перевод на русский язык)
Утечка исходных кодов из source maps (сорс мапов)

Попалась на глаза статья про потенциальные проблемы сорс мапов — "Source-maps could be revealing your private project files".

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

В общем, статья про довольно известные вещи. Я бы не стал про неё писать, если бы не вспомнил про ещё одну статью — "Топ тупых лазеек для исследования конкурентов: source map". В этой статье автор рассказывает про доступ к исходным кодам фронтенда Яндекс.Еды с помощью сорс мапов. Также он настроил переодическую автоматическую выгрузку кода в GitHub, чтобы следить за процессом разработки фронта.

Как бы то ни было, статьи полезные. И на всякий случай ещё разок проверьте, не доступны ли в проде сорс мапы для ваших проектов.

#js #security

https://levelup.gitconnected.com/automatically-generated-source-maps-could-be-revealing-your-private-projects-files-17b2d13d7da4
https://teletype.in/@opendevcast/SyYaunCHB
Открытие исходного кода фреймворка Remix

Райан Флоуренс и Майкл Джексон — авторы React Router и Reach UI — полгода назад представили новый проект Remix — фреймворк для разработки приложений с серверным рендерингом на базе React. Всё это время он распространялся платно. После привлечения трёх миллионов долларов в качестве инвестиций они открыли исходный код проекта под лицензией MIT.

По сути Remix — это конкурент Next.js. Райан и Майкл в презентации дипломатично ушли от сравнения с Next.js. Говорят, что друзья с создателем Next.js и хотят жить в мире, но по лендингу проекта видно, что Remix претендует на свой кусок пирога. Более того они поделились планами по монентизации проекта. Они планируют создавать платные сервисы вокруг фреймворка, как это сделал Vercel с Next.js.

Основные отличия от Next.js. В Remix серверный код можно размещать внутри React-компонентов. Кастомный транспилятор удаляет этот код при создании бандла для клиента, и оставляет в серверной сборке. То есть это что-то похожее на серверные компоненты из React 18. Ещё очень большой упор в презентации был сделан на эргономику работы с формами — выглядит всё, действительно, очень удобно и привычно. На сайте проекта также говорится про улучшение флоу загрузки приложения, но над этой фичей работает core-команда React, а не Remix, и она появится в Next.js (или уже появилась?).

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

#announcement #react #jsframeworks

https://remix.run/ (сайт проекта)
https://www.youtube.com/watch?v=wsJaUjd1rUo (презентация Remix)
Поиск причины деградации времени сборки Webpack 5

Оуэн Хэннесси поделился историей поиска бага, из-за которого время запуска dev-сервера Webpack замедлилось в пятнадцать раз — "Understanding why our build got 15x slower with Webpack 5".

Проблема возникла после добавления невинной тёмной темы. Первые подозрения упали на CSS-in-JS-библиотеку Linaria. С помощью профилировщика внутри библиотеки была найдена проблемная функция, в которой использовался метод массива .concat(). Переписывание кода без использования .concat() решило проблему. Однако оставались вопросы, из-за того что в оригинальном коде просадки скорости не было при сборке проекта с помощью Webpack 4. Надо было исследовать исходники V8.

В V8 у метода .concat() есть две ветки выполнения кода — медленная и быстрая. Медленная ветка начинает работать в том случае, если движок хотя бы один раз устанавливал Symbol.isConcatSpreadable. В Webpack 5 это происходило в коде, отвечающем за обратную совместимость с четвёртой версией. Для решения проблемы разработчики Webpack добавили экспериментальную опцию backCompat, которая полностью отключает обратную совместимость, избавляясь от ещё большего количества проблемного кода.

#v8 #performance #webpack

https://engineering.tines.com/blog/understanding-why-our-build-got-15x-slower-with-webpack