Я работаю физиком в британском университете.
, Возможно, я должен подчеркнуть, что различные области исследования имеют другой акцент на программирование. Физики частицы (как dmckee) делают численное моделирование почти исключительно и могут сотрудничать на больших проектах программного обеспечения, тогда как люди в полях как мое собственное (конденсированное вещество) пишут код относительно нечасто. Я подозреваю, что большинство ученых попадает в последний лагерь. Я сказал бы, что кодирующие навыки обычно замечаются, как полезный в физике, но не важный, во многом как навыки физики/математики рассматриваются как полезный для программистов, но не важные. С этим в памяти...
Обычно анализ данных и графическое изображение сделаны с помощью универсальных пакетов анализа данных такой в качестве IGOR Pro, ИСТОЧНИК , Kaleidegraph, который может считаться 'Excel плюс'. Эти пакеты обычно имеют язык сценариев, который может использоваться для автоматизации. Больше анализа специалиста может иметь специализированную утилиту для задания, которое обычно будет писаться давным-давно, никто не имеет источник для и довольно ошибочен. Еще некоторые типы техника могли бы использовать языки, которые были упомянуты (Python, R, MatLab с Gnuplot для графического изображения).
программное обеспечение Control обычно делается в LabVIEW, хотя мы на самом деле используем Delphi, который несколько необычен.
я был к семинарам по грид-вычислениям, 3D визуализации, изучив Повышение, и т.д. данное обоими университетами, в которых я был. Как студент нам преподавали VBA для Excel и MatLab, но C/MatLab/LabVIEW более распространен.
нет, хотя у людей действительно есть персональные установки разработки. Наша кодовая база находится в совместно используемой папке на 'сервере', который держится в курсе синхронизирующего инструмента.
Один шаг за один раз! Я пытаюсь заменить совместно используемую папку чем-то немного более твердым, возможно, находя клиент SVN, который подражает текущему синхронизирующему поведению инструментов, помог бы.
я сказал бы, хотя в целом, для большинства проектов естествознания, время обычно лучше проводится, проводя исследование!
Оказалось, что я создавал объект TransactionScope
после объекта SqlConnection
.
I перемещено из этого:
using (new ConnectionScope())
using (var transaction = new TransactionScope())
{
// Do something that modifies data
transaction.Complete();
}
в это:
using (var transaction = new TransactionScope())
using (new ConnectionScope())
{
// Do something that modifies data
transaction.Complete();
}
и теперь это работает!
Итак, мораль этой истории - сначала создать TransactionScope
.
Очевидным сценарием будет новый ( RequiresNew
) / null ( Подавить
) транзакция явно указана, но есть также сбой тайм-аута / отмены привязки, который может привести к пропуску транзакции соединениями. См. Этот предыдущий пост (исправление - всего лишь изменение строки подключения) или полную информацию .