Эти пред1980 дней были, конечно, славными днями Xerox PARC. Назад, когда GUI, мышь, лазерный принтер, Интернет и персональный компьютер все создавались. (Видящий, поскольку я слишком молод, чтобы быть живым тогда, и Вы в значительной степени работали над изобретением всех тех, я ничего не могу сказать Вам приблизительно в 1980, что Вы уже не знаете, поэтому давайте идти дальше.)
вещь состоит, тем не менее, в том, что эти пред1980 дней были намного более вибрирующие с точки зрения действительно подрывных новых технологий. Это - способ, которым это с каким-либо новым полем - hwo много меняющих правила игры технологических усовершенствований, Вы видели в железных дорогах за прошлые 100 лет? Сколько Вы видели в лампочках? В печатном станке? Как только что-то зажигает шумиху в правильных кругах, существует взрывчатый период изобретения, сопровождаемого длительным периодом назревания. После этого Вы не собираетесь видеть тот же вид абсолютно радикальных изменений снова, ЕСЛИ основные обстоятельства не изменяются.
К счастью, который мог бы происходить во многих полях, и это уже произошло в немногих других:
Мобильность - смартфоны приносят вычисление к действительно портативной платформе, которая будет скоро включать услуги на основе определения местоположения и основанные на близости специальные сети. Это - абсолютно новая парадигма, это является потенциально столь меняющим правила игры, как GUI был
, WWW (HTTP, HTML и DNS) был уже упомянут и является очевидным дополнением к списку, так как это включает глобальную, недорогую, основную богатую коммуникацию по всему миру - все благодаря вычислительной платформе
На интерфейсной стороне, обоих касаниях, мультисенсорный (Jeff Han приходит на ум), и упоминание потребности Wiimote. В настоящее время они - в основном любопытство, но ранние графический интерфейсы пользователя - также.
шаблоны разработки ООП - высокоуровневые решения как лучшие практики к тяжелым проблемам. В зависимости от Вашего определения 'вычисления' это может или не может принадлежать в списке, но если Вы считаете ООП как значительный шаг вперед пред1980 (я, конечно, делаю), я думаю, шаблоны разработки и GoF заслуживают упоминания также
PageRank Google и алгоритмы MapReduce - я рад заметить, что я не был первым для упоминания их, и серьезно---, где мир будет без принципов их обоих? Я ярко помню то, на что мир был похож перед ними, и достаточно сказать Google действительно ЯВЛЯЕТСЯ моим другом.
Энергонезависимая память - это находится на аппаратной стороне, но это собирается играть значительную роль в будущем вычисления - делать предметом прошлого время начальной загрузки, например, и то, чтобы позволять нам использовать компьютеры совершенно новыми способами
Семантический (естественный язык) поиск / анализ / классификация / перевод... Мы не совсем там все же, но компании как Степенное множество производят впечатление, что мы на грани.
На той ноте, интеллектуальный HTMs должен быть в этом списке также. Я - еще один сторонник модели и подхода Jeff Hawkins, и если это будет работать, это будет означать полное переопределение того, что могут сделать компьютеры, что это означает быть человеческим, и куда мир может пойти отсюда. Создание реальной аналитики таким образом (искусственно) было бы быть больше, чем что-нибудь, что человеческий род выполнил прежде.
GNU + Linux
3D печать / быстрое прототипирование (и, вовремя, производя)
P2P (которые также приводят к VoIP и т.д.)
электронные чернила, когда-то технологии назревают немного больше
, RFID мог бы принадлежать в списке, но вердикт все еще отсутствует на тот одном
, Квантовые вычисления являются самым очевидным элементом в списке, кроме мы все еще не были в состоянии заставить достаточно кубитов манипулировать. Однако мои друзья в поле говорят мне, что существует невероятное продолжение прогресса, как раз когда мы говорим, таким образом, я задерживаю дыхание для того.
И наконец, я хочу упомянуть любимый: распределенный интеллект или его другое имя: искусственный искусственный интеллект. Идея соединить огромное количество людей в сети и предоставить им доступ к объединенным умам всех остальных через некоторую форму интерфейса ответа вопроса. Это было сделано неоднократно недавно, с Ответами Yahoo, Асквилл, Amazon Mechanical Turk, и так далее, но в моем уме, те все промахиваются МНОГО... во многом как много реализаций распределенного гипертекста, который появился перед HTML Tim Berners-Lee's или многими поисковыми роботами перед Google. Серьезно - кто-то должен встроить поисковый интерфейс в 'ум улья' для выдувания всех остальных из воды. По моему скромному мнению - это - только вопрос времени.
Вопрос: почему вы хотите это сделать? Я думаю, что это не большая оптимизация, если вы обновляете только столбцы, которые изменились.
Есть ли у вас триггеры в базе данных?
Если да, вы можете сделать следующее:
select-before-update = "true"
и dynamic-update = "true"
в отображении. Это заставляет NH выполнять запрос перед обновлением и обновлять только в случае его изменения и только те столбцы, которые изменились. Я не уверен, выбирается ли он для каждого обновления или только если он не находится в сеансе. Merge
вместо update. Фактически это делает то же самое: он выбирает объект из базы данных, только если он еще не находится в сеансе. Также используйте dynamic-update = "true"
. Также существует компромисс: Merge
возвращает присоединенный экземпляр, если он уже есть в сеансе. Поэтому вам всегда следует отбрасывать переданный вами экземпляр и работать с экземпляром, который вы перешли из Merge
. На самом деле меня не волнуют обновленные столбцы. Скорее всего, быстрее обновить их вслепую, чем выполнять предыдущий запрос.
Используйте dynamic-update = "true" в сопоставлении .
Дополнительно для обновления отсоединенного объекта используйте это:
Session.SaveOrUpdateCopy(myObject)