Задать вопрос
  • Что такое ElasticSearch?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Знаете, я с вами соглашусь, что хорошую вводную по Elastic трудно найти. Пока сам не переварил доков и не набил шишек многие элементарные понятия оставались для меня неясными. Поэтому вот моя вводная: Elastic можно использовать как NoSQL БД, только надо быть внимательным, т.к. всё-таки его основная задача поиск, а не удовлетворение функций БД. Например, если вы не настроили хранение исходных данных, а только индексацию, то свои данные вы уже не извлечёте из него. НИКОГДА. Только отдельные выражения, удовлетворяющие условиям поиска. Всё, тупик. Так же нельзя повторно индексировать уже загнанные в него данные. Т.е. перед загрузкой данных надо грамотно настроить индексацию, т.к. перестроить индекс, как это делается в реляционной БД невозможно. Нужно придумать новую схему индексации и перезалить данные в Elastic. Именно поэтому основное использование Elastic - как дополнение к существующей БД из которой данные можно перезалить по одному или полностью в Elastic (можно, конечно сделать схему Elastic->Elastic, но тоже есть нюансы).
    Ещё пару слов про схему. Это ЛОЖЬ, что в Elastic нет схемы данных. Она как раз есть и ооочень жёсткая. Жёсткая до того, что однажды определив, вы не сможете её поменять. Изначально Elastic оказывает медвежью услугу, разрешая вам дополнять схему по-умолчанию, но когда вы разберётесь с этой темой, то можете обнаружить, что Elastic "понастроил" такого у себя внутри, что остаётся только охреневать и переделывать всё явно, отказавшись от его "услуг" по автоматическому добавлению полей в схему.
    Так же в Elastic очень непросто строить сложные запросы на поиск и агрегатные запросы. Совершенно неинтуитивно. Но если освоитесь, то будет вам счастье. )))
    Несмотря за такие "страшные" вещи - Elastic классная система и по производительности агрегатных запросов не уступает платной версии MSSQL в поиске в многопроцессорных системах (проверял на одинаковых аппаратных конфигурациях с 16 ядрами). Так что если вам хочется большую скорость в агрегатных запросах и главное - это бесплатность, то берите и осваивайте Elastic. Мощности и возможности у него огромные. Но... нужно потратить приличные усилия на изучение.
    Ответ написан
    1 комментарий
  • Стоит ли новичку начинать с фреймворка или лучше учиться на чистом php?

    garadash
    @garadash
    Это зависит от склада ума, энергии и подхода к обучению в целом. Грубо говоря, есть два типа людей в подходе к обучению; одним легче и комфортнее нырнуть в примеры, образцы, готовое и пытаться понять на уже сделанном и работающем как это все устроено, а другие идут дорогой от азов, простого к сложному, развивая свои умения по мере освоения. Само собой разумеется, что и в первом случае без «Базовых» знаний никуда, но кому-то хватает недели, чтобы уже взять «в руки» готовое и начать крутить, а кто-то строит свой долгий путь через освоение и создание своего.
    Ответ написан
    Комментировать
  • Как развить навык проектирования приложения или как стать Senior?

    devspec
    @devspec
    Помогло? Отметь решением
    Вам помогут только время и большое количество реализованных проектов. Всё приходит с опытом.
    Я, например, каждые полгода делаю ревью собственного кода за предыдущие полгода и ужасаюсь - как я мог так писать? А ведь полгода назад я мнил себя профессионалом... и так каждые полгода ))
    Ответ написан
    2 комментария
  • Как заставить логирование Guzzle работать в Laravel?

    Denormalization
    @Denormalization
    Если нужно писать в общий лог файл лог Guzzle, то:
    use GuzzleHttp\HandlerStack;
    use GuzzleHttp\Middleware;
    use GuzzleHttp\MessageFormatter;
    use Monolog\Logger;
    
    $stack = HandlerStack::create();
    $stack->push(
        Middleware::log(
            \Illuminate\Support\Facades\Log::getMonolog(),
            new MessageFormatter('{req_body} - {res_body}')
        )
    );
    $client = new \GuzzleHttp\Client(
        [
            'base_uri' => 'some-url.com',
            'handler' => $stack,
        ]
    );


    Оно будет писать в общий лог файл.
    Если же нужно писать в кастомный лог файл, то:
    use Monolog\Handler\StreamHandler;
    // ....
    $logger = new Logger('GuzzleLogger');
    $logger->pushHandler(new StreamHandler(storage_path('logs/guzzle.log')));
    $stack->push(
        Middleware::log(
           $logger,
            new MessageFormatter('{req_body} - {res_body}')
        )
    );
    Ответ написан
    2 комментария
  • Как заставить телеграм-бота читать групповой чат?

    @stalkerxxl
    Разрешение боту дали читать "ВСЕ сообщения"?
    Ответ написан
    3 комментария
  • Как найти хорошего разработчика?

    Jump
    @Jump
    Системный администратор со стажем.
    Вам вообще шашечки или ехать?
    Может есть какие то параметры или инструкции как должен выглядеть код?
    если вы участвуете в конкурсе на лучший код, то спросите это у организаторов.

    Если же вам нужен рабочий проект, то вам должно быть глубоко наплевать, как выглядит код.
    Ответ написан
    6 комментариев
  • Как настроить FTP под ubuntu?

    merryjane
    @merryjane
    Системный администратор
    Как вариант proftpd.
    Установка:
    aptitude install proftpd
    Правка конфига:
    vim /etc/proftpd/proftpd.conf
      RequireValidShell  off
      AuthUserFile  /etc/proftpd/ftpd.passwd
      DefaultRoot                     ~

    Заходим в каталог /etc/proftpd и создаем нужных пользователей:
    ftpasswd --passwd --name=ftp_upload --home=/var/www/upload --shell=/sbin/nologin --uid=48 --gid=48
    где --name=ftp_upload - имя FTP-пользователя,
    --home=/var/www/upload - каталог куда будет доступ по ftp у данного пользователя,
    --shell=/sbin/nologin - отключаем ему шелл на всякий случай,
    --uid=48 --gid=48 - идентификаторы пользователя и его группы с правами которых будут заливаться файлы.

    Не забываем перезапустить сервис после правки конфига сервера.
    Ответ написан
    2 комментария
  • Как выполнить Javascript в браузере без участия html?

    @bogomazov_vadim
    Выполняй код в адресной строке :)
    javascript:alert('hello world');
    Ответ написан
    1 комментарий
  • Почему не запускается код на Java?

    Пробовал файлы .bat создавать? Это просто текстовый файл одна строка одна команда.

    start.bat можно создать в любом месте
    @echo off
    d:
    cd "\Program Files\Java\jdk1.7.0_25\BIN"
    javac HelloWorld.java
    

    за полнофункциоальность не проверял, скорее просто как просто подсказка
    Первая строка убирает вывод текста команд
    Вторая строка задает текущим диск D:
    Третья переходит в нужную тебе папку (какую именно сам должен определить)
    Четвертая запускает
    Ответ написан
    1 комментарий
  • Почему не запускается код на Java?

    SSiarhei
    @SSiarhei
    Конечно нетбинс это хорошо и явно стоит поставить, но понимать как все запускается тоже нужно.

    1. Удали вообще класпаф из переменных окружения. Он там ни к чему совершенно.
    2. PATH=D:\Program Files\Java\jdk1.7.0_25\BIN, остальное лишнее.

    после этого запускаться должно с любой папки. Не поможет — отпишись, разберемся

    p.s. ты не правильно вообще запускаешь. ты должен находиться в папке в которой у тебя класс лежит, а не просто в с:\
    Ответ написан
    4 комментария