Обновить
0
Александр@VISUread⁠-⁠only

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

Отправить сообщение

Боль и анимация таблиц для iOS. Фреймворк Awesome Table Animation Calculator

Время на прочтение10 мин
Охват и читатели12K

Представим себе экран обычного мобильного приложения с уже заполненным списком ячеек. С сервера приходит другой список. Нужно посчитать разницу между ними (что добавилось/удалилось) и проанимировать UICollectionView.


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


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

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

В опасном мире символов…

Время на прочтение5 мин
Охват и читатели96K
image

Сейчас, когда компьютерная графика достигает всё новых высот, модели в играх становятся близкими к фотореализму, а порог вхождения в игры становится всё ниже, сложно представить себе, что до сих пор развиваются игры, в которых на первое место выходит интересный геймплей и огромные возможности, а графики… нет. Имя этому жанру — Roguelike.

Цитата с Wikipedia:
Roguelike (читается как ро́углайк; сленг «рогалик») — поджанр компьютерных ролевых игр. Характерными особенностями roguelike являются генерируемые случайным образом уровни и необратимость смерти персонажа — в случае его гибели игроку предлагается начать игру заново. Большинство игр этого жанра было разработано на некоммерческой основе и использует двумерный текстовый интерфейс и управление клавиатурой.

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

А почему бы Хабру не запустить краудфандинговую систему для IT-проектов?

Время на прочтение1 мин
Охват и читатели12K
Конечно, имеется ввиду не Хабр, а создатели Хабра — «Тематические Медиа». В одной в двух комментариях я предложил запустить аналог кикстартера создателям Хабр. В одной из них я получил положительные отзывы и решил сделать опрос среди хабравцев, как они относятся к идеи создания сервиса для привлечения денежных средств по схеме краудфандинга компанией «Тематические Медиа» для IT-проектов.
Проголосовать можно под катом

Конец эпохи, меланхолия

Время на прочтение2 мин
Охват и читатели15K
Доброе утро! Нашел свой старый текст написанный в порыве меланхолии. В нормальные хабы не рискую его совать :)
Читаем

Президент России подписал антипиратский закон

Время на прочтение1 мин
Охват и читатели185K
Президент России Владимир Путин подписал антипиратский закон, защищающий права производителей кино- и видеопродукции в Интернете. Документ вступит в силу с 1 августа 2013 года. Ранее закон был принят Госдумой и одобрен Советом Федерации.

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

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

Школьника из Техаса посадили за шутку в компьютерной игре

Время на прочтение1 мин
Охват и читатели198K
18-летнего школьника из Техаса посадили в тюрьму за саркастическую шутку в компьютерной игре League of Legends и ему грозит 8 лет.

image

История началась в феврале 2013. 18-летний школьник Justin Carter играя в LoL, пошутил.

Во время игры его назвали сумасшедшим. На что он ответил:

— Ага, я точно не дружу с головой! Я собираюсь расстрелять всех детей в школе и съесть их еще бьющиеся сердца.
— lol
— jk (сокращение от «just kidding»)
Читать дальше →

1 канал объяснил, зачем вводится закон о блокировании сайтов

Время на прочтение2 мин
Охват и читатели235K
После принятия сегодня нового закона сразу началось активное обсуждение. Видимо предвидя это, по ТВ в передаче «человек и закон» нам сразу показали сюжет, который «всё объясняет».

Вот здесь можно посмотреть начиная с 19:20


Ведущий программы (Алексей Пиманов) начинает с того, что именно он был одним из тех, кто инициировал этот закон. Он сразу успокаивает зрителей: их никто трогать не будет. Затем он сообщает, что в интернете 95% сайтов — пиратские. Эти сайты делают черный бизнес, убивая культуру. Далее, он обещает, что бесплатные фильмы никуда не денутся, и все желающие смогут всё просмотреть бесплатно, официально, просто с 15-секундной рекламой.
Читать дальше →

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

Время на прочтение1 мин
Охват и читатели93K
Чёрные дыры российского Интернета: эксперты в области права, предприниматели и люди творческих профессий спорят, как защитить от пиратов интеллектуальную собственность. Книги, фильмы, музыку — в виртуальном пространстве можно найти практически всё.

Смотрите оригинал материала на www.1tv.ru/news/social/234086

Персональный робот Корнелльского университета умеет предсказывать действия людей

Время на прочтение2 мин
Охват и читатели20K
Роботы, которых создают в лаборатории робототехники Корнелльского университета, мало похожи на устрашающие порождения сумрачного гения Boston Dynamics и многих других лабораторий, разрабатывающих роботов военного назначения. Это персональные роботы — помощники, официанты, сиделки. Их обязанности — следить за порядком в комнатах, приносить и уносить предметы, прислуживать во время еды. Для таких роботов важно умение чутко улавливать намерения людей, чтобы оказаться рядом в правильный момент и наоборот, не мешаться под ногами, когда они не нужны. Их учат предсказывать, что будет делать человек в следующие несколько секунд. Может быть, ему надо помочь открыть дверь. А может — подержать что-то. Или налить чая в опустевшую чашку. И всё это без нажатия на кнопки, без специальных жестов и голосовых команд.

Робот воспринимает окружающий мир через трёхмерную камеру Microsoft Kinect. Базой для предсказания действий человека является набор ранее увиденных и распознанных роботом движений. Кроме того, роботу знакомы предметы окружающей обстановки и их назначение. Он знает, что такое стул, книга, чашка, холодильник, знает, как человек взаимодействует с этими предметами.


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

Приключения Космического Джо

Время на прочтение9 мин
Охват и читатели17K
image

Космический Джо разрезал пространство, легко преодолевая парсек за парсеком. Он перемещался с такой скоростью, что звезды вытягивались в нити, нити сворачивались в клубки, а клубки отстояли от проносящегося мимо Джо на таком расстоянии, что на фоне вечности казались одинокими точками.

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

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

Ведущий разработчик Google+ просит объяснить, зачем люди использовали Google Reader

Время на прочтение1 мин
Охват и читатели130K
Руководитель отдела разработки (Chief Architect) социальной сети Google+ Йонатан Зангер (Yonatan Zunger) опубликовал в своём блоге вопрос ко всем пользователям Google Reader.

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

Как собрать Adobe Air приложение для Mac OS AppStore

Время на прочтение5 мин
Охват и читатели8.6K

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

Мгновенное умножение

Время на прочтение2 мин
Охват и читатели39K
Некоторые приемы сокращенных вычислений знать очень полезно. Кроме того, эти приемы часто любопытны и сами по себе. Поэтому считаю не лишним познакомить с ними и читателей Хабра.

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

Adobe Flash Player Sandbox Mode доступен для Safari Mac OS X

Время на прочтение1 мин
Охват и читатели5.4K
Adobe сообщают, что специальный защищенный режим sandboxing для проигрывателя Flash Player теперь доступен для браузера Safari на Mac OS X. Такая техника защиты или смягчения (mitigation) от действий эксплойтов/вредоносного кода для проигрывателя уже была внедрена для трех наиболее популярных браузеров MS Internet Explorer, Google Chrome и Mozilla Firefox. Режим sandbox позволяет ограничивать набор выполняемых процессом (плагина браузера) функций, в контексте которого запущен Adobe Flash Player для проигрывания нужного содержимого.



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

JavaFX WebView (HTML/JS) — используем web практики для разработки desktop приложений

Время на прочтение7 мин
Охват и читатели43K
image
Базовым UI фреймворком для нашего приложения был выбрана JavaFX. JavaFX прекрасно показала себя. В этой же статье мы хотели сконцентрироваться на одном компоненте JavaFX — WebView.

При разработке нашего приложения — интерфейса COLT — мы использовали набирающий популярность среди девелоперов подход, когда часть компонентов UI реализуется на JavaScript/HTML.
Читать дальше →

Использование UIDynamicAnimator из UIKit Dynamics при создании таблиц на основе UICollectionView

Время на прочтение3 мин
Охват и читатели11K
Как известно в последней версии SDK (фреймворк UIKit Dynamics) разработчики могут определять динамическое поведение для UIView объектов, а также других объектов, принимающих протокол UIDynamicItem.

В данной статье я хочу поделиться опытом использования таких объектов.

Целью было сделать анимацию, аналогичную той, что используется в приложении Messages на iOS 7:
Читать дальше →

Звездное небо на Canvas

Время на прочтение2 мин
Охват и читатели11K
В этой статье я хочу более подробно рассказать о примере Starry Sky (Звездное Небо), реализованном с помощью скриптов dbcartajs (о них написано в предыдущей статье). Он включает в себя идеи других «звездных» проектов, которые были портированы на JavaScript. Рассмотрим их подробнее. Алгоритм формирования звездного неба был позаимствован из проекта Marble KDE (плагин stars), расчет положения планет построен на основе замечательной статьи шведского астронома Поля Шлетера, модель движения космических аппаратов SGP4/SDP4 предоставлена модулем satellite-js, формулы солнечного терминатора (ночной зоны) взяты с астрономического форума. Вид орбит как эллипсов (мгновенная орбита) подсмотрен у Сelestia.
Starry Sky
Читать дальше →

Честный glow и скорость

Время на прочтение4 мин
Охват и читатели16K
Наверное все, кто хоть чуть-чуть работал с фотошопом — видели эффект outer glow для слоя, и пробовали с ним играться. В фотошопе есть 2 техники этого самого outer glow. Soft и precise. Soft мне был не так интересен, а вот глядя на precise — я задумался.

Выглядит он вот так:

Это однопиксельная линия. А градиент грубо говоря — отражает расстояние до ближайшего пикселя изображения. Это самое расстояние — могло бы быть очень вкусным для построения разнообразных эффектов. Это и всякие контуры, и собственные градиенты, и
даже газоразрядные эффекты вокруг и прочее.
Пример эффекта, который можно получить, если иметь в наличии карту расстояний. Пример использует OpenGL + GLSL, написан на Delphi

Основная проблема такого glow — это сложность вычисления для больших размеров. Если у нас glow на 100 пикселей, то нам надо для каждого пикселя изображения проверить 100*100 соседних пикселей. И для изображения например 800*600 это будет всего 4 800 000 000 проверок.

Однако фотошоп этим не страдает, и прекрасно строит точный glow даже больших (до 250) размеров. Значит решение есть. И мне любопытно было его найти. Нагуглить быстрый алгоритм такого glow у меня не получилось. Большинство алгоритмов использует blur чтобы построить glow, но мы то с вами знаем, что однопиксельная линия не даст нам такого эффекта, как на картинке, она просто сблюрится.

Поэтому я погнал велосипедить.
Велосипедить с автором

Пиксельный эффект на Actionscript 3.0

Время на прочтение10 мин
Охват и читатели3.9K
preview

Такой вот незамысловатый эффект. Под катом исходники, местами комментарии и пояснения.
Читать дальше →

Читают ли в Google свои собственные соглашения?

Время на прочтение2 мин
Охват и читатели29K
Я активно пользуюсь самыми разными сервисами Google. Периодически, мне предлагается принять новое соглашение. Вот и сейчас, я уже несколько дней не имею доступа к своим приложениям в Google App Engine потому, что никак не решаюсь согласиться с соглашением.

Но начнём слегка издалека. Вот, как начиналось предыдущее соглашение:



Здесь и далее, выделение моё, URLы на скриншотах оставлены специально, они все работают. Браузер — последний Хром.

но эта не единсвенная странность

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность