Pull to refresh
10
0
Иван Цыганов @Tsyganov_Ivan

Ведущий программист

Send message
Да, мутационное тестирование это очень интересная идея для проверки качества тестов.
Для Python есть несколько библиотек, которые я смотрел:
cosmic-ray
mutpy
Они работают, но когда у вас много разветвленного кода — количество мутантов растет и прогон тестов начинает занимать непростительно много времени.
О мутационном тестировании я рассказывал на Pycon Siberia 2016. К сожалению, видео доклада пока нет, но организаторы обещали.

После прогона тесткейса на всех мутациях будет собран настоящий честный code coverage

С этим можно поспорить) Безусловно, после прогона тестов на мутантах и исправления тестов — ваши тесты станут лучше. Но, как мне кажется, говорить о честном coverage, все еще рано.
На правах автора доклада добавлю свои 5 копеек)

Основная мысль доклада, как уже говорили в комментариях — «Не надо верить тулзам, которые говорят, что тесты хорошие».
coverage.py по-дефолту покажет непокрытые строки кода и вы увидите заветные 100% покрытия, но стоит указать параметр --branch и покрытие падает, потому что вряд ли покрыты все возможные переходы. Покрыв переходы между инструкциями (этот режим считает именно переходы между statements, а не lines) получаем снова 100%.
Но получается и этим 100% верить нельзя. Вот отсюда и второстепенная мысль доклада — «А что можно сделать, что бы еще лучше оценить покрытие кода». И во второй половине доклада представлена идея покрытия кода на уровне байткода.

Что касается названия — реакция в комментах показала, что название выбрано как нельзя лучше :-)
Да, PLY, ANTLR и подобные генераторы парсеров выигривают, если вы знакомы с БНФ. Остальные варианты имеют право на жизнь, если вам необходимо быстро написать маленький простой парсер для простой грамматики.
Честно говоря, я не знал о существовании рантайма под Python в момент подготовки этого доклада.
Как вы и сказали — ANTLR это тоже генератор анализаторов, как и PLY. В докладе хотелось сравнить различные подходы к написанию парсеров и были выбраны наиболее популярные библиотеки, реализующие эти подходы.
А чем не устроил?
id = child.find('id').text


Ваш вариант делает тоже самое, но выглядит странно:
id = None if child.find('id').text == None else child.find('id').text
Судя по исходникам — да.
Тогда зачем авторизация, если сервер будет проверять наш IP?
Почему бы в этом случае не попользоваться htpasswd? Не идеальный вариант — но сильно лучше чем гонять сырой пароль, по URL, который доступен из браузера.
Пароль вы храните в info.txt, который будет доступен через http — безопасненько.
Механизм проверки пароля хорош:
...
var pass;
try {
    $.getJSON("system/info.txt", function(data) {
        try {
            if(data!==undefined){
            pass = data;
            }
            else{
            alert('Load error or IP access denied!');
                }
        } catch (e) {
            console.log(e);
             alert('Load error or IP access denied!');
        }
    }).fail(
    
        function() {
   alert('Load error or IP access denied!');
  }
    
    );
} catch (e) {
    console.log(e); 
}

function checkPass() {
  if(pass!==undefined){
    if ($('#pass').val() === pass.toString()) {
...



Еще есть https://tinkoff.ru/bank/
Это еще более ранняя версия
Опять либа для ВКонтакта и опять на Питоне?
Есть же хорошее решение, которое отлично работает — https://github.com/dimka665/vk
На ecigtalks, в ветке про мод, умелец выкладывал свою версию прошивки. Но он там только менял UI, насколько я понимаю.
Справедливости ради скажу — monosnap умеет заливать скриншоты по ssh)

UPD: Ниже уже говорили это… Я буду читать все комменты перед отправкой своего)
Поломался ваш бот, хотя пару часов назад работал отлично)
И попутно посмотрел на других ботов, заинтересовался yadictbot, но вот незадача — телеграм говорит что нет такого :(
Выглядит интересно) А не поделитесь ссылочкой?
Да, вы правы. Посмотрел документацию — возможно неплохое решение для frontend-разработчиков.
[offtop]
Извините, но больно читать…
«Это обсолютно пустой холт, который дожидайется вас»
«ихнем»
[/offtop]

Если я правильно понял вашу статью — это просто веб-интерфейс для редактирования json?) Как-то не придумывается сходу хоть один вменяемый кейс
Вчера обратил внимание на грузовой турникет на Восстания. На правом поручне считыватель для обычных проездных, на левом — видимо для PayPass, прикрытый бумажкой «не работает» :)
Если не сложно, расскажите пожалуйста как обстоят дела с одной лицензией на несколько компьютеров? Имеется машинка на видне и на маке, и там и там пользуюсь PyCharm — я смогу использовать одну лицензию, или все-таки на каждую машинку надо отдельно?
В официальной документации есть еще более приятный пример реализации REST API:
flask.pocoo.org/docs/0.10/views/#method-views-for-apis

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity