Pull to refresh
1
0

Руководитель разработки

Send message

Кармическое проклятье Хабра

Reading time21 min
Views101K
Вся суть


Непредвиденные последствия


«Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум
Тема про карму на «Пикабу»

Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал бы так: «я давно читаю статьи с Хабра» — но не интересовался тем, что происходит внутри сообщества, когда этой весной решил наконец-то зарегистрироваться. Это типичная ошибка человека, который приходит на Хабр из поисковика читать полезные статьи о тонкостях программирования или интересные новости из мира технологий. Пока ты видишь портал только с этой, положительной стороны, ты не задаёшься вопросами о том, что происходит под капотом. Конечно, в комментариях или статьях время от времени проскальзывали упоминания кармы — но ведь карма есть почти на всех крупных порталах (наивно полагал я), это нормально для саморегулирующихся интернет-сообществ.

Мне пришлось всерьёз задуматься об этом после того, как я неожиданно потерял возможность писать больше одного комментария в пять минут.

При этом внешне всё шло отлично: мои комментарии всё время плюсовали, мой рейтинг рос — и вдруг оказалось, что у меня отрицательная карма. Весь мой длительный опыт интернет-общения, все пользовательские привычки, да и банальный здравый смысл кричали мне, что это какая-то ошибка: показатель одобрения пользователя сайта другими пользователями сайта не может одновременно расти и падать! Но я решил не рубить сплеча, а провести небольшое исследование, как аналитическое (в виде изучения мнений пользователей о карме), так и статистическое (в виде анализа показателей аккаунтов).
Читать дальше →
Total votes 345: ↑306 and ↓39+267
Comments1311

Релиз кросс-платформенного .NET UI-тулкита AvaloniaUI 0.9

Reading time6 min
Views14K

Avalonia — кроссплатформенный .NET UI-тулкит с открытым исходным кодом, вдохновлённый технологиями WPF и UWP. Он полностью поддерживает Windows, macOS и Linux, .NET Core 2.0-3.1, XAML, дата-биндинги, lookless-контролы и многое другое.



(на ВДПВ показана работа без XOrg)


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


За подробностями прошу под кат.

Читать дальше →
Total votes 63: ↑61 and ↓2+73
Comments21

Объекты против структур данных

Reading time7 min
Views11K

В статье, перевод которой предложен ниже, Роберт Мартин вроде как начинает с мыслей, очень похожих на те, что можно увидеть в рассуждениях Егора Бугаенко про ORM, но выводы делает другие. Лично мне подход Егора импонирует, но я считаю, что Мартин подробнее раскрывает тему. Мне кажется, с его мнением стоит познакомиться всем, кто когда-либо задумывался о том, какое место должен занимать ORM и вообще, зачем нужны объекты у которых все поля открыты. Статья написана в жанре "Диалог", где более опытный программист обсуждает проблему с тем, у кого опыта меньше.


Что такое класс

Класс это спецификация множества сходных объектов


Что такое объект?

Объект это набор функций которые производят действия с инкапсулированными данными.


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

В смысле "подразумевается"?

Читать дальше →
Total votes 22: ↑9 and ↓13-4
Comments17

Монада «Reader» через async/await в C#

Reading time9 min
Views7K


В моей предыдущей статье я описал, как реализовать паттерн "Монада Maybe" с помощью операторов async / await. В этот раз я расскажу, как реализовать другой популярный шаблон проектирования "Монада Reader", используя те же приемы.


Этот шаблон позволяет неявно передать некий контекст в иерархию вызовов функции без использования параметров или полей классов, и его можно рассматривать как еще один способ реализации внедрения зависимости (Dependency Injection). Например:

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments9

Конфигурация приложений на Angular. Лучшие практики

Reading time6 min
Views18K

Как управлять файлами конфигурации среды и целями


Когда вы создали angular приложение с помощью Angular CLI или Nrwl Nx tools у вас всегда есть папка с фалами конфигурации окружения:


<APP_FOLDER>/src/environments/
                       └──environment.ts
                       └──environment.prod.ts
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments6

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний

Reading time4 min
Views3.1K

Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем комплимент: скидку на его посещение.


У меня для вас есть новость: мы с Андреем Гончаровым, моим хорошим другом и соратником решили сделать для вас доклады по lock-free, выступая вместе. Мне показалось, это должно сильно оживить атмосферу выступления. Андрей сейчас закапывается в эту тему так, что иногда его приходится даже останавливать: доклады будут очень интересными и полезными.


Юрий Власов, мой второй коллега нашёл библиотеку Microsoft.VisualStudio.Threading, которую с удовольствием использует в проектах. Он решил поведать вам о её богатых возможностях и применимости в различных задачах. Этот доклад отлично завершит тему lock-free, закрыв вопросы теории, оценки сложностей, анализа существующих алгоритмов и построения собственных вопросом хорошей реализации в виде промышленной библиотеки.


В честь Дня Программиста мы ввели промокод: CLRiumDevDay. Он действует всего-лишь два дня, когда можно забронировать билеты. Далее — вы имеете 5 дней на оплату билетов.
Первый день — скидка = 25%, второй = 15%

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments3

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core)

Reading time7 min
Views7.4K

Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении.


С помощью этого набора инструментов вы сможете:


  1. Сохранить данные из вашей локальной БД в файлы некого текстового формата (XML, JSON), которые легко подключить к проекту.
  2. Использовать сохранённые файлы для заполнения базы данных самого приложения при его первом старте.

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


image

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments5

Спорт для программиста второй свежести

Reading time14 min
Views25K
Около 30 лет назад я написал свою первую программу. Примерно тогда же впервые взял в руки штангу. Около 30 дней назад были приобретены PlayStation и PS VR.



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

Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments186

История и альтернативы платформы .NET

Reading time9 min
Views24K

Недавно мне повезло пообщаться с Крисом Бэйконом, который написал DotNetAnywhere (альтернативный вариант .NET Runtime), и я остроумно заметил:


… ты, наверное, один из тех немногих, кто создал собственную среду выполнения .NET, и это круто!

если исключить тех, кто на зарплате, т.е. инженеров Microsoft/Mono/Xamarin, их очень немного.



Это — перевод статьи Matt Warren (A History of .NET Runtimes). Дабы не делать повторную публикацию, оставлю as is

Total votes 65: ↑64 and ↓1+63
Comments9

Переполнение и потеря данных в CSS

Reading time8 min
Views11K

В этой статье Рейчел Эндрю рассматривает ситуации, в которых вы можете столкнуться с переполнением при верстке сайтов, и объясняет, как развивался CSS, чтобы создавать более эффективные методы разметки в ситуациях, когда объёмы контента заранее неизвестны
Total votes 11: ↑11 and ↓0+11
Comments12

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

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

Поучить английский


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

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments19

Мозг + VPS за 30 рублей =?

Reading time10 min
Views39K
Как приятно, когда все необходимые мелочи под рукой: хорошо пишущая ручка и блокнот, заточенный карандаш, удобная мышка, пара лишних проводов и т.д. Эти незаметные штуки не обращают на себя внимания, но добавляют жизни комфорта. Такая же история с различными мобильными и десктопными приложениями: для длинных скриншотов, для уменьшения размера картинки, для подсчёта личных финансов, словари, переводчики, конверторы и т.д. А есть ли у вас такой VPS — который стоит недорого, всегда под рукой и приносит много пользы? Нет, не тот который у вас в компании, а свой, «карманный». Мы подумали, что без небольшого VPS в 2019 году как-то грустно, прямо как без привычной авторучки на лекции. А чего грустить? Лето же. Ну как лето. Лето айтишника: сидеть дома, пилить любимые проекты безо всякого сожаления. В общем, подумали и сделали.


Коммунизм наступил, товарищи
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments174

Инструментарий для анализа и отладки .NET приложений

Reading time6 min
Views22K

Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в комментариях.


Во-первых, я должен упомянуть, что хороший отладчик уже присутствует в Visual Studio и VSCode. Также существует множество хороших (коммерческих) профилировщиков .NET и инструментов мониторинга приложений, на которые стоит взглянуть. Например, недавно я попробовал поработать с Codetrack и был впечатлён его возможностями.


Однако оставшийся пост посвящён инструментам для выполнения отдельных задач, которые позволят лучше понять, что происходит. Все инструменты имеют открытый исходный код.


Total votes 50: ↑50 and ↓0+50
Comments9

Цивилизация Пружин, 1/5

Reading time14 min
Views110K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →
Total votes 237: ↑230 and ↓7+223
Comments266

Реализуем AutoMapper при помощи Roslyn и кодогенерации

Reading time6 min
Views5K

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


И так, кому интересно посмотреть на то как можно сделать библиотеку наподобие AutoMapper прошу под кат.

Total votes 12: ↑12 and ↓0+12
Comments9

Свой mapper или немного про ExpressionTrees

Reading time7 min
Views16K
image

Сегодня мы поговорим про то, как написать свой AutoMapper. Да, мне бы очень хотелось рассказать вам об этом, но я не смогу. Дело в том, что подобные решения очень большие, имеют историю проб и ошибок, а также прошли долгий путь применения. Я лишь могу дать понимание того, как это работает, дать отправную точку для тех, кто хотел бы разобраться с самим механизмом работы «мапперов». Можно даже сказать, что мы напишем свой велосипед.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments16

Свой конвертер JSON или ещё немного про ExpressionTrees

Reading time8 min
Views10K


Сериализация и десериализация — типичные операции, к которым современный разработчик относится как к тривиальным. Мы общаемся с базами данных, формируем HTTP-запросы, получаем данные через REST API, и часто даже не задумываемся как это работает. Сегодня я предлагаю написать свой сериализатор и десериализатор для JSON, чтобы узнать, что там «под капотом».
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments20

22 сайта для программиста, которые помогут заговорить на английском

Reading time3 min
Views130K
Хабр, привет!

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

Приступим!

Учить лексику


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

ЛеоПереводчик

С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments13

Музей DataArt. Лунолет и советские калькуляторы

Reading time4 min
Views22K

Микрокалькулятор «Электроника МК-85». Из коллекции Сергея Фролова

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

Основное направление коллекционирования для Сергея Фролова — советская цифровая электроника, в первую очередь — калькуляторы, среди которых есть уникальные образцы. О счетных устройствах из коллекции Музея DataArt мы рассказывали раньше.
Total votes 56: ↑56 and ↓0+56
Comments70

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity