• Как и почему работает такой вызов функции?

    lxsmkv
    @lxsmkv
    Test automation engineer
    оператор отрицания превращает все это в выражение. Значение выражения вычисляется.
    Так же будет работать если анонимную фунцкию обернуть в скобки.
    Ответ написан
    Комментировать
  • Хочу сделать свой дистрибутив linux на основе существующего?

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Математика не поможет научиться программировать. Но освоив такие понятия как функция, выражение, переменная, в математическом плане станет легче осваивать материал по программированию. Нужно понять что вызов функции эквивалентен ее значению. Попробуйте сразу в питоне освоить lambda, filter, map, reduce вдруг пробьет. Но не огорчайтесь если сперва покажется трудным. Нужно пересилить свой мозг.
    Ответ написан
    Комментировать
  • Где и Как познать четвертое измерение?

    lxsmkv
    @lxsmkv
    Test automation engineer
    посмотрите клипы dimensions-math.org
    Ответ написан
    Комментировать
  • Какой смысл в throw?

    lxsmkv
    @lxsmkv
    Test automation engineer
    смысл этого кидалова - если тебе прилетели аргументы которых там быть не должно (а язык не строго типизированый) можно нажать на стоп кран и сказать "э, э, не, не, так нельзя". Например в поле ввода для длины, пользователь вводит отрицательное значение. Оно для арифметики допустимо, но для расчета нет. В такие и всякие других случаях можно кидать исключение, и в блоке обработки например, сообщить пользователю о неверном вводе, или откорректировать значение, или еще чего нибудь.

    throw создает обьект, который передается в catch вот и все. в вашем примере обьект строкового типа, но может быть любого, также и сложносоставной обьект.
    Ответ написан
    2 комментария
  • Как избавиться от привычки усложнять задачу?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Полезно пытаться абстрагировать задачу от конкретных вещей ближе к математике. Шелуха килограммами отпадает.
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Разбивание предметной области на классы называется декомпозицией.
    Почитайте про Domain Driven Design
    Хорошая ахтитектура - удобная архитектура, она гибкая, позволяет писать минимум кода. Она позволяет горизонтальное и вертикальное расширение, без конфликтов. Она позволяет писать модульные тесты. Она проста и понятна - обьяснить ее можно на одном листе бумаги за чашкой кофе. Вобщем когда вам ничего не мешает - архитектура хорошая :)
    Ответ написан
    Комментировать
  • Что это за знак над буквой?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Ответ написан
    Комментировать
  • Как подсчитать количество звезд на ночном небе?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Вы переводите трехмерную информацию в двумерную, это ведет к потере информации. Отсюда проистекают дальнейшие "трудности". Понятно что количество звезд в кадре вы посчитать не сможете, а сможете лишь посчитать количество точек - проекций лучей звезд на двумерную плоскость. Понятно что, для того чтобы получить хоть какой-то результат нужно прибегать к методам статистической оценки.

    Я бы построил график который для каждой смежной закрашеной области показывал бы ее величину, например количество точек входящих в смежную область. Для данного изображения получится сначала медленно поднимающаяся (много маленьких точек разного размера) и потом резко уходящая вверх кривая (большая область. Так можно будет выявить диапазон допустимых значений для размера звезды, на этом расстоянии. Т.е правую часть графика вы отсечете. Все остальное будут "наверное звезды".

    Да и для засвеченой области можно применить какую нибудь экстраполяцию. Допустить что звезды по небу распределены равномерно. Для такой задачи где нельзя получить правильный ответ, любой метод приближенной оценки сгодится.

    Говоря в общем:
    Если человек не в состоянии решить аналитическую задачу, то компьютер не поможет. В данном случае человек не сможет толком сказать сколько звезд на этом двухцветном снимке. Он прибегнет как какой то эвристике. Вот эту эвристику и нужно заложить в алгоритм.
    Ответ написан
    1 комментарий
  • Как корректно писать код? Организовать процесс разработки?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Щас скажу, в качестве "шутки, в которой есть доля шутки"

    Профессионалы пишут код так чтобы они могли его читать

    Честно, никогда никого не волновало, а особенно не волнует тех кто будет платить деньги за результат, чтобы что-то там было красиво в коде. Никого кроме вас не будет волновать ваша архитектура. Никого не будет волновать что под капотом, лишь бы ехало как надо.

    Хотите делать красиво - делайте, и я ни в коей мере не хочу вас от этого отговаривать, но помните, это никому кроме вас не нужно. Вы делаете это для себя, и не ждите никакой поддержки и одобрения.

    Никому не важно красиво ли то, чего не видно, должно быть красиво то, что видно.

    Удачи Вам!
    Ответ написан
    4 комментария
  • Что можно тянуть в одного на Java?

    lxsmkv
    @lxsmkv
    Test automation engineer
    напишите приложение под андроид.
    Ответ написан
    Комментировать
  • Подойдёт ли Python для взломов?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Абсолютно согласен с тем чго сказал Saboteur Нужно к примеру понимать как устроен почтовый сервер и сервис, причем на таком уровне чтобы вы могли сами написать свой почтовый сервер. По аналогии слесарь автомеханик: один может машину починить заменив детали, а другой может собрать автомобиль от гайки и выточить детали сам и оно будет ездить. Нужно именно такое понимание предмета. Это уровень гуру. Не хочется Вас огорчать но думаю на это нужно лет десять.
    Хотя наверно можно и каких нибудь готовых мулек и скриптиков нарыть. Для этого конечно больших знаний не нужно. Но там и программировать не нужно.
    Ответ написан
    Комментировать
  • От веб-программиста к data scientist'у. Оптимальный вектор?

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    В автоматизации тестирования два главных вопроса: что? и как?
    Как - это связано с инструментами и возможностями тестировочной среды.
    Что - это что именно мы хотим протестировать?
    Часто на вопрос "что" - порой ответить сложнее чем на "как".
    Вопрос "что" абсолютно важен чтобы писать действительно полезные тесты.
    Ответ написан
    Комментировать
  • Как в python установить взаимодействие с ОС?

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Тестировщики-автоматизаторы программируют, много, на скриптовых языках, и/или ranorex, hp qtp и т.д. или java .. вобщем какой язык инструмент поддерживает на том и программируют.
    Ручные тестировщики как правило не программируют вовсе. Однако технические навыки они должны иметь. причем широкие, но не глубокие. Но тоже смотря на какую задачу, если задача тестирования Программного Обеспечения требует калибровки спектрометра, он должен уметь калибрировать спектрометр. Такие специальные навыки однако приобретают обычно на месте. Т.е. быстрая обучаемость и тяга к новому - небходимое условие.

    Работа тестировщика ручного довольно однообразна, он каждый день проводит одни и те же "анализы"/тесты чтобы выявить отклонения. Работа автоматизатора веселее, ему нужно че-то там соображать, писать скрипт, разбираться в том как устроен инструмент, как устроена программа. Но и сложнее соответственно.

    Я освоился автоматизатором за пару-тройку месяцев, основная сложность по началу держать в голове все сложности и заковыристости программы, знать ее внутреннее устройство, и способы взимодействия с железом. Но это с временем приходит было бы желание. У меня еще например и так, что задачи мне никто не ставит, и тикетов никаких не пишет, т.е. я сам по себе работаю в меру возможностей. Тикеты пишу я, причем столько же сколько ручной тестировщик, и это помимо самой автоматизации. Иногда ковыряю код продукта, могу там что-нибудь накопать. У автоматизатора работа не кончается никогда, всегда есть что-то что можно доделать добавить переписать подправить., улучшить. Зато все уважают и даже порой побаиваются :)
    Заработок нормальный, серединка, даже больше чем у некоторых программистов.
    Ответ написан
    Комментировать
  • Правильно ли я понимаю суть программирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    программирование - перевод из человеческого языка на язык компьютера.
    при этом человеческий язык неоднозначен по своей природе, а компьютерный - не допускает двусмысленности.
    Ответ написан
    Комментировать
  • Тема Диплома (WebDev)?

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