Pull to refresh
24
Karma
0
Rating
Ярослав Черных @Bytexpert

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

  • Posts
  • Comments

Очередной гайд по HTML-элементам, которые можно использовать в каждом проекте

HTMLAccessibility
Tutorial
В сети существует множество гайдов, которые описывают назначение HTML-элементов. Но сколько я не проводил собеседований или не проверял код, я вижу одну картину, разработчики используют ограниченный набор элементов. Поэтому я взял следующий набор элементов: header, nav, main, section, article, aside, address, и показал случаи, когда можно их использовать.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views10.5K
Comments 6

Как мы просто сократили объем входящего в дата-центр трафика на 70%

FunCorp corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for AndroidMobile App Analytics

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

Единственное, о чем мы пожалели — что не применили это решение раньше.

Читать далее
Total votes 137: ↑136 and ↓1 +135
Views29.4K
Comments 53

Новое приложение «Медузы». Почему Flutter?

Meduza: dev corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for AndroidFlutter

Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter


12 мая состоялся релиз новых мобильных приложений «Медузы» (iOS, Android) — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не нативные приложения? Почему именно Flutter? Обо всем этом рассказывает технический директор «Медузы» Борис Горячев.


Читать дальше →
Total votes 116: ↑106 and ↓10 +96
Views45.7K
Comments 110

Алгоритм быстрого и простого объёмного рендеринга

Working with 3D-graphicsGame development
Translation

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

У моего ShaderToy были три основные задачи:

  1. Выполнение в реальном времени
  2. Простота
  3. Физическая корректность (… или типа того)

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

  1. Трассировка лучей непрозрачных объектов. Все объекты являются примитивами с простыми пересечениями с лучами (1 плоскость и 3 сферы)
  2. Для вычисления освещения используется затенение по Фонгу, а в трёх сферических источниках света применется настраиваемый коэффициент затухания света. Лучи теней не требуются, потому что мы освещаем только плоскость.

Вот как это выглядит:

ShaderToy screenshot
Читать дальше →
Total votes 52: ↑52 and ↓0 +52
Views10.6K
Comments 6

Популярные ошибки в английском среди IT-специалистов

Learning languages
Sandbox
image

Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке.
Читать дальше →
Total votes 49: ↑45 and ↓4 +41
Views28K
Comments 134

Как выучить английский самостоятельно, если нет времени

Studying in ITLearning languages
Sandbox

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



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

Читать дальше →
Total votes 32: ↑23 and ↓9 +14
Views36.7K
Comments 42

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают)

Internet marketingContent-marketingLearning languages


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

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

Примечание: методология мини-исследования не особенно научная, но, на мой взгляд практическая. Мне полученные результаты кажутся интересными и полезными, но не стоит считать их истиной в последней инстанции.
Читать дальше →
Total votes 82: ↑74 and ↓8 +66
Views17.5K
Comments 118

Как суровые челябинские разработчики делают игры для Google Play и соцсетей

Alconost corporate blogDevelopment of mobile applicationsLanguage localisationGames monetizationGames promotion


Мы взяли интервью у Алексея Дмитриева, CEO Duck Rockets — инди-студии из Челябинска. Ребята делают игры для соцсетей, а в 2017 они выпустили свою первую мобильную игру — Bon Voyage. Весной 2019 у игры появился издатель.

Алексей рассказал Nitro, зачем выходить на маленькие локальные рынки, почему они не пытаются пробиться на китайский рынок, в чем сложность выпуска детских приложений и нужно ли одеть главную героиню в паранджу, чтобы игра пришлась по вкусу пользователям в Иране.
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Views5.9K
Comments 6

Кейс от Narcade: разработчики из Турции рассказывают о локализации мобильных игр и турецком игровом рынке

Alconost corporate blogDevelopment of mobile applicationsGame developmentGames monetizationGames promotion


В этой статье мы поделимся с вами опытом компании Narcade — разработчика мобильных игр из Стамбула. Они выпустили Farm Bubbles, Ignis и Zipline Valley — игры, которые стали успешными по всему миру. Мы поговорим об их опыте в локализации мобильных игр для Европы и Азии, а также о рынке мобильных игр в Турции.

Narcade была основана в 2011 группой независимых разработчиков. Сначала они выпускали флеш-игры, но позже перешли на мобильные игры, которые как раз начинали набирать популярность.

Narcade локализовали много игр: Farm Bubbles, Bubble Popland, Zipline Valley, Ignis, Bubble Friends, Gummy Dash и Starship Shooter. Все они доступны и в Google Play, и в App Store.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views1.2K
Comments 1

Циклическая генерация подземелий на примере Unexplored

Game developmentGame design
Translation
image

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

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

В dungeon crawler'е Unexplored использован фундаментально иной подход (см. рисунок 1). Вместо линейных путей в качестве самой базовой структуры он изначально использует циклы. Разница оказывается поразительной: при старом подходе хорошие и интересные циклы могли возникать случайно, а в Unexplored они являются запланированной особенностью результата работы генератора.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views6.7K
Comments 0

Что еще за Defold и с чем его едят?

Game developmentDevelopment for Android
Sandbox
image

Это небольшой разбор игрового движка Defold на практическом примере(под Andoid), а также немного субъективной критики и похвалы, ну вообщем обзор. Кому интересно узнать об этом двигателе больше, есть одно интервью, почитайте. Информации о Defold в сети мало, так что это будет вклад в очень небольшую копилку.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views12.8K
Comments 0

Как разработчики процедурно создали кучу «мусорных» мобильных игр и заработали 50 тысяч долларов

Development of mobile applicationsGame developmentMobile applications monetizationGames promotion
Translation

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

На проводимой в этом году Game Developers Conference выступили два разработчика игр, способные написать новую главу романа-антиутопии о будущем: они рассказали историю о том, как заработали деньги, позволив делать всю работу роботам. В их случае этой работой была процедурная генерация игр для смартфонов.

Участие в обычном гейм-джеме привело к созданию машины обработки данных, которой в результате удалось заработать приличную сумму: 50 тысяч долларов за два с лишним года. Спустя годы, имея на руках данные (и деньги), разработчики этой машины по изготовлению игр, которая создавала только «мусорные» слот-автоматы с моделью free-to-play, использовали GDC как трибуну, чтобы подать тревожный сигнал индустрии, в которой «правильное» поведение часто ограничивается вниманием к игрокам, заискиванием перед издателями и сбором положительных обзоров критиков. В случае этих разработчиков нарушение всех этих правил привёл к слишком успешным результатам, вызвав у них сильный дискомфорт.

Побеждаем в «гонке ко дну»


Вернёмся в 2013 год: в то время два разработчика видеоигр уже несколько лет пытались добиться успеха на растущем рынке мобильных игр. Один из них, Алекс Шварц, помогал в создании качественной мобильной игры Jack Lumber. (В прошлой жизни я даже написал о ней хороший отзыв в уже несуществующем журнале The Daily, работавшем только на планшетах.) Второй, Зиба Скотт, разработал приятную мобильную головоломку Girls Like Robots.

Обе игры использовали модель «заплати один раз» без микротранзакций. Обе получили награды, известность, хорошие отзывы на выставках и обрели издателей. Обеим не удалось добиться успеха.
Читать дальше →
Total votes 125: ↑123 and ↓2 +121
Views70K
Comments 57

Прокрастинация как инструмент перемещения во времени

Московский физико-технический институт (МФТИ) corporate blogPopular sciencePhysicsLifehacks for geeksScience fiction
Recovery mode
Все люди делятся на нормальных и прокрастинаторов, и последних абсолютное большинство. Мы разобрались и выявили два типа прокрастинации: неустранимую, которая приводит к неразрешимым жизненным проблемам и болезненным психологическим эффектам, и устранимую, при которой человек даже после наступления критического момента времени всё равно выполняет необходимую работу в срок.

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

Статью мы сопроводили строгими математическими расчетами, а также данными эксперимента, который был проведён на шестерых добровольцах. С этой работой мы выступали на крупнейшей Антинаучной конференции, которая в этом году пройдет 4 мая. Так что можете нам доверять (ну или нет, ведь сегодня 1 апреля).


Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views19.1K
Comments 4

Разрабатывать приложения под Android — словно быть (демонетизированным) ютубером

Information SecurityDevelopment of mobile applicationsDevelopment for Android
Translation
Как известно, некоторые авторы на YouTube крайне недовольны условиями, которые предлагает эта платформа. Аналогичное сражение сейчас ведут разработчики Android-приложений на платформе Google Play. Попытаюсь за 20 минут объяснить, что не так с Android.

Когда-то Android считался лучшей мобильной платформой: контроль, настраиваемость, продвинутые функции, реальная многозадачность, поддержка даже редких случаев использования и свобода разработчиков. Это была лучшая платформа для науки и образования: во-первых, инструменты разработки свободны и кросс-платформенны, во-вторых, Android был очень гибкой ОС, которая не мешала экспериментировать с инновационными концепциями и возиться с оборудованием. Теперь всё это быстро исчезает.

Раньше основные релизы Android приносили новые функции, которые радовали и разработчиков, и пользователей. Но с какого-то момента я уже начал бояться анонсов новых версий, и до сих пор ищу в себе силы (хех), чтобы посмотреть на список изменений и рекомендации для разработчиков к последнему релизу. И новые версии — это не единственная причина для нервотрёпки: изменения в политике Google Play Store тоже всегда забавно читать.
Читать дальше →
Total votes 95: ↑88 and ↓7 +81
Views40.7K
Comments 169

Джедайские техники мобильного разработчика: как монетизировать приложение в 2019?

Development of mobile applicationsDevelopment for AndroidGrowth HackingMobile applications monetizationGames monetization
image

Сколько сил и средств нужно, чтобы приложение начало приносить доход? Почему мобильные разработчики — ни разу не миллионеры, и где находится стеклянный потолок в рекламной прибыли? Ребята из Appgrow проанализировали 320+ приложений и рассказали о главных ошибках разработчиков, которые срезают им до 40% рекламной прибыли.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views6K
Comments 2

Дизайн и математика игр-кликеров

Game development
Translation
image

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

Что такое инкрементная игра?


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

В сущности, такова общая структура «инкрементной» игры. Она кажется простой, даже примитивной, но в игровом процессе есть неожиданная глубина и привлекательность. Стили игры могут быть разными — от коммерчески успешных и казуальных Clicker Heroes и AdVenture Capitalist до более экспериментальных или хардкорных примеров, таких как Candy Box, Cookie Clicker и Sandcastle Builder.


Cookie Clicker, самое начало.

Что же самое важное в инкрементной игре? Хотя в этом жанре есть множество вариаций и экспериментов, фундаментальными аспектами дизайна являются:

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

Именно цикл накопления, реинвестиций и ускорения определяет основы жанра и отличает его от игр, в которых присутствует просто увеличивающийся счёт. Например, в примечательной Cookie Clicker игрок стремится к росту количества «печенек», которое изначально увеличивается нажатием на огромное печенье, а потом тратит печенье на покупку апгрейдов, позволяющих создавать ещё больше печенья.
Читать дальше →
Total votes 53: ↑53 and ↓0 +53
Views61.2K
Comments 31

Опыт создания игры для Android в одиночку с нуля и как ее зафичерили на Google Play

Development of mobile applicationsGame developmentDevelopment for AndroidGames promotion
Sandbox
Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смог высвободить достаточно времени, и решил уже основательно подойти к задаче. Я был решительно настроен найти и освоить профессию, от которой я бы получал кайф.

Сужать круг поиска, чем именно заниматься, было тяжело. Знакомых в этой области не было, поэтому решил отталкиваться от каких-то общих соображений. Так как в приоритете было в первую очередь найти что-то интересное, выбор пал на геймдев. Понравилась идея для начала сделать простенькую 2D-игру под Android и выложить на Google Play.
Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Views70.5K
Comments 23

Состояние алгоритма: что происходит с инди-разработчиками в Steam?

Games monetizationSales managementGames promotion
Translation
image

Бизнес создания инди-игр всегда был сложным, но недавно он стал ещё сложнее. 5 октября прошлого года Valve объявила о внесении изменений в алгоритмы Steam, которые привели к уменьшению трафика у игр, не ставших бестселлерами. Это уже вредит инди-разработчикам, но я думаю, мы только начинаем ощущать влияние этих перемен.

Возможно, вы знаете об «октябрьском баге» (October Bug) Steam, и, возможно, слышали. что этот баг устранили. Но ситуация несколько сложнее. К сожалению, никто за пределами Valve не знает точно, что происходит; данные просто недоступны. Но я, как смог, постарался проанализировать ситуацию.
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Views8.2K
Comments 16

Почему для инди раньше трава была зеленее

Development for iOSGame developmentDevelopment for AndroidMobile applications monetizationGames promotion
Уверен, многие хабровчане любят продукцию независимых студий и разработчиков, или, в простонародье, инди-продукты. Наверняка, почти у всех при упоминании этого термина всплывают теплые воспоминания о какой-нибудь игре, которая создавалась вопреки законам, диктуемым рынком.

Но не приходила ли вам в голову мысль, что лучшие времена инди-разработки уже позади? Я хотел бы, чтобы эта мысль была ошибочной, но Google Trends по запросу «indie games» были беспощадны:

Trends

И подобную статистику можно увидеть почти в любом запросе, касающемся инди-индустрии. Также не редкостью стали статьи, о падениях средних доходов инди-разработчиков вроде этой.
Под катом попробуем разобраться в причинах затухающей популярности инди.
Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views19.1K
Comments 53

Хватит разрабатывать софт с запасом

Project managementProduct ManagementPersonnel Management
Translation

Или делайте это правильно


Если выбрать одну идею, которая убивает больше всего продуктов, то это создание запаса на будущее (future proofing).

Обычно идея проявляется по схеме.

Нам нужен {X}, и хотя сделать {Y} гораздо легче, но при наступлении {Z} первый вариант упростит нам жизнь.

Где {Z} — событие, которое может произойти в далёком будущем.

Вот несколько примеров:

  • Для инфраструктуры нужны Kubernetes и Docker, хотя один большой сервер гораздо проще, но когда придётся масштабироваться до 11-ти серверов, это упростит нам жизнь.
  • Для обработки данных нужен распределённый дизайн, хотя централизованное решение гораздо проще, но когда клиент потребует 99,999% безотказной работы в SLA, это упростит нам жизнь.
  • Нужно набрать команду разработчиков и создать собственное программное обеспечение, хотя Wordpress и Shopify гораздо проще, но когда клиентская база вырастет в 100 раз, это упростит нам жизнь.
  • Нужно использовать дизайн на основе наследования типов, хотя композиция гораздо проще, но после 5 лет увеличения кодовой базы это упростит нам жизнь.
  • Нужно написать код в C++ с кэшированием представлений, хотя Python-скрипт с прямыми запросами к Postgres гораздо проще, но при большом увеличении объёма данных это упростит нам жизнь.

Недавно я написал статью о воображаемых проблемах, которые люди придумывают себя со скуки, а не для пользы. Создание запаса на будущее обычно относится к этой категории. Я бы даже сказал, что это самая популярная ошибка в большинстве маленьких компаний.
Читать дальше →
Total votes 48: ↑41 and ↓7 +34
Views11.1K
Comments 101

Information

Rating
5,757-th
Location
Россия
Date of birth
Registered
Activity