You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-4Lines changed: 13 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -314,7 +314,7 @@ Oracle является разработчиком языка и предост
314
314
315
315
Если ты ещё не задумывался о философских вопросах, то сейчас самое время. Вот живут у тебя таблицы в базе данных, связанные между собой в забавные клубки и в ус не дуют. И с другой стороны баррикад, ты разработчик с горящими глазами, и ворохом Java классов в твоем проекте. И хочешь ты чтобы написал ты SQL запрос и получил в ответ набор `List<MyObject>`, а не JDBC выборку, обрабатывая которую руками, приходится создавать объекты и кастовать типы направо и налево, как заправский колдун.
316
316
317
-
Такие страдания испытал не ты первый, по этому умные люди собрались и придумали концепцию ORM. Основной смысл ORM в том, чтобы взять на себя тяжелую работу по преобразованию твоих Java типов в типы базы данных. Ты как разработчик аннотируешь свои классы оставляя подсказки для фреймворка какие типы ты хочешь получить, а потом просто пользуешься обычными методами. Нажал `save(ListWithMyObjects)`, а он сам как по волшебству, превратился в SQL запрос и обновил данные.
317
+
Такие страдания испытал не ты первый, поэтому умные люди собрались и придумали концепцию ORM. Основной смысл ORM в том, чтобы взять на себя тяжелую работу по преобразованию твоих Java типов в типы базы данных и обратно. Ты как разработчик аннотируешь свои классы оставляя подсказки для фреймворка какие типы ты хочешь получить, а потом просто пользуешься обычными методами. Написал`save(ListWithMyObjects)`, а он сам как по волшебству, превратился в SQL запрос и обновил данные.
318
318
319
319
Звучит слишком хорошо, чтобы быть правдой, не так ли? Так и есть. Правильная готовка ORM это настоящая головная боль и балансирование на острие ножа, но тебе придется к этому прикоснуться.
320
320
@@ -409,15 +409,24 @@ Spring Data это целый набор различных продуктов,
409
409
410
410
#### Docker
411
411
412
-
Docker, если по умному, система по автоматизации и управлению стадом наших контейнеров. Мы ей даем контейнер, а она его запускает, настраивает и подготавливает к работе. Суть самих контейнеров простая как топор: мы описываем, в специальном формате, что нужно для нашего приложения (ОС, библиотеки). Весь **минимальный** набор необходимый для корректной работы нашего приложения. А потом запекаем это как слоеный пирог. Собрал ты контейнер, у которого в основе Ubuntu и радуешься жизни, всё работает. А потом захотел стать модным и заменить убунту на alpine, поменял пару строк в своем файле и снова радуешься жизни. Docker хорош там где нужно тестовое окружение, или окружение для разработчика. С использованием в бою (продуктиве) всё сложно, так как есть целый ворох проблем, вроде производительности и безопасности, о чем до хрипоты спорят разные умные люди.
412
+
Docker, если по умному, система по автоматизации и управлению стадом наших контейнеров. Мы ей даем контейнер, а она его запускает, настраивает и подготавливает к работе. Суть самих контейнеров простая как топор: мы описываем, в специальном формате, что нужно для нашего приложения (ОС, библиотеки). Весь **минимальный** набор необходимый для корректной работы нашего приложения. А потом запекаем это как слоеный пирог. Собрал ты контейнер, у которого в основе Ubuntu и радуешься жизни, всё работает. А потом захотел стать модным и заменить убунту на alpine, поменял пару строк в своем файле и снова радуешься жизни. Docker хорош там где нужно тестовое окружение, или окружение для разработчика.
413
413
414
-
Из учебных материалов обрати внимание на «Docker in Action» и официальную документацию. Попробуй упаковать с помощью докера любое своё приложение и задеплоить, например на Heroku.
414
+
Помни, что готовить докер в продуктиве гораздо сложнее, так как сразу возникает куча вопросов, например, по поводу производительности и безопасности. Для твоих учебных проектов это некритично, но в случае чего-то серьезного, лучше положиться на SRE инженера / системного администратора.
415
+
416
+
По учебным материалам обрати внимание на:
417
+
418
+
- Jeff Nickolof. Docker in Action. Серия «in Action» обычно довольно качественная сжатая (но не чересчур), по самым разным темам. Докер не исключение, если хочешь быстро получить базовые знания, данная книга тебе поможет;
419
+
- Официальная документация. Куда уж без документации. Написана хорошо, много полезных примеров и гайдов, не стесняйся туда почаще заглядывать.
420
+
421
+
После того как ознакомишься с учебными материалами, попробуй упаковать с помощью докера любое своё приложение и задеплоить, например на Heroku. Гайд по деплою докер образов в хероку, можно найти [здесь](https://devcenter.heroku.com/categories/deploying-with-docker).
415
422
416
423
#### Kubernetes
417
424
418
425
Один контейнер это хорошо, это надежно. Но, что если мы поддались волне хайпа и теперь у нас из всех щелей лезут микросервисы? Что если контейнеров у нас десятки, если не сотни? Как управлять всем этим зоопарком и не сойти с ума? Здесь к нам на помощь придет оркестратор Kubernetes, или просто кубер. По самому термину «оркестратор» можно догадаться, что его задача состоит управлении и контролю за нашим многочисленным зоопарком контейнеров. Он позволяет нам их запускать, заменять на другие, следить за их состоянием, автоматически перезапускать, если кто-то упал и даже автоматически масштабироваться, в зависимости от текущей нагрузки.
419
426
420
-
К сожалению с большой силой приходит большая головная боль, поэтому обычно с кубером работает специальный человек — SRE инженер. Тебе достаточно будет знать, что кубер существует, что он классный и его очень трудно готовить без опыта.
427
+
К сожалению с большой силой приходит большая головная боль, поэтому обычно с кубером работает специальный человек — SRE инженер. SRE это такой умный человек, который следует философии DevOps, если есть желание, можешь ознакомиться с бесплатной [книгой](https://sre.google/sre-book/table-of-contents/) от Google, где описывается их виденье данной профессии.
428
+
429
+
Тебе достаточно будет знать, что кубер существует, что он классный и его очень трудно готовить без опыта.
0 commit comments