Всем привет. Буквально несколько минут назад мы выпустили NHibernate 3.3.3.GA. Забрать можно с sf.net или установить с помощью менеджера пакетов NuGet.
Это минорный релиз, но кроме исправления багов и недочетов мы приготовили немного вкусного.
Сегодня я хочу рассказать, о маленькой библиотеке, которую я написал недавно на коленке всего за несколько часов. Эта библиотека может декомпилировать методы в их λ-представление.
В ADO.NET провайдерах для Oracle, PostgreSQL и, возможно, других есть одна неприятная особенность, которая может сказаться на производительности вашего приложения, если вы запрашиваете у сервера большие объемы данных: они не кэшируют вызовы метода IDataReader.GetOrdinal. Как оказалось это очень критично для NHibernate, но, к счастью, разработчики NHibernate (а точнее Hibernate) эту проблему заметили и уже решили.
Но эта фича осталась незамеченной и почти не задокументированной.
В самом начале необходимо определиться с уровнем кандидата на данную вакансию. Здесь я не буду оперировать понятиями Junior, Senior, Lead и т.д, так как в разных компаниях в эти понятия вкладывается разный смысл. Я буду использовать понятия “кандидат без опыта” (“новички”) и “кандидат с опытом” (“опытные”). От ответа на этот вопрос будет зависеть стратегия процесса найма. Я постараюсь уделить внимание именно различиям, которые необходимо учитывать при подборе. И типичные ошибки, которые необходимо избегать.