Pull to refresh
13
0

Software Developer

Send message

Сумачечая производительность LINQ в .Net7

Reading time3 min
Views15K

Исторически так сложилось, что LINQ взыскал "сомнительную" репутацию за его скромную производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Однако в .NET 7 всё будет по-другому...

Подробней...
Total votes 37: ↑31 and ↓6+25
Comments26

Почему Билл Гейтс сделал себя сам. Развенчиваем мифы о всемогущей матери

Reading time11 min
Views19K

Какой русский не любит быстрой езды? И теории о том, что каждый успешный человек — это сын маминой подруги, получивший всё от богатых родителей. Ведь если наш условный Ваня Иванов, простой оборванец из глубинки, не выбился в люди — значит и другие не могли этого сделать никак, разве что родители помогли или еще какие родственнички. Особым почетом у нас пользуется живучая идея о том, что Билл Гейтс был не талантливым программистом и блестящим предпринимателем, а оказался… сыночкой-корзиночкой, которому мамка устроила сладкую жизнь в высшей лиге, перетерев за бокалом вина с одним из директоров IBM.

Но всё это – полная ерунда. Сегодня поведаю вам о том, почему Билл Гейтс сделал себя сам, что предшествовало его работе с IBM, и почему его мать, при всем уважении к ней, была неспособна повлиять на его судьбу так, как это представляют в своих влажных мечтах многие наши соотечественники.

Пора разобраться с этим недоразумением раз и навсегда.

Читать далее
Total votes 90: ↑62 and ↓28+34
Comments120

Как россиянину получить ВНЖ в Армении?

Reading time5 min
Views116K

Продолжение рассказов из Армении. Для начала какой смысл вообще получать ВНЖ в Армении, ведь гражданин РФ может находиться там в течение 180 дней без необходимости пересечения границы? Однако все не так просто, смысл есть. Начиная с 24 февраля 2022 года, довольно внушительное количество западных банков перестали открывать счета россиянам или приостановили сотрудничество по текущем счетам. К санкциям против граждан РФ также присоединились всевозможные платежные системы, брокеры, крипто-биржи, фриланс площадки и так далее. В большинстве случаев от россиянина требуют сменить место жительства, и в качестве подтверждения требуют вид на жительства иностранного государства.

Если в истории с банками Армении из предыдущего поста, возникают все большие сложности при открытии счета, то процесс получения ВНЖ в Армении и его варианты можно смело назвать доступными. Это, конечно же не история, когда можно сделать ВНЖ дистанционно, не вылезая из дома, но в сравнении с той-же Грузией, Сербией, Турцией и Кипром, мне показалось проще и по процедуре и по шансам на одобрение.

В Армении существует два вида ВНЖ: на основании открытия ИП в Армении и дополнительная форма временного ВНЖ на основании трудоустройства в армянской фирме. Эта форма обладает почти теми же возможностями, что и условный бизнес-ВНЖ

Читать далее
Total votes 51: ↑48 and ↓3+45
Comments25

Документы перед выездом из РФ

Reading time10 min
Views62K

Всем привет!

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

Топ документов возглавляет генеральная доверенность. Очень настоятельно прошу ее сделать на вашего родственника или на человека, которому вы безоговорочно доверяете, но который на какое-то время точно останется в России. Можно сделать доверенность на нескольких людей. Цена вопроса - в районе 2,500 рублей за 1 доверенность. При этом, человек, на которого вы оформляете доверенность может не присутствовать, вам понадобится только копия его паспорта (страница с фото + прописка).

Доверенность можно оформить на любой срок, хоть на 50 лет, нотариус запишет срок, который вы назовете. Также доверенность можно сделать с возможностью ее передоверия другому человеку: например, я оформила доверенность на Васю Пупкина с правом передоверия, а Вася Пупкин передоверил ее Ивану Иванову. Мероприятие рискованное, но если вы доверяете человеку и понимаете, что возможно он тоже через какое-то время покинет РФ - такой вариант для вас подойдет.

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

Что входит в такую доверенность (если кратко):

Читать далее
Total votes 68: ↑60 and ↓8+52
Comments147

Асинхронный код в Startup ASP.NET Core: 4 способа обхода GetAwaiter().GetResult()

Reading time8 min
Views21K
С тех пор, как в C# 5.0 завезли механизм async/await, нас постоянно во всех статьях и доках учат, что использовать асинхронный код в синхронном очень плохо. И призывают бояться как огня конструкции GetAwaiter().GetResult(). Однако есть один случай, когда сами программисты Microsoft не гнушаются этой конструкцией.


Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments29

Про фразовые глаголы-4 (in/out)

Reading time4 min
Views14K
Перед этой статьёй рекомендуется прочитать две первые части:
1. habr.com/ru/post/495794
2. habr.com/ru/post/496190

Out соответствует русским приставкам со значениями «наружу» и «до конца, полностью»:

  • вы-: hear – «слушать». Hear me out! – Вы-слушай меня!
  • раз-/«рас-»: sell – «продать» sell out – рас-продать.
  • из- (со значением «до конца, полностью»): wear — «носить», wear out — из-носить/ся (об одежде/обуви, например).
  • из- (со значением «вы-» – наружу): hound – «охотничья собака», как глагол – «гнать» (зверя). Hound out – «из-гнать» (= «вы-гнать»). They hounded him out of Parliament – они из-гнали его из Парламента. Если держать в голове базовые значения глаголов kick (пинать) и boot (пинать ногой в сапоге), становится очевидно, почему ФГ kick out и boot out используются как синонимы hound out. Всегда буквально умоляю студентов держать в голове базовое значение глагола, из которого образуется фразовый. Слушаются не всегда… :(
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments9

Про фразовые глаголы-5 (up/down)

Reading time4 min
Views13K
Сначала рекомендуется прочитать предыдущие части:

1. habr.com/ru/post/495794
2. habr.com/ru/post/496190
4. habr.com/en/post/499368

Значение up «до конца, полностью» выражается (помимо приведённых в первой статье) русскими приставками:

из-/ис-: beat – «бить», beat up – «из-бить»; use – «пользовать», use up – ис-пользовать (какой-то ресурс до конца): Masha used up all of my shampoo.

от-: build – «строить», build up – «отстроить»; polish – «полировать», polish up – «от-полировать».

по-: hang – «вешать», hang up – «по-весить» (трубку). Show – «казать/являться», show up – «по-явиться». Vasya showed up on time – Вася пришёл/появился вовремя.

при- в значении приближения [к стандартам]: dress – «одеть», dress up – «при-одеть» (одеть подчёркнуто стильно или ярко). Masha was dressed up – Маша была приодета.

Dress out – «разодеть», только устаревшее. В данном случае up ≈ out, как в русском «при-» ≈ «раз-»: приоделась ≈ разоделась. Up акцентирует завершённость гардероба (наряда), out – содержит ещё лёгкую эмоциональную составляющую «преувеличенности» действия – «раз-одеть».

Dress up/dress out имеют бесчисленные синонимы: tog up = tog out, deck up = deck out, rig up = rig out, fig up = fig out, trick up = trick out. Есть даже fancy up и gussy up, но с out эти глаголы не употребляются.*
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments14

Как снизить зависимость кода от структуры данных?

Reading time7 min
Views9.6K

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

Читать далее
Total votes 12: ↑7 and ↓5+2
Comments41

Big O нотация в Swift

Reading time3 min
Views13K

Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments21

Компилятор C# 10, .NET 6 и интерполяция строк

Reading time24 min
Views17K

К старту курса по разработке на C# делимся материалом из блога .NET о том, как компилятор C# 10 и .NET 6 упрощают программирование, как они обращаются с форматированием, а также о причинах конкретных решений команды .NET. И это далеко не всё. За подробностями приглашаем под кат.

Читать далее
Total votes 29: ↑27 and ↓2+25
Comments60

Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder

Reading time10 min
Views5.9K

До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и приложения .NET Core 3.x/5 на основе универсального хоста.

Однако c этим упрощением есть проблемы. Более сложный код запуска в ранних версиях, обычно разделённый между Program.cs и Startup, имел преимущества, так как он предоставлял хорошо известные точки расширения (hooks), которые инструменты могли использовать для перехвата процесса запуска приложения.

Классическим примером этого является инструментарий EF Core*EN. Если вы когда-либо использовали EF Core, возможно, вы знакомы с проблемами, возникающими при попытке изменить код запуска. А уж когда фреймворк меняет свой код запуска по умолчанию, понятно, что без проблем не обойтись!

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Исследуем .NET 6. Часть 4. Создание конвейера промежуточного ПО в WebApplication

Reading time10 min
Views6.4K

В моем предыдущем посте я рассмотрел код WebApplicationBuilder, включая некоторые из его вспомогательных классов, таких как ConfigureHostBuilder и BootstrapHostBuilder. В конце поста мы создали экземпляр WebApplicationBuilder и вызвали Build() для создания WebApplication. В этом посте мы немного рассмотрим код, лежащий в основе WebApplication, и сосредоточимся на настройке промежуточного ПО и конечных точек.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments4

Исследуем .NET 6. Часть 3. Рассматриваем код WebApplicationBuilder

Reading time15 min
Views9.1K

Часть 1. ConfigurationManager
Часть 2. WebApplicationBuilder

В предыдущем посте я сравнивал новый WebApplication с универсальным хостом. В этом посте я рассмотрю код, лежащий в основе WebApplicationBuilder, чтобы увидеть, как он обеспечивает более чистый, минимальный API хостинга, при этом обеспечивая ту же функциональность, что и универсальный хост.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments5

Исследуем .NET 6. Часть 2. WebApplicationBuilder

Reading time11 min
Views24K

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

Часть 1. ConfigurationManager

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments6

Исследуем .NET 6. Часть 1

Reading time10 min
Views21K

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

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments14

Очень типобезопасно! Концепт продвинутой расширяемой системы единиц измерения с generic math для .NET

Reading time3 min
Views4.9K

Что может быть лучше десятка пары часов проведенных с дженериками и compile time safety в C#?

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

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments15

4 года Q#

Reading time3 min
Views6.6K

В этой статье мы решили собрать все самые важные новинки в языке Q# за этот год. Среди них Azure Quantum, QIR Alliance, Python и многое другое. Подробности под катом.

Здесь вы можете увидеть все примечания к выпускам за год.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments1

Структурное логирование и интерполированные строки в C# 10

Level of difficultyMedium
Reading time11 min
Views26K

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

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments11

Сколько мне стоило попасть в Гугл и получить повышение, не проработав там ни одного дня

Level of difficultyEasy
Reading time10 min
Views92K

Декабрь 2020, вторая волна Ковида в разгаре. Я ПМ на удаленке в Американской компании. После похорон отца в Тбилиси я находился в прострации, надо было возвращаться в США и как-то менять своё положение, ведь денег, которых я зарабатывал явно не хватало на нормальную жизнь. Сами воспоминания о моём предыдущем поиске вызывали во мне холодный озноб и какой-то внутренний голос тихо шептал «подожди, сейчас пандемия, многие и о таком мечтают, как-нибудь выкрутишься…».

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

Я зарегистрировал себе американский номер в Google Voice, чтобы мне начали звонить рекрутеры и начал рассылать резюме. Я разослал около сотни адаптированных резюме и указал в LinkedIn что активно ищу работу. Постепенно на меня начали выходить рекрутеры небольших компаний, но я понимал, что в них условия будут в лучшем случае на 40% лучше текущей и это все равно не решало моих проблем. Хоть и казалось, что на LinkedIn висят тысячи позиций, однако основных работодателей я этим исчерпал. Подавался я в основном на Sr. Project Manager или Engineering Manager позиции.

Осознание пришло, когда я стал читать teamblind.com – лучший ресурс в США по анализу рынка в ИТ и levels.fyi где можно посмотреть реальные зарплаты. Раньше я читал Glassdoor, но информация на нем устарела.

Оказалось, что в финансовой сфере в США, которая мне была интересна - плохие условия и токсичная культура, тоже самое в консалтинге кроме компаний из Big4 или MBB где надо работать долгие часы, но возможно получать 1+ миллион долларов в год дослужившись до партнёра. Самыми интересными оказались компании, которые называют FAANG (Fb, Apple, Amazon, Netflix, Google) иногда в место этого списка используют FAANGMULA справедливо добавляя туда Microsoft, Uber, Lyft и Airbnb – все они технологические, инновационные компании не просто создающие бизнес-продукты, но и технологии, которыми пользуются весь мир. Компании, создающие де-факто стандарты разработки цифровых продуктов, инвестирующие в научные исследования, создающие легендарные условия для своих сотрудников, чем привлекают умнейших инженеров и ученных со всего мира.

Читать далее
Total votes 149: ↑133 and ↓16+117
Comments125

Новые API в .NET 6

Reading time4 min
Views14K

.NET 6 в процессе разработки, и я хотел поделиться некоторыми из моих любимых новых API в .NET и ASP.NET Core, которые вам обязательно понравятся. Почему они понравятся? Потому что они разработаны при прямом участии нашего фантастического сообщества разработчиков .NET. Подробнее в статье.

Читать далее
Total votes 25: ↑22 and ↓3+19
Comments49

Information

Rating
Does not participate
Location
Россия
Registered
Activity