• Как сделать unique email, если только поле email не пустое в Django?

    petermzg
    @petermzg
    Самый лучший программист
    Отдельной таблицей emails, тогда из таблицы Users сможете задать Внешний ключ с возможностью NULL
    Ответ написан
    Комментировать
  • Как проверять модель каждые 24 часа в django?

    @vanillathunder
    Для таких задач лучше всего использовать очереди. Вот библиотека которая реализует эту задачу тык
    Ответ написан
    4 комментария
  • В чем заключаются основные различия AWS и Heroku?

    sim3x
    @sim3x
    Хероку хостится на AWS

    Хероку используется, когда есть деньги, непонятно когда придет вал запросов, админить никто не хочет
    AWS - когда админить есть кому, понятно когда приходит вал запросов, примерно понятно, что делать с наплывом
    Ответ написан
    Комментировать
  • Как получить телефон, что подгружается ajax'ом?

    @EverOne
    R&D Management since 2011
    В коде страницы есть
    <div class="productPageFixedContact__phoneText js-showContactPopup" data-phone="KzcgKDkxMCkgNDA5LTY3LTU3">

    Так вот - data-phone="KzcgKDkxMCkgNDA5LTY3LTU3"
    И есть телефон и никакого ajax'a!
    Теперь берем
    KzcgKDkxMCkgNDA5LTY3LTU3
    раскодируем base64->utf8
    Ответ написан
    1 комментарий
  • Codewars - поможет ли?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Сам там балуюсь в свободное время. С точки зрения фронтенда он не так полезен, т.к. однобоко задействуется язык. Тем не мнее для глубокой проработки алгоритмов он вполне годится и полезен.

    Плюс после решения очередной ката, там доступны решения других участников, и встречаются очень любопытные примеры кода, что называется на острие прогресса, и есть смысл не только решать ката, но и изучать код других участников, черпая оттуда вдохновение и опыт.
    Ответ написан
    Комментировать
  • Как вытащить широту и долготу из ymaps?

    petermzg
    @petermzg
    Самый лучший программист
    Вы бы хоть в браузере посмотрели, что страница возращает.
    Там сразу видно
    ymaps.geocode('55.77613067627 37.82364654541'
    Ответ написан
    3 комментария
  • Как парсить сайт, использующий Ajax?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Смотрите исходник страницы, берете в руки блокнот и калькулятор и ищете что тут за обсфукация
    Конкретно на этом сайте все просто:

    Находим вашу строчку с "Показать телефон":
    "<div class="toogle-button" id="show-phone_button" blst="313548" lst1="313548" lst2="0">Показать телефон</div>"


    Ищем, где используются эти blst, lst1, lst2 и находим
    function ShowPhones(e)
    {
    	var blst = $(e).attr('blst');
    	var lst1 = $(e).attr('lst1');
    	var lst2 = $(e).attr('lst2');
    	if (blst != "0")
    	{
    		$('.object-builder-phone').each(function ()
    		{
    			<b>ShowAttr(this, "blst", blst);</b>
    ...


    Ищем ShowAttr и находим декодер:
    function ShowAttr(e, attr, value)
    {
    	if ($(e).attr(attr) == "true")
    	{
    		var decrypt = value / 17;
    		var p1 = Math.floor(decrypt / 100);
    		var p2 = decrypt - 100 * p1;
    		var t1 = ("" + p1).substring(1) + '-' + pad(p2, 2);
    		$(e).text($(e).text().replace("...", "") + t1);
    		$(e).attr(attr, 'false');
    	}
    }


    вот и выходит, что blst="313548", делим на 17, получаеем 313548/17 = 18444
    разбиваем на две части, убираем первый символ, добавляем между ними дефис, получаем: 84-44

    Итого +7 495 626-... преобразовывается в +7 495 626-84-44

    P.S. Можно даже проследить логику программиста, который забавно оптимизировал форматирование первой двойки чисел - чтобы не вызывать дополнительно функцию pad для форматирования нулей, он просто добавил 10000, чтобы нули просто были, и их можно было взять через substring. Для второй двойки чисел так нельзя, поэтому там вызывается pad.
    Ответ написан
    Комментировать
  • Как парсить сайт, использующий Ajax?

    DaFive
    @DaFive
    Easy.
    Загружаем страницу, получаем атрибут кнопки "Показать телефон" вида blst="число".
    Я напишу на PHP, сами дальше разберетесь.
    Пишем функцию decrypt.
    function decrypt($value) {
            $decrypt = $value / 17;
            $p1      = floor($decrypt / 100);
            $p2      = $decrypt - 100 * $p1;
            $t1      = substr("" + $p1, 1) . '-' . pad($p2, 2);
            return $t1;
    }
    function pad($num, $size) {
            $s = $num + "";
            while (strlen($s) < $size) {
                $s = "0" + $s;
            }
            return $s;
    }


    Вызываем функцию decrypt() с аргументом blst. Получаем недостающие цифры телефона через дефис.
    Собственно, сама реализация есть у них на сайте :)
    Ответ написан
    6 комментариев