Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Андрей Шульц

  • 2
    вклад
  • 31
    вопрос
  • 9
    ответов
  • 22%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как получить наименование категории, наименование товара с максимальной ценой и цену?

    Андрей Шульц @noroots
    Попробуйте в group by добавить через запятую имя товара еще. Вообще, если нужен один товар, я бы выборку делал из таблицы продуктов и к ней джойнил уже категории.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли в Bitrix24 REST API оператор OR для фильтров crm.deal.list?

    Андрей Шульц @noroots Автор вопроса
    Поскольку документация не особо помогает составить запрос, выложу тут решение.

    $params = [
    	'cmd' => [
            'kp_num' => 'crm.deal.list?' . http_build_query(
    			[
    				'filter'	=>  [
    					'UF_CRM_***' => '111',
    				],
    				'select'	=> [
    					'ID',
    					'COMPANY_ID',
    					'STAGE_ID',
    					'UF_CRM_***',
    					'DATE_MODIFY'
    				]
    			]
    		),
            'ord_num' => 'crm.deal.list?' . http_build_query(
    			[
    				'filter'	=>  [
    					'UF_CRM_***' => '222',
    				],
    				'select'	=> [
    					'ID',
    					'COMPANY_ID',
    					'STAGE_ID',
    					'UF_CRM_***,
    					'DATE_MODIFY'
    				]
    			]
    		),
    	]
    ];
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как по прямой ссылке на изображение VK узнать ID страницы?

    Андрей Шульц @noroots
    Для некоторых url можно получить. Если url вида https://pp.userapi.com/******/u******/*****/*****.jpg, то взяв u****** можно поменять на id****** и открыть https://vk.com/id*******. К сожалению, если там вместо u******* стоит v******, то метод не работает.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как разбить выборку из MySQL на периоды?

    Андрей Шульц @noroots Автор вопроса
    В итоге нашел вот такой запрос, который группирует так, как надо:

    SELECT 
        FROM_UNIXTIME( TRUNCATE( UNIX_TIMESTAMP( tstamp )/900, 0 ) * 900 ) as h,
        AVG( amount ) as v
    FROM 
        transactions
    GROUP BY 
       h
    ORDER BY 
       h desc
    LIMIT
        24
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему аггрегация в Elasticsearch возвращает странные результаты?

    Андрей Шульц @noroots Автор вопроса
    Разобрался сам в итоге. Вот рабочий пример:

    use Elasticsearch\ClientBuilder;
    
    require 'vendor/autoload.php';
    
    $client = ClientBuilder::create()->build();
    
    $params = [
        'index' => 'my_index',
        'body' => [
            'mappings' => [
                'my_type' => [
                    'properties' => [
                        'brand' => [
                            'type'  => 'string',
                        ],
                        'raw-brand' => [
                            'type'  => 'string',
                            'index' => 'not_analyzed'
                        ],
                        'color' => [
                            'type'  => 'string',
                        ],
                        'raw-color' => [
                            'type'  => 'string',
                            'index' => 'not_analyzed'
                        ],
                        'id' => [
                            'type'  => 'integer',
                        ]   
                    ]
                ]
            ]
        ]
    ];
    
    $client->indices()->create($params);
    
    $items = [
        [
            'id'        => 1,
            'category'  => 'Jackets',
            'brand'     => 'Tommy Hilfiger',
            'color'     => 'Red'
        ],
        [
            'id'        => 2,
            'category'  => 'Jeans',
            'brand'     => 'Tommy Jeans',
            'color'     => 'Navy'
        ],
        [
            'id'        => 3,
            'category'  => 'Shirts',
            'brand'     => 'Tommy Hilfiger',
            'color'     => 'Maroon'
        ],
        [
            'id'        => 4,
            'category'  => 'Trousers',
            'brand'     => 'Tommy Jeans',
            'color'     => 'Grey'
        ],
        [
            'id'        => 5,
            'category'  => 'Shirts',
            'brand'     => 'Tommy Hilfiger',
            'color'     => 'Grey'
        ],
        [
            'id'        => 6,
            'category'  => 'Sneakers',
            'brand'     => 'Tommy Jeans',
            'color'     => 'Grey'
        ],
        [
            'id'        => 7,
            'category'  => 'Sneakers',
            'brand'     => 'Tommy Jeans',
            'color'     => 'Grey'
        ]
    ];
    
    foreach ($items as $item) {
        $params = [
            'index' => 'my_index',
            'type' => 'my_type',
            'id' => $item['id'],
            'body' => [
                'brand'         => $item['brand'],
                'raw-brand'     => strtolower(str_replace(' ', '', $item['brand'])),
                'color'         => $item['color'],
                'raw-color'     => strtolower(str_replace(' ', '', $item['color'])),
                'category'      => $item['category'],
                'raw-category'  => strtolower(str_replace(' ', '', $item['category']))
            ]
        ];
    
        $client->index($params);
    }
    
    $params = [
        'index' => 'my_index',
        'body' => [
            'query' => [
                'bool' => [
                    'must' => [
                        [ 'match' => [ 'brand' => 'tommy' ] ],
                        [ 'match' => [ 'color' => 'grey' ] ]
                    ]
                ]
            ],
            'aggs' => [
                'brands' => [
                    'terms' => [
                        'field' => 'raw-brand',
                    ],
                ],
                'colors' => [
                    'terms' => [
                        'field' => 'raw-color',
                    ]
                ],
                'categories' => [
                    'terms' => [
                        'field' => 'raw-category',
                    ]
                ]
            ]
        ]
    ];
    
    $response = $client->search($params);
    echo '<pre>';
    print_r($response);
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как Вы мониторите проекты на Upwork? Приложения, RSS, пр.?

    Андрей Шульц @noroots
    Большой минус их RSS, что он не отдает работы сразу. Обычно они приходят с задержкой около 5 минут и за это время там могут набиться 50+ индусов.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как построить дерево меню для максимально быстрой выдачи?

    Андрей Шульц @noroots
    Вообще странно, что у вас такая скорость - вы случайно не в цикле делаете запросы? Тут же один запрос к базе идет и потом все строится вложенной функцией. Как вариант можно хранить в сессии дерево либо в каком то кэше.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какие есть работающие варианты принятия платяжей в РФ изза рубежа?

    Андрей Шульц @noroots
    Если 3,5 процента и 2$ за снятие не проблема, то Payoneer вам в помощь. Там можно выставлять счета клиентам по email.
    Ответ написан более трёх лет назад
    10 комментариев
    10 комментариев
  • Wildcard поддомен в Nginx возвращает No input file specified. Что не так?

    Андрей Шульц @noroots Автор вопроса
    Увы, так и не получается решить
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • Drno
    • 7 ответов
    • 0 вопросов
  • scoffs
    Семён Окулов
    • 5 ответов
    • 0 вопросов
  • AUser0
    • 5 ответов
    • 0 вопросов
  • xez
    Dmitry Roo
    • 4 ответа
    • 0 вопросов
  • CityCat4
    CityCat4
    • 4 ответа
    • 0 вопросов
  • Justa Gain
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации