воскресенье, 29 января 2017 г.

Условные предложения

Каждый раз, когда мы строим предложение с if, необходимо употребить один из 3х типов:

  1. Предложение будет состоять из Present Simple + Future Simple. We will play tennis if the rains stops. If I see him tonight, I'll tell him the truth. IF + Present Simple = Условие, Future Simple = Результа.
  2. Воображаемые ситуации, которые противоречат реальности и то, что они произойдут - маловероятно. И переводятся такие предложения с частицами бы. What would you do if you won a million pounds? Схема: IF + Past Simple (did/were/found) = Возможное условие. Future in the Past (would + глагол без to) = Возможный результат. Вместо would можно использовать глаголы could или might. If I had more time, I could come next Friday.
  3. Свое отношение к нереальным действиям. Для таких предложения нам понадобится глагол would (Future Perfect in the Past =  нереальный результат) и Past perfect (IF + PP = Нереальное условие). If you had warned me about the danger, I would not have participated in this competition. Если бы ты предупредил меня об опасности, я бы не участвовал в этих соревнованиях

понедельник, 23 января 2017 г.

Future in the Past

Future Simple in the Past

Используется:

  1. Нужно поставить глагол will в прошедшее время would. Yesterday she said, she would arrive in the evening. But unfortunately, she didn't. I knew that Alex would make dinner. В тот момент, когда речь шла о ужине, это было будущим событием: действие make dinner является будующим, для определенного момента в прошлом - I knew.
  2. Чаще всего используюутся глаголы: said, told, thought, knew, realized, expected, hoped.
Примеры:
I knew you would hepl me.
We hoped, that the train would arrive on time.
She realized, that she would not come on time.
I knew that they wouldn't understand me

The Future Continuous in the Past

Используется

  1. Если событие, которое происходило в определенное время в будующем и было будующим в какой то момент в прошлом, а в настоящий момент оно уже будущим не является. At the time, I thought that I would be studying for my math exam but I suddenly got ill and had to use  my crib notees. В то время, я думал, что буду готовиться к экзамену по математике , но вдруг заболел и мне пришлось воспользоваться шпаргалками.
Примеры:
I thought, that I would be jogging at that time.


The Future Perfect in the Past

Используется:
  1. Когда действия, которые будут закончены к определенному моменту времения в будущем, являются будущими только с точки зрения определённого момента в прошлом. I thought that I would have finished that project by the end of the day, but it took longer than I expected.
Примеры:
I thought that I would have studied all English tenses by the end of the month, but I didn't.
He expected that they would have prepared his order by 10 o’clock, but they forgot.
He knew that he would not have read the book by Saturday.

The Future Perfect Continuous in the Past

Используется:
  1. Если действие, которое будет продолжаться какое-то время в будущем и оно является будущим, только с точки зрения  определенного момента в прошлом.
Примеры:
She said that by next Easter she would have been working here for two years.
We realized that we would have been renovating a flat for half a year by the following Saturday.


Past Continuous for Future in the Past

Используется:
  1. Если вы говорите о таких запланированных действиях, которые уже «устарели» и не являются будущими к моменту речи. I got off early on Monday because I was meeting the doctor. В понедельник я ушёл пораньше с работы, потому что ходил на приём к врачу.
Примеры:
We were so busy with shopping as our son was starting school in a week then.
He couldn’t stay for dinner because he was taking his son to English classes at 5 p.m.
We were planning to dine outside, but it started raining.

воскресенье, 22 января 2017 г.

Структура Spring

Рассмотрим как происходит запуск контекста у Spring.

Превым делом должно быть какое-то описание для бинов, например xml. Для каждого описания есть BeanDefinitionReader, он парсит документ, складывает связку ид бина и бин дифинишинов. Далее Bean Factory из описания бинов первым делом создает бины, которые имплимитируют интерфейс BeanPostProcessor, с помощью этих бинов будет проиходить настройка бинов, отвечающих за бизнес-логику. Инициализация происходит следующим образом: каждый бин (только синглтон) проходит по всему списку BPP, далее вызывается инит метод у бина и бин второй раз проходит по списку BPP. На этом настройка бина завершена и он готов к использованию.

суббота, 21 января 2017 г.

Идиомы


  1. to get cold feet - испугаться чего то в последний момент, душа ушла в пятки
  2. to get something off one's chest - высказаться, как гора с плеч
  3. to be in over one's head - взяться за что то, что не по зубам
  4. to let one's hair down - расслабиться, быть в неформальной обстанове (для женщин)
  5. to loosen the tie - расслабиться, мужской вариант
  6. to stick one's neck out - подставиться, взять на себя ответственность
  7. to play it by ear - действовать по ситуации

среда, 4 января 2017 г.

Maven Profiler

У maven есть удобная система профайлинга, она используется, для того, чтобы задать какие-либо параметры, при определенных условиях, например, в зависимости от операционной системы, параметров среды окружения. Рассмотрим следующий пример:

    4.0.0

    profile
    profile
    1.0
    jar
    
        CurrentProfiler
    
    
        
            product
            
                ProductProfiler
            
        
    



Если выполнить mvn clean package, то итоговый файл будет называться CurrentProfiler.jar, чтобы задействовать профайлер с именем product необходимо выполнить:
mvn clean package -Pproduct и файл будет называться ProductProfiler.jar. Для того чтобы профайлер срабатывал без использования -Р, в конфигурацию профайлера необходимо добавить параметр activation:

    4.0.0

    profile
    profile
    1.0
    jar
    
        CurrentProfiler
    
    
        
            product
            
                
                    env.PROFILE
                    product
                
            
            
                ProductProfiler
            
        
    


В данном случае используется переменная ОС PROFILE, данный профайлер активируется, если значение PROFILE = product