Так сложилось, что работу, которая мне нравилась и которую, как мне кажется, я делал хорошо, мне пришлось сменить на более стабильную и прибыльную, но уже не такую интересную – работу линейного менеджера в подразделении информатизации в крупном банке. Сказать, что эта работа полная противоположность прежней сложно, но в ней нет, того, что было в разработке: драйва, необходимость решения сложных задач, изучения новых технологий, что тут говорить – не было даже английского языка (знание которого терять не хотелось). Откровенно говоря, несмотря на заявляемую гибкость и передовые технологи, во многих банках царит IT-совок и ручной труд.
Время шло, а вместе с ним приходило понимание, что дальнейшая работа в рамках только текущей должности не только сузит мой кругозор, но и лишит каких-либо конкурентных возможностей на рынке труда. Сторонние подработки в качестве программиста не давали необходимого системного подхода.
В связи с этим было принято решение об изучении новых технологий в области разработки на базе небольшого домашнего проекта (вычитываемые из книг и интернета знания без опыта применения улетучивались очень и очень быстро). Необходимые знания были, время выделить для своего развития я мог всегда.
В качестве проекта была выбрана идея реализации новостного агрегатора (с клиентом на Android) и его серверной стороны для сбора, обработки, хранения и представления данных.
Дальнейшее повествование будет не о том, как я за 2 дня сделал клиента, а о том, как я в виде основателя, архитектора, разработчика и дизайнера своего маленького стартапа пытался (и на момент написания этих слов до сих пор пытаюсь) создать продукт с использованием современных средств:
Из перечисленных средств/технологий становится понятно, что основной целью является не конечный продукт, а сам процесс его создания и изучения технологий и средств разработки/сопровождения/мониторинга, которые могут позволить работать с проектом необходимому количеству лиц и следить за состоянием вашего чада.
Схематически компоненты проекта можно представить так:
Кто-то может сказать, что это излишне усложненная архитектура для простого новостного агрегатора и что такой простой функционал можно реализовать вообще без серверной части. Возможно так оно и есть, но для меня это всё же проект для изучения технологий – в данном случае результат вторичен (по крайней мере пока в нём не завелся первый пользователь).
Дальнейшие посты будут посвящены каждой теме (или сразу нескольким темам) из указанных и будут содержать интересные ссылки, будут описывать особенности их применения в моём проекте.
Возможно, кому-то они покажутся не серьёзными и будут повторять решения, которые давно используются в их работе, а для кого-то они будут источником идей для применения в своей работе/ проекте.
Время шло, а вместе с ним приходило понимание, что дальнейшая работа в рамках только текущей должности не только сузит мой кругозор, но и лишит каких-либо конкурентных возможностей на рынке труда. Сторонние подработки в качестве программиста не давали необходимого системного подхода.
В связи с этим было принято решение об изучении новых технологий в области разработки на базе небольшого домашнего проекта (вычитываемые из книг и интернета знания без опыта применения улетучивались очень и очень быстро). Необходимые знания были, время выделить для своего развития я мог всегда.
В качестве проекта была выбрана идея реализации новостного агрегатора (с клиентом на Android) и его серверной стороны для сбора, обработки, хранения и представления данных.
Дальнейшее повествование будет не о том, как я за 2 дня сделал клиента, а о том, как я в виде основателя, архитектора, разработчика и дизайнера своего маленького стартапа пытался (и на момент написания этих слов до сих пор пытаюсь) создать продукт с использованием современных средств:
- системой контроля версий;
- системой сборки;
- системой последовательной интеграции;
- интегрированными средами разработки для Java и Android;
- системой хранения готовых артефактов;
- библиотекой обхода интернет-сайтов на Java;
- системой контроля конфигураций;
- системой мониторинга;
- системой контейнерной виртуализации;
- системой визуализации данных от систем мониторинга;
- нереляционной системой хранения данных;
- распределённой поисковой системой;
- распределённой системой обработки сообщений;
- системой анализа на естественном языке;
- вероятностными тематическими моделями, работающими в распределённых системах;
- библиотеками для разработки Android приложений.
Из перечисленных средств/технологий становится понятно, что основной целью является не конечный продукт, а сам процесс его создания и изучения технологий и средств разработки/сопровождения/мониторинга, которые могут позволить работать с проектом необходимому количеству лиц и следить за состоянием вашего чада.
Схематически компоненты проекта можно представить так:
Кто-то может сказать, что это излишне усложненная архитектура для простого новостного агрегатора и что такой простой функционал можно реализовать вообще без серверной части. Возможно так оно и есть, но для меня это всё же проект для изучения технологий – в данном случае результат вторичен (по крайней мере пока в нём не завелся первый пользователь).
Дальнейшие посты будут посвящены каждой теме (или сразу нескольким темам) из указанных и будут содержать интересные ссылки, будут описывать особенности их применения в моём проекте.
Возможно, кому-то они покажутся не серьёзными и будут повторять решения, которые давно используются в их работе, а для кого-то они будут источником идей для применения в своей работе/ проекте.
Поделиться с друзьями
time2rfc
Доброго времени суток, спасибо что решили поделиться со мной своими знаниями, возник вопрос — действительно ли необходимо делить статью на 16 маленькиъ кусочков ?
fedor_malyshkin
Делать твиттер из Хабр конечно не планирую, но слепить все моменты в одну мега-статью будет негуманно для читателей. Писать её я буду месяца 2-3 и при этом сильно уменьшу вероятность, что её дочитает кто-то до конца.
Одно могу сказать, что комбинированные посты точно будут.