Pull to refresh
2
0
Зверев Аркадий @arkady

User

Send message

Алгоритмы сжатия изображений

Reading time8 min
Views87K
Легко подсчитать, что несжатое полноцветное изображение, размером 2000*1000 пикселов будет иметь размер около 6 мегабайт. Если говорить об изображениях, получаемых с профессиональных камер или сканеров высокого разрешения, то их размер может быть ещё больше. Не смотря на быстрый рост ёмкости устройств хранения, по-прежнему весьма актуальными остаются различные алгоритмы сжатия изображений.
Все существующие алгоритмы можно разделить на два больших класса:
  • Алгоритмы сжатия без потерь;
  • Алгоритмы сжатия с потерями.

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

Задача при собеседовании на работу в один крупный шведский сайт

Reading time2 min
Views14K
Я — PHP-Developer, живу в Стокгольме. Недавно был на собеседовании в один большой шведский сайт (более миллиарда page views в месяц). Интервью проводили 2 программиста из этой фирмы. В определенном моменте, один из них достал листок бумаги и сказал, что предлагают мне решить небольшую задачку (тут же на бумаге, без компьютера). И что у меня есть 10 мин. Попросили так же комментировать каждый шаг.

Скажу сразу, что я ее не решил. Сначала все вроде просто, а потом… Так что, ушел со встречи не солоно хлебавши. С моей стороны она так и осталась нерешенной.

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

Ниже — сама задача. Оставляю все в оригинале, как было.
Читать дальше →

Релиз форумного движка нового поколения Vanilla 2.0

Reading time2 min
Views11K
Вышел долгожданный релиз второй версии форумного движка vanilla. В блоге разработчиков появилось новость о релизе.

Что такое Vanilla?




Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.

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

Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.

Что нового?


Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».

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

Быстрый старт в MODX Revolution

Reading time4 min
Views61K
Revolution дорос уже до версии 2.0.8, но большинство разработчиков не спешит его использовать, так как документация еще не полная, да и статей на русском очень мало.
Лично я не нашел ни одной пошаговой инструкции «для чайников», и поэтому решил написать ее сам.

Конечно, это топик для не «совсем чайников», а для людей, которые хоть немного знакомы с Evolution и при переходе на Revolution обломались от всего непривычного, как я. Никаких секретов и ловких методик тут не будет. Обычный how-to с картинками (их довольно много).
Читать дальше →

Принципы дизайна веб-форм для мобильных устройств

Reading time10 min
Views14K
Представляю вашему вниманию перевод статьи "Mobile Form Design Strategies" от Chui Chui Tan. Перевели в компании UXDepot. Специально для пользователей Хабрахабра с одобрением издания UX Booth.


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

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

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

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Reading time1 min
Views33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →

«Правильный» html парсинг

Reading time7 min
Views110K
Логотип

Первый раз я запустил Eclipse еще весной, почитал книжки на английском, поставил SDK, немного поигрался и забросил. В начале зимы я купил себе первый смартфон на базе Android, но вновь вернутся к разработке меня подтолкнул недавний пост, в котором говорилось, что можно обойтись и знанием C#, с которым в отличии от Java я знаком. Мне было достаточно одного вечера, чтобы понять, что за связку Visual Studio и Monodroid я больше не сяду, позже я прочитал этот пост, где полностью согласился с автором.

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

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

Под катом я расскажу, как подключить эту библиотеку, а также напишем простой парсер stackoverflow.com.
Читать дальше →

Субдоменная мульти-установка mediawiki с единой БД юзеров и общим кодом

Reading time4 min
Views2.9K
Что же я хотел сказать таким страшным заголовком?

На самом деле — все просто.

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

В этой статье я расскажу о том, как реализовать это на примере движка mediawiki.
Читать дальше →

Пишем первое приложение для Android

Reading time8 min
Views561K
В любом деле самое сложное — это начало. Часто бывает тяжело войти в контекст, с чем столкнулся и я, решив разработать свое первое Android-приложение. Настоящая статья для тех, кто хочет начать, но не знает с чего.

Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).

Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.

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

Цирк уехал. Что делать тем, кто остался? (По следам 4-го Стартап-Уикенда в Москве)

Reading time5 min
Views682
По результатам дискуссии по поводу статьи Аркадия Фомича Морейниса «Как защитить идею?», наконец, выплыло из подполья адекватное понимание важности нормальных стартаперских идей. Понемногу в стройный хор инвесторов и их оголтелых сторонников удалось внести сумятицу. И выставить на первый план ИДЕЮ проекта, подвинув программистов и веб-дизайнеров.

Почему идея, лежащая в основе проекта, важна, а ее автор должен быть защищен? — Потому, что без них мы видим только то, что, по большому счету, и называется стартаперским движением. Герман Клименко отмечал после одного из пойнтов низкую подготовку и квалификацию тех, кто выступал и представлял свои проекты. Людей, которые бы «болели» своими идеями, практически не было. По сути, за первые месяцы работы ООО «Главстарт» А. Морейниса оказалось, что 90% юных и не столь юных интернет-предпринимателей приходят с разработками и идеями, напоминающими откровенный шлак.

Даже список более чем 60-ти проектов на сайте Главстарта, помещенный на так называемой «Витрине», т.е. проекты «прошли через Startup Weekend и продолжают свою работу», откровенно не впечатляет. Три проекта получили (или якобы получили) инвестиции от «Главстарта»; судьба остальных туманна. Социальная сеть любителей классической музыки… Игра в городе «в пятнашки»… Н-да… Сразу вспоминаются стартапы вроде «Туточки» или «Яндексметро» с первого уикенда.
Читать дальше →

Выходцы из Google и Facebook показали «идеальный» таск-трекер

Reading time1 min
Views10K
Дастин Московиц (технический основатель Facebook) и Джастин Розенштайн (в прошлом продакт-менеджер в Google и Facebook) подняли порядка $10 млн финансирования и готовят смерть Basecamp, Trac, Bugzilla и всем остальным популярным решениям в этом сегменте.

image

www.asana.com

Основные возможности


(Сорри за качество скринов.)


image
Приятный, неброский интерфейс :-)

image
Риалтаймовые обновления с точностью до буквы (хорошо видно на видео ниже)

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

Корпоративное рабство, беглые рабы и виртуальная корпорация

Reading time4 min
Views6.1K
Когда-то давно в обществе было распространено рабство, причем в то время это всем казалось нормальным. Если бы кто-то спросил тогда у раба, как ему живется, раб сказал бы, что вообще, хозяин у него хороший, кормит каждый день, сильно не бьет, и что работать тяжело, конечно, а кому сейчас легко? Зато есть стабильность и уверенность в завтрашнем дне…

Три года назад я уволился со своего последнего места работы и за это время, работая самостоятельно, я успел сильно отвыкнуть от корпоративной среды, и теперь, сталкиваясь по работе с традиционными компаниями, я не устаю удивляться, как люди соглашаются на такое зависимое положение подписывая трудовой договор?
Читать дальше →

Работаем с jQuery Templates

Reading time20 min
Views140K

Введение


Плагин jQuery Templates – это «движок шаблонов», работающий на стороне клиента как расширение jQuery.

Этот плагин помогает показать в браузере данные, которые находятся в объектах и массивах JavaScript, избавляя вас от рутинных операций по созданию HTML-кода, экранированию специальных символов и т.п. Кроме того, он обладает очень интересными возможностями – например, позволяет обновлять созданный с его помощью HTML-код при изменении исходных данных.

Разумеется, jQuery Templates – не единственный и не первый «движок шаблонов», но у него есть большое преимущество перед альтернативными вариантами – поддержка со стороны jQuery Team. Это позволяет нам не бояться того, что этот плагин окажется заброшенным, и различные проблемы, возникающие при выходе новых версий браузеров, придется решать своими силами.

В этой статье я расскажу об основных возможностях jQuery Templates и продемонстрирую его работу в различных сценариях, а в последующих статьях я расскажу о функциях, не вошедших в основной код плагина (jQuery Templates Plus) и о расширении языка шаблонов.

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

Скорость утекания — что можно сделать с потоком информации

Reading time3 min
Views1.5K
Информации в наше время не просто много, её просто огромное количество. И, чтобы за всем успеть, надо открыть кучу табов в браузере, бешено переключаться между ними, и впитывать, впитывать, впитывать! Но.

Есть такой простой вопрос: «Зачем?» А так ли это надо? А надо ли? Да, интересно. Да, хочется не отставать от мэйнстрима, хочется всегда быть в курсе всех новостей. Вот тут-то и есть главная проблема. И чтобы её решить, её надо сначала осознать.
Читать дальше →

jQuery плагин, для Ajax загрузки видео на YouTube

Reading time6 min
Views12K
Недавно я написал небольшой плагин на jQuery и PHP. Функционал простой: посредством Ajax задается описание и загружается видео на YouTube, плагин вернет статус загрузки, и если она прошла успешно — id видео. Плагин может применяться на любом сайте, и легко вставляется в любую CMS.

Все началось с того, что при разработке CMS для сайта местного телеканала я столкнулся с необходимостью сделать загрузку видеороликов на YouTube. Так как на сайт часто будут добавлять видео, то каждый раз логиниться на YouTube, заливать туда ролик, получать на него ссылку, лезть в CMS и вставлять её туда — очень напряжно. Причем, желательно делать это через Ajax, чтоб можно было легко включить плагин в любой проект.

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

Microsoft закрыла доступ к исходному коду утилит Sysinternals

Reading time1 min
Views5.4K
image
В 2006 году Microsoft купила компанию Sysinternals. Разработчики Марк Руссинович и Брюс Когсвелл написали большое количество полезных системных утилит для управления, диагностики, устранения неполадок и мониторинга среды Microsoft Windows.

Сайт Sysinternals стал частью Microsoft Technet, утилиты по-прежнему доступны для загрузки здесь и здесь. Но до покупки компании, на сайте можно было скачать исходные коды программ, а теперь исходные коды недоступны.

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

Исходники программ Sysinternals демонстрировали такие возможности, как сокрытие информации в реестре, перехват и подключение API-функций для мониторинга файловой системы и другие интересные вещи. Зачастую в программах использовались недокументированные функции Native API, для выполнения действий, невозможных при использовании стандартного WinAPI.

К счастью, кто-то выложил на торренты зеркало сайта Sysinternals от 18 июля 2006 года (дата покупки компании), которое содержит не только страницы сайта, но и все утилиты и исходный код.

Ещё ссылки:

Инструменты для дизайнеров и разработчиков

Reading time2 min
Views4.8K


Предлагаю ознакомиться с небольшим набором инструментов для веб-разработки, которые могут сделать вашу жизнь проще. Все сервисы бесплатны и просты в использовании, но (как обычно) есть и минус – они все на английском, хотя когда и кого это останавливало?)

Смотрим

Статистика для пользователей с использованием Piwik

Reading time4 min
Views11K
После того как мы вынесли наших пользователей на поддомены, нам захотелось иметь подробную статистику по каждому поддомену в отдельности, а также иметь возможность предоставлять эту статистику пользователю. Конечно, можно вручную подключать все поддомены к Google Analytics/Я.Метрика, но когда поддоменов становится достаточно много эта задача начинает выглядеть излишне сложной.

Захотелось какого-то автоматизированного решения, и оно было найдено в виде системы статистики с открытым исходным кодом Piwik. Эту систему можно установить на свой сервер, добавить в нее ваш сайт и пользоваться. Она предоставляет функционал, в основном аналогичный GA и Я.Метрика, + имеется возможность написания собственных плагинов (например для себя я разработал виджет «вчера-сегодня-прогноз», аналогичный по функционалу такому же блоку из яндекс.метрики).

Сначала для тестов система вела статистику по 1 домену и 1 поддомену, и справлялась с этим вполне успешно, полностью заменив для меня Я.метрику и GA. Соответсвенно было принято решение использовать Piwik API для реализации автоматического подключения статистики к пользовательским поддоменам. Требовалось выполнить следующее:
  1. Создать пользователя в системе Piwik
  2. Создать сайт в пивике
  3. Выдать пользователю права для просмотра статистики по сайту
  4. Получить id сайта для установки счетчика

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

Ищу сервисы/платформы для нэйминга и/или мозгового штурма

Reading time2 min
Views2.6K
Здравствуйте.

Так как я «начинающий стартапер», и чем больше мой проект обретает свои окончательные черты, тем насущнее дает о себе знать проблема наименования, т.е нейминга. Я бы хотел в этом посте собрать ссылки на онлайн-сервисы для нэйминга, ну или для мозгового штурма. Буду очень благодарен, если мне расскажут про то, чего я не знаю или не обратил еще внимания. Думаю, созданный таким образом каталог просто так не пропадет, а будет востребован (хотя бы для поиска идей или импульсов). Интересуют сервисы в зоне .ru, .de, .com, .org, .net, .info итд.

Вот список, собранный на данный момент

Information

Rating
8,815-th
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity