Forwarded from Раньше всех. Ну почти.
❗️Военнослужащие российской армии получат специальное приложение для планшетов с интерактивными картами и другим функционалом, существенно расширяющим возможности боевых подразделений, пишут «Известия».
Оно позволит бойцам не только видеть расположение своих сил или сил противника, но и наносить координаты целей, а также просить поддержки артиллерии или авиации в режиме реального времени. Также приложение позволяет военным напрямую общаться друг с другом в специальных чатах. Оно получило название "Комплекс повышения осведомленности" (КПО-А)".
Оно позволит бойцам не только видеть расположение своих сил или сил противника, но и наносить координаты целей, а также просить поддержки артиллерии или авиации в режиме реального времени. Также приложение позволяет военным напрямую общаться друг с другом в специальных чатах. Оно получило название "Комплекс повышения осведомленности" (КПО-А)".
#tip
Сохранение базового состояния клиента, для воспроизведения багов:
Сохранение базового состояния клиента, для воспроизведения багов:
// Export Local Storage
let localStorageData = JSON.stringify(Object.fromEntries(Object.entries(localStorage)));
// Export Session Storage
let sessionStorageData = JSON.stringify(Object.fromEntries(Object.entries(sessionStorage)));
// Export Cookies
let cookies = document.cookie.split('; ').reduce((acc, cookie) => {
let [name, ...rest] = cookie.split('=');
acc[name] = rest.join('=');
return acc;
}, {});
let cookiesData = JSON.stringify(cookies);
console.log('Local Storage:', localStorageData);
console.log('Session Storage:', sessionStorageData);
console.log('Cookies:', cookiesData);
👍1
Опрос StackOverflow за 2024
Выделил интересное для себя (смотрел результаты только среди профи):
🔵 34% профессиональных разработчиков не имеют полного высшего образования и 45% имеют хотя-бы бакалавра — напомню, это международный опрос, поэтому могут не получать образование как европейцы, которые считают его ненужным, так и индусы/пакистанцы и пр. у которых нет такой возможности. Но так как топ 10 стран (50%) это европа и сша, из которых 7% — индия, врятли неразвитые страны сильно повлияли на этот показатель, а значит — многие сознательно считают высшее образование для программирования не востребованным.
🔵 C# на 9 месте среди популярных языков. Топ 3 — python -> js -> SQL. Забавно, что начали появляться SQL senior разработчики и SQL oriented команды. Т.е. вполне реально заучить только SQL и уже быть каким-никаким senior. (топ не только языков, но и языков разметки и скриптов, так что не удивляемся наличию в топе HTML/CSS и Shell)
🔵 Есть большая потребность в frontend/fullstack профессионалах. Как я понял это, если в рейтинге этого нет? Просто потому что несмотря на то, что это один из крупнейших в мире сайтов для разработчиков — всеравно при переключении графиков рейтинга, перестают отрисовываться данные, приходится по нескольку раз перезагружать страницу. И да, в инкогнито и без расширений — то же самое. А так же по сути простейшая лендинг страница, грузится несколько секунд, что явно указывает на плохую оптимизацию, или на подготовку данных на лету, что вполне можно было сделать один раз подготовив данные для выдачи, или хотябы закэшировать в браузере.
🔵 Почти 30% отчета посвящено ИИ, практически как и в прошлом году, так что тенденция такая, что никуда это не денется, и нужно учиться с этим работать. Что уж греха таить, мне сильно помогает ИИ анализировать 500 страничные источники, помогая выделять из них основные мысли или конкретные главы, чтобы не читать всё, иначе жизнь пролетит мимо.
🔵 Postgres — ❤️
🔵 Amazon и Azure — в топе облачных платформ, но Azure при этом уступает Jira и Confluence в качестве управления проектами и командами.
🔵 ASP.Net core, родненький, на 5-м месте, после 4-х JS фреймворков. Удивлен, что JQuery еще жив и входит в эти топ 5.
🔵 Docker и npm знает и использует каждый 2-й разработчик.
🔵 Vim — топ 5, среди IDE для разработки 🤩
🔵 Средняя ЗП C# в мире — $5500, делаем поправку на налоги и регион, до 30% в среднем, получаем 330к руб. Учитываем, что разрыв ЗП между джунами и миддлами сильно выше, чем между миддлами и сеньорами, можно делать вывод что такая ЗП соответствует уровню june++, middle-.
Выделил интересное для себя (смотрел результаты только среди профи):
Please open Telegram to view this post
VIEW IN TELEGRAM
survey.stackoverflow.co
2024 Stack Overflow Developer Survey
In May 2024, over 65,000 developers responded to our annual survey about coding, the technologies and tools they use and want to learn, AI, and developer experience at work. Check out the results and see what's new for Stack Overflow users.
🔥1
# Принудительный запрос логина и пароля через браузер
Если вам нужно заставить браузер показать стандартный диалог для ввода логина и пароля (например, для базовой аутентификации), при использовании HTTP Basic Authentication сервер может вернуть ответ с заголовком
Если вам нужно заставить браузер показать стандартный диалог для ввода логина и пароля (например, для базовой аутентификации), при использовании HTTP Basic Authentication сервер может вернуть ответ с заголовком
WWW-Authenticate, который заставит браузер показать стандартный диалог ввода логина и пароля. Это делается на уровне сервера, а не клиента.HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="User Visible Realm"
👍1
Прямо сейчас идет презентация MadeByGoogle. И прямо во время живой демонстрации, Gemini AI выдает ошибки при работе. Что может говорить как о сырости продукта или кривости интеграции с Samsung, так и о том, что даже мега-компании делают ошибки. Поэтому не стоит расстраиваться, если совершили ошибку. Главное — какие выводы были сделаны.
https://www.youtube.com/watch?v=N_y2tP9of8A
https://www.youtube.com/watch?v=N_y2tP9of8A
🤯1
Леонид Павлов. "It specialist's tricks"
Прямо сейчас идет презентация MadeByGoogle. И прямо во время живой демонстрации, Gemini AI выдает ошибки при работе. Что может говорить как о сырости продукта или кривости интеграции с Samsung, так и о том, что даже мега-компании делают ошибки. Поэтому не…
Так, там много чего интересного, но будет ли это работать в России... 🤥
Галеры:
- У нас всё на доверии, главное чтобы задачи выполнялись.
Супер классная компания, мимими:
- Мы же платим за РАБОТУ, а не за то время, которое разраб ходит кофе наливать, он же в это время не работает.
- У нас всё на доверии, главное чтобы задачи выполнялись.
Супер классная компания, мимими:
- Мы же платим за РАБОТУ, а не за то время, которое разраб ходит кофе наливать, он же в это время не работает.
👍1
Начиная с .net 8 появился стандартный шаблон нового проекта "Web API (native AOT)" — это что-то вроде self-contained приложения на выходе, после компиляции, но мелкомягкие привнесли туда несколько фич, связанных с быстродействием и оптимизацией использования ресурсов. Видимо рассчитано на облачный рой микросервисов.
Вот выдержка из оригинальной статьи:
https://learn.microsoft.com/ru-ru/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows
Вот выдержка из оригинальной статьи:
Публикация вашего приложения в качестве нативного AOT позволяет создать автономное приложение, предварительно скомпилированное в машинный код (AOT). Нативные приложения AOT быстрее запускаются и занимают меньше места в памяти. Эти приложения могут запускаться на компьютерах, на которых нет встроенного AOT-интерфейса.Установлена среда NET runtime.
Преимущества встроенного AOT наиболее значимы для рабочих нагрузок с большим количеством развернутых экземпляров, таких как облачная инфраструктура и гипермасштабируемые сервисы. В .NET 8 добавлена ASP.NET Базовая поддержка встроенного AT.
В собственной модели развертывания AOT используется компилятор с опережением времени для компиляции IL в машинный код во время публикации. Собственные приложения AOT не используют JIT-компилятор при запуске приложения. Собственные приложения AOT могут запускаться в ограниченных средах, где JIT не разрешен. Собственные приложения AOT ориентированы на определенную среду выполнения, такую как Linux x64 или Windows x64, точно так же, как публикуются автономные приложения.
https://learn.microsoft.com/ru-ru/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows
Найти работу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤯1
Кстати, столкнулся с неожиданной проблемой, 🙈 на собеседовании в жёлтый банк и голубой маркетплейс: зазубривание ответов на вопросы. При чём ты можешь быть супер крутым специалистом 👩🎓 с большим опытом, но тебя завалят просто потому, что ты работал в финтехе на dotnet 3.1 и совершенно не встречал в работе кейсы, когда нужно было бы проектировать модуль с использованием рекордов и структур, для миллиона запросов в секунду 🤯 . И дядя собеседующий, которому до лампочки 🧐 пройдешь ты собес или нет — просто поставит галочку ☑️ в свой табличке и перейдет "к следующему вопросу", чтобы успеть за день прособесить побольше и получить зарплатную стимуляцию 🪙 .
Очень актуально попался следующий пост где мужика с 25-летним опытом👨💻 бомбит на ту же тему:
https://habr.com/ru/articles/841224/
Очень актуально попался следующий пост где мужика с 25-летним опытом
https://habr.com/ru/articles/841224/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Удавка на собесе
Хабр-хабр, дорогие друзья. Сегодня поговорим про ИТ собесы, от которых меня в последнее время тошнит. Я занимаюсь коммерческой разработкой с 2000-х, поменял более 10 ИТ-компаний и прошел достаточно...
This media is not supported in your browser
VIEW IN TELEGRAM
Нашел Regex hack для навигации через Powershell/Windows terminal.
Пишешь звездочку ( * ) везде, где лень писать полный путь, и нажимаешь Tab, чтобы тебе автокомплитнули всё. С подпапками так-же работает.
Например:
🔵 Перейти в папку, которая оканчивается на Dir5:
🔵 Перейти в папку, которая начинается на project и в серидине есть dir
🔵 Перейти в подпапку, которая начинается на module
Пишешь звездочку ( * ) везде, где лень писать полный путь, и нажимаешь Tab, чтобы тебе автокомплитнули всё. С подпапками так-же работает.
Например:
$ cd *dir5
// Tab
$ cd ./Company2.D̲i̲r̲5
$ cd project*dir*
// Tab
$ cd ./P̲r̲o̲j̲e̲c̲t̲2.D̲i̲r̲1.Module2.Dir3
// Tab
$ cd ./P̲r̲o̲j̲e̲c̲t̲4.D̲i̲r̲1.Module5
$ cd */module*
// Tab
$ cd ./Company3.Module3/M̲o̲d̲u̲l̲e̲3
// Tab
$ cd ./Project2.Dir1.Module2.Dir3/M̲o̲d̲u̲l̲e̲2.Dir1.Dir3
Please open Telegram to view this post
VIEW IN TELEGRAM
С тех пор, когда я в последний раз интересовался синхронизацией многопоточности, примерно 5 лет назад, прочел Metanit, на котором были локи, мьютекс и семафор[слим].
И на собесах и в работе всегда этого хватало.
И либо dotnet так сильно разросся, начиная с 3.1, либо это уже продвинутая магия.
Или возможно это прерогатива хайлоада, где доп запрос в брокер слишком долго и дорого.
Да, лишние 15мс, когда у тебя требование на 10к запросов в секунду с максимальным временем отклика 200мс — суперважно, учитывая что этих запросов может быть около 10, а это уже +150мс, не считая даже запросы в БД.
Небольшой списочек того, что нашел:
🔴 Блокирующие
🔵 Mutex
🔵 Semaphore
🔵 SemaphoreSlim
🔵 EventWaitHandle
🔵 AutoResetEvent
🔵 ManualResetEvent
🔴 Синхронизаторы
🔵 Monitor
🔵 SpinLock
🔵 ReaderWriterLockSlim
🔴 Общение между потоками
🔵 Barrier
🔵 Interlocked
🔵 SpinWait
⭐️ Бонус:
🌟 System.MarshalByRefObject
🌟 WaitHandle
🌟 Thread.Join
🌟 EventWaitHandle
🌟 CountdownEvent
И на собесах и в работе всегда этого хватало.
И либо dotnet так сильно разросся, начиная с 3.1, либо это уже продвинутая магия.
Или возможно это прерогатива хайлоада, где доп запрос в брокер слишком долго и дорого.
Да, лишние 15мс, когда у тебя требование на 10к запросов в секунду с максимальным временем отклика 200мс — суперважно, учитывая что этих запросов может быть около 10, а это уже +150мс, не считая даже запросы в БД.
Небольшой списочек того, что нашел:
Please open Telegram to view this post
VIEW IN TELEGRAM
Docs
Mutex Класс (System.Threading)
Примитив синхронизации, который также может использоваться в межпроцессной синхронизации.
Интересный опыт разницы разработки с тестами и без.
🔵 Скрин №1: до имплементации интеграционных тестов. Среднее число измененных строк в день ~500.
🔵 Скрин №2: после имплементации интеграционных тестов. Среднее число измененных строк в день ~3 000.
Субъективный вывод, также основанный на опыте: тесты хоть и забирают на себя часть времени, но позволяют гораздо быстрее менять код, так как снимают нагрузку на оперативку разработчика — сильно реже перепроверяешь и сильно меньше беспокоишься, об остальных участках кода и структуре проекта в целом, когда спину прикрывают тесты.
Субъективный вывод, также основанный на опыте: тесты хоть и забирают на себя часть времени, но позволяют гораздо быстрее менять код, так как снимают нагрузку на оперативку разработчика — сильно реже перепроверяешь и сильно меньше беспокоишься, об остальных участках кода и структуре проекта в целом, когда спину прикрывают тесты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Он следит. Если не 🟢 озеленить тесты, то он достанет свой серебряный меч против скуфов нечисти. Мотивация.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩1
Неправда! Это чтобы народу хуже сделать! Чтобы все на рутуб переходили, и пропаганду смотрели! Чтобы чебурнет свой сделать! Чтобы за народом следить!
🌟 Выгодоприобретатели блокировки Youtube / Habr
🌟 Выгодоприобретатели блокировки Youtube / Habr
Хабр
Выгодоприобретатели блокировки Youtube
Недавно возникшая тема с блокировкой (замедлением) Youtube коснулась практически каждого жителя РФ. При этом до сих пор нет ни одного прямого официального заявления о причастности к этой блокировке....
👍1😁1
Короче, есть такая штука — BFG. Это типа как git-filter-branch, только круче. С ней можно легко и быстро удалить ненужные данные из истории репозитория.
Как это работает:
- Клонируешь репозиторий с флагом --mirror, чтобы сделать копию.
- Запускаешь BFG, чтобы обновить коммиты и ветки.
- Удаляешь ненужные данные с помощью git gc.
- Снова запускаешь BFG, чтобы обновить ссылки на git сервере.
BFG может удалять файлы с именами id_rsa или id_dsa, большие двоичные файлы больше 50 мегабайт, пароли, папки или файлы с именем .git.
BFG работает в 10–720 раз быстрее, чем git-filter-branch и не трогает последний коммит.
https://rtyley.github.io/bfg-repo-cleaner/
Как это работает:
- Клонируешь репозиторий с флагом --mirror, чтобы сделать копию.
- Запускаешь BFG, чтобы обновить коммиты и ветки.
- Удаляешь ненужные данные с помощью git gc.
- Снова запускаешь BFG, чтобы обновить ссылки на git сервере.
BFG может удалять файлы с именами id_rsa или id_dsa, большие двоичные файлы больше 50 мегабайт, пароли, папки или файлы с именем .git.
BFG работает в 10–720 раз быстрее, чем git-filter-branch и не трогает последний коммит.
https://rtyley.github.io/bfg-repo-cleaner/
rtyley.github.io
BFG Repo-Cleaner by rtyley
A simpler, faster alternative to git-filter-branch for deleting big files and removing passwords from Git history.
NET_Microservices_Architecture_for_Containerized_NET_Applications.pdf
11.7 MB
А, ну и небольшая книжка (всего 350 стр.) от майков, про архитектуру микросервисов.
Сразу в PDF да.
Сразу в PDF да.
👍2