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

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

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

История разработки The Light Remake. Часть 1

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


Приветствую, читатель! Меня зовут Сергей, я являюсь инди-разработчиком компьютерных игр. В моем портфолио имеется уже несколько инди-проектов, часть из которых была самостоятельно выпущена в Steam. Игра «Свет» или «The Light», вышедшая в 2012 году, была моей первой пробой пера, открывшей путь в мир игровой разработки. Проект распространялся бесплатно, но реакция публики и отзывы игроков подарили мне серьезную мотивацию для дальнейшей работы. «The Light» стал для меня чем-то вроде философской притчи о человечестве и его судьбе. Сюжет абстрактен и не преследует каких-то конкретных целей, это лишь возможность поразмышлять на обширную тему.

Поскольку до релиза в Steam оригинальная игра так и не добралась, я решил исправить это упущение и в июне 2019 года занялся масштабной переработкой проекта, дабы геймплейно и визуально он мог соответствовать своему времени и считаться полноценной игрой.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии18

Как происходит рендеринг экрана сообщений ВКонтакте

Время на прочтение14 мин
Количество просмотров19K
Что делает ВКонтакте, чтобы уменьшить лаги отрисовки? Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView?



Мой опыт основан на работе отрисовки экрана сообщений в Android-приложении VK, в котором необходимо показывать огромное количество информации с минимумом тормозов на UI.

Я программирую под Android уже почти десять лет, ранее занимался фрилансом для PHP/Node.js. Сейчас — старший Android-разработчик ВКонтакте.

Под катом — видео и расшифровка моего доклада с конференции Mobius 2019 Moscow.
Всего голосов 34: ↑33 и ↓1+44
Комментарии16

Трюки с SQL от DBA. Небанальные советы для разработчиков БД

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

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

  • АБД инфраструктуры отвечали за настройку базы данных, конфигурирование хранилища и заботу о резервных копиях и репликации. После настройки БД инфраструктурный администратор время от времени «настраивал экземпляры», например, уточнял размеры кэшей.
  • АБД приложения получал от АБД инфраструктуры чистую базу и отвечал за её архитектуру: создание таблиц, индексов, ограничений и настройку SQL. АБД приложения также реализовывал ETL-процессы и миграцию данных. Если команды использовали хранимые процедуры, то АБД приложения поддерживал и их.

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать дальше →
Всего голосов 52: ↑48 и ↓4+68
Комментарии38

Наш первый обзор отключения Интернета в Беларуси

Время на прочтение4 мин
Количество просмотров51K
9 августа в Беларуси произошли общенациональные отключения интернета. Вот первый обзор того, что наши инструменты и наборы данных могут рассказать нам о масштабах этих отключений и их влиянии.
Читать дальше →
Всего голосов 57: ↑48 и ↓9+61
Комментарии193

Советы для профессионального использования RecyclerView. Часть 1

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

Советы для профессионального использования RecyclerView. Часть 1


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


Описанные здесь пункты упоминались в различных докладах и материалах на Google Devs.


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

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

Тестирование для мобильных разработчиков: полезные видео с Android-митапа

Время на прочтение3 мин
Количество просмотров3.3K
Неважно, работаете ли вы в стартапе или крупной организации, продуктовой компании или аутсорсинговой. Всё это совершенно неважно, если в один момент вы решили не просто писать код, но и нести ответственность за него.

Именно этой теме мы посвятили встречу Android-разработчиков и мобильных тестировщиков на митапе Android Paranoid и обсудили:

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

Таймкоды проставлены, добро пожаловать под кат.


Всего голосов 5: ↑5 и ↓0+5
Комментарии0

[Видео] Доклады с митапа Android Paranoid

Время на прочтение8 мин
Количество просмотров9K
Android почти исполнилось десять лет.

Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта.



Вместо них — доклады, записанные на видео, и короткая выжимка полезной информации для Android-разработчиков. Под катом о том,

  • что происходит после нажатия на иконку приложения;
  • как перевести приложение на Kotlin и уместиться в 300 строк кода;
  • как менялись инструменты фоновой работы в Android;
  • как быстро получить анимации в RecyclerView.
Всего голосов 21: ↑19 и ↓2+17
Комментарии0

ActivityLifecycleCallbacks — слепое пятно в публичном API

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


С детства я люблю читать инструкции. Я вырос, но меня до сих пор удивляет то, как взрослые люди безалаберно относятся к инструкциям: многие из них считают, что все знают, и при этом пользуются одной-двумя функциями, в то время как их намного больше! Кто из вас пользовался функцией поддержания температуры в микроволновке? А она есть почти в каждой.

Однажды я решил почитать документацию к различным классам Android framework. Пробежался по основным классам: View, Activity, Fragment, Application, — и меня очень заинтересовал метод Application.registerActivityLifecycleCallbacks() и интерфейс ActivityLifecycleCallbacks. Из примеров его использования в интернете не нашлось ничего лучше, чем логирование жизненного цикла Activity. Тогда я начал сам экспериментировать с ним, и теперь мы в Яндекс.Деньгах активно используем его при решении целого спектра задач, связанных с воздействием на объекты Activity снаружи.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+11
Комментарии9

Вас уволили с работы. Инструкция по выживанию

Время на прочтение3 мин
Количество просмотров17K
Я не hr и не юрист. Я обычный работник, который сталкивался с разными ситуациями и учусь с ними справляться. Надеюсь этот текст и мой опыт помогут вам.

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


Читать дальше →
Всего голосов 26: ↑7 и ↓19-8
Комментарии32

Zettelkasten: как один немецкий учёный стал невероятно продуктивным

Время на прочтение18 мин
Количество просмотров412K
Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша

Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хотите создать собственную базу знаний, систематизировать идеи и перестать забывать важные мысли.

Статья бережно перенесена из блога бегущего редактора. Кстати, следить за анонсами новых статей можно в моём телеграм-канале. Подписывайтесь, чтобы ничего не пропустить!
Читать дальше →
Всего голосов 40: ↑36 и ↓4+44
Комментарии82

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

Время на прочтение6 мин
Количество просмотров76K
Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. За прошлый год я провёл порядочное количество собеседований, и абсолютное большинство кандидатов огорчило меня отсутствием вопросов о компании, всего 5 человек стали меня расспрашивать о работе.

Я же считаю, что вопросы на собеседовании должен задавать и сам кандидат, ведь ему предстоит там работать. Из стандартного описания вакансии невозможно понять, что творится в компании, да и на собеседовании принято всё немного приукрашивать. Я думаю, что соискатель должен максимально использовать собеседование для того, чтобы выяснить реальное положение дел в компании. Мало кому захочется попасть в некомфортные условия или в убыточную компанию без перспектив. Если интересно, как во время собеседования получить реальное представление о компании, то добро пожаловать под кат. Я дам список вопросов, которые обычно не ждут интервьюеры, возможно кому-то они помогут принять правильное решение при поиске работы.

image
Читать дальше →
Всего голосов 114: ↑108 и ↓6+125
Комментарии131

Как научиться XR-разработке и получить оффер за пять месяцев

Время на прочтение8 мин
Количество просмотров9.7K
Привет, Хабр! XR-разработкой я занимаюсь около семи лет: проделал путь от младшего специалиста до директора бизнес-юнита КРОК Иммерсивные технологии. Моя команда уже более пяти лет создает XR-продукты для промышленности. За это время наш небольшой отдел превратился в целое направление в ИТ-компании, создав проекты для таких гигантов, как Saudi Aramco, «Сибур», «Газпром нефть», «Росатом», «Норникель», «Мособлгаз» и других российских и международных компаний. А в прошлом году наша копилка успешных кейсов пополнилась образовательным проектом в Бахрейне. В этой статье я расскажу, как мы обучили арабских студентов VR и AR-разработке всего за пять месяцев, научили их вести проект заказчика под ключ. Забегая вперед, скажу, что некоторые выпускники даже получили работу по этой специальности.


Читать дальше →
Всего голосов 40: ↑28 и ↓12+20
Комментарии1

Сайты для обучения программированию: Топ 100

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

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

Итак, сайты для обучения программированию онлайн, ТОП 100:
Читать дальше →
Всего голосов 41: ↑37 и ↓4+46
Комментарии61

Кодовая база. Расширяем RecyclerView

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

Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки.

Хочу поделиться способами расширения RecyclerView, наработанными нашей командой и мной. Они станут надежной базой для создания нестандартных списков в приложениях.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Тёмная сторона работы в Яндекс.Маркете

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

Я уволился из Яндекс.Маркета, отработав там почти 15 месяцев. Сегодня я хочу поделиться своим взглядом на работу в Яндекс.Маркете и рассказать о причинах ухода.


Disclaimer: эта статья бесполезна для тех, кто работает или работал в Маркете; она предназначена в первую очередь для тех, кто лишь планирует туда пойти. А ещё Яндекс.Маркет – это не Яндекс, но очень близко. Поэтому всё, о чём я буду говорить, в первую очередь относится к Маркету, но значительная часть из этого точно так же может быть применена к большому Яндексу.


Я ни в коем случае не претендую на объективность, это моё личное мнение.


Я никого не отговариваю от трудоустройства в Яндекс. Наоборот, это отличный вызов для любого разработчика и, если вы в состоянии попасть в Компанию, то вам однозначно стоит попробовать.


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


Читать дальше →
Всего голосов 402: ↑371 и ↓31+466
Комментарии806

Room: Один ко многим

Время на прочтение3 мин
Количество просмотров21K
Всем привет. На дворе 2018 и уже почти год как Google активно работает над Architecture Components. Неплохая документация и примеры позволяют начать использование новых компонентов без каких-либо проблем и сложностей. Но всегда есть ложка дегтя в бочке меда кода. Заметки ниже не претендуют на истину, но, возможно, сэкономят два-три часа гугления и просмотра кода библиотек.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Как я на карантине работу искал

Время на прочтение7 мин
Количество просмотров61K
Хочу поделиться с сообществом своим недавним опытом поиска работы, сообщить, так сказать, вести с передовой. Несмотря на то, что все написанное – абсолютно субъективно, заметка будет полезна для других IT-шников. Особенно – если они интроверты и редко ходят по собеседованиям.

А еще, полагаю, многим будет любопытно, какая метаморфоза произошла с рынком работы в связи с последними событиями.


Читать дальше →
Всего голосов 90: ↑86 и ↓4+104
Комментарии150

Как разработчикам Myst удалось уместить на одном CD-ROM целую вселенную

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

Привет, я Рэнд Миллер, соавтор «Myst». Мы поставили перед собой задачу создать реальный мир «Myst», но болезненно ударились о реальные ограничения CD-ROM. Играми я начал заниматься ещё с начала старшей школы, и я уже не молод, то есть это было довольно давно. Игры, которые у меня тогда были на компьютере, непохожи на современные. Меня очень захватила игра Lunar Lander. Я помню её до сих пор. В ней не было графики. Это была строка текста на ЭЛТ-экране, сообщавшая мне, насколько далеко я был от лунной поверхности, насколько быстро я перемещался, сколько топлива осталось, а ещё вопросительный знак. Нужно было вводить количество топлива, которое вы хотите сжечь, нажимать на ввод, и так повторять, пока не упадёшь на поверхность.

В начале старшей школы друг из колледжа взял меня с собой в компьютерный центр Университета Нью-Мексико. Я увидел эту игру на экране, и это была настоящая магия. Для меня это была магия. И он сказал: «Есть и другие игры», и что можно самому делать игры. «Вот, ты пишешь программы, чтобы они делали это». Для меня это изменило всё, и с тех пор я захотел этим заниматься. Cyan была образована примерно в середине 80-х, и в то время нам казалось, что это очень многозначное название, поэтому мы можем заниматься чем угодно. У нас с моим братом Робином была идея голубого неба, и она нам понравилось, поэтому мы выбрали такое название.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+82
Комментарии52

Главная причина, почему не Linux

Время на прочтение4 мин
Количество просмотров174K
Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас вылью тонну яда, этим сферам применения, наверное, как раз на пользу.
Читать дальше →
Всего голосов 439: ↑239 и ↓200+108
Комментарии2551

Генерирование паролей для серии игр Prince of Persia

Время на прочтение9 мин
Количество просмотров16K
Добрый день, уважаемые пользователи.
Сегодня я хотел бы рассказать про одну замечательную серию игр. Многие познакомились с ней, благодаря версии на NES, некоторые видели персидского принца на DOS, кто-то играл в Принц Персии на Sega Genesis и… вроде всё, но нет! Первая часть была портирована на большое количество разных игровых платформ. А сколько систем паролей было придумано по этому поводу? А сколько портов было у второй части? А какие пароли были там?
Про это я и хотел бы Вам рассказать.

Prince of Persia (Sega Master System/Sega Game Gear)


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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность