В некоторых фирмах с целью соблюдения режима секретности и избежания утечки информации от нерадивых работников разрешается пользоваться только телефонами БЕЗ камер. Особенно популярны такие модели на западе.
Также можно посмотреть Microsoft Robotics Developer Studio (Microsoft RDS), которая выполнена на основе их Visual Studio, имеет отличные инструменты для разработки и отладки (в том числе симуляцию реального окружения — комнаты, улицы и т.п.). Есть бесплатная Express-версия. Официальный сайт: www.microsoft.com/robotics/
Являюсь разработчиком. После сегодняшней новости и небольшого расследования выяснилось, что у нас в организации данный вирус появился и стал паразитировать примерно с декабря 2008 года О_о
Переименования? Никак. Программа не может определить, что именно эту колонку или таблицу переименовали в другую. Максимум что можно сделать — после анализа различий исключить соответствующие объекты для генерации кода и вручную отредактировать получившийся скрипт.
Программа отлично сравнивает базы данных и генерирует скрипт для «обновления». Сравнения могут быть как по структуре (таблицы, процедуры, триггеры), так и по самим данным из таблиц. Русская версия бесплатная для частного использования.
Сама же разработка и обновления ведутся с использованием «инкрементальных» обновлений. На сервере находится рабочая база, а также тестовая — для разработок. Как только приходит время, с помощью dbForge генерируется скрипт обновления рабочей базы до «тестовой» (т.е. новой версии). Сам скрипт сохраняется в отдельный файл вида «Обновление с версии 10 до 11.sql». Затем проверяется, для какой и до какой версии базы необходимо провести обновления — и вручную текст из соответствующих скриптов копируется в один файл для установки (получается что-то вроде «Обновление с версии 9 до 12.sql»).
2003 год, игра «Missing» (в Европе и России — «In Memoriam»), а также ее продолжение — «Missing 2» (2006)… Невероятно интересный квест, основанный на использовании интернета, поиска и анализе информации! Мы расследуем странное исчезновение журналиста и его жены — на руках есть только странный диск, где некий маньяк пытается играть с нами, давая всевозможные зацепки и подсказки.
Все сделано настолько реалистично, что диву даешься — тут тебе и письма на электронную почту от разных людей, и поиск зацепок по настоящим интернет-сайтам (музеям, библиотекам, энциклопедиям, домашним страничкам и т.п.), даже диск от маньяка был по-настоящему зашифрованным (никаких данных — только пустые папки со странными названиями… тайна которых, кстати, впоследствие также раскроется). Объем информации, который придется обработать за время расследования — очень большой и разнообразный (вплоть до изучения старинных рукописей одного священника в реальной библиотеке).
Россия, обычный провинциальный городок, обычная средняя школа… Изучали информатику с 5-6 класса. К 7-8 дошли до программирования на Бейсике. В старших классах (10-11) уже решали всевозможные задачи на Паскале.
9/11 дальше просто не стал (хотя, может там как раз самое заковыристое и пошло бы). Шрифты не знаю, но вот методом исключения (а также вспомнив пару интересных статей про историю шрифтов) выбирал почти всегда правильно...
>>И не менее удачное сравнение строки с образцом, тот же проект:
>>if ((strtolower($fmultipledownload) != strtolower("YES")) &&
>>(strtolower($fmultipledownload) != strtolower("NO")) )
Используется, когда частенько меняются образцы слов, да и просто для надежности (программист элементарно может ошибиться в написании слова)... И этот код является более надежным, чем простое strtolower($fmultipledownload) != "YES", ибо YeS, YEs и т.п. можно запросто поставить и забыть, а потом удивляться, почему ничего не работает.
>>Это ещё что...Вы бы видели индийский код(я работаю в аутсорсинговой компании). Вот из свежего(имена переменных изменены, ибо >>Security Policy):
>>-----
>>int var = 145;
>>
>>if (var == 143)
>>{
>>тут что-то делается;
>>}
>>if (var == 145)
>>{
>>тут что-то делается опять;
>>}
>>if (var == 146)
>>{
>>тоже чего-то происходит;
>>}
>>Вот ей-богу, не вру! Так и написано!
Человеку очень часто приходится проверять работу программы и менять условия не удивительно, что быстрее было бы изменить значение переменной прямо в коде и на месте. Стандартная ситуация. Что-то удивительное тут может увидеть только человек, никогда с такими ситуациями не сталкивавшийся.
Не стоит забывать, что в тех же самых школах зачастую просто НЕТ такого предмета, как информатика, или преподают на нем совсем не то, что нужно... Не знаю, как сейчас, а вот 5 лет назад из всей нашей институтской группы на первом курсе (а это человек 25) хоть что-то знали о программировании максимум 5 человек! Все остальные даже не представляли, что такое циклы, ветвления, переменные! И как, спрашивается, такие студенты будут что-то "кодить" в какой-нибудь свежеустановленной Visual Studio, а?
www.automatedqa.com/products/testcomplete/
www.devart.com/ru/dbforge/mysql/studio/
Программа отлично сравнивает базы данных и генерирует скрипт для «обновления». Сравнения могут быть как по структуре (таблицы, процедуры, триггеры), так и по самим данным из таблиц. Русская версия бесплатная для частного использования.
Сама же разработка и обновления ведутся с использованием «инкрементальных» обновлений. На сервере находится рабочая база, а также тестовая — для разработок. Как только приходит время, с помощью dbForge генерируется скрипт обновления рабочей базы до «тестовой» (т.е. новой версии). Сам скрипт сохраняется в отдельный файл вида «Обновление с версии 10 до 11.sql». Затем проверяется, для какой и до какой версии базы необходимо провести обновления — и вручную текст из соответствующих скриптов копируется в один файл для установки (получается что-то вроде «Обновление с версии 9 до 12.sql»).
Все сделано настолько реалистично, что диву даешься — тут тебе и письма на электронную почту от разных людей, и поиск зацепок по настоящим интернет-сайтам (музеям, библиотекам, энциклопедиям, домашним страничкам и т.п.), даже диск от маньяка был по-настоящему зашифрованным (никаких данных — только пустые папки со странными названиями… тайна которых, кстати, впоследствие также раскроется). Объем информации, который придется обработать за время расследования — очень большой и разнообразный (вплоть до изучения старинных рукописей одного священника в реальной библиотеке).
>>if ((strtolower($fmultipledownload) != strtolower("YES")) &&
>>(strtolower($fmultipledownload) != strtolower("NO")) )
Используется, когда частенько меняются образцы слов, да и просто для надежности (программист элементарно может ошибиться в написании слова)... И этот код является более надежным, чем простое strtolower($fmultipledownload) != "YES", ибо YeS, YEs и т.п. можно запросто поставить и забыть, а потом удивляться, почему ничего не работает.
>>Это ещё что...Вы бы видели индийский код(я работаю в аутсорсинговой компании). Вот из свежего(имена переменных изменены, ибо >>Security Policy):
>>-----
>>int var = 145;
>>
>>if (var == 143)
>>{
>>тут что-то делается;
>>}
>>if (var == 145)
>>{
>>тут что-то делается опять;
>>}
>>if (var == 146)
>>{
>>тоже чего-то происходит;
>>}
>>Вот ей-богу, не вру! Так и написано!
Человеку очень часто приходится проверять работу программы и менять условия не удивительно, что быстрее было бы изменить значение переменной прямо в коде и на месте. Стандартная ситуация. Что-то удивительное тут может увидеть только человек, никогда с такими ситуациями не сталкивавшийся.