Search
Write a publication
Pull to refresh
0
0
Роман @Expellee

User

Send message

Разработка производительных приложений

Reading time9 min
Views5.7K

Производительные приложения



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

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

Основы SQL на примере задачи

Reading time6 min
Views689K
В этом руководстве мы рассмотрим основные sql команды на примере небольшой задачи. При прочтении желательно сидеть за консолью mysql и вводить все запросы для большей наглядности.

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


Дана база данных, в ней 3 таблицы следующего вида:




table1: user_id (INT(5), PRIMARY KEY), username (VARCHAR(50), INDEX)
table2: phone_id (INT(5), PRIMARY KEY), user_id (INT(5), INDEX), phone_number (INT(10), INDEX)
table3: room_id (INT(5), PRIMARY KEY), phone_id (INT(5), INDEX), room_number(INT(4) INDEX)

Необходимо выбрать номер комнаты в которой сидит пользователь с ником qux…
Читать дальше →

Флаги 254 стран одним спрайтом

Reading time1 min
Views16K
Однажды, nickivanov нарисовал миниатюры для кучи разных флагов и выложил их в свободный доступ. А недавно, artpolikarpov собрал их в один спрайт и написал к нему удобный css, который позволяет легко отобразить любой флаг просто указанием нужного класса.

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

И был бы этот топик топиком-ссылкой, да по необъяснимым причинам не разрешает Хабр в топиках-ссылках указывать авторов, заслуживающих похвал. Так что вот они ссылки:
Описание: artpolikarpov.ru/projects/flags
Архив с флагами: artpolikarpov.ru/projects/flags/flags.zip

Занимательная арифметика ИТ-стартапа

Reading time3 min
Views1.4K
Все мы знаем, что наше государство любит и всячески поддерживает инновации. В частности, оно активно приветствует предпринимательство в сфере информационных технологий. От нас ждут российских гуглов и фейсбуков, и изо всех сил стимулируют стартап-активность.
Ни для кого не секрет, что в типичном ИТ-стартапе основная статья расходов (фактически, до 90%) — это зарплата сотрудников и связанные с ней налоги. Этот год, так уж случилось, многое поменял и кое-что еще поменяет в этой области. Предлагаю всем желающим оценить усилия нашего государства в области поддержки нас, ИТ-стартаперов.
На самом деле тема может быть интересной не только участникам стартапов, но и просто работающим за зарплату в любых компаниях и периодически задающих себе (или руководству) вопросы типа «почему мне в этом году не поднимают зарплату?» или «почему у нас зарплата серая?».

Предупреждаю сразу: под катом скучные слова и цифры, развлечься не получится.
Читать дальше →

Каталог Arduino-проектов

Reading time1 min
Views8.1K
Всем хабраумам привет!

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

Использование сайтов типа Pastebin для сбора информации о цели пентеста

Reading time2 min
Views6K
Сайты для общего использования текста типа «Pastebin» (Pastebin, Pastie и т.п.) являются популярными хранилищами скомпрометированных данных. Наблюдение за ними может помочь обнаружить утечку данных компании. Кроме того, такие сервисы могут помочь пентестеру на этапе сбора информации о цели.

Сайты, на которые я ссылаюсь: Pastebin, Pastie, FrubarPaste, YourPaste, Codepad, Slexy и LodgeIt. Здесь можно найти информацию, оставленную не только злоумышленником, но и неосторожным сотрудником.

Под катом немного текста и описание инструментов для автоматизированного поиска

Генерация аналитических поверхностей на примере карт

Reading time4 min
Views5.9K

Введение


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

Обзор свежих материалов, апрель-май 2011

Reading time9 min
Views1.2K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-март 2011.


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

Консольный cucumber и capybara при помощи Selenium и Hudson

Reading time4 min
Views4.3K
В наши дни разработчики ПО не могут прожить без их любимых тестовых фреймворков. Но вот чего разрабочики не хотят — так это обеспечивать постоянный запуск этих тестов. Также, команды разработчиков не хотят тратить время на доведение результатов теста до всех.

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

Наша цель — задокументировать шаги, требуемые для преодоления встречающихся препятствий на пути к запуску полного набора тестов Cucumber со сценариями на Selenium на сборочном сервере Hudson.
Читать дальше →

Пользователи открытых свободных географических карт (да и не только их) получили возможность использовать многочисленные открытые свободные значки

Reading time1 min
Views3.1K
Перед вами — одна из тех блогозаписей, которая стала бы топиком-ссылкою, кабы предмет её можно было адекватно и немногословно передать словами. Однако не тут-то было: это надо видеть. Глядите же, вот как выглядят разноцветные значки из коллекции «Map Icons Collection», которую создал автор по имени Nicolas Mollet и которую он раздаёт по лицензии Creative Commons 3.0 BY-SA:

[скриншот карты]

Эту иллюстрацию я взял из блога ШТОСМ, и на ней значки представлены на карте Google, судя по виду — однако же нетрудно думать, что наибольшая выгода от их появления заключена именно в возможности сочетать эти значки с OpenStreetMap и тем добиваться лицензионной чистоты картографической демонстрации, не теряя в качестве.

А вот другие достоинства:
  • Значки многочисленны: их более полутысячи, хотя некоторые варианты отличаются только цветом. Их каталог на сайте организован по категориям и подкатегориям. Все значки одной категории (если не перекрашены пользователем) имеют один и тот же цвет.
     
  • Цвет внутренности значка может быть выбран свободно. Кроме того, пользователь может выбирать из семи различных стилей оформления внутренней части значка и внешнего контура, основывающихся на этом цвете:

    [скриншот]
     
  • Набор значков каждого стиля можно скачать в ZIP-архиве, хотя внутри значки лежат простой кучею, а не по категориям.
Читать дальше →

HBase + Thrift + PHP

Reading time4 min
Views11K
Видимо так сложилось исторически, но на хабре не очень много статей о HBase, Thrift и тем более о том как их связать для работы с PHP клиентом. Давайте же ликвидируем этот пробел и пройдемся от инсталяции HBase до получения PHP клиентом примитивных данных из HBase.
Читать дальше →

Подводные камни при работе с php-handlersocket

Reading time4 min
Views4.7K
HandlerSocket — это noSQL-плагин для mySQL, позволяющий обращаться к базам данных в обход уровня SQL.

Данная статья предназначена для тех, кто успешно поставил HandlerSocket и php-handlersocket, а также столкнулся со скудным мануалом и странным поведением этого плагина для php.
Читать дальше →

Pdf.js прошёл первый пиксельный тест

Reading time3 min
Views4K
В июне Андреас Гал (Andreas Gal) с коллегами из Mozilla представили движок pdf.js для отображения PDF средствами HTML5/JavaScript. В первоначальной версии он работал неидеально, но разработчики всерьёз взялись за дело и буквально каждый день добавляли функционал: рендеринг графики, GUI и др. Но самое главное, что реализована динамическая загрузка шрифтов TrueType и кардинально улучшена загрузка шрифтов PostScript Type 1.

В итоге, сейчас Андреас Гал решил, что первый тест пройден и pdf.js попиксельно точно* отображает тестовый документ (демо).

Теперь pdf.js присвоен номер версии 0.2 и поставлена новая задача: отрендерить официальные спецификации PDF 1.7 (документ содержит 1310 страниц, файл 31 МБ).

*На самом деле «идеальный» рендеринг достигается только в сборке Firefox Nightly под Windows 7 (c рендерингом шрифтов через Direct2D и DirectWrite), в остальных — близкий к идеалу или не очень близкий, в зависимости от браузера и ОС.
Читать дальше →

WaterSpout — веб сервер для асинхронной передачи данных

Reading time1 min
Views1.8K
Сегодня речь пойдёт об WaterSpout — веб сервере, способном обрабатывать websockets запросы, позволяя общаться в реальном времени между сервером и браузером используя websockets или long polling. Написан он на PHP.

В первую очередь идёт проверка поддерживаются ли websockets (это Chrome, Опера и FF, если включим), если нет, то ничего страшного, будет использоваться long polling.
Преимущества этой технологии: доставка сообщений мгновенна, высокая производительность. Тестировал в Chrome, FF, IE6+.
Демка.
Читать дальше →

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

Reading time7 min
Views11K
Привет всем!

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

Часть 1.
Часть 2.
Часть 3.

Интересно?
Читать дальше →

Резервное копирование Rails проектов без затей

Reading time3 min
Views4.5K
Как известно, люди делятся на тех кто еще не делает резервных копий, тех кто уже делает, и тех кто уже делает и проверяет возможность восстановления

К счастью, 20 минут назад, когда кривой админ рецепт Capistrano напрочь снес на «боевом» сервере каталог с загруженными картинками из статей юзеров, я уже относился к категории делающих бэкапы. Вот, заодно и проверил.

А делаем мы резервные копии через gem backup

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

Three.js — 3D в браузере своими руками или WebGL становится ближе

Reading time7 min
Views32K
Тема про three.js от mrdoob в свое время проскакивала на хабре, но детально еще не рассматривалась. В этой и(возможно) последующих статьях я постараюсь исправить это упущение. К сожалению, three.js не предоставляет никакой внятной документации, поэтому все знания по нему получены экспериментальным путем и ковырянием спеки WebGL, т.е. любые дополнения автору топика только приветствуются.

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

Использование событий MySQL на практике

Reading time3 min
Views68K
how does events workДля тех, кто активно пользуется MySQL, не секрет, что начиная с версии 5.1, MySQL поддерживает события (events). Если вам нужно выполнять запросы или отдельные процедуры по расписанию, а перейти с запуска консоли на встроенный функционал MySQL было лень не было времени,
добро пожаловать под кат

Мобильная веб разработка

Reading time6 min
Views11K
В настоящее время, всё больше и больше людей используют электронные устройства для упрощения своей жизни. Использование громоздких ПК плавно перетекло в ноутбуки, а теперь и в смартфоны. Крупные компании, как Apple, Dell и Microsoft хотят получить часть рынка смартфонов: ожидается, что к концу 2011 года, мировые продажи смартфонов побьют мировые продажи ПК.

image

Именно поэтому мобильная веб разработка очень актуальна сейчас. Продажи смартфонов растут каждый день и это говорит о необходимости повышенного внимания к интерфейсам для мобильных устройств. Как удовлетворить все запросы от пользователей, которые становятся все более и более требовательными? Как сделать так, чтобы люди могли смотреть сайт, как на Full HD монитор, так и на мобильном телефоне?
У веб-разработчиков всегда были проблемы с кросс-браузерностью. Теперь у них есть еще одна головная боль: кросс-платформенность, потому что Android приложение никогда не будет работать на iPhone и наоборот.
Целью данной статьи является рассмотрение проблем веб-разработчиков, в связи с появлением смартфонов, предложение пути их решения и показ эффективного решения на практике, изпользуя фреймворк Sencha Touch. Основная проблема заключается в том, что все больше и больше людей используют и хотят использовать интернет на своих мобильных устройствах, но не все сайты готовы предоставить эту услугу.
Читать дальше →

Новый Javascript фреймворк основаный на Scriptographer

Reading time2 min
Views2.6K

Создан Юргом Лени и Джонатаном Пакей, Paper.js является фреймворком сценариев векторной графики с открытым исходным кодом, который работает поверх HTML5 Canvas. Он предлагает чистый Scenegraph / DOM и много ярких функций, для создания и работы с векторной графикой и кривыми Безье.

Paper.js основана на и в значительной степени совместимы с Scriptographer, средой сценариев для Adobe Illustrator, первоначально разрабатывающаяся Юргом и Джонатананом более чем 10 лет.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity