Как стать автором
Обновить
5
0
Andrew Nikolin @AndreyNikolin

.Net разработчик

Отправить сообщение

Как не программист, вероятно, написал самую быструю библиотеку в мире

Время на прочтение 3 мин
Количество просмотров 112K

Привет, Хабр! Не редко захожу, читаю, пришло время поделиться собственным опытом и маленьким поводом для гордости - только что я написал библиотеку, которая примерно в 33 раза быстрее, чем все иные решения, что я находил.
Вот сразу ссылка

Что же за библиотека и зачем нужна?

Она преобразует xlsx в csv. Причём данная библиотека является совместимой с JS/TS, в ближайшее время портирую на питон.

Зачем нужна? Всё на деле просто - понадобилось мне работать с таблицами Excel. Выбор, казалось бы, очевиден - пандас. Вещь мощная, но есть у неё проблема - очень медленная. На то, чтобы открыть xlsx файл размером 600 кбайт, ничего с ним не делая, уходит порядка 0.2 секунды.

Читать далее
Всего голосов 113: ↑33 и ↓80 -47
Комментарии 157

Как мы попробовали DDD, CQRS и Event Sourcing и какие выводы сделали

Время на прочтение 9 мин
Количество просмотров 75K
Вот уже около трех лет я использую в работе принципы Spec By Example, Domain Driven Design и CQRS. За это время накопился опыт практического применения этих практик на платформе .NET. В статье я хочу поделиться нашим опытом и выводами, которые могут быть полезными командам, желающим использовать эти подходы в разработке.

Факты, цифры, код
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 45

Топ-10 книг для разработчика

Время на прочтение 6 мин
Количество просмотров 130K

Совершенствоваться в сфере разработки — это не только писать хороший код, но и читать о том, как его писать.




Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков. Кому интересно — добро пожаловать под кат.
Читать дальше →
Всего голосов 30: ↑26 и ↓4 +22
Комментарии 40

Паттерн CQRS: теория и практика в рамках ASP.Net Core 5

Время на прочтение 8 мин
Количество просмотров 65K

Скорость разработки и производительность программистов могут отличаться в зависимости от их уровня и используемых в проектах технологиях. Для проектирования ПО нет стандартов и ГОСТов, только вы выбираете, как будете разрабатывать свою программу. Один из лучших способов повысить эффективность работы — применить шаблон проектирования CQRS. 

Существует три вида паттерна CQRS: Regular, Progressive и Deluxe. В этой статье я расскажу о первом — классическом паттерне Regular CQRS, который мы используем в DD Planet в рамках разработки онлайн-сервиса «Выберу.ру». Progressive и Deluxe — более сложные архитектуры и влекут за собой использование обширного набора абстракций.

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

Читать дальше
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 27

CQRS. Факты и заблуждения

Время на прочтение 10 мин
Количество просмотров 184K

CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.

Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Комментарии 108

О декораторах, сквозной функциональности, CQRS и слоеной архитектуре

Время на прочтение 5 мин
Количество просмотров 29K
Разработчик SimpleInjector очень любит «декораторы», особенно в сочетании с дженериками вида
QueryHandler<TIn, TOut>, CommandHanler<TIn, TOut>.

Такой подход позволяет «навешивать» на обработчики то, что принято называть cross-cutting concerns без регистрации и смс interception и особой уличной магии вроде Fody или PostSharp.

CQRS не top level architecture, поэтому хочется иметь такие-же декораторы и для классических Application Service. Под катом я расскажу как это сделать.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 21

Детройт: как мировая моторная столица дошла до банкротства

Время на прочтение 19 мин
Количество просмотров 66K
Слева район Highland Park, территория штата Мичиган, справа – территория Детройта. Источник: Johnny Miller

Мировая моторная столица (Motown), родина американского среднего класса, арсенал демократии — как только не называли Детройт на пике могущества в 1950-е гг., когда его население достигло 1,85 млн человек. Сегодня же оно едва дотягивает до 640 тыс. и продолжает сокращаться. Что произошло? Однозначного ответа нет, но причин одновременно несколько. Здесь и расовое противостояние, ошибки городского планирования, большая политика, ослабление конкурентоспособности американских автоконцернов, их бегство из-за роста социальной нагрузки после победы профсоюзов. Да и много ещё чего, что в комплексе привело в 2013 г. к крупнейшему в истории США муниципальному банкротству.

Но обо всём по порядку.
Читать дальше →
Всего голосов 189: ↑185 и ↓4 +181
Комментарии 488

Каждую пятницу я в… Пик Балмера — есть ли за ним правда?

Время на прочтение 8 мин
Количество просмотров 88K
Многим известна шуточная зависимость между способностью к программированию и количеством выпитого. Согласно теории, существует определённая доза, открывающая сверхчеловеческие способности к кодингу (согласно эмпирическим данным — около 2 бутылок пива). Однако задавались ли Вы вопросом, какова доля шутки в этой шутке? Немного алкотеории и алкопрактики с блекджеком и шл... цифрами и графиками на дне стакана под катом.

Испить до дна
Всего голосов 46: ↑39 и ↓7 +32
Комментарии 32

Как получил оффер от Microsoft

Время на прочтение 6 мин
Количество просмотров 52K

О чем эта статья

Это продолжение моих похождений по ФААНГ. Предыдущая статья была о моем опыте собеседования в Амазоне.

Здесь я тоже поделюсь всем процессом: как я попал на собеседование, все этапы, вопросы на интервью, как я готовился, некоторые детали офера, и общее впечатление от интервью. Так же будут всякие сравнения опыта собеседования в Майкрософте и в Амазоне.

К слову, все собеседования тоже сейчас проходят онлайн, и никаких онсайт интервью нет.

Читать далее
Всего голосов 88: ↑80 и ↓8 +72
Комментарии 139

Про ЦОД Останкино — тот самый, который вообще без дизеля

Время на прочтение 5 мин
Количество просмотров 42K


У нас кончилось место на московских площадках, и мы довольно долго выбирали новый ЦОД. Отсмотрели с десяток вариантов и пришли в гости в Останкино. ЦОД, конечно, удивительный.

Во-первых, у него нет и не будет уровня по Uptime Institute, несмотря на то что он фактически соответствует уровню Tier III, потому что это объект Федерального значения России.

Во-вторых, у него нет дизельного питания. Вообще! Есть 4 (четыре, Карл!) независимых ввода питания повышенной надежности. Ну как вы понимаете, поскольку там самое главное телевидение, если бы свет хотя бы моргнул за последние 55 лет, стук «летящих голов» было бы слышно на много сотен километров от Москвы.

В-третьих, охрану осуществляет отдельный батальон Росгвардии. Помните, как в 93-м штурмовали телецентр? Ну так вот, с тех пор там все несколько настороже.

В общем, я просто не могу не рассказать про это место. Но с некоторыми ограничениями, поскольку безопасники не всегда рады публичности некоторых вещей. Фотографии, например, мы делали так: вставали на точку и говорили, что нужно сфотографировать. Дальше приходил их сотрудник и фотографировал. Что-то из архива, чтобы не было видно конкретного оборудования их заказчиков. Где-то вообще нельзя было снимать.
Читать дальше →
Всего голосов 121: ↑120 и ↓1 +119
Комментарии 136

Жизнь и смерть Крымской АЭС

Время на прочтение 31 мин
Количество просмотров 47K

Среди легендарных советских строек есть те, что никогда не будут закончены. Ховринская больница, Свердловская башня, Трансполярная магистраль, Отель «Северная корона». Эти объекты так и не начали работать. Многие снесены, некоторые ожидают сноса. Но речь сегодня не о них. Мы поговорим о самом дорогом советском недострое – Крымской АЭС. Этот амбициозный проект стал жертвой ряда неудачных обстоятельств, которые чуть не похоронили всю советскую атомную промышленность. В этой статье вы узнаете, как этот проект создавался, как жил и как умер.

Читайте об истории Крымской АЭС
Всего голосов 116: ↑107 и ↓9 +98
Комментарии 190

Современное пиратство глазами моряка

Время на прочтение 6 мин
Количество просмотров 70K

Автор: Илья Копосов

Здравствуйте. Сегодня я хочу рассказать вам о современном морском пиратстве, как от него защититься и чего это стоит. Из первых рук, так сказать, – рук штурмана торгового флота.

Как защитить своё судно от нападения? Для этого нужно изучить тактику пиратов, их цели и задачи, построить две линии обороны (о них я расскажу подробнее) и продумать пути отступления. Если вы любите играть в пошаговые стратегии, то вам понравится, поехали.

Читать далее
Всего голосов 448: ↑424 и ↓24 +400
Комментарии 414

Разумная слизь? Тварь, способная решать сложные задачи, что не под силу даже существам, обладающим развитым мозгом

Время на прочтение 7 мин
Количество просмотров 67K

Автор Лысый Камрад (@LKamrad)

При этом у нее нет не то чтобы мозга, а хотя бы намека на самую примитивную нервную систему. Разрезанная на части, она снова сольется в единый организм, а если части разнести друг от друга, они будут функционировать как отдельные вполне полноценные особи. Такое невозможно, воскликните вы, и... будете неправы – мать-природа круче любой фантастики. 

Знакомьтесь, Physarum polycephalum  – не животное, не растение и даже не гриб...

Примечание: данную публикацию можно использовать для начала ознакомления учащихся с принципами динамического программирования.

Читать далее
Всего голосов 190: ↑177 и ↓13 +164
Комментарии 85

Артемии. Кого завести, когда нет места?

Время на прочтение 6 мин
Количество просмотров 31K

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

Читать далее
Всего голосов 91: ↑76 и ↓15 +61
Комментарии 85

ua-hosting.company — задизайнено в Cтудии Артемия Лебедева, 15 лет спустя

Время на прочтение 37 мин
Количество просмотров 34K
Проект ua-hosting.company берёт своё начало еще в далёком 2006 году, когда услуги хостинга предоставлялись в рамках некоммерческого проекта, который требовалось окупать. Подробнее об этом Вы можете узнать из нашей исторической статьи — «ua-hosting.company» или как стать хостинг-провайдером с нуля и сгенерировать трафика больше, чем вся Беларусь.

Тогда ни о каком дизайне, созданном в профессиональной студии, не приходилось и мечтать. Первый дизайн пришлось разрабатывать самому, в последствии переключиться на первый движок (Data Life Engine) и заказать скин у дизайнера-фрилансера за $150, а в 2014 году вернутся к варианту без движка, заказав дизайн у одной украинской студии из Мариуполя (makebecool.com), которая выразила готовность выполнить работу в ответ на наш запрос на fl.ru за сумму в пределах 3 тыс долларов, что выглядело более-менее адекватно на общем фоне. К слову, тогда нам поступали предложения и с большим требуемым бюджетом. Особенно порадовал no-name дизайнер, который хотел за свою работу не много не мало, а от 25 тыс долларов, уверяя нас в том, что это адекватная цена и хороший дизайн может стоить ещё дороже:



И я знал у кого. Еще во времена студенчества, а именно в 2004-2006 годах, мой однокурсник с другой группы, увлекавшийся дизайном, бузил на Тёму. В то время у многих от него уже горели пердаки. «Ты знаешь, он берёт 10 тыс долларов за дизайн одной страницы, которую по итогам делают фрилансеры за 100 долларов и люди платят». Уже тогда Студия Артемия Лебедева была известна и набирала свою популярность. Уже тогда дизайн сайта у них мог запросто стоить 100 тыс долларов и даже больше. Только логотип задизайнить — от миллиона рублей. Что говорить о сайте…
Читать дальше →
Всего голосов 86: ↑65 и ↓21 +44
Комментарии 229

Паразит, дарующий своим  хозяевам «вечную молодость» и многократно удлиняющий срок их жизни

Время на прочтение 3 мин
Количество просмотров 162K

... и это еще не все: бонусом идет сытое и беззаботное существование.

Автор: Лысый Камрад (@LKamrad)

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

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

Речь идет о ...

Читать далее
Всего голосов 261: ↑238 и ↓23 +215
Комментарии 115

Как дейтинг-приложения делают нас одинокими

Время на прочтение 7 мин
Количество просмотров 32K
Аналогично Request For Startups (запрос на стартапы, которые призваны решить проблемы и задачи, которые Y Combinator считает актуальными для общества и бизнеса), я решил вести рубрику Request for Co-founder. В ней я рассматриваю продукты (или сразу несколько похожих продуктов) и рассказываю об их проблемах. Я как будто веду здесь диалог с потенциальными со-основателями, партнерами, как если бы мы планировали сделать аналогичный продукт.

Я выбираю в основном те продукты, которые заинтересовали лично меня. В этот раз я хочу поговорить про дейтинг-приложения. Эту тему меня натолкнула дискуссия на Hacker News.
Прежде чем начать, хочу предупредить, что рассматривал рынок дейтинг-приложений с точки зрения 33-летнего холостого парня из Лос-Анжелеса, кем я и являюсь. Я не принимаю во внимание приложения для представителей сообществ ЛГБТК+, приложения для свингеров и женатых пар, а также приложения для одноразовых интрижек.

Современные дейтинг-приложения


Большинство современных приложений для знакомств ужасны, и давно пора разобраться, почему. Я выделяю три уровня качества приложений для знакомств: приличный, плохой и мусор. Лучшие из них (что, как мы увидим, ничего особенного не дает): Hinge, Bumble, Coffee Meets Bagel и eHarmony. В следующей категории у нас есть: Tinder, OKCupid, Plenty of Fish и несколько других. И, наконец, приложения, которые я считаю просто бесполезным мусором: Zoosk, Badoo, Happn. К сожалению, даже если посмотреть на лучшие из этой группы, с ними процесс поиска партнера превращается в пытку.
Читать дальше →
Всего голосов 16: ↑12 и ↓4 +8
Комментарии 56

Язык Эсперанто: как он связан с Троцким и Красной армией, а также его краткая история и грамматика

Время на прочтение 6 мин
Количество просмотров 15K

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

Однако все перечисленные языки в той или иной степени сложны. У английского языка простая грамматика, но чертовски сложное произношение для русского человека, англичанину нужно потрепать нервы чтобы научиться выговаривать немецкую R, да и немецкие der die das dem des без пузыря не запомнишь, поэтому люди давно задумались о создании единого международного языка, который был бы прост в освоении для всех, и на котором бы говорил весь мир. Таким образом к 21 веку существует до фига как много искусственно созданных языков, но на 99% процентах из них говорит четыре с половиной энтузиаста, однако есть один язык, у которого почти получилось стать мировым... Я говорю о языке Эсперанто, которому и посвящена эта статья.

Читать далее
Всего голосов 36: ↑32 и ↓4 +28
Комментарии 39

История Тревора Милтона, главы Nikola: как соскамить людей на $34 млрд, и выйти сухим из воды

Время на прочтение 11 мин
Количество просмотров 55K


Сейчас в США активно судят главу Theranos — за обман своих инвесторов. Но куда более серьезный и наглый преступник остается на свободе. Если Theranos на пике стоила $8 млрд, то акции Nikola, обещавшей стать второй Tesla, продавались за $34 млрд. Если у Theranos не вышло создать нормальный продукт (и Элизабет Холмс об этом врала), то Тревор Милтон о создании чего-то реального и не задумывался. Несмотря на это, акции Nikola продолжают торговаться на бирже, а Милтон — на свободе, и остается миллиардером. Вот что значит — правильное название, хороший пиар в соцсетях и наличие опыта в скамах.


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

Читать дальше →
Всего голосов 94: ↑87 и ↓7 +80
Комментарии 117

WordClock — от вдохновения до воплощения

Время на прочтение 3 мин
Количество просмотров 28K

Однажды увидел картинку необычных часов, которые пишут время. Это были QlockTwo.

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

Стоимость часов в форм-факторе 450 x 450 мм. начиналась от 1500$ за версию с пластиковой лицевой панелью. Версия со стальной сатинированной панелью стоила 2000$, именно ее я изначально увидел и она мне понравилась.

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

Как же оно получилось?
Всего голосов 143: ↑142 и ↓1 +141
Комментарии 65

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность