Как стать автором
Обновить
16
0
Анна @xbitstream

Программистка, архитекторка, ахахахка

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

Unity и «Помогаторы» для редактора

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


В этой статье опишу несколько полезных возможностей и реализаций, которые мне помогли в разработке. Unity уже имеет множество методов чтобы не только «дебажить логами», но и расширять, дорисовывать необходимые данные в окне редактора. Если вы новичок в Unity или вам захотелось освежить знания – «Нужно брать!».
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии11

Unity + git = дружба: часть 1 джентльменский набор

Время на прочтение8 мин
Количество просмотров44K
image
Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git.

Вот список типичных проблем:

  1. в репозиторий попадают ненужные файлы или наоборот не попадают нужные
  2. множество больших файлов раздувает размер репозитория
  3. проблема с мерджем yaml файлов Unity
  4. в репозиторий добавлен только сам файл или только meta
  5. в проекте присутствуют пустые папки
  6. сложность автоматической нумерации версий и билдов
  7. неудобство использования кода между несколькими проектами

О решение этих проблем, связанных с совместным использованием git и Unity, вы можете прочитать в моем цикле статей.

В этой статье будет описано решение первых трех проблем
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии15

Что тимлиду спросить о компании на собеседовании

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

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

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

Каковы финансовые показатели компании?

Является ли компания прибыльной или тратит деньги инвесторов? Или даже до инвесторов ещё не дошло, и основатели пока платят из своего кармана? Как выглядит бизнесовый план развития?

Если компания имеет представительство в РФ, официальное ли (по ТК РФ) трудоустройство и полностью ли "белая" зарплата?

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

Расскажите про ваше понимание «хорошего тимлида»

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

Возможно, это понимание даже прописано в должностных инструкциях.

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

Читать далее
Всего голосов 32: ↑28 и ↓4+36
Комментарии87

Как выжить, если вы падаете со скоростью 190 км/ч с высоты 10 000 метров, и у вас в запасе есть три минуты

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


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

6:59:00, высота 10 000 м




Вчера вы рано легли, а сегодня у вас был ранний рейс. Вскоре после взлёта вы засыпаете. И вдруг вы резко просыпаетесь – вокруг вас свистит холодный воздух и раздаётся шум. Ужасный и громкий. Где я? – думаете вы. Где самолёт?

Вы на высоте 10 км. Один. И вы падаете.
Читать дальше →
Всего голосов 150: ↑134 и ↓16+161
Комментарии318

Расширяем возможности UObject в Unreal Engine 4

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

Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами.

Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, такими как классы UObject, но их функциональность изначально урезана, что может создать сильные рамки. В этой статье я расскажу о том, как активировать различные функции в базовом классе UObject в Unreal Engine 4.



На самом деле, статью я написал скорее как справочник. Большую часть информации крайне сложно найти в документации или сообществе, а тут можно быстро открыть ссылку и скопировать нужный код. Решил заодно поделиться и с вами! Статья ориентирована на тех, кто уже немного знаком с UE4. Будет рассмотрен С++ код, хотя знать его не обязательно. Можете просто следовать инструкциям, если вам нужно то, о чем пойдет речь. Более того, не обязательно копировать все, вы можете вставить код из раздела с нужными свойствами и он должен работать.

Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии7

Имитация естественного движения: Steering Behaviors

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

Steering behaviors помогают автономным персонажам реалистично двигаться благодаря применению простых сил, сочетание которых создаёт естественно выглядящее и импровизированное движение по окружению. В этом туториале я расскажу об основах теории steering behaviors, а также об их реализации.

Идеи, на которых построены такие поведения, предложены Крейгом Рейндольдсом; они не основаны на сложных стратегиях с использованием планирования пути или глобальных вычислений, а применяют локальную информацию, например, силы соседних объектов. Благодаря этому они просты в понимании и реализации, но в то же время способны создавать очень сложные паттерны движения.
Всего голосов 41: ↑40 и ↓1+39
Комментарии7

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

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

Введение


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

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

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


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

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

Как я готовился к собеседованию в Google

Время на прочтение9 мин
Количество просмотров49K
Каждый инженер-программист стремится впечатлить людей своим техническим мастерством. Технологические гиганты этого мира — прекрасное место для работы технарей, которые могут предоставить услуги миллиардам пользователей. На моём недавнем собеседовании было несколько раундов, я получил предложения от Google и Amazon. В последние несколько лет онлайн-сообщество очень помогло мне в подготовке к собеседованиям. В этом посте я поделюсь всем о моём пути к собеседованию и верну вклад общества в моё обучение.


Приятного чтения!
Всего голосов 40: ↑35 и ↓5+45
Комментарии77

Введение в алгоритм A*

Время на прочтение10 мин
Количество просмотров183K
При разработке игр нам часто нужно находить пути из одной точки в другую. Мы не просто стремимся найти кратчайшее расстояние, нам также нужно учесть и длительность движения. Передвигайте звёздочку (начальную точку) и крестик (конечную точку), чтобы увидеть кратчайший путь. [Прим. пер.: в статьях этого автора всегда много интерактивных вставок, рекомендую сходить в оригинал статьи.]


Для поиска этого пути можно использовать алгоритм поиска по графу, который применим, если карта представляет собой граф. A* часто используется в качестве алгоритма поиска по графу. Поиск в ширину — это простейший из алгоритмов поиска по графу, поэтому давайте начнём с него и постепенно перейдём к A*.
Всего голосов 70: ↑69 и ↓1+68
Комментарии20

11 мифов про USB Type-C

Время на прочтение5 мин
Количество просмотров81K
Из-за популярности стандарта USB появилось несколько связанных с ним мифов – в частности, касательно его последнего варианта, USB-C с питанием (PD).

Интерфейс USB стал практически универсальным – примечательное достижение, которому помогло то, что интерфейс позволяет передавать и данные, и питание по одному кабелю. Протокол USB с годами развивался, догоняя требования продуктов к ваттам и битам. Сейчас мы дошли до состояния, в котором новейший вариант интерфейса — USB Power Delivery – способен передавать до 100 Вт мощности для обеспечения быстрой зарядки, которую потребители требуют для своих устройств. Кроме того, он поддерживает требования к быстрому обмену данными, типичные для всё более широкого и разнообразного спектра применений и секторов рынка.

1. USB Type-C и PD – штука сложная


Универсальный коннектор, который можно подключать в источник питания или в устройство, кажется, делает излишним для разработчиков и потребителей обсуждение того, какое из устройств питает другое. Однако продукты могут быть более – или менее – сложными, в зависимости от нужд разработчиков.
Читать дальше →
Всего голосов 37: ↑26 и ↓11+15
Комментарии52

Пеленгатор на дополненной реальности

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

image(скриншот или фото)


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


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


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


Ужасный рок! Но я осмотрелся и увидел, что пеленгаторы могут быть нужны обычным людям. Это давало надежду!

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

Моя версия «прибора для осознанных сновидений» – краткая история и описание первой версии

Время на прочтение8 мин
Количество просмотров44K
Примечание: статья написана исключительно в ознакомительных целях, и не является призывом к повторению подобных экспериментов дома ввиду потенциального риска причинения вреда физическому здоровью (в случае использования в приборах Li-ion аккумуляторов и фоторезисторов).

Доброго времени суток, уважаемые хаброюзеры и хаброчтители) Это – моя первая серьезная статья на Хабре, посему СУДИТЕ МАКСИМАЛЬНО СТРОГО, обещаю работать над стилем и содержанием.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии112

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

Время на прочтение4 мин
Количество просмотров51K
Тема изменений в системе высшего образования становится все более актуальной. Много говорят об онлайн курсах как альтернативе университетскому образованию. Один из основных аргументов за традиционное университетское образование это отсутствие диплома и реальной аттестации после окончания онлайн курса.

На самом деле аттестацию можно получить. Причём не просто сертификат о сдаче экзамена после определённого курса, а вполне реальный диплом американского колледжа после выполнения конкретной программы курсов.

Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии14

Сколько зарабатывают разработчики разных квалификаций, 2018

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


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

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

С картинки каждой диаграммы box plot можно перейти к её интерактивной версии, где будет проще сориентироваться в цифрах.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии53

WearMouse, аэромышь для часов Wear OS

Время на прочтение4 мин
Количество просмотров7.4K
Здравствуй, Хабр! Хочу предложить вашему вниманию немного магии для часов на Wear OS.

Некоторое время назад, незадолго до выпуска Android 9.0, был представлен новый публичный API, позволяющий использовать устройства на Android в качестве Bluetooth-устройств ввода (мышь, клавиатура, геймпад, и т.д.), и вот я создал простое приложение, которое демонстрирует один из способов использования этого API. (Спойлер: это работает не только на девятом андроиде.)

Вы уже могли догадаться из названия, что делает это приложение: по сути, это обыкновенная аэромышь, совместимая с любыми устройствами на Windows, OSX, Linux (включая Raspbian), Chrome OS, Android (включая Android TV), при условии наличия приёмника Bluetooth; не требуются ни root-права, ни «серверное» приложение.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Велосипедофобия

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

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


Я почему раньше злой был? У меня просто велосипеда не было.

Чтож, приступим к лечению..
Всего голосов 56: ↑48 и ↓8+40
Комментарии85

Иди-ка ты на !@# со своей «токсичностью»

Время на прочтение5 мин
Количество просмотров214K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →
Всего голосов 632: ↑488 и ↓144+344
Комментарии1335

Упрощаем написание резюме разработчика

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

Проблема


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



Для тех, кому не интересна лирика, и кто хочет сразу перейти к делу — то вперед на github. А для тех, кому важна механика и история проекта — собственно и посвящена статья.


С появлением специализированных ресурсов биржы труда, таких как LinkedIn, HeadHunter и др., казалось бы, ситуация должна была улучшиться — заполняем весь опыт в одном месте, и больше прошлое не ворошим. Но не тут-то было — заполнили в одной системе, нельзя просто по клику мышки выгрузить ее в другую. Нету единой БД, на которую можно линковать свою учетную запись. Оно и понятно — подобные компании заинтересованы вытеснить других, а не заниматься интеграцией друг с другом, а простым кандидатам в итоге становится только хуже.

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

Руководство по локализации для iOS

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

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

Процесс локализации — трудоемкий, а его шаги потихоньку меняются по мере обновления XCode. Этот пост объясняет каждый шаг на основе последней версии XCode (7.3.1).

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

Выжимаем все соки из Chromium на Linux

Время на прочтение7 мин
Количество просмотров132K
В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

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

Информация

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

Специализация

Mobile Application Developer, Software Architect
Lead
От 6 000 $
SWIFT
Kotlin
Designing application architecture
Development management