Как стать автором
Обновить
0
flypigs @flypigsread⁠-⁠only

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

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

Современный PHP без фреймворков

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


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

Читать дальше →
Всего голосов 96: ↑78 и ↓18+60
Комментарии265

Использование CSS-grid при проектировании пользовательских интерфейсов

Время на прочтение7 мин
Количество просмотров18K
CSS-grid — это отличный инструмент для создания макетов страниц контентно-ориентированных сайтов, включающих в себя большие фрагменты текста и другие материалы. Кроме того, эта технология имеет огромное значение и для великого множества традиционных пользовательских интерфейсов веб-приложений.

image

В материале, перевод которого мы сегодня публикуем, Джош Мариначчи рассказывает о том, как использовать CSS-grid для проектирования макетов страниц. Речь пойдёт о страницах, которые способны реагировать на воздействия пользователя и на изменение их содержимого, но при этом всегда ведут себя так, как от них ожидается, в частности — при прокрутке их содержимого.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии8

Работа с изометрическими картами в cocos2d

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

Привет все читателям сайта habrahabr.ru


Недавно решил заняться разработкой игр под IOS, причиной стал прочитанный пост на сайте. Это занятие помогает не впустую тратить свое время и думаю в будущем принесет неплохую добавку к зарплате. По началу прочитал книгу по Objective-C и принялся искать хороший, но бесплатный движок для написания игры, так как чистый OpenGL не хотелось использовать. Выбор пал на cocos2d, тут и друг посоветовал и нашел много хороших отзывов на сайте про него, плюс не раз слышал, что разработчики часто отвечают на вопросы на форумах.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии6

Продвижение инди-игры на Steam Greenlight

Время на прочтение11 мин
Количество просмотров97K
Всем, привет! Наша команда сейчас проходит важный этап становления любого разработчика игр — первый запуск игры на Steam Greenlight. Пока я готовил материал для этой статьи, наша игра вошла в ТОП-100 проектов на Greenlight, набрала почти 2000 голосов «ЗА» и через 12 дней получила зелёный свет.

В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.

image
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии14

Игровой мир WebGL или Three.js vs Babylon.js

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


Когда я начинал писать свою первую игрушку на three.js я и не думал, что на самом деле three.js это верхушка айсберга в мире WebGL и что есть десятки разнообразных фреймворков и у каждого из них свой специфический уклон, а three.js просто один из них.

Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Продолжение — многопользовательский шутер

Далее подробней с небольшими примерами
Всего голосов 54: ↑53 и ↓1+52
Комментарии18

Ошибки новичка в сфере разработки игр

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

Оригинал изображения

Полгода назад я рассказывал про свой опыт работы фрилансером на oDesk. После этого я решил оставить разработку Android приложений на заказ и заняться своей давней мечтой — созданием игр. Мы с друзьями объединились, и работа закипела…

Для начала хочу рассказать о текущем состоянии проекта:
Время от разработки до публикации: 2 месяца
Время нахождения в магазинах приложений: 3 месяца
Загрузки iOS: > 15000 (93 % русскоязычные пользователи)
Загрузки Android: > 35000 (63 % русскоязычные пользователи)

Данный проект не является финансово успешным на данный момент, поэтому я хочу рассказать о наших ошибках.
Статья в первую очередь предназначена для новичков в сфере разработки игр.
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Комментарии22

Scapegoat-деревья

Время на прочтение7 мин
Количество просмотров11K
Сегодня мы посмотрим на структуру данных, называемую Scapegoat-деревом. «Scapegoat», кто не в курсе, переводится как «козёл отпущения», что делает дословный перевод названия структуры каким-то странным, поэтому будем использовать оригинальное название. Деревьев поиска, как вы, возможно, знаете есть очень много разных видов, и в основе всех их лежит одна и та же идея: "А хорошо бы при поиске элемента перебирать не весь набор данных подряд, а только какую-то часть, желательно размера порядка log(N)".

Для этого каждая вершина хранит ссылки на своих детей и какой-то критерий, по которому при поиске точно понятно, в какую из дочерних вершин надо перейти. За логарифмическое время это всё будет работать тогда, когда дерево является сбалансированным (ну или стремится к этому) — т.е. когда «высота» каждого из поддеревьев каждой вершины примерно одинакова. А вот способы балансировки дерева уже у каждого типа деревьев свои: в красно-чёрных деревьях в вершинах хранятся маркеры «цвета», подсказывающие когда и как нужно перебалансировать дерево, в АВЛ-деревьях в вершинах хранится разница высот детей, Splay-деревья ради балансировки вынуждены изменять дерево во время операций поиска и т.д.

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

К достоинствам Scapegoat-дерева можно отнести:
  • Отсутствие необходимости хранить какие-либо дополнительные данные в вершинах (а значит мы выигрываем по памяти у красно-черных, АВЛ и декартовых деревьев)
  • Отсутствие необходимости перебалансировать дерево при операции поиска (а значит мы можем гарантировать максимальное время поиска O(log N), в отличии от Splay-деревьев, где гарантируется только амортизированное O(log N))
  • Амортизированная сложность операций вставки и удаления O(log N) — это в общем-то аналогично остальным типам деревьев
  • При построении дерева мы выбираем некоторый коэффициент «строгости» α, который позволяет «тюнинговать» дерево, делая операции поиска более быстрыми за счет замедления операций модификации или наоборот. Можно реализовать структуру данных, а дальше уже подбирать коэффициент по результатам тестов на реальных данных и специфики использования дерева.

К недостаткам можно отнести:
  • В худшем случае операции модификации дерева могут занять O(n) времени (амортизированна сложность у них по-прежнему O(log N), но защиты от «плохих» случаев нет).
  • Можно неправильно оценить частоту разных операций с деревом и ошибиться с выбором коэффициента α — в результате часто используемые операции будут работать долго, а редко используемые — быстро, что как-то не хорошо.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

Бесплатные электронные книги от Microsoft

Время на прочтение1 мин
Количество просмотров32K
Eric Ligman, Директор по партнерским программам компании Microsoft, опубликовал в блоге ссылки на большую бесплатную коллекцию книг Microsoft по самым разным направлениям: SharePoint, Visual Studio, Windows Phone, Windows 8, Office 365, Office 2010, SQL Server 2012, Azure, Cloud, Lync, Dynamics CRM и т.д.
Читать дальше →
Всего голосов 58: ↑50 и ↓8+42
Комментарии21

Заземление. Что это такое и как его сделать (часть 3)

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


1 часть. Заземление
(общая информация, термины и определения)


2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)



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

Д. Основные способы строительства

Д1. Модульное заземление (для обычных грунтов)

Д1.1. Особенности решения
Д1.1.1. Универсальность и простота применения
Д1.1.2. Долгий срок службы
Д1.1.3. Зависимость уменьшения сопротивления заземления от увеличения глубины электрода
Д1.1.4. Суперкомпактность
Д1.1.5. Никакой сварки
Д1.2. Расчёт получаемого сопротивления заземления
Д1.3. Монтаж
Д1.4. Достоинства и недостатки

Д2. Электролитическое заземление (для вечномёрзлых или каменистых грунтов)

Д2.1. Особенности решения
Д2.1.1. Простота применения в вечномёрзлых или каменистых грунтах
Д2.1.2. Компактность
Д2.1.3. Образование талика
Д2.1.4. Никакой сварки
Д2.2. Расчёт получаемого сопротивления заземления
Д2.3. Монтаж
Д2.4. Достоинства и недостатки


Д. Основные способы строительства

Напомню о достоинствах и недостатках традиционных способов строительства заземлителей, описанных в прошлой части:
Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии61

Пишем бота, или «Сказка о добром боте»

Время на прочтение3 мин
Количество просмотров3.4K
Пока ты спишь враг качается! (с)народная мудрость

Всем рано или поздно хочется спать. Как оторваться от монитора, если ты весь в сражении? А тут еще и ресурсы можно копать между поединками. А самое обидное, что ты выкладываешься на 120% но всегда, на любом уровне есть задрот человек, который обходит тебя по параметрам, качеству и количеству одежды, оборудованию, верному питомцу. Что делать? Как быть? Писать бота!
Читать дальше →
Всего голосов 22: ↑5 и ↓17-12
Комментарии10

Домашний сервер. WiFi роутер

Время на прочтение6 мин
Количество просмотров33K
Домашний сервер это просто… компьютер, работающий 24 часа, 7 дней в неделю, 365 дней в году. Что он делает?
«Раздает» интернет по проводу и по воздуху.
Является складом с круглосуточном доступом для всех ваших коллекций фильмов, музыки, игр, программ, backup'ов важной информации, сюда же можно добавить, что это ваше файловое хранилище доступное внутри сети, а если постараться, то и из любого уголка мира можно попасть в него. Понравилось? Хотите «завести» подобное у себя дома?
Тут вспоминается фраза из анекдота — «Главное, мужики, не бояться!».
Читать дальше →
Всего голосов 25: ↑15 и ↓10+5
Комментарии17

Загрузочный телефон

Время на прочтение1 мин
Количество просмотров40K
У вас наверняка есть «обычный сотовый телефон», умеющий звонить, играть музыку с флеш-карты и прикидываться по случаю кардридером при подключении к «большому брату». Ну или был. Или есть у вашей второй половины/родителей/детей/бабушек/дедушек/etc. Вы никогда не думали использовать его более гиковским способом, чем просто средство связи? Я не имею в виду модификацию прошивок и получение консольного доступа к самому телефону, нет — все намного банальнее и интереснее одновременно.


рецепт приготовления
Всего голосов 342: ↑278 и ↓64+214
Комментарии133

Подводные камни веб-разработчика

Время на прочтение5 мин
Количество просмотров1.4K
Данные размышления долгое время лежали в черновиках и являлись следствием «накипело» за время разработки приложения под Nokia. Первый вариант статьи был написан в виде критики, но поскольку на Хабре нападок на компанию и так много, я переделал статью в ином ключе.

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

Nokia для веб-разработчика
Всего голосов 40: ↑35 и ↓5+30
Комментарии23

Как самому нарисовать гравюру

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

Как нарисовать гравюру.


В этой статье я хотел бы познакомить Вас с программой Strokes Maker, предназначенной для создания штриховых векторных гравюр, показать некоторые возможности и нарисовать портрет, например — Билла Гейтса (векторных — потому что получаемый результат экспортируется в векторный формат в виде набора замкнутых линий).
Читать дальше →
Всего голосов 139: ↑133 и ↓6+127
Комментарии38

Эмоции в нейросетях

Время на прочтение5 мин
Количество просмотров6.5K
Балуясь с нейронными сетями и алгоритмами самообучения для них, столкнулся с мыслью, что алгоритм обучения с учителем вполне мог бы быть отнесен к категории самообучения, если бы учителя заменили «эмоциональными» нейронами. Такие нейроны, по сути, являются просто датчиками «хорошо/плохо», а при соединении с обычными нейронами создают определенные связи, гасящие либо возбуждающие в зависимости от типа датчика.
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии35

Вселенная Away3d — Эпизод 2: В начале было....#000000

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

Вселенная Away3d — Эпизод 1: Установка и настройка

Время на прочтение2 мин
Количество просмотров3.1K
Как известно каждый флешер должен создать флеш-сайт, игру и эксперимент в 3д :) Вот теперь руки дошли и до 3д. Мне понравился слоган: «Нет 3д демкам во флеше, даешь приложения», поэтому руководствуясь тем что нравится в этом цикле статей (уроков, туториалов — называйте как хотите) «Вселенная Away3d» ты уважаемый читатель пройдешь полный (я надеюсь :) ) путь создания трехмерной игры во флеше.
Для того, чтобы использовать приведенные здесь примеры, нужен Flex Builder 3 c SDK версии 3.2 или выше. Конечно Away3d можно использовать и с Flash CS3/4, но Flex Builder 3 мне представляется гораздо более удобен для разработчика.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии3

Android на Windows

Время на прочтение1 мин
Количество просмотров64K
Небольшая компания единомышленников представила alpha версию программного обеспечения, которое позволяет запускать Android приложения под Windows.



Узнать больше
Всего голосов 86: ↑80 и ↓6+74
Комментарии78

Ваш первый бюджетный Android планшет

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


 Всем привет. Расскажу я вам об одном китайском планшете, владельцем которого являюсь уже порядка трех месяцев. Имя производителя, а так же название модели разнятся в китайских интернет-магазинах, где данный девайс продается. Мы можем увидеть его под такими именами, как Dropad A8, Herotab C8, или же для российских пользователей как RoverPad Air S70.

Давайте познакомимся
Всего голосов 84: ↑75 и ↓9+66
Комментарии201

Я хочу работать в Google! Телефонное интервью (часть 1)

Время на прочтение4 мин
Количество просмотров31K
Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
Читать дальше →
Всего голосов 207: ↑182 и ↓25+157
Комментарии99
1
23 ...

Информация

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