• Стоит ли сейчас покупать подписку на JavaRush?

    @dhive
    Java dev
    После редизайна не щупал, но не думаю что хуже, чем раньше. Давным-давно сам занимался, от себя скажу, что если стоит вопрос "Нужно ли?" и есть финансы под это, то почему не вложить их в знания? По моему опыту знания совсем не бесполезные.
    Те кто пишут про книги - платформа то ведь не про это. Она про "набить руку" и раскачать мозг в правильном направлении, по сути - "есть задача - есть решение". Книги этого не дают, или дают лишь отчасти. И все это взаимно друг друга дополняет.

    Мой рецепт:
    1) Javarush + Head First Java
    Javarush: дает-таки раскачку мозга под решение проблем и уверенность. Позволяет с какого-то количества набитых задач мыслить так: "да, я знаю что то что я пишу - говнокод, но по крайней мере КАКОЙ-ТО код, решающий задачу я написать могу"
    Head First: в дружелюбной манере позволяет познакомиться с базовыми возможностями и "пощупать", что вообще Java может делать (пишем всякие чаты клиент-сервер и в таком духе).
    2) Horstmann, 1ый том. 2ой полистать и читать главы по необходимости. Взять себя за хвост и задать себе идею какого-нибудь полноценного проекта, похожего на что-то из реально используемого в жизни. Пусть это будет пет-клиника, простенькая игра, GUI-шное приложение-блокнот/TO-DO (к которому можно потом докрутить синхронизацию с сервером, пощупав сетевой стек, а потом написать веб-морду, а потом ... Ну, вы поняли?:) ). По крайней мере разметить себе эту идею и потихоньку пытаться подступиться к ней со стороны кода и продумывания как оно должно выглядеть
    3, 4, 5, 6 и т.д. : Много всего интересного вроде: ООП, основных коллекций, используемых на проме и алгоритмов над ними, книг про хороший код вроде "Рефакторинг", "Effective Java", "Чистый код", подходов и шаблонов проектирования, TDD, и прочее, прочее... В контексте данного вопроса смысла раскрывать тему не вижу. По запросу, в общем :)

    Сейчас, если собеседую junior'ов, зачастую у людей заметен некоторый перекос в сторону теории, в противоположность практическим навыкам. У тех людей, кто в т.ч. колбасил задачки на JavaRush, проблем такого рода намного меньше.

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

    sim3x
    @sim3x
    selenium + python/java
    Ответ написан
    Комментировать
  • Как и где грамотно вести тестовую документацию на проекте?

    kit_de
    @kit_de
    Моя... Твоя... Привет!
    Друг мой, компания нанимающая строить процесс джуна, который задает вопросы а форуме, это плохая компания. Рекомендую тебе скорее получать опыт и мотать оттуда удочки (можешь даже параллельно с работой).

    По документации:
    • Баги в Jira
    • Документы в Confluence
    • Тест кейсы в Test Rail


    Хотя, судя по всему, твоя компания может зажать бабло на один или даже на все эти инструменты. Тогда останется дешманский вариант - гуглоблицы.
    Ответ написан
    1 комментарий
  • Работа тестировщиком не дает никаких полезных навыков в плане дальнейшего трудоустройства разрабочиком?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Если вы будете заниматься автоматизированным тестированием вам волей-неволей придется понимать устройство приложения. Хотя бы очень поверхностно. Чем лучше автоматизатор тем лучше его понимание устройства приложения. И тут все зависит от вас, станете вы интересоваться устройством приложения глубже или нет. Требовать от вас этого никто не станет. Будете интересоваться - через какое-то время сможете стать разработчиком.

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

    Автоматизатор должен понимать язык на котором он пишет. Он также может понимать как эти тесты выполняются, он может понимать шаблоны проектирования. Он может и должен писать чистый, хорошо поддерживаемый код. Все это ему может в работе понадобиться. Но станет ли это билетом в разработку? Нет, вовсе не обязательно.

    У меня сложилось впечатление, что вы хотите через тестирование попасть в разработку. Я бы не стал так делать. Так вы ни хорошим тестировщиком не станете, ни хорошим разработчиком. Я сознательно отказался от работы разработчиком, и остался автоматизатором. Потому что знаю как они работают, и мне иногда грустно. Стать еще одним производителем багов - нет спасибо. А у меня уникальные навыки. Я решаю интересные задачи. Я ковыряюсь в приложении, чтобы понять где к нему прицепиться, чтобы получить нужную информацию. Нормальные интерфейсы, к сожалению, порой не предусмотрены. Я постоянно тусуюсь с разработчиками. Мы обсуждаем баги и я иногда могу подсказать подход к их решению, могу помочь отфутболить баг, или если баг не наш, перенаправить его с нормальным комментарием. Могу зайти в бюро к разработчику и спросить почему баг еще не пофиксили, причем именно техническую причину, и понять ее. Могу прочитать лекцию разработчикам о том, что важно писать внятные коммит-мессаджи. Знаю как пользоваться Джирой. Например трансформировать баг в таск и наоборот. Знаю наши информационные системы. Могу подсказать как с помощью нашего интрумента тестирования продебажить трудно воспроизводимое состояние. Могу читать стектрейс и лог иприложения, и понимая как работает наша программа, обьяснить разработчику, что проблема наша, а не во фреймворке или где-то еще.

    Просто я тянусь к знаниям и не считаю себя умным и "все итак знающим".

    Можно конечно все время сидеть в бюро и добавлять n+1 тест в тестовый набор у уходить в 17 часов домой. От вас зависит.

    И по з/п я получаю больше чем некоторые наши разработчики, потому что навыки уникальные, кроме меня никто не хочет этим заниматься, и не знает как. Другое дело, что если я поменяю место работы то в сухом остатке у меня будет только опыт внедрения автоматизации и язык программирования. Но в разработчики я все равно не пойду. Для автоматизатора всегда открыт весь мир технологий, а для разработчика только те, на которых пишется программа.
    Ответ написан
  • Что такое C$ и D$ в Windows?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    y0u Ленивый но его ответ самый верный :D
    Saboteur чуть-чуть неправ : знак $ на конце имени общей папки означает сокрытие данной папки при просмотре общих папок на вашем компьютере через сеть. Папка при этом не обязательно доступна только администратору.
    Скрытые сетевые папки
    Вы можете, когда открываете доступ к общей папке в сеть, скрыть её - добавив в название общего ресурса знак $ в конце. Папка при этом будет доступна всем пользователям которым вы укажете, но не будет отображаться в списке общих папок вашего компьютера при просмотре встроенными средствами Windows (Explorer) - пользователи должны знать название ресурса и вводить его руками.
    Такое сокрытие не спасет от хитрых линуксоидов, у которых нет соглашения, что папка с $ на конце - скрытая.

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

    Отключить : (информация есть в статье) :
    в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\AutoShareServer
    в Value поставить 0 и перезапустить службу Server.
    После изменений, из специальных ресурсов у вас должен остаться только IPC$ и ваши, руками созданные общие ресурсы.

    Надо ли отключать?
    • Если у вас пользователь Administrator выключен или включен, но под ним никто не работает, и он имеет сложный пароль (вы при этом работаете под пользователем с пониженными правами, а Администратор используется только для установки ПО) то наличие таких общих ресурсов не проблема.

    • Если вы используете пользователя Администратор без пароля для входа в локальную систему, то, если не изменяет память, MS запретило доступ к сетевым папкам с другого компьютера без ввода пароля. То есть это тоже безопасно :D

    • Если же вы работаете на компе под очевидным пользователем(Пользователь Vasya на компьютере Vasya-computer например) с простым паролем и правами администратора то наличие таких сетевых ресурсов как доступ к дискам - проблема. (Если не вспоминать, что при такой ситуации, проблема безопасности вашего компьютера - вы)
    Ответ написан
    1 комментарий
  • Как заархивировать только папку, без пути?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    tar -P -zcvf folder.tar.gz -С /tmp/my_folder/other/ other2
    Ответ написан
    Комментировать
  • Существует ли "карта программиста"? Что и за чем учить?

    Epsiloncool
    @Epsiloncool
    Программер, веб-девелопер, гейм-девелопер
    Я программист с 15-летним стажем активной работы. Программирование - это инструмент для разработки ПО. Такой же как умение ходить для свободного перемещения из точки А в точку Б. Когда ребёнок рождается, нет никакой карты, в которой бы было указано - в какой последовательности он должен изучать ходьбу, чтобы стать в итоге полноценным человеком. Так и в разработке ПО - нет никакой последовательности. Вам нужно изучать всё сразу, понемногу. Причём не теоретически, а практически. Ребёнок не читает книг по развитию умения ходить, не слушает лекции от родителей. Он сразу пробует. Падает, и снова пробует. Пока не научится. С разработкой ПО в точности так же.

    Нет никакого смысла читать книги по изучению конкретного языка. Ставьте задачу - "переместиться из точки А в точку Б" (сделать какое-то конкретное приложение) и гуглите по каждому непонятному моменту, пока программа не будет написана. Научитесь правильно строить поисковые запросы.

    После того как вы с большим трудом запустите свой первый продукт. вы уже будете знать и уметь в десятки раз больше, чем студент, окончивший пятилетний курс по специальности "программирование" и прочитавший пару толстых теоретических книг.
    Ответ написан
    6 комментариев
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

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

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

    О даа, детка, хороший программист имеет нереальную оперативную память, в которой умудряется держать десятки и сотни ключевых аспектов контекста задачи, учитывать их особенности, взаимное влияние (комбинаторика), и пр., без чего никакая задача никогда решена не будет.

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

    Только так, только жесткий хардкор! Если ты не прошел эту фазу, то ты либо родился гением, либо тебе нечего делать в профессии... Это как детские болезни - ими нужно переболеть в детстве.

    Обрати внимание, самое главное качество во всем этом многабукафф - упорство на грани фантастики. Любой, кто не дойдет до конца, не треснет себя по лбу в соты раз с воплем, так вот же она где, эта запятая, пропущена - сломается в самый неподходящий момент на боевом проекте...

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
    3 комментария