По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
SQL Express – бесплатный инструмент начального уровня. Рано или поздно, ваше приложение, которое будет использовать SQL Express столкнется с его существенными ограничениями: Однопроцессорная архитектура; Максимальный размер БД 10 Гб; Максимум 1Гб ОЗУ будет задействован в работе – не больше; Так себе перспектива, не правда ли? Уверены, если вы работаете в Enterprise сегменте, то задумались о миграции на версию Standard и закупили лицензионный ключ. В статье расскажем, как бесшовно перейти с SQL Express 2012 на SQL Standard 2012. Процесс апгрейда редакции Проверим текущую редакцию SQL. Сделаем это с помощью SQL Server Management Studio. Подключаемся к серверу, выбираем наш сервер, нажимаем правой кнопкой мыши на него и выбираем Properties: Проверили – у нас SQL Express. Но, это временно :) Монтируем ISO файл с дистрибутивом Standard 2012, открываем его и нажимаем на setup.exe: Открывается инсталлятор. Выбираем, слева, раздел Maintenance: Внутри раздела, выбираем пункт Edition Upgrade: Запускается процесс апгрейда. Сначала, он проверяет некие пререквизиты. Выглядит это так: Окно закрывается, потом показывается очередное меню проверки. Оно финальное, тут нажимаем Next: Поехали. В разделе Product Key укажите ваш лицензионный ключ: Принимаем лицензионное соглашение. Или не принимаем – решать вам :) Выбираем инстанс SQL. У нас на сервере уже установлен SQL Express, поэтому, он подтянулся в это окно – у вас должно быть так же. Если все ОК, нажимаем Next: На следующем шаге происходит финальная проверка всех условий начала апгрейда: Все! Инсталлятор показывает, что готов приступить к процессу апгрейда. А еще, он показывает какие компоненты буду обновлены в рамках смены редакции и путь к конфигурационному файлу. Жмякаем Upgrade и ждем. Готово! По окончанию, инсталлятор доложит вам, какие именно фичи были успешно обновлены в рамках новой редакции: Помните с чего мы начали? СSQL Server Management Studio :) Снова открываем его и смотрит, что же стало с редакцией нашего SQL:
img
Любое крупное приложение должно сопровождаться несколькими наборами тестов, с помощью которых можно проверить его стабильность и производительность.  Существует большое количество различных тестов, каждый из которых имеет свое назначение и охватывает определенные аспекты приложения. Именно поэтому, когда вы тестируете свое приложение, вы должны убедиться, что ваш набор тестов сбалансирован и охватывает все аспекты.  Однако есть один тип тестов, который разработчики часто предпочитают другим, и поэтому им часто злоупотребляют. Этот «сквозное тестирование» (E2E - end-to-end testing).  Что такое сквозное тестирование? Для тех, кто только начал штурмовать мир тестирования программного обеспечения, E2E-тестирование - это проверка вашего приложения от начала до конца вместе со всеми его зависимостями. При проведении E2E-тестировании вы создаете среду, которая будет идентична той, которую будут использовать реальные пользователи приложения. А затем вы тестируете все действия, которые могут выполнять пользователи в вашем приложении. С помощью сквозного тестирования вы проверяете весь рабочий поток целиком, например, вход на веб-сайт или покупку товара в интернет-магазине.   Если вы будете злоупотреблять E2Е-тестирование, то вы перевернете пирамиду тестирования. Я в такой ситуации был. В одном из своих проектов я планировал охватить большую часть приложения Е2Е-тестами или, что еще хуже, воспользоваться лишь один Е2Е-тест. К счастью, я передумал. Так вот, теперь я хочу поделиться с вами тем, что заставило меня передумать.  Почему не нужно пренебрегать пирамидой тестирования? Хаотично написанные тесты сначала могут показаться вполне пригодными, но в конце концов они таковыми не окажутся.  Мы пишем тесты для того, чтобы выиграть больше времени, и мы делаем это с помощью методы и средства автоматизации тестирования. Конечно, можно было бы самостоятельно открывать приложения и тестировать их вручную. Если бы это нужно было сделать однократно, то проблем не было бы. Но так бывает крайне редко.  Программное обеспечение постоянно обновляется. Поэтому необходимо проводить регулярные тестирования для того, чтобы оставаться в курсе последних событий. Вы, конечно, можете ежедневно запускать все тесты вручную при каждом обновлении приложения. Но если вы один раз напишите набор тестов, а затем будете его запускать каждый раз, когда нужно будет протестировать какой-то из аспектов приложения, то вы сэкономите много времени.  У каждого теста есть свое назначение. Если вы будете использовать их не по назначению, то они могут вам больше навредить, чем помочь. Это связано с тем, что в итоге вы потратите больше времени на то, чтобы написать эти тесты, и на их сопровождение, чем на разработку самого приложения. Иными словами, вы останетесь без одного из самых больших преимуществ автоматизированного тестирования.  Хорошее начало – придерживаться пирамиды тестирования. Она поможет вам определить правильный баланс в тестированиях. Эта пирамида является отраслевым стандартом и используется с середины 2000-х годов по сей день, так как все еще считается эффективной.  Значит ли это, что разработчики никогда не пренебрегают этой пирамидой? Не совсем. Иногда пирамида бывает перевернутой, где большую часть тестов составляют Е2Е, а иногда она бывает похожа на песочные часы, где очень много юнит- и Е2Е-тестов, но с очень мало интеграционных тестов.  Три уровня пирамиды тестирования Как правило, пирамида тестирования имеет три уровня: юнит-тесты, интеграционные тесты и сквозные тесты.  Юнит-тесты Юнит-тесты, или модульные тесты, делают акцент на самых маленьких единицах кода, таких как функции и классы.  Они короткие и не зависят ни от каких-либо внешних пакетов, библиотек и классов. В противном случае, в ход идет имитированная реализация.  Если юнит-тест дает сбой, то найти причину проблемы не так сложно. Они также имеют небольшой диапазон тестирования, что делает их простыми в написании, быстрыми в работе и легкими в сопровождении.  Интеграционные тесты Интеграционные тесты делают акцент на взаимодействии между двумя отдельными объектами. Как правило, они работают медленнее, потому что они требуют более серьезной настройки.  Если интеграционные тесты проваливаются, то найти проблему немного сложнее, так как диапазон ошибок больше. Они также более сложные в написании и сопровождении, в основном потому, что они требуют более продвинутое имитирование и расширенную область тестирования.  Сквозные тесты И наконец, сквозные тесты, или E2E-тесты. Они делают акцент на рабочих потоках, от самых простых до самых сложных. Эти тесты можно рассматривать как многоэтапные интеграционные тесты.  Они самые медленные, потому что они подразумевают сборку, развертывание, запуск браузера и выполнение действий внутри приложения.  Если сквозные тесты проваливаются, то найти проблему часто бывает очень сложно, потому что диапазон ошибок увеличивается до всего приложения. В принципе, по пути могло сломаться все что угодно. Это, безоговорочно, самый сложный тип тестов для написания и сопровождения (из трех типов, которые рассмотрели здесь) из-за огромного диапазона тестирования и из-за того, что они охватывают все приложение.  Надеюсь, теперь вы понимаете, почему пирамида тестирования была спроектирована именно таким образом. Снизу-вверх каждый уровень тестирования говорит о снижении скорости и увеличении диапазона и сложности и усложнении сопровождения.  Именно поэтому важно не забывать о том, что E2E-тестирование не может полностью заменить другие методы – оно лишь предназначено для расширения их возможностей. Назначение Е2Е-тестирования четко определено, и тесты не должны выходить за его границы.  В идеале тесты должны выявлять ошибки настолько близко к корню пирамиды, насколько возможно. Е2Е-тест предназначен для проверки кнопок, форм, изменений, ссылок, внешних процессов и вообще всех функций рабочего потока. Тестирование с кодом VS codeless-тестирование В целом, существует два типа тестирования: ручное и автоматизированное тестирование. Это значит, что мы можем проводить тестирования либо вручную, либо с помощью сценариев.  Чаще используют именно второй метод. Но и автоматизированное тестирование можно разделить на две части: тестирование с кодом и codeless-тестирование.  Тестирование с кодом Когда вы проводите тестирование с кодом, вы используете фреймворки, которые могут автоматизировать браузеры. Один из самых популярных инструментов – это Selenium, но я больше предпочитаю использовать в своих проектах Cypress (только для JavaScript). И тем не менее, работают они практически одинаково.  По сути, с помощью таких инструментов вы моделируете веб-браузеры и даете им указания для выполнения различные действия в вашем целевом приложении. После чего вы проверяете, отреагировало ли ваше приложение на соответствующие действия. Это простой пример имитации, взятый из документации Cypress. Я привел его, чтобы вы могли лучше понять, как работает этот инструмент: Давайте посмотрим, что тут происходит: Допустим, пользователь посещает сайт  https://example.cypress.io   Когда она нажимает на ссылку с пометкой type, URL-адрес должен добавить /commands/actions Если он вводит «fake@email.com» в поле ввода .action-email, тогда ввод .action-email принимает значение «fake@email.com». Codeless-тестирование В ситуации с codeless-тестированием вы используете фреймворки на базе искусственного интеллекта, которые запоминают ваши действия. И основываясь на некоторой дополнительной информации, они проверяют, отвечает ли ваше целевое приложение на действия должным образом.  Эти инструменты часто выглядят как малокодовые платформы для разработки, где вы перемещаете различные панели. Один из таких инструментов – TestCraft, codeless-решение, разработанное на платформе Selenium. Как правило, эти инструменты стоят дороже из-за того, то такие функции, как создание, сопровождение и запуск тестов выполняются с помощью простого перемещения панелей, а также из-за того, что для проведения тесто не нужно уметь писать программный код. Но я упомянул здесь про TestCraft, потому что у них есть бесплатная версия, которая включает в себя практически все.  Конечно, если речь идет о скорости и деньгах, то codeless-решение может оказаться вам больше по душе, но они все еще достаточно новые. Поэтому они пока не могут иметь ту сложность наборов тестов, которой можно достичь, написав код самостоятельно.  Если в целевом приложении есть очень сложные рабочие потоки, которые включают в себя несколько подвижных частей, то вам больше подойдет классический вариант тестирования. Но если сложных потоков нет, то вы можете воспользоваться codeless-решением.  Подведение итогов Написание тестов – обязательное требование для любого приложения. Если вы будете следовать всем правилам и писать наборы тестов исходя из их типов, то они только улучшат ваше приложение, а также их будет довольно просто написать и сопровождать.  Использовать сквозные тесты, как и любые другие, следует только для того, для чего они предназначены. Они предназначены для тестирования рабочего потока приложения от начала и до конца путем воспроизведения реальных пользовательских сценариев. Но помните, что большинство ошибок следует выявлять как можно ближе к корню.   
img
Как учиться на онлайн-курсах так, чтобы они окупились ИТ-курсы — это быстрый и проверенный способ научиться новому или повысить квалификацию для работы в сфере технологий. Такие программы дают начинающим специалистам опыт, необходимый для того, чтобы претендовать на хорошие вакансии. Интенсивная учеба на IT-курсах даст старт вашей карьере, но как ее пройти, чтобы не пожалеть о потраченных силах и деньгах? Знание о том, как подготовиться к обучению, даст возможность быть уверенным в своем решении. В этой статье расскажем, как подготовиться к учебе, что следует учесть прежде, чем внести оплату, и на что рассчитывать после окончания курса. Стоит ли сейчас идти учиться на IT-курсы Первая ассоциация с работой в IT — комфортная удаленка или светлый просторный офис со спортзалом, ДМС и неизменными «плюшками» на кухне. Сфера остается конкурентной: по данным hh.ru, IT-отрасль многие россияне все еще оценивают как одну из самых перспективных — 39% опрошенных заявили, что планируют сменить сферу, в которой они трудятся сейчас, на IT. Как и в любой сфере, зарплата и корпоративные бонусы зависят как от компании, так и от уровня конкретного сотрудника. Это значит, что потенциальную конкуренцию важно и нужно учитывать уже на этапе выбора профильного курса, но бояться конкуренции не стоит. На рынке есть спрос на специалистов всех уровней и для решения самых разных задач, так что ориентируйтесь на направление, в котором вам было бы по-настоящему интересно расти и развиваться. Что дают курсы? Представьте себе человека, который хочет прийти к идеальной физической форме. Он выбирает самый современный и удобный спортзал, покупает абонемент, нанимает лучшего тренера… И не занимается. Та же ситуация применима и к учебе на курсах: если не проявлять инициативу, не ходить на занятия и игнорировать практику, даже продвинутый курс с классными преподавателями не поможет в будущем найти работу. Давайте разберемся, что вам даст обучение на курсах, и какие усилия к этому стоит приложить. Цель 1: узнать, что собой представляет профессия, которой вы планируете учиться. Что делать: поищите статьи, в которых раскрываются основы профессии, поговорите с людьми, которые уже работают в интересной вам сфере. Не стесняйтесь спрашивать других и искать информацию самостоятельно. Убедитесь, что у вас есть предпосылки для прохождения курса — как минимум, желание углубиться в сферу. Если требуются какие-либо базовые навыки или знания, ознакомьтесь с ними до начала курса. Если вы уже купили обучение, ознакомьтесь с учебным планом и конспектом, поймите, какие темы там будут рассматриваться. Цель 2: усвоить теорию, разобраться в предмете более детально и сделать первый шаг к карьере. Что делать: разбейте содержание курса на удобные для изучения разделы и поставьте реальные цели для каждого занятия — это позволит вам оставаться организованным и сосредоточенным. Не полагайтесь только на материалы курса. Изучите дополнительные ресурсы — учебники, видео, лекции, статьи, чтобы получить более полное представление о нужных темах. Выделите отдельное время для занятий. Последовательные, целенаправленные занятия более эффективны, чем зубрежка. Составьте расписание занятий, которое будет соответствовать вашему распорядку дня. Это поможет вам сохранять дисциплину и не отвлекаться от учебы. Цель 3: нарастить скиллы, научиться решать практические задачи. Что делать: для ИТ-курсов практические занятия имеют решающее значение. Отрабатывайте полученные знания на практических и лабораторных занятиях, не бойтесь находить задачи самостоятельно и решать их вне учебы — это расширит кругозор и даст навык быстрой работы при любых условиях. Соотнесите материал курса с реальными сценариями. Поймите, как концепции применяются в практических ситуациях, чтобы сделать обучение более осмысленным. Цель 4: познакомиться с коллегами и другими учениками, попасть в профессиональную среду. Что нужно: участвуйте в профильных группах или сообществах в социальных сетях, связанных с курсом. Взаимодействие с другими людьми даст возможность узнать разные точки зрения и получить дополнительные знания. IT — это быстро развивающаяся область. Следите за соответствующими благами, новостными источниками и форумами, не бойтесь задавать вопросы в комментариях. Как вы поняли, обучение на IT-курсах — это процесс, который окупится и приведет к результату только в том случае, если предмет вам интересен, и вы готовы к дисциплине и новым знаниям. В начале этой статьи мы говорили о том, что IT — это сфера с высокой конкуренцией, и что это не повод обходить ее стороной. Теперь вы понимаете, почему: успех находится только в ваших руках — вы всегда можете стать сильнее другого соискателя, приложив к учебе больше сил и времени. Что делать после IT-курсов Эффективная подготовка к ИТ-курсам может значительно улучшить ваш опыт учебы и сделает ее более полезной. В той же степени важно подготовиться к тому, что вас ждет после курсов. Что может испортить вам настроение: джуны не получают много денег сразу, к примеру, зарплата junior программиста начинается от 45 тысяч рублей. А как же новый ноутбук и офис с фруктами и игровой приставкой? Хорошая новость: обучающий курс обязательно окупится. Не ищите супер-работу сразу после выпуска: возьмите несколько фриланс-проектов, пополните портфолио и выходите на рынок с твердой уверенностью в своих силах. Чем больше знаний и практических кейсов вы покажете будущему работодателю, тем больше шанс получить работу с высокой оплатой. Что ещё может испортить вам настроение: знания улетучиваются очень быстро. Еще вчера вы могли написать код с закрытыми глазами, а сегодня вам приходится искать дополнительные материалы для решения той же задачи. Хорошая новость: поддерживать рабочую форму не так сложно. Регулярно просматривайте пройденный на курсах материал, чтобы закрепить его понимание. Читайте профессиональные форумы и книги, решайте задачи — в рамках того же фриланса. Это даст шанс не только не стагнировать, но и вырасти в своих скиллах. Развивайте навыки критического мышления — ИТ-технологии часто связаны с решением проблем, и способность критически мыслить и даст опору в принятии решений. Не забывайте пополнять портфолио, расширять свои знания и практиковаться — это приблизит вас к работе мечты и даст возможность стать специалистом, с которым будет рада сотрудничать любая IT-компания. Заключение Чтобы обучение на онлайн-курсе окупилось, вы должны интересоваться профессией, которой вы учитесь, и прилагать усилия к тому, чтобы в нее углубиться. Секрет успеха в том, чтобы ваш труд был постоянным и планомерным — здесь вам поможет планирование своего времени и нагрузки. Хоть это и очевидно, но помните, что одна лишь покупка курса не сделает вас специалистом, но с правильным подходом и уверенностью в своих силах это абсолютно реально.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59