• Какие книги по MYSQL вы использовали для обучения?

    Melkij
    @Melkij
    PostgreSQL DBA
    "High Performance MySQL", Baron Schwartz, Peter Zaitsev, Vadim Tkachenko
    shop.oreilly.com/product/0636920022343.do
    Не просто достойна. а обязательна к прочтению всем, кто работает с MySQL.
    Ответ написан
    Комментировать
  • Быть Marionettejs или не быть?

    aen
    @aen
    Keep calm and 'use strict';
    Если коротко, то "быть". Это вам позволит избежать кучи граблей, на которые наткнетесь при разработке.

    upd: Вот вам подборка для изучения https://github.com/instanceofpro/awesome-marionette
    Ответ написан
    Комментировать
  • Растолкуйте код js?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    learn.javascript.ru/cookie
    javascript.ru/String/split
    javascript.ru/String/indexOf
    www.w3schools.com/jsref/jsref_trim_string.asp
    javascript.ru/string/substring

    Я бы не использовал функцию trim так как её нет в ie8, и чистил бы пробелы регулярным выражением.
    Ответ написан
    2 комментария
  • Как получить выполняемые запросы в браузере?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Запомнить, какие запросы были отправлены, и проверять:
    var requests = [];
    requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
    requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
    requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
    requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
    requests.push($.ajax({type: 'GET', url: '/echo/json/'}));
    
    console.log(requests);
    
    function Test(){
        $.each(requests, function(i, req){
            if(req.readyState == 0 || req.readyState == 4){
                console.log(req.status + ': ' + req.statusText);        
            }else{
                console.log(req.readyState);        
            }
        });
    }
    
    Test();
    
    window.setTimeout(Test, 3000);

    Посмотреть пример.
    Можно удалять запросы из коллекции по завершению их выполнения.
    Ответ написан
    2 комментария
  • Почему не работает accordion на bootsrap?

    nazarpc
    @nazarpc
    Open Source enthusiast
    ПРИ ЧЕМ ЗДЕСЬ PHP???
    Ответ написан
    Комментировать
  • Как вернуть результат функции js?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Коллбек, переданный в then, вызывается асинхронно -- когда-то потом, в неопределенном будущем, неизвестно когда, но точно тогда, когда getFunction уже закончит свое выполнение.

    Напишите в консоли:
    function getFunction () {
        console.log('sync1');
        setTimeout(function () {
            console.log('async');
        }, 1000);
        console.log('sync2');
    }

    Какое бы число вы не поставили вместо 1000, хоть 0, надпись async появится позже, чем sync2. А если поставить брейкпойнт, то хорошо видно, что на момент выполнения console.log('async'); функции getFunction даже нет в стеке вызовов.

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

    Возвращайте promise:
    function getFunction() {
    	return $.when(
    		$.ajax('адрес'),
    		$.ajax('адрес')
    	)
    }

    и работайте с ним (с помощью .then и т.д.)
    Ответ написан
    Комментировать
  • Как скриптом перейти в начало страницы?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    document.getElementById('arrow').onmouseover = function() {
        pic.src = "onMouseOver.png";
    };

    Каждый раз, когда вы так делаете, умирает котенок. Положите обе картинки в спрайт и меняйте скриптом background-position, если уж по каким-то причинам не можете использовать CSS. Иначе эта картинка будет подгружаться только после того, как юзер наведет мышь, и пока она не подгрузится, не бует видно кнопки вообще.
    Ответ написан
    Комментировать
  • Чем заслужил свою популярность Laravel?

    ajaxtelamonid
    @ajaxtelamonid
    Laravel
    Тем, что там можно писать мало там, где мы привыкли писать много. Подобный "конвеншн овер конфигурейшн" - он помимо прочего оставляет ощущение, что автор пишет не сферическую вещь в вакууме, которая якобы должна подойти всем, а для нас, для простых рабочих пацанов с окраин, со своими вполне конкретными юзкейсами. Т.е. он 1. человек умный и 2. знает жизнь. Это подкупает.

    Например, в output идет то, что возвращено из контроллера, а если возвратить ORM-объект или массив (точнее коллекцию) ORM-объектов, то будет отдан json, причем со всеми связанными объектами. Масса нужных в хозяйстве вещей, которые идут из коробки (миграции, редис, кэш с множеством провайдеров, работа с очередями, консольная тулза artisan для разнообразных обслуживающих вещей). Изкоробочная работающая сборка вьюх в лейаут, минимум возни с авторизацией. Скоупы в ORM. Кусочки конфигов в файлах, которые удобно ставить в .gitignore. В общем, масса такого вот, мелкого, но очень удобного.

    На Laravel ОДНОВРЕМЕННО можно уйти в глубины аццкого хадкора по Фаулеру, с тестированием всего и вся, с интерфейсами, депенденси инжекшнами, репозиториями, обсерверами, ентитями, гексагональными сценариями итд, итп, _подставить_любимый_паттерн_, И в то же время забить на это всё, сгенерить _ide_helper для подсказок по "фасадам" в IDE и фигачить код со статическими вызовами, как будто весь фреймворк написан на статике, как Кохана. Т.е. и сайт-знакомому-за-вечер и огроменный кровавый энтерпрайз делаются на одном фреймворке - в зависимости от того, насколько глубоко исполнитель хочет погружаться в свой продукт. Подобная гибкость - это, имхо, очень круто.

    И еще - как показала практика фреймворкостроительства, или ты двигаешься вместе с развитием php, либо ты делаешь "более лучшее, удобное и грамотное" решение и тихо загниваешь с своем междусобойчике за пару лет. Laravel двигается максимально близко к php - следование psr, composer-платформа в качестве базы, фрейморк ставится оттуда и пакеты расширения тоже имеют composer-формат. Что говорит о том, что у фреймворка есть все шансы прожить долгую и счастливую жизнь.
    Ответ написан
    Комментировать
  • Как правильно написать скрипт выделения чекбоксов?

    Paul_Smith
    @Paul_Smith
    Установка флажка:
    $(".checkbox").prop('checked', true);

    Снятие флажка:
    $(".checkbox").prop('checked', false)

    Код для вашего случая:
    $("#checkbox").change(function(){
        $('.checkbox').prop('checked', $(this).is(':checked'));  
    })


    jsfiddle.net/N4F78
    Ответ написан
    Комментировать
  • Не склоняются названия месяцев (centos+php)?

    @adebt
    «быть самому себе злобным буратино» — это плодить костыли, вместо того, чтобы использовать уже реализованный функционал

    По самому вопросу:

    выдержка из файла украинской локали CentOS

    % Initially alt_digits was supposed to hold alternative symbols for _digits_,
    % corresponding to %O modified conversion specification.
    % Although in Ukrainian language alternate _names_ are used instead of digits.
    % We'll use this keyword to present a list of month names in proper form for
    % date, see mon. (%Om)
    %
    % This hack is dedicated for months it won't work for other %O* modifiers
    % (weeks, days etc).
    %


    Вкратце суть такова, что для правильного склонения месяцев в функции strftime нужно использовать вместо модификатора %B модификатор %Om

    У меня в результате дата с 16 квітень 2013, 16:22 изменилась на 16 квітня 2013, 16:22
    Ответ написан
    4 комментария
  • Вопрос хостерам о безопасности?

    NetAngels
    @NetAngels
    Пожалуй, лучший облачный хостинг в России.
    Извините, а откуда мнение, что «suexec PHP» замедляет работу сайта в 20 раз? PHP умеет работать в 3х режимах:
    1. как модуль apache (mod_php), тогда php выполняется от того же пользователя, от которого запущен apache (Ваш первоначальный вариант)
    2. В режиме FastCGI. И по скорости php-fcgi ничем не медленнее mod_php
    3. В режиме просто CGI. Вот это медленее чем mod_php раз в 10, да

    Так вот, suexec может использоваться как для (3) варианта, так и для (2) и в случае (2), то есть php запускается как fastcgi, плюс suexec, Вы получите систему, в которой каждый отдельный сайт можно будет запускать от имени и с правами разных аккаунтов, но работать все будет под одним и тем же apache. Так и устроены многие shared-хостинги.

    Все, что нужно для этого, это apache, suexec, mod_fcgid и php, собранный с поддержкой fastcgi.
    Ответ написан
    1 комментарий