Search
Write a publication
Pull to refresh
4
0.2

.NET Software Engineer

Send message

Когда VPN душат, в бой идёт SOCKS5: что нового в ProxiFyre 2.0

Level of difficultyMedium
Reading time4 min
Views59K

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

Моя собственная схема — домашний сервер за WireGuard-эндпоинтом — уже не раз демонстрировала странности: внезапные падения скорости, потеря UDP-пакетов (особенно в мобильных сетях). Всё вроде работает, но как-то не так: туннель подключается, но затем «виснет» или показывает подозрительно низкую пропускную способность. В таких случаях надёжным обходным путём становится туннелирование TCP-трафика через SOCKS5-прокси, например, поверх SSH.

Но и у SOCKS5 есть ограничение — сам по себе он ничего не даст, если не существует механизма для перенаправления трафика от нужных приложений. Многие программы не поддерживают прокси напрямую, а системный прокси на Windows — история сложная и не всегда результативная.

Читать далее

Про скорость обмена веществ у людей, он же метаболизм

Level of difficultyEasy
Reading time6 min
Views2.1K

Великий, ужасный, все его любят вспоминать, особенно если на весах упорно показывается ожирение - у меня медленный метаболизм, я ем так же как все, но вот толстею из ничего. Ответ прост - жир никуда не девается, даже отложенные 1 грамм в сутки будут храниться всю жизнь, если их не сжечь. В конце года 1 грамм в сутки - превращаются в 365 граммов жира, если не следить за увеличением массы, то будет ожирение. Да, 10 ккал переедаемые в сутки, это 450 граммов жира в год. А переедают всегда от 100 ккал и больше. Скажем одно пирожное в день, лишнее. Получается 400 ккал в сутки - 146 000 ккал в год - 16 кг жира на теле. Злая математика. Вот только обмен веществ базовый вообще не при делах, это виноваты личные пищевые привычки. Большая часть толстых - толстеет упорно, незаметно. Кроме тех, кто постоянно взвешивается и вовремя калории режет.

Гормоны не при делах, гормоны сами делаются из энергии (особенно из жиров ), они не умеют туда сюда ворочать метаболизмом. Не умеют гормоны делать из 100 калорий - 101, это физически никто во вселенной не умеет, даже чёрная дыра. Гормоны конечно могут вызывать голод, притуплять или наоборот обострять. Ещё от строения тела может зависеть желудок и чувство насыщения в нём. От гормонов вы можете быть активнее-пассивнее и так далее. Но даже если вы пассивно приползёте, взвеситесь раз в неделю и при увеличении массы, пассивно срежете раз за разом по 100 калорий, вы не будете толстеть, а похудеете.

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

Читать далее

Советы новичкам в карьере программиста

Level of difficultyEasy
Reading time7 min
Views14K

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

Читать

Нейроуловки для изучения английского: как запоминать слова без зубрежки

Level of difficultyEasy
Reading time9 min
Views20K

Привет! Меня зовут Маша Фадеева, я методист и преподаватель курсов английского в Практикуме. Знакомо это чувство, когда учишь-учишь список слов, а через неделю вспоминаешь от силы парочку? Это не лень и не плохая память — просто наш мозг не особо любит зубрёжку. Зато он отлично запоминает всё, что кажется ему важным, эмоциональным или необычным.

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

Читать далее

EngEasy.ru — моё приложение английского. Идея, процесс, технологии

Level of difficultyEasy
Reading time6 min
Views7.5K

Я родился и вырос в небогатой рабоче‑крестьянской семье, в неблагополучном районе города, в смутные времена. У меня был интерес и склонность к языкам, но я не мог его реализовать, упираясь в ограничения внешнего и внутреннего мира (застенчивость, необщительность, депрессивность).

В 20 лет, будучи студентом математического факультета в Сибири, в Томске, я самостоятельно выучил арабский язык. В 25 — английский. И мной овладела идея облегчить этот путь всем желающим, а особенно тем, кто оказался в ситуации подобной моей в детстве.

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

Читать далее

Базы данных. Как выбрать идеальное решение? Полный гид по SQL, NoSQL и не только

Level of difficultyMedium
Reading time11 min
Views9.3K

Привет, хабр!

Меня зовут Кирилл, и на протяжении последних двух лет я мечтал научиться проходить System Design интервью. Но только недавно взялся за дело всерьёз.

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

Читать далее

Темная магия JavaScript: Укрощаем неявное приведение типов

Level of difficultyEasy
Reading time12 min
Views4.5K

Привет, Хабр! У каждого JS-разработчика есть своя история. История о том, как он впервые встретился с этим. Сидишь, пишешь код, всё логично, всё под контролем. И тут, чтобы проверить одну мелочь, открываешь консоль и из чистого любопытства пишешь:

[] + {} // Получаешь: "[object Object]"
// Хм, ладно, массив привел себя к строке, а объект стал... объектом. Логично.

{} + [] // Получаешь... 0 ???
// ЧТО?!

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

Разобраться с этим!

Что на сегодня ясно про распад жира ( внутри человека )

Level of difficultyEasy
Reading time8 min
Views11K

1 - Жир лучше всего распадается, пока пульс минимальный и при этом человек куда то топает-идёт. В буквальном смысле слова - это механизм эволюционного выживания-перемещения. Скажем наступает голод в Питере, 25 000 лет назад. У людей в племени Кусь - есть по 10 кг лишнего жира, у людей племени Юсь - по 5 кг. Известно, что распад ВНУТРИ ОРГАНИЗМА 1 грамма жира даёт - 9 килокалорий. То бишь 10 кг жира это потенциальные - 90 000 ккал. Средний расход энергии в сутки, если ты постоянно будешь ходить, доходит до 5 000 - 8 000 ккал в сутки, может при морозе дойти до 10 000. В итоге племя Кусь на своём жировом пару утопает на 100 - 150 км от голодного региона. Племя Юсь утопает на 70 - 90 км. Больше шансов выжить будет у племени Кусь, учитывая что к концу пути оба племени будут максимально слабые, но племя Кусь на половине пути будет намного сильнее племени Юсь.

Жир имеет один минус - он не быстро распадается, ну нет в нас такого хим-процесса, что бы он давал энергию так же быстро как распад углеводов. Бегать на жиру не получается никак. Пичалька невероятная, всем кто хочет худеть бегая.

Читать далее

9 коротких промптов, которые делают работу с ChatGPT (и любым другим ИИ) проще и веселее

Level of difficultyEasy
Reading time3 min
Views91K

Привет! Как и многие в 2025 году, я постоянно работаю с ChatGPT и Gemini: они помогают мне в работе, отвечают на сотни вопросов и просто развлекают. За время работы с ИИ у меня накопилась целая коллекция мини-промптов, которые делают процесс проще, результативнее и даже веселее. Сегодня делюсь с вами.

Читать далее

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 4 и снова блогер…

Level of difficultyEasy
Reading time4 min
Views25K

Хвалебное видео от Максима Горшенина про успехи GS Croup в импортозамещении послужило наводкой, благодаря которой мы провели вскрытие, и узнали, что в выпускаемых "отечественных" микросхемах Flash памяти GSN2516Y и GSN2517Y используются полупроводниковые кристаллы от серийных иностранных микросхем W25Q16 тайваньской компании WINBOND. Проследив кто потребляет эти псевдоотечественные микросхемы, мы нашли уже "отечественные" счетчики электроэнергии от компании "Энергомера" с рекордными 117 баллами из Реестра российской промышленной продукции. Благодаря этим баллам счетчики выигрывают миллиардные тендеры на государственных закупках. Но в самих счетчиках мы не нашли отечественных микросхем, благодаря которым и должны набираться эти 117 баллов. Основным микроконтроллером и АЦП в счетчиках оказались микросхемы от тайваньской компании VANGO. В след за GS Croup по пути выдачи китайских микросхем за отечественные пошла компания "Интегральные Телематические Решения", нанеся свою маркировку на корпус микросхемы включили их в реестр, хотя на самом деле это микросхемы от все той же китайской VANGO. Вот так заказной хвалебный ролик от главного пиарщика и воспевателя импортозамещения разоблачил его самого и его заказчиков. Так что если Максим кого-то хвалит, то значит дело не чистое и нужно искать. И мы снова нашли...

Читать далее

Укрощение SAML 2.0: нюансы работы с протоколом

Level of difficultyMedium
Reading time22 min
Views1.7K

Привет, Хабр! На связи Дмитрий Грудинин. Современные корпоративные веб-приложения и облачные сервисы в обязательном порядке требуют безопасной аутентификации и авторизации пользователей.

Как правило, для этого используются протоколы: SAML 2.0 или OpenID Connect (OIDC) на базе OAuth. Оба решают схожие задачи, связанные с делегированием ответственности за верификацию  пользователя стороннему доверенному провайдеру. При этом оба протокола скрывают за собой обширный арсенал различных вариантов использования, к тому же OIDC постоянно расширяется. 

В данной статье мы рассмотрим сценарий использования протокола SAML так сказать «for dummies». Идея статьи – без излишеств рассказать о том, что на самом деле нужно знать в SAML. И не рассказывать о том, без чего можно прекрасно обойтись.

Читать далее

Сопоставление с образцом на C#: объяснение и примеры

Level of difficultyEasy
Reading time4 min
Views6.9K

За годы своего развития C# существенно эволюционировал; одна из самых мощных фич языка — это сопоставление с образцом (pattern matching).

Работая недавно над небольшим хобби-проектом, я наткнулся на такую прекрасную строку кода C#.

if (person is not null and { Age: > 18 })

{}

Выглядит изящно. Откровенно говоря, она заставила меня призадуматься.

Годами я писал проверки на null и свойства-аксессоры классическим образом:

if (person != null && person.Age > 18)

{}

Функционально? Да. Удобочитаемо? Не особо. Безопасно? Спорно, особенно когда код становится сложнее.

Я решил создать шорт YouTube об этом современном синтаксисе. Это небольшое забавное напоминание о том, что C# позволяет при помощи сопоставления с образцом комбинировать проверки на null и обращение к свойству в одно условие.

Я понятия не имел, что это короткое видео приведёт к гораздо более глубокому исследованию, и покажет мне, насколько полезно и универсально сопоставление с образцом в современном C#.

Эта фича повышает читаемость, уменьшает объём бойлерплейта и обеспечивает более выразительную обработку логики.

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

Читать далее

Неожиданности IPv6, или почему тупят Instagram и WhatsApp через прокси и VPN

Level of difficultyEasy
Reading time9 min
Views60K

Довольно часто в последнее время на разных форумах и чатах люди жалуются, что когда они пользуются VPN или прокси, то у них после подключения на устройствах как-то странно начинают работать некоторые приложения. Например, не приходят сообщения в WhatsApp, не загружаютя сторис в Instagram, и другие подобные вещи. Причем нередко проблема чинится сама по себе спустя 10-15 минут после подключения, но после переподключения или переоткрытия клиента начинается снова. Иные жалобы состоят в том, что не смотря на то, что пользователь выходит в интернет через VPN или прокси, некоторые заблокированные сервисы и сайты у него все равно не открываются. И в том и в том обычно винят баги прокси/VPN-клиентов, администраторов серверов, и кого угодно еще. И я вам скажу: зря. Все гораздо проще и гораздо сложнее одновременно.

Читать далее

Почему социализм неэффективен

Level of difficultyEasy
Reading time12 min
Views16K

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

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

Читать далее

Ты решаешь LeetCode неправильно. Как пройти любое собеседование в BigTech?

Level of difficultyEasy
Reading time6 min
Views50K

Привет! Я ex. Разработчик из VK, сейчас принял оффер от Ozon'a, и за последний месяц я прошел собеседования в 4х бигтех компаниях: Ozon, Avito, Wildberries и T-Bank и везде дошел до финалов/офферов. Пообщавшись во многих группах, посвященных Go-разработке, я понял, что много умных ребят готовясь к собесам не имеют четкой системы подготовки, и из-за этого заваливают технические собесы в компании. Не претендуя на истину в последней инстанции, предлагаю свою методику подготовки к собесам, которая помогла мне и моим знакомым подготовиться к техническим собесам во все популярные ру-бигтехи.

Читать далее

Пахал как лошадь, но опять повысили не меня. Почему так?

Level of difficultyEasy
Reading time6 min
Views34K

Думаете, что нужно просто работать на 100%, и вас заметят? К сожалению, это не так.

Мы провели исследование, изучили различные причины и кейсы, чтобы понять: почему компании иногда не спешат повышать даже самых целеустремлённых сотрудников? А главное — что делать в такой ситуации: прокачиваться или искать новое место?

Читать далее

13 законов разработки ПО

Level of difficultyMedium
Reading time8 min
Views27K

Некоторые из них хорошо известны, другие — достаточно нишевые. Но все они очень полезны разработчикам и менеджерам. Любопытно, какие из них вам известны:

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

ИИ агенты способны к саморепликации

Level of difficultyEasy
Reading time7 min
Views3.8K

Что??? Уже? Вот черт.

Коротко 

Группа ученых из Шанхая показала [arXiv:2503.17378v2], что ИИ агенты на базе большинства современных открытых LLM моделей способны самостоятельно реплицировать и запустить полную копию себя на другом девайсе. Это супер важно и беспокоящее, такая способность являлась одной из “красных” линий ведущих к серьезным рискам ИИ. Cаморепликация колоссально усложняет возможности удерживания мисалаймент ИИ (действующие не согласно замыслу запустившего) или ИИ запущенных злоумышленниками.

Читать далее

Юнит-тестирование для чайников

Reading time15 min
Views1.1M
Даже если вы никогда в жизни не думали, что занимаетесь тестированием, вы это делаете. Вы собираете свое приложение, нажимаете кнопку и проверяете, соответствует ли полученный результат вашим ожиданиям. Достаточно часто в приложении можно встретить формочки с кнопкой “Test it” или классы с названием TestController или MyServiceTestClient.



То что вы делаете, называется интеграционным тестированием. Современные приложения достаточно сложны и содержат множество зависимостей. Интеграционное тестирование проверяет, что несколько компонентов системы работают вместе правильно.

Оно выполняет свою задачу, но сложно для автоматизации. Как правило, тесты требуют, чтобы вся или почти вся система была развернута и сконфигурирована на машине, на которой они выполняются. Предположим, что вы разрабатываете web-приложение с UI и веб-сервисами. Минимальная комплектация, которая вам потребуется: браузер, веб-сервер, правильно настроенные веб-сервисы и база данных. На практике все еще сложнее. Разворачивать всё это на билд-сервере и всех машинах разработчиков?

We need to go deeper

Умная нормализация данных

Reading time8 min
Views126K

Эта статья появилась по нескольким причинам.


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


Во-вторых, имеет место «слепое» использование, например, стандартизации для наборов с большим количеством признаков — “чтобы для всех одинаково”. Особенно у новичков (сам был таким же). На первый взгляд ничего страшного. Но при детальном рассмотрении может выясниться, что какие-то признаки были неосознанно поставлены в привилегированное положение и стали влиять на результат значительно сильнее, чем должны.


И, в-третьих, мне всегда хотелось получить универсальный метод учитывающий проблемные места.


Читать дальше →
1
23 ...

Information

Rating
4,898-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer
C#
SQL
.NET
WPF
Database