• Использование тернарного оператора ?: с подавлением ошибки?

    @larikov
    $a = 0;
    $c = @$a ? : 'default';
    


    $a = 0;
    $c = isset($a) ? $a : 'default';
    


    Могут вылезти трудноуловимые глюки. К примеру, чему будет равно $c в первом и втором случае? :)
    Ответ написан
    5 комментариев
  • Можно ли разбить столбец на 2 столбца

    LeoCcoder
    @LeoCcoder
    у вас символы… и их 13…
    1. разбить их можно без проблем, встроенными средствами работы со строками или внешним скриптом
    2. оптимизировать?
    а) добавлять сложное условие по этому полю в последнюю очередь
    б) можно добавить идекс по этому полю, тогда запросы вида where field = '01%' будут выполяняться быстро. можно например делать where field = '01%' AND substr(field, 3,3) = '000', в первой части условия у вас сработает индекс, что сократит выборку, на которой будет выполняться медленная вторая часть условия.
    3. перейти от символов к числам, если возможно. Это даст НЕБОЛЬШОЙ прирост.

    ПС: многое зависит от природы запросов к базе и количества данных, универсальнее конечно разбить и поля сделать не символьными, а числовыми
    ППС: возможно вам нужно сделать кеширование и до базы будут доходить совсем мало запросов и тогда скорость их выполненеия может стать не критичной
    Ответ написан
    1 комментарий
  • Какая разница между jQuery .bind() .live() .delegate() и .on()?

    zimorodok
    @zimorodok
    bind — навешивает обработчик непосредственно на элемент (когда тот есть в DOM-е). При удалении элемента так-же удаляется.

    live — навешивает обработчик на document, используется делегирование (всплытие событий). Позволяет создать обработчик до того, как элемент появится в DOM-е. При удалении элумента обработчик не удаляется, а просто перестает срабатывать. Если в DOM снова вставить элемент, подходящий под селектор, обработчик снова отработает.

    delegate — точно так-же, как и live, использует делегирование, только явно указывается узел, на который навешивается обработчик. (удобно для разработки модулей, или как их еще называют, виджетов)

    on — объединяет возможности как bind, так и delegate (зависит от формы использования). Как верно было замечено, остальные методы deprecated и в новых версиях поддерживаться не будут. Елиный метод введен для того, чтобы не возникали вопросы какой метод использовать.
    Ответ написан
    Комментировать
  • Перенос иностранных доменов от рускоязычных регистраторов

    coolurik
    @coolurik
    Founder and CEO
    Дополню: трансфер происходит в течении 5 дней.
    Ответ написан
    Комментировать
  • Перенос иностранных доменов от рускоязычных регистраторов

    sn3g
    @sn3g
    старый, глупый, но опытный
    1. Если Вы будете на Еноме, то Вам просто сделают push domain на Ваш эккаунт и это не будет ничего стоить. Enom.com это для реселлеров, для энд юзеров у них www.enomcentral.com/. Можете там открыть эккаунт и Вам туда отправлят доменное имя.

    2. Выбираете любого регистрара, допустим www.namecheap.com или www.godaddy.com и после открытия там эккаунта выбираете transfer domain name, указываете имя домена, и они предыдущему владельцу вышлют (я полагаю это будет Ваше мыло) код авторизации, который нужно будет ввести в форме. В результате через несколько дней, домен будет уже на новом регистраторе. Можно поискать регистраторов у которых free domain name transfer чтобы избежать оплаты за трансфер, обычно она составляет стоимость годовой регистрации.
    Ответ написан
    4 комментария
  • Создание первичного и вторичного DNS для домена

    @bondbig
    открыт порт 53/tcp
    По умолчанию ДНС-запросы выполняются по UDP. Fallback на TCP идет только если запрос(ответ) превышает 500 байт, как правило при AXFR-запросах (трансфер зоны). Откройте 53/UDP
    (прошло уже больше суток)
    Какой TTL у SOA-записи? Дайте вывод
    dig example.com SOA
    

    Как его заставить писать логи? 
    Директива 'logging' в конфиге. Вот пример, можете от него плясать:
    logging {
    #	# Log queries to a file limited to a size of 100 MB.
    	channel query_logging {
    		file "/var/log/named_querylog"
    			versions 20 size 200M;
    		print-time yes;			// timestamp log entries
    		severity dynamic;	
    	};
    	channel security {
    		file "/var/log/named_security"
    			versions 10 size 50M;
    		print-time yes;
    		severity dynamic;	
    	};
    	channel resolver {
    		file "/var/log/named_resolver"
    			versions 2 size 50M;
    		print-time yes;
    		severity dynamic;	 
    	};
    	channel network {
    		file "/var/log/named_network"
    			versions 2 size 50M;
    		print-time yes;
    		severity dynamic;	 
    	};
    	channel xfer {
    		file "/var/log/named_xfer"
    			versions 2 size 50M;
    		print-time yes;
    		severity dynamic;	 
    	};
    	channel client {
    		file "/var/log/named_client"
    			versions 2 size 50M;
    		print-time yes;
    		severity dynamic;	 
    	};
    	category queries { query_logging; };
    	category security { security; };
    	category resolver { resolver; };
    	category network { network; };
    	category xfer-in { xfer; };
    	category xfer-out { xfer; };
    	category client { client; };
    #
    #	# Log general name server errors to syslog.
    	channel syslog_errors {
    		syslog user;
    		severity error;
    	};
    	category default { syslog_errors;  };
    #
    #	# Don't log lame server messages.
    	category lame-servers { null; };
    	category security { null; };
    };
    
    Ответ написан
    Комментировать