Pull to refresh
0
flypigs @flypigsread⁠-⁠only

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

Send message

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

Reading time13 min
Views90K


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

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

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

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

image

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

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

Reading time6 min
Views15K

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


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

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

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

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

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

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

Reading time17 min
Views78K


Когда я начинал писать свою первую игрушку на 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
Comments18

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

Reading time15 min
Views98K

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

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

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

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

Scapegoat-деревья

Reading time7 min
Views11K
Сегодня мы посмотрим на структуру данных, называемую 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
Comments6

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

Reading time1 min
Views32K
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
Comments21

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

Reading time16 min
Views97K


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
Comments61

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

Reading time3 min
Views3.4K
Пока ты спишь враг качается! (с)народная мудрость

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

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

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

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

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


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

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

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

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

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

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

Reading time7 min
Views29K
image

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


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

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

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

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

Reading time2 min
Views3K
Как известно каждый флешер должен создать флеш-сайт, игру и эксперимент в 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
Comments3

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

Reading time4 min
Views20K


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

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

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

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

Information

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