• Как строить асинхронное приложение?

    sergiks
    @sergiks Автор вопроса, куратор тега Алгоритмы
    Разумно. Теперь расширим это до среднего приложения, и получим раздутое это «где-то хранилище». Просто чую, что это как Императивное программирование, против Объектного. Работать будет (и работает, ну, почти), но в поддержке и понимании другими девелоперами сложно неоптимально.
    Отсюда и вопрос: «как правильно?»
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    Эксперименты — в шопе, имеется в виду? Может, дело в цветовых профилях, которые налагают свою коррекцию?
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    Так это частный вопрос по программированию — на чем вы пишете, что возвращает ваша пипетка. В Processing (и соотв. Java) есть такой тип данных color который возвращается в частности его «пипеткой». Это 32-битное число AAAAAAAARRRRRRRRGGGGGGGGBBBBBBBB: по 8 бит: прозрачность, красный канал, зеленый канал и синий. Битовым сдвигом можно получить напр 8 бит только зеленого канала, т.е. значение от 0 до 255.
    Так что ваша пипетка возвращает?
  • Какую систему оплаты (платежный агрегатор) можно прикрутить к интернет-магазину?

    rodionov Только мельком пока просмотрел их доки. «По ряду платежных систем возможно выставление счета через систему ДеньгиOnline без перенаправления пользователя...: QIWI Кошелек, Мобильные платежи (Билайн, мегаФон, МТС), платежная система «Рапида», оплата через кассира «Евросеть», терминальная сеть «ЭлексНет».»
    Оплата по картам — через iframe. Похоже, что оному можно дать целиком свой дизайн.
  • Как строить асинхронное приложение?

    sergiks
    @sergiks Автор вопроса, куратор тега Алгоритмы
    На всякий уточню, что это приложение пишу на ActionScript 3. Хотя, кажется, вопрос общий для всех ООП языков.
  • Как строить асинхронное приложение?

    sergiks
    @sergiks Автор вопроса, куратор тега Алгоритмы
    Это похоже на Конечный Автомат, не так ли? Держать такой объект, имеющий много свойств, отслеживающий каждую мелочь в системе, и на него завязать асинхронные действия: пришёл ответ оттуда, пришёл запрос отсюда.
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    По первой ссылке пишут, что Кривая в шопе это сплайн Катмулла-Рома.
  • Какую систему оплаты (платежный агрегатор) можно прикрутить к интернет-магазину?

    Магазин — купонщики. Им два года сейчас уже. Не мой собственный, одна из работ. Я его писал с нуля, подключал сначала к Робокассе, потом часть методов оплаты (кредитки и эл. деньги) перевёл на Ассист — комиссия ниже, надёжность выше. Сейчас вот будем переводить на эти непонятные ДеньгиОнлайн. Типа, они работают уже с Выгода.ру и с WeClever. Более быстрый вывод (раз в 3 дня на р/с), более полная интеграция с магазином — у пользователя нет ощущения, что он ушёл с сайта, как в случае с Робокассой или Ассистом.
  • Как строить асинхронное приложение?

    sergiks
    @sergiks Автор вопроса, куратор тега Алгоритмы
    Сейчас так и сделано, плюс зачатки паттерна «State Machine»: надо дождаться определённого ответа от нескольких сервисов, прежде, чем делать дальше что-то.
    Callback'и не панацея например в случае, если пользователь инициировал загрузку картинки на сервис, а потом передумал, решив, что медленно, и решил исключить картинку из поста. Нажал удалить. А по коллбэку, через минуту, когда картинка, наконец, догрузилась в фоне, она таки вставляется в пост.
    Можно напридумывать в Синглтоне Приложения кучу переменных для каждого из таких моментов, и в каждом коллбэке проверять, не накосячили ли другие асинхронные ответы? Но это такая каша будет!
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    Похожий вопрос про математику фотошоповых Curves на SO. И пример кода в чьей-то реализации 1:1.
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    В терминах математики и программирования наверное, так: маппинг значений это функция out=f(in) такая, что:
    • f(тыкнутая черной пипеткой точка) = 0;
    • f(тыкнутая серой пипеткой точка) = 128; (середина диапазона)
    • f(тыкнутая белой пипеткой точка) = 255; (максимум диапазона)

    График этой зависимости должен быть плавной кривой для Curves и состоять из двух прямых отрезков для Levels.
  • Photoshop Curves и магия серой пипетки

    sergiks
    @sergiks Куратор тега Алгоритмы
    Возьмём для примера grayscale изображение: только один канал со значениями от 0 до 255. Его «середина» 128.
    Вы тыкнули серой пипеткой на картинке в точку со значением 100.
    Выходная картинка пересчитается так, что ее бывшие 128 станут 100, а промежуточные значения также изменятся в соотв. с неким алгоритмом, чтобы равномерно заполнить искажённое «пространство» значений.
    Это я назвал «мапится» от оператора map() в Processing.
    Для Levels это линейная зависимость: две прямые, от чёрного до середины и второе плечо от середины до белого.
    Для Curves это интерполяция кривой, может, Безье, по проприетарному неизвестному мне алгоритму. Придумайте свой, условий три: «средняя» точка может занимать любое положение в квадрате; ни одна точка кривой не вылезает за квадрат; в «средней» точке кривая не «ломается»: касательная входа = касательной выхода, но может, разные радиусы кривизны. Вполне может быть, что в математических терминах эта задача выглядит проще и решение проще: )
  • Как :void может вызывать ошибку? [AS3]

    sergiks
    @sergiks Автор вопроса
    Похоже, это как-то связано со «строгостью» проверок. В похожем случае на SO пишут про то, что ошибки пропадают если отключить strict mode.

    Я же сменил тип свойства главного Синглтона, с проблемным док-объектом, со своего класса на обычный Object, и его методы стали вызываться без ошибок.
  • Как получить имя-фамилию юзера кириллицей?

    sergiks
    @sergiks Автор вопроса, куратор тега ВКонтакте
    А как разобраться, когда переводить в кириллицу не стоит? Транслит же и «Andrew» в «Андреу» попытается произвести. Держать словарь имён — не айс.