Search
Write a publication
Pull to refresh
351
0
Артем Малышев @arttom

Редактор, сценарист, альпинист, книжный червь

Send message

# Стоит ли связываться с C#

Reading time4 min
Views50K


На рынке есть десятки популярных ЯПов, и сеть набита статьями для новичков: какой язык выбрать? Мы решили сделать подборку статей с субъективным обзором языков для профессионалов, которые ищут, в какую сторону можно расширить свой кругозор.

Первую статью цикла мы посвящаем языку C#.
Читать дальше →

Как Нетфликс использует нейросетки при создании сериалов

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



Любой, кто имеет хотя бы отдаленное представление о производстве кино, уже сейчас может смеяться. После череды скандалов под флагом #metoo, в ходе которых продолжает вскрываться глубоко коррумпированное устройство Голливуда и прилегающих пространств, сложно принять всерьез рассказы в духе «Стар Трека» о переливающихся инструментах для бюджетирования. Рассказы эти, к тому же, напрочь лишены конкретики – Нетфликс известен своим нежеланием раскрывать реальные рейтинги своих продуктов, поэтому подсказывать художественные решения их производителям с таким же успехом может шестигранный кубик. Что, конечно, не означает, что работа в этом направлении не ведется. Более того, не только Нетфликс и другие гиганты, но и небольшие компании пытаются выстраивать свою бизнес-модель на машинных предсказаниях.
Читать дальше →

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков

Reading time6 min
Views21K


Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не используй их. Если тебе просто надо порендерить четыре формы, то тебе не нужен ни реакт, ни тайпскрипт, ни вебпак — ничего. Создаешь три файлика .html, .css и .js — вот тебе и приложение.

Ничего не надо никуда билдить, никакого стат анализа, и никакой прожорливой и тормозной ноды на твоей машине — все быстро и просто. Так можно строить и достаточно большие приложения — ведь тот же vs code вполне себе может тайпчекать твой js. Другие проблемы, которые можно решать большими фронтенд инструментами во-первых часто выдуманы их создателями, а во вторых если и создают большую боль — то только на действительно больших приложениях.
Читать дальше →

Пока все праздновали мой день рождения, я до утра чинил кластер — а разрабы валили на меня свои ошибки

Reading time7 min
Views44K


Вот история, которая навсегда перевернула мой подход к работе девопса. Еще в доковидные времена, задолго-задолго до них, когда мы с парнями только задумывали свое дело и фрилансили на случайных заказах, мне в телегу упало одно предложение.

Компания, которая написала, занималась аналитикой данных. Ежедневно она обрабатывала тысячи запросов. К нам они пришли со словами: ребят, у нас есть ClickHouse и мы хотим автоматизировать его настройку и установку. Хотим Ansible, Terraform, Докер и чтобы это все хранилось в гите. Хотим кластер из четырех нод по две реплики в каждой.

Стандартная просьба, каких десятки, и нужно такое же хорошее стандартное решение. Мы сказали «окей», и через 2-3 недели все было готово. Работу они приняли и начали переезжать на новый кластер Кликхауса с помощью нашей утилиты.
Читать дальше →

В Tarantool можно совместить супербыструю базу данных и приложение для работы с ними. Вот как просто это делается

Reading time15 min
Views13K
Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали вопрос — «А почему под эту задачу не использовать Tarantool?».

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


Читать дальше →

Пока в вузах преподают люди, которые боятся кода и ненавидят разработку — никакого фундамента и базы мы не получим

Reading time6 min
Views14K


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

Я может и не собирался писать код для передовых проектов NASA, но мне хотелось чтобы вуз помог мне научиться вникать в проблемы, которые изо дня в день решают профессиональные программисты. Нужно ли говорить, какую связь с реальностью я увидел в своем вузе? Думаю, все-таки нужно.
Читать дальше →

Мы поступили в универ и сами показали преподам, как учить студентов. Теперь собираем самые большие аудитории

Reading time8 min
Views33K


Замечали, скажешь человеку слово “универ”, как он сразу погружается в душные воспоминания? Там он тратил свою молодость на бесполезные предметы. Там он получал устаревшие знания, и там обитали преподы, давно слившиеся с учебниками, но ничего не понимающие в современной IT-индустрии.

К чёрту всё: дипломы не важны, а ВУЗы не нужны. Так ведь вы все говорите? Я думаю об этом каждый свой день, и, знаете, я с этим не согласен! В универ стоит поступить. Там есть такие же парни и девчонки с горящими глазами, как и ты, там есть сообщество. И вместе вы сможете сделать много нового. К примеру, альтернативу образовательной программе ВУЗа в своём городе.
Читать дальше →

Мне было стыдно за свой интерпрайз-код настолько, что я сделал свой велосипед. За него стыдно меньше

Reading time11 min
Views13K

image


Это продолжение текста про архитектуры интерпрайз-систем. Рассуждения это хорошо, но какой в них толк без практического применения. Я покажу свой фреймворк в деле.


Всё началось с того, что я рассказывал про проблематику проектирования приложений на .NET и ныл про нелёгкую жизнь в кровавом интерпрайзе. Затем я описал решение, которое сам придумал и реализовал — Reinforced.Tecture. То была теория, концептуальные рассуждения, визионёрство и снова нытьё. На этот раз о том, что на дворе 2020 год, а HKT в C# так и не завезли.


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

Читать дальше →

Никто не умеет управлять программистами — и все придумывают костыли, вместо решений

Reading time6 min
Views31K


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

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

Если коротко — все ещё хуже, чем выглядело со стороны.
Читать дальше →

Архитектура интерпрайз-приложений может быть другой

Reading time17 min
Views28K

image


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


Мне нравится перебирать архитектурные концепции. Всю жизнь я пытаюсь найти в области архитектуры и дизайна ПО что-то работающее и в то же время простое. Не требующее разрыва мозга для понимания и кардинальной смены парадигмы. Идей накопилось порядочно и я решил объединить лучшие из них в своём фреймворке — Reinforced.Tecture. Разработка таких штук даёт гигантское количество пищи для размышлений, я хочу ими поделиться.


Тексты про такие технические вещи обычно до ужаса нудные. Я честно постарался не нудить, поэтому мой текст получился слегка агрессивным. Если вам с этим норм и интересно почитать про архитектуры .NET-приложений — заходите.

Читать дальше →

Я посредственный разраб, плохой муж и ужасный отец — нет никакого баланса и выбора

Reading time5 min
Views63K


Мне нравятся пост-ковидные правила игры. Добрая половина вакансий — удаленка. Мы больше не ищем в описании слова «гибкий график» — это теперь само собой разумеется. Никому не придет в голову заставить программиста строго сидеть за компом от 9 утра до шести вечера. Боссы теперь уважают наше время и личное пространство. И нам все еще очень хорошо платят.

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

Когда я первый раз получил оффер на ремоут, я так и подумал. В том, как офис пожирает лишнее время очень простая арифметика — конкретно на работу тратишь часа четыре, еще четыре ты страдаешь фигней, два тратишь на дорогу и час вычеркиваешь из каждого утра — он хоть и свободный, но бесполезный. Около восьми часов ты должен спать. У тебя остается всего пять часов на свои дела по дому и общение с семьей. Это ничтожно мало — ведь ты ещё обычно и зверски устал, когда вернулся.
Читать дальше →

Объясните, почему мой рокет-саенс бэкенд билдится пару секунд, а четыре формы на фронте — полгода

Reading time6 min
Views64K

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

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

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

Читать далее

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

Reading time6 min
Views35K

image


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


В языках вечно не хватает чего-то простого — лямбда-функций, именованных объединений, кастомных примитивных типов. Я лезу в обсуждения на Stack Overflow, в Github и вижу, как разрабы жалуются — им не хватает того же, чего и мне. Но обсуждения почти всегда заканчиваются одинаково: нужная фича не появится, потому что главный дизайнер языка и члены его команды нужной ее не считают.


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


Но сейчас я понимаю — это полная чушь.

Читать дальше →

Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить

Reading time10 min
Views43K


Я второй десяток лет участвую в разработке приложений для бизнеса на .NET и каждый раз вижу одни и те же проблемы — быдлокод и беспорядок. Месиво из сервисов, UoW, DTO-шек, классов-хелперов. В иных местах и прямой доступ в базу данных руками, логика в статических классах, километровые портянки конфигурации IoC.


Когда я был молодым и резвым мидлом — я тоже так писал. Потом бил кулаком в стену с криками: "Хватит! В следующий раз сделаю по-другому". Следующий раз действительно начинался "по-другому" — с холодной головой и строгим подходом к архитектуре — а на выходе все равно получалась та же субстанция, лучше на пару миллиметров.


Однако, эволюция — беспощадная штука: моя последняя система показалась мне более-менее близкой к идеалу. Сложность не сильно росла, скорость разработки не падала довольно долго, в систему худо-бедно въезжают новые сотрудники. Эти результаты я взял за основу, улучшил и теперь анонсирую вам свою новую разработку: Reinforced.Tecture.

Читать дальше →

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Reading time5 min
Views128K


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →

Не прыгайте выше головы — останетесь тупицей в плену больших денег

Reading time5 min
Views55K


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

Такую чушь может сказать человек, который не знает, что у структур есть пустой конструктор по умолчанию, который нельзя ни убрать, ни переопределить. Знаете почему я этого не знал? Да, потому что я никогда их не использовал. Ведь хорошего разрабовского опыта у меня мизер. Я давно уже не хочу читать книжки про сишарп. Зачем, если мне и так платят?
Читать дальше →

Завязывайте со своим «Хабр не торт». Хабр — это феномен

Reading time6 min
Views17K


Когда я работал в офисе, я не очень понимал, зачем мне нужен Хабр. Все больные для разрабов темы мы обсуждали в курилке, все сложные технические проблемы я изучал по доке, а ответы на простые вопросы искал на стековерфлоу. Когда я стал удаленщиком, ежедневное чтение Хабра стало важным ритуалом. В офисе вокруг меня было две сотни разрабов, а тут только трое коллег, с которыми не особо и охота созваниваться.

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

Не надо портить инженерам десктопы своими мобильными решениями, одумайтесь

Reading time4 min
Views99K


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

Прошло всего несколько лет, рынок все расставил по местам — и самым большим дураком оказался я. А гении из инстаграма предсказали, как и куда все будет развиваться. Сегодня большая часть продуктов для пользователей делается в первую очередь под мобильные платформы. В лучшем случае они фигачат универсальный веб, который все равно оптимизирован под мобильники. Потому что пользователи любят айфоны, а не компы. Бизнес сел, посчитал, и принял решение — давайте зарабатывать больше денег, давайте у нас везде будет мобайл ферст.
Читать дальше →

Медленный код — вообще не проблема, если ты знаешь как его ускорить. Главное красиво

Reading time5 min
Views39K


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

Читать дальше →

В России плохо жить, даже если ты разраб. Но я все равно отказываюсь от релокейта

Reading time6 min
Views107K


Несколько лет назад я читал на Хабре про скандал разраба Алексея Адамовского с компанией Xored. Липкий кейс, компания не заплатила человеку деньги, и для меня сразу стал очевиден главный враг в этой истории. Непонятно было другое. Адамовского наняли работать в новосибирском офисе компании, а он очень хотел поработать в пражском. За те же деньги. Кое-как уговорил их и уехал туда. В целом его право, но меня тогда очень задело другое — неужели человек настолько ненавидит жить в РФ, что готов смотаться отсюда на любых условиях?
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity