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
Только не с такой постановкой как у уток
Эта группа больше не существует