Pull to refresh
0
flypigs @flypigs read⁠-⁠only

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

Send message

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

Reading time 13 min
Views 90K


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

Читать дальше →
Total votes 96: ↑78 and ↓18 +60
Comments 265

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

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

image

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

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

Reading time 6 min
Views 15K

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


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

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

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

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

image
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Comments 14

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

Reading time 17 min
Views 77K


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

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

Далее подробней с небольшими примерами
Total votes 54: ↑53 and ↓1 +52
Comments 18

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

Reading time 15 min
Views 98K

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

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

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

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

Scapegoat-деревья

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

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

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

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

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

Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 6

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

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

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

Reading time 16 min
Views 97K


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. Достоинства и недостатки


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

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

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

Reading time 3 min
Views 3.3K
Пока ты спишь враг качается! (с)народная мудрость

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

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

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

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

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


рецепт приготовления
Total votes 342: ↑278 and ↓64 +214
Comments 133

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

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

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

Nokia для веб-разработчика
Total votes 40: ↑35 and ↓5 +30
Comments 23

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

Reading time 7 min
Views 29K
image

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


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

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

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

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

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

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

Reading time 4 min
Views 20K


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

Давайте познакомимся
Total votes 84: ↑75 and ↓9 +66
Comments 201

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

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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity