• Тема Диплома (WebDev)?

    lxsmkv
    @lxsmkv
    Test automation engineer
    "Кроссплатформенные приложения на базе современных веб технологий."
    и рассмотреть могут ли веб-приложения стать заменой классическим платформозависимым приложениям.
    Хороший пример например тот же офисный пакет google drive. И десятки других примеров.
    Потом вполне можно себе представить формат программых пакетов которые можно будет написать один раз и они будут работать и на компьютерах(на ноде в качестве платформы) и на мобильных устройствах. Пространство для фантазии огромное. Но тут конечно надо вам подумать в какую сторону тему развивать в зависимости от времени и навыков.
    Вот еще пару ключевых слов: Webassembly, Progressive Web App, стандарты на w3c.org
    Ответ написан
    Комментировать
  • Почему не работает сортировка строки?

    lxsmkv
    @lxsmkv
    Test automation engineer
    'а'*Math.random() -> NaN
    так вроде работает:
    arr.sort(function(a, b) { return a.charCodeAt(0)*Math.random() - b.charCodeAt(0)*Math.random()});
    Ответ написан
    Комментировать
  • Что такое JUnit тесты и с чем они проводятся?

    lxsmkv
    @lxsmkv
    Test automation engineer
    по коду вообще не видно где проводится сортировка. Видно что проверяется что первый вставленный в массив элемент имеет то же значение что и первый элемент массива. Это совсем не то что мы хотим проверить.
    Правильно например было бы проверять пары элементов на условие Xn <= Xn+1. Но опять же сперва нужно тест настроить т.е. создать неотсортированый массив, применить к нему сортировку и проверить результат.
    Ответ написан
  • На чем писать сервер чтобы усложнить декомпиляцию?

    lxsmkv
    @lxsmkv
    Test automation engineer
    мне кажется, что нет такого компилята который нельзя было бы расколдовать в исходый вид. можно выдавать лицензию под имя пользователя, на основе имени пользователя генерировать файл-лицензию (простыня шифрованых букв). Клинет сверяет данные на основе файла-лицензии и или запускается либо нет. А иметь пользователей с одинаковым именем в сети по-моему винда не разрешает.
    Ответ написан
  • Какой правильный подход к написанию тестов под задачу?

    lxsmkv
    @lxsmkv
    Test automation engineer
    когда вы пишите тест вы хотите знать если вдруг что-то пойдет не-так. Вы используете интерфейс, вы уверены что фунцкция этого интерфейса всегда делает то, что обещает по документации? А вы уверены что это будет так завтра и через год? Вы уверены что ваш код правильно реагирует на ответы которые приходят на ваши запросы по API? А как поведет себя код если формат ответа изменится? Все эти "а что-будет если" не из любопытства и духа экспериментаторства а от неизвестности и неуверенности.
    Когда ты ставишь свой код на "сигнализацию", стресса и неуверенности становится меньше, а информации больше. Можно проводить операции над кодом (рефакторинг) будучи уверенным, что если заденешь жизненно важный орган тебе об этом заморгает лампочка.
    Про ТДД ничего не могу сказать, мне тяжело думать шиворот-навыворот. Стремиться к этому наверно нужно, потому, что если ты можешь начать с тестов то значит спецификация у тебя жесткая, отлично закодокументированая, архитектура четкая - но в жизни к сожалению бывает и иначе, там где сначала пилим как придется, посмотрим что получится, и если это понравится заказчику - доведем до ума.

    П.С. помню как-то давно, когда только начинал изучать junit попробовал ради интереса написать на простенький класс-коллекцию тесты. Во-первых их получилось больше, чем мне казалось возможным на первый взгляд. Во-вторых, я не успел отъехать и на пятьсот строк кода, как уже тесты местами покраснели. Значит что-то задел и совершенно не обратил внимания. А казалось ну что можно напортачить в десяти классах. Можно.
    Ответ написан
    4 комментария
  • Можно-ли брать доп. плату за несоблюдение дэдлайна?

    lxsmkv
    @lxsmkv
    Test automation engineer
    ГК РФ Статья 406. Просрочка кредитора
    Ответ написан
  • В чем разница между возвратом значения и присваиванием?

    lxsmkv
    @lxsmkv
    Test automation engineer
    вот попробуйте, посмотрите как интерпретатор разводит код "по понятиям", т.е строит абстрактное синтаксическое дерево. Когда вы вставите вместо числового значения выражение инкремента он скажет что это UpdateExpression. Выражение обновления. Каждое выражение при выполении интерпретируется до получения его конечного значения.
    Ответ написан
    Комментировать
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Начальство боится потерять то, что уже есть и как-то работает. Если вы будете делать новое параллельно , во внеурочное время, думаю никто не будет против :) У меня такой опыт;
    Нам передали проект с говнокодом, и архитектор и сен. дев. сказали что нужно переписать все с нуля, иначе это нам потом аукнется. Ответственный руководитель, добрый но трусливый, не дал ход изменениям. Через год руководитель ушел. И мы остались сидеть на говнокоде. А переписать все заняло бы наверно 2 недели упорной работы. Теперь просто некогда. Жаль что не решились. В принципе начальника можно было тогда уломать, но никто не был достаточно настойчив.

    По моему опыте с обобщающими ассоциациями нужно быть осторожным. Это может интерпретироваться как болтология и нежелание работать. Мол возмущаться и жаловаться все горазды..

    Думаю самый очевидный аргумент, что такая архитектура не расширяется и достигла своего предела. Если мы планируем расширяться, то нужна новая, модульная, распределенная архитектура, где несколько людей смогут работать над несколькими файлами параллельно, а фреймворк гарантирует что это все вместе будет потом работать. Посмотрите еще сколько эта страница загружается. Наверняка дольше чем нужно. Скажите что это негативно влияет на конверсию (Это чистая правда, есть статьи на хабре)
    Ответ написан
    Комментировать
  • Какие есть хорошие книги или мануалы по настройке ядра линуск?

    lxsmkv
    @lxsmkv
    Test automation engineer

    Прим.: на русском это вряд ли. Все линуксоиды владеют английским на уровне RTFM. Иначе никак.
    Ответ написан
    Комментировать
  • Как создать отдел тестирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    первая мысль которая пришла в голову: если проблемы на стыке компонентов возникают, может сперва над архитектурой поработать?

    Тестирование ведь всего-лишь находит проявление ошибок. А желательно устранять причины приводящие к их возникновению. Иначе вы будете тратить все больше денег на то чтобы находить ошибки, релиз будет откладываться, клиенты будут недовольны задержками обновлений.
    Почитайте багтрекер на предмет, каковы причины найденых ошибок. Как правило есть несколько корней зла. Вот на это и стоит обратить внимание.

    У нас например ModelView слой программы выдает минимум треть ошибок, мы делаем автоматизацию, это дорого, а надо просто нахрен выкинуть тот инструмент которым мы делаем UI и перейти на что нибудь, что будет валидироваться у разработчика на компьютере а не завтра утром на сервере после полной сборки. Другое дело что на такой шаг начальство пойти не может, они в рабстве у вендора этого инструмента. Т.е. миграция возможна но не вдруг.
    Ответ написан
    Комментировать
  • Получить total_page при парсинге?

    lxsmkv
    @lxsmkv
    Test automation engineer
    в худшем случае подбором. Как в игре угадай число. Если вы загадываете число меньше чем номер конечной страницы - страница есть, если вы берете число больше чем конечная страница - такой страницы нет.
    Ответ написан
    2 комментария
  • Стоит ли учить программировать по старинке?

    lxsmkv
    @lxsmkv
    Test automation engineer
    количество программистов на Си уменьшается, скоро будет с ними так же как и с программистами мейфреимов на COBOL, их днем с огнем не найти, и стоят они очень дорого. Но и мест таких мало. Поэтому нужно к знаниям си, добавить еще пару популярных языков, просто для того чтобы на рынке труда попасть в 80% требований.
    А для Си как я слышал есть библиотека boost которая сильно помогает.
    Ответ написан
    Комментировать
  • Где искать интересные сайты?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Google search: sites like codzhouse.co жмак
    Ответ написан
    Комментировать
  • Существуют ли бесплатные онлайн-курсы для обучения тестированию, наподобие codecademy или coursera?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Tестировщик - не профессия, а стиль жизни (c) .
    Джеймса Баха (James Bach) советую, все что найдете.
    Ответ написан
    Комментировать
  • Как проверить наличие файла в указанной деректории?

    lxsmkv
    @lxsmkv
    Test automation engineer
    import os.path
    >>> print os.path.isfile("/etc/password.txt")
    True
    >>> print os.path.isfile("/etc")
    False
    >>> print os.path.exists("/etc/password.txt")
    True
    >>> print os.path.exists("/etc")
    True

    ссылка на Stackoverflow
    Ответ написан
    6 комментариев
  • Чем удалить дубликаты строки в большом списке файлов?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Комментировать
  • С чего начать ребёнку программировать?

    lxsmkv
    @lxsmkv
    Test automation engineer
    - есть TigerJython (Python) специальная среда созданая для обучения программированию. Можно программировать Raspberry, NXT, писать симуляции, рисовать, работать со звуком и пр. все это из коробки.
    - есть LÖVE2D (Lua) он заточен под разработку игр. Бонус-туториал
    - есть Gosu (Ruby) Библиотека для разработки 2d игр
    - есть DevelNext (PHP) RAD - что-то типа дельфи. Еще и "наша" разработка. Впечатлило.
    - можно написать свой мод для майнкрафта на Яве, в принципе там ничегои сложного, даже книжки про это есть.
    - или писать на яваскрипте игры BreakOut на JS в Canvas (developer.mozilla.org)

    игры сейчас пишутся также как и раньше, в туториале oт mozilla очень хорошо все разложено.

    Добавлю из собственного опыта, что очень полезно начать с определения требований к конечному продукту. Так можно будет прояснить наличие предрасположености к структурированому мышлению у ребенка , и если да, по итогам будет конкретная задача. Всем от этого будет только проще.
    Ответ написан
  • Что читать после "Изучаем java", если уже знаешь базовые алгоритмы и паттерны?

    lxsmkv
    @lxsmkv
    Test automation engineer
    практиковаться. и по мере необходимости читать StackOverflow :)
    Ответ написан
    Комментировать
  • Проверка на повторяющийся символ и замена на другой?

    lxsmkv
    @lxsmkv
    Test automation engineer
    как-то так:
    <!DOCTYPE html>
    <html>
    <body>
    
    <p id="demo"></p>
    
    <script>
    var str = "HELLO WORLD";
    document.getElementById("demo").innerHTML = str;
    result = ""
    for(i=0; i<str.length;i++){
    if (str.charAt(i) == str.charAt(i+1)){
    	result+='*';
    	
    }else{
    result+=str.charAt(i);
    }
    document.getElementById("demo").innerHTML = result;
    }
    </script>
    </body>
    </html>


    прим.: строки в js неизменяемы, поэтому мы строим новую.
    Ответ написан
  • Как понять часть текста из книги про HAS-A и IS-A?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Tub extends Bathroom, sounds
    reasonable. Until you apply IS-A test.

    Это особенности игры слов которую не перевели на русский язык: Ванна является расширением/дополнением ванной комнаты, звучит логично. (тут имеется ввиду чисто бытовое восприятие).

    Делайте скидку на то, что эта книга написана для "чайников".
    Так что, Вы все правильно поняли.
    Ответ написан
    Комментировать