Pull to refresh
0
0
Дмитрий Тимофеев @timda

Системный аналитик

Send message

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficulty Easy
Reading time 30 min
Views 358K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 357: ↑350 and ↓7 +343
Comments 283

Не трогайте разработчиков. Отстаньте. Просто не беспокойте

Reading time 13 min
Views 74K


Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.

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

В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.

Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.

Сейчас расскажу про практический опыт.
Читать дальше →
Total votes 190: ↑172 and ↓18 +154
Comments 79

Смена основного стека с .NET на Java

Reading time 4 min
Views 34K


Хочу описать свои наблюдения и впечатления о самом популярном языке серверного программирования для Enterprise под названием Java. Наблюдения и впечатления на сравнении и контрасте с “похожей” платформой .NET, с которой я очень хорошо знаком. Уверен, что ~год назад, когда будущее нового дотнета в очередной раз показалось мне чересчур туманным и мысль сменить технологический стек окончательно материализовалась в голове, данная статья оказалась бы очень полезной. Я постараюсь не вдаваться в мелкие технические/стилистические различия языков программирования, которые легко нагуглить, а предложу скорее взгляд сверху — на экосистему в целом. Итак, Java глазами матёрого дотнетчика с десятилетним стажем. Прошу под кат.
Читать дальше →
Total votes 29: ↑24 and ↓5 +19
Comments 201

.NET, что с тобой происходило в 2021?

Reading time 6 min
Views 17K

Конец декабря, многие подводят свои итоги, а мы решили оглянуться и посмотреть, что хорошего (и не очень) случилось в мире .NET-разработки за этот год, и спросили об этом наших разработчиков.

Из хорошего называли появление рекордов в С# 9, и выход С# 10, а в топе, конечно же, релиз .NET 6 с долгосрочной поддержкой. До выхода шестой версии у нас уже много веб-сервисов работало на .NET 5, в том числе и в монолите. Теперь ко всем «фишкам» пятой версии добавляются преимущества новой.

Платформа становится всё кросплатформеннее и кросплатформеннее (возможно, благодаря этому в последнее время наблюдается рост интереса к C#). В .NET 6 сильно улучшилась производительность, появилась поддержка Apple Silicon (мы недавно писали, почему так рады этому), новые API и много других полезностей.

Что ещё запомнилось
Total votes 46: ↑46 and ↓0 +46
Comments 22

Принятого не воротай: Enumerable vs List

Reading time 4 min
Views 19K

Когда-то я работал в команде, где слегка недолюбливали LINQ, за то, что такой код якобы сложно отлаживать. У нас была договоренность: после каждой цепочки LINQ, разработчик создает локальную переменную, в которую записывает результат ToArray(). Независимо от того, потребуется ли массив далее по методу, или он работает только с IEnumerable. Перед return, результат также приводился к массиву, кажется, во всей кодовой базе не было методов, возвращающих или принимающих коллекцию, отличную от массива.

Бородатое легаси! - подумаете вы и будете правы. Однако, несмотря то, что прошло много лет, с тех пор, как LINQ стал использоваться повсеместно, а IDE позволяют смотреть данные в отладке, некоторые разработчики все еще плохо представляют себе критерии выбора принимаемого и возвращаемого типа, если речь заходит о коллекциях.

Читать далее
Total votes 9: ↑7 and ↓2 +5
Comments 23

Готовим Json в Apache NiFi или снова Jolt Transform

Reading time 7 min
Views 10K

Пример использования процессора JoltTransformJson в Apache NiFi. Можно рассматривать как небольшой туториал по использованию Jolt-спецификаций.

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

Свежая подборка jQuery плагинов

Reading time 2 min
Views 15K
Для меня jQuery ассоциируется с мощной и главное кросс-браузерной JavaScript библиотекой. Можно долго перечислять ее достоинства, холиварить по поводу и без, но думаю, никто не будет против посмотреть подборку интересных плагинов и уроков:
для удобства – каждая картинка ведет на демо

Hover Slide Effect



Демо | Урок
Галерея состоит из нескольких картинок, при наведении на одну из них она эффектно меняется на другую, а при клике на любую картинку — меняются все одновременно.

Остальные плагины
Total votes 151: ↑136 and ↓15 +121
Comments 27

Мифы и заблуждения насчёт CLR и .NET

Reading time 8 min
Views 35K
Последнее время на популярно-технических форумах я часто встречаю ожесточённые споры приверженцев и противников .NET. Эти споры, как правило, начинаются из-за недоразумения, и заканчиваются жестким троллингом, беседами “за жизнь” и сравнением радиусов и удельных плотностей материала различных сферических коней. Обе стороны силятся доказать и аргументировать, но ни одна не хочет посмотреть на предмет спора другими глазами. Хабрахабр не исключение, увы.

Накалу страстей такой беседы позавидовали бы религиозные фанатики. Единственное, что спасает противников от крестовых походов друг на друга, вооружившись вилами и LangSpec’ами — то, что они разделены интернетом.

Так жить нельзя, господа. Мне захотелось исправить эту ситуацию, и выступить с одной из сторон. Этим постом я попробую нанести сообществу непоправимую пользу и разобраться с мифами, на обсуждение которых, а не на взаимное членовредительство, к сожалению, и уходят силы спорщиков. А так как я в своё время перелез с C++ на C# и всё вокруг него, то я буду развенчивать негативные мифы, прибавлять позитива и всячески приукрашивать действительность — а как без этого. И — заметьте — это обойдется совершенно бесплатно для M$. Ну а сделать я это хочу в формате Q&A.
Едем!
Total votes 226: ↑170 and ↓56 +114
Comments 241

Information

Rating
Does not participate
Location
Дубна, Москва и Московская обл., Россия
Registered
Activity