Как стать автором
Обновить
0
0

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

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

Тестирование gRPC. Часть 2

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

В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой

Читать далее
Всего голосов 7: ↑6 и ↓1+6
Комментарии0

Рекомендации по работе с TypeScript

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

С каждым годом TypeScript становится все популярнее и думаю уже почти каждый фронтенд разработчик использовал его в своих проектах.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии6

План самостоятельного обучения DDD, CQRS, EventSourcing

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

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD
Всего голосов 32: ↑31 и ↓1+34
Комментарии4

Антивыгорание: «сгореть», чтобы не выгореть

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.1K

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

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

О них я и хотел рассказать в этой статье.

Читать далее
Всего голосов 15: ↑11 и ↓4+13
Комментарии18

Уязвимость к зависимостям (addiction vulnerability)

Время на прочтение15 мин
Количество просмотров16K
О плюсах карантина: дописал трудную главу об уязвимости к зависимостям (addiction vulnerability) для будущей книги. Изучил актуальную информацию и наиболее интересные исследования о генетических, эпигенетических, эндофенотипических, социально-средовых факторах риска, постарался изложить все это как можно более доступно (но без заклинаний типа DRD2 и ΔFosB не обошлось).

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

Демистификация принципов квантовых вычислений

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

«Думаю, я смело могу сказать, что квантовую механику никто не понимает», — Ричард Фейнман


Тема квантовых вычислений всегда привлекала технических писателей и журналистов. Ее потенциал в области вычислений и сложность придали ей некий мистический ореол. Слишком уж часто тематические статьи и инфографика подробно описывают всевозможные перспективы этой отрасли, при этом едва затрагивая вопросы ее практического применения: это может ввести в заблуждение не слишком внимательного читателя.
Читать дальше →
Всего голосов 81: ↑79 и ↓2+77
Комментарии35

Gotta Go Fast: Building for Speed in iOS. Part 1

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


There are a lot of tips and tricks that allow iOS developers to know how to make performance optimizations to get animations in applications run smoothly. After reading the article you will realize what 16.67 milliseconds for iOS developer means, and which tools are better to use to track down the code.

The article is based on the keynote talk delivered by Luke Parham, currently an iOS engineer at Apple and an author of tutorials for iOS development on RayWenderlich.com, at the International Mobile Developers Conference MBLT DEV 2017.
Всего голосов 26: ↑26 и ↓0+26
Комментарии1

О блоках и их использовании в Objective-C часть 1-ая

Время на прочтение4 мин
Количество просмотров32K
В OS X 10.6 и iOS 4.0 компания Apple анонсировала поддержку блоков, по сути являющиx собою замыкания. Дальше о блоках в контексте разработки под IOS, Objective-C (тоесть работа без gc).
Для использования блоков IOS ver. < 4.0 можно применить ESBlockRuntime или PLBlocks.

Кратко о теории


Экземпляр блока, тип блока и сам блоковый литерал обозначаются с помощью оператора ^, пример:

typedef int (^MyBlock)(int);

int multiplier = 7;
MyBlock myBlock = ^(int num) {
 return num * multiplier;
};


* This source code was highlighted with Source Code Highlighter.

или

int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
  return num * multiplier;
};


* This source code was highlighted with Source Code Highlighter.

Вызов блока аналогичен вызову обычной сишной функции. Например, так:

myBlock( 3 )

* This source code was highlighted with Source Code Highlighter.

Главной особенностью блоков является их умение хранить контекст в котором они создавались. В примере выше «myBlock» всегда будет умножать число на 7. Как же это все работает?
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии12

Как балансируются настольные и разные другие игры – краткий обзор способов

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


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

Конечная цель любой балансировки игры – увеличение возврата игроков или времени партии. То есть играбельности механики:
  • Не должно быть однозначной ультимативной стратегии победы, иначе игра потеряет вариативность и интерес.
  • Игрок должен чувствовать, что от его действий и навыков зависит игра. Иначе получится Mass Effect, который, скорее, фильм, нежели RPG.
  • Баланс должен быть «амортизированным», то есть прощать некоторые ошибки – иначе запоздалый на миллисекунду клик в Starcraft по первому рабочему из-за «эффекта бича» вызывал бы проигрыш через 4 часа идеальной партии. Наша настольная формула – 5-7 важных решений за игру, в двух можно ошибиться.
  • У настолок есть ещё социальное условие: игроки не должны выпадать по ходу пьесы – интересно должно быть всем и до конца.

Теперь – методы.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии22

Запускаем iOS приложения из консоли на девайсе и симуляторе

Время на прочтение7 мин
Количество просмотров25K
В статье будет кратко описано, как собрать приложение консольными командами и запустить на реальном девайсе и симуляторе без какой-либо надобности открывать xcode для этого.

В общем, стоит начать с того, что в моей компании имеется отдел ios разработки в составе > 10 человек, которые работают над пачкой приложений. Для автоматизации рутинной работы нам пришлось развернуть CI сервер (пока самописный, ввиду особых исторических причин (ну как у всех), планируется миграция на jenkins). К рутинным вещам я отношу — сборку проектов, запуск тестов (если, конечно, вы их пишете), создание ипашек для тестеров и для выкладки в app store. В общем, хотелось чтобы по нажатию кнопочки или по хуку в гите всё это начинало работать. Пока у нас всё работает по нажатию кнопки разработчиком, про гит пока только в планах. В данной статье я только затрону тему компиляции проекта и упаковку его в ipa файла. Функционал запуска проектов на девайсах на стороне CI сервера еще находится в стадии разработки, а вот сам процесс упаковки уже давно в «бою», может кому пригодиться.

Что планируем:

  • соберем приложение и запустим на симуляторе
  • соберем ipa и запустим на реальном девайсе
  • соберем ipa для выкладки на маркет
  • немного подэбажим ошибки сборки
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Unity — Концептуальные идеи и подсказки для новичков игродева. Мощная оптимизация 2D проекта

Время на прочтение5 мин
Количество просмотров38K
Ссылка на первую статью из этой серии.

Быстрое вступление

Я долго думал какую тему выбрать на этот раз, и решил, что расскажу про некоторые фишки, которые помогут оптимизировать вашу игру. Особенно это будет актуально для новичков, потому что чаще всего первая игра оказывается игрой для смартфонов и планшетов. А на мобилках, сколько бы там ядер не оказывалось — 6 или 8, игры все ещё очень несбалансированные в плане потребления ресурсов. Код и его идея, которые будут приводится в этой статье являются немного более сложными для понимания чем те две строчки кода, которые я приводил в своей предыдущей публикации. Хотя, я не правильно выразился — код легко понять — но порог вхождения в это понимание будет чуть выше чем легко (для новичков конечно), придется посидеть минут 5.

Введение в идею

Как вы создаете объекты в Unity из префабов? Только Instantiate и никак иначе — другой функции там просто не существует.

Для тех кто не помнит или еще не знает, что такое Instantiate (), маленькая справка — *аргументы инстанции*. Вот вы их создаете (объекты), и создаете, иногда удаляете, потом опять создаете, и так в течении всего уровня. Это бьёт по оптимизации и существенно — почему? Потому что так написано на всех форумах Unity, а иногда проглядывается и в документации, а документацию надо слушаться. Как Instantiate бьет по про производительности?
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии13

Оптимизация 2d-приложений для мобильных устройств в Unity3d

Время на прочтение13 мин
Количество просмотров106K
Недавно наша студия завершила разработку большого обновления — Captain Antarctica: Endless Run — для устройств на iOs. Кропотливая работа над обновлением затронула производительность, которая оказалась очень низкой на слабых устройствах. Я боролся с этим целую неделю и добился как минимум 30 FPS, а также значительного сокращения размера приложения. Хочу рассказать, как я это сделал, ну и как делать не стоит.
Статья пригодится любым разработчикам на Unity (причем не только менеджерам проектов и техническим специалистам, но и просто программистам, художникам и дизайнерам), потому что она затрагивает как оптимизацию на Unity в целом, так и конкретно оптимизацию 2d-приложений для мобильных устройств.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии87

Бесплатный видеокурс CCNA Сisco доступен на одном из каналов YouTube

Время на прочтение2 мин
Количество просмотров108K
По моему глубокому убеждению, в особенности в сфере IT, важнейшим качеством любого из специалистов является способность к самообучению. Именно потому в нашей небольшой компании стало хорошей традицией уделять ежедневно время этому процессу, собственному развитию. Даже менеджер должен понимать, как устроена и функционирует сеть. Не давнее, как вчера, обсуждая проблему с BGP, коллега сказал «Вот не был бы я лентяем — прошел бы в студенческие годы курс CCNA и знал бы ответ на твой вопрос». И я задался задачей помочь коллеге, найти способ получить знания в этой области самому, хотя бы начального уровня, чтоб лучше понимать с чем мы работаем. На Хабре, введя в поиск CCNA, можно встретить массу рекомендаций, но все же, англоязычный Интернет — основной источник знаний в области IT-коммуникаций.



Я просто обожаю YouTube! Ведь он предоставляет волшебную возможность удаленного «посещения» тематических конференций и семинаров, причем абсолютно бесплатно. В этот раз, как оказалось, там уже месяца 2 существует бесплатный канал, на котором лектор Imran Rafai, четко и доступно излагает материал из 30-дневного CCNA-курса, весьма доступно и увлекательно!

Даже если Вы не системный администратор, а просто хотите обладать немного лучшим пониманием, что такое Интернет — курс для Вас! Помимо прочего Вы повысите свой уровень английского, ведь курс на английском языке, с субтитрами.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии11

Теория потока: как создать игру, которую полюбят все

Время на прочтение7 мин
Количество просмотров81K
Всем привет.

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

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


Читать дальше →
Всего голосов 60: ↑51 и ↓9+42
Комментарии23

Архитектурный дизайн мобильных приложений

Время на прочтение9 мин
Количество просмотров98K
Признак плохого дизайна №1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»


Ведущий iOS-разработчик Redmadrobot Егор BepTep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии26

Оптимизация OSX для работы с SSD

Время на прочтение3 мин
Количество просмотров114K
Про замену сидирума на SSD писать нет смысла, думаю все и так уже в курсе как это сделать. Слава богу, про это написано не мало статей (тыц, тыц).
image
А вот как правильно настроить систему для работы с HDD и SSD знают далеко не все.
Читать дальше →
Всего голосов 39: ↑31 и ↓8+23
Комментарии80

Выявлен «Фактор брокера»

Время на прочтение3 мин
Количество просмотров2.9K
О торговле

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

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

После квартальных исследований, направленных на изучение поведения цен и рынка в целом, наряду со спросом и предложением, был выявлен третий фактор – «Фактор брокера».
Читать дальше →
Всего голосов 39: ↑22 и ↓17+5
Комментарии29

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

Время на прочтение13 мин
Количество просмотров35K
Хочу поделиться опытом по продвижению своей новой игры для iPhone/iPad — Wordrive.

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

Итак, вот у вас готово приложение и оно появилось в AppStore. Первый поток людей на него направляется из iTunes/App Store, сам собой — за счет появления в «новинках». Рассчитывать на него нечего — он как пришел, так и уйдет через пару-тройку дней. За это время нужно делать все, чтобы о программе или игре стали писать в сети. Если программа за это время сможет собрать еще и интернет-аудиторию, то выйти в топы будет сильно проще. А чтобы ее собрать, к моменту запуска в App Store нужно уже много что сделать.

Читать дальше →
Всего голосов 109: ↑104 и ↓5+99
Комментарии89

Whoer.net — как за 6 месяцев получить 12000 уникальных посетителей в день. Часть 1

Время на прочтение5 мин
Количество просмотров1.5K
Предисловие.

Для любителей состряпать «хитрого» клона воспользовавшись чужим опытом и срубить бабла, сразу стоит сделать оговорку. Никакого бабла здесь нет и не будет, более того подобные сайты сами по себе вообще не способны приносить сколь-нибудь значимое количество бабла при адекватных на них затратах. Если только их идея не гениальна, уникальна и имеет высочайший уровень реализации одновременно. Такие сайты подобны ларькам сотовой связи или турфирмочкам в больших зданиях, их цель продавать контракты или окупать коммунальные платежи, это инфраструктурные вещи значение которых многие недооценивают. Так что на этом месте любителям «быстрых денег» можно сделать Ctrl+w (upd. закрывает вкладку), всем остальным, думающим и желающим что-то почерпнуть: do not hesitate to read, you are welcome!

Читать дальше →
Всего голосов 62: ↑49 и ↓13+36
Комментарии35

Smooth Video Pack — плавное воспроизведение видео (PAL, 720p, 1080p)

Время на прочтение1 мин
Количество просмотров5.1K
Бесплатный пакет Smooth Video Pack (SVP) предназначен для просмотра видео на ПК c эффектом плавности движений.
Алгоритмы повышения плавности движений рассчитывают промежуточные кадры, помещаемые при проигрывании между исходными кадрами, при этом создается эффект повышенной плавности движений.

Обработка происходит в реальном времени, для этого необходим c2d от 2.5ГГц, 2Гб озу для 720р видео.
От себя хочу добавить, что фильмы начинают смотреться совсем по-другому.

Пример видео с форума (swf)
Ссылка на форум iXBT (FAQ = Просмотр видео на компьютере с эффектом плавности движений)
Ссылка на страницу скачивания SVP
Ссылка на страницу онлайн помощи по SVP
Читать дальше →
Всего голосов 78: ↑65 и ↓13+52
Комментарии135

Информация

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