Как стать автором
Обновить
9
0
Евгений Масловский @kubik_rubic

Разработчик .NET

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

Киберпанк 2020: как развивался жанр с появления до наших дней

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


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


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


Я люблю киберпанк уже почти двадцать лет (с тех пор, как в школе попался в руки журнал «Навигатор игрового мира» с текстом про него), когда-то зачитывался Уильямом Гибсоном — поэтому теперь захотел собрать воедино всё, что знаю и думаю по теме.

Читать дальше →
Всего голосов 39: ↑36 и ↓3+48
Комментарии99

Солнечная электростанция на балконе. Личный опыт

Время на прочтение11 мин
Количество просмотров84K
Привет, Хабр.

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


Фото (с) smartflower.com

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

Для тех, кому интересно, как это работает, продолжение под катом.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии272

Полная домашняя автоматизация в новостройке

Время на прочтение8 мин
Количество просмотров219K
Три года назад стал претворять свою давнюю мечту в реальность — максимальная домашняя автоматизация квартиры, купленной в новостройке с нуля. При этом «отделку от застройщика» пришлось принести в жертву умному дому image и полностью переделать, а вся электрика, не связанная с автоматикой приехала с известного китайского сайта. Паяльник не потребовался, но знающих мастеров, электриков и плотников пришлось искать долго.


Панель управления квартирой в феврале 2020 года (Home Assistant)

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


Строительство нашего дома в процессе — ноябрь 2016 года
Умный дом в самом соку...
Всего голосов 104: ↑101 и ↓3+132
Комментарии514

Как проводить Code Review по версии Google

Время на прочтение5 мин
Количество просмотров129K
Вопросы код-ревью меня интересуют очень давно. Много раз возникали те или иные проблемы то с качеством кода, то с климатом в коллективе. И действительно, code review — это если не единственное, то одно из самых главных мест для возникновения конфликтов в коллективе разработчиков.

И вот недавно при подготовке к очередному выпуску подкаста "Цинковый прод" я узнаю, что Google опубликовал свод правил по проведению Code Review, битком набитый ценными мыслями. Весь материал довольно объемный и не влезет в одну статью, поэтому я постараюсь выделить наиболее интересные (мне) мысли.


Итак, поехали

Читать дальше →
Всего голосов 154: ↑147 и ↓7+140
Комментарии134

Десяток Книг по Agile, Которые Точно Понадобятся Менеджеру Проекта в 2020 Году

Время на прочтение6 мин
Количество просмотров33K
Профессиональная литература с термином «Agile» в названиях стала появляться на полках IT-экспертов после 2001 года, когда термин был использован во время представления Манифеста Agile.

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

image
Всего голосов 18: ↑11 и ↓7+4
Комментарии2

27 удивительных инструментов VS Code для современных JavaScript-разработчиков

Время на прочтение10 мин
Количество просмотров40K
Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов разработки — вроде TypeScript и отладчика Chrome. Это, а также то, что к нему написано невероятное количество опенсорсных расширений, делает VS Code весьма популярным и любимым многими редактором.



Если вы хотите добавить в свой арсенал JavaScript-программиста что-то новое — автор материала надеется, что вы встретите здесь что-нибудь такое, что вам пригодится. Не все из рассмотренных здесь двадцати семи инструментов предназначены исключительно для JS-разработки. Но все они с успехом могут применяться теми, кто пишет на JavaScript.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии19

Ищем свободное парковочное место с Python

Время на прочтение14 мин
Количество просмотров64K
image

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

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

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

image

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

Поэтому давайте немного развлечёмся и напишем точную систему уведомлений о свободной парковке с помощью Python и глубокого обучения
Читать дальше →
Всего голосов 110: ↑107 и ↓3+104
Комментарии53

14 новинок в Visual Studio 2019

Время на прочтение2 мин
Количество просмотров50K
Всем привет! На связи команда по улучшению продуктивности в .NET (aka. Roslyn). Мы много внимания уделяем улучшению вашего опыта .NET-кодинга. Ведь иногда небольшие дополнения и исправления действительно могут улучшить рабочий процесс. Возможно вы уже видели некоторые улучшения в превью-версиях VS2019. Но мы все равно хотим рассказать о некоторых из них, которые должны помочь вам работать продуктивнее.

Осторожно, много гифок.

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии48

Git снизу вверх

Время на прочтение27 мин
Количество просмотров127K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →
Всего голосов 104: ↑102 и ↓2+100
Комментарии32

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3+213
Комментарии163

Корректный ASP.NET Core

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

Корректный ASP.NET Core


Специально для любителей книг из серии "С++ за 24 часа" решил написать статью про ASP.NET Core.


Если вы раньше не разрабатывали под .NET или под какую-то аналогичную платформу, то смысла заходить под кат для вас нет. А вот если вам интересно узнать что такое IoC, DI, DIP, Interseptors, Middleware, Filters (то есть все то, чем отличается Core от классического .NET), то вам определенно есть смысл нажать на "Читать дальше", так как заниматься разработкой без понимания всего этого явно не корректно.

Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии10

Как делать email-рассылки и не косячить: практические советы

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

У разработчика, который впервые столкнулся с генерированием электронных писем, практически нет шансов написать приложение, которое будет делать это корректно. Около 40 % писем, генерируемых корпоративными приложениями, имеют те или иные нарушения стандартов, и, как следствие, проблемы с доставкой и отображением. На это есть причины: электронная почта технически гораздо сложнее, чем веб, работа почты регулируется несколькими сотнями стандартов и несчетным количеством общепринятых (и не очень) практик, а почтовые клиенты отличаются разнообразием и непредсказуемостью. Тестирование может заметно улучшить ситуацию, но материалов, посвященных тестированию почты, практически нет.

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


Читать дальше →
Всего голосов 62: ↑58 и ↓4+54
Комментарии19

Как накатывать обновления в продакшн автоматически

Время на прочтение8 мин
Количество просмотров7.8K
Запуск новой версии в боевую эксплуатацию — всегда нервное мероприятие. Особенно если процесс включает в себя множество ручных операций. Человеческий фактор — страшная штука. “Хорошо бы этот процесс автоматизировать” — эта идея стара как весь ИТ-мир. И термин для этого есть — Continuous Deployment. Да вот беда, нет единственно верного способа настроить этот continuous deployment. Очень сильно сей процесс завязан на технологический стек проекта и на его окружение.

В этой статье я хочу поделиться практическим опытом настройки автоматического обновления системы без прерывания ее работы для конкретного технологического окружения, а именно: веб приложение на ASP.NET MVC + Azure SQL + Entity Framework в режиме Code First, развернуто приложение в Azure в виде App Service, а сборка и развертывание выполняются через Azure DevOps (бывший Visual Studio Team Services).

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

Три года аттестаций без руководителей — полёт нормальный

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


Наше подразделение работает без руководителей с конца 2015 года. Сами решаем, кому и сколько платить, кто поработал хорошо, а кто не очень, кого нанять, а с кем расстаться. В статье расскажу про самое сложное — работу с людьми. Поделюсь тем, как у нас инженеры аттестуют инженеров, кто теперь делает всю ту полезную работу, которую делали руководители и, конечно же, сколько человек пришлось уволить, чтобы это всё внедрить.
Инженеры могут всё
Всего голосов 70: ↑62 и ↓8+54
Комментарии148

Как мы настольную игру с удаленным управлением сделали

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

Сегодня я хочу рассказать вам о том, как мы с другом решили создать свою настольную игру, но не простую, а “умную”.

image

Вторую часть можно найти тут: ссылка

Внимание! Много картинок дальше.

Читать дальше →
Всего голосов 124: ↑124 и ↓0+124
Комментарии83

Обзор техник реализации игрового ИИ

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

Введение


Эта статья познакомит вас с широким диапазоном концепций искусственного интеллекта в играх («игрового ИИ»), чтобы вы понимали, какие инструменты можно использовать для решения задач ИИ, как они работают совместно и с чего можно начать их реализацию в выбранном движке.

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

Что же такое «игровой ИИ»?


Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

  • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
  • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
  • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
  • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии15

Особые исключения в .NET и как их готовить

Время на прочтение17 мин
Количество просмотров34K
У разных исключений в .NET есть свои особенности, и знать их бывает очень полезно. Как обмануть CLR? Как остаться в живых в рантайме, поймав StackOverflowException? Какие исключения перехватить вроде бы нельзя, но если очень хочется, то можно?



Под катом расшифровка доклада Евгения (epeshk) Пешкова с нашей конференции DotNext 2018 Piter, где он рассказал про эти и другие особенности исключений.
Всего голосов 51: ↑50 и ↓1+49
Комментарии0

Робот-пылесос на ардуино

Время на прочтение5 мин
Количество просмотров80K
Несмотря на то, что на geektimes уже есть несколько статей про роботы-пылесосы на ардуино тут и тут, Думаю не будет лишним опубликовать еще один проект. Тем более он сделан чуть ближе к магазинным образцам и, поскольку проект постоянно продолжает развиваться, со временем превзойдет по функционалу некоторые из них. Данный пост я публикую с разрешения разработчика этого робота-пылесоса, поскольку у автора нет возможности публиковать статьи со своего аккаунта. Поэтому статья будет в форме небольшого интервью с создателем вперемешку со схемами, фото и кодом робота-пылесоса. Но начнем с видеодемонстрации уборки комнаты этим пылесосом.


Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии8

Система рекомендаций интернет магазина на основе методов машинного обучения в Compute Engine (Google Cloud Platform)

Время на прочтение16 мин
Количество просмотров15K
С помощью сервисов Google Cloud Platform можно создать эффективную масштабируемую систему рекомендаций для интернет-магазина.

На рынке интернет-торговли сложилась интересная ситуация. Хотя общий денежный поток вырос, увеличилось и количество продавцов. Это привело к тому, что доля каждого магазина уменьшилась, а конкуренция между становится все напряженнее. Один из способов увеличить средний размер покупки (а значит, и прибыль) – предлагать покупателям дополнительные товары, которые могут их заинтересовать.

Из этой статьи вы узнаете, как на базе Cloud Platform настроить среду для поддержки базовой системы рекомендаций, которую со временем можно будет доработать и расширить.

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


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Подводные камни HttpClient в .NET

Время на прочтение9 мин
Количество просмотров93K
Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.

Достаточно частая проблема в программировании — то, что разработчики сфокусированы только на функциональных возможностях того или иного компонента, при этом совершенно не учитывают очень важную нефункциональную составляющую, которая может влиять на производительность, масштабируемость, легкость восстановления в случае сбоев, безопасность и т.д. Например, тот же HttpClient — вроде бы и элементарный компонент, но есть несколько вопросов: сколько он создает параллельных соединений к серверу, как долго они живут, как он себя поведет, если DNS имя, к которому обращался ранее, будет переключено на другой IP адрес? Попробуем ответить на эти вопросы в статье.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии12

Информация

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