![]() |
2zeb. Я не говорил про "вот прям сразу". Я хочу до этого уровня дойти "по удаленке". Не увольняясь с текущей работы (у меня куча свободного времени). 2Фантом Почитаю. |
А можно вопрос к опытным разработчикам? Читаю сейчас книжку про паттерны, в частности - про паттерн "декоратор". И мне он показался настолько вредной фигней. Книжка - Эрик и Элизобет Фримен - Паттерны проектирования. В книжке описывается пример - оформление заказа на кофе. Несколько сортов кофе + несколько видов "добавок", которые можно комбинировать. Там предлагается создать собственную реализацию чего-то подобного 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 для каждой конкретной комбинации с фотографиями и счастливыми рожами, я не могу сделать скидку при заказе трех наполнителей, я не могу сделать формулу цены чуть более сложной, не линейной и т.д. Я понимаю очевидный ответ: это плохой пример, данная архитектура для него не подходит. Но на это контрответ: для любой задачи в будущем могут возникнуть новые требования - и тогда что, переписывать всю архитектуру? И ладно бы вариантов не было. Но ведь нет ничего проще - класс-контейнер, в котором находится "массив" наполнителей и реализована вся логика, куча классов-наполнителей, содержащих только исходные данные и, возможно, классы-модификаторы поведения (типа скидки), которые смогут анализировать весь массив "наполнителей" и принимать решение. Так почему этот паттерн еще жив? Или что я не понял правильно? |
122-Добрых дел мастер > Из "правильного" источника: Паттерн Decorator Назначение Динамически добавляет объекту новые обязанности. Является гибкой альтернативой порождению подклассов с целью расширения функциональности. Известен также под именем Wrapper (обертка). |
Если рассматривать пример из книги, это не было похоже на порождение подкласса. Это скорее было похоже на создание контейнера однотипных объектов с некоторой общей логикой (подсчета суммарной цены, например). Но я почитаю, как "декоратор\обертка" описаны в других книгах. |
Использовать декоратор для кофе немного странно, потому что напиток поведения не имеет, и представляет собой структуру данных. В конечном счете для всего разнообразия товаров (с учетом того что они имеют только описание и цену) достаточно одного класса, что в магазинах и бюзгалтерии с успехом делается уже много лет 8). Декоратор хорош когда: - есть коллекция, надо добавить возможность прослушивания событий вставки\удаления. - надо оформить графический компонент (это какраз пример 'Из "правильного" источника'), мы так делали подсветку обязательных для заполнения компонентов в swing |
Паттерны джуну? :))) Джуну необходимо знать одну бд, одну вебморду, умение связать их вместе, и понимать основные принципы их взаимодействия, git, maven - это уже из разряда "плюсом будет, знание..", собственно тот список с джавараша вполне достаточен. А забивать голову джуну паттернами пока не стоит, стоит помнить, что джава это ынтерпрайз, и никто джуна не допустит ни к базе, ни к бизнес логике. |
Это только если вы живете в Москве, освоите необходимый объем - и вперед работать в одну из тысяч компаний, больших и маленьких. А если вы хотите найти работу по удаленке - придется постараться, чтобы выделиться из легиона. Плюс, я начал читать паттерны потому, что "thinking in java" слишком активно ссылается на них. Была слишком высокая концентрация новой информации - было трудно воспринимать. Поэтому, я почитал паттерны - и "философия" пошла намного легче. |
Java это интерпрайз. Интерпрайз на удаленке, без опыта работе в команде, мне кажется - дело бесперспективное. |
Ну, как вариант, это андроид, но этого хочется избежать. Вот поэтому и надо стараться. |
Вам всего лишь нужно выучить синтаксис языка, а потом выбрать направление, EE и Android это два разных берега, определите заранее в какой области вы хотите стать профи. Метаться и выхватывать куски можно годами. |
на форуме, время на час спешит :)) |
согласен, жава ветвится после core в 3 очень разные, капец ваще какие разные направления. андроид - если работали на шарпе с их впф , то будет довольно просто освоить структуры всяких листбоксов и прочих примочек. ынтерпрайз - 90% жава, если выбрали это направление - идут в гамнит. ну и почти неиспользуемое направление веба - тоже онли в крупных структурах. на каждое направление по отдельности (чтобы писать хорошо и без напрягов задачи средней сложности) уйдут годы. ну а кто попытается освоить все наравления - скорее всего надорвет селезенку. я лично после полугода изучения жавы перешел на шарп, ибо декстоп мне милее, а у джавы чрезвычайно унылые гуй фреймворки, даже fx 2.0 ну и linq, лямбды, впф, ТОННЫ сахара, свойства и прочее - сильно уж рвут жабу. Но скучаю, да. По ее строгости, типизации, и idea - пожалуй , лучшей среде разработки. |
а знать паттерны - это ок. та же самая фабрика, комманда, стратегия - юзаются даже в мелких домашних приложениях. с оберткой и одиночкой тоже надо быть знакомым, чтобы не писать соуты как олень, вслепую, а понимать, что они значат на самом деле. |
[quote=xpYm_;39785183] на форуме, время на час спешит :)) [/quote] Скорее - временная зона захардкожена. Посмотрите на время записей залогинившись и не залогинившись. [quote=Тингол;39789440]согласен, жава ветвится после core в 3 очень разные, капец ваще какие разные направления.[/quote] Неужели прям настолько разные? Неужели написание реальных приложений под андройд(естественно - с чением книжек) будет менее эффективно для будущего ЕЕ, чем голое чтение книжен и решение синтетических примеров? |
[quote=Добрых дел мастер;39795446] Неужели прям настолько разные? Неужели написание реальных приложений под андройд(естественно - с чением книжек) будет менее эффективно для будущего ЕЕ, чем голое чтение книжен и решение синтетических примеров? [/quote] Если коротко - ДА! |
Тут вопрос возник. А что такое Scala? Стоит ли ее учить? Просто, на полноценную книжку я сейчас не готов распыляться (считаю - это вредно), а статьи так и не помогли понять, что это, какое основное применение, почему она так "сложна" и нужна ли она вообще. |
Не раньше чем выучите джаву на уровне миддла, а интересна ли она вам потом будет, вот и посмотрите. |
136-Добрых дел мастер > это такой язык на базе JVM, ориентированный на функциональщину, много сахара, но и много граблей. Взорвать мозг функциональщиной еще успеешь, надо насобирать, что взрывать =) Java Core + шаблоны осилил? После можно прочесть по TDD, там книжка небольшая была и начать натягивать Spring. |
[quote=xpYm_;39831226] Не раньше чем выучите джаву на уровне миддла, а интересна ли она вам потом будет, вот и посмотрите. [/quote] Тут больше вопрос "а как до этого мидла дорасти"? А точнее - легче ли мне будет найти заказчика на scala, чем на java? 240KHYTbIU А "функциональщина" - это что? Это как в университете на паскале? функции всякие писать вместо классов? А всякие там лямбды - это не то же самое? Ну, как сказать "осилил". В объеме "первое прочтение книжки thinking in java" и еще одной книжки про паттерны - да. Но я чувствую, что второе прочтение мне прям нужно (как вариант - что-нибудь про java8). Сейчас начал читать "Роберт Лафоре - Структуры данных и алгоритмы Java 2-е издание". Во-первых, это весьма интересно и мозг отдохнет от высокоуровневых конструкций, а во-вторых, это спрашивают на собеседовании. |
[quote=Добрых дел мастер;39832686]А точнее - легче ли мне будет найти заказчика на scala, чем на java?[/quote] погугли вакансии [quote=Добрых дел мастер;39832686]Ну, как сказать "осилил". В объеме "первое прочтение книжки thinking in java"[/quote] без ежедневного надраивания клавиш все забудешь через неделю. ты бы и правда хоть бесплатные 10 уровней джавараша порешай - сразу поймешь, как мало в тебе отложилось от этих 2 книжек. |
Тут еще можно потренить чутка [url]https://www.codingame.com/games/[/url] решая алгоритмы в играх |
мне все же думается что верный путь такой: нахвататься синтаксиса (нафиг патерны) и устроится джуниором удаленно. или вообще стажером. что бы старшие товарищи тебе давали легкие задачки (багфиксинг) и после их решения еще и консультировали как лучше. Реальные задачи помогут. Хотя у меня тут пример - человек занимался спортивным программированием - очень крут в итоге. Так что задачки тоже хорошо. Но в обоих случаях важна практика а не только чтение теории. |
Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года. Неужели у них там все так плохо, что никто не идет? |
143-Фантом > может им много надо? |
[quote=40KHYTbIU;39844773] Тут еще можно потренить чутка [url]https://www.codingame.com/games/[/url] решая алгоритмы в играх [/quote] Забавно. Но мне кажется, нужно учиться не только решать задачу, но и "не говнокодить", а игрушка в этом, мне кажется, не поможет. [quote=zeb;39853925]мне все же думается что верный путь такой: нахвататься синтаксиса (нафиг патерны) и устроится джуниором удаленно. или вообще стажером. [/quote] Было бы все так легко. Я уже нахватался синтаксиса. Кто бы меня взял. [quote=Фантом;39856971] Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года. Неужели у них там все так плохо, что никто не идет? [/quote] Как уже писал "40KHYTbIU" - действительно много надо. Я там раньше работал админом - людей набирали постоянно |
[quote=Фантом;39856971] Я извиняюсь, если немного не в тему, но кто-нибудь в курсе, почему в тандер все время висит вакансия java-программиста? Причем только на моей памяти висит уже два года. Неужели у них там все так плохо, что никто не идет? [/quote] у них все ПО пишется на жаве, причем ими самими. помимо десятка ынтерпрайз монстров у них есть пара сотен своих программ на всякие весы, счетчики, пикалки и т.д штат у них растет как грибы, под айтишников и пограмистов 2 этажное здание отдельное. и да, набирают постоянно, ибо это гамнит. т.е. условия труда отстой, аквариум с 50 человеками на метр, ссать по времени, и т.д но зато джун оттуда выходит с хорошим опытом ибо проектов вагон. |
Про "ссать по времени" - когда я работал, такого не было. А плотность упаковки людей - да, это больше всего напрягало. |
Ну опен спейсы сейчас практикуют очень много крупных компаний. Я как-то в тандере был, как раз в двухэтажном IT-шном здании, не сказал бы, что там прям так все ужасно. |
ааа "становиться погромистом на полный день." зачем учиться, тут качаться надо |
SAP [url]https://rabota.mail.ru/search/vacancy?only_with_salary=false&area=1&enable_snippets=true&clusters=true&text=sap¤cy_code=RUR&salary=[/url] |
Есть успехи в становлении java dev? |
Нет. Без практики я нафиг никому не нужен. Сейчас я хожу на собеседования на роль девопса. |
И много вариантов есть работы? На hh либо высокие требования к кандидату, либо это тандер... где требования тоже не низкие. |
Я хожу на те, где высокие требования. А из Тандера я ушел 5 лет назад. |
А подробнее... Дают ли задания? Какие направления востребованы?(кроме spring) Впечатления от работодателей? Maven уже освоил? |
повторюсь: я сейчас девопсом пытаюсь, не программистом. да, освоил. А что его осваивать? |
Текущее время: 09:19. Часовой пояс GMT +3. |