Search
Write a publication
Pull to refresh
23
0
Send message

Pianorama. Приложения для Android и iOS

Reading time1 min
Views810
image
Хорошая новость для поклонников фортепианной радиостанции!
Доступны первые версии приложений для Android и iOS.
Обе версии работают как на смартфонах, так и на планшетах.

image     image

Приятного прослушивания и спасибо за поддержку!

Разработка электронного, интерактивного журнала для iPad

Reading time4 min
Views17K
Хотелось бы на личном опыте поделиться знаниями и методами по созданию интерактивных журналов для iPad.

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

Создать приложение для iPad, которое является магазином электронных журналов. Пользователь, пройдя несложную регистрацию, пополнив баланс до необходимой суммы, мог скачать доступный электронный журнал и просмотреть его. Журнал должен быть интерактивным, то есть в нем были функции просмотра набора слайдов, вращения, видео, аудио, увеличения шрифта, добавления закладок, красивой анимации для пролистывания страниц и еще список вещей в том же духе. Исходный журнал представлял из себя чистую pdf, поступающую на прямую из издательства.
Читать дальше →

Эмуляция интерфейса iPhone с помощью CSS

Reading time1 min
Views3K
UiUiKit Некоторое время назад мне потребовалось «красиво» оформить логи бесед в жаббире. Поскольку рисовать я не умею вовсе, я обратился за подмогой к мирозданию. Поиск по готовым решениям открыл для меня малоизвестную, но, безусловно, заслуживающую внимания библиотечку. Строго говоря, это не библиотека. Это тщательно написанная и выверенная каскадная таблица стилей, позволяющая имитировать iPhone-интерфейс в браузерах.
Координатные данные проекта UiUiKit (Universal iPhone UI Kit):

Оригинально библиотека заточена под web-приложения именно для iPhone, поэтому всякий CSS3+ ограничивается указанием свойств только для webkit'а. Я пропатчил CSS директивами для остальных и развернул демонстрационную страничку, чтобы можно было сразу потыкать в элементы интерфейса.
Выглядит симпатично (на картинке в начале топика — скриншот моего браузера). Приятного использования!

Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО

Reading time7 min
Views86K
В этой статье даются ответы на нижеследующие вопросы, основываясь на личном опыте и опыте коллег.

1. Почему стоит начать работать «в белую»
2. Почему на начальном этапе ИП лучше ООО
3. Что делать, если партнёров несколько

Если вы – начинающий или уже опытный фрилансер и подумываете о работе «в белую», но ещё точно не определились с вопросами «Стоит ли оно того?» и «ИП или ООО?», вэлком
под кат

CiEx подскажет какой фильм посмотреть — часть 2

Reading time1 min
Views958
image

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

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

Objective-C с нуля

Reading time23 min
Views442K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →

Pythonic

Reading time7 min
Views38K
Итак, что же это значит, когда кто-либо говорит, что foo выглядит как pythonic? Что значит, когда кто-либо смотрит в наш код и говорит, что он unpythonic? Давайте попробуем разобраться.

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

Напротив, метка unpythonic означает, что код представляет собой грубую попытку записать код какого-либо другого языка программирования в синтаксисе Python, а не идиоматическую трансформацию.

Понятие Pythonicity плотно связано с минималистической концепцией Python’a и уходом от принципа «существует много способов сделать это». Нечитабельный код, или непонятные идиомы – все это unpythonic.

При переходе от одного языка к другому, некоторые вещи должны быть «разучены». Что мы знаем из других языков программирования, что не будет к месту в Python’e?
Читать дальше →

JPA: Хранение перечислений в базе данных

Reading time6 min
Views48K
Наверняка многие из вас сталкивались с проблемой хранения перечислений в базе данных, возникающей при попытке реализации удобного способа работы с разного рода служебными справочниками — статусами, типами объектов и так далее.

Суть её очень проста: если хранить перечисления как сущности (@Entity), то с ними получается крайне неудобно работать, база данных нагружается лишними запросами даже несмотря на кэширование, а сами запросы к БД усложняются лишними JOIN'ами. Если же перечисление определять как enum, то с ними становится удобно работать, но возникает проблема синхронизации с базой данных и отслеживания ошибок таковой синхронизации.

Особенно актуально это в том случае, когда поле, содержащее перечисление, аннотировано как @Enumerated(EnumType.ORDINAL) — всё мгновенно ломается при смене порядка объявления значений. Если же мы храним значения в строковом виде — как @Enumerated(EnumType.STRING) — возникает проблема скорости доступа, так как индексы по строковым полям менее эффективны и занимают больше места. Более того, вне зависимости от способа хранения значения поля при отсутствии в базе данных таблицы со списком допустимых значений мы никак не защищены от некорректных или устаревших данных и, как следствие, проблем.

Однако сама идея хранения в базе данных заманчива простотой построения запросов вручную, очень ценной при отладке ПО или решении сложных ситуаций. Когда можно написать не просто SELECT id, title FROM product WHERE status = 5, а, скажем, SELECT id, title FROM product JOIN status ON status.id = product.status_id WHERE status.code = 'NEW' — это очень ценно. В том числе и тем, что мы всегда можем быть уверены в том, что status_id содержит корректное значение, если поставим FOREIGN KEY.

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

Анимация меню при помощи CSS3

Reading time8 min
Views38K


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

SITH — техника CSS3 для плавной смены изображения

Reading time2 min
Views17K
Доброго времени суток, Хабр!

Хотел бы рассказать Вам, каким образом я добился плавной смены цветов иконок при наведении на них курсора. Подобная проблема часто встречается на Facebook. Если иконка представляет собой синий силуэт на белом фоне, то при наведении курсора оба цвета меняются местами, причём происходит это мгновенно и выглядит немного резко. Мои эстетические чувства были задеты, и я разработал своё решение.

Не встретив на просторах Интернета чего-либо подобного, я взял на себя ответственность назвать этот метод SITH (Soft Image Transition on :Hover) — плавный переход изображения при наведении.

SITH - CSS3 Soft Image Transition on :Hover

Под хабракатом Вы найдёте полное описание техники, весь код, несколько скриншотов и ссылку на демонстрационную версию.
Читать дальше →

Java сертификация. Подготовка к SCJP

Reading time5 min
Views71K
В этом месяце я сдавал экзамен SCJP. В этом топике я расскажу о подготовке и экзамене.
В основном для тех, кто собирается сдавать и кому нужно больше информации об этом.

Уточнение


Так как Sun'a больше нет, то и экзамена SCJP тоже нет. Теперь он значится так:
1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam.
прочитать об экзамене и посмотреть задачи

Кеширующий прокси-сервер на nginx. Хитрая конфигурация

Reading time7 min
Views40K
На Хабре уже есть несколько описаний Nginx, но, думаю, моя конфигурация тоже будет интересна.
Ситуация выглядит следующим образом: есть размещённый на нескольких серверах IIS сайт (интернет-магазин), перед ним расположен балансировщик. Между ними решено установить nginx для уменьшения нагрузки на IIS.

Основная масса динамического контента отображается Ajax-ом, так что кеширование страниц каталога товаров вполне безопасно. Однако на них могут быть отзывы о товаре, за которые можно проголосовать — совсем как на Хабре, что тоже надо учесть.

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

Subtle Patterns: фоновые текстуры для вашего сайта

Reading time1 min
Views72K
Если вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.



Сайт привлекает удобным предварительным просмотром: каждую текстуру можно мгновенно применить на всей странице в качестве фона. Сейчас там 93 работы, коллекция еженедельно пополняется отличными новинками.

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

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views177K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

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

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

Блеск и нищета GWT (или почему я не верю в Dart часть 2)

Reading time6 min
Views11K
Одной из самых обсуждаемых тем на Хабре стало объявление Гугла о создании нового языка Dart, претендующего на то, чтобы полностью заменить Javascript.
Для Гугла это не первый проект подобного рода. С 2006 года существует Google Web Toolkit, позволяющий создавать веб-приложения полностью на Java. На нём, например, работают Adwords и Google Wave.
Но, не смотря на красивые обещания и очень серьезные, особенно по меркам 2006 года, возможности, GWT так и «не взлетел». Да, проект поддерживается и развивается, но сообщество разработчиков так и не сложилось. Сторонних компонентов мало, они не поддерживаются, знакомых с системой программистов найти сложно.
Практически все «плюшки» языка Dart, которые сейчас рекламирует Google, уже были реализованы в Webtoolkit-е. В этой статье я хочу проанализировать достоинства и недостатки GWT в попытке рассмотреть мутные очертания будущего Dart.
Читать дальше →

12+ полезных Google Chrome chrome:// команд

Reading time2 min
Views400K
Все знают, что для того чтобы попасть в меню у Хрома, нужно нажать на Гаечный ключ в правом верхнем углу.

Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.

Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
Читать дальше →

Радио Pianorama. В небеса за неделю

Reading time2 min
Views2.2K
Подозреваю, многие из вас думали создать свою онлайн-радиостанцию с преферансом и поэтессами.
Но ещё несколько лет назад интернет-радио не было настолько актуальным, потому что безлимитный интернет в регионах не был достаточно распространён и каналы были не те.
Сейчас же, на мой взгляд, у интернет-радиостанций появился шанс даже потягаться с аналоговыми.

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

image

Откладывать задумку в долгий ящик не стал.
Читать дальше →

Подборка видео с различных конференций

Reading time2 min
Views4.2K
На конференции попасть получается не всегда, а умных людей послушать хочется. Решил собрать воедино скопившиеся ссылки на видеоматериалы. Надеюсь кому то пригодится.

Известные
Читать дальше →

DealHunter – как мы делали foursquare для любителей скидок и распродаж

Reading time5 min
Views946
Привет всем! Хочу рассказать об опыте создания и запуска мобильного геосоциального сервиса DealHunter, в котором мы постарались совместить несколько наиболее актуальных и интересных трендов и механик.

От трендов к идее


Идея сервиса, где пользователи могли бы сами добавлять скидки и распродажи, родилась больше года назад, когда в интернете и мобильных приложениях стремительно набирало силу два тренда: daily deals (порожденный Groupon и подхваченный сотнями аналогичных сервисов) и геосоциальные приложения с игровой механикой (одними из первых были Foursquare и Gowalla, потом Foodspotting и чекинизация всего и вся – от факт просмотра телепередачи до количества выпитых кружек пива). Причина, по которой Foursquare за последние 2 года набрал больше 10 миллионов пользователей и собрал с помощью них беспрецедентную базу данных о различных местах и заведениях по всему миру – это влияние еще одного тренда – применение игровых механик к неигровым сервисам (gamification). С одной стороны многие сделали это ради баллов и бейджей – то есть статуса в игровой вселенной Foursquare. Но многих также мотивировал и простой альтруизм, желание предостеречь других пользователей от посещения «плохих» мест и порекомендовать хорошие.

image

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

Отслеживание статуса небольшого проекта

Reading time3 min
Views7.1K
Сразу хочу сказать, что речь идет о небольших проектах — 2-5 человек, продолжительностью около года или менее.

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

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

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

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

Information

Rating
Does not participate
Registered
Activity