Pull to refresh
7
0
Александр @AIexandr

Разработка под .Net и для Android

Send message

Тестирование в рамках SCRUM. Тернии, грабли и успехи

Reading time 10 min
Views 47K
SCRUM — фреймворк управления проектами, в который наша команда попробовала внедрить этап тестирования. В этой статье мы хотим помочь не совершить наших ошибок тем командам, которые только начинают знакомиться со SCRUM. Участники же опытных SCRUM-команд приглашаются в комментарии, чтобы поделиться замечаниями и успехами. А в качестве иллюстраций — беговые дорожки, марафонцы, препятствия. Они тут неспроста. Да и Олимпиада же, в конце концов.


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 10

Автопилот своими силами. Часть 1 — набираем обучающие данные

Reading time 7 min
Views 23K

Привет, Хабр. Это пост-отчет-тьюториал про беспилотные автомобили — как (начать) делать свой без расходов на оборудование. Весь код доступен на github, и помимо прочего вы научитесь легко генерить такие класные картинки:


SLAM trajectory + map example


Поехали!

Читать дальше →
Total votes 48: ↑45 and ↓3 +42
Comments 41

Согласованные в конечном счете (Eventually Consistent)

Reading time 12 min
Views 39K
В последнее время на хабре чаще стали встречаться обсуждения масштабируемых систем и NoSQL решений. Эта статья, написанная техническим директором Amazon — одна из лучших вводных, на мой взгляд, показывающая, какие проблемы возникают при построении масштабируемых систем, что нужно учесть при выборе инструментария, что имеют ввиду авторы кассандры, говоря про обеспечение AP в кассандре и CP в HBase и многое другое.
Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Comments 11

Инфраструктура онлайн игры

Reading time 19 min
Views 36K

image


Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.

Неужели всё так сложно?
Total votes 47: ↑45 and ↓2 +43
Comments 47

Разработка электроники: от идеи до устройства

Reading time 12 min
Views 72K


Сейчас намного проще найти финансирование для своего проекта, проводятся стартап-аллеи, краудфандинговые платформы пестрят новинками. Ардуино приблизило мечтателей к заветной славе. IoT технологии взяли свое и IT фирмы поняли, что не кодом единым можно жить. Не редкое явление, когда hardware проектом руководят люди, которые несколько далеки от электроники. И еще чаще они думают, что жизненный цикл software-проекта аналогичен жизненному циклу hardware-проекта. Увы, это не так.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 39

Собеседование разработчика

Reading time 5 min
Views 61K
Техническое собеседование – практически неотъемлемый атрибут трудоустройства любого разработчика, а для старших разработчиков – проведение их (собеседований) ещё и чуть ли не повседневная обязанность. Но как за короткий срок (в идеале 20-30 минут) составить у себя более менее приемлемое представление о реальном опыте соискателя?

Читать дальше →
Total votes 79: ↑60 and ↓19 +41
Comments 144

Вопросы на собеседование middle/senior iOS Developer

Reading time 4 min
Views 128K
Все мы ходили/ходим на собеседования. Каждый раз при подготовке к очередному собеседованию просматриваем основные темы, вспоминаем вопросы, которые нам задавали в предыдущие разы, или вопросы, которые сами задавали. Ниже хочу представить основные вопросы, которые часто (основано на личном опыте) можно получить на собеседовании на должность middle/senior iOS Developer. Так сказать, шпаргалка. Заодно можно проверить свой уровень знания платформы.
Список вопросов
Total votes 45: ↑34 and ↓11 +23
Comments 60

Re: Собеседование разработчика (альтернатива/дополнение)

Reading time 6 min
Views 57K
Не мог пройти мимо топика "Вопросы на собеседование middle/senior iOS Developer" и статьи "Собеседование разработчика". Хочу предложить альтернативный или дополнительный подход к собеседованию разработчиков.

Разбор говнокода или сотня разношерстных вопросов на листочке — это, конечно, прекрасно, но если это единственный этап собеседования, то это вызывает желание спросить что-то вроде: «Вы серьезно?»

Вы не устали от того, что на собеседованиях на конкретную позицию разработчика вас спрашивают достаточно сильно оторванную от жизни фигню, которую хочется поскорее забыть после такого собеседования (режим nightmare — это тест на 150+ вопросов и психолог в конце)? Я не отрицаю, что оценивать качество кода — это очень важно, но оценивать качество какого-то конкретного куска и делать по нему большие выводы — это точно неправильно.

К тому же, слишком много так называемых разработчиков не имеют никакого понятия о том, как строить архитектуру приложения, как грамотно разделить компоненты на модули, как внести гибкость для последующих изменений проекта. А вопросы подобные вопросам из топика "Вопросы на собеседование middle/senior iOS Developer" не дадут вам понять, насколько человек хорошо применяет свои знания при реализации проекта.

Что ты предлагаешь, чувак?

Давайте рассмотрим на примере android разработчика (адаптировать можно для любой области, но вы же понимаете, что без конкретики эту статью просто раскритиковали бы, так что поговорим об android).

Что я предлагаю: берем популярное, большое (в плане функционала) и сложное (в плане реализации) приложение и беседуем насчет того, как кандидат бы его сделал!

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

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

Для примера, возьмем приложение Вконтакте для android (оно большое, сложное и многим знакомое).
Читать дальше →
Total votes 65: ↑55 and ↓10 +45
Comments 35

Почему я покинул Ubisoft — работу своей мечты

Reading time 8 min
Views 59K
Вольный перевод статьи gingearstudio.com/why-i-quit-my-dream-job-at-ubisoft от бывшего разработчика из Ubisoft.

Вступление



2005 год, я помню как начальство спросило меня, где я вижу себя через 10 лет, на что я ответил, что вижу себя в роли software-архитектора крупнейших AAA-класса гейм-проектов. Мечта стала реальностью буквально через несколько лет, когда я начал работать над проектом Assassin’s Creed Syndicate в роли, как вы уже догадались, software-архитектора. И вот, казалось бы, наконец, моя мечта быть причисленным к числу тех самых крутых, высокоуважаемых гейм-разработчиков, становится реальностью в процессе работы над престижнейшей игровой франшизой.

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

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

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

Читать дальше →
Total votes 61: ↑54 and ↓7 +47
Comments 67

Новый программерский жаргон

Reading time 7 min
Views 50K
Посетителям сайта stackoverflow.com был задан вопрос: «Какие программерские термины вы придумали, так чтобы они стали популярны в ваших кругах (то есть вы слышали, что кто-то их повторяет)?

Ниже — вольный перевод самых популярных ответов.

Читать дальше →
Total votes 411: ↑373 and ↓38 +335
Comments 193

Игровая индустрия: полезные материалы для геймдевелопера от A до Z

Reading time 10 min
Views 160K
В последнее время мы часто сталкиваемся с вопросами о том, как попасть в игровую индустрию, какие полезные материалы на эту тему можно почитать и посмотреть, с чего начать изучение геймдева. Когда начальные знания появляются, то возникают уже более конкретные вопросы, например «где найти единомышленников для создания игры», «как продвигать свой проект с минимальным бюджетом», «на каких издателей стоит выходить, как это делать и стоит ли вообще», «как улучшить ретеншн в нашей игре» и так далее.

Друг наших образовательных программ Михаил Пименов,  CEO компании Wonder Games и Team Lead инди-проекта "Guard of Wonderland" сам не раз задававший себе эти вопросы, создал для себя выборку всевозможных материалов по индустрии геймдева. От полезных ресурсов, до сообществ, подкастов, книг и фильмов, которые призваны помочь понять, с чего начинается и чем заканчивается разработка игрового проекта. Объединив наши силы, мы с Мишей сделали эту статью с подборкой полезных материалов по игровой индустрии. Вы найдете подборку под катом.


Читать дальше →
Total votes 58: ↑54 and ↓4 +50
Comments 26

Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е

Reading time 17 min
Views 24K


Олег Бартунов (zen), Александр Коротков (smagen), Федор Сигаев


Илья Космодемьянский: Сейчас будет самая животрепещущая тема по PostgreSQL. Все годы, что мы занимаемся консалтингом, первое, что спрашивают люди: «Как сделать мультимастер-репликацию, как добиться волшебства?». Много профессиональных волшебников будут рассказывать о том, как это сейчас хорошо и здорово реализовано в PostgreSQL — ребята из Postgres Professional в рамках этого доклада расскажут про кластер все. Название соответствующее — «Сага» — что-то эпическое и монументальное. Сейчас ребята из Postgres Professional начнут свою сагу, и это будет интересно и хорошо.

Итак, Олег Бартунов, Александр Коротков и Федор Сигаев.
Total votes 51: ↑49 and ↓2 +47
Comments 9

Google запускает настоящий карпулинг, который уничтожит профессиональных таксистов (22 рубля за километр)

Reading time 5 min
Views 49K

Карпулинг значительно уменьшит количество машин на дорогах. Фото: NUI Galway Car Share / Aengus McMahon

Мировой лидер в разработке беспилотных автомобилей — компания Google — практически готова вывести на рынок машины, которые навсегда изменят мир. Наши привычки, образ жизни, облик городов — всё это изменится, когда робокары придут на смену водителям-людям.

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

Google считает, что можно сразу сделать и второй шаг. Такси в принципе не нужны, если грамотно реализовать информационную систему карпулинга, то есть совместного использования автомобилей. Тогда профессия таксиста исчезнет за ненадобностью ещё раньше, чем появятся беспилотные автомобили.
Читать дальше →
Total votes 47: ↑42 and ↓5 +37
Comments 395

Стряхнём пыль с глобуса: проверяем проект NASA World Wind

Reading time 21 min
Views 9.4K
PVS-Studio and NASA World WindИногда полезно оглянуться и посмотреть, как мог помочь анализатор в старых проектах, и каких ошибок можно своевременно избежать, если использовать анализатор регулярно. В этот раз выбор пал на проект NASA World Wind, который до 2007 года разрабатывался на языке C#.

NASA World Wind — это интерактивный глобус, позволяющий увидеть любое место на Земле. Для работы проект использует базу публичных снимков со спутника Landsat и проект моделирования рельефа Shuttle Radar Topography Mission. Первые версии проекта создавались на языке С#. Позже проект продолжил своё развитие на языке Java. Последняя выпущенная на C# версия — 1.4. Хотя C# версия уже много лет как заброшена, это не помешает нам проверить проект и оценить качество кода, разработчиком которого является NASA Ames Research Center.

Зачем мы проверили старый проект? Нам давно предлагали проверить что-то из проектов NASA и вот мы случайно набрели на этот проект. Да, эта проверка не принесёт никакой пользы проекту. Но такой цели в этот раз мы и не ставили. Мы просто хотели в очередной раз продемонстрировать пользу, которую может приносить статический анализатор кода PVS-Studio при разработке, в том числе и компании NASA.

Читать дальше →
Total votes 36: ↑30 and ↓6 +24
Comments 5

Наши грабли в запуске hardware-стартапа — поиск бизнес-модели и разработка MVP в сфере «интернет вещей»

Reading time 10 min
Views 15K
image

Дисклаймер:
Internet of Things — круто, занятно и на гребне волны мировых трендов. О том, как пройтись по граблям, утопить на проект средств на покупку маленького парка иномарок, что есть MVP и какое он имеет отношение к железу, как программист становится продавцом — под катом.

— Привет, меня зовут Александр, и я стартапер.
— Привет, Александр, — нестройно ответил зал.

Видя явные затруднения, руководитель центра анонимных стартаперов предложил рассказать с самого начала. Наверное так начинался бы мой первый день, существуй подобное заведение в действительности. Я последую совету и начну действительно с начала.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 20

Исследование защищенности карты Тройка

Reading time 18 min
Views 202K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

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

В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты.

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

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

Читать дальше →
Total votes 380: ↑374 and ↓6 +368
Comments 348

Большое интервью Саймона Данлопа — основателя Dream Industries: как вывести российские ИТ-продукты на мировой рынок

Reading time 13 min
Views 10K


Саймона Данлопа (Simon Dunlop) можно смело назвать российским предпринимателем английского происхождения. Этот человек, к настоящему моменту, достаточно серьезно повлиял на ИТ-индустрию нашей страны. Он уже подтвердил и продолжает это доказывать, что российские ИТ-продукты могут успешно конкурировать с западными не только у себя дома, но и в гостях — за границей.

Иногда кажется, что он понимает русский бизнес-менталитет лучше, чем мы сами. Это, возможно, главная причина успеха его проектов в России. Узнав, что Саймон не против пообщаться, мы договорились о встрече в его офисе и записали этот разговор.

Первый вопрос мой звучит следующим образом: как англичанина, который работал в табачной промышленности, занесло в ИТ, еще и в Россию?

Я работал в табачном бизнесе [компания Philip Morris] почти 7 лет. За это время у меня появилось желание заниматься чем-то своим. За это время я видел, как наши клиенты развивали свои бизнесы – от нуля до нескольких сотен миллионов долларов оборотом. Мне хотелось то же самое сделать.
Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Comments 4

Евангелие от GUID

Reading time 6 min
Views 52K
Разбираясь с новым Visual C# 2008 (он настолько бесплатный для начинающих разработчиков, что я не удержался), нашел новое для себя слово в науке и технике — GUID.

Привожу пример интересной, как мне кажется, статьи, призывающей использовать глобально-уникальные идентификаторы во всех сферах народного хозяйства. Статья, в основном про .NET и прочий микрософт, но, думаю, будет полезна многим здесь, ибо реализации GUID есть почти во всех современных БД и языках (включая mySQL и PHP ;).

ПС: Если будет интересно, то выложу перевод второй части, где автор отвечает на комменты к первой статье.
Евангелие от GUID
Total votes 1: ↑1 and ↓0 +1
Comments 9

Ошибки при подключении платежей в интернете

Reading time 5 min
Views 13K
Сегодня мы поговорим о самых распространённых, по моему мнению, ошибках при подключении платежей в Интернете. Неправильно выбранная схема может закончиться отключением торговой точки от платёжной системы, занесением её в TMF (Terminated Merchant File) и штрафами. За то время, пока я работаю в ChronoPay, я сталкивался с самыми разнообразными схемами подключения и обхода правил МПС, так что статья написана полностью из моего опыта :)



Начнем с самой простой и распространенной, “мы подключаем физиков”. 
По закону РФ, для ведения предпринимательской деятельности в сети Интернет вам нужен статус Индивидуального Предпринимателя (ИП) или юридическое лицо (ст. 23 ГК РФ). Без регистрации такая деятельность так же может классифицироваться как Незаконное Предпринимательство (171 УК РФ). Угроза не самая серьезная, но может «выстрелить» в самый неподходящий момент.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 8

.NET-разработка: девять вопросов взрослым

Reading time 14 min
Views 38K
.NET становится по-настоящему кроссплатформенным: после долгого ожидания наконец объявлена дата релиза ASP.NET Core, JetBrains готовит альтернативу Visual Studio на базе ReSharper и IDEA, Microsoft приобрела Xamarin, сделала Xamarin Community бесплатной, а Mono перевела на MIT-лицензию и наконец, Windows Server 2016 получит поддержку Windows-контейнеров в Docker.

С новыми возможностями нас встречают новые вызовы:
  • Как будет работать один и тот же код под .NET Core и Mono, на Windows и Linux, в docker-контейнере?
  • Стоит ли переходить на .NET Core уже сейчас и как получить максимум от новой платформы?
  • Какие перспективы у Mono и Xamarin?
  • Какие изменения произошли «под капотом» .NET с переходом на Roslyn и .NET Core?

Всего через три недели на конференции DotNext в Питере 20 спикеров выступят с докладами о настоящем и будущем платформы .NET, об оптимизации производительности и многопоточности, о внутреннем устройстве платформы .NET и CLR, о профилировании и отладке .NET-кода.

А пока мы попросили четырех из них поделиться своим опытом и мнениями о грядущих изменениях в мире .NET. На наши вопросы ответили:

  • Ведущий мировой эксперт по производительности .NET-платформы, восьмикратный Microsoft MVP, автор прекрасной книги по производительности .NET «Pro .NET Performance» Саша Голдштейн;
  • Главный разработчик протокола реактивного многопроцессного взаимодействия в Rider Дмитрий Иванов из JetBrains;
  • Ещё один разработчик Rider’a из компании JetBrains, .NET MVP, к.ф.-м.н., серебряный призёр ACM ICPC, постдок в Вейцмановском институте науки Андрей Акиньшин;
  • CTO Promarket и эксперт в области Mono и Linux Никита Цуканов.
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 19

Information

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