Pull to refresh
0
0
Mikhail Miliukov @grafstroganov

User

Send message

Это вопрос должен решать архитектор. Или нет?

Reading time15 min
Views26K
У меня есть некоторый опыт в реализации систем на базе микросервисной архитектуры и я хотел бы поделится вопросами (и ответами), которые возникают при реализации подобных проектов. К сожалению, я не имею права распространяться о проектах в которых я участвовал, поэтому я выдумал собственный сферический проект в вакууме. В этом проекте нам встретится множество стандартных проблем.

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

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

image
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments67

Пора в поход: собираем рюкзак

Reading time8 min
Views26K
Как за короткое время восстановиться после рабочей серой зимы и холодной весны, прийти в себя, забыть об усталости, расслабиться? Идеальный вариант — выбраться в поход с друзьями. Во-первых, это весело, во-вторых, полезно, наконец, это интересно. Несмотря на все сложности на пути, в походе можно приобрести душевное равновесие, пообщаться с друзьями, проверить свои силы. Это может быть выезд на природу на пару выходных, пеший переход по родному региону или захватывающий сплав на рафтах. Главное, быть готовым — настроиться, изучить маршрут и… собрать вещи. Третье, пожалуй, самое сложное. Мы попробовали разобраться, без чего туристы предпочитают не обходиться.
 

Читать дальше →
Total votes 35: ↑22 and ↓13+9
Comments116

Unit-тестирование средствами .NET

Reading time8 min
Views57K
Основная идея юнит (или модульного, как его еще называют) тестирования – тестирование отдельных компонентов программы, т.е. классов и их методов. Разрабатывать код, покрытый тестами, весьма полезно, потому что при их правильном использовании практически исключается возможность регресии в истории развитии программы – «что-то новое добавили, половина старого слегла». Также сейчас весьма модна методология разработки “TDD” — Test Driven Development. Согласно ей, программист вначале разрабатывает набор тестов для будущей функциональности, просчитывает все варианты выполнения, и лишь потом начинает писать непосредственно рабочий код, подходящий под уже написанные тесты.

Так как существование тестов в программе является не только подтверждением квалификации разработчика, но и зачастую требованием заказчика, я решил заняться этим вопросом и «пощупать» тесты вблизи.
Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments23

IoC, DI, IoC-контейнер — Просто о простом

Reading time4 min
Views445K
Думаю сейчас слова IoC, DI, IoC-контейнер, как минимум у многих на слуху. Одни этим активно пользуются, другие пытаются понять, что же это за модные веяния.

На данный момент, на эту тему уже довольно сказано, написано, в том числе и на хабре, но как раз из-за обилия информации сложно найти действительно полезный контент. Кроме того, данные понятия часто смешивают и/или путают. Проанализировав множества материалов я решил изложить вам свое видение предмета.
Читать дальше →
Total votes 41: ↑31 and ↓10+21
Comments28

Мой опыт обучения детей 8-10 лет программированию на Scratch

Reading time8 min
Views269K
Давно собирался написать об этом, но, модная болезнь прокрастинация брала вверх…

Знакомство со Scratch


Когда сыну Артёму исполнилось 7 лет и он пошел в школу, мы ему подарили компьютер, чтобы он не отставал от жизни. Несколько месяцев он играл в разные игры, наслаждался, развлекался и т.п. Мне стало немного обидно, что такой дорогой и сложный прибор как компьютер используется только для развлечений, и я решил придумать, как использовать компьютер для обучения. А чему можно научиться на компьютере? Конечно, программированию! Тут я и вбил в «Яндекс» заветную фразу «обучение детей программированию».
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments62

Удалённое включение компьютера бесплатно, без SMS и без облаков, с помощью Mikrotik

Reading time3 min
Views107K
… а также без проброса портов, SSH/telnet и установки сторонних приложений. С любого компьютера, подключённого к интернет и даже с телефона!

Периодически мне бывает нужно включить домашний компьютер, когда я нахожусь не дома. Обычно я не запаривался и звонил или отправлял сообщение с такой просьбой жене, которая сидит дома в декрете. Очень удобное средство удалённого управления с голосовым интерфейсом. Однако у этого способа есть ряд недостатков — ушла гулять, укладывает ребёнка, или ещё чем либо занята. Хотелось простого решения из того что есть под рукой.
Тыкни меня!
Total votes 30: ↑24 and ↓6+18
Comments69

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server?

Reading time33 min
Views48K

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

Про бывшего клиента Джозефа из Англии, который переосмыслил жизнь, за время отпуска в Таиланде, и в моем скайпе стал подписываться Жозефиной. Про веселых соседей по офису, с которыми приходилось сидеть в одной комнате: один страдал от аллергии на свежий воздух, а другой маялся от неразделенной любви к С++ дополняя это аллергией на солнечный свет. Один раз по команде свыше пришлось на время стать Александром отцом двух детей, чтобы изображать из себя обросшего скилами сениора по JS.
Подробнее
Total votes 76: ↑73 and ↓3+70
Comments48

Чек-лист вёрстки

Reading time7 min
Views81K

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

Читать дальше →
Total votes 92: ↑87 and ↓5+82
Comments47

WCF REST сервисы и UWP приложения

Reading time8 min
Views11K

Довольно частый вопрос, который возникает у тех кто пробует разрабатывать под UWP это «Как UWP приложению получить данные из базы данных SQL Server?». Напрямую данные получить нельзя. Работа с базами данных у UWP приложений требует настроенного веб-сервиса.

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

Под катом описание того как создать локальный WCF REST сервис и получить от него данные приложением UWP. Сервис сможет получать данные из базы данных SQL Server, созданной в Azure (но аналогично можно получить данные и из любой локальной базы). Дополнительно, чтобы все не выглядело сильно банально, будет рассмотрена возможность размещения самого сервиса в Azure для работы с ним из все того же клиентского UWP приложения.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments34

Инструкция по публикации Android-приложения в Google Play

Reading time12 min
Views381K
Вслед за инструкцией по публикации приложения в App Store выкладываем внутренний свод правил Лайв Тайпинг по публикации приложений в Google Play, составленный отделом менеджеров при активном участии тимлида отдела Android-разработки Александра Мирко. Вне зависимости от того, насколько ты крутой и опытный проджект-менеджер, всегда есть шанс забыть что-нибудь. Эта инструкция призвана облегчить вам жизнь.

Итак, что нужно сделать PM`y в ходе публикации:

  1. Создать аккаунт в Google Play Developer Console для заказчика, если у заказчика такового нет, или предложить произвести публикацию с нашего аккаунта.
  2. Оформить privacy policy.
  3. Подготовить маркетинговые материалы (иконка, скриншоты, APK, баннер, текст, проморолик).
  4. Обеспечить сборку наличием сертификата цифровой подписи.
  5. Настроить оплату за пользование приложения.
  6. Отправить сборку в Google Play.

Все подробности — под катом.

UPD от 25.04.2017: добавлены разделы про альфа- и бета-тестирование и поэтапное внедрение, дополнены разделы «Обеспечение сборки наличием цифровой подписи» и «Технические требования к apk-файлу», сделано замечание про ASO и внесены косметические правки.


Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments15

Что думают ваши смартфоны про автомобильные USB-зарядки

Reading time5 min
Views85K
Наверняка многие подметили, что отдельные автомобильные зарядки заряжают смартфоны медленнее, чем сетевые ЗУ. Особенно это касается дешевых моделей. При этом в них можно ткнуть тестером с тарированной нагрузкой и убедиться, что свои положенные вольты и амперы они выдают исправно.



Причин тому две. Но сначала несколько слов о зарядке «литий-иона», логике работы контроллеров в смартфонах и вранье китайских производителей зарядок.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments140

О чём говорят мужчины? Версия подарочная

Reading time6 min
Views10K
Мужской диалог в одном действии

Помните стихотворение? Кто на лавочке сидел, кто на улицу глядел, Толя пел, Борис молчал, Николай ногой качал… В нашей компании есть Толя, врач по жизни и ресторатор в душе, сисадмин Миша, программист языка С Иван, строитель Максим, врачи Илья и Стас и я, инженер с боссом-ВДВ-шником и днём рождения 23 февраля. Собрались мы пару новых фильмов посмотреть, а потом разговорились о планах на 23 февраля, о том, как и отдохнуть, и друзей не обделить, и детьми заняться, и о самом больном месте — подарках. Какая боль, какая боль, счёт носки — что-то полезное пять-ноль.

Читать дальше →
Total votes 46: ↑25 and ↓21+4
Comments8

Как найти партнера для практики английской речи бесплатно

Reading time5 min
Views63K
Итак, в данной статье речь пойдет о том, как найти себе native speaker для практики разговорной речи бесплатно.

image

Расскажу небольшую предысторию: год назад, передо мной встал вопрос о том, как найти кого-нибудь для практики разговорной речи. Я проанализировала много вариантов, таких как, обмен языком с жаждущими выучить Русский язык (сразу скажу, таких желающих очень мало), найм репетитора(минус в том, что он как правило не native speaker), поход на курсы(минус группового обучения), различные сервисы, предлагающие уроки с нативами(довольно дорого в пересчете фунты/доллары на рубли),… Но! У всех этих вариантов есть один САМЫЙ большой недостаток — они платные, а цель стояла подтянуть разговорную речь абсолютно бесплатно.
Читать дальше →
Total votes 72: ↑49 and ↓23+26
Comments76

Все лучшее — в детях, или Как найти вдохновение

Reading time17 min
Views6K


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

Поэтому мы стали экспериментировать. Решили зайти с понятной для нас тематикой — провели первенство по робототехнике. Годом раньше мы делали первый в РФ конкурс дронов для взрослых, поэтому решили двигаться по знакомой территории. Всё получилось: мы провели феерический день в обществе трехсот юных робототехников, и они, и мы, и учителя были довольны, появились единомышленники и фидбек. Стало легче работать: появилась игра «ИТ-проект» про разработку устройства голосования для инопланетян — сюжет фантастический, проектные задачи — реальные. Появились экспедиции на наши техплощадки, потом — инженерный мастер-класс с конструктором дата-центра и роботехнические хакатоны на «Ардуино», проект «Роболабы»…

Но главной работой в итоге стала «Школа IT-решений» — наше совместное детище с проектами И-КУБ и «Школа новых технологий». Это «школьный IT-проект», когда команды учеников, а с ними студенты-тьюторы и учителя собираются, чтобы делать что-то реально полезное в ИТ для школы. А мы помогаем процессу и приглашаем IT-экспертов из КРОК и наших друзей из других компаний — всех, кого вдохновляет идея поделиться сакральным знанием с боевыми ребятами. Здесь нас поддерживают наши партнёры – компании коллеги по отрасли…

Что уже делали дети? Делали систему автозаполнения документов для горячего питания (в школе была сложная многоходовка по передаче заявок на питание), делали чатбота, чтобы узнавать расписание в привычном интерфейсе «а что делать на завтра», и т.д. Одна конкретная задача — одно конкретное решение.

И начался забег по граблям. Появился специальный курс для студентов по проект-менеджменту, появились тренинги для детей по тестированию, проектированию интерфейсов и ещё много всего.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments0

Конференция по Asterisk 27 августа. В Москве и в ОнЛайне

Reading time1 min
Views3.2K
Друзья, всем привет! Через несколько дней состоится ежегодная конференция по Asterisk.

image

На конференции неизбежно будет масса полезного контента, причем, упакованного в форму DIY (Do It Yourself). Каждый спикер предоставит вам инструкцию, как самостоятельно реализовать функционал, описанный в докладе.

Сама конференция будет проходить одновременно в двух форматах в двух залах: в большом будет идти конференция, а в малом — мастер-классы.

Регистрация на сайте. Мест немного, поэтому если желаете участвовать — регистрируйтесь сейчас. До встречи на конференции!
Total votes 19: ↑19 and ↓0+19
Comments8

Определение региона по номеру телефона в Asterisk без использования БД

Reading time4 min
Views10K


Для многих компаний, работающих по всей стране, бывает очень важно знать, из какого региона именно поступил каждый входящий звонок, например, для оценки эффективности маркетинговой кампании по интересующим регионам. Конечно, можно заставить операторов call-центра уточнять эту информацию у звонящего каждый раз, но все же удобнее получать такую информацию в автоматическом режиме.
Кроме того, при осуществлении исходящих вызовов бывает важно звонить именно с номера того региона, где находится клиент. Можно, конечно, составить исходящие маршруты, но при количестве регионов более трех, да еще и с учетом мобильных номеров, конструкция получается монструозной.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments14

Если бы программисты делали блины (по кошерным методологиям)

Reading time3 min
Views73K

Waterfall


Заказчик сообщает, что хочет блинов. Компания выделяет проджект менеджера, который говорит: «Говно вопрос! Наша компания специализируется по производству блинов! Мы сделаем вам офигенских блинов за две тысячи человеко-часов!»

Далее начинается аналитическая фаза. Бизнес-аналитик берет эксперта, и они денно и нощно заседают в офисе заказчика, потребляют халявный кофе и пончики, а также тщательно записывают бизнес-требования вплоть до толщины блинной корочки с точностью до микрона. Документы записываются на фирменных бланках компании, после чего заверяются подписью директора компании-заказчика, директора компании-исполнителя, стороннего консультанта по блинному производству, а также печатью Папы Римского. После окончания аналитической фазы на проект остается 1000 часов.
Читать дальше →
Total votes 109: ↑85 and ↓24+61
Comments41

Z-Wave замок в помощь небольшому офису или дому

Reading time4 min
Views12K


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

Есть множество профессиональных СКУД, где с помощью карточки можно открыть дверь, но в таком случае требуется врезание в дверь специального механизма, подведение проводов питания, установка считывателя в стену. Это не очень дешево и иногда такую систему невозможно установить, например если арендатор не разрешает вносить изменения в отделку или в здании, представляющем историческую ценность.

На помощь приходят устройства из умного дома Z-Wave!

Устройства системы контроля доступом


  1. Замок Vision на батарейках, устанавливается на место существующего дверного замка. Замок всегда сообщает о изменении своего состояния, как бы вы его не открыли: радио-командой, кодом или ключом.

    Характеристики замка Vision:
    1. Возможность открыть Z-Wave командой (шифрование AES128), с помощью кодовой панели и обычного ключа
    2. Если открыть ключом или защелкой, сообщает на контроллер о своем состоянии «открыт/закрыт»
    3. Сообщает на контроллер номер кода, которым открыли дверь
    4. Ведет журнал событий. Если неправильно вводили код, вы узнаете об этом
    5. 13 кодов
    6. Работа от батареек 4xAA до года (зависит от того как часто используется замок)

    В комплекте с Z-Wave контроллером RaZberry и датчиком открытия возможно использовать функции Автозакрытия, Удаленного управления, Логирования событий и многие другие.


Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments68

Как узнать, достаточен ли ваш уровень английского для работы за границей

Reading time5 min
Views21K
Этот вопрос весьма актуален для тех, кто желает найти работу заграницей, но не уверен на счет своих знаний английского. У меня такой вопрос не стоял, так как первая моя специальность «переводчик с английского и немецкого». Но уже первая моя статья о переезде заграницу вызвала множество комментариев на тему знаний языка. Об этом говорили практически все. Когда я отвечал, что я по первой специальности переводчик, мне отвечали: «ну вот! Теперь все понятно!». Когда я пожил заграницей какое-то время, пообщался с другими людьми, теперь я могу сказать вам точно — не обязательно быть переводчиком, чтобы найти работу там. Ниже я предоставляю вам опыт моей жены, которая НЕ переводчик и по-английски говорила исключительно на бытовом уровне, когда мы переехали. Вот как она справилась с этой задачей, и сколько времени это у нее заняло. Возможно, найдете для себя что-то интересное. Далее повествование пойдет «от первого лица», а именно, от лица моей жены.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments4

Что нового в Windows Server 2016 RDS. Часть 1

Reading time7 min
Views100K
Автор статьи — Роман Левченко (www.rlevchenko.com), MVP — Cloud and Datacenter Management

Выход Windows Server 2016 всё ближе и ближе, и мы продолжаем рассматривать самые главные нововведения очередного релиза. Речь сегодня пойдет об одной из наиболее востребованных ролей – службы удаленных рабочих столов или RDS (Remote Desktop Services).
Прежде чем погружаться в мир нового, рекомендую ознакомиться со списком тех возможностей, которые предоставляют Windows Server 2012/2012 R2. Если все в теме, то вернемся к главному и подробно рассмотрим непосредственно WS 2016 RDS.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments17

Information

Rating
4,933-rd
Location
Berlin, Berlin, Германия
Date of birth
Registered
Activity