Задать вопрос
  • Альтернатива notepad++ или в чём вести разработку?

    @AlexP11223
    Зачем в блокноте разрабатывать? Ну разве что если пару строк в одном файле отредактировать.
    Есть же замечательный PHPStorm.
    Ответ написан
    1 комментарий
  • Альтернатива notepad++ или в чём вести разработку?

    aen
    @aen
    Keep calm and 'use strict';
    Эм.. а зачем редактору кода ftp? Работа с DVCS ему нужна.
    Используйте Sublime Text, а лучше WebStorm (PhpStorm) для более комфортной работы.
    Ответ написан
    8 комментариев
  • Альтернатива notepad++ или в чём вести разработку?

    shiza36
    @shiza36
    Sublime text 2-3
    На него ставлю плагины: emmet, СSScomb, sftp, autosave. В браузер ставлю livereload.
    Profit!

    Пробовал ещё WebStorm, но sublime берет скоростью и простотой.
    Ответ написан
    2 комментария
  • Как реализовать отчет о доставке?

    astrikovd
    @astrikovd
    Python Developer
    На самом деле проверку доставки письма сделать можно, не 100% конечно, но все же. Делается это с помощью непосредственного взаимодействия с удаленным почтовиком, примерно так:

    /**
         * Запись в сокет
         */
        private function sWrite( $socket, $data){
            // отправляем команду в сокет
            fputs( $socket, $data );
            // получаем первый байт ответа от сервера
            $answer = fread( $socket, 1 );
            // узнаем информацию о состоянии потока
            $remains = socket_get_status( $socket );
            // и получаем оставшиеся байты ответа от сервера
            if( $remains --> 0 ) $answer .= fread( $socket, $remains['unread_bytes'] );
            // функция возвращает ответ от сервера на переданную команду
            return $answer;
        }
    
        /**
         * Соединение с почтовым сервером
         */
        private function connectToServer($hostname, $port, $timeout){
            $socket = fsockopen($hostname, $port, $errno, $errstr, $timeout );
            if( !$socket ){
                return false;
            }
            else return $socket;
        }
    
        /**
         * Проверка e-mail
         */
        private function checkEmail($email){
            // получаем данные об MX-записи домена, указанного в email
            $path = explode("@",$email);
            $hostname = $path[1];
            $mx = dns_get_record($hostname, DNS_MX );
            $hostname = empty($mx) ? $hostname : $mx[0]['target'];
            // открываем сокет и создаем поток
            $socket = $this->connectToServer($hostname, 25, 10);
            if(!$socket){
                return false;
            }
            else{
                // отправляем пустую строку, чтобы получить приветствие сервера
                $this -> sWrite( $socket, "" );
                // представляемся сами
                $this -> sWrite( $socket, "EHLO sitename.ru\r\n" );
                $ehlo = '<no-reply@sitename.ru>';
                $rcpt = '<'.$email.'>';
                $response = $this -> sWrite( $socket, "MAIL FROM: $ehlo\r\n" );
    
                $response = $this -> sWrite( $socket, "RCPT TO: $rcpt\r\n" );
    
                // закрываем соединение
                $this -> sWrite( $socket, "QUIT\r\n" );
                fclose( $socket );
                // ниже идет простейшая обработка полученного ответа
                if( substr_count( $response, "550" ) > 0 ) return false;
                else
                    if( substr_count( $response, "250" ) > 0) return true;
            }
        }
    Ответ написан
    3 комментария
  • Будет ли сайт на node.js нормально индексироваться поисковыми системами?

    node.js - серверный движок. Поисковику все-равно чем сгенерирована страница.
    Ответ написан
    Комментировать
  • Как привести формулу к нормальной записи?

    qmax
    @qmax
    программер
    Распарсите формулу в дерево.
    Линеаризуйте дерево с сортировкой элементов по алфавиту.
    Ответ написан
    Комментировать
  • Вопрос верстальщикам. Плюсы и минусы, вёрстка vs. изображение

    qfox
    @qfox
    Ответы есть у меня
    Странно, что никто не сказал про рендеринг.
    Всякие CSS3 фишки весят меньше, но рисуются на клиенте. И каждая перерисовка будет заставлять браузер перерисовывать и эти ваши модные штуки. Таким образом, скорость работы сайта, перегруженного css3 может быть заметна глазу на слабых машинках — это уже не хорошо.
    С другой стороны, как уже много говорили, перекрасить картинку — автоматически крайне сложно, иногда нереально, а перекрасить css3 — не сложнее, чем скушать печеньку.
    Нужно искать золотую середину. Не использовать новомодные штуки там, где они не нужны, и стараться использовать там, где будет полезно, даже если для ie6/7/8/9 придется делать отдельные стили. Их все равно придется делать отдельно.
    Ответ написан
    3 комментария
  • Алгоритм чтения большого количества файлов на php

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не надо пытаться ничего реализовывать через пхп.
    Надо узнать о существовании специализированных инструментов.
    В частности, если надо заархивировать каталог с файлами, то это делается командой
    tar -czf archive.tgz /path/to/catalog
    Эта команда добавляется в крон.

    А на похапе ничего изобретать не надо
    Ответ написан
    3 комментария
  • Алгоритм чтения большого количества файлов на php

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    Да никак не сделать - php создан чтобы умирать!!!расрас111
    Есть такая штука как очереди, туда добавляешь таск "собрать в архив такие-то файлы", а потом раз в 5 секунд, например смотришь готово или нет.
    Еще есть вариант с сокетами и лонг пулингом, но я думаю это слишком сложно для такой задачи
    Ответ написан
    2 комментария
  • Сайт — как виртуальная файловая система для windows?

    Krypt
    @Krypt
    Есть такая штука:
    dokan-dev.net/en/
    Нечто вроде линуксового FUSE. C ctnm. Позворяет создать файловую систему, которой вы управляете из приложения. Работать с сетью она не умеет, но она используется в одном из игровых плагинов (World of Tanks, XVM-stat ) именно для работы с сетью как раз в той форме, что вы описали.

    Вот ссылка на репозитарий плагина:
    code.google.com/p/wot-xvm/source/browse/trunk/src#src%2Fxvm-stat%2FDokan

    Думаю, исходники можно приспособить для ваших целей.
    Там же есть реализация того же самого под linux с помощью fuse.
    Ответ написан
    3 комментария
  • Сайт — как виртуальная файловая система для windows?

    @DROS
    Мне в голову приходит только webdav. Можно использовать как готовое решение аля OwnCloud, так и фреймворк заточенный чисто под этот протокол — github.com/evert/SabreDAV. Уж на последнем можно навелосипедить что угодно.
    Ответ написан
    Комментировать
  • Миграция фото из Picasa в Synology Photostation?

    ragimovich
    @ragimovich
    С Photostation дел не имел, но имел дело с экспортом лиц из пикасы.

    Если в Picasa включено «вшитие» данных в фото (Параметры — Отметки — Сохранять в метаданных), а Photostation поддерживает XMP расширение MWG Region Schema, то лица должны будут перенестись вообще без проблем. Если же таковой поддержки нет, придется «шаманить» с конвертацией регионов из XMP в тот формат, который понимает Photostation (POST запросы с координатами к скрипту, который отвечает за отметки?).

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

    В любом случае XMP является идеальным местом для хранения подобной информации.

    Остальные отметки (координаты, тэги) тоже сохраняются, преимущественно, в виде XMP тегов, дабы не трогать само изображение. Хотя, насчет тэгов я не уверен, возможно, они в Exif пишутся.
    Ответ написан
    1 комментарий
  • Есть ли смысл в копирайтах на фото?

    sainnr
    @sainnr
    Если на фото размещен электронный адрес или сайт автора, то можно легко с автором связаться и спросить разрешения на размещение фотографии.
    Ответ написан
    Комментировать