Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1024/)
-   -   Реально ли переучиться с админа на java-погромиста (http://forums.kuban.ru/f1024/real-no_li_pereuchit-sya_s_admina_na_java-pogromista-6897643.html)

Добрых дел мастер 16.07.2015 21:28

2zeb. Я не говорил про "вот прям сразу". Я хочу до этого уровня дойти "по удаленке". Не увольняясь с текущей работы (у меня куча свободного времени).
2Фантом Почитаю.

Добрых дел мастер 30.07.2015 14:32

А можно вопрос к опытным разработчикам?
Читаю сейчас книжку про паттерны, в частности - про паттерн "декоратор".
И мне он показался настолько вредной фигней.

Книжка - Эрик и Элизобет Фримен - Паттерны проектирования.
В книжке описывается пример - оформление заказа на кофе. Несколько сортов кофе + несколько видов "добавок", которые можно комбинировать. Там предлагается создать собственную реализацию чего-то подобного linked list, последующая добавка методом композиции включается в состав предыдущей и из предыдущей вынимает цену (суммы всех предыдущий) и описание (конкатенированную строку всех предыдущих).
Для понятности - пример составления нового напитка (прям из книги):
Beverage beverage = new DarkRoast();
beverage = new Mocha(beverage);
beverage = new Mocha(beverage);
beverage = new Whip(beverage);
System.out.println(beverage.getDescription() + "$" + beverage.cost());
и вывод
Dark Roast Coffee, Mocha, Mocha, Whip $1.49

Вот мне не нравится в этой архитектуре все.
Я не могу сделать сложное description для каждой конкретной комбинации с фотографиями и счастливыми рожами, я не могу сделать скидку при заказе трех наполнителей, я не могу сделать формулу цены чуть более сложной, не линейной и т.д.

Я понимаю очевидный ответ: это плохой пример, данная архитектура для него не подходит.
Но на это контрответ: для любой задачи в будущем могут возникнуть новые требования - и тогда что, переписывать всю архитектуру?

И ладно бы вариантов не было. Но ведь нет ничего проще - класс-контейнер, в котором находится "массив" наполнителей и реализована вся логика, куча классов-наполнителей, содержащих только исходные данные и, возможно, классы-модификаторы поведения (типа скидки), которые смогут анализировать весь массив "наполнителей" и принимать решение.

Так почему этот паттерн еще жив? Или что я не понял правильно?

40KHYTbIU 30.07.2015 18:19

122-Добрых дел мастер > Из "правильного" источника:

Паттерн Decorator

Назначение
Динамически добавляет объекту новые обязанности. Является гибкой альтернативой порождению подклассов с целью расширения функциональности.

Известен также под именем
Wrapper (обертка).

Добрых дел мастер 30.07.2015 20:18

Если рассматривать пример из книги, это не было похоже на порождение подкласса. Это скорее было похоже на создание контейнера однотипных объектов с некоторой общей логикой (подсчета суммарной цены, например).
Но я почитаю, как "декоратор\обертка" описаны в других книгах.

wayerr 03.08.2015 20:12

Использовать декоратор для кофе немного странно, потому что напиток поведения не имеет, и представляет собой структуру данных. В конечном счете для всего разнообразия товаров (с учетом того что они имеют только описание и цену) достаточно одного класса, что в магазинах и бюзгалтерии с успехом делается уже много лет 8).

Декоратор хорош когда:
- есть коллекция, надо добавить возможность прослушивания событий вставки\удаления.
- надо оформить графический компонент (это какраз пример 'Из "правильного" источника'), мы так делали подсветку обязательных для заполнения компонентов в swing

xpYm_ 11.08.2015 14:55

Паттерны джуну? :)))

Джуну необходимо знать одну бд, одну вебморду, умение связать их вместе, и понимать основные принципы их взаимодействия, git, maven - это уже из разряда "плюсом будет, знание..", собственно тот список с джавараша вполне достаточен.

А забивать голову джуну паттернами пока не стоит,
стоит помнить, что джава это ынтерпрайз, и никто джуна не допустит ни к базе, ни к бизнес логике.

Добрых дел мастер 11.08.2015 17:36

Это только если вы живете в Москве, освоите необходимый объем - и вперед работать в одну из тысяч компаний, больших и маленьких.
А если вы хотите найти работу по удаленке - придется постараться, чтобы выделиться из легиона.

Плюс, я начал читать паттерны потому, что "thinking in java" слишком активно ссылается на них. Была слишком высокая концентрация новой информации - было трудно воспринимать. Поэтому, я почитал паттерны - и "философия" пошла намного легче.

xpYm_ 11.08.2015 20:20

Java это интерпрайз.
Интерпрайз на удаленке, без опыта работе в команде, мне кажется - дело бесперспективное.

Добрых дел мастер 11.08.2015 21:18

Ну, как вариант, это андроид, но этого хочется избежать.

Вот поэтому и надо стараться.

xpYm_ 12.08.2015 03:40

Вам всего лишь нужно выучить синтаксис языка, а потом выбрать направление, EE и Android это два разных берега, определите заранее в какой области вы хотите стать профи. Метаться и выхватывать куски можно годами.

xpYm_ 12.08.2015 03:44

на форуме, время на час спешит :))

Elu_Tingol 12.08.2015 13:41

согласен, жава ветвится после core в 3 очень разные, капец ваще какие разные направления.
андроид - если работали на шарпе с их впф , то будет довольно просто освоить структуры всяких листбоксов и прочих примочек.
ынтерпрайз - 90% жава, если выбрали это направление - идут в гамнит.
ну и почти неиспользуемое направление веба - тоже онли в крупных структурах.

на каждое направление по отдельности (чтобы писать хорошо и без напрягов задачи средней сложности) уйдут годы.

ну а кто попытается освоить все наравления - скорее всего надорвет селезенку.

я лично после полугода изучения жавы перешел на шарп, ибо декстоп мне милее, а у джавы чрезвычайно унылые гуй фреймворки, даже fx 2.0
ну и linq, лямбды, впф, ТОННЫ сахара, свойства и прочее - сильно уж рвут жабу.
Но скучаю, да. По ее строгости, типизации, и idea - пожалуй , лучшей среде разработки.

Elu_Tingol 12.08.2015 14:08

а знать паттерны - это ок. та же самая фабрика, комманда, стратегия - юзаются даже в мелких домашних приложениях.
с оберткой и одиночкой тоже надо быть знакомым, чтобы не писать соуты как олень, вслепую, а понимать, что они значат на самом деле.

Добрых дел мастер 13.08.2015 00:24

[quote=xpYm_;39785183] на форуме, время на час спешит :)) [/quote]
Скорее - временная зона захардкожена. Посмотрите на время записей залогинившись и не залогинившись.
[quote=Тингол;39789440]согласен, жава ветвится после core в 3 очень разные, капец ваще какие разные направления.[/quote]
Неужели прям настолько разные?
Неужели написание реальных приложений под андройд(естественно - с чением книжек) будет менее эффективно для будущего ЕЕ, чем голое чтение книжен и решение синтетических примеров?

xpYm_ 13.08.2015 01:44

[quote=Добрых дел мастер;39795446] Неужели прям настолько разные? Неужели написание реальных приложений под андройд(естественно - с чением книжек) будет менее эффективно для будущего ЕЕ, чем голое чтение книжен и решение синтетических примеров? [/quote]
Если коротко - ДА!

Добрых дел мастер 17.08.2015 13:04

Тут вопрос возник.
А что такое Scala? Стоит ли ее учить?
Просто, на полноценную книжку я сейчас не готов распыляться (считаю - это вредно), а статьи так и не помогли понять, что это, какое основное применение, почему она так "сложна" и нужна ли она вообще.

xpYm_ 17.08.2015 14:50

Не раньше чем выучите джаву на уровне миддла, а интересна ли она вам потом будет, вот и посмотрите.

40KHYTbIU 17.08.2015 15:33

136-Добрых дел мастер > это такой язык на базе JVM, ориентированный на функциональщину, много сахара, но и много граблей. Взорвать мозг функциональщиной еще успеешь, надо насобирать, что взрывать =)

Java Core + шаблоны осилил? После можно прочесть по TDD, там книжка небольшая была и начать натягивать Spring.

Добрых дел мастер 17.08.2015 16:58

[quote=xpYm_;39831226] Не раньше чем выучите джаву на уровне миддла, а интересна ли она вам потом будет, вот и посмотрите. [/quote]
Тут больше вопрос "а как до этого мидла дорасти"?
А точнее - легче ли мне будет найти заказчика на scala, чем на java?
240KHYTbIU
А "функциональщина" - это что? Это как в университете на паскале? функции всякие писать вместо классов?
А всякие там лямбды - это не то же самое?

Ну, как сказать "осилил". В объеме "первое прочтение книжки thinking in java" и еще одной книжки про паттерны - да. Но я чувствую, что второе прочтение мне прям нужно (как вариант - что-нибудь про java8).
Сейчас начал читать "Роберт Лафоре - Структуры данных и алгоритмы Java 2-е издание".
Во-первых, это весьма интересно и мозг отдохнет от высокоуровневых конструкций, а во-вторых, это спрашивают на собеседовании.

Elu_Tingol 18.08.2015 18:00

[quote=Добрых дел мастер;39832686]А точнее - легче ли мне будет найти заказчика на scala, чем на java?[/quote]
погугли вакансии
[quote=Добрых дел мастер;39832686]Ну, как сказать "осилил". В объеме "первое прочтение книжки thinking in java"[/quote]
без ежедневного надраивания клавиш все забудешь через неделю.

ты бы и правда хоть бесплатные 10 уровней джавараша порешай - сразу поймешь, как мало в тебе отложилось от этих 2 книжек.

40KHYTbIU 18.08.2015 21:23

Тут еще можно потренить чутка [url]https://www.codingame.com/games/[/url] решая алгоритмы в играх

zeb 19.08.2015 20:39

мне все же думается что верный путь такой: нахвататься синтаксиса (нафиг патерны) и устроится джуниором удаленно. или вообще стажером. что бы старшие товарищи тебе давали легкие задачки (багфиксинг) и после их решения еще и консультировали как лучше. Реальные задачи помогут.
Хотя у меня тут пример - человек занимался спортивным программированием - очень крут в итоге. Так что задачки тоже хорошо. Но в обоих случаях важна практика а не только чтение теории.

Фантом 20.08.2015 09:41

Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года.
Неужели у них там все так плохо, что никто не идет?

40KHYTbIU 20.08.2015 10:13

143-Фантом > может им много надо?

Добрых дел мастер 20.08.2015 10:51

[quote=40KHYTbIU;39844773] Тут еще можно потренить чутка [url]https://www.codingame.com/games/[/url] решая алгоритмы в играх [/quote]
Забавно.
Но мне кажется, нужно учиться не только решать задачу, но и "не говнокодить", а игрушка в этом, мне кажется, не поможет.
[quote=zeb;39853925]мне все же думается что верный путь такой: нахвататься синтаксиса (нафиг патерны) и устроится джуниором удаленно. или вообще стажером. [/quote]
Было бы все так легко. Я уже нахватался синтаксиса. Кто бы меня взял.
[quote=Фантом;39856971] Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года. Неужели у них там все так плохо, что никто не идет? [/quote]
Как уже писал "40KHYTbIU" - действительно много надо.
Я там раньше работал админом - людей набирали постоянно

Elu_Tingol 20.08.2015 12:40

[quote=Фантом;39856971] Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года. Неужели у них там все так плохо, что никто не идет? [/quote]
у них все ПО пишется на жаве, причем ими самими.
помимо десятка ынтерпрайз монстров у них есть пара сотен своих программ на всякие весы, счетчики, пикалки и т.д
штат у них растет как грибы, под айтишников и пограмистов 2 этажное здание отдельное.
и да, набирают постоянно, ибо это гамнит. т.е. условия труда отстой, аквариум с 50 человеками на метр, ссать по времени, и т.д
но зато джун оттуда выходит с хорошим опытом ибо проектов вагон.

Добрых дел мастер 20.08.2015 13:34

Про "ссать по времени" - когда я работал, такого не было. А плотность упаковки людей - да, это больше всего напрягало.

Фантом 20.08.2015 14:35

Ну опен спейсы сейчас практикуют очень много крупных компаний. Я как-то в тандере был, как раз в двухэтажном IT-шном здании, не сказал бы, что там прям так все ужасно.

andreych 14.10.2015 13:27

ааа
"становиться погромистом на полный день."
зачем учиться, тут качаться надо

mavinic 15.09.2016 08:02

SAP
[url]https://rabota.mail.ru/search/vacancy?only_with_salary=false&area=1&enable_snippets=true&clusters=true&text=sap&currency_code=RUR&salary=[/url]

Zam11 28.09.2016 10:28

Есть успехи в становлении java dev?

Добрых дел мастер 28.09.2016 16:07

Нет. Без практики я нафиг никому не нужен.
Сейчас я хожу на собеседования на роль девопса.

Zam11 04.10.2016 11:50

И много вариантов есть работы? На hh либо высокие требования к кандидату, либо это тандер... где требования тоже не низкие.

Добрых дел мастер 04.10.2016 15:15

Я хожу на те, где высокие требования.
А из Тандера я ушел 5 лет назад.

Zam11 05.10.2016 13:30

А подробнее... Дают ли задания?
Какие направления востребованы?(кроме spring)
Впечатления от работодателей?
Maven уже освоил?

Добрых дел мастер 05.10.2016 17:04

повторюсь: я сейчас девопсом пытаюсь, не программистом.
да, освоил. А что его осваивать?


Текущее время: 09:19. Часовой пояс GMT +3.