• Почему говорят, что ООП это зло?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Парадигма программирования навязывает (в нейтральном смысле слова) определенный образ мышления при анализе и декомпозиции задачи. Говорить что ооп это зло все равно что говорить что вегетарианство это зло. Другая перспектива она не лучше и не хуже - она другая. Domain Driven Design это подход к декомпозиции задачи для впихивания ее в объектно-ориентированную модель так чтобы обьекты/классы соотносились с обьектами реального мира из области применения. Логично. Просто когда это все объекто ориентированное добро начиналось люди писали классы просто чтобы впихнуть туда свои функции, и класс был просто контейнером функций и не был вроде как по сути объектно-ориентированным. Оно и до сих пор часто так. Эти всякие ConnectionManager, CoreUtilInitializer и прочее, попытка разделить классы по задаче в алгоритмической иерархии а не в соответствии с реальными действиями пользователя. Ну вот оттуда эта вся дискуссия на тему и произрастает. Художники гиперреалисты говорят мол нужно больше деталей, а абстракционисты говорят -меньше. И те и те художники. Так что переживать не о чем, правда у каждого своя :)
    Ответ написан
    1 комментарий
  • Какая функция растёт быстрее?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Нужно выяснить значение производной какой из них для любых значений n будет больше.
    Производная функции ведь и есть функция прироста значения функции.
    К алгоритмам прямого отношения не имеет, чистая алгебра.
    www.wolframalpha.com/input/?i=plot+n%5E(log(n)),+n%5E2
    функции пересекаются в точке n~=7,39 до этого значения n^2 растет быстрее, а после - n^log(n)
    Ответ написан
    Комментировать
  • Как научиться реализовывать алгоритмы?

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Скажу на собственном опыте: пытаясь "совместить приятное с полезным" сильно удлаяешься от основной задачи. И в конечном итоге не сделано ни то ни то. Это горькая правда из той самой поговорки про двух зайцев. Хотите изучить яву, изучайте, не надо тратить время на блоги. Для закрепления материала будет лучше обьяснить пройденый материал другу.
    Если вы чувствуете что вас больше тянет в сторону блогов, то может вам и не нужна ява а нужно посмотреть в сторону веб-разработки.
    Ответ написан
  • Виртуальная машина Java говорит что ей не достаточно оперативы. Что делать?

    lxsmkv
    @lxsmkv
    Test automation engineer
    попробуйте уменшить размер кучи
    stackoverflow.com/questions/17369522/set-default-h...
    JAVA_OPTS="-Xms256m -Xmx512m"
    Xms -> минимальный размер, Xmx -> максимальный.
    Ответ написан
    Комментировать
  • Есть ли в интернете ПОЛНЫЕ курсы Java бесплатно?

    lxsmkv
    @lxsmkv
    Test automation engineer
    1) Курс по Java 8 (версия 101). Подготовка к сертификации Oracle Java.
    https://www.youtube.com/playlist?list=PLUSohJYRsRB...

    2) Разработка на Java (весна 2016) курс Mail.ru Group
    https://www.youtube.com/playlist?list=PLrCZzMib1e9...

    3) Курсы Java (Иван Головач) Версия #1 (Core+Patterns+Junior)
    https://www.youtube.com/playlist?list=PLwcDaxeEINa...

    4) Java для начинающих
    https://www.youtube.com/playlist?list=PLmqFxxywkat...

    Лично мне больше всего нравится 3. Иван Головач - очень "прошареный" лектор.
    Ответ написан
    Комментировать
  • На чем поднять свой evernote с блэкджеком и плюхами?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Вам не понравится, но OneNote
    он, может импортировать evernote с помощью специальной утилиты.
    https://www.onenote.com/import-evernote-to-onenote...
    там и сравнение возможностей на странице указано.
    Ответ написан
    5 комментариев
  • Как реализовать автоматически запускаемую программу сразу после окончания загрузки Windows 10?

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

    lxsmkv
    @lxsmkv
    Test automation engineer
    Насколько мне известно общего подхода к таким задачам нет. Но можно развить мышление для решения таких задач.
    Задайте в поисковик "методы решения логических задач" там читать-неперечитать на эту тему. И на ютубе тоже смотреть-непрересмотреть.

    Я всегда исхожу из того что поиск решения для таких задач можно доверить компьютерной программе. А значит ее можно формализовать в виде алгоритма. Очистить от словесной шелухи и перевести в чистый математический вид. Сформулировать ее так как будто я обьясняю проблему компьютеру. Компьютер ведь не знает смысла слов, а оперирует переменными.
    К первой задаче я бы навскидку "в лоб" подошел так: компьютер должен сгенерировать список из кортежей длины 3, таким образом чтобы начиная со второго добавлямого кортежа значение первой, второй или третьей компоненты были равны одному из значений соответствующих компонент среди уже занесенных в список кортежей. (у любых двух совпадает и., ф. или о.) приэтом нельзя добавлять новый кортеж если один из его компонент пристутствует в списке кортежей два раза. (нет 3 людей..). Как только компьютер не сможет подобрать новый кортеж, вычисление окончено и решением будет длина списка.
    Это так приблизительный мысленный набросок, не претендующий на полноту и точность.

    П.С.: У всех этих задач есть одна общая черта, числовое решение, и оно есть судя по вопросу. Поэтому их можно формализовать. Хуже бы обстояло дело для компьютера если бы вопрос был "существует ли..".
    Ответ написан
    Комментировать
  • Как запускать скрипт с параметрами через консоль?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Комментировать
  • С чего начать изучение JAVA? и стот ли его вообще учить как 1-й язык программирования?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Самый правильный путь изучить java - это перестать беспокоиться о том правильно-ли ты учишь java, a просто решать на нем задачи, как и на любом другом языке. Да, язык местами громоздкий, отчасти неконсистентный (например, сосуществование примитивных и объектных типов), необьятно-огромная стандартная библиотека, так что можно по-незнанию изобретать велосипед а потом хлопать себя по-лбу.
    Я лично поддерживаю подход, что нужно как можно раньше научить человека читать API. Полезно будет ознакомиться с шаблонами проектирования. Желательно идти от задачи к решению, тогда в мозгу активируется процесс усвоения материала. (т.н. проблемно-ориентированное обучение) Задач для тернировки конструкций языка валом кругом, начиная от интерактивных платформ типа codingame, hackerrank, codehunt, codewars и заканчивая просто сборниками задач как codingbat.

    Тут был как-то вопрос мол стоит ли сначала изучить Java а только потом переходить на разработку под Android. Один из ответов, я бы просто печатал на обложке каждой книги по java: "Вы никогда полностью не изучите Java". Может после такого откровения вы станете отноститься к этому проще.
    Ответ написан
    1 комментарий
  • Что имеется в виду в статье про отладчик с learn.javascript.ru?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Нужно понимать что программа выполяется последовательно, строка за строкой. Если в строке есть вызов функции, обрабатывается функция потом управление возвращается обратно к основному телу скрипта. Это как если бы вы начав читать статью переходили на каждую ссылку читали что там, а если есть ссылки там, то еще дальше вглубь а потом возвращались обратно. Это т.н. обход в глубину.

    1. В точке останова исполнение останавливается и управление передается отладчику. Т.е. отладчик (программа) и соответственно программист может повлиять на ход выполения программы в тот момент когда программа остановлена. Как только мы "отпускаем" программу, она выполняется до конца, в том случае если мы никаких дополнительных точек останова не указали. Или она будет выполняться до следующей точки останова, где мы снова получим управление.

    2. Функция будет выполена, но мы не будем заходить в нее, и обходить пошагово, а перейдем сразу к следующей строке.

    3. Одиночный шаг он идет точь в точь по следу выполения программы. Если есть вызов другой функции, мы переходим туда, а оттуда дальше каждый цикл будем прходить до самого конца и так далее. Это самый мелкий шаг при отладке. Конечно на практике никто не станет проходить весь скрипт одиночными шагами (см. также 2.), а только отдельные его части которые нужно рассмотреть так сказать "в замедленном действии".

    4. Мы зашли в функцию, но нам не интересно пошагово ее обходить а нас интересует лишь ее результат. Так мы промотаем функцию до того момента когда она соберется вернуть результат и сможем глянуть, что она вернет.
    Ответ написан
    Комментировать
  • Как автоматизированно тестировать бизнес кейсы gui приложения под Windows?

    lxsmkv
    @lxsmkv
    Test automation engineer
    посмотрите тут какие инструменты умеют тестировать windows приложения (колонка tested system): https://en.wikipedia.org/wiki/Comparison_of_GUI_te...
    для проверки отрисовки инструмент должен уметь делать сравнивание скриншотов.
    Testcomplete вроде как умеет такое из коробки.
    https://support.smartbear.com/testcomplete/docs/te...
    И да, все эти интрументы стоят денег :(
    Ответ написан
    1 комментарий
  • Как подключить файл JavaScript к сайту?

    lxsmkv
    @lxsmkv
    Test automation engineer
    если бы такое было возможно, все бы начали лазить по всем чужим серверам и искать на них интересные файлы. Запрет показа содержимого директории сервера - основополагающая фунцкия по обеспечению безопасности веб ресурсов.
    Однако, если есть доступная страница html которая ссылается на этот файл, то оттуда можно было бы взять полное имя файла.
    Ответ написан
    Комментировать
  • Идти ли в QA Automation для развития как Developer?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Автоматизация тестирования это тоже разработка. Там тоже нужно код оргранизовать чтобы как можно меньше пришлось его поддерживать. Задача нетривиальная. Ответственности больше чем у разработчика. Тот скинул код и пошел домой. А автоматизатор сидит и анализирует ошибку, пытается ее воспроизвести, пишет доходчивый репорт, объясняет все еще раз разработчику, перепроверяет была ли ошибка устранена. И у вас будет масса возможностей заглянуть в продакшн код, и я бы даже рекомендовал это делать, чтобы мозг не пылился, будете потом к репортам патчи с фиксами прикладывать. А там и до разработчика не далеко.
    Ответ написан
    Комментировать
  • В чем причина бурного роста, а затем падения популярности java в 2016 году?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Есть мнение, что это связано с нововведениями в Java 8, и поскольку индекс меряет количество запросов по языку. "Что? Где? Какие лямбды? В моей яве? Не может быть.. Ща загуглим.." и понеслась..
    https://www.quora.com/According-to-Tiobe-Index-the...
    А когда все узнали, что это такое перестали так часто гуглить яву и индекс пополз обратно.
    Ответ написан
    4 комментария
  • Геймдизайн: может ли жить такая механика?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Есть опасения, что пользователи подумают что расы за деньги сильнее чем бесплатные, и перестанут играть из-за подозрения в дисбалансе. Оченъ сильный риск.

    Надежнее было бы дать всем возможность выбирать свой стиль игры (расу) а монетизировать уже особые юниты.

    У бесплатников должна быть уверенность в том, что они не в пригрышном положении. Значит если платник снаряжает свою армию элитным (купленым войном) это дает ему более широкий тактический выбор, но он должен будет пожертвовать какими-то другими юнитами, например двумя пехотинцами, чтобы сумма силы отряда игрока оставалась неизменной. Тогда у бесплатников будет шанс опять же тактически переиграть противника с элитными юнитами. Т.е. каждый игрок независимо платник или нет имеет одинаковое кол-во слотов в отряде и чем он их заполнит решать ему, но чем круче юниты тем больше "места" они занимают. И это будет основой равенства сил. Тратить деньги будут те, кому надоест катать одну и ту же тактику, и они захотят попробовать новых юнитов.
    Ответ написан
    Комментировать
  • Имеет ли значение среда разработки при изучении Java (Intellij Idea и Eclipse)?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Я считаю, нужно уметь работать со всеми тремя средами. Это выглядит очень нелепо и смешно когда программист со стажем на новом проекте жалуется, что тут не его любимая IntelliJ а задрапездная Eclipse. У нас на проекте например Eclipse часть тулчейна, проекты настроены под Eclipse (run configurations) и никто их перенастраивать не собирается. Не нравится - терпи.
    Ответ написан
    Комментировать
  • Можно ли с помощью foreach вывести матрицу???

    lxsmkv
    @lxsmkv
    Test automation engineer
    public class Main
    {
      static int [][] arr= {{1,2,3},{11,12,13}, {21,22,23}};
    
      public static void main(String[] args)
      {
        for (int [] k :arr){
          for(int i: k){     
    		            System.out.println(i);
          }
        } 
      }
    }

    (это то что я понимаю под forEach loop, ещё называют enhanced for-loop.)
    Вывод:
    1
    2
    3
    11
    12
    13
    21
    22
    23
    Ответ написан
  • Входит ли в обязанности архитектора обзор цен на стек технологий?

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