• Как читать log-файлы access.log?

    @marxxt
    понравился ответ - поставь ✔
    Похоже на работу сканера прокси, учитывая GET запросы к чужим сайтам
    Тут у человека такая же проблема
    Ответ написан
    Комментировать
  • Как запретить скриншотить страницу?

    @marxxt
    понравился ответ - поставь ✔
    Можно усложнить процедуру создания скрина
    Если скрин делается как Ctrl+Print, то повесить в обработчик события клавиатуры редирект, например.

    onkeydown=function(e){
    	if(e.key=="Control"){
            window.location.href = "http://stackoverflow.com";
        }
    	
    }
    Ответ написан
    1 комментарий
  • Как изменить код .exe файла?

    @marxxt
    понравился ответ - поставь ✔
    dnspy

    только там не ассемблерный код, а common intermediate language
    Ответ написан
    Комментировать
  • Почему существуют бесплатные прокси?

    @marxxt
    понравился ответ - поставь ✔
    Можно в трафик рекламу встраивать со своими реферальными ссылками, например
    Ответ написан
    2 комментария
  • Вот это что за программа?

    @marxxt
    понравился ответ - поставь ✔
    LEGO Mindstorms EV3
    Ответ написан
    Комментировать
  • Какие среды разработки embedded system существуют под Linux?

    @marxxt
    понравился ответ - поставь ✔
    Для STM32 есть SW4STM32
    Ответ написан
    Комментировать
  • Я не понимаю свою ошибку сам ошибка File "solution.py", line 2 SyntaxError: Non-UTF-8 code starting with '\xea' in file solution.py on line 2,?

    @marxxt
    понравился ответ - поставь ✔
    Напишите # -*- coding: utf-8 -*-
    Ответ написан
    Комментировать
  • Почему регулярка работает не так как надо?

    @marxxt
    понравился ответ - поставь ✔
    Такое вам подойдет?
    (href|src)="([\s\S]+?)"
    Ответ написан
  • Как дизассемблеры можете посоветовать?

    @marxxt
    понравился ответ - поставь ✔
    Ответ написан
    Комментировать
  • Что такое хорошая контекстная реклама?

    @marxxt
    понравился ответ - поставь ✔
    Мои критерии следующие

    Аналитика:
    • Присутствуют счетчики Метрики, Аналитикса, ВК. Нужно на будущее наполнять аудитории ретаргетинга. Усилий минимум, а если подключите рекламу в гугле и/или вк потом, уже сразу можно будет работать с ретаргетингом
    • Во всех счетчиках должны быть настроены аудитории для ретаргета, исходя их предыдущего пункта
    • Должны быть настроены цели. В том числе на звонки. На плагины обратных звонков. На плагины онлайн-консультанов
    • Должны быть настроены пользовательские параметры в Метрике на случай, например, a/b тестов сайта. Даже если вы тестов не проводите, то опять же в будущем эта информация может сильно пригодиться, а усилия на настройку здесь минимальные
    • Если рекламируется интернет-магазин, должна быть подключена электронная коммерция в обязательном порядке
    • Должен быть коллтрекинг. Лучше динамический с отчетами по каждому ключевому запросу


    Если все эти пункты выполнены, то можно включать показы, если нет, то нет.
    Это нужно, чтобы видеть свои цифры и проводить оптимизацию. Не нужно лететь вслепую.

    Сами рекламные кампании:

    • Собраны все релевантные ключи и сгруппированы. Собираться должны инструментом типа кейколлектора, чтобы быть уверенным, что собрано реально все. У меня редко бывало меньше 1000 релевантых ключей
    • Кампании должны разделяться, по крайней мере, на 3 группы: поисковая реклама, сеть, ретаргетинг. Можно еще поделить на кампании для ПК и неПК. Вобщем, должна прослеживаться структура
    • В объявлениях нужно заполнять все: заголовок, текст, ссылки, описания и т.д.
    • Текст и вся инфа в объявлении написаны человеческим языком
    • Баннеры в сети сделаны под ваш товар, а не надерганы из поиска по картинкам
    • Ссылки дополнены utm-метками
    • Естественно, кампании связаны с счетчиком
    • Стратегия показов в первый месяц ручная - цена клика, потом автоматическая - цена конверсии
    • Выключены показы для не целевой аудитории, чтобы не тратить на них деньги, если есть эта информация


    Показатели эффективности:
    • Первичных показателя три - процент конверсий, количество конверсий, стоимость конверсий
    • Вторичные - CTR, клики, уники, цена клика и т.д.


    Ну вот как-то так. Вообще технических деталей еще много. У каждой системы своих особенностей хватает.
    Ответ написан
    7 комментариев
  • Как посчитать пробелы в строке?

    @marxxt
    понравился ответ - поставь ✔
    #include <stdio.h>
    #include <string.h>
    
    int main(){
    
            char s[] = "2 3 1 2 3 1 2 3";
            char key = '\x20';
            char *p;
            int result = 0;
    
            p = strchr(s, key);
    
            while(p != NULL){
                    result++;
                    p = strchr(p + 1, key);
            }
    
            printf("%d\n", result);
    
            return 0;
    }
    Ответ написан
    5 комментариев
  • Как получить ClientID Яндекс.Метрики?

    @marxxt
    понравился ответ - поставь ✔
    Попробуйте так
    <script type="text/javascript">
    window.onload = function(){
      var clientid = yaCounter99999.getClientID();
      console.log(clientid);
    }
    </script>


    Счетчик не успевает инициализироваться, я так думаю
    Ответ написан
    Комментировать
  • Request python post передача данных JS скрипта?

    @marxxt
    понравился ответ - поставь ✔
    Может быть вот так

    import requests
    import re
    
    url = 'https://kase.kz/ru/trades/'
    
    r = requests.get(url)
    
    cookie_header = r.headers['Set-Cookie']
    cookie = re.search('csrftoken=([\s\S]+?);', cookie_header).group(1)
    
    print cookie
    
    cookies = {
        'csrftoken': cookie,
        'TRADE_USER_SETTINGS_FOREX': '"{\"fields\": [3]\054 \"instruments\": [\"USDKZT_TOD\"]}"',
    }
    data = {
        'csrfmiddlewaretoken': cookie,
        'market': 'FOREX',
        'instrument': 'USDKZT_TOD',
        'field': '3',
    }
    r = requests.post('https://kase.kz/ru/trades/view/', cookies=cookies, data=data)
    print r.status_code
    print r.text


    Ответ 200, все норм, документ отдается
    Ответ написан
    Комментировать
  • Не создается приватный ключ?

    @marxxt
    понравился ответ - поставь ✔
    А попробуйте вручную набрать)
    Вы могли скопировать команду откуда-то, а там невидимые символы)

    Сравните вывод
    echo "openssl genrsa –des3 –out private.key 2048" | xxd

    00000000: 6f70 656e 7373 6c20 6765 6e72 7361 20e2 openssl genrsa .
    00000010: 8093 6465 7333 20e2 8093 6f75 7420 7072 ..des3 ...out pr
    00000020: 6976 6174 652e 6b65 7920 3230 3438 0a ivate.key 2048.


    с выводом
    echo "openssl genrsa –des3 –out private.key 2048" | xxd

    00000000: 6f70 656e 7373 6c20 6765 6e72 7361 202d openssl genrsa -
    00000010: 6465 7333 202d 6f75 7420 7072 6976 6174 des3 -out privat
    00000020: 652e 6b65 7920 3230 3438 0a e.key 2048.


    В первом случае команда просто скопирована с вашего вопроса, во втором набрана вручную

    Короче символ "-" у вас как бы потерялся
    Ответ написан
    1 комментарий
  • Как отправить в API Яндекс.Метрику данные о звонках?

    @marxxt
    понравился ответ - поставь ✔
    А, вы вынесли в отдельный вопрос)

    Вобщем, StaticCall,UserId - обязательные колонки

    Заголовки
    Content-Type: multipart/form-data; boundary=------------------------boundary
    Content-Length: 12345


    Тело
    --------------------------boundary\r\n
    Content-Disposition: form-data; name="file"; filename="file.csv"\r\n
    Content-Type: text/csv\r\n\r\n
    ДАННЫЕ\r\n\r
    --------------------------boundary--


    Пример(для curl все тоже самое)
    function request($url, $data, $headers){
      $opt = array(
        'http' => array(
          'method' => 'POST',
          'content' => $data,
          'header' => $headers
        )
      );
    
      $context = stream_context_create($opt);
    
      $response = @file_get_contents($url, FALSE, $context);
      
      return $response;
      
    }
    
    $oauth_token='xxx';
    $boundary = "7zDUQOAIAE9hEWoV";
    $filename = 'data.csv';
    
    $calls = "StaticCall,UserId,DateTime,Price,Currency,PhoneNumber,TalkDuration,HoldDuration,CallMissed,Tag,FirstTimeCaller,URL,CallTrackerURL".PHP_EOL;
    $calls .= "1,133591247640966458,1481714026,678.90,RUB,+71234567890,136,17,0,,1,https://test.com/,https://test.com/".PHP_EOL;
    $calls .= "1,579124169844706072,1481718066,123.45,RUB,+70987654321,17,23,0,,2,https://test.com/,https://test.com/".PHP_EOL;
    $calls .= "1,148059425477661429,1481718126,678.90,RUB,+71234509876,72,11,0,,0,https://test.com/,https://test.com/";
    
    $data = "--------------------------$boundary\x0D\x0A";
    $data .= "Content-Disposition: form-data; name=\"file\"; filename=\"$filename\"\x0D\x0A";
    $data .= "Content-Type: text/csv\x0D\x0A\x0D\x0A";
    $data .= $calls . "\x0A\x0D\x0A";
    $data .= "--------------------------$boundary--";
    
    
    $headers = array();
    $headers[] = "Content-Type: multipart/form-data; boundary=------------------------$boundary";
    $headers[] = 'Content-Length: '.strlen($data);
    $headers = implode(PHP_EOL, $headers);
    
    $url = "https://api-metrika.yandex.ru/management/v1/counter/39764535/offline_conversions/upload_calls?client_id_type=USER_ID&oauth_token=$oauth_token";
    
    $result = request($url, $data, $headers);
    
    var_dump($result);


    Для curl типа того
    CURLOPT_POSTFIELDS => $data
    CURLOPT_HTTPHEADER => array(
        "Content-Type: multipart/form-data; boundary=------------------------$boundary",
        "Content-Length: " . strlen($data)
    Ответ написан
  • Как работает call tracking?

    @marxxt
    понравился ответ - поставь ✔
    Я делал динамический коллтрекинг через Server sent events
    Номера покупал в voximplant, он поддерживает колбеки

    1. Человек заходит на сайт
    2. Сервер выдает свободный номер
    3. Если был звонок, vox вызывает колбек, который оповещает сервер о событии звонка
    4. Сервер отправляет указание браузеру пользователя(которому выдан конкретный номер) через механизм SSE выполнить цель(конверсия) reachGoal(JavaScript Metrika API)

    В пуле было номеров 5 примерно для сайта с посещаемостью человек 500 в сутки.
    То есть регистрировались все звонки, а сегментировал по источникам уже в метрике.
    Как-то так
    Ответ написан
    5 комментариев
  • Какой учебник выбрать по схемотехнике?

    @marxxt
    понравился ответ - поставь ✔
    Ответ написан
  • Куда обратиться за помощью в дизасемблинге С# приложения?

    @marxxt
    понравился ответ - поставь ✔
    Из полезного на эту тему есть вот что


    Инструменты:
    • Упомянутый .NET Reflector
    • Плагин Reflexil
    • dotPeek
    • Fiddler
    • виртуальная машина


    Что еще нужно
    • все ваше свободное время на протяжении минимум месяца
    • рабочий образец приложения :)
    Ответ написан
    2 комментария
  • Как удалить последнюю строку в файле?

    @marxxt
    понравился ответ - поставь ✔
    with open('test', 'r') as f:
        lines = f.readlines()
        lines = lines[:-1]
    
    with open('test', 'w') as f:
        f.writelines(lines)
    Ответ написан
    Комментировать
  • Как отвечать на POST запросы Python?

    @marxxt
    понравился ответ - поставь ✔
    1. Устанавливаете falcon, gunicorn, nginx
    2. import falcon
      import json
      
      class CResourse(object):
      
      	def on_post(self, req, res):
                    data = json.load(req.stream)
                    res.status = falcon.HTTP_200
                    res.body = 'ddd'
      
      app = falcon.API()
      app.add_route('/callback', CResourse())

    3. В настройках паблика указываете адрес domain.com/callback
    Ответ написан
    6 комментариев