• Предварительное кеширование страниц?

    @kazmiruk
    Это называется "прогрев" кеша, ничего плохого в идеи нет
    Ответ написан
    Комментировать
  • Как банки относятся к большим переводам со skrill?

    @kazmiruk
    Как к этому отнесется скрил - не подскажу, но банкам пофиг. Осуществляю перевод каждый месяц примерно такой суммы уже 2 года как. Проблем никаких не было. Знакомая из сбера говорила, что более-менее внимательно они начинают смотреть на физ лица, которые гоняют более 400к в месяц. Карту мне блокировали один раз. Как сказал представитель банка - MC посчитали, что я осуществляю незаконную деятельность. По выписке потом глянул, что им могло не понравиться - у меня перед блокировкой было куча мелки переводов\снятий - около 20 за 2 дня.
    Ответ написан
    Комментировать
  • Symfony2 или Django?

    @kazmiruk
    Мое личное мнение - взял бы python, так как php и Symfony2 в частности приводят к рвотным позывам. Но каждый кулик, как известно.
    На Вашем же месте я бы проинтервьюировал каждую из команд и узнал почему они выбрали django+python, какие плюшки в сравнении с symfony2 (и наоборот), какие сопутствующие технологии собираются использовать, почему именно их и т. п. А потом бы выбрал тех, кто может адекватно ответить на эти вопросы. В любом случае оба инструмента позволят Вам добиться приблизительно одинакового результата, а вот опыт и компетентность команды решают.
    Ответ написан
    Комментировать
  • Сколько не читал - так и не понял суть *args и **kwargs в django. Кто может растолковать что это?

    @kazmiruk
    Это часть python, а не django. Тут вроде доходчиво на русском
    blog.djangofan.ru/2012/03/args-kwargs-python.html
    Но английский лучше все таки подучить.
    Ответ написан
    Комментировать
  • Как найти работу заграницей и стоит ли?

    @kazmiruk
    Был не так давно в подобной ситуации. Предлагали 80к долларов в год в США. Сначала посчитал что и думать не стоит, но благо подумал. С 80 к вычитаем налог 30%. Остаётся 56000 в год или примерно 4700 в месяц. Квартира в штате, куда приглашали в более-менее адекватном районе стоила 1000. Проезд примерно 200 насчитал. Страховка оплачивалась работодателем. На еду 600. Развлечения ещё 600. Все бы ничего, но у меня ещё жена. Она работать там не сможет, только если найдёт работодателя, готового её принять. Соответственно для неё ещё страховка более-менее нормальная нужна. А ещё расходы на связь, наверняка захочется авто, одежда иногда, комуналка. В итоге остаётся меньше 2к. Но со всеми расходами никуда не двигаясь из России у меня остаётся 2500. Т.е. ехать только ради переезда если по мне глупо. В любом случае хорошо там, где нас нет. Суть в том, что Вы сами должны оценить необходимость. Я понял, что по мне лучше работать на удаленке и быть свободным в плане выбора места, чем получить визу и сидеть в офисе в Европе.
    Ответ написан
    6 комментариев
  • Java или защита информации?

    @kazmiruk
    Из опыта своего университета, где отучился - защита информации это абстрактная херня. То, чему там учат практически невозможно применить на практике, так как нужно очень много сопутствующих знаний, которых не хватает (у меня 3 знакомых закончили специальность "безопасность и защита информации". По факту они выпустились шикарными математиками, но некудышными программистами. Отрыв сейчас между нашими зп почти в 5 раз, так как они не смогли устроиться по специальности. Работают 2 тестеровщиками, а один курьером). Соответственно найти нормальную работу будет невозможно. Ява тут выглядит куда перспективный.
    Ответ написан
    Комментировать
  • Как отловить замедление ответа nginx+uwsgi+django?

    @kazmiruk Автор вопроса
    Все оказалось очень интересным. Время смтотрелось как среднее время ответа. После релиза ушёл асинхронный запрос, который отрабатывались очень быстро и часто. Соответственно этот запрос перестал маскировать реальные проблемы на сервере с временем ответа в 350 мс.
    Ответ написан
    Комментировать
  • Как решить ошибку в кортеже Python 2.7?

    @kazmiruk
    Потому что это запись восьмеричного числа начинается в Питоне с 0, а в восьмеричной системе счисления нет 8 и 9.
    Ответ написан
    Комментировать
  • Подгрузка контента Django?

    @kazmiruk
    Джанга тут не при чем. Делаете апи (django-rest-framework можно использовать), а затем яваскриптом отслеживаете скролл на странице. Как только скролл подошел к нижней границе - вызываете апи с запросом на следующую порцию данных. Получив данные отрисовываете их.
    Ответ написан
    4 комментария
  • Как найти студенту работу на лето за границей?

    @kazmiruk
    WorkAndTravel и подобное. Других вариантов нет, так как ни один работодатель не будет заморачиваться с визами и т. п., так как у Вас нет опыта (да и образования) и Вы намереваетесь свалить к концу лета обратно.
    Ответ написан
    Комментировать
  • Стоит ли для более глубокого понимания Javascript изучать высокоуровневый язык?

    @kazmiruk
    Встречный вопрос: а что такое верхнеуровневый язык? Наверное, что высокоуровнеый. А где в Вашем представлении находится js, на каком уровне? По мне так высокоуровневей трудно придумать. А про вопрос стоит ил нет изучать что-то еще - разработчик ценится не возможностью механической работы, а знаниями. А изучения доп языков способствует развитию кругозора.
    Ответ написан
    2 комментария
  • Как объективно протестировать производительность node.js и PHP в запросах к mysql БД?

    @kazmiruk
    Как уже писали выше нода асинхронна, поэтому получилось и быстрее. Но это не значит, что она быстрее. Просто Вы не учли эту особенность при написании теста. Как работает тест в php:
    цикл - (отправить запрос - подождать результат) - вывести время работы; как работает Ваш тест на ноде - цикл - (отправить запрос) - вывести время отправки всех запросов - начать получать результаты. Т. е. function(error, result, fields){} не попадает в замер.
    Ответ написан
  • Как ускорить шаблон Django?

    @kazmiruk
    Как не крутите у Вас буде 1млн итераций, что много. Из более-менее реальных вариантов - вынести этот код из шаблона (генерировать плоский список в контроллере, а затем прокидывать его в шаблон). Т.е. в результате у вас должно быть что-то типа:
    {% for el in l %}
    <span>{{o1.n}}</span>
    {% if el.flag1 %}
    ...
    {% if el.flag2 %}
    ...
    {% endif %}
    {% endif %}
    {% endfor %}

    Хотя шаблоны и компилируются, но в целом выполняются медленнее, чем код. После того, как вы получите метод, генерирующий такой список - кешируйте список (или можно даже закешировать кусок шаблона со списком). Судя по всему это что-то типа хлебных крошек категорий и часто меняться не должен. Так как рендеринг в 3 секунды - ад, то при сбросе кеша этот список надо сразу помещать назад, чтобы не заставлять пользователя ждать. Т.е. должно быть как-то так: сгенерировали новый список, атомарно заменили старый список на новый. Возможно есть еще варианты оптимизации кода (например преобразование списков в словари, исключение повторений в проверках и т.п.)
    Также можно извратиться обертками - не делать полный перебор, а сделать метод, который будет применять бинарный поиск к списку, к примеру. И Вы получите не O(N), а O(log2N). Но опять же тут надо смотреть применимость к Вашему коду.
    Ответ написан
    1 комментарий
  • Как в Django насильно разлогинить пользователя?

    @kazmiruk
    Делается довольно просто: в хеш зашивается поле, к которому сессия должна быть чувствительна. В вашем случае пароль. Получается, что когда пользователь сменит пароль, то все старые сессии станут невалидны автоматом и ничего перебирать не придется.
    Ответ написан
    Комментировать
  • Как выбрать всех работников, которые не принимают участие в данном тренинге?

    @kazmiruk
    SELECT * FROM employee WHERE employeeID NOT IN (SELECT id_employee FROM employee_to_training WHERE id_training = < id >)
    Ответ написан
    1 комментарий
  • Сложение чисел PHP?

    @kazmiruk
    printf("%06d", 000000 + 000001);
    или если нужно в переменную, то
    $x = sprintf("%06d", 000000 + 000001);
    Ответ написан
    Комментировать
  • Странное делегирование в js? Почему объекты не копируются?

    @kazmiruk
    У Вас item.target и item_2.target - один и тот же объект, на который Вы и вешаете событие. При вызове item_2.target происходит поиск target сначала в item_2, затем не находит его и лезет в item как в прототип.
    Ответ написан
    Комментировать
  • Как заставить приложение на heroku работало вечно, т.е. как не дать серверу уснуть?

    @kazmiruk
    Я так подозреваю пинговать надо приложение извне, чтобы создать видимость запросов к нему. Ну или заплатить таки
    Ответ написан
    1 комментарий
  • Зачем/когда использовать Mongodb (document/collection level) blocking?

    @kazmiruk
    Когда вы производили изменения записи, то база блокирует эту запись, чтобы никто другой не залез и не начал тоже пытаться что-то поменять. Если она это не сделает, то неминуемо пойдут баги. Так вот, когда это делалось на уровне коллекций, то при изменении одной записи блокировались вся коллекция, содержащая запись. И даже если пытаться поменять совершенно другую запись, то все равно придётся ждать предыдущую блокировку. Т.е. обращение ко всей коллекции было синхронным 1 запись за раз. Сейчас блокируется только документ, над которым производится манипуляция. Это позволяет 10 разным пользователям работать с 10 разными документами в коллекции одновременно и не ожидать друг друга, что существенно повышает скорость ответа
    Ответ написан
    Комментировать