Pull to refresh
125
0
Дмитрий Андриянов @dima117

Пользователь

Send message

Фронтенд, алгоритмы и опоссум Фридрих. Разбираем задачи конкурса Яндекса

Reading time 32 min
Views 31K
Этим постом мы завершаем серию публикаций о конкурсах Яндекс.Блиц в 2018 году. Надеемся, что вам довелось поучаствовать или хотя бы посмотреть, какие приближенные к продакшену задачи мы предлагаем. Последний контест был посвящен применению алгоритмов во фронтенде. Сегодня мы публикуем подробные разборы 12 задач: первые 6 из них предлагались в квалификационном раунде, а задачи 7–12 — в финале. Мы постарались объяснить, как формировались условия, на какие навыки мы обращали внимание. Спасибо всем участникам за проявленный интерес!



Задача 1


Первая задача должна была быть разминочной, на 20 минут, и мы решили сделать ее условие таким, чтобы она легко решалась с помощью регулярных выражений.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 16

ThinkingHome.Migrator — версионная миграция схемы базы данных на платформе .NET Core

Reading time 6 min
Views 5.9K

Привет! Сегодня я выпустил новую версию ThinkingHome.Migrator — инструмента для версионной миграции схемы базы данных под платформу .NET Core.


Пакеты опубликованы в NuGet, написана подробная документация. Вы уже можете пользоваться новеньким мигратором, а я расскажу, как он появился, почему у него номер версии 3.0.0 (хотя это первый релиз) и зачем он нужен, когда есть EF Migrations и FluentMigrator.

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 24

.NET Core 2.1 Global Tools

Reading time 7 min
Views 18K

Пару недель назад вышел .NET Core 2.1 RC1. Это первая версия SDK, где есть фича под названием "Глобальные утилиты .NET Core" (".NET Core Global Tools"). Она дает простой способ создания кросс-платформенных консольных утилит.



Мы познакомимся с основами использования .NET Core Global Tools и кратко посмотрим, что внутри. А еще вы можете скачать .NET Core 2.1 SDK и попробовать написать собственный пример.

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

Как руководить интровертами без вреда для здоровья

Reading time 5 min
Views 17K


Интроверты — застенчивы, молчаливы и замкнуты в своём мирке. Экстраверты дружелюбны, открыты, всегда готовы к общению. Это мнение обывателя.

В IT-сфере интроверты — привычное дело, поэтому стереотипов о них немного. Если коллега-админ предпочитает тишину и одиночество — его не обвинят в отрыве от коллектива. Все знают, что ему так комфортнее. Руководитель — первый человек, который должен это учитывать.
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 44

Создаем самодостаточный Docker-кластер

Reading time 12 min
Views 27K

Самодостаточная система — это та, которая способна восстанавливаться и адаптироваться. Восстановление означает, что кластер почти всегда будет в том состоянии, в котором его запроектировали. Например, если копия сервиса выйдет из строя, то системе потребуется ее восстановить. Адаптация же связана с модификацией желаемого состояния, так чтобы система смогла справиться с изменившимися условиями. Простым примером будет увеличение трафика. В этом случае сервисам потребуется масштабироваться. Когда восстановление и адаптация автоматизировано, мы получаем самовосстанавливающуюся и самоадаптирующуюся систему. Такая система является самодостаточной и может действовать без вмешательства человека.


Как выглядит самодостаточная система? Какие ее основные части? Кто действующие лица? В этой статье мы обсудим только сервисы и проигнорируем тот факт, что железо также очень важно. Такими ограничениями мы составим картину высокого уровня, которая описывает (в основном) автономную систему с точки зрения сервисов. Мы опустим детали и взглянем на систему с высоты птичьего полёта.


Если вы хорошо разбираетесь в теме и хотите сразу всё понять, то система изображено на рисунке ниже.


self-sufficient-system

Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 17

Yet another tutorial: запускаем dotnet core приложение в docker на Linux

Reading time 7 min
Views 18K


В один пасмурный летний день, после посещения секции от авито на РИТ2017, до меня вдруг дошло, что хайп по поводу докера не смолкает уже пару лет и пора, наконец, уже его освоить. В качестве подопытного для упаковки был выбран dotnet core+C#, т. к. давно интересно было посмотреть, каково это — разрабатывать на C# под Linux.

Предупреждение читателю: статья ориентирована на совсем новичков в docker/dotnet core и писалась большей частью, как напоминалка для себя. Вдохновлялся я первыми 3 частями Docker Get Started Guide и неким блог-постом на english. У кого хорошо с английским, можно читать сразу их и в общем-то будет сильно похоже. Если же после всего вышенаписанного вы еще не передумали продолжить чтение, то добро пожаловать под кат.
Итак, погнали!
Total votes 19: ↑18 and ↓1 +17
Comments 10

Как настроить Travis CI для проекта .NET Core + PostgreSQL

Reading time 4 min
Views 8.8K

Я расскажу о том, как настроить автоматический запуск модульных тестов в сервисе Travis CI для .NET Core проекта, в котором используется PostgreSQL.


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


Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 8

Натив или гибрид? Специалисты Яндекса отвечают на главный вопрос мобильной разработки

Reading time 11 min
Views 32K
Осталось буквально четыре дня до момента, когда мы закончим принимать заявки на участие во второй «Мобилизации» Яндекса. Она вновь объединит четыре летние школы для начинающих специалистов: Школу менеджмента, Школу мобильного дизайна, Школу разработки интерфейсов и Школу мобильной разработки под Android.



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

В мобильной разработке одни из самых горячих споров ведутся вокруг нативной и гибридной разработки. Мы решили дать трём преподавателям «Мобилизации» порассуждать на эту тему. Получилось небольшое интервью, которое может быть интересно как новичкам в разработке, так и тем, кто уже определился со своим выбором.
Читать дальше →
Total votes 49: ↑46 and ↓3 +43
Comments 38

Авторизация в ASP.NET Core MVC

Reading time 14 min
Views 85K

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 5

Создание сеток шестиугольников

Reading time 25 min
Views 95K
image

Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Читать дальше →
Total votes 92: ↑91 and ↓1 +90
Comments 25

Классические алгоритмы генерации лабиринтов. Часть 1: вступление

Reading time 8 min
Views 60K


Предисловие


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

Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева с одним заметным плюсом. ОСТОРОЖНО ТРАФИК.
Читать дальше →
Total votes 68: ↑68 and ↓0 +68
Comments 35

19 неожиданных находок в документации Node.js

Reading time 11 min
Views 45K
Мне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.

Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

image

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать дальше →
Total votes 82: ↑75 and ↓7 +68
Comments 72

Умный дом на .NET — релиз ThinkingHome 3.0

Reading time 4 min
Views 20K

Привет! Сегодня я наконец-то могу поделиться с вами результатами своей работы на протяжении последних двух лет! Вчера вечером я выпустил новую версию 3.0 системы управления умным домом ThinkingHome.



ThinkingHome — это программа (.NET Windows service), с помощью которой вы можете организовать на своем компьютере управляющий центр умного дома. Это центр, который дружит между собой "железки" с разными интерфейсами от разных производителей, позволяет автоматизировать работу с ними (писать скрипты на JavaScript) и управлять всем этим хозяйством через веб-интерфейс.


Под катом более подробное описание системы, список изменений в новой версии и небольшое объявление для тех, кто ненавидит Windows :)

Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 42

Electron: от мотивации до публикации

Reading time 11 min
Views 40K

— Хотел бы я иметь приложение, которое умеет что-то такое, что мне надо. Жаль такого нет.
— А почему бы тебе его самому не написать?
— Это сложно, мне потребуется куча времени, чтобы понять теорию, приступить к практике и, скорее всего, ничего хорошего не выйдет. А вообще я frontend-разработчик и привык к HTML, CSS и JS. Этот стек не позволяет писать десктопные приложения.
— Electron!

Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 46

«О вовлечении аудитории в свое выступление люди часто забывают» — интервью с Романом Поборчим, тренером по презентациям

Reading time 25 min
Views 6.7K


В новом выпуске «Без слайдов» моим гостем стал Роман Поборчий, эксперт по подготовке презентаций. Совсем недавно в нашем блоге вышла статья Романа с разбором доклада Сергея Куксенко на JPoint 2016. А теперь пора опубликовать интервью и с самим Романом. О чем же мы говорили?

  • Чем технический доклад на конференции принципиально отличается от лекции в университете на ту же тему?
  • Какие ошибки спикеров наиболее типичны?
  • В чём разница между выступлением со слайдами и без слайдов?

Под катом, как всегда, есть полная расшифровка интервью.


Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 4

Self-contained дистрибуция .NET Core приложений

Reading time 3 min
Views 29K

Если вы вдруг пропустили, то .NET теперь open source, а .NET Core это бесплатный, open source, кроссплатформенный фреймворк, который вы можете скачать и запустить за время <10 минут. Вы можете получить его на Mac, Windows и на пол-дюжине Unix-ов с сайта dot.net Попробуйте его вместе с бесплатной, кроссплатформенной Visual Studio Code и вы будете писать на C# и F# всегда и везде.
Читать дальше →
Total votes 44: ↑42 and ↓2 +40
Comments 19

Зачем нужен свободный код и как на нем зарабатывать

Reading time 5 min
Views 67K
Linux Torvalds
Мы наблюдаем бум свободных проектов. В основном, благодаря Гитхабу. 23 декабря 2013 года на сервисе был создан 10-миллионный проект. К 23 декабря 2015 года количество проектов более чем утроится: прямо сейчас на Гитхабе 28 миллионов проектов.

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

Но так как обычная работа программистов в конторах очень далека от open source, возникает вопрос, как кормиться (а желательно, и разбогатеть!), большую часть времени занимаясь свободными проектами.

Судя по последним вопросам на Тостере, у людей много ожиданий, но мало понимания в этой области. Поэтому я решил написать это эссе.

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


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

Вы выложили код. Чем вы помогли экономике в этот момент? Ничем, поэтому и миру вы пока ничем не помогли.

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

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

Синергетический эффект свободного кода


Читать дальше →
Total votes 89: ↑68 and ↓21 +47
Comments 108

Ричард Фейнман: Характер физического закона. Лекция #1. Пример физического закона — закон тяготения [Озвучка Vert Dider]

Reading time 1 min
Views 19K


Первая лекция из цикла Мессенджеровских чтений, проведенных Ричардом Фейнманом в 1964 году в Корнелльском университете. В этой лекции профессор Фейнман знакомит зрителей с законом тяготения в качестве примера физического закона, рассказывает об истории его открытия, а также о характерных чертах, отличающих его от других законов.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 9

Впечатления от тренингов Certified Scrum Master и Certified Scrum Product Owner

Reading time 10 min
Views 13K


Сегодня мы хотим поделиться впечатлениями от участия в тренингах Certified Scrum Master и Certified Scrum Product Owner от Innovel и ProCognita, которые проходили в Варшаве 29-30 июня и 1-2 июля соответственно. Здесь мы рассмотрим наиболее интересные с нашей точки зрения инструменты и техники, представленные на обоих тренингах, которые будут полезны как тем, кто делает свои первые шаги в SCRUM, так и уже имеющим некоторый опыт в применении гибких SCRUM в своих проектах. Мы оставили оригинальные названия упражнений, чтобы упростить поиск тем, кто впоследствии пожелает найти больше информации; кроме того, статья дополнена ссылками на англоязычные статьи, поясняющие суть некоторых упражнений.
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Comments 8

Средства домашней автоматизации. Теория и практика «Умных домов». Часть вторая

Reading time 7 min
Views 12K


Первая часть тут.

В данной статье я постараюсь описать функционал систем домашней автоматизации. Придумать конечно можно все что угодно. Да и на практике реализовать можно очень многое, но речь пойдет о стандартных функциях систем домашней автоматизации, о том что реально полезно и реально реализуемо на существующем оборудовании. Итак прошу под кат.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 16

Information

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