Задать вопрос
  • Посоветуйте CRM-систему с встроенным функциональным почтовым клиентом

    @vimvim
    Посмотрите на www.streak.com/. Это, правда скорее CRM интегрированный в gmail.
    Ответ написан
    Комментировать
  • Выбор платформы разработки для Клиента, клиент- Серверного приложения?

    @vimvim
    Если это чисто документооборот, то рекомендую посмотреть на две open-source системы: Alfresco и Nuxeo. Возможно, что будет быстрее и проще адаптировать их к нуждам заказчика чем писать с нуля.
    Как правило, корпоративные системы пишутся на Java или C#. Интерфейс лучше всего web based. Это обеспечит минимальные проблемы с внедрение и сопровождение клиентской части ( в силу того что будет отсутствовать необходимость устанавливать и поддерживать отдельный софт на клиентских компьютерах ). Если интересует создание красочного, desktop подобного web интерфейса, то можно посмотреть на ExtJS.
    Ответ написан
    Комментировать
  • Как реализовать переключение IP адресов?

    @vimvim
    Судя по характеру вопроса, Вам нужно организовать резервирование MySQL сервера с возможность прозрачного для клиентов переключения на резервные сервера в случае падения главного? Если так, то это называется MySQL Load Balancer.

    Фактически для этой задачи можно обойтись 1 IP адресом ( видимым клиентам MySQL ) который будет присовен Load Balancer instance, который в свою очередь принимая MySQL запросы от клиентов будет переадресовывать их ( в режиме proxy ) соотвествующему MySQL Server.

    Кроме переадресации запросов, задачей Load Balancer так же будет периодическое обращение к MySQL серверам и определение их состояния. В случае сбоя одного из серверов ( например master ) он автоматически будет помечен как offline и запросы будут переадресовываться следующему.

    Вот некоторая информация на эту тему: barkingiguana.com/2008/07/20/load-balanced-highly-available-mysql-on-ubuntu-804/
    Ответ написан
    Комментировать
  • Как бороться с ботами?

    @vimvim
    Попробуйте сделать следующее:
    — Для всех полей генерируйте случайные имена для каждого запроса формы.
    То есть вместо:
    <input name=«firstName… >
    <input name=»email"… >
    у Вас будет:
    <input name=«r245»… >
    <input name=«x287»… >
    — Порядок полей тоже должен меняться
    — Генерируйте случайный порядок и имена для кнопок Register и Cancel

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

    После формы регистрации можно добавить дополнительный шаг с простейшим вопросом предусматривающим выбор одного значения из двух. Например: Луна имеет форму: «Круг», «Квадрат»
    Ответ написан
    Комментировать
  • Почему IP-адрес почти сразу попадает в Composite Blocking List?

    @vimvim
    У нас был случай, когда сервер ( расположенный на AWS ) попал в black list из-за того, что имя в HELO не соответствовало имени получаемом при обратном резолвинге IP. Решилось после прописывания корректного имени для ip.
    Ответ написан
    Комментировать
  • Возможно ли заработать на еще одной новой CMS?

    @vimvim
    Конечный пользователь покупает не CMS, а ( как выше и написали ) решение.
    Продажу решения осуществляет конкретная студия разработчик.
    Таким образом для успешного продвижения нужно, чтобы как можно большее количество студий захотело
    использовать Вашу CMS для разработки клиентских сайтов.
    Для этого Ваша CMS должна быть лучше чем распространенные коммерческие и Open Source системы по следующему набору критериев:
    — Удобство разработки. Дружественный и простой API.
    — Достаточное количество готового функицонала.
    — Гибкость и хорошая расширяемость.
    — Исчерпывающая документация
    — Красивый и удобный User interface
    — Умеренные требования к ресурсам и хорошее быстродействие
    — Хорошая поддержка ( коммерческая и community )
    — Приемлемая ценовая политика ( для коммерческой версии )
    Ответ написан
    Комментировать
  • Как грамотно составить ТЗ на разработку АСУ БД?

    @vimvim
    Я так понимаю, что Вы просто хотите переписать существующую систему?
    В этом случае в первую очередь нужно ее достаточно полно описать. Посмотрите например книгу «Use Case Driven Object Modeling with UML».
    Процесс разработки лучше всего организовать итеративный ( на базе одной из Agile методик ) с двух недельным review промежуточных версий. Так Вы будете иметь возможность вносить коррективы по мере разработки и получите больше шансов на вызоде иметь подходящую Вам систему.
    Ответ написан
    Комментировать
  • Стою на грани выбора перспективной технологий для дальнейшего саморазвития. Дадите совет?

    @vimvim
    Сейчас есть устойчивый спрос на программистов практически любой специализации. Будь то Java, C#, PHP, C или Objective-C.
    Основная разница в типе проектов и уровне оплаты. Наибольший уровень зарплаты — Senior C#, Senior Java. С нуля можно дойти до Senior за 3-4 года ( имея соотвествующий опыт до этого и получив реальный опыт работы со всем необходимым стеком технологий ).
    Ответ написан
    Комментировать
  • Как работают интернет-сервисы по бронированию отелей?

    @vimvim
    В мире существуют несколько крупных систем которые являются посредниками между непосредственно отелями, авиакомпаниями и различными сервисами которые предоставляют возможность покупать/бронировать туристические услуги.
    Вот описание нескольких из них:
    en.wikipedia.org/wiki/Galileo_CRS
    en.wikipedia.org/wiki/Sabre_(computer_system)

    Все подобные системы предоставляют API, подключив который к своему сайту вы получаете возможность предоставлять услуги по бронированию отелей, покупки авиабилетов и пр…
    Туристические агенства также используют эти сервисы.

    Как правило любой отель подключен хотя бы к одной из этих систем. Таким образом подписав с ним договор Вы получаете возможность работать практически с любым отелем.
    Ответ написан
    3 комментария
  • Как программисту найти работу с нестандартным графиком?

    @vimvim
    А вариант с oDesk не рассматривали? Там есть разного рода проекты, не обязательно сайты визитки. При должной репутации работу можно найти всегда. Немаловажно то, что возможна почасовая тарификация.
    Ответ написан
    Комментировать
  • Есть ли средство быстрого прототипирования веб-проектов?

    @vimvim
    Попробуйте посмотреть на www.embarcadero.com/products/radphp
    Ответ написан
    Комментировать
  • Простенькое веб приложение-парсер

    @vimvim
    Обратите внимание на web-harvest.sourceforge.net/
    Это Java приложение со своим небольшим функциональным языком.
    Вот как выглядит пример парсинга flickr:
    <?xml version="1.0" encoding="UTF-8"?>
     
    <config>
        <include path="functions.xml"/>
        
        <var-def name="tags" overwrite="false">art</var-def>
        <var-def name="num" overwrite="false">1</var-def>
        
        <loop index="i" item="url">
            <list>
                <var-def name="imagelinks">    
                    <call name="download-multipage-list">
                        <call-param name="pageUrl">
                              <template>http://www.flickr.com/search/?q=${tags}&m=tags</template>
                        </call-param>
                        <call-param name="nextXPath">//a[contains(., 'Next')]/@href</call-param>
                        <call-param name="itemXPath">//img[@class='pc_img']/@src</call-param>
                        <call-param name="maxloops"><template>${num}</template></call-param>
                    </call>
                </var-def>
            </list>
            <body>
                <empty>
                    <file action="write" path='flickr/${tags.toString().replaceAll(" ", "")}/${i}.jpg' type="binary">
                        <http url='${url.toString().replaceFirst("_m.jpg", ".jpg?v=0")}'/>
                    </file>
                </empty>
            </body>
        </loop>
        
    </config>
    
    Ответ написан
    Комментировать
  • Как сделать обновление страницы по событию в MySQL?

    @vimvim
    Возможно, что Вам поможет вот такое решение:

    — Нужно написать UDF функцию для MySQL.
    Функция пишется на C и может быть вызвана из триггера:
    dev.mysql.com/doc/refman/5.5/en/adding-udf.html
    dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-B-5-1-10
    Условно назовем ее push_messasge(...)
    Функцию нужно будет вызывать из MySQL триггера

    — Нужно реализовать очередь сообщений с использованием shared memory механизма
    Функция push_messasge будет писать туда сообщение.
    Обратите внимание что реализацию нужно делать lock free, чтобы не вызвать падения производительности
    mysql

    — Нужно реализовать внешнюю программу которая будет читать сообщения из shared memory очереди и писать их
    в push сервер. В качестве push сервера можно взять dklab.ru/lib/dklab_realplexor/
    Программа может быть написана на python ( у dklab_realplexor реализован pythin api:
    github.com/DmitryKoterov/dklab_realplexor/tree/master/api/python

    — Push сервер в свою очередь будет передавать сообщения JS клиентам в браузере.
    Ответ написан
    Комментировать
  • Dedicated vs Cloud. Что выбрать?

    @vimvim
    На AWS стоимость думаю будет в районе 100$. Облако имеет смысл рассматривать если в ближайшем будущем будет нужна возможность быстрого масштабирования.
    Ответ написан
    Комментировать
  • Где можно купить GPU (Nvidia Tesla, AMD Firestream)?

    @vimvim
    А вы не рассматривали вариант использования готового сервера? Например:
    Cluster Compute Instance на Amazon Web Services
    ( 2xNVIDIA Tesla M2050 «Fermi» GPUs., 2x quad-core Intel «Nehalem» X5570, 22 GB of RAM )
    Оплата почасово: 2.10$ за час.
    Достоинства — можно начать использовать прямо сейчас, масштабируется по мере необходимости.
    Недостатки — цена ( по сравнению с собственным сервером )

    aws.amazon.com/hpc-applications/
    Ответ написан
  • Конфигурация ПК, $4000?

    @vimvim
    Ну вот например это:
    www.dell.com/us/p/alienware-aurora-r4/pd.aspx?~ck=mn

    В конфигурации с:
    Intel® Core™ i7-3960X (Six Core Extreme, 15MB Cache) Overclocked up to 4.2Ghz
    High-performance CPU liquid cooling unit
    Double 1GB GDDR5 NVIDIA® GeForce® GTX 555 — NVIDIA SLI® Enabled
    2TB RAID 1+0 (4x 1TB SATA 3Gb/s) 7200 RPM

    и монитором получается 4100$
    Ответ написан
    Комментировать
  • Google лежит ?

    @vimvim
    Украина, Киев. Google, gmail не открывается. Частично открывается www.google.com/appsstatus.
    Пингуется, но есть большие потери ( 71% ).

    Trace:
    3 ae3-222.rt1.ntl.kiv.ua.retn.net (87.245.237.53) 1.493 ms 1.485 ms 1.471 ms
    4 ae13-7.rt.m9.msk.ru.retn.net (87.245.233.121) 22.603 ms 21.046 ms 21.038 ms
    5 74.125.51.241 (74.125.51.241) 27.942 ms 27.937 ms 27.929 ms
    6 72.14.236.220 (72.14.236.220) 28.951 ms 28.195 ms 28.183 ms
    7 * * *
    8 * * 209.85.250.189 (209.85.250.189) 100.609 ms
    9 * 72.14.233.167 (72.14.233.167) 99.477 ms *
    10 209.85.240.222 (209.85.240.222) 108.439 ms * *
    11 * * *
    12 209.85.254.41 (209.85.254.41) 110.199 ms 109.655 ms *
    13 * * *
    14 * * *
    15 * * *
    16 * * *
    17 * * *
    18 fra07s07-in-f83.1e100.net (209.85.148.83) 110.418 ms * *
    Ответ написан
    Комментировать
  • Сервис бэкапа данных

    @vimvim
    Как выше уже предлагали можно использовать в качестве хранилища: aws.amazon.com/s3/
    Есть хороший бесплатный клиент для работы с ним: www.dragondisk.com/
    Кстати dropbox использует для хранения данных именно S3.
    Ответ написан
    Комментировать
  • GWT + ext-GWT или GWT-ext?

    @vimvim
    Библиотека GWT-ext представляет из себя обертку над ExtJS. То есть это просто Java классы оберкти которые Вы можете использоватть в GWT проекте и которые в свою очередь работают с ExtJS ( которая реализована на JavaScript )
    GWT-ext больше не поддерживается в силу смены лицензии в ExtJS. В качестве ее замены можно рассмотреть Smart GWT.

    Библиотека Ext GWT полностью реализована на GWT ( Java ) и имеет структуру схожую с ExtJS.

    Использовать бибилиотеку или нет зависит в первую очередь от задачи. Например для реализации back office имеет смысл использовать Smart GWT или Ext GWT. Это связано с тем что данные бибилиотеки имеют большой выбор компонентов для работы с данными, ну и вполне приемлемое визуальное оформление.

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

    Из собственного опыта могу сказать что GWT-ext сэкономила в нашем проекте много времени при разработке UI, но сейчас я не стал бы ее использовать по ряду причин.
    Ответ написан
    1 комментарий