Pull to refresh
17
0
Andrewus @Andrewus

Head of platform & devops lead

Send message

Пишем игру для Android c помощью AndEngine. Часть 3

Reading time4 min
Views17K
Всем привет!
Вот и долгоданное продолжение цикла статей о том как создать для андроид не очень простую игру с помощью AndEngine.

Уже ознакомились с предыдущими статьями?
Часть 1
Часть 2
Тогда продолжим.
Читать дальше →

12 законов и правил, которые помогут в создании успешного дизайна

Reading time8 min
Views75K
Люди в течение многих веков упорядочивали важные знания, которые теперь составляют основу правил дизайна. Это знания об общей природе положительных реакций человека. Дэвид Хьюм назвал такую природу «постоянными и универсальными принципами человеческого естества». Правила универсального дизайна не всегда могут быть мерилом всех вещей, но они могут помочь добиться успеха в различных сферах деятельности, включая коммуникации, производство, услуги, технику, искусство и природоохранное проектирование.

Читать дальше →

IPO for dummies. Часть VII: про инсайд

Reading time5 min
Views3.1K
Начало и оглавление см. в первой части.

Так что там про инсайд?

Если ты руководишь компанией, то определённо располагаешь бóльшим объемом информации, чем какой-нибудь миноритарий, купивший её акции на бирже через Интернет.

Но, если ты воспользуешься этим преимуществом, торгуя акциями, это будет нечестно по отношению к обычным покупателям-миноритариям. Согласись, если всё имущество твоей компании состоит из нефтяного танкера, и тебе первому сообщили, что он затонул, столкнувшись в Атлантике с айсбергом, то… ты бросишься на биржу продавать свои акции и останешься при деньгах. А вот акционеры компании, что узнают про затонувший танкер через пару дней из репортажа CNN, останутся с кучей мгновенно подешевевших до уровня фантиков акций на руках. Некрасиво, правда?
Читать дальше →

IPO for dummies. Часть VI: сложности выбора — два Lamborghini Gallardo или один Aventador?

Reading time6 min
Views2.5K
Начало и оглавление см. в первой части.

Итак, моя компания вышла на IPO. Теперь я, как основатель, могу наконец-то сбросить свои акции и купить Lamborghini Gallardo! Да, я помню, что их придётся продавать «ниже рынка», но уж очень хочется прокатить Тамарку с пятого этажа на красивой спортивной машинке…

Ты весь бизнес затеял ради наживы, что ли?

(Возмущённо) Ради чего затеял — моё дело. Продам акции, куплю тачку-яхту-остров, буду наслаждаться, а дальше хоть трава не расти!

«Трава не расти», говоришь? Я правильно понимаю, что ты, основатель, хочешь выйти из бизнеса и забросить его?

У меня для тебя неприятная новость.
Читать дальше →

cssHooks — расширяем множество CSS свойств

Reading time5 min
Views3.3K
В этой статье я расскажу об объекте jQuery.cssHooks, который по умолчанию содержится в jQuery. Расширение этого объекта позволяет добавлять новые свойства или значения, прописываемые в методе .css(), которые изначально не поддерживаются теми или иными браузерами. Возможно, для многих наличие CSS хуков не является новостью, но для меня это стало небольшим открытием.
Для тех, кому лень дальше читать, привожу основную мысль. Допустим, вы хотите в jQuery добавить CSS свойство chuck-norris:
$.cssHooks.chuckNorris = {
	get: function(elem) {
		//проводим манипуляции с узлом elem, получаем value
		return value;
	},
	set: function(elem, value) {
		//проводим манипуляции с узлом elem, устанавливаем value
	}
}

$(el).css(‘chuck-norris’, Infinity);
//или $(el).css({‘chuck-norris’: Infinity});
alert($(el).css(‘chuck-norris’)); //Infinity


Далее будет подробно описана «модификация» свойства background-color для поддержки rgba в старых версиях IE и добавление нового, несуществующего в спецификации свойства background-alpha для удобной установки прозрачности фонового цвета. В IE прозрачность цвета будет реализована с помощью использования свойства filter, добавляя элементу градиент, состоящий из двух одинаковых цветов.
Читать дальше →

Знак рубля на сайте: экспресс-метод

Reading time2 min
Views105K
Знак рубля

Задача


Без лишней головной боли начать использовать знак рубля на сайте.

Идея


В свободно распространяемых (в том числе для использования в вебе) шрифтах PT Sans и PT Serif среди символов есть и знак рубля. Если использовать эти шрифты на сайте, то для решения задачи можно обойтись без лишнего html-кода, css-бубнов, векторной графики и прочих джедайских извращений.

Читать дальше →

Реализация серверной части в многопользовательских онлайн играх

Reading time3 min
Views16K
За свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.

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

Читать дальше →

Пишем одностраничный клиент на javascript

Reading time5 min
Views48K
Данная статья является вольным переводом. Оригинал тут.

Введение


Думаю, ни для кого не секрет, что клиентские приложения в современных веб-сервисах становится все сложнее и количество JS кода в них растет. До недавнего времени архитектура клиентской части, как правило, разрабатывалась с нуля и была специфична для каждого проекта. Не удивительно что приходилось снова и снова сталкиваться с типичными задачами.
К MVC-фреймворкам на серверной стороне все уже привыкли, но JS код на клиенте часто бывает плохо структурирован.

Предлагаю ознакомиться с решением на базе backbone.js, underscore.js и jQuery, которое поможет решить эту проблему.

Постановка задачи


Каким бы мы хотели видеть наше приложение? Вот основные моменты, которые мне кажутся важными:
  1. Должен быть удобный способ описать модели нашей предметной области.
  2. Любые изменения в модели должны немедленно отражаться в пользовательском интерфейсе, если модель в нем представлена каким-либо образом.
  3. Понятная и легко-поддерживаемая структуризация кода в стиле MVC.


Попробуем решить эти задачи на примере простого приложения «Каталог фильмов».
Поехали!

Наибольшая угроза — сотрудники компании

Reading time3 min
Views2.3K
imageДепартамент Государственной Безопасности США планирует объединиться с двумя институтами: SANS Institute и Mitre для того чтобы выпустить документ, направленный на ознакомление широкой публики с уязвимостями ПО, на котором работает большая часть веба, сделав его таким образом менее восприимчивым к атакам, участившимся в последнее время, не без помощи LulzSec и Anonymous.

Как пишет The New York Times — это будет список из 25 наиболее распространенных программных ошибок, которые могут привести к серьезным и критичным хакам различных систем. Идея проста и заключается в том, чтобы научить частные компании и государственные организации работать с каналами и инструментами, которые используются взломщиками для получения конфиденциальной информации или доступа к серверам. Как правило для подобных атак используются общие дыры или ошибки в ПО.

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

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

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

На этой неделе Bloomberg опубликовал замечательную статью: "Человеческие ошибки, идиотизм питающий хакинг" где достаточно глубоко рассматривается в первую очередь человеческий фактор, влияющий на утечку ценных данных (ведь в итоге сам по себе взлом системы, без последствий, не несет урона организации). И хотя на первый взгляд это может показаться беспочвенным обвинением, не будем забывать о том, что крупнейшая утечка в современной истории — WikiLeaks, произошла исключительно из-за доступа одного человека с носителем данных к конфиденциальной информации. По сообщениям людей хорошо знакомых с ситуацией, все что нужно было сделать Брэдли Маннингу (Bradley Manning) — вставить диск в компьютер и начать скачивать.
Читать дальше →

10 способов улучшить свои навыки программирования

Reading time4 min
Views89K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →

Женщины и игры. Ключевые моменты

Reading time6 min
Views17K
Голая баба. Шутка :)Основной характеристикой игрового продукта является охват аудитории, чем он больше, тем больше потенциальная возможность получить высокие прибыли. Долгое время игровой аудиторией были мужчины, но время идёт и теперь взоры разработчиков игр направлены на перспективную женскую аудиторию.

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

Как зашифровать Ваши файлы и улучшить безопасность Dropbox

Reading time4 min
Views39K
imageDropbox — действительно отличный сервис. Он дает Вам свободные 2 гигабайта памяти, чтобы хранить Ваши файлы и предоставляет вам доступ и синхронизации их между различными компьютерами, независимо от того запускаете вы его на Windows, Mac, Linux или любой другой мобильной ОС. Однако, есть одна проблема. Все файлы, которые Вы храните в облаке, не зашифрованы. Кто бы ни взламывал Ваш аккаунт, может просмотреть и получить доступ ко всем файлам в Вашем аккаунте, включая те конфиденциальные документы, которые Вы синхронизировали по облаку.

Почему это важно? Ошибка, сделанная командой Dropbox несколько дней назад, оставляла личный кабинет Dropbox'a открытым в течение 4 часов. В течении этого времени кто угодно мог войти в любой аккаунт и получить доступ ко всем файлам в этом аккаунте без любого пароля. В то время как это затронуло только 1 % их пользователей (который составляет примерно 250 000, и это не маленькое число), если Вы — один из тех, аккаунты чьи попали под угрозу, либо у Вас есть конфиденциальные файлы в Вашем Dropbox, лучше зашифруйте его чтоб подобные вещи были вам не страшны.
Читать дальше →

Размытие изображений по Гауссу с помощью SVG

Reading time6 min
Views16K


В этом топике я хотел бы рассказать, как добавить изображениям на веб странице эффект размытия по Гауссу без использования флеша. Статью я планировал написать еще год назад, и, к моему большому удивлению, меня никто не опередил, хотя тема достаточно проста и интересна как с точки зрения веб дизайна, так и с точки зрения клиентской разработки. Для создания эффекта будем использовать уже ставшую популярной технологию SVG, которая работает во всех последних версиях браузеров. Для IE8- воспользуемся CSS фильтрами (Blur в частности), которые работают только в продуктах Microsoft. Для начала, предлагаю ознакомиться с итоговым вариантом здесь (наведите на любое изображение). Скрипт представлен в виде jQuery плагина, но выдернуть его для использования вне jQuery не составит труда.

Очевидно, целью работы являетя не только размытие картинки, а и анимация этого размытия.

Из простейшего примерамы видим, что интенсивность размытия зависит от атрибута stdDeviation в теге feGaussianBlur.
Читать дальше →

Разработка IFrame приложения для ВКонтакта

Reading time9 min
Views18K
Несмотря на то, что данная социалка «горячо любима» аудиторией хабра, я всё же решил рискнуть и опубликовать небольшие заметки посвящённые разработке приложений на Джанге под неё.

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

Под катом:
  • django-vkontakte-iframe и vkontakte
  • Загрузка приложения на стену
  • Флеш-заглушка
  • Сессия в горячо любимом IE
  • Все «flashVars» передаются GET запросом
  • Работа во фрейме
  • Доступ к информации пользователя
  • Проверка валидности вёрстки
  • JSLint ваш друг и товарищ
  • Генерирование миниатюр
  • Модерация через прокси-модель
  • Импорт настроек
  • Оптимизация

На правах рекламы: Приложение называется «Коллекционер» и предназначено для людей занимающихся коллекционированием монет, марок, карт и других предметов. В данный момент наполнен лишь каталог карт MTG, но в будущем будут созданы и наполнены каталоги для других предметов. Разумеется, мы с радостью выслушаем все ваши предложения и конструктивную критику.
Читать дальше →

Опытные мелочи-9, или «Вы больны! Как лечить будем?»

Reading time5 min
Views6.1K
image Продолжение «опытных мелочей». Предыдущие части можно почитать тут.

Время от времени у каждого системного администратора возникает необходимость проверить «подозрительный» компьютер на предмет вредоносного ПО. Или странный трафик с него идет, или странные окошки вылезают, или того хуже какой-нибудь WinLock словили. Я расскажу о простой, почти пошаговой экспресс-методике, которую мы предлагаем нашим саппортерам-новичкам. Кому-то, возможно, она покажется неполной или слишком простой, тем не менее многие проблемы с ее помощью определить можно. А понять проблему — уже половина решения. В любом случае, буду рад прочитать в комментариях ваши дополнения и полезные советы по этому вопросу.

Читать дальше →

Временное переключение WIFI в режим точки доступа

Reading time3 min
Views36K
Представьте, что вы поехали в другую страну, у вас собой есть смартфон и вам очень нужно зайти с него в интернет (например синхронизировать контакты или поставить какой-то софт). Какие есть варианты?
— Первый вариант — это мобильный интернет. К сожалению, это не всегда просто и не всегда дёшево.
— Второй вариант — WIFI. Вам повезло, если вы можете подключиться к WIFI там, куда вы прибыли, и в этом случае задача уже решена.
— Третий вариант — LAN. А что если у нас есть только LAN? Самое простое — это захватить с собой из дома небольшую точку доступа, но что если вы её не взяли с собой или у вас её нет? В этос случае вам поможет случайно захваченный с собой ноутбук или нетбук :)

Имеем


— EeePC 901 с Ubuntu 10.10
— Смартфон
— Локальная сеть

Задача


— Получить доступ в сеть со смартфона используя WIFI
Читать дальше →

Cвязывание данных в JavaScript-приложениях: автороутинг событий

Reading time7 min
Views3.4K
Привет Хабр! В этой статье я рассмотрю один из вариантов построения архитектуры клиент-серверного веб-приложения с точки зрения связывания данных. Этот вариант не претендует на оригинальность, но лично мне позволил значительно сократить время на разработку, а также оптимизировать время загрузки.
Читать дальше →

Массовое надписывание и загрузка изображений в Picasa Web Albums

Reading time4 min
Views2K

Пролог


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

Один из самых очевидных способов — добавлять на изображения надпись с указанием вашего веб-сайта, имени, копирайта или копилефта. Для этого домохозяйка откроет любимый графический редактор, выберет инструмент «Текст» и напишет красивыми буквами послание будущим поколениям.

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

Вторая рутинная операция фотографа-блогера-графомана — загрузка изображений на уютный хостинг.

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

Посему скрипт. Поэтому я люблю Линукс. Поэтому я люблю Picasa Web Albums: Google отдал нам на растерзание googlecl — очень простую утилиту для работы с сервисами Корпорации Добра из командной строки (про неё уже кратко рассказывалось на Хабре).

Скрипт очень прост и легко подстраивается под новые неожиданные нужды.

Довольно лирики

Стратегия восстановления поврежденной таблицы в MySQL

Reading time4 min
Views11K
Началось все с того, что в один прекрасный момент ядро прибило демона mysqld и mysql_safe автоматом его перезапустил и все бы хорошо, да только таблицы в БД использовались MyISAM. В итоге пришлось воспользоваться myisamcheck но это совсем другая история. В процессе проверки и починки индексов пострадала одна таблица и было принято решение восстанавливать из бекапов, хорошо, что раз в сутки делаются.

Исходные данные:
  • имеем сервер БД с MySQL на борту;
  • поврежденную таблицу логов(статистики) чего угодно, что постоянно заполняется и может например не использоваться какое-то время;
  • суточный бекап;
  • бинарные логи с последнего суточного(полного) бекапа.

Задача:
  • сервер должен быть доступен для работы;
  • новые данные должны попадать в таблицу;
  • восстановить целостность данных.

Ожидаемый результат:
данные в поврежденной таблицы восстановлены без останова базы дынных;
таблица содержит все данные включая текущие.
Читать дальше →

Глубокое погружение в определение местоположения

Reading time8 min
Views24K
Этот пост является переводом топика из блога android-developers. Далее повествование ведется от Рето Майера, автора книги Professional Android 2 Application Development. Он пишет о том, как можно улучшить приложения, использующие местоположение, в смысле кэширования результатов, скорости работы и так далее.

Без разницы, ищете ли вы место, где бы поесть, или ближайшее место велосипедов Boris Bike, всегда есть задержка при получении данных местоположения от GPS и заполнении абстрактного списка результатов в вакууме. Когда вы находитесь в месте, где хотели бы получить контекстную информацию, то часто вы сталкиваетесь с отсутствием подключения к данным.

Вместо того, чтобы грозить кулаком в небо, я написал open-source приложение, которое включает в себя советы и рекомендации по сокращению времени между открытием приложения и просмотром актуальной информации о близлежащих местах, вкупе с разумным обеспечением offline режима работы. И всё это, сохраняя использование аккумулятора на возможном минимуме.
Читать дальше →

Information

Rating
2,848-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity