Я нахожусь в той же ситуации как Вы, и как новичок к Vim я первоначально нашел это небольшим укрощением - кривая обучения кажется крутой. Из того, что я учился всего за несколько часов, я уже чувствую, что не буду в состоянии жить без него.
Здесь немногие ссылки , что я нашел, чтобы полезные экранные демонстрации Vim показали Вам, к чему это способно.
А хороший совет, который Bram Moolenaar (доброжелательный диктатор Vim) дал в той последней ссылке, - то, что это было бы неэффективно, чтобы попытаться изучить каждую команду и функцию, просто выяснило бы то, чем случается так, что Вы делаете, который не работает очень хорошо, ищите способ сделать это более эффективным и затем сделать это привычкой.
JNDI - это интерфейс именования и каталогов Java. Он используется для разделения задач разработчика приложения и разработчика приложения . Когда вы пишете приложение, основанное на базе данных, вам не нужно беспокоиться об имени пользователя или пароле для подключения к этой базе данных. JNDI позволяет разработчику давать имя базе данных и полагаться на то, что разработчик сопоставит это имя с фактическим экземпляром базы данных.
Например, если вы пишете код, который выполняется в контейнере Java EE, вы можно написать это, чтобы получить источник данных с именем JNDI "База данных":
DataSource dataSource = null;
try
{
Context context = new InitialContext();
dataSource = (DataSource) context.lookup("Database");
}
catch (NamingException e)
{
// Couldn't find the data source: give up
}
Обратите внимание, что здесь нет ничего о драйвере базы данных, или имени пользователя, или пароле. Это настраивается внутри контейнера.
JNDI не ограничивается базами данных (JDBC); всевозможным службам можно давать имена. Для получения более подробной информации обратитесь к руководству Oracle .
JNDI - это очень мощный механизм как для организации информации о конфигурации, так и для обнаружения и прослушивания служб с помощью EventContext
. В JNDI вы можете искать и прослушивать любой объект (а не только DataSource
s), если ваш поставщик услуг JNDI поддерживает его.
Конечно, единственная проблема заключается в наличии поставщика услуг JNDI; Самое замечательное в этом то, что на удивление легко свернуть свою собственную. В конце концов, вы можете кодировать любой экземпляр Java в XML
, используя JavaBeans XMLEncoder
и XMLDecoder
: вам не нужно полагаться на запуск внутри сервера приложений!
Так в чем разница между наличием файлов конфигурации? Хорошо, он может быть намного чище, потому что все ваши приложения могут получить свою конфигурацию из одного и того же места . Если им необходимо совместно использовать информацию о конфигурации (например, расположение базы данных), то это можно определить один раз в JNDI . Предположим, вы переместили серверы баз данных: вам не нужно запоминать файлы конфигурации gazillion с указанием их местоположения. Вы просто идете в одно место: JNDI.