Иск получит компания (на самом деле скорее всего жалобу в HR). Но это позволит (предпишет?) выкинуть такого менеджера с формулировкой Non-Compliance не взирая на заслуги. С таким волчьим билетом, он в ближайшие 10 лет не пройдёт бекграунд-чек практически никуда.
Хотя на самом деле, чтобы такое случилось должна произойти цепь поистине невероятных событий. Человек, не особо знакомый с местными законами должен получить позицию менеджера, проигнорировать корпоративные тренинги, не обсудить "нововведение" ни с кем и нарваться на мудака, который вместо отказа со словами "ты чё, мужик, этож незаконно", всё-таки сделает презентацию и потом пожалуется.
Например имеем какой-то объект. В методе этого объекта производится сохранение каких-то данных в БД.
Ну мы вручную же биты не отправляем по сети, не пишем посекторно сырые данные на диск, верно? Мы ведь не драйвер пишем?
Значит есть какой-то апи для работы с базой данных. Это апи можно (нужно) замокать.
И тестировать исключительно наш код, а не компоненты инфраструктуры.
Cовершенно неправильно считать, что TDD хоть как-то заменяет QA.
QA должен тестировать требования к приложению, а не код отдельно взятых компонентов. К исходному коду у тестировшика (в идеальном случае) вообще доступа быть не должно.
А правильнее будет как раз наоборот. Ну почти что.
TDD — это про юнит-тесты. То есть тесты для компонентов*, которые написаны Вами, и в которых зависимости** замоканы. В них мы прогоняем большое количество различных случаев, в которых убеждаемся, что требования выполняются и программа работает именно так как это ожидается.
Если компонент написан правильно, очень легко покрыть его юнит-тестами на 100%
Сложные тесты с зависимостями — это уже не юнит. Это — интеграционные тесты. В них мы не проверяем все возможные случаи. В интеграционных тестах главный фокус — это проверка, что разные компоненты взаимоинтегрировались между собой правильно. Поэтому программист описывает минимальное количество случаев, которыми старается затронуть вызов всех зависимостей. Покрывать интеграционными тестами чужие компоненты для программиста смысла нет, они должны быть покрыты в цикле своей собственной разработки, а нами рассматриваются исключительно как черные ящики. Тем не менее, QA тестирует приложение целиком, поэтому его тесты обычно покрывают значительную часть зависимостей.
Типичный сценарий написания программы по TDD выглядит примерно так:
1. Получаем требования, дизайним контракт вызовов. Получаем документ с описанием API.
2. Пишем юнит-тесты согласно контракту. Получаем примеры использования API
3. Пишем имплементацию. Наши юнит-тесты начинают проходить.
4. Делаем интеграционные тесты с реальными зависимостями, убеждаемся что они проходят. Если нет — чиним инициализацию, DI, инфраструктуру и т.д.
*компонент — элемент кода, который мы тестируем или который представляет собой отдельную зависимость. Обычно это класс или функция.
**зависимость (чужой компонент) — компонент, которому делегируется часть функций компонента, который мы разрабатываем. Может быть частью фреймворка, который мы используем, или написан нами, но вне рамок текущей задачи.
2. Installation and Use Rights.
a. License. The software is licensed, not sold. Under this agreement, we grant you the right to install and run one instance of the software on your device (the licensed device), for use by one person at a time, so long as you comply with all the terms of this agreement.
Это ПО лицензировано, а не продано. (...) В соответствии с этим соглашением мы гарантируем вам право установить и использовать одну копию ПО на вашем устройстве (...) до тех пор пока вы соблюдаете все условия этого соглашения
6. Updates. The software periodically checks for system and app updates, and downloads and installs them for you. You may obtain updates only from Microsoft or authorized sources, and Microsoft may need to update your system to provide you with those updates. By accepting this agreement, you agree to receive these types of automatic updates without any additional notice.
(...) Microsoft может понадобится обновить Вашу систему. Принимая это соглашение, вы соглашаетесь получать автоматические обновления без вашего уведомления.
Нет, заходить нужно с другой стороны — лоббировать законодательные ограничения на сбор данных и обновления без явного согласия пользователя (никаких opt-out, только суровый opt-in с подписью кровью и отпечатком головного мозга).
Есть достаточно много способов это обойти. Например, что мешает при установке требовать этот самый opt-in со всеми анализами в обязательном порядке?
Прежде чем говорить, что это не сработает, вспомните, как 20 лет назад ввели обязательную активацию продукта — тоже тогда казалось немыслимым
В пользовательском соглашении написано только, что если вы не согласны с условиями использования, то вам запрещено пользоваться продуктом.
К слову сказать, на электрическом фене тоже не написано, что будет если нарушать условия эксплуатации и например бросить его в ванную наполненную водой. Но по факту в случае серьёзных последствий будет как минимум "нанесение вреда по неосторожности".
Нет, не должны. Об этом есть пункт в лицензионном соглашении, с которым каждый пользователь согласился при установке. А если не согласен, то должен немедленно прекратить использование системы. В цену виндовс входит только использование на свой страх и риск. А дополнительные гарантии — ищите за отдельные деньги.
Ну так это для любых систем, способных собирать данные будет справедливо, а не только для операционных систем. Причем слабо корелирует с фактором платности/бесплатности.
Автомобиль, смартфон, веб-сайт и даже электрическая зубная щетка собирают данные во время их использования и отправляют их производителю.
Потому что могут. Точнее — потому что имеется техническая возможность. Юридические барьеры, как мы можем наблюдать, обходятся играючи.
И единственный способ предотвратить этот сбор данных — не пользоваться. Если отказаться от пластиковых карт, прекратить пользоваться интернетом, не ходить к врачу и не иметь почтового адреса, а также не появлятся в местах, в которых установлены камеры наблюдения, то, вероятно, ваши персональные данные не будут собраны. Но это не точно.
Из-за неудобного, некомфортного рабочего места или графика люди вполне меняют работу, что переводит эксперименты с рабочими местами в категорию "необратимых".
Вы же наверняка предпочитаете удобный большой монитор с IPS-матрицей, а не пузатый элт 15-летней давности, от которого вечером будут болят глаза. Хотя на продуктивность днём он не влияет.
Во-первых, в статье всё же шла речь шла о 1С-программистах, которые заменяемы достаточно легко. И рабочих мест тоже не дефицит.
Во-вторых, если всё же гипотетически рассмотреть рассмотреть ваш случай, то этому уникальному, штучному специалисту надо не на х1 возвращаться, зная что таких как он в разы меньше чем рок звёзд. Ему впору срочно открывать свой бизнес и зарабатывать не х5, а х500
Впрочем мне сложно рассуждать о вещах, опыта в которых у меня нет. У меня ни разу не было улучшения зарплаты х5. Было х3 и через год ещё х4. Не пожалел ни разу. С индусами-коллегами дружу, чего с ними воевать-то?
Гарантии для меня не в сохранении места компании. Для меня лучшая джоб-секьюрити — это непрерывный поток сообщений от рекрутеров в линкедине с предложением работы.
Выбор х1 тут — гроздь в крышку гроба карьеры такого специалиста, очевидно, не слишком удачной. Никто не гарантирует что х1 так же внезапно не закончится, когда весь ваш департамент заменят на простой скрипт/сдадут индусам-аутсорсерам/ваш "гений"-руководитель уволится.
Лучше уж год получать х5, а затем будет ещё 4 года за которые можно будет освоить любую более воствребованную и денежную специальность.
Наиболее частое используемое моей дочерью (8 лет) устройство. В прошлом году заменили модель 2014 года, которая перестала получать обновления на современную.
Можно и поиграть и посмотреть видосики и связаться с друзьями-родственниками по фейстайму/скайпу. Реже, но уже начинает что-то читать в интернете (пока по ссылкам). Нет проблем взять с собой в школу (у них там BYOD и какая-то учебная активность)
Травля начинается не за "слово против геев/трансов/мусульман/экоактивистов", а за хейтспич. Это контрпродуктивно и всегда заканчивалось плохо. Как в бизнесе, так и в государстве.
Компании же исходят из интересов бизнеса. Дешевле просто не связываться с психами, создающими некомфортную токсичную атмосферу на основе своих сексуальных, музыкальных, религиозных, национальных или любых других предпочтений, чем потерять целую прослойку других, вероятно гораздо более работников, у которых просядет производительность после его закидонов. Или они молча уволятся. А может не молча.
Конечно же можно автоматизировать QA, но к TDD это отношения не имеет.
Иск получит компания (на самом деле скорее всего жалобу в HR). Но это позволит (предпишет?) выкинуть такого менеджера с формулировкой Non-Compliance не взирая на заслуги. С таким волчьим билетом, он в ближайшие 10 лет не пройдёт бекграунд-чек практически никуда.
Хотя на самом деле, чтобы такое случилось должна произойти цепь поистине невероятных событий. Человек, не особо знакомый с местными законами должен получить позицию менеджера, проигнорировать корпоративные тренинги, не обсудить "нововведение" ни с кем и нарваться на мудака, который вместо отказа со словами "ты чё, мужик, этож незаконно", всё-таки сделает презентацию и потом пожалуется.
Ну мы вручную же биты не отправляем по сети, не пишем посекторно сырые данные на диск, верно? Мы ведь не драйвер пишем?
Значит есть какой-то апи для работы с базой данных. Это апи можно (нужно) замокать.
И тестировать исключительно наш код, а не компоненты инфраструктуры.
Бухгалтерия же не считает только дебет, чтобы быстрее было.
QA должен тестировать требования к приложению, а не код отдельно взятых компонентов. К исходному коду у тестировшика (в идеальном случае) вообще доступа быть не должно.
TDD — это про юнит-тесты. То есть тесты для компонентов*, которые написаны Вами, и в которых зависимости** замоканы. В них мы прогоняем большое количество различных случаев, в которых убеждаемся, что требования выполняются и программа работает именно так как это ожидается.
Если компонент написан правильно, очень легко покрыть его юнит-тестами на 100%
Сложные тесты с зависимостями — это уже не юнит. Это — интеграционные тесты. В них мы не проверяем все возможные случаи. В интеграционных тестах главный фокус — это проверка, что разные компоненты взаимоинтегрировались между собой правильно. Поэтому программист описывает минимальное количество случаев, которыми старается затронуть вызов всех зависимостей. Покрывать интеграционными тестами чужие компоненты для программиста смысла нет, они должны быть покрыты в цикле своей собственной разработки, а нами рассматриваются исключительно как черные ящики. Тем не менее, QA тестирует приложение целиком, поэтому его тесты обычно покрывают значительную часть зависимостей.
Типичный сценарий написания программы по TDD выглядит примерно так:
1. Получаем требования, дизайним контракт вызовов. Получаем документ с описанием API.
2. Пишем юнит-тесты согласно контракту. Получаем примеры использования API
3. Пишем имплементацию. Наши юнит-тесты начинают проходить.
4. Делаем интеграционные тесты с реальными зависимостями, убеждаемся что они проходят. Если нет — чиним инициализацию, DI, инфраструктуру и т.д.
*компонент — элемент кода, который мы тестируем или который представляет собой отдельную зависимость. Обычно это класс или функция.
**зависимость (чужой компонент) — компонент, которому делегируется часть функций компонента, который мы разрабатываем. Может быть частью фреймворка, который мы используем, или написан нами, но вне рамок текущей задачи.
Например, если сделать траффик с mobile.facebook.com — полностью бесплатным, то это поставит все остальные соцсети в невыгодное положение
www.microsoft.com/en-us/Useterms/Retail/Windows/10/UseTerms_Retail_Windows_10_English.htm
2. Installation and Use Rights.
a. License. The software is licensed, not sold. Under this agreement, we grant you the right to install and run one instance of the software on your device (the licensed device), for use by one person at a time, so long as you comply with all the terms of this agreement.
Это ПО лицензировано, а не продано. (...) В соответствии с этим соглашением мы гарантируем вам право установить и использовать одну копию ПО на вашем устройстве (...) до тех пор пока вы соблюдаете все условия этого соглашения
6. Updates. The software periodically checks for system and app updates, and downloads and installs them for you. You may obtain updates only from Microsoft or authorized sources, and Microsoft may need to update your system to provide you with those updates. By accepting this agreement, you agree to receive these types of automatic updates without any additional notice.
(...) Microsoft может понадобится обновить Вашу систему. Принимая это соглашение, вы соглашаетесь получать автоматические обновления без вашего уведомления.
Есть достаточно много способов это обойти. Например, что мешает при установке требовать этот самый opt-in со всеми анализами в обязательном порядке?
Прежде чем говорить, что это не сработает, вспомните, как 20 лет назад ввели обязательную активацию продукта — тоже тогда казалось немыслимым
В пользовательском соглашении написано только, что если вы не согласны с условиями использования, то вам запрещено пользоваться продуктом.
К слову сказать, на электрическом фене тоже не написано, что будет если нарушать условия эксплуатации и например бросить его в ванную наполненную водой. Но по факту в случае серьёзных последствий будет как минимум "нанесение вреда по неосторожности".
Нет, не должны. Об этом есть пункт в лицензионном соглашении, с которым каждый пользователь согласился при установке. А если не согласен, то должен немедленно прекратить использование системы. В цену виндовс входит только использование на свой страх и риск. А дополнительные гарантии — ищите за отдельные деньги.
Что будет, если в результате нарушения правил эксплуатации электроприбора, пользователь нанесет ущерб чужому имуществу или здоровью?
Отключение обновлений будет расценено примерно как нарушение правил эксплуатации.
Ну так это для любых систем, способных собирать данные будет справедливо, а не только для операционных систем. Причем слабо корелирует с фактором платности/бесплатности.
Автомобиль, смартфон, веб-сайт и даже электрическая зубная щетка собирают данные во время их использования и отправляют их производителю.
Потому что могут. Точнее — потому что имеется техническая возможность. Юридические барьеры, как мы можем наблюдать, обходятся играючи.
И единственный способ предотвратить этот сбор данных — не пользоваться. Если отказаться от пластиковых карт, прекратить пользоваться интернетом, не ходить к врачу и не иметь почтового адреса, а также не появлятся в местах, в которых установлены камеры наблюдения, то, вероятно, ваши персональные данные не будут собраны. Но это не точно.
Сдаюсь. И почему?
Удобство сотрудника имеет большое значение.
Из-за неудобного, некомфортного рабочего места или графика люди вполне меняют работу, что переводит эксперименты с рабочими местами в категорию "необратимых".
Вы же наверняка предпочитаете удобный большой монитор с IPS-матрицей, а не пузатый элт 15-летней давности, от которого вечером будут болят глаза. Хотя на продуктивность днём он не влияет.
Во-первых, в статье всё же шла речь шла о 1С-программистах, которые заменяемы достаточно легко. И рабочих мест тоже не дефицит.
Во-вторых, если всё же гипотетически рассмотреть рассмотреть ваш случай, то этому уникальному, штучному специалисту надо не на х1 возвращаться, зная что таких как он в разы меньше чем рок звёзд. Ему впору срочно открывать свой бизнес и зарабатывать не х5, а х500
Впрочем мне сложно рассуждать о вещах, опыта в которых у меня нет. У меня ни разу не было улучшения зарплаты х5. Было х3 и через год ещё х4. Не пожалел ни разу. С индусами-коллегами дружу, чего с ними воевать-то?
Гарантии для меня не в сохранении места компании. Для меня лучшая джоб-секьюрити — это непрерывный поток сообщений от рекрутеров в линкедине с предложением работы.
Выбор х1 тут — гроздь в крышку гроба карьеры такого специалиста, очевидно, не слишком удачной. Никто не гарантирует что х1 так же внезапно не закончится, когда весь ваш департамент заменят на простой скрипт/сдадут индусам-аутсорсерам/ваш "гений"-руководитель уволится.
Лучше уж год получать х5, а затем будет ещё 4 года за которые можно будет освоить любую более воствребованную и денежную специальность.
Наиболее частое используемое моей дочерью (8 лет) устройство. В прошлом году заменили модель 2014 года, которая перестала получать обновления на современную.
Можно и поиграть и посмотреть видосики и связаться с друзьями-родственниками по фейстайму/скайпу. Реже, но уже начинает что-то читать в интернете (пока по ссылкам). Нет проблем взять с собой в школу (у них там BYOD и какая-то учебная активность)
Травля начинается не за "слово против геев/трансов/мусульман/экоактивистов", а за хейтспич. Это контрпродуктивно и всегда заканчивалось плохо. Как в бизнесе, так и в государстве.
Компании же исходят из интересов бизнеса. Дешевле просто не связываться с психами, создающими некомфортную токсичную атмосферу на основе своих сексуальных, музыкальных, религиозных, национальных или любых других предпочтений, чем потерять целую прослойку других, вероятно гораздо более работников, у которых просядет производительность после его закидонов. Или они молча уволятся. А может не молча.
Это США.
Ну если только в плане занижения… С глассдором такое регулярно случается
Впрочем, я уже неоднократно слышал, что в мозиллу идут не за деньгами (а на интёрншип)
$65-80k — это уровень джуниора в в компании которая клепает простые сервисы потоком. И это не нью-йорк или долина, а место попроще.