• Как вынести большую таблицу из базы и сделать её общей?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Imho:
    1) БД 7 гигов как бы не много. Оно должно дампиться за несколько минут.
    2)
    - Зачем каждому разработчику актуальный дамп продакшена?
    - Зачем это все хостить на боевом сервере?
    3) Идея писать логи в основную БД весьма порочна. Поднимите под неё какую нибудь монгу, ну или хотя бы отдельный sql сервер.
    4) Идея хранить картинки в базе конечно имеет право на жизнь, но для этого нужны веские аргументы.
    Мне кажется вполне можно вынести работу с картинками в отдельный сервис (единый для всех) и хранить это все дело в файловой системе.
    Ответ написан
    1 комментарий
  • Как из массива вытащить переменную?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Вы пытаетесь обратиться к объекту как к массиву.
    $result['0']['ACCOUNT_FROMPERIOD']->date
    Ответ написан
    Комментировать
  • Какую технологию выбрать для веба?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Начну с конца.

    1. RESTfull - это архитектурный стиль. Он никак не коррелирует ни с быстродействием, ни с трафиком, ни с чем.

    2. Проблемы с серверами решаются очень просто: Hetzner всего 4000 рублей в месяц.
    Вообще идея отдавать проект на размещение в другую компанию, это потенциально дикий геморрой.
    Сервера всегда должны быть свои.

    3. Про технологии: открываете hh и смотрите на количество резюме по разным языкам и уровень зп.
    Опять же не нужно зацикливаться одним городом, смотрите в целом.
    По моим наблюдениям самым популярным является lamp стек.
    В некоторых регионах на первом месте Java, но оно сильно выше по зарплатам при примерно таком же среднем уровне.

    UPD@Airat1995
    1. Я просто считал, что если будет сервис statefull, то это нагрузка на сервер, ведь надо хранить данные о пользователе и т.д. Значит я ошибался)
    2. Да проблема в том, что вряд ли такое будет возможно сделать, у них строгая политика по поводу пользованием сети интернет (ИМХО скорее всего из-за узкого канала связи)
    3. По поводу того, что не нужно зацикливаться на одном городе, у них есть своя фирма подрядчик, которая занимается всем, что так или иначе связано с IT. Когда поставили задачу, мне сразу сказали, что необходимо сделать так, чтобы это было более-менее дешево сопровождать и какая организация будет этим заниматься.

    Airat1995:
    1. а) STATEless и RESTfull это в принципе разные вещи которые никак не пересекаются.
    Сервис вполне может быть STATEless, но не RESTfull и наоборот.
    b) Хранение данных о пользователе есть в STATEless сервисе. В STATEless нет хранения данных пользователя (но не бизнес логики) между запросами.
    Если у Вас пользователи не измеряются миллионами это ничтожная нагрузка.
    * Хотя STATEless бесспорно удобней в интеграции

    2. Это интранет приложение и нет денег на отдельную железку? Рискну предположить что нагрузки там не будет по определению никакой.

    3. Постановка вопроса несколько странная если честно.
    Вы в соседних комментариях пишите что разрабатывать будете сами лично.
    Вы мастер на все руки готовый написать на любом из существующих языков с использованием любого фреймворка?!?

    Пишите на том, что хоть как то знаете.
    Подрядчик Вам может выкатить абсолютно любые требования, пытаться им соответствовать это бред.
    А если честно, еще лучше просто послать этого заказчика куда подальше.
    Я понимаю что у Вас это один из первых проектов итд итп - но судя по постановке задачи бюджета там нет, а хаоса в организации хватает.
    Ответ написан
    6 комментариев
  • Как вывести многомерный массив каталогов их содержимого через PHP?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    scandir + рекурсия
    Ответ написан
    Комментировать
  • Почему HTML форма не отправляется полностью в тот адрес, который указан в action (с готовыми параметрами)?

    qork
    @qork
    { background: #F00B42 }
    Два варианта
    <form action='/page'>
       <input type="hidden" name="param" value="value">
       <input type="hidden" name="param2" value="value">
       <button>Отправить</button>
    </form>

    Или
    <a href="/page?param=value&param2=value">Отправить</a>
    Ответ написан
    Комментировать
  • Как настроить редирект для слешей?

    # Редирект на страницу без многократных /.
    RewriteCond %{THE_REQUEST} //
    RewriteRule .* /$0 [R=301,L]
    
    # Убираем несколько слешей в урле
    RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*)
    RewriteRule ^ %1/%2 [R=302,L,NE]
    # Убираем последний слеш в урле
    RewriteCond %{HTTP_HOST} (.*)
    RewriteCond %{REQUEST_URI} (/+)$ [NC]
    RewriteRule ^(.*)(/)$ $1 [L,R=301]
    Ответ написан
    Комментировать
  • Комментарии кода на русском - это плохо?

    Adamos
    @Adamos
    Кириллица в РНР - вообще не очень хорошо.
    Если вам доведется как-нибудь перевести проект с cp1251 на utf8 или обратно - прочувствуете, почему...
    Ну, и пара мелочей:
    1. ($array != $аггау) === true. Сами догадаетесь, почему?
    2. Вам же оплачивают ваше время работы? Добавьте к нему бесплатную практику в английском - думая о процессе по-английски, называя переменные по-английски, добавляя комментарии по-английски. Гугля, если понадобится, на английском... Со временем вы не только прокачаете язык, но и действительно будете думать о коде в английских терминах. Не понадобится переключать контекст в голове. А это дольше, чем переключение раскладки, даже если вы этого не замечаете.
    Ответ написан
  • Почему форма не отправляется на email?

    У вас беда с тегами <form>, получается две формы вложенные одна в другую. При этом не заданы action и method (по дефолту метод GET, а ваш скрипт ожидает POST). Уберите лишние теги <form> и </form> и задайте action (если только форму не отдает тот же скрипт, что ее обрабатывает) и method="post".
    Ответ написан
    Комментировать
  • Как произвести замену(слияние) в БД?

    qonand
    @qonand
    Software Engineer
    UPDATE product
    LEFT JOIN (SELECT id_products, name_product FROM newProduct) as np ON np.id_product = product.id_product
    SET product.name_product = np.name_product
    Ответ написан
    Комментировать
  • Кто где делает заметки по программированию?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Большинство вещей сегодня не нужно никак запоминать у себя. Все что нужно, научиться правильно искать.
    Например большинство вопросов по JavaScript элементарно ищется простым запросом в гугле, например "mdn promise", или "javascript ru promise". Все что нужно - знать правильные сайты и использовать название этого сайта как префикс в поисковой строке.

    Для ссылок на ресурсы достаточно создать хорошую структуру закладок в браузере (тот же хром хранит все закладки в облаке, так что не потеряются).

    Для кода лучший сервис - GitHub + Gist.
    Ответ написан
    Комментировать
  • Можно ли просто копировать файлы MySql?

    Melkij
    @Melkij
    PostgreSQL DBA
    Текстовые? Нет, текстовые не выйдет. В /var/lib/mysql/ бинарные файлы. Чуток текстовых там, конечно, тоже есть, но данных в бинарных.

    Делаете копию каталога (внимание на права доступа и владельцев файлов, это тоже важно и их надо сохранить) datadir. По-видимому, у вас это /var/lib/mysql/
    Переносите на машину с той же самой версией mysql, лучше в точности ту же версию, но можно в пределах минорных версий. Попутно делаете ещё одну копию с данных.
    Разумеется, на новой машине на момент копирования mysql должен быть остановлен.
    Запускаете mysql, читаете логи, исправляете ошибки.
    Дальше по обстоятельствам. Если завёлся - то проверяете свои данные, если нет - читаете дальше логи и гугл.
    Innodb при успехе восстановится до последней зафиксированной транзакции. myisam - даже в лучшем случае как повезёт. Устойчивость к сбоям - это не про него.
    Ответ написан
    1 комментарий
  • При добавлении товара в корзину я добавляю все данные в сессию. А как сделать, если добавляю еще один товар?

    @IceJOKER
    Web/Android developer
    Вы как-то неправильно храните данные в сессии, зачем отдельно сохранять каждое значение, когда можно один товар сохранить как массив.

    $item = ['id' => 1, 'title' => 'someTitle', 'other_field' => 'otherFieldlValue'];
    $_SESSION['cart_items'][] = $item; 
    //либо так
    $_SESSION['cart_items'][$item['id']] = $item;
    //второй способ предотвращает повторное добавление одного и того же товара


    А для конвертации под Laravel читайте документацию - https://laravel.com/docs/5.2/session
    Ответ написан
    2 комментария
  • При удалении вопроса модератором теряется работа отвечающих. Можно ли это предотвратить?

    pm_wanderer
    @pm_wanderer
    junior-HTML
    На мой взгляд, проблема не в том, что отсутствует корзина, а в том, что модератор удаляет тему в самый разгар беседы. Самый простой способ исправить это - удалять такие темы не сразу, а спустя неделю например. Людям надо иногда пооффтопить и обсудить какие то абстрактные вещи типа "Почему мой код такой идеально-замечательный?", а модераторы хотят чтобы люди наполняли сайт только релевантным контентом, отвечая на вопросы по существу.
    Ответ написан
  • Как правильно порождать объекты?

    27cm
    @27cm
    TODO: Написать статус
    1. Норм.
    2. Норм.
    3. Плохо, транспорт не должен создавать колёса.

    Вопрос - как логичней это делать? Учитывая то, что в сущности Wheel по-умолчанию нужно установить нек-рые параметры, к-рые зависят от параметров родителя, т.е. сущности Transport.


    Сперва создаёте колесо (через new или через фабрику, как удобнее) и настраиваете параметры, не зависящие от транспорта:
    $wheel = new Wheel();

    Затем добавляете колесо к транспорту:
    $transport->addWheel($wheel);

    Параметры Wheel, которые зависят от Transport, определяются в методе Transport::addWheel() или Wheel::setTransport():
    public function addWheel(Wheel $wheel)
    {
        $wheel->setTransport($this);
        $this->getWheelsCollection()->add($wheel);
    }
    Ответ написан
    1 комментарий
  • Почему браузер переворачивает картинки на свой лад?

    alsopub
    @alsopub
    Обычно в файле с картинкой присутствует мета-информация в формате EXIF.
    В частности там может присутствовать информация о том как располагалась камера в момент съемки - горизонтально или вертикально.
    Далее начинаются нюансы - разные просмотрщики по разному себя ведут. Какие-то учитывают эту информацию, какие-то нет.
    То же касается и обработки изображений. Какие-то перевернут картинку и удалят информацию о повороте, какие-то проигнорируют поворот.
    Ответ написан
    1 комментарий
  • Как понять доки MySQL?

    qonand
    @qonand
    Software Engineer
    Сама выборка данных (внутри БД) будет происходить в обоих случаях одинаково.
    Но не стоит забывать что БД должна выбрать результат а потом ОТПРАВИТЬ результат клиенту, к примеру php-скрипту. На эту отправку так же уходит время, особенно если БД и скрипт расположены на разных серверах. Благодаря временной таблице БД может снять блокировку не дожидаясь конца отправки данных, т.к. отправка будет происходить из временной таблицы
    Ответ написан
    Комментировать
  • Как округлить цену правильно?

    alsopub
    @alsopub
    Как вариант - округлять до двух знаков:
    $n = '543.8099999999999';
    echo(round($n*100)/100);
    Ответ написан
    3 комментария
  • Как безопасно дописать в базу?

    Melkij
    @Melkij
    PostgreSQL DBA
    update tablename set fieldname = concat('prepend', fieldname) where /**/;
    Ответ написан
    Комментировать