Pull to refresh
55
0
Dmytro Zharii @Dmitry_Zhariy

Пользователь

Send message
Классная идея. Как раз возле дома один светофор себе присмотрел.
Когда вернусь – сразу отпишусь о результате. Возможно через 3-ри — 5-ть лет.
>> 5) Вопросы по вакансии, а не по резюме.
>> Конечно каждый несет ответственность за то,
>> что у него написано в CV. И я понимаю, что
>> если у меня указаны C++ или JavaScript меня могут
>> спросить по любому из этих языков, даже если они
>> не есть моими профильными.

Я считаю, что нужно обязательно спросить обо всем, что есть в резюме в разделе заявленных навыков.
Если есть Pascal и Assembler – без проблем:
А можно ли Assembler использовать внутри Pascal?
А как создать класс на Pascal?

C++(STL)?
Я понимаю, что на этом языке была сделана последняя и единственная лаба в институте, но про контейнеры в STL я обязательно спрошу. Просто: перечислите те, которые помните.

И все равно, что вы тестировщиком к нам устраиваетесь.

Все, что перечислено в резюме в разделе «навыки» должно быть покрыто вопросами, пусть даже самыми простыми. Иначе, почему оно там?
Все очень просто. Люди врут. Но, на их языке это «преувеличение»

А за статью – спасибо. Очень классно написано.
Да, это потому что камера снаружи.
Реквестую видео камеру в микроволновке!
У нас проект просто такой, в который CI система никак не клеится. Сборка и тестирование билда у нас отдельно. Билд тестировать можно только из инсталляции. Ну, а релизы у нас раз в год. В итоге, авто-тесты нужны только тестировщикам :). Некоторые разработчики тоже пишут юнит и интеграционные тесты, но всё это децентрализированно, не для всей команды.
А билды собираются посредством JScript и bat-файлов.
Также (через bat-файлы) выглядит и последующий запуск тестов:

  1. Выкачивается новый билд,
  2. Готовится виртуалка
  3. На виртуалку копируются тесты.
  4. Запускаются тесты при помощи Gallio/MbUnit
  5. В последствии отправляется отчет по почте, который можно потом благодаря интеграции Gallio + Visual Studio на своей машине и проанализировать/пофиксить.


В такой системе нет карантина. И каждый упавший тест каждый раз отвлекает очень сильно. Так что их можно либо пофиксить либо подавить ассерты с известными багами.
С Наступившим! А сколько, интересно, дублей со скатертью было?
Спасибо за пост и с Новым Годом!
Я тоже копал на эту тему:

        [Test]
        public void TestSearchGoogleForThisIsATestWorkaround04()
        {
            // Actual: "this is a test - Поиск в Google"
            // * Arrange
            IWebDriver selenium = new InternetExplorerDriver();
            var googlePage = new GoogleSearchPage(selenium);
            string googleSearchPhrase = "This is a test";
 
            // * Act
            googlePage.Search(googleSearchPhrase);
 
            // * Assert
            // 1. Should contain the search phrase
            WorkaroundFor(BOOGLE_01, 
                () => StringAssert.Contains(googleSearchPhrase, selenium.Title) // <==== тут
            );
 
            // 2. Should contain our Company name
            StringAssert.Contains("Google", selenium.Title);
        }


Не знаю, насколько Ваш подход будет полезен в модульных тестах, но вот в системно-интеграционных, аля Selenium через UI – будет очень полезен.
Как делают в Linux: archive.tar.gz
Как делают в Windows: архив.exe
Как делают некоторые читатели Хабр: archive.tar.gz.exe
Тут скорее не сайт, а работу браузера. Обратите внимание, на страницы загрузки есть несколько версий IE 8 для XP, Vista, Server 2003.
www.microsoft.com/en-us/download/details.aspx?id=43

Почему нельзя было обойтись одним файлом? Ведь каждая версия – это отдельный билд. Не факт, что они будут работать идентично.
Эт мобильный и бюджетный вариант для съемной квартиры.
В случае чего – все быстро собирается – и вперед! (Кроме стола, конечно, но стол я выбирал)
Оригинал:


С пояснениями:
http://habrastorage.org/storage2/585/122/baa/585122baa70aeb87feac877332ece2f5.jpg
Очень давно у меня было похожее устройство, которое называлось тетрис. Понятно, что прошло много времени, и технологии изменилось. Это сразу же заметно, ведь появилась четвертая кнопка «вверх» на джойстике, которой у меня не было. Значительно улучшился звук, который просто создает эффект присутствия (и это только после просмотра ролика на ютубе, а представляете как оно в реале?!).
В общем я уже заказал это устройство и купил акций компании, которая его выпускает
А когда, они, Манты, вместе собираются, то ничего, вполне даже опетитно получается
ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BD%D1%82%D1%8B
Есть такой вариант мозгового штурма, когда команда людей придумывает громкие газетные заголовки, как бы показывая в такой форме, какие риски может ожидать продукт.
Точное описание найти не могу, вот в моей интерпретации:

Ведущий штурма рассказывает историю:
Рано утром, вы просыпаетесь. В голове еще крутится недавно увиденный сон.
Вы протираете глаза, вялый и сонный, заходите на кухню. Готовите себе кофе.
На автомате, вы садитесь за компьютер. Открываете любимый новостной сайт… и тут:
Всю сонливость как рукой снимает. На лице застывает гримаса удивления. Через все тело проходит неприятная дрожь.
Вы видите заголовок новости. И понимаете, что эта очень неприятная новость о вашем продукте.
Как звучит этот заголовок?


Варианты могут быть самые разные:
  1. Иван Иванович стал несчастным обладателем 999 садовых гномов, вместо 1-го
  2. Интернете магазин оскорбляет пользователей перечнем товаров
  3. 9-ти летняя девочка купила 3 цистерны самогона в интернет магазине
  4. Капча «B1TCH» стала причиной судового иска на 200 миллионов
точно. Это тупик :)

В таком случае, ваш вариант с DinnerID имеет больше смысла
Сделаю важное уточнение, в запросе я указал * не просто так, а именно потому что хочу видеть и все данные + чексумма
Ну, типа того, значит возвращаемся к первоначальному запросу :-D
Нет, пробовал без group by, SQL Server выдает ошибку
Msg 8120, Level 16, State 1, Line 1
Column 'dbo.Dinners.DinnerID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

когда я дописываю GROUP BY DinnerID — уже ругается на Title

Вот скрипт создания Диннерз:

CREATE TABLE [dbo].[Dinners](
	[DinnerID] [int] IDENTITY(1,1) NOT NULL,
	[Title] [nvarchar](50) NOT NULL,
	[EventDate] [datetime] NOT NULL,
	[Description] [nvarchar](256) NOT NULL,
	[HostedById] [nvarchar](256) NULL,
	[HostedBy] [nvarchar](256) NOT NULL,
	[ContactPhone] [nvarchar](20) NOT NULL,
	[Address] [nvarchar](50) NOT NULL,
	[Country] [nvarchar](30) NOT NULL,
	[Latitude] [float] NOT NULL,
	[Longitude] [float] NOT NULL,
 CONSTRAINT [PK_Dinners] PRIMARY KEY CLUSTERED 
(
	[DinnerID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
Наибольший объем одной из моих продакшн баз данных – 50 гиг.
В таких условиях работает вполне сносно.
Есть лабораторные базы данных, размер которых до 20 Мб. Я удаляю элемент одним способом: смотрю какие таблицы модифицируются.
Таким образом я узнал как правильно удалять элементы чтобы не сломать зависимости, где находится таблицы с конфигурационными данными, что происходит в результате тех или инных операций.
В моей ситуации таких таблиц около 210 и этот подход позволят очень быстро найти именно те таблицы, на которых в дальнейшем необходимо сосредоточить исследование.
Конкретно в моей ситуации – этот подход очень полезен, но я не могу гарантировать пользу в контексте вашего проекта.
Ваш комментарий натолкнул меня на дальнейшие исследования.
При помощи такого дубового запроса, можно посчитать контрольную сумму для каждого ряда таблицы, а потом сравнить diff с предыдущим состоянием:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) AS CHKSUM, * 
  FROM [dbo].[Dinners]
  GROUP BY  [DinnerID]
      ,[Title]
      ,[EventDate]
      ,[Description]
      ,[HostedById]
      ,[HostedBy]
      ,[ContactPhone]
      ,[Address]
      ,[Country]
      ,[Latitude]
      ,[Longitude]


Осталось только придумать, как сделать этот код более универсальным.

Information

Rating
Does not participate
Location
Seattle, Washington, США
Date of birth
Registered
Activity