
Daniil
05.02.2017
15:28:33
как будто я этого не понимаю

Vladimir
05.02.2017
15:28:39
напоминаю :D

Daniil
05.02.2017
15:28:40
что у всех за мания

Vladimir
05.02.2017
15:28:57
этот навык для фронтендера не нужен

Google

flymithra
05.02.2017
15:29:06
КОРОЧ Я ПРИДУМАЛ КАК ТЕБЕ СДЕЛАТЬ:
Используешь ангуляр для логики, а реакт для вью, НО ЭТО ЕЩЕ НЕ ВСЁ! вся страница должна быть нарисована свг графикой, координаты ты будешь собирать с сервера (именно координаты, сейчас узнаете почему)... на сервере лежит нейронка, которую ты обучишь анализировать буквы и выдавать координаты для каждого символа.
Итог:
Клиент заходит PROgramm1st.ru -> ангуляр реквест -> нейронка отдаёт координаты -> раздаем их реакт компонентам -> рисуем свг

Daniil
05.02.2017
15:29:26

Пронин
05.02.2017
15:30:15
Это не мания, это не реализованное альтер это :) и фанатизм в том, что только его технология супер - а остальное все гавно

Vladimir
05.02.2017
15:30:35
да и на ангуляр вроде как джунов особо не набирают
это тяжеловесный фреймворк, куда соваться навыков оптимизации - такая себе затея

Daniil
05.02.2017
15:31:11

flymithra
05.02.2017
15:31:42

Daniil
05.02.2017
15:32:01
А кто сказал про 7 месяцев?
Фриланс не считается?

Иван
05.02.2017
15:32:13

Vladimir
05.02.2017
15:33:00
Есть утка, которая крякает и плавает. Ученые создали искусственную утку, которая может искусственно крякать, искусственно плавать.
Как сделать уточку, которая будет искусственно плавать и крякать по-настоящему, без трех реализаций абстрактного класса уточки
вот задача для джуна, в большинстве своем показывающая его кругозор
ну, в оопшном стиле, но джун должен знать принципы ооп, а так же как их применять

Google

Vladimir
05.02.2017
15:35:22
Cuz, использовать Angular+TS, не зная решения этой задачки - может вылиться в архитектурное говно в продакшене

Daniil
05.02.2017
15:37:35

Vladimir
05.02.2017
15:37:48
ну так я у вас спрашиваю:)

Daniil
05.02.2017
15:40:28
ну так я у вас спрашиваю:)
Спрашиваете что? Ответ про уточку?
Почему просто не расширить абстрактный класс уточка c override метода крякать? Постановка задачи кривая

Vladimir
05.02.2017
15:40:50

Daniil
05.02.2017
15:41:17
Я только что сделал override уже написанного метода
раз уточка уже описана

Vladimir
05.02.2017
15:41:28
у вас есть
abstract class A{
abstract void doA();
abstract void doB();
}
А - уточка.
doA-крякать
doB-плавать

Daniil
05.02.2017
15:43:10
И дальше что? Что подразумевается под "искуственно" и "по-настоящему"?

Vladimir
05.02.2017
15:43:20
две разных имплементации

flymithra
05.02.2017
15:44:49

Vladimir
05.02.2017
15:45:16

Nikita
05.02.2017
15:45:33
представь реальную утку и резиновую из твоей ванны. обе они по-разному крякают, но обе - утки. а теперь тебя просят сделать утку, которая крякает как реальная но плавает как резиновая.
И дальше что? Что подразумевается под "искуственно" и "по-настоящему"?

flymithra
05.02.2017
15:45:35
»Есть утка, которая крякает и плавает. Ученые создали искусственную утку, которая может искусственно крякать, искусственно плавать
У тебя в задаче две утки -_-

Igor
05.02.2017
15:45:37
я бы заюзал композицию и был бы счастилв :D

Vladimir
05.02.2017
15:45:59

Igor
05.02.2017
15:46:53
ни гажусь в джуны =(

Google

Vladimir
05.02.2017
15:47:05
:(

marat
05.02.2017
15:52:38
я один не вижу здесь ни стратегии, ни композиции?

Lends
05.02.2017
15:54:26
ООП ради ООП - моё любимое)))

Igor
05.02.2017
15:54:33
да для js всё проще с этими уточками
хернул методы отдельно как функции, а потом вызывай у нужной уточки нужные :D

Lends
05.02.2017
15:54:58
еслив ООП стиле, то сложнее)

Igor
05.02.2017
15:54:59
в правильном контексте
ну поэтому ооп не в моде ) давай нам фп и имутабельность

Daniil
05.02.2017
15:55:33
Это как притча о двух программистах, один из которых любил по поводу и без использовать все что знает о паттернах ООП

Vladimir
05.02.2017
15:56:37
но это задача на мышление, подумаете ли вы о том, что может понадобиться сделать утку в еще одной вариацией
и еще одной
и еще
и каждый раз оверрайдить методы - you're fired

Lends
05.02.2017
15:57:14
наоборот
чем больше нечитаемого говна напишешь - тем меньше шансов быть уволенным

Vladimir
05.02.2017
15:57:47
я уже значит к спору приготовился
архитектурному
а тут такой аргумент
:(

Lends
05.02.2017
15:58:01
это по факту))

Google

Vladimir
05.02.2017
15:58:31
не, ну если код ревью делает такой-же как ты, то да. вероятно не уволят

Lends
05.02.2017
15:58:44
если есть что-то большое и крайне нечитаемое, крайне невыгодно увольнять последнего человека, который в этом шарит

Daniil
05.02.2017
15:59:05
ахах))
а ведь правда

Lends
05.02.2017
15:59:24
ну, тут как раз суть в том, что "чем больше"... если начинаешь - это печально и палится... а если там почти всё так - то цены тебе нет

flymithra
05.02.2017
15:59:38
var newUtochka = {};
newUtochka.krak = realUtochka.krak;
newUtochka.swim = notrealUtochka.swim;

Daniil
05.02.2017
15:59:45
Только если вовремя не распознать е говнокод. Пока его не стало слишком много

Vladimir
05.02.2017
15:59:57

Lends
05.02.2017
16:00:23
да тут необязательно... можно просто куда-нить где один фронт с последующим расширением)

Vladimir
05.02.2017
16:00:44
newUtochka.crack = krackLikeARealUtochka

Daniil
05.02.2017
16:01:08
прям на ООП задача :D

Vladimir
05.02.2017
16:01:21
ну, вообще-да

Daniil
05.02.2017
16:01:30
и правда, зачем усложнять

Lends
05.02.2017
16:01:46
а как же ООП стратегия?

Vladimir
05.02.2017
16:01:51
вот только строготипизированный язык тебя нахуй пошлет сразу-же

Lends
05.02.2017
16:02:03
на вики как-то читал крутую реализацию
поблевал маленько
понял что надо ООП на нормальном языке писать

Vladimir
05.02.2017
16:02:34

Google

Lends
05.02.2017
16:02:44
например

Daniil
05.02.2017
16:03:40
Интересно было бы на твой код в полевых условиях глянуть, Владимир. А то разговоров то
В теории все мы молодцы
По крайней мере радует, что если что за свой плохой код будет стыдно. И вряд ли ты его спокойно пропустишь

Vladimir
05.02.2017
16:06:35
мой продакшен код - сплошные костыли и велосипеды

Daniil
05.02.2017
16:07:29
Ну хоть так)

Lends
05.02.2017
16:07:58
а я для продакшена хочу использовать модуль NULLINA
NULLINA = +!({} + [])

Daniil
05.02.2017
16:09:21

Lends
05.02.2017
16:09:44
это как лефт пад, только нулина

Vadim
05.02.2017
16:12:24

flymithra
05.02.2017
16:12:59
вот только строготипизированный язык тебя нахуй пошлет сразу-же
public interface Utka {
boolean krak ();
boolean swim();
/* true == likereal */
}
public class RealUtka implements Utka {
/* returns true both */
}
public class NotReal implements Utka {
/* returns false both */
}
public class Utochka {
private Utka utka;
public void chooseUtka (Utka utka) {
this.utka = utka;
}
}

Daniil
05.02.2017
16:13:00

Vadim
05.02.2017
16:13:03
Нужно подтягиваться до плохенького миддла.

Daniil
05.02.2017
16:13:35
Angular1 не занимался

Vadim
05.02.2017
16:13:42

Daniil
05.02.2017
16:14:21

flymithra
05.02.2017
16:14:49
нашёл*
дайте еще задач на паттерны программирования

Daniil
05.02.2017
16:15:57
Только не с такой постановкой как у уток
Эта группа больше не существует