• Система составления и оценки технического задания
    За домовленістю php php5 c++

    Необходимо
    1. Продумать логику работы подобной системы
    2. Реализовать ее

    Дано: на сайте студии программных разработок появляется клиент на разработку программы/приложения/сайта с не всегда внятными хотелками.

    Задача:
    1. Помочь составить ему и оператору составить техническую задачу. Как я это вижу: система задает наводящие вопросы, обычные вопросы, просит конкретные ответы. Задает автоматически, с учетом того, что он ответил в прошлый раз. Что делает клиент? Он на них отвечает. Что имеем в итоге: оператор получает более обьективную информацию. Важно не переусердствовать. Система не должна быть чересчур жесткой и опрашивать клиента в течении часа. Хотя и это допускается при разработке крупных проектов.

    2. После первичного опроса система получила некие данные. Это может быть как вполне конкретные данные (сделать чат вот по такому то принципу), так и совсем мутные (сделать чат, без уточнений как). У системы есть знания - сколько обычно делается чат в первом случае, и сколько во втором. И сколько это обычно стоит. Клиенту нужна четкая цифра, поэтому нужно дать ему эту цифру с минимизацией затрат человеческих ресурсов.

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

    Для интересных писем: [email protected]

  • php-синхронизатор папки с ftp
    1000 грн. php php5
    Виконавець визначений: Станислав

    Задача: php скриптом (использовать ооп и фраемворки только после согласования, нежелательно) синхронизировать локальную папку с ftp каждые N секунд

    Поля в mysql:
    - id (auto)
    - hash - числовой хеш пути файла, сформированный через hexdec(crc32(""));. Сделать это поле уникальным ключем
    - patch - путь файла в текстовом представлении. /папка/папка2/image.png
    - type - тип - файл или папка
    - last_edit - дата последнего изменения файла/папки. timestamp
    - size - размер файла. Для папки размер 0 автоматом
    - last_scan - время последнего сканирования файла, когда его нашли
    - actual - 1 или 0. см. 3 случай

    Случаи, на которые должен реагировать скрипт:

    1. Создание файла/папки. Появилась файл/папка, для которой нет хеша в базе данных - закачиваем ее на сервер на основе ее путей и генерируем хеш в бд. Хеш генерируется из пути к файлу/папке

    2. Изменение файла. Если у конкретного файла нашелся хеш (после его создания в бд), но не совпадает дата изменения, что хранится в базе, или не совпадает размер - закачиваем по ftp

    3. Переименование файла и папки. Здесь проблем нет. Мы сперва проходимся по всем файлам и ищем хеши, а у каких файлов хеша нет - создаем. При этом у нас формируется массив с id хешей, которые мы обработали. Далее мы делаем выборку ВСЕХ записей из таблицы. Для снижения нагрузки это можно делать пореже, каждый час например. Мы сравниваем то, что просканировано, и то, что есть в базе, и находим то, что есть в базе, но не было найдено при сканировании. Это то, что было переименовано. И закачано 1 и 2 проверками. Следственно, то, что было переименовано - старую неактуальную папку или файл мы удаляем с ftp сервера, при этом помечаем в базе данных, что такой то хеш больше не актуален (actual = 0) и он при следующем обходе не используется

    ---------------------------------------------------------------------------------------

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

    Я предлагаю написать крон файл, который будет запускаться обычным кроном раз в минуту, а этот файл уже будет работать в течении к примеру 300 секунд, и запускать каждую секунду сам синхронизатор, это можно реализовать через curl, при этом если синхронизатор будет работать дольше секунды - то запускаемый файл будет ждать, это реализуется через таймаут закачки curl-а

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

    1. Когда он начал работу
    2. Когда он завершил работу

    Если он начал работу, но не может ее завершить уже 30 минут - значит с сервером что то случилось, может он упал, и скрипт не мог сообщить, что работа завершена.

    Тоесть повторный запуск того же скрипта запускается в 2 случаях

  • Синхронизация файлов на php
    500 грн. php5

    Требуется php скрипт (без ооп/фраемворков), проверяющий новые/измененные/переименованные файлы и папки в каталоге и подкаталогах, в котором он находится.

    Все новые и измененные файлы/папки он должен сразу закачивать по ftp. Переименованные файлы переименовываются на ftp сервере. Все файлы имеют размер до 50кб, в основном текст /изображения

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

  • Спарсить картинки
    150 грн.

    http://8biticon.com

    Выдрать отсюда 10000 изображений аватарок

Вгору